1. 程式人生 > 實用技巧 >資訊量、資訊熵、交叉熵、KL散度以及交叉損失函式的關係與理解

資訊量、資訊熵、交叉熵、KL散度以及交叉損失函式的關係與理解

在這裡插入圖片描述

記事件 p p p,在各個狀態下 x i x_i xi 的概率為 p ( x i ) p(x_i) p(xi) 。(假設共n個狀態)

1、 資訊量:概率越大資訊量越小。
− l o g ( p ( x i ) ) -log(p(x_i)) log(p(xi))

2、 資訊熵:資訊量的期望值:
H ( p ) = ∑ i = 1 n p ( x i ) ( − l o g ( p ( x i ) ) ) H(p) = \sum\limits_{i = 1}^n {p({x_i})} ( - log(p({x_i}))) H(p)=i=1np(xi)(log(p(xi)

))

3、 交叉熵:假設我們不知道p的概率分佈,我們用一個概率分佈q去近似,q在各個狀態下的概率 。從取樣上來看,我們能夠看到事件 的真實表現概率 ,那麼用q來近似p的資訊量為交叉熵。
H ( p , q ) = ∑ i = 1 n p ( x i ) ( − l o g ( q ( x i ) ) ) H(p,q) = \sum\limits_{i = 1}^n {p({x_i})} ( - log(q({x_i}))) H(p,q)=i=1np(xi)(log(q(xi)))
4、 KL散度:我們可以把 看成一個預測值, 為真實值,是可以觀察到的是個常值,預測值與真實值之間的差值,就是資訊的損失也叫KL散度。

K L ( p , q ) = H ( p , q ) − H ( p ) = ∑ i = 1 n p ( x i ) ( − l o g ( q ( x i ) ) ) − ∑ i = 1 n p ( x i ) ( − l o g ( p ( x i ) ) ) = ∑ i = 1 n p ( x i ) p ( x i ) q ( x i ) \begin{array}{l} KL(p,q) = H(p,q) - H(p)\\ {\rm{ = }}\sum\limits_{i = 1}^n {p({x_i})} ( - log(q({x_i}))) - \sum\limits_{i = 1}^n {p({x_i})} ( - log(p({x_i})))\\ {\rm{ = }}\sum\limits_{i = 1}^n {p({x_i})} \frac{{p({x_i})}}{{q({x_i})}} \end{array}
KL(p,q)=H(p,q)H(p)=i=1np(xi)(log(q(xi)))i=1np(xi)(log(p(xi)))=i=1np(xi)q(xi)p(xi)

為什麼不反過來減:
答:一般作為損失函式我們希望損失函式越小越好,在這個問題中,在對p(x)進行逼近時,由於我們已經進行了one-hot編碼,所以只有真實標籤的那一項對於KL散度是有貢獻的即:
K L ( p , q ) = H ( p , q ) − H ( p ) = ∑ i = 1 n p ( x i ) ( − l o g ( q ( x i ) ) ) − ∑ i = 1 n p ( x i ) ( − l o g ( p ( x i ) ) ) = ∑ i = 1 n p ( x i ) log ⁡ ( p ( x i ) q ( x i ) ) − − > 總 是 為 正 = p ( x i ) l o g ( p ( x i ) q ( x i ) ) , ( p ( x i ) = 1 ) = l o g ( 1 q ( x i ) ) − − > 真 實 標 籤 處 的 估 計 \begin{array}{l} KL(p,q) = H(p,q) - H(p)\\ {\rm{ = }}\sum\limits_{i = 1}^n {p({x_i})} ( - log(q({x_i}))) - \sum\limits_{i = 1}^n {p({x_i})} ( - log(p({x_i})))\\ {\rm{ = }}\sum\limits_{i = 1}^n {p({x_i})} \log (\frac{{p({x_i})}}{{q({x_i})}})-->總是為正\\ {\rm{ = }}p({x_i})log(\frac{{p({x_i})}}{{q({x_i})}}),(p({x_i}) = 1)\\ {\rm{ = log(}}\frac{1}{{q({x_i})}})-->真實標籤處的估計 \end{array} KL(p,q)=H(p,q)H(p)=i=1np(xi)(log(q(xi)))i=1np(xi)(log(p(xi)))=i=1np(xi)log(q(xi)p(xi))>=p(xi)log(q(xi)p(xi)),(p(xi)=1)=log(q(xi)1)>
對於上式當然分母為1是KL散度最小,也就是在預測過程中,我們希望在我們想要預測的標籤上,概率越接近於1越好!。
至此,資訊量,資訊熵、交叉熵、KL散度與交叉熵損失函式的關係總結完成了。