交叉熵理解
1、熵
熵在信息論中是表現(xiàn)一個系統(tǒng)的混亂程度,熵越大代表系統(tǒng)混亂程度越高。
熵的單位是比特,所以在使用log的時候是以2位底的,舉例:
當(dāng)向計算機(jī)輸入一個16位數(shù)據(jù)的時候,計算機(jī)本身可以取的值是2的16次方個 ,在輸入之后這個值就確定下來了,那么現(xiàn)在就是從原來的1/2^16變成了1,那么這個的信息量就是16比特。
在了解熵之前先要了解信息量,信息量是用來描述一個事件從原來的不確定變?yōu)榇_定,難度有多大。信息量越大,說明難度就越高。
熵的評定和信息量相似,不同的是信息量針對的是一個事件,而熵針對的是一個系統(tǒng)。
關(guān)于熵公式的推導(dǎo)可以參考文末視頻鏈接15:35開始。
信息量的計算:
信息量采用log表示,使用log其實本身是沒有具體意義的,因為整個的推導(dǎo)都是通過定義開始的,定義本身是可以沒有意義的,他的意義是在定義之后才被賦予的,關(guān)鍵在于在定義之后整體體系是否可以完成自洽。
熵的公式:
把系統(tǒng)中所有事件的信息量求出來再和對應(yīng)事件的概率相乘得到的就是熵。
2、相對熵
:圖片引自B站視頻,文末會附帶鏈接。
相對熵又稱KL散度,上圖中的Q和P分別代表兩個系統(tǒng),fQ(qi)代表Q系統(tǒng)某一事件的信息量,fP(pi)代表P系統(tǒng)對應(yīng)事件的信息量。(P||Q)代表以P為基準(zhǔn),考慮Q與P之間相差多少,
公式解釋如下:
- DKL公式第二行:對于某一個事件,在Q系統(tǒng)中的信息量與對應(yīng)在P系統(tǒng)中的信息量做差值,最后再做整體的期望(即求整體的平均值)
直觀理解:如果Q想要達(dá)到和P一樣的信息量的話,他們之前還差多少信息量 - DKL公式第四行(最后一行):∑pi*(-log2pi)是代表P系統(tǒng)的信息熵,因為是以P系統(tǒng)為基準(zhǔn)的,所以此值是恒定的。前面的∑pi*(-log2qi)也就是P的交叉熵H(P,Q)。因為后面的值是不變的,所以DKL的結(jié)果由前面P的交叉熵H(P,Q)決定。
當(dāng)然在DKL=0的時候,Q和P之間是最接近的,無論是交叉熵H(P,Q)還是后面恒定的信息熵都是一個大于0的數(shù)。
根據(jù)吉布斯不等式可以獲知,DKL的值永遠(yuǎn)大于等于0.這個定義也就規(guī)定了無論如何調(diào)整交叉熵一定比后面的信息熵大。所以交叉熵越小,那么兩個概率模型就越相近。
參考視頻:“交叉熵”如何做損失函數(shù)?
總結(jié)
- 上一篇: Java 常用限流算法解析
- 下一篇: 计算机辅助药物设计