1. 程式人生 > >機器學習方法篇(3)------決策樹入門

機器學習方法篇(3)------決策樹入門

● 每週一言

學習,是為了更好地活著。

導語

決策樹是一種樹形分類模型,每個非葉子結點相當於IF條件語句,該模型通過逐個判定特徵所屬類別對樣本進行分類。那麼,決策樹模型具體是如何實現的?

決策樹

本著直觀講解的原則,我們儘量不用公式,先從一個例子入手。延續上一篇的判瓜模型,考慮西瓜特徵一共有色澤、根蒂、敲聲、紋理、臍部、觸感六種,決策樹將以某種順序依次考查每個特徵,通過逐層縮小範圍最終判定是否好瓜。由於樹結構具有上下關係,而決策樹採用自上而下建樹,因此特徵考查順序就直接決定了最終的分類效果。

fig1

決策樹選擇特徵的依據叫做資訊增益。這裡自然就牽涉到了資訊熵,有關資訊熵的講解可參見我之前的文章。這裡的資訊增益指:選取當前特徵劃分資料集後,所減少的資料混亂程度。

這樣說或許有點晦澀,不妨舉個例子,比如一個全是好瓜的資料集資訊量為:-1log1 = 0,可知該資料集的混亂程度達到最低,因為不用判斷就知道里面全是好瓜;而對於一個一半好瓜一半不是好瓜的資料集,資訊量則是:-(1/2log(1/2) + 1/2log(1/2)) = 1,現假設存在某個特徵恰好能區分是否好瓜,那麼用這個特徵劃分這個資料集之後的資訊增益計算方法為:1 - ((1/2)(-1log1)+(1/2)(-1log1)) = 1。ID3演算法

就是每次選擇最大資訊增益的特徵作為父節點,向下擴充套件決策樹,直到不能繼續擴充套件為止。

fig2

在計算資訊增益的時候我們發現,當屬性取值較多時,其資訊增益往往偏高。極端情況下,比如每個屬性值只對應一個樣本的時候,資訊增益等於最大值1。顯然,這樣的決策樹泛化能力太弱。因此,C4.5演算法應運而生,該演算法使用增益率優化,增益率等於資訊增益除以資料集上該特徵的總資訊量。具體思路是,先選出資訊增益高於平均水平的特徵,然後再從中選擇增益率高的特徵。

此外,還有一種CART演算法使用“基尼指數”來選擇劃分屬性,這裡不展開描述。敬請期待下節 決策樹剪枝

結語

感謝各位的耐心閱讀,後續文章於每週日奉上,敬請期待。歡迎大家關注小鬥公眾號 對半獨白


face