【深度學習基礎-03】決策樹演算法-熵如何計算舉例
目錄
0 機器學習中分類和預測演算法的評估:
- 準確率
- 速度
- 強壯性
- 可否規模性
- 可否解釋
1 什麼是決策樹/判定樹decision tree?
決策樹是一種類似流程圖的樹結構:其中,每一個內部結點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結點代表類或類分佈。樹的最頂層是根結點。
2 決策樹“買電腦”實際例子
假設有一個數據集
根據這個資料集我們建立了決策樹
這樣我們如果拿到一個客戶資料,那麼就可以通過這個就決策樹去判斷是否買電腦
3.1熵(entropy)概念:
資訊和抽象,如何度量?
一條資訊的資訊量大小和它的不確定性有直接的關係,要搞清楚一件非常非常不確定的事情,或者是我們一無所知的事情,需要了解大量資訊(資訊量的度量)就是等於不確定性的多少。
舉個例子:32只足球隊踢比賽,假如你對其一無所知,那麼你用二分法猜6次就行了,這個6就是熵的大小,當你對這些球隊有一定了解,那才四五次就行,當你知道其中1只國家隊,31只小學生隊伍,你猜1次就行了,你知道的資訊越多,熵越小,你知道的資訊越少,熵越大。
熵的計算公式如下:P(x)代表發生概率
變數的不確定性越大,熵也就越大。
4 決策樹歸納演算法(ID3)
選擇屬性判斷結點
資訊獲取量(Information Gain) : Gain(A) = Info(D) - Info_A(D),通過A來作為節點分類獲取了多少資訊
那麼怎麼選擇節點?以下面這個為例子
以“買不買”電腦計算熵:
當附加年齡,“買不買”電腦的熵:(解釋:5個younth,其中有2個yes,3個no;4個middle,其中4個yes,0個no)
通過上面兩個式子計算以年齡為節點的熵:
類似的,Gain(income)=0.029 Gain(student) = 0.151 Gain(credit_rating) = 0.048 ,所以選擇age最為第一個根節點
這樣就以age為根節點,分成了3類,如上圖所示,每一類要分到沒有其他額外選項即可,比如middle_aged都是yes,那其他兩種還是按照上述方法重複計算熵,然後選擇節點,直到滿足判斷條件
4.1遞迴演算法:
遞迴劃分步驟什麼時候會停止:
- 給定節點的所有樣本屬於同一類
- 沒有剩餘屬性可以進一步劃分,這樣情況下,使用多數表決,用樣本中的多數所處類標記
- 沒有樣本
5 其他演算法
C4.5: Quinlan
CART: Classification and Regression Trees
共同點:都是貪心演算法,自上而下
區別:屬性選擇度量方法不同:C4.5(gain ratio) CATR(gini index) ID3(Information Gain)
6 其他概念
-
樹剪枝葉,避免樹太大了太細:(1)先剪枝(2)後剪枝
-
決策樹優點:直觀便於理解,小規模資料集有效
-
決策樹缺點:處理連續變數不好(閾值設定會影響)、類別較多時錯誤增加較快、可規模化效能一般