decision tree
在訓練過程中決策樹會問出一系列的問題。首先會從最後上方的樹根開始將資料的特徵將資料分割到不同邊(比方說依據溫度將資料切成三份),分割的原則是:這樣的分割要能得到最大的資訊增益(Information gain, 簡稱IG)。
Information gain計算方式 :
$$
IG(D_p,f) = I(D_p)-\sum^{m}_{j=1}\frac{N_j}{N_p}I(D_j)
$$
常見的計算資訊量的方式有下列兩種 :
- Entropy
$$
I_H(t) = -\sum^{c}_{i=1}p(i|t)log_2p(i|t)
$$
- Gini
$$
I_G(t) = \sum^{c}{i=1}p(i|t)(1-p(i|t)) = 1-\sum^{c}{i=1}p(i|t)^2
$$
訓練過程中,藉由找到最大IG的方式來確定分割問題的方式。
pruning(剪枝)
因為 decision tree 容易 overfitting 。我們稱只顧眼前利益而採限制條件的方法為「greedy」,ID3, C4.5以及CART等大部份的決策樹模型都是屬於此類,此種方式比較不會考慮後果而肓目的分枝生長,所以才有Tree pruning的方法產生,以避免樹過度生長而造成過度擬合問題。
random forest
- 隨機從資料集中選擇部分資料出來訓練 (boostrap)(bagging)
- 將部分資料做成 decision tree
最後 ensemble 各個分類器,來提升結果
random forest 條件 :
- 各個分類器之間須具有差異性。
- 每個分類器的準確度必須大於0.5。