統計學習方法 李航---第5章 決策樹


第5章 決策樹

決策樹(decision tree)是一種基本的分類與回歸方法。本章主要討論用於分類的決策樹。決策樹模型呈樹形結構,在分類問題中,表示基於特征對實例進行分類的過程。它可以認為是if-then規則的集合,也可以認為是定義在特征空間與類空間上的條件概率分布。其主要優點是模型具有可讀性,分類速度快。學習時,利用訓練數據,根據損失函數最小化的原則建立決策樹模型。預測時,對新的數據,利用決策樹模型進行分類。決策樹學習通常包括3個步驟:特征選擇、決策樹的生成和決策樹的修剪。

5.1 決策樹模型與學習

定義5.1 (決策樹) :分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點(node)和有向邊(directed edge)組成。結點有兩種類型:內部結點(internal node )和葉結點(leaf node)。內部結點表示一個特征或屬性,葉結點表示一個類。

用決策樹分類,從根結點開始,對實例的某一特征進行測試,根據測試結果,將實例分配到其子結點;這時,每一個子結點對應着該特征的一個取值。如此遞歸地對實例進行測試並分配,直至達到葉結點。最后將實例分到葉結點的類中。

圖中圓和方框分別表示內部結點和葉結點.

6d0f073f-1931-4eda-817d-576c2727c808

決策樹與if-then規則

可以將決策樹看成一個if-then規則的集合,轉換成if-then規則的過程:由決策樹的根結點到葉結點的每一條路徑構建一條規則;路徑上內部結點的特征對應着規則的條件,而葉結點的類對應着規則的結論。決策樹的路徑或其對應的if-then規則集合具有一個重要的性質:互斥並且完備,每一個實例都被一條路徑或一條規則所覆蓋,而且只被一條路徑或一條規則所覆蓋。這里所謂覆蓋是指實例的特征與路徑上的特征一致或實例滿足規則的條件。

決策樹與條件概率分布

決策樹還表示給定特征條件下類的條件概率分布。這一條件概率分布定義在特征空間的一個划分(partition)上,將特征空間划分為互不相交的單元(cell)或區域(region),並在每個單元定義一個類的概率分布就構成了一個條件概率分布。

決策樹的一條路徑對應於划分中的一個單元。決策樹所表示的條件概率分布由各個單元給定條件下類的條件概率分布組成。條件概率分布可以表示為P(Y|X),X取值於給定划分下單元的集合,Y取值於類的集合。各葉結點(單元)上的條件概率往往偏向某一個類,即屬於某一類的概率較大。決策樹分類時將該結點的實例強行分到條件概率大的那一類去。

24eb8345-4b9c-4458-9ab2-049a30e68009

決策樹學習

決策樹學習本質上是從訓練數據集中歸納出一組分類規則。可能有多個,可能沒有。我們需要的是一個與訓練數據矛盾較小的決策樹,同時具有很好的泛化能力。

從另一個角度看,決策樹學習是由訓練數據集估計條件概率模型。基於特征空間划分的類的條件概率模型有無窮多個。我們選擇的條件概率模型應該不僅對訓練數據有很好的擬合,而且對未知數據有很好的預測。

決策樹學習的損失函數:通常是正則化的極大似然函數

決策樹學習的策略:是以損失函數為目標函數的最小化

因為從所有可能的決策樹中選取最優決策樹是NP完全問題,所以現實中決策樹學習算法通常采用啟發式方法,近似求解這一最優化問題,得到的決策樹是次最優(sub-optimal)的。

決策樹學習的算法通常是一個遞歸地選擇最優特征,並根據該特征對訓練數據進行分割,使得對各個子數據集有一個最好的分類的過程。

剪枝:決策樹可能對訓練數據有很好的分類能力,但可能發生過擬合現象.。所以需要對已生成的樹自下而上進行剪枝,將樹變得更簡單,從而使它具有更好的泛化能力。具體地,就是去掉過於細分的葉結點,使其回退到父結點,甚至更高的結點,然后將父結點或更高的結點改為新的葉結點.

特征選擇:如果特征數量很多,在決策樹學習開始時對特征進行選擇,只留下對訓練數據有足夠分類能力的特征。

由於決策樹表示一個條件概率分布,所以深淺不同的決策樹對應着不同復雜度的概率模型。決策樹的生成對應模型的局部選擇,決策樹的剪枝對應於模型的全局選擇。決策樹的生成只考慮局部最優,決策樹的剪枝則考慮全局最優。

5.2 特征選擇

特征選擇問題:特征選擇在於選取對訓練數據具有分類能力的特征。通常特征選擇的准則是信息增益或信息增益比。

設有隨機變量(X,Y),其聯合概率分布為:

388db78d-cf80-4168-8c10-2ee906406585

條件嫡H(Y|X)表示在已知隨機變量X的條件下隨機變量Y的不確定性。隨機變量X給定的條件下隨機變量Y的條件嫡(conditional entropy) H(Y|X),定義為X給定條件下Y的條件概率分布的嫡對X的數學期望:

2b3bf629-53c2-483e-9918-ab6bae5e2d5481a0e7bd-2e4e-407e-8669-eaf237a73475

當嫡和條件嫡中的概率由數據估計(特別是極大似然估計)得到時,所對應的嫡與條件嫡分別稱為經驗熵( empirical entropy)和經驗條件嫡(empirical conditional entropy )。

信息增益(information gain)表示得知特征X的信息而使得類Y的信息的不確定性減少的程度.

定義5.2(信息增益):特征A對訓練數據集D的信息增益g(D,A),定義為集合D的經驗嫡H(D)與特征A給定條件下D的經驗條件嫡H(D|A)之差,即

5deb664f-c5e6-4ddb-bb95-50d2ba1bbf8c

決策樹學習中的信息增益等價於訓練數據集中類與特征的互信息。

根據信息增益准則的特征選擇方法是:對訓練數據集(或子集)D,計算其每個特征的信息增益,並比較它們的大小,選擇信息增益最大的特征。

3b9f3190-7b4b-46ee-9a57-8e4a52967ec9

48bd1836-9c3c-45c1-a1a9-47eb2abde99a

|D|表示其樣本容量,即樣本個數。設有K個類Ck,k=1,2,...,K,|Ck|為屬於類Ck的樣本個數。根據特征A的取值將D划分為n個子集D1,D2,...,Dn,|Di|為Di的樣本個數。記子集Di中屬於類Ck的樣本的集合為Dik。


信息增益值的大小是相對於訓練數據集而言的,並沒有絕對意義。在分類問題困難時,也就是說在訓練數據集的經驗嫡大的時候,信息增益值會偏大,反之,信息增益值會偏小。

定義5.3 信息增益比:特征A對訓練數據集D的信息增益比gR(D,A)定義為其信息增益g(D,A)與訓練數據集D的經驗H(D)之比:

13510f77-2f2b-4cf1-ae39-0f7a4f5e3fe8

5.3 決策樹的生成

ID3算法: ID3算法的核心是在決策樹各個結點上應用信息增益准則選擇特征。

a190b189-d8bf-400e-ab82-cb553052b86d

865248f4-913b-4179-9461-1a932a01d710

ID3算法只有樹的生成,所以該算法生成的樹容易產生過擬合

C4.5算法:與ID3算法相似,不同是用信息增益比來選擇特征。

10900fa5-d2e5-4238-92ef-dd5a04e6f207

5.4 決策樹的剪枝

決策樹的生成算法容易構建過於復雜的決策樹,產生過擬合。、

決策樹的剪枝:在決策樹學習中將已生成的樹進行簡化的過程稱為剪枝(pruning)。具體地,剪枝從已生成的樹上裁掉一些子樹或葉結點,並將其根結點或父結點作為新的葉結點,從而簡化分類樹模型.

決策樹的剪枝往往通過極小化決策樹整體的損失函數(loss fimction)或代價函數( cost function)來實現。

設樹T的葉結點個數為|T|, t是樹T的葉結點,該葉結點有Nt個樣本點,其中k類的樣本點有Ntk個,k=1,2,...,K,Ht(T)為葉結點t上的經驗嫡,a>=0為參數,則決策樹學習的損失函數可以定義為

349f0c63-7f26-4d43-945b-33bb6a0d5ae9c74a99b9-7d58-4677-8f5e-e28dd536f98c

03cece99-916b-461c-85bd-802f84ffe458531a59b1-f349-4346-a02a-8cafbfa489cc

C(T)表示模型對訓練數據的預測誤差,即模型與訓練數據的擬合程度,|T|表示平莫型復雜度,參數a>=0控制兩者之間的影響。剪枝,就是當a確定時,選擇損失函數最小的模型,即損失函數最小的子樹。損失函數正好表示了對模型的復雜度和訓練數據的擬合兩者的平衡。

決策樹生成只考慮了通過提高信息增益(或信息增益比)對訓練數據進行更好的擬合,學習局部的模型;

決策樹剪枝通過優化損失函數還考慮了減小模型復雜度,學習整體的模型。

利用損失函數最小原則進行剪枝就是用正則化的極大似然估計進行模型選擇。

78f52de0-7395-4ed2-8d6c-32b1845d39f9       73d3f3ce-f1f5-4875-94c7-31bfe1a9243e

5.5  CART算法

分類與回歸樹(classification and regression tree, CART)模型同樣由特征選擇、樹的生成及剪枝組成,既可以用於分類也可以用於回歸。  CART算法由以下兩步組成

    (1)決策樹生成:基於訓練數據集生成決策樹,牛成的決策樹要盡量大;

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

CART生成對回歸樹用平方誤差最小化准則,對分類樹用基尼指數(Gini index)最小化准則,進行特征選擇。

回歸樹的生成:

8d7e0ee5-01dc-4c4d-a883-c1b6683be8a9

分類樹的生成

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

定義5.4(基尼指數):分類問題中,假設有K個類,樣本點屬於第k類的概率為pk,則概率分布的基尼指數定義為

0dcf4c8f-b81a-4b52-b670-3bb9828a7161

對於給定的樣本集合D,其基尼指數為

ab69d6f0-8ed9-4b9f-98b0-912ed299011d

如果樣本集合D根據特征A是否取某一可能值a被分割成D1和D2兩部分,則在特征A的條件下,集合D的基尼指數定義為

43b5b907-57cc-470e-87af-94c04a450bb26692363b-4c62-4f20-9ab0-3cf9c62885b6

9e356d3d-7556-4701-b95e-6468e78c2186

CART剪枝

CART剪枝算法由兩步組成首先從生成算法產生的決策樹T0底端開始不斷剪枝,直到T0的根結點,形成一個子樹序列代{T0,T1,...,Tn};然后通過交叉驗證法在獨立的驗證數據集上對子樹序列進行測試,從中選擇最優子樹。

(1) 剪枝。形成一個子樹序列

在剪枝過程中,計算子樹的損失函數:

f6d716fb-1b66-4eb1-bf10-5939209154a4

可以用遞歸的方法對樹進行剪枝,將a從小增大,a0<a1<...<an<+無窮,產生一系列的區間[ai,ai+1),i =0,1,...,n;剪枝得到的子樹序列對應着區間[ai,ai+1),i =0,1,...,n的最優子樹序列{T0, T1, ... , Tn},序列中的子樹是嵌套的。

對T0中每一內部結點t,計算

bd45a486-8bc8-444c-a0b9-62685d053ced

表示剪枝后整體損失函數減少的程度,在T0中剪去g(t)最小的Tt,將得到的子樹作為T1,同時將最小的g(t)設為a1,T1為區間[a1,a2)的最優子樹。如此剪枝下去,直至得到根結點。在這一過程中,不斷地增加a的值,產生新的區間。

(2) 在剪枝得到的子樹序列T0, T1, ... , Tn中通過交叉驗證選取最優子樹Ta

具體地,利用獨立的驗證數據集,測試子樹序列T0, T1, ... , Tn中各棵子樹的平方誤差或基尼指數。平方誤差或基尼指數最小的決策樹被認為是最優的決策樹。在子樹序列中,每棵子樹T0, T1, ... , Tn都對應於一個參數a0, a1, ... , an。所以,當

最優子樹Tk確定時,對應的ak也確定了,即得到最優決策樹Ta。

b6aae34d-cc9c-49fa-b90c-9ea8a2e63dc1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM