5分钟理解信息熵
?
機(jī)器學(xué)習(xí)中各種熵(信息熵,條件熵,聯(lián)合熵,互信息,交叉熵)是最重要的概念之一,也是最難理解的。對(duì)于分類問題,我們常常計(jì)算兩個(gè)概率密度函數(shù)的交叉熵,以衡量預(yù)測(cè)值和真實(shí)值之間的誤差。而信息熵是這些概念的基礎(chǔ)。
含義:智商是衡量一個(gè)人智力高低的指標(biāo),信息熵(商)是衡量一個(gè)隨機(jī)事件所包含的信息量的指標(biāo)。信息量怎么衡量呢?信息是用來(lái)傳遞的,傳遞時(shí)是需要借助某些介質(zhì)來(lái)對(duì)信息編碼的,正如古代用烽火臺(tái)來(lái)傳遞是否有敵人進(jìn)犯的信息,有敵人來(lái)就點(diǎn)火,沒有就不點(diǎn)火,實(shí)際上就是用烽火這種媒介來(lái)對(duì)信息編碼以便傳遞。為了對(duì)信息進(jìn)行編碼,最少需要多少位二進(jìn)制數(shù)呢,對(duì)于是否有敵人來(lái)進(jìn)犯,只需一位二進(jìn)制數(shù)就行,0(不點(diǎn)火)表示無(wú)敵人,1(點(diǎn)火)表示有敵人,那么敵人是否進(jìn)犯這個(gè)隨機(jī)事件的信息熵就是1。如果需要的情報(bào)再豐富一點(diǎn),敵情不只是有無(wú)敵人,而是更多的狀態(tài),比如無(wú)敵人,有小股敵人,有中規(guī)模敵人,有大股敵人這4個(gè)狀態(tài),那么需要更多位的二進(jìn)制來(lái)表達(dá),比如00,01,10,11來(lái)表示這4個(gè)狀態(tài),也就是2位二進(jìn)制數(shù),也叫2比特。如果這4種狀態(tài)的出現(xiàn)的概率相等,那最少需要2比特來(lái)表達(dá),這時(shí)信息熵就是2。所以信息熵就是對(duì)信息編碼所需最少比特?cái)?shù)。我們可以這樣理解,信息量越大,需要表達(dá)清楚就要越多的信號(hào)來(lái)表達(dá),點(diǎn)火和不點(diǎn)火就是一種二進(jìn)制信號(hào),相當(dāng)于0和1。
信息熵的計(jì)算公式:
$$H(X)=-\sum P(X)logP(X) $$
這里log是以2為底
請(qǐng)看上面信息熵的計(jì)算公式,信息熵是用隨機(jī)事件的各個(gè)狀態(tài)取值的概率來(lái)計(jì)算的。
如果是否有敵情2種狀態(tài)的出現(xiàn)的概率P(X=有)和P(X=無(wú))相等,都是1/2,把信息熵的求和公式展開得到:
H(X) = -(P(X=有)log(P(X=有) ) + P(X=無(wú))log(P(X=無(wú))))
把P(X=有)和P(X=無(wú))兩個(gè)概率值1/2代入得到:
H(X)=-((1/2)*log(1/2) + (1/2)*log(1/2) )= -log(1/2) = 1
因?yàn)檫@里log是以2為底的對(duì)數(shù),所以log(1/2)=-1,再加前面的負(fù)號(hào),就變成正1。
它有這樣的特點(diǎn):
1.狀態(tài)取值越多,信息熵越大
2.每個(gè)狀態(tài)取值的概率越平均,信息熵越大,反之各狀態(tài)的概率越是相差懸殊,信息熵就越小。
3.信息熵實(shí)際上衡量隨機(jī)事件的不確定程度,越是不確定,信息熵就越大,那用來(lái)表達(dá)清楚這條信息所需要的比特?cái)?shù)就越多。
試想下,讓你猜硬幣的正反和讓你猜6面體骰子,骰子的狀態(tài)有6個(gè),比只有2個(gè)狀態(tài)的硬幣更難猜,更不確定。而同樣是6個(gè)狀態(tài),如果骰子是做過手腳的,有一面出現(xiàn)的概率比其他5面的概率大很多,那相對(duì)來(lái)說(shuō)不確定性就減少了,比如極端一點(diǎn),那個(gè)面出現(xiàn)的概率是1,其他面出現(xiàn)的概率是0,那是最確定的了,這時(shí)的信息熵最小。我們可以算得這時(shí)信息熵為0。
假設(shè)6個(gè)面分別叫a,b,c,d,e,f面,其中a面出現(xiàn)的概率為1,其他概率都為0,則有:
H(X)=?-(P(X=a)log(P(X=a?))+ P(X=b)log(P(X=b)) + ...+?P(X=f)log(P(X=f)))
? ? ? ?=-(1*log(1)+0*log(0)+...+0*log(0))
因數(shù)學(xué)上把0*log(0)的值規(guī)定為0,所以上式為:
? ?=-1*log(1)
? ?=-1*0
? ?=0
怎么理解各狀態(tài)出現(xiàn)概率越相差懸殊,編碼所需比特?cái)?shù)越少呢?同樣極端點(diǎn),如果敵情的狀態(tài)是無(wú)敵人的概率是1,其他狀態(tài)全是0,那這個(gè)烽火臺(tái)就不需要傳遞信息了,反正永遠(yuǎn)是同樣的結(jié)果,傳不傳信息都一樣。所以編碼的比特?cái)?shù)就是0。
總結(jié):
1.信息熵=隨機(jī)事件所含的信息量=為編碼這個(gè)信息所需的最少比特?cái)?shù)=隨機(jī)事件的不確定程度
2.信息熵用隨機(jī)事件中各狀態(tài)的出現(xiàn)概率來(lái)計(jì)算
3.可能的狀態(tài)數(shù)量越多,信息熵越大,這表明信息量更多,編碼它所需的比特?cái)?shù)更多,這個(gè)事件就更不確定。
4.各狀態(tài)出現(xiàn)概率越平均(最平均的就是等概率),信息熵越大,表明信息量更多,編碼比特?cái)?shù)更多,事件更不確定
反之,各狀態(tài)出現(xiàn)概率越相差懸殊,信息熵越小,信息量越少,編碼信息的比特?cái)?shù)越少,事件越確定。最懸殊的情況是其中一個(gè)狀態(tài)概率為1,其他全0,這時(shí)信息熵為0
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
總結(jié)
- 上一篇: 汇编语言——快速排序
- 下一篇: 清华大学计算机系人才流失,清华教授直言: