以決策樹而言, 算是比較直覺, 比較好解釋的演算法, 相對於 Logistic Regression 和 Support Vector Machine 的黑箱作業, 我們很難去預測或理解它們內部複雜的運作細節, 所以先從決策樹講起.
決策樹是執行效率相當高的監督式機器學習模型,適用於 classification 及 regression 資料類型的預測,與其它的ML模型比較起來,執行速度是它的一大優勢。
當我們要設計決策樹架構時,我們怎麼知道要分成幾個節點?那一個節點適合作為啟始根部?節點的判斷依據及數值的認定為何?決策樹演算法可將輸入的特徵值予以量化,自動的建構並決定決策樹的各個節點。通常可以用 Information Gain 及 Gini Index 這兩種方法來作.
Information Gain(資訊獲利,概念類似Entropy),將較高同質性的資料放置於相同的類別,以產生各個節點。此種演算法依賴所謂「Entropy(熵)」,其公式是:
Entropy = -p * log2 p – q * log2q
p:成功的機率(或true的機率) q:失敗的機率(或false的機率)
GINI係數與INFORMATION GAIN兩者有一個最大的差別:INFORMATION GAIN一次可產生多個不同節點,而GINI係數一次僅能產生兩個,即True或False的Binary分類。
Gini係數公式為 p2+q2
不過決策樹很容易有「Overfitting(過度擬合)」的問題,因為我們如果沒有對樹的成長作限制,演算法最後就會為每個不同特徵值創建新的分類節點,最後將所有資料作到100%正確的分類,因此為了預防Overfitting,我們會採取下列兩種方式:設限及剪枝。
限制條件的決策樹會只顧眼前利益採取第一個選擇:左轉,以便馬上到達下個目的地。但Tree pruning(剪枝)的方式,是一種事後且全局的作法,它會往前看幾步,發現左轉的話前方會有卡車擋住,就不會考慮左轉而思考採取其它步驟。
我們稱只顧眼前利益而採限制條件的方法為「greedy貪婪」,ID3, C4.5以及CART等大部份的決策樹模型都是屬於此類,此種方式比較不會考慮後果而肓目的分枝生長,所以才有Tree pruning的方法產生,以避免樹過度生長而造成過度擬合問題。