決策樹原理介紹

決策樹(decision tree)是一類常見的機器學習方法,目的是爲了產生一棵泛化能力強,即處理未見示例能力強的決策樹。算法

決策樹的生成是一個遞歸的過程。在決策樹的基本算法中,有三種狀況會致使遞歸返回:(1)當前節點包含的樣本全屬於同一類別,無需劃分;(2)當前屬性集爲空,或是全部樣本在全部屬性上取值相同,沒法劃分;(3)當前節點包含的樣本集爲空,不能劃分。機器學習

劃分選擇

決策樹學習的關鍵在於,在每一個分裂節點處如何選擇最優劃分屬性。通常而言,隨着劃分過程不斷進行,咱們但願決策樹的分支節點所包含的樣本儘量屬於同一類別,即節點的「純度」愈來愈高。函數

ID3決策樹

信息增益

「信息熵」(information entropy)是度量樣本集合純度最經常使用的一種指標。性能

其中pi是S屬於類別i的比例,須要注意的是底數仍然爲2,緣由熵是以二進制位的個數來度量編碼長度,同時注意,若是目標屬性具備c個可能值,那麼熵最大可能爲log2(c)。學習

已經有了熵做爲衡量訓練樣例集合純度的標準,如今能夠定義屬性分類訓練數據的效力的度量標準。這個標準被稱爲「信息增益(information gain)」。簡單的說,一個屬性的信息增益就是因爲使用這個屬性分割樣例而致使的指望熵下降(或者說,樣本按照某屬性劃分時形成熵減小的指望,我的結合前面理解,總結爲用來衡量給定的屬性區分訓練樣例的能力)。更精確地講,一個屬性A相對樣例集合S的信息增益Gain(S,A)被定義爲:測試

 

C4.5決策樹

增益率

實際上,信息增益準則對可取值數目較多的屬性有所偏好,爲減小這種偏好可能帶來的不利影響,C4.5決策樹算法不直接使用信息增益,而是使用「增益率」(gain ratio)來選擇最優劃分屬性。信息增益率的計算相關公式:編碼

需注意的是,信息增益率對可取值數目較少的屬性有所偏好,所以,C4.5算法並非直接選擇增益率最大的候選劃分屬性,而是使用了一個啓發式的方法:先從候選劃分屬性中找出信息增益高於平均水平的屬性,再從中選擇增益率最高的。3d

剪枝處理

剪枝(pruning)是決策樹學習算法對付「過擬合」的主要手段。在決策樹學習中,爲了儘量正確分類訓練樣本,節點劃分過程不斷重複,有時會形成決策樹分支過多,這時就可能因訓練樣本學得「太好」了,以致於把訓練樣本自身的一些特色看成全部數據都具備的通常性質而致使過擬合。所以,可經過主動去掉一些分支來下降過擬合的風險。orm

決策樹剪枝的基本策略有「預剪枝」和「後剪枝」。預剪枝是指在決策樹生成的過程當中,對每一個節點在劃分前先進行估計,若當前節點的劃分不能帶來決策樹泛化性能的提高,則中止劃分並將當前節點標記爲葉節點;後剪枝則是先從訓練集生成一棵完整的決策樹,而後自底向上地對非葉節點進行考察,若將該節點對應的子樹替換爲葉節點能帶來決策樹泛化性能提高,則將該子樹替換爲葉節點。blog

那如何判斷決策樹泛化性能是否提高呢?可使用留出法,即預留一部書數據用做「驗證集」以進行性能評估。

預剪枝

預剪枝使得決策樹的不少分支都沒有「展開」,這不只下降了過擬合的風險,還顯著減小了決策樹的訓練時間開銷和測試時間開銷。但另外一方面,有些分支的當前劃分雖不能提高泛化性能,甚至可能致使泛化性能暫時降低,但在其基礎上進行的後續劃分卻有可能致使性能顯著提升;預剪枝基於「貪心」本質禁止了這些分支展開,給預剪枝決策樹帶來了欠擬合的風險。

後剪枝

後剪枝決策樹一般比預剪枝決策樹保留了更多的分支。通常情形下,後剪枝決策樹的欠擬合風險很小,泛化性能每每優於預剪枝決策樹。但後剪枝過程是在生成徹底決策樹以後進行的,而且要自底向上地對樹中的全部非葉節點進行逐一考察,所以其訓練時間開銷比未剪枝決策樹和預剪枝決策樹都要大得多。

 

CART

CART(分類與迴歸樹,classification and regression tree)是一個二叉決策樹,亦即決策樹的每一個內部節點(決策節點)最多有兩個分支。

CART算法由如下兩步組成:

(1)決策樹生成:基於訓練數據集生成決策樹,生成的決策樹要儘可能大;

(2)決策樹剪枝:用驗證數據集對已生成的樹進行剪枝並選擇最優子樹,這時用損失函數最小做爲剪枝的標準。

CART生成

決策樹的生成就是遞歸地構建二叉決策樹的過程,對迴歸樹用平方偏差最小化準則,對分類樹用基尼指數(Gini index)最小化準則,進行特徵選擇,生成二叉樹。

迴歸樹的生成

選擇怎樣對輸入空間進行劃分,這裏採用啓發式的方法,選擇第j個變量和它取的值s,做爲切分變量和切分點,並定義兩個區域:

而後尋找最優切分變量j和最優切分點s,具體地,求解:

對固定輸入變量j能夠找到最優切分點s:

遍歷全部輸入變量,找到最優的切分變量j,構成一個對(j,s)。依此將輸入空間劃分爲兩個區域。接着,對每一個區域重複上述劃分過程,直到知足中止條件爲止,這樣就生成一棵迴歸樹。這樣的迴歸樹叫作最小二乘迴歸樹。

分類樹的生成

分類樹用基尼指數選擇最優特徵,同時決定該特徵的最優二值切分點。

CART剪枝

相關文章
相關標籤/搜索