每日一個機器學習算法——信息熵


1 定義

2 直觀解釋

信息熵用來衡量信息量的大小

若不確定性越大,則信息量越大,熵越大

若不確定性越小,則信息量越小,熵越小

比如A班對B班,勝率一個為x,另一個為1-x

則信息熵為 -(xlogx + (1-x)log(1-x))

求導后容易證明x=1/2時取得最大,最大值為2

也就是說兩者勢均力敵時,不確定性最大,熵最大。

3 應用

數據挖掘中的決策樹。

構建決策樹的過程,就是減小信息熵,減小不確定性。從而完整構造決策樹模型。

所以我們需要在每一次選擇分支屬性時,計算這樣分類所帶來的信息熵的增益,增益越大,不確定性越小,最終也就是我們要選擇的分支屬性。

首先我們會在未進行任何分類前求取一個信息熵,這個信息熵涉及到只是簡單的求取樣本標簽的分布,然后按照公式求解信息熵。

之后在選用某一個屬性作為分支屬性后,我們需要計算每一個子分支中的樣本標簽的分布,然后計算每個子樣本的信息熵,最后加權平均(期望),求得總的信息熵。

計算前后兩個信息熵的差值,選擇最大的增益屬性作為分支屬性。

一直遞歸下去,對每一個子樣本套用上述方法。直到所有的樣本都被歸類於某個葉節點,即不可再分為止。

以上方法是ID3方法,還有更好的C4.5方法

C4.5方法選用信息增益比,克服了ID3使用信息增益選擇屬性時偏向取值較多的屬性的不足。

除了可以處理離散類型的屬性,還可以處理連續型。

處理連續型屬性時,最重要的一步確定分割點。這里同樣需要用到信息增益比。

我們可以人工的為選擇一系列的分割點,然后分別計算被分割點分割的前后兩個區間的信息熵,最后加權求得該分割點情況下的信息熵。

最后取信息增益最大的分割點作為分割條件。

簡而言之,和ID3相比,就是在計算分割點的時候,需要額外用到一次信息增益法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM