ML-熵、條件熵、資訊增益

透明的胡蘿蔔發表於2019-03-29

通俗理解條件熵

特徵選擇之資訊增益法(必看!系統介紹了熵、條件熵、資訊增益的概念及推導)

條件熵的計算(必看!知乎前三個回答都看一下,有關於熵、條件熵、資訊增益的實踐)
 


我通過例子一步一步講解這個概念。

在決策樹演算法的學習過程中,資訊增益是特徵選擇的一個重要指標,它定義為一個特徵能夠為分類系統帶來多少資訊,帶來的資訊越多,說明該特徵越重要,相應的資訊增益也就越大。

概念

熵:

我們前面說了,資訊熵是代表隨機變數的複雜度(不確定度)通俗理解資訊熵 - 知乎專欄,條件熵代表在某一個條件下,隨機變數的複雜度(不確定度)通俗理解條件熵 - 知乎專欄

而我們的資訊增益恰好是:資訊熵-條件熵。

換句話說,資訊增益代表了在一個條件下,資訊複雜度(不確定性)減少的程度。

那麼我們現在也很好理解了,在決策樹演算法中,我們的關鍵就是每次選擇一個特徵,特徵有多個,那麼到底按照什麼標準來選擇哪一個特徵。

這個問題就可以用資訊增益來度量。如果選擇一個特徵後,資訊增益最大(資訊不確定性減少的程度最大),那麼我們就選取這個特徵。

例子

我們有如下資料:

可以求得隨機變數X(嫁與不嫁)的資訊熵為:

嫁的個數為6個,佔1/2,那麼資訊熵為-1/2log1/2-1/2log1/2 = -log1/2=0.301

現在假如我知道了一個男生的身高資訊。

身高有三個可能的取值{矮,中,高}

矮包括{1,2,3,5,6,11,12},嫁的個數為1個,不嫁的個數為6個

中包括{8,9} ,嫁的個數為2個,不嫁的個數為0個

高包括{4,7,10},嫁的個數為3個,不嫁的個數為0個

先回憶一下條件熵的公式如下:

我們先求出公式對應的:

H(Y|X = 矮) = -1/7log1/7-6/7log6/7=0.178

H(Y|X=中) = -1log1-0 = 0

H(Y|X=高) = -1log1-0=0

p(X = 矮) = 7/12,p(X =中) = 2/12,p(X=高) = 3/12

則可以得出條件熵為:

7/12*0.178+2/12*0+3/12*0 = 0.103

那麼我們知道資訊熵與條件熵相減就是我們的資訊增益,為

0.301-0.103=0.198

所以我們可以得出我們在知道了身高這個資訊之後,資訊增益是0.198

結論

我們可以知道,本來如果我對一個男生什麼都不知道的話,作為他的女朋友決定是否嫁給他的不確定性有0.301這麼大。

當我們知道男朋友的身高資訊後,不確定度減少了0.198.也就是說,身高這個特徵對於我們廣大女生同學來說,決定嫁不嫁給自己的男朋友是很重要的。

至少我們知道了身高特徵後,我們原來沒有底的心裡(0.301)已經明朗一半多了,減少0.198了(大於原來的一半了)。

那麼這就類似於非誠勿擾節目裡面的橋段了,請問女嘉賓,你只能知道男生的一個特徵。請問你想知道哪個特徵。

假如其它特徵我也全算了,資訊增益是身高這個特徵最大那麼我就可以說,孟非哥哥,我想知道男嘉賓的一個特徵是身高特徵。因為它在這些特徵中,對於我挑夫君是最重要的,資訊增益是最大的,知道了這個特徵,嫁與不嫁的不確定度減少的是最多的。

哈哈,希望能對理解資訊增益有所幫助

相關文章