機器學習 樹的剪枝策略

2021-08-21 22:40:31 字數 2615 閱讀 8877

決策樹剪枝分前剪枝(預剪枝)和後剪枝兩種形式.

決策樹為什麼(why)要剪枝?原因是避免決策樹過擬合(overfitting)樣本。前面的演算法生成的決策樹非常詳細並且龐大,每個屬性都被詳細地加以考慮,決策樹的樹葉節點所覆蓋的訓練樣本都是「純」的。因此用這個決策樹來對訓練樣本進行分類的話,你會發現對於訓練樣本而言,這個樹表現完好,誤差率極低且能夠正確得對訓練樣本集中的樣本進行分類。訓練樣本中的錯誤資料也會被決策樹學習,成為決策樹的部分,但是對於測試資料的表現就沒有想象的那麼好,或者極差,這就是所謂的過擬合(overfitting)問題。quinlan教授試驗,在資料集中,過擬合的決策樹的錯誤率比經過簡化的決策樹的錯誤率要高。

preprune:預剪枝,及早的停止樹增長。

通過提前停止樹的構造進行剪枝.

後剪枝的剪枝過程是刪除一些子樹,然後用其葉子節點代替,這個葉子節點所標識的類別通過大多數原則(majority class criterion)確定。所謂大多數原則,是指剪枝過程中, 將一些子樹刪除而用葉節點代替,這個葉節點所標識的類別用這棵子樹中大多數訓練樣本所屬的類別來標識,所標識的類 稱為majority class ,(majority class 在很多英文文獻中也多次出現)。

後剪枝首先通過完全**構造完整的決策樹,允許過擬合,然後採取一定的策略來進行剪枝,常用的後剪枝策略包括:

使用訓練集合(training set)和驗證集合(validation set),來評估剪枝方法在修剪結點上的效用

使用所有的訓練集合進行訓練,但是用統計測試來估計修剪特定結點是否會改善訓練集合外的資料的評估效能,如使用chi-square(quinlan,1986)測試來進一步擴充套件結點是否能改善整個分類資料的效能,還是僅僅改善了當前訓練集合資料上的效能。

使用明確的標準來衡量訓練樣例和決策樹的複雜度,當編碼長度最小時,停止樹增長,如mdl(minimum description length)準則。

我們先看下使用思路一來解決問題的集中後剪枝方法:

自底向頂剪枝

該剪枝方法考慮將書上的每個節點作為修剪的候選物件,決定是否修剪這個結點有如下步驟組成:

1:刪除以此結點為根的子樹

2:使其成為葉子結點

3:賦予該結點關聯的訓練資料的最常見分類

4:當修剪後的樹對於驗證集合的效能不會比原來的樹差時,才真正刪除該結點

因為訓練集合的過擬合,使得驗證集合資料能夠對其進行修正,反覆進行上面的操作,從底向上的處理結點,刪除那些能夠最大限度的提高驗證集合的精度的結點,直到進一步修剪有害為止(有害是指修剪會減低驗證集合的精度)

rep是最簡單的後剪枝方法之一,不過在資料量比較少的情況下,rep方法趨於過擬合而較少使用。這是因為訓練資料集合中的特性在剪枝過程中被忽略,所以在驗證資料集合比訓練資料集合小的多時,要注意這個問題。

儘管rep有這個缺點,不過rep仍然作為一種基準來評價其它剪枝演算法的效能。它對於兩階段決策樹學習方法的優點和缺點提供了了乙個很好的學習思路。由於驗證集合沒有參與決策樹的建立,所以用rep剪枝後的決策樹對於測試樣例的偏差要好很多,能夠解決一定程度的過擬合問題。

具體看

出現標準差,是因為我們的子樹的錯誤個數是乙個隨機變數,經過驗證可以近似看成是二項分布,就可以根據二項分布的標準差公式算出標準差,就可以確定是否應該剪掉這個樹枝了。子樹中有n的例項,就是進行n次試驗,每次實驗的錯誤的概率為e,符合b(n,e)的二項分布,根據公式,均值為ne,方差為ne(1-e),標準差為方差開平方。

在上面這個例子中

剪枝前:error=(7+3*0.5)/16

mean = n*e = 8.5

std = sqrt(error*(1-error)*n) =

剪枝後:將t4的所有子樹剪掉之後,根據大多數原則重新計算錯分率,假設仍有7個樣本誤分。

error_mean = (7+0.5)=7.5

判斷:7.5 > 8.5-2

所以不剪枝

該演算法被認為是當前決策樹後剪枝演算法中經度比較高的演算法之一,但是仍存在有缺陷。首先,pep演算法是唯一使用top-down剪枝策略,這種策略會導致與預剪枝出現同樣的問題,將該結點的某子節點不需要被剪枝時被剪掉;另外pep方法會有剪枝失敗的情況出現。

雖然pep方法存在一些侷限性,但是在實際應用中表現出了較高的精度,。兩外pep方法不需要分離訓練集合和驗證機和,對於資料量比較少的情況比較有利。再者其剪枝策略比其它方法相比效率更高,速度更快。因為在剪枝過程中,樹中的每顆子樹最多需要訪問一次,在最壞的情況下,它的計算時間複雜度也只和非剪枝樹的非葉子節點數目成線性關係。

cart用的就是ccp剪枝。

最後一句話感覺是ccp的重點,得到的最優決策樹可能並不是原決策樹的所有可能子樹,有可能出現新的決策樹。

機器學習基礎(五十一) 決策樹的剪枝

使用一般的尋量方法得到的決策樹會遇到乙個問題,那就是決策樹可能會變得過擬合 overfitted 也就是說,它可能會變得過分針對訓練資料。專門針對訓練集所建立出來的分支,其熵值與真實情況相比,可能會有所降低,但因決策樹上的判斷條件其實是完全隨意的,因此一棵過擬合的決策樹所給出的答案也許會比實際情況更...

機器學習策略

機器學習 machine learning 今天下午,人工智慧老師剛講完機器學習,一想到3月份藍傑那邊上課的時候也通過機器學習的內容,像貝葉斯分類,貝葉斯選擇器之類的,而我自己也沒有系統地總結機器學習的知識,趁著剛吃飽飯的舒服勁,來寫一篇關於機器學習的部落格。what is machine lear...

機器學習策略

翻譯很貼近它要表達的意思 恩達舉的例子 查準率的定義是在你的分類器標記為貓的例子中,有多少真的是貓。所以如果分類器a有95 的查準率,這意味著你的分類器說這圖有貓的時候,有95 的機會真的是貓。查全率就是,對於所有真貓的,你的分類器正確識別出了多少百分比。實際為貓的中,有多少被系統識別出來?如果分類...