相關文章:
交叉熵三連(1)——信息熵
交叉熵三連(2)——KL散度(相對熵)
交叉熵三連(3)——交叉熵及其使用
1 信息熵的定義
在維基百科中信息熵的定義如下:
熵:是接受每條消息中包含的信息的平均量,又稱爲信息熵、信源熵、平均自信息量。這裏“消息”代表來自分佈或者是數據流中的事件、樣本或者特徵。熵用於表示不確定性的度量。
在香農的《通信的數學理論》將離散的信號源表示爲一個馬爾可夫過程並系統給整個過程在某段事件內“生成”的信息量有一個合理的度量,從而做出如下假設:
假設有一個可能事件集合,這些事件發生的概率爲 p1,p2,...,pn。這些事情發生的概率事已知的但是不知道其他的信息。我們是否能夠找到一種度量,用來測量這些輸出中有多少不確定性。
在此基礎上如果存在一種度量例如H(p1,p2,...,pn)來計算不確定性,那麼H應該具有如下特性:
- 連續性:H應當關於pi連續,也就是對每一個pi都有一個對應的不確定性度量Hi
- 單調性:如果所有的事件概率都相等,即使pi=n1,則H應該是n的單調遞增函數。如果事件的可能性相等,那可能事件越多,選擇或者說不確定性也越多。
- 可加性:如果一個選擇分解爲兩項連續的選擇,原來的信息度量是各個H的加權和。下圖中展示了這種說法的含義。左側的三個概率爲分別爲:p1=21,p2=31,p3=61。在右側,我們首先以概率p=21在兩種可靠性中做選擇,如果發生第二種情況,則繼續以後續概率{32,31}做選擇,這種情況左邊的選擇方式和後面的選擇方式具有相同的概率值。在這種情況下要求:
H(21,31,61)=H(21,21)+21H(32,31)
基於上述假設中的三條性質能夠滿足上述三個特性的H如下:
H=−ki=1∑npilogpi
其中K是一個常數用來選擇度量單位。
那麼形如 H=−∑pilogpi 的量稱爲概率集p1,p2,...,pn的熵。如果x是一個隨機變量,我們將H(x)記爲隨機變量x的熵,因此x不是一個函數的參數,而是一個數值的記號,用於區分H(y),其中H(y)表示隨機變量y的熵。
例如某個信號源隨機輸出變量x∈{0,1},並且p(x=0)=21同樣的p(x=2)=21那麼計算信號源某次輸出信號輸出所攜帶的信息量爲:
H(x)=−21log221−21log221=1 bit
假設這個信號源輸出的兩個連續信號獨立,那麼連續輸出兩個信號所攜帶的信息量爲:
H(x)=−41log241−−41log241−41log241−41log241=2 bit
假設這個信號源輸出兩個連續信號之間不獨立並且第一次輸出概率相等都爲 21,第二次輸出與上一次輸出的結果有關,當第一次輸出爲1,下一次輸出爲1的概率爲41,否則爲81,那麼連續輸出兩次所包含的信息量爲:
H(x)=H(21,21)+21H(41,43)+21H(81,87)
2 信息熵的性質
- 性質 1:當且僅當所有pi中只有一個取值爲單位1,其他的均值爲0時,H=0。僅當我們可以確定輸出結果的時,H消失。否則H爲正數。
- 性質 2:對於某一個時間給定了有n 中可能,當所有的pi都相等(即n1)的時候,H達到最大的值logn。 這種情況就是我們直覺上所感受的最具有不確定性的情形。
- 性質 3:有兩個事件x 和 y,如果第一個事件有 m 種可能性,第二個事情有 n 種可能性。設p(i,j) 爲事件i和事件j的聯合概率。這一聯合事件的熵爲:
H(x,y)=−i,j∑p(i,j)logp(i,j)
而:
H(x)=−i,j∑p(i,j)logj∑p(i,j)
H(y)=−i,j∑p(i,j)logi∑p(i,j)
容易證明:
H(x,y)≤H(x)+H(y)
當且僅當這些事件獨立的時候 p(i,j)=p(i)⋅(j)時等號成立,一個聯合事件的不確定性,小於等於各個事件的不確定性之和。
可以理解爲,當事件不獨立的情況下,事件x攜帶了事件y中的部分信息,同時事件y 中也攜帶了事件x中的部分信息,兩個事件攜帶的信息量有一部分重合,因此總的信息量小於單個信息量的累加
- 性質 4:任何使得概率 p1,p2,...,pn趨於相等的改變都會使H增大。因此,如果p1<p2,而且我們使p1增大,p2減小一個相等量,則H增大。
- 性質 5: 和性質3中一樣,假定有兩個隨機事件 x 和隨機事件 y,他們不一定相互獨立。對於x 可以取到的任意特定值i,存在一個y取值的j的條件概率pi(j),此概率給出如下:
pi(j)=∑jp(i,j)p(i,j)
我們將y的條件熵Hx(y)定義爲關於每個值x,y的熵的加權平均,加權值爲x值的特定概率。即:
Hx(y)=−i,j∑p(i,j) log pi(j)
用上述公式來度量,當我們已知事件x的時候,事件y的不確定性,可以得到:
H(x,y)=H(x)+Hx(y)
- 性質 6: 根據公式3和公式5可以得到:
H(x)+H(y)≥H(x,y)=H(x)+Hx(y)
因此:
H(y)≥Hx(y)
3 連續分佈的熵
對於離散的概率集p1,p2,...,pn的熵定義爲:
H=−∑pi log pi
對於一個概率密度函數分佈爲p(x)的連續分佈,可以採用類似方式,將它的熵定義爲:
H=−∫−∞∞p(x) log p(x) dx
對於一個n維的分佈p(x1,x2,...,xn),有:
H=−∫⋯∫p(x1,...,xn) log p(x1,...,xn) dx1...dxn
如果有兩個事件x,y並且這兩個事件本身可能是多維的,則p(x,y)的聯合熵和條件熵分別爲:
H(x,y)=−∫∫ p(x,y) log p(x,y) dx dy
和:
Hx(y)=−∫∫ p(x,y) logp(x)p(x,y)dx dy
Hy(x)=−∫∫ p(x,y) logp(y)p(x,y)dx dy
其中:
p(x)=∫p(x,y) dy
p(y)=∫p(x,y) dx
5 參考內容
[1] 信息熵 維基百科
[2] 通信的數學理論
個人微信公衆號:【查叔筆錄】