決策樹定義
決策樹是一類常見的機器學習方法。本質就是一棵樹,這棵樹表示的含義如下:
優點可解釋性極強,常用於醫療診斷等領域
計算複雜度低
可以處理不同型別的資料,包括離散值和連續值
缺點容易過擬合,需要配合剪枝策略
不是一點點容易,真的是非常容易,因為只要有乙個 outlier 就會導致決策樹繼續分支,最後會非常複雜。決策樹的劃分目的,是使得每個結點所包含的樣本盡量屬於同一類別,即「純度」 (purity)。衡量集合純度最常用的指標是資訊熵
\[ent(d) = -\sum_^|}p_k\log_2p_k
\]資訊熵越小,純度越高
資訊增益 (information gain)
\[gain(d, a) = ent(d) - \sum_^\fracent(d^v)
\]衡量劃分後純度的變化。不同子集合資訊熵通過加權平均的方式彙總。缺點是對可取值較多的屬性有偏好。
資訊增益率 (information gain ratio)
\[gain\_ratio(d, a) = \frac\\
iv(a)=-\sum_^\frac\log_2\frac
\]\(iv(a)\)稱為 a 的固有值(intrinsic value)。增益率對可取值較少的屬性有偏好。
基尼指數 (gini index)
\[gini(d) = \sum_^|} \sum_p_kp_ = 1 - \sum_^|}p_k^2\\
gini\_index(d, a) = \sum_^v\fracgini(d^v)
\]
其實熵 (ent) 和基尼值 (gini) 是很類似的東西,從表示式中就可以看出:剪枝策略是決策樹學習演算法處理過擬合的主要手段,分為預剪枝和後剪枝。兩種剪枝策略都是基於泛化能力(驗證集結果)進行的。熵就是 \(-\sum p\log p\),基尼值就是 \(-\sum p^2\),都是越小越好。二者只是對純度的敏感程度不一樣。
同理基尼指數也會對可取值較多的屬性有偏好。
預剪枝後剪枝確實值處理需要面對兩個問題:
訓練過程中,如何選擇劃分屬性 - 調整資訊增益(率)的計算方式。只有存在的值能夠用來計算資訊增益。
**過程中,如何劃分缺值樣本 - 將**結果變為乙個概率分布。缺失值可能是該屬性的任意乙個值,可利用該屬性的分布估計不同狀態下的**結果。
決策樹有一些常用的訓練演算法,是對以上知識點的整合應用。例如 cart,id3,c4.5,其中 c4.5 是由 id3 發展而來。具體區別如下:
cart (1984)
id3 (1986)
c4.5 (1993)
分支指標
gini 係數
資訊增益
資訊增益率
輸入變數
連續/離散
離散連續/離散
輸出變數
回歸/分類
分類分類
樹結構二叉樹
多叉樹多叉樹
特徵重用
可重用不可重用
不可重用
缺失值可處理
不可處理
可處理計算量低較高
較高泛化誤差
較大較小
較小適用樣本
大樣本小樣本
小樣本剪枝方法
代價複雜度 (ccp)
正則化損失函式
正則化損失函式
一般的決策樹,每個結點只考慮乙個屬性,決策邊界是垂直於座標軸的;如果每個結點考慮多個屬性,實現乙個線性分類器,那麼決策邊界就能更好的擬合結果。本質類似乙個樹狀的多層感知機。
機器學習 決策樹
一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...
機器學習 決策樹
我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...
機器學習 決策樹
一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...