信息熵和條件熵
引言
今天在逛論文時突然看到信息熵這個名詞,我啪的一下就記起來了,很快啊!!這不是我大一第一節信息資源管理概論課講到的第一個專業名詞嗎,信息熵我可熟了,章口就來,信息熵是負熵 …….淦,負熵又是啥。好傢夥,一整門課的知識都還給老師了,只記得老師給我們大肆推薦的《JinPingMei》…… orz,對不起老師我錯了,快逃!!
為了贖罪,求生欲滿滿的我馬上、很快啊,就把信息熵給複習了一遍,連帶條件熵都給複習了,真不戳!
好吧,開個玩笑。因為前段時間在看一篇新詞發現的論文時注意到裏面的算法模型將信息熵作為了一個特徵向量作為輸入來進行挖掘。才發現原來信息熵在文本挖掘領域也有應用嗎?仔細一想,自然語言和信息論有交叉好像也挺正常的,後來百度一看,好傢夥,原來在機器學習里也是有廣泛應用的。突然記起學決策樹時模型參數選擇算法時就有熵(Entropy)和基尼係數的概念,原來我還是有認真聽課的好嗎?好的,其實當時只知道對應ID3和CART算法,至於原理?(算了算了太燒腦了,做個調參俠不好嗎,哪個精度高用哪個管那麼多幹嘛……別學我!看看我眼裡的眼淚你就知道了~)
翻出當時的作業???好傢夥,這波DDL截止前5分鐘寫出來的結論就很強,果然DDL可以讓我們有勇氣把shit交給老師是真理!(本人實踐檢驗過的,還在不斷實踐中)
回到正題,原理還是要懂的,萬一哪天就可以吹牛逼了呢!!!
信息熵
說到信息熵,首先先了解一下什麼是信息量?
信息量顧名思義信息的量,我們可以理解作信息量是信息的度量單位,就和我們可以用秒來度量時間一樣,用一生來度量愛一樣……掌嘴,整天不務正業想啥呢)
信息量和事件的概率相關,發生概率越大的事說明信息量越小,反之,發生概率越小的事說明信息量越大。這其實很好理解,我們說太陽從東邊升起了,那不是常識嗎,還用你說?這句話信息量就很小了。但如果你說,太陽從西邊升起了,我們第一反應肯定是???的確,信息量很大,要不是方位感有問題就是世界末日了哈哈哈
當然,信息量肯定是不能為負的,但是可以為0。(看什麼看,別整什麼無中生有暗渡成倉了,盡說廢話)
由此,我們可以大致歸納為:一個事件的信息量是與其發生概率呈負相關的,且不能為負。
拋開信息量,我們先上一下信息熵的公式
假設P(Xi) 表示隨機事件X為 Xi 的概率,那麼此時事件X的信息熵為:
其實這個公式並不複雜,不要一看到公式就懵好嗎?
我們可以很明顯的看到,信息熵H(X)和事件概率P(X)的對數相關。
回到信息量,假如有2個不相關事件x,y,我們可以推出:
我們從兩個事件中得到的信息量總和h(x,y) = h(x)+h(y)
由於兩個事件不相關,其事件概率P(x,y) = P(x)P(y)
這個時候,其實可以初步看出h(x)和P(x)的對數是相關的(對數中的相乘的真數求導後是相加形式)
進一步推導,我們可以得到公式:**h(x) = -log2*P(x)**
是不是又懵逼了,為啥有個負號???為啥底數是2???
不慌,看了一下大佬的解釋瞬間開竅:
- 負號是為了確保信息量保持一個非負的狀態(畢竟你要求導嘛!!)
- 底數為2:因為我們只需要滿足低概率事件高信息量的公式需求,此時對數的選擇其實是不限的。但遵循信息論的普遍傳統,我們使用2作為對數的底(不要問我信息論的普遍傳統哪冒出來的,我也不知道啊哈哈哈)
好了,信息熵和信息量的公式都出啦,相信大家也都很明顯察覺到它們的相似之處了。總結一下:
信息量度量的是一個事件發生所帶來的信息,而信息熵則是在事件結果出來之前對可能產生的信息量的一個期望
即: H(x) = sum(P(x)h(x)) = -sum(P(x)log2P(x))
轉換一下,即為:
條件熵
什麼是條件熵呢?
百度百科告訴我們:條件熵_H(X|Y)_表示在已知隨機變量_Y_的條件下,隨機變量 X 的不確定性。
直接上公式:
是不是,感受到撲面而來的概率論的氣息,好像知道又不確? 來,上例子:
假如有一個黑箱子,裏面有10個球,6個白球,4個黑球,其中有7個球球面是光滑的,其中白球都為光滑,外加一個黑球,其他3個黑球球面是粗糙的,很明顯:
摸到白球的概率為:6/10=3/5
摸到黑球的概率為:4/10=2/5
摸到球面光滑的概率為:7/10=7/10
摸到球面粗糙的概率為:3/10=3/10
我們把摸到的球的顏色作為事件Y, 我們再假設事件X為摸到的球的球面是否光滑為事件X
那麼此時
H(Y|X=球面) = p(X =光滑)H(Y|X=光滑)+p(X =粗糙)H(Y|X=粗糙) (1)
又已知事件Y的信息熵H(Y) = -3/5log3/5 -2/5log2/5 (2)
p(X =光滑)=7/10; (3)
p(X =粗糙)=3/10; (4)
H(Y|X=光滑)= -6/7log6/7 -1/7log1/7 (7個光滑的球中6個白球,1個黑球) (5)
H(Y|X=粗糙)= -log1 (3個粗糙的球都為黑球) (6)
將(2)、(3)、(4)、(5)、(6)代入(1)中,即可得到答案!!!
(是不是有種高考解題既視感hhh,老師說公式列完整,解沒求出來只扣2分,可以拿98分)

