信息论的基本概念(自信息,条件熵,联合熵,互信息,条件互信息)
大概是你見過最詳細最靠近數學方式理解熵系列的博客。
目前內容有信息量,自信息,條件熵,聯合熵,互信息,條件互信息。
自信息
香農當時希望自信息這個概念要滿足如下幾個條件:
1、一個百分百發生的事件不提供任何信息
2、這個事件越不可能發生,他的發生將會提供更多信息
3、如果兩個獨立事件是分開測量的,他們的自信息總和就是他們分別的自信息之和
這第三點也就是說滿足下面這個式子(假設I(x)I(x)I(x)代表x的信息量):
I(x,y)=I(x)+I(y)式1I(x,y)=I(x)+I(y) \quad式1 I(x,y)=I(x)+I(y)式1
我們知道,獨立的兩個事件一同發生的概率是
P(x,y)=P(x)?P(y)式2P(x,y)=P(x)\ * \ P(y)\quad 式2 P(x,y)=P(x)???P(y)式2
根據第一點和第二點我們知道,自信息是一個和事件發生概率有關的數學量,我們可以假設成如下形式
I(x)=f(P(x))I(x)=f(P(x)) I(x)=f(P(x))
那么要滿足式1和式2,最合適的f()f()f()就是log()log()log()函數,因此我們得到了如下關于自信息的定義
I(x)=?logP(x)I(x)=-logP(x) I(x)=?logP(x)
我們知道log是個定義域內單調遞增的函數,所以為了滿足自信息隨著概率升高遞減,在前面補上個負號,這也是香農1、2的定義所隱含的。
這個log的底數我們是不確定的,如果底數是2,這個自信息的單位就是"bit"或者"shannon";如果是自然對數e,就是“nat”(nature縮寫);如果底數是10,單位就是“hartleys”或者代表十進制數的“digits”,有時候也可以寫成“dits”。
正式的,因為負號可以提到log里面,所以還有一個形式(第二個等式)
I(x)=?logP(x)=log(1P(x))I(x)=-logP(x)=log(\frac{1}{P(x)}) I(x)=?logP(x)=log(P(x)1?)
(香農)熵
香農熵就被定義成如下形式
H(X)=∑x?P(x)logP(x)=∑xP(x)I(x)=E[I(x)]H(X)=\sum_x-P(x)logP(x)\\=\sum_xP(x)I(x) \\=E[I(x)] H(X)=x∑??P(x)logP(x)=x∑?P(x)I(x)=E[I(x)]
上面第三個等式,我們知道關于隨機變量x的概率分布期望就是∑k=1+∞xkP(xk)\sum_{k=1}^{+\infin}x_{k}P(x_{k})∑k=1+∞?xk?P(xk?)
,是不是就能感覺到熵其實就是信息量的期望。
特性:
該量度應連續,概率值小幅變化只能引起熵的微小變化。
符號xi重新排序后,該量度應不變。如
Hn(p1,p2..)=Hn(p2,p1...)H_n(p_1,p_2..)=H_n(p_2,p_1...) Hn?(p1?,p2?..)=Hn?(p2?,p1?...)
3.極值性
當所有事件等概率發生,熵達到最大值(因為非常不確定誰會發生)
Hn(p1,p2...)≤Hn(1n,1n...)=log?bn,H后的下標代表事件數H_n(p_1,p_2...)\le H_n(\frac{1}{n},\frac{1}{n}...)=\log_b{n},H后的下標代表事件數 Hn?(p1?,p2?...)≤Hn?(n1?,n1?...)=logb?n,H后的下標代表事件數
這個性質其實就是要證明下式,該式子的證明可通過琴生不等式證明
根據琴生不等式,即當函數是凸函數時,總有等概率事件的熵應隨符號的數量增加。這個也很好理解,因為假如選項只有兩個,正確答案是其中一個,概率都是等概率的也就是二分之一,此時答對的可能性是一半,但如果選項有四個,混亂程度就增加了,也就是說
log?bn≤log?b(n+1)=Hn+1(1n+1,1n+1....)\log_b{n}\le \log_b(n+1)=H_{n+1}(\frac{1}{n+1},\frac{1}{n+1}....) logb?n≤logb?(n+1)=Hn+1?(n+11?,n+11?....)
增減一概率為零的事件不改變熵:
聯合熵
聯合熵是一個變量集合不確定性的度量。
被定義為
H(X,Y)=?∑x∑yP(x,y)logP(x,y)H(X,Y)=-\sum_x\sum_yP(x,y)logP(x,y) H(X,Y)=?x∑?y∑?P(x,y)logP(x,y)
x和y是X和Y分布里的一個特定值,P(x,y)就是聯合概率。
如果變量數更多,那么定義可以延伸成以下形式。
H(X1,...,Xn)=?∑x1...∑xnP(x1...xn)logP(x1...xn)H(X_1,...,X_n)=-\sum_{x_1}...\sum_{x_n}P(x_1...x_n)logP(x_1...x_n) H(X1?,...,Xn?)=?x1?∑?...xn?∑?P(x1?...xn?)logP(x1?...xn?)
性質:
1.非負性。因為每個log項都是小于0的,所以加合也小于0,取反非負。
2.大于等于任何一個變量的獨立熵
H(X1...XN)≥max{H(X1),..H(XN)}H(X_1...X_N)≥max\{H(X_1),..H(X_N)\} H(X1?...XN?)≥max{H(X1?),..H(XN?)}
3.小于等于每個變量的獨立熵合
H(X,Y)≤H(X)+H(Y)H(X,Y)≤H(X)+H(Y) H(X,Y)≤H(X)+H(Y)
4.連鎖法則
H(X1,X2..Xn)=∑i=1nH(Xi∣X1,...Xi?1)H(X_1,X_2..X_n)=\sum_{i=1}^{n}H(X_i|X_1,...X_{i-1}) H(X1?,X2?..Xn?)=i=1∑n?H(Xi?∣X1?,...Xi?1?)
用歸納法可以證明
H(X1,...Xm,Xm+1)=H(X1,..Xm)+H(Xm+1∣X1...Xm)[這是因為對m=2時已經證明過了,下面條件熵的部分]=∑i=1mH(Xi∣X1..Xi?1)+H(Xm+1∣X1...Xm)[假設對n=m時成立]=∑i=1m+1H(Xi∣X1,...Xi?1)[對n=m+1也成立]{\begin{aligned}H(X_1,...X_m,X_{m+1})&=H(X_1,..X_m)+H(X_{m+1}|X_1...X_m)\quad[這是因為對m=2時已經證明過了,下面條件熵的部分]\\&=\sum_{i=1}^{m}H(X_i|X_1..X_{i-1})+H(X_{m+1}|X_1...X_m)\quad[假設對n=m時成立]\\&=\sum_{i=1}^{m+1}H(X_i|X_1,...X_{i-1})\quad[對n=m+1也成立]\end{aligned}} H(X1?,...Xm?,Xm+1?)?=H(X1?,..Xm?)+H(Xm+1?∣X1?...Xm?)[這是因為對m=2時已經證明過了,下面條件熵的部分]=i=1∑m?H(Xi?∣X1?..Xi?1?)+H(Xm+1?∣X1?...Xm?)[假設對n=m時成立]=i=1∑m+1?H(Xi?∣X1?,...Xi?1?)[對n=m+1也成立]?
條件熵
假設另一個隨機變量X的值已知,條件熵(或模糊性)量化描述隨機變量Y的結果所需的信息量。
H(Y∣X)=∑xp(x)H(Y∣X=x)[定義如此]=?∑X,YP(x,y)logP(x,y)P(x)[這里的推導略了,大致就是按全概率的思想把H(Y∣X)展開]\begin{aligned}H(Y|X)=&\sum_xp(x)H(Y|X=x) \quad[定義如此] \\=&-\sum_{X,Y}P(x,y)log\frac{P(x,y)}{P(x)}\quad[這里的推導略了,大致就是按全概率的思想把H(Y|X)展開]\end{aligned} H(Y∣X)==?x∑?p(x)H(Y∣X=x)[定義如此]?X,Y∑?P(x,y)logP(x)P(x,y)?[這里的推導略了,大致就是按全概率的思想把H(Y∣X)展開]?
也可以和聯合熵做一個聯系:
H(Y∣X)=H(X,Y)?H(X)[這就是上面說的證明,稍微移項一下就好]H(Y|X)=H(X,Y)-H(X) \quad[這就是上面說的證明,稍微移項一下就好] H(Y∣X)=H(X,Y)?H(X)[這就是上面說的證明,稍微移項一下就好]
這個推導過程如下:
原式=?∑X,YP(x,y)logP(x,y)P(x)=?∑X,YP(x,y)[logP(x,y)?logP(x)]=?∑X,YP(x,y)logP(x,y)+∑XP(x)logP(x)\begin{aligned}原式=&-\sum_{X,Y}P(x,y)log\frac{P(x,y)}{P(x)}\\=&-\sum_{X,Y}P(x,y)[logP(x,y)-logP(x)]\\=&-\sum_{X,Y}P(x,y)logP(x,y)+\sum_{X}P(x)logP(x)\end{aligned} 原式===??X,Y∑?P(x,y)logP(x)P(x,y)??X,Y∑?P(x,y)[logP(x,y)?logP(x)]?X,Y∑?P(x,y)logP(x,y)+X∑?P(x)logP(x)?
這個過程從第二個等式到第三個等式可能有點奇怪,右側直接把
∑X,YP(x,y)logP(x)=>∑XP(x)logP(x)\sum_{X,Y}P(x,y)logP(x)=>\sum_{X}P(x)logP(x) X,Y∑?P(x,y)logP(x)=>X∑?P(x)logP(x)
這個是全概率公式,可以看到每個(x,y)(x,y)(x,y)都互不相容,其和為全集,所以有
P(x)=∑i∞P(xyi)P(x)=\sum_i^{\infin}P(xy_i) P(x)=i∑∞?P(xyi?)
性質:
1.當且僅當Y完全由X決定,條件熵為0(因為不需要提供任何信息了)
2.當且僅當Y和X獨立,條件熵等于分子獨立熵
3.連鎖法則
H(X1,X2...Xn∣Y)=∑i=1nH(Xi∣X1...Xi?1,Y)【下面幾個等式是證明】=H(X1,...Xn,Y)?H(Y)=H((X1,Y)...Xn)?H(Y)=H(X1,Y)?H(Y)+∑i=2nH(Xi∣X1...Xi?1,Y)[熵的連鎖,移項]=H(X1∣Y)+∑i=2nH(Xi∣X1...Xi?1,Y)證畢\begin{aligned}H(X_1,X_2...X_n|Y)=&\sum_{i=1}^nH(X_i|X_1...X_{i-1},Y)【下面幾個等式是證明】 \\=&H(X_1,...X_n,Y)-H(Y) \\=&H((X_1,Y)...X_n)-H(Y) \\=&H(X_1,Y)-H(Y)+\sum_{i=2}^nH(X_i|X_1...X_{i-1},Y) \quad[熵的連鎖,移項] \\=&H(X_1|Y)+\sum_{i=2}^nH(X_i|X_1...X_{i-1},Y)\\證畢 \end{aligned} H(X1?,X2?...Xn?∣Y)=====證畢?i=1∑n?H(Xi?∣X1?...Xi?1?,Y)【下面幾個等式是證明】H(X1?,...Xn?,Y)?H(Y)H((X1?,Y)...Xn?)?H(Y)H(X1?,Y)?H(Y)+i=2∑n?H(Xi?∣X1?...Xi?1?,Y)[熵的連鎖,移項]H(X1?∣Y)+i=2∑n?H(Xi?∣X1?...Xi?1?,Y)?
4.貝葉斯法則
H(Y∣X)=H(X∣Y)?H(X)+H(Y){\displaystyle \mathrm {H} (Y|X)\,=\,\mathrm {H} (X|Y)-\mathrm {H} (X)+\mathrm {H} (Y)} H(Y∣X)=H(X∣Y)?H(X)+H(Y)
證明
H(Y∣X)=H(X,Y)?H(X)H(X∣Y)=H(Y,X)?H(Y)對稱性:H(X,Y)=H(Y,X){\displaystyle \mathrm {H} (Y|X)=\mathrm {H} (X,Y)-\mathrm {H} (X)}\\ {\displaystyle \mathrm {H} (X|Y)=\mathrm {H} (Y,X)-\mathrm {H} (Y)} \\對稱性: {\displaystyle \mathrm {H} (X,Y)=\mathrm {H} (Y,X)} H(Y∣X)=H(X,Y)?H(X)H(X∣Y)=H(Y,X)?H(Y)對稱性:H(X,Y)=H(Y,X)
用第一條等式減第二條等式就得到了貝葉斯法則
其他的性質
H(Y∣X)≤H(Y)H(X,Y)=H(X∣Y)+H(Y∣X)+I?(X;Y),H(X,Y)=H(X)+H(Y)?I?(X;Y),I?(X;Y)≤H(X),{\displaystyle {\begin{aligned}\mathrm {H} (Y|X)&\leq \mathrm {H} (Y)\\\mathrm {H} (X,Y)&=\mathrm {H} (X|Y)+\mathrm {H} (Y|X)+\operatorname {I} (X;Y),\qquad \\\mathrm {H} (X,Y)&=\mathrm {H} (X)+\mathrm {H} (Y)-\operatorname {I} (X;Y),\,\\\operatorname {I} (X;Y)&\leq \mathrm {H} (X),\end{aligned}}} H(Y∣X)H(X,Y)H(X,Y)I(X;Y)?≤H(Y)=H(X∣Y)+H(Y∣X)+I(X;Y),=H(X)+H(Y)?I(X;Y),≤H(X),?
第一條就不用多說了,知道別的分布總比不知道要好,所以左邊需要的信息不會大于右邊。也可以數學證明,這里不證明了。
剩下三條的I(X;Y)I(X;Y)I(X;Y)是互信息,等等講,不著急。
互信息
根據熵的連鎖規則,有
H(X,Y)=H(X)+H(Y∣X)=H(Y)+H(X∣Y)H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y) H(X,Y)=H(X)+H(Y∣X)=H(Y)+H(X∣Y)
所以整理可得
H(X)?H(X∣Y)=H(Y)?H(Y∣X)H(X)-H(X|Y)=H(Y)-H(Y|X) H(X)?H(X∣Y)=H(Y)?H(Y∣X)
這個差就叫做X和Y的互信息,記做I(X;Y)I(X;Y)I(X;Y)。
互信息的鏈規則:
I(X1n;Y)=∑i=1nI(Xi;Y∣X1,...Xn?1)I(X_{1n};Y)=\sum_{i=1}^nI(X_i;Y|X_{1},...X_{n-1}) I(X1n?;Y)=i=1∑n?I(Xi?;Y∣X1?,...Xn?1?)
證明:
I(X1n;Y)=H(X1...Xn)?H(X1,..Xn∣Y)[互信息定義]=∑i=1nH(Xi∣X1...Xi?1)?∑i=1nH(Xi∣X1...Xi?1,Y)=∑i=1n[H(Xi∣X1...Xi?1)?H(Xi∣X1...Xi?1,Y)][互信息定義,多觀察一下]=∑i=1nI(Xi;Y∣X1,...Xn?1)\begin{aligned}I(X_{1n};Y)=&H(X_1...X_n)-H(X_1,..X_n|Y)\quad [互信息定義] \\=&\sum_{i=1}^nH(X_i|X_1...X_{i-1})-\sum_{i=1}^nH(X_i|X_1...X_{i-1},Y) \\=&\sum_{i=1}^n[H(X_i|X_1...X_{i-1})-H(X_i|X_1...X_{i-1},Y)] \quad[互信息定義,多觀察一下] \\=&\sum_{i=1}^nI(X_i;Y|X_{1},...X_{n-1}) \end{aligned} I(X1n?;Y)====?H(X1?...Xn?)?H(X1?,..Xn?∣Y)[互信息定義]i=1∑n?H(Xi?∣X1?...Xi?1?)?i=1∑n?H(Xi?∣X1?...Xi?1?,Y)i=1∑n?[H(Xi?∣X1?...Xi?1?)?H(Xi?∣X1?...Xi?1?,Y)][互信息定義,多觀察一下]i=1∑n?I(Xi?;Y∣X1?,...Xn?1?)?
條件互信息的鏈規則:
I(X1n;Y∣Z)=∑i=1nI(Xi;Y∣X1,...Xn?1,Z)I(X_{1n};Y|Z)=\sum_{i=1}^nI(X_i;Y|X_{1},...X_{n-1},Z) I(X1n?;Y∣Z)=i=1∑n?I(Xi?;Y∣X1?,...Xn?1?,Z)
證明和互信息鏈規則很像,其實就是要理解"|“和”;"的結合方式是
I(X;Y∣Z)=I((X;Y)∣Z)=H(X∣Z)=H(X∣Y,Z)I(X;Y|Z)=I((X;Y)|Z)=H(X|Z)=H(X|Y,Z) I(X;Y∣Z)=I((X;Y)∣Z)=H(X∣Z)=H(X∣Y,Z)
然后按著上面的互信息鏈證明即可
總結
以上是生活随笔為你收集整理的信息论的基本概念(自信息,条件熵,联合熵,互信息,条件互信息)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微型计算机控制技术第二版答案第四章,微型
- 下一篇: 软件工程导论——第三章——需求分析