經(jīng)典決策樹對(duì)比

關(guān)于經(jīng)典決策樹算法ID3、C4.5及CART樹的部分細(xì)節(jié)梳理。

決策樹

決策樹可以從兩個(gè)視角理解。

  • If-Then規(guī)則的集合
  • 定義在特征空間與類空間上的條件概率分布
algo-decision-tree-conditional-probability

經(jīng)典決策樹對(duì)比

經(jīng)典決策樹有ID3、C4.5以及CART樹,其功能和學(xué)習(xí)過程各有異同,簡(jiǎn)單對(duì)比。

算法 分裂標(biāo)準(zhǔn) 樹類型 特征類型 缺失 剪枝 任務(wù)
ID3 信息增益 多叉 離散 No 無剪枝 分類
C4.5 信息增益比 多叉 離散/連續(xù) Yes 有剪枝 分類
CART 基尼系數(shù) 二叉 離散/連續(xù) Yes 有剪枝 分類/回歸

一些其它差異

  • C4.5優(yōu)化ID3,主要體現(xiàn)在節(jié)點(diǎn)分支計(jì)算方式,解決ID3偏向取值較多的屬性
  • 特征使用,多分的ID3和C4.5分類變量只使用一次,CART可多次使用
  • CART回歸任務(wù),用平方誤差最小準(zhǔn)則選特征,用樣本點(diǎn)均值做回歸預(yù)測(cè)值

C4.5如何處理連續(xù)特征

連續(xù)值不再有限,不能直接取其可能取值劃分,可采用二分法(bi-partition)。給定樣本集D和連續(xù)屬性a,其有n個(gè)不同取值,從小到大排序得\{a^1, a^2, \dots, a^n\},則劃分點(diǎn)可以依次選取測(cè)試

T_a=\big\{\frac{a^i + a^{i+1}}{2}|1\le i\le n-1\big\}

注意,與離散屬性不同,若當(dāng)前節(jié)點(diǎn)劃分屬性為連續(xù)特征,該屬性還可作其為后代節(jié)點(diǎn)的劃分屬性。

如何剪枝

一般分為預(yù)剪枝和后剪枝兩種。

  • 預(yù)剪枝:決策樹生成過程中,在節(jié)點(diǎn)劃分前評(píng)估,若當(dāng)前節(jié)點(diǎn)劃分不能帶來泛化性能提升,則停止劃分并將當(dāng)前節(jié)點(diǎn)標(biāo)記為葉子節(jié)點(diǎn)
  • 后剪枝:對(duì)完全生長(zhǎng)的決策樹,自底向上對(duì)非葉子節(jié)點(diǎn)考察,若將節(jié)點(diǎn)對(duì)應(yīng)子樹替換為葉子節(jié)點(diǎn)能帶來泛化性能提升,則將子樹替換為葉子節(jié)點(diǎn)

預(yù)剪枝降低過擬合風(fēng)險(xiǎn),基于“貪心思想”,也會(huì)帶來欠擬合的風(fēng)險(xiǎn);后剪枝欠擬合風(fēng)險(xiǎn)小,但訓(xùn)練時(shí)間開銷比未剪枝或預(yù)剪枝大的多。

如何處理缺失值

在XGBoost里,做法是這樣的。在每個(gè)節(jié)點(diǎn)上都會(huì)將含缺失值樣本往左右分支各倒流一次,然后計(jì)算對(duì)Objective的影響,選效果好的方向,作為缺失值應(yīng)該流向的方向。

比如特征A(A>0或A<=0或A=null),那么首先忽略含缺失值樣本,正常樣本導(dǎo)流到到左子樹與右子樹;將含缺失值樣本導(dǎo)向左子樹,計(jì)算Objective_L;將含缺失值樣本導(dǎo)向右子樹,計(jì)算Objective_R。選擇Objective較小的方向,作為缺失值應(yīng)該分流的方向。

樹何時(shí)終止生長(zhǎng)

常見的幾種終止條件有

  • 葉子節(jié)點(diǎn)里樣本類別都相同
  • 葉子節(jié)點(diǎn)里樣本數(shù)量少于某下限
  • 樹高度達(dá)某上限
  • 分裂收益低于某下限
  • 沒有更多特征

附錄信息

信息熵,表示隨機(jī)變量的不確定性。

H(p) = -\sum_{i=1}^n p_ilog(p_i)

其中

0 \le H(p) \le log(n)

條件熵,表示在已知隨機(jī)變量X的情況下Y的不確定性。

H(Y|X) = \sum_{i=1}^n p_i H(Y|X=x_i)

其中

p_i = P(X = x_i), i=1,\dots, n

信息增益,表示得知特征X的信息使Y不確定的減少程度。熵H(Y)與條件熵H(Y \mid X)之差稱為互信息。決策樹學(xué)習(xí)中的信息增益等級(jí)于訓(xùn)練數(shù)據(jù)集中類與特征的互信息。

g(D, A) = H(D) - H(D|A)

信息增益比,考慮信息增益相對(duì)值。訓(xùn)練數(shù)據(jù)經(jīng)驗(yàn)熵較大時(shí),信息增益偏大;信息增益偏向特征類別較多的特征。信息增益比有所矯正。

g_R(D, A) = \frac{g(D, A)}{H(D)}

基尼系數(shù),表示一個(gè)隨機(jī)變量變?yōu)槠鋵?duì)立事件的概率,也可以衡量隨機(jī)變量的不確定性。

Gini(p) = \sum_{k=1}^K p_k(1-p_k) = 1 - \sum_{k=1}^K p_k^2

如圖,基尼系數(shù)和熵之半很接近,都可以近似代表分類誤差率。

algo-decision-tree-impurity-measure
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 決策樹理論在決策樹理論中,有這樣一句話,“用較少的東西,照樣可以做很好的事情。越是小的決策樹,越優(yōu)于大的決策樹”。...
    制杖灶灶閱讀 6,066評(píng)論 0 25
  • 決策樹 1.概述 決策樹由節(jié)點(diǎn)和有向邊組成,節(jié)點(diǎn)有兩種類型,內(nèi)部節(jié)點(diǎn)和葉節(jié)點(diǎn),內(nèi)部節(jié)點(diǎn)表示一個(gè)特征或?qū)傩裕~節(jié)點(diǎn)表...
    Evermemo閱讀 2,398評(píng)論 0 1
  • 一、決策樹應(yīng)用體驗(yàn) 分類 ??從上面可以看出,決策樹對(duì)分類具有線性回歸無可比擬的優(yōu)勢(shì), 如果對(duì)未參與訓(xùn)練的數(shù)據(jù)集是...
    楊強(qiáng)AT南京閱讀 1,335評(píng)論 1 3
  • 1、模型原理 (一)原理 1、原理:引入信息熵(不確定程度)的概念,通過計(jì)算各屬性下的信息增益程度(信息增益越大,...
    Python_Franklin閱讀 12,635評(píng)論 0 17
  • 一. 決策樹(decision tree):是一種基本的分類與回歸方法,此處主要討論分類的決策樹。在分類問題中,表...
    YCzhao閱讀 2,304評(píng)論 0 2

友情鏈接更多精彩內(nèi)容