1. 程式人生 > 實用技巧 >probability and statistic(5) 資訊量、交叉熵、夏農熵、KL散度

probability and statistic(5) 資訊量、交叉熵、夏農熵、KL散度

資訊量、交叉熵、夏農熵、KL散度

1.資訊量

資訊量來衡量一個事件的不確定性,一個事件發生的概率越大,不確定性越小,則其攜帶的資訊量就越小。

公式: I ( x ) = − l o g 2 p ( x ) I(x) = -log_2p(x) I(x)=log2p(x)
舉個簡單的例子:
事件一:巴西隊和西班牙隊進行足球比賽,賽前預測巴西隊獲勝的概率是50%
事件二:巴西隊和洛杉磯湖人隊進行足球比賽,賽前預測巴西隊獲勝概率99%

這樣我們通過資訊量的計算公式得到事件二的資訊量明顯小於事件一,也就是事件一的不確定性很大,事件二的不確定性很小,即這場比賽沒什麼大的懸念

2.夏農熵

夏農熵主要描述的是一個系統的混亂程度,代表系統中資訊量的總和,如果熵越大,代表這個系統越混亂,即不確定性就越大

公式: H ( p ) = − ∑ x p ( x ) l o g 2 p ( x ) H(p) = -\sum_x p(x)log_2p(x) H(p)=xp(x)log2p(x)

2.交叉熵

交叉熵是用來度量兩個概率分佈的差異程度,通常用於機器學習中分類任務作為損失函式
公式為 H ( p , q ) = − ∑ p i l o g ( q i ) H(p,q)=-\sum p_ilog(q_i) H(p,q)=pilog(qi)
p代表真實事件的概率,q代表預測概率

3.KL散度

KL散度(相對熵)其實也是用來描述兩個概率分佈的差異程度
他的表達形式為: D ( p ∣ ∣ q ) = ∑ x ∈ X p ( x ) l o g p ( x ) q ( x ) D(p||q) = \sum_{x\in X}p(x)log\frac{p(x)}{q(x)}

D(pq)=xXp(x)logq(x)p(x)
他也是交叉熵和原始資料熵的差 D ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) D(p||q) = H(p,q) - H(p) D(pq)=H(p,q)H(p)
注意: D ( p ∣ ∣ q ) ! = D ( q ∣ ∣ p ) D(p||q) != D(q||p) D(pq)!=D(qp)
值越大表示越不相似

舉個例子:
在這裡插入圖片描述
交叉熵和KL散度關係
由這兩者的表示式可以很清晰的看出兩者之間的聯絡.下面從實際應用的角度來說明一下兩者的使用場景的差異(機器學習):
在機器學習的模型優化策略損失函式的選擇時,可以使用cross entropy,在這種情況下p是資料的經驗分佈,因此p是不變的constant;在這種情況下,KL散度中的p是不變的,因此後面的-H§的常量,因此,優化這兩個目標是等價的. 但是如果p是變化的,那麼這兩者顯然就不一樣了.因此在未知p的情況下,想要讓q去近似p,可以使用KL度量兩個分佈之間的距離.作為優化目標.