ML《決策樹(一)ID3》
今天做個回顧和記錄,簡單做個學習,也是梳理下知識點,決策樹的學習。
本文的學習,自己不想畫圖,因為覺得沒有必要自己畫圖,所以文中一部分圖片是擷取其他人的分享,但是內容都會是自己寫的。
當然了,這裡是淺析學習學習。
一:ID3
拿西瓜書裡面的來舉例子來說,我們去挑西瓜唄,西瓜的有紋理,色澤,觸感等特徵,怎麼判斷這是不是好瓜呢?有經驗的人會告訴我們,紋理咋樣的是好是壞,然後色澤咋樣的時好時壞,等等一系列的類似於if –else 的判斷標準,畫出來呢就是下圖表示。
這個只是舉例子啊,很明顯從資料結構的角度來看就是樹,從這裡我們能看出來,從某一個特徵開始劃分,一直到達了某個葉子節點我們才能確認該瓜是不是一個好瓜。如果我們能得到這個模型,那麼對於一個新的瓜就能做出對應的分類預測了。
決策樹額特點就是非葉子節點呢都是屬性值/特徵值的判斷過程,至於葉子節點才是最明確的分類結果。決策樹學習的關鍵其實就是選擇最優劃分屬性,希望劃分後,分支結點的“純度”越來越高。這裡的“純度”也可以說是分類的明確度,在資訊理論上來講就是熵。純度越高,無序度越低,熵越低。
但是真實要怎麼做呢?怎麼得到這樣的“一棵樹”?拿資料說話,假如我們有以下資料。
那麼我們以此來建立一個決策樹出來。我們來學習ID3的演算法。
我們既然希望劃分之後結點的“純度”越來越高,那麼如何度量純度呢?而之前我們提到了資訊理論的角度,“資訊熵”是度量樣本集合不確定度(純度)的最常用的指標,資訊熵是代表隨機變數的複雜度(不確定度)通俗理解資訊熵,條件熵代表在某一個條件下,隨機變數的複雜度(不確定度),這個我們之前有篇博文學習過。
在ID3演算法中,我們採取資訊增益這個量來作為純度的度量。我們選取使得資訊增益最大的特徵進行分裂! 而我們的資訊增益是:資訊熵 減去 條件熵。接下來我們將用數學的表示方法來描述這一過程。
好了公式寫完了,那麼就來說一說吧。
在決策樹演算法中,我們的關鍵就是每次選擇一個特徵作為劃分的一個節點node,我們可以看到,決策樹中父節點的劃分只是一句某一個單一的特徵,現在特徵有多個,那麼到底按照什麼標準來選擇哪一個特徵。
這個問題就可以用資訊增益來度量。如果選擇一個特徵後,資訊增益最大(資訊不確定性減少的程度最大),那麼我們就選取這個特徵,吶,ID3的演算法就是這樣的,就是在所有的特徵中,選擇資訊增益最大的特徵,然後我們按照分出來的多個小的子樣本集合,再進行同樣的操作,直到葉子節點是純度最高的情況才停止。
具體的數學計算操作呢,這裡就省去了,因為我懶,我覺得前面已經能說的很詳細了,熟悉資訊理論的同學應該是一看就懂了的,還不懂的話呢,建議先學些一下我之前的關於各種資訊熵的博文,以及對應的知識補充。
ID3演算法呢,有一些缺點。
1:它只能處理離散值。
2:容易過擬合,因為我們拿到了樣本,總是希望最後得到的樣本是非常純的,所以我那個我那個造成了過擬合,訓練樣本擬合很好,泛化能力降低。
3:在每一次的節點選擇中啊,它總是傾向於某個屬性值種類多的特徵。
為什麼說ID3傾向於那個魚選擇屬性值種類多的特徵呢,舉一個最直接的例子,假如某個樣本集合的值有ID這個列,當然ID是獨一無二的,唯一表示某個具體的樣本,那麼如果我們按照ID這一列來劃分,每一個劃分的子樣本集合都式純度很高的,唯一確定的,資訊熵都是0,那麼此時計算資訊增益無非就是最高的,所以就會直截了當選擇了ID,當然這裡只是舉了個例子,實際中誰也不會去把ID作為屬性參與訓練,也就是從側面反映出了,ID3會傾向於選擇某個屬性值種類多的特徵。
因為有了這些缺點吧,下一篇博文我們會學習C4.5演算法。
相關文章
- ML《決策樹(三)CART》
- ML《決策樹(二)C4.5》
- ML《決策樹(四)Bagging 和 Random Forest》randomREST
- 機器學習之決策樹ID3(python實現)機器學習Python
- 基於資訊增益的ID3決策樹介紹。
- 鵝廠優文 | 決策樹及ID3演算法學習演算法
- 機器學習實戰(三)決策樹ID3:樹的構建和簡單分類機器學習
- 【面試考】【入門】決策樹演算法ID3,C4.5和CART面試演算法
- 決策樹
- 《機器學習Python實現_09_01_決策樹_ID3與C4.5》機器學習Python
- 決策樹中資訊增益、ID3以及C4.5的實現與總結
- 決策樹模型(3)決策樹的生成與剪枝模型
- 決策樹示例
- 4. 決策樹
- Decision tree——決策樹
- 決策樹(Decision Tree)
- 深入淺出學習決策樹(一)
- Python機器學習:決策樹001什麼是決策樹Python機器學習
- 分類——決策樹模型模型
- 決策樹演算法演算法
- 關於決策樹的理解
- 機器學習:決策樹機器學習
- 決策樹和隨機森林隨機森林
- 決策樹學習總結
- 機器學習——決策樹模型機器學習模型
- 大資料————決策樹(decision tree)大資料
- 機器學習之決策樹機器學習
- 決策樹模型(2)特徵選擇模型特徵
- 【Python機器學習實戰】決策樹和整合學習(二)——決策樹的實現Python機器學習
- ThunderGBM:快成一道閃電的梯度提升決策樹梯度
- 決策樹模型(4)Cart演算法模型演算法
- 決策樹模型(1)總體介紹模型
- 決策樹演算法-實戰篇演算法
- 決策樹詳解,從熵說起熵
- 決策樹演算法-理論篇演算法
- 【西瓜書筆記】3. 決策樹筆記
- 02決策樹-初識與構建
- 深入淺出學習決策樹(二)