決策樹的剪枝操作

2021-08-03 20:39:02 字數 2581 閱讀 5589

決策樹(decision tree):在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種**法。由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。

擬合:所謂擬合是指已知某函式的若干離散函式值,通過調整該函式中若干待定係數f(λ1, λ2,…,λn),使得該函式與已知點集的差別(最小二乘意義)最小。

剪枝是指將一顆子樹的子節點全部刪掉,根節點作為葉子節點,以下圖為例:

雜訊資料:指在一組資料中無法解釋的資料變動,就是一些不和其他資料相一致的資料。這些資料可能會干擾挖掘結果的質量,對於一些雜訊敏感的挖掘演算法,這些資料可能會導致挖掘結果出現大的偏差。

置信區間:

設θ'在大樣本下服從e(θ') = θ, 標準誤差為σ'的正態分佈,那麼θ的(1 - α)100%置信區間是:

θ' +/- (zα/2) σ'

二項式概率分布:

均值和方差分別是u = np, σ2=npq ,其中p=每次實驗成功的概率, q=1-p。

二項分布的正態逼近

如果np>=4 且nq>=4 ,二項概率分布p(y)逼近於正態分佈。如下圖

可以看到p(y<=2)是在正態曲線下y=2.5的左端面積。注意到y=2的左端面積是不合適的,因為它省略了相應於y=2的一半概率的長方形。為了修正,用連續概率分布去近似離散概率分布,在計算概率之前我們需要將2增加0.5。值0.5稱為二項概率分布近似的連續性修正因子,因此

p(y<=a) 約等於p(z<  (a+0.5 - np/ ( npq)1/2)   );

p(y>=a) 約等於 p(z> (a-0.5 - np/ ( npq)1/2)   )

決策樹是充分考慮了所有的資料點而生成的複雜樹,有可能出現過擬合的情況,決策樹越複雜,過擬合的程度會越高。(理論來說,不應該是擬合程度越高,**結果越準確嘛?為什麼還要避免這種情況?)

考慮極端的情況,如果我們令所有的葉子節點都只含有乙個資料點,那麼我們能夠保證所有的訓練資料都能準確分類,但是很有可能得到高的**誤差,原因是將訓練資料中所有的雜訊資料都」準確劃分」了,強化了雜訊資料的作用。(形成決策樹的目的作出合理的**,盡可能有效的排除雜訊資料干擾,影響正確**的判斷)

剪枝修剪**前後分類誤差相差不大的子樹,能夠降低決策樹的複雜度,降低過擬合出現的概率。(換句話說就是把重負累贅的子樹用乙個根節點進行替換,也就是說跟姐的資料意義完全可以代替又該節點衍生出的子樹的所有節點的意義)

兩種方案:先剪枝和後剪枝

先剪枝說白了就是提前結束決策樹的增長,跟上述決策樹停止生長的方法一樣。

後剪枝是指在決策樹生長完成之後再進行剪枝的過程。這裡介紹兩種後剪枝方案:

方案一:rep—錯誤消減剪枝

簡單點說:該剪枝方法是根據錯誤率進行剪枝,如果一棵子樹修剪前後錯誤率沒有下降,就可以認為該子樹是可以修剪的。rep剪枝需要用新的資料集,原因是如果用舊的資料集,不可能出現**後的錯誤率比**前錯誤率要高的情況。由於使用新的資料集沒有參與決策樹的構建,能夠降低訓練資料的影響,降低過擬合的程度,提高**的準確率。

方案二:pep-悲觀剪枝法(這一部分摘自不屬於原創理論)

不需要單獨的資料集進行測試,而是通過訓練資料集上的額錯誤分類數量來估算位置實力上的錯誤率。

pep後剪枝技術是由大師quinlan提出的。它不需要像rep(錯誤率降低修剪)樣,需要用部分樣本作為測試資料,而是完全使用訓練資料來生成決策樹,又用這些訓練資料來完成剪枝。

決策樹生成和剪枝都使用訓

練集, 所以會產生錯分。現在我們先來介紹幾個定義。

t1為決策樹t的所有內部節點(非葉子節點),

t2為決策樹t的所有葉子節點,

t3為t的所有節點,有t3=t1∪t2,

n(t)為t的所有樣本數,

ni(t)為t中類別i的所有樣本數,

e(t)為t中不屬於節點t所標識類別的樣本數

在剪枝時,我們使用

r(t)=e(t)/n(t)

就是當節點被剪枝後在訓練集上的錯誤率,而

在此,我們把錯誤分布看成是二項式分布,由上面「二項分布的正態逼近」相關介紹知道,上面的式子是有偏差的,因此需要連續性修正因子來矯正資料,有

r『(t)=[e(t) + 1/2]/n(t)

為了簡單,我們就只使用錯誤數目而不是錯誤率了,如下

接著求e'(tt)的標準差,由於誤差近似看成是二項式分布,根據u = np, σ2=npq可以得到

當節點t滿足

則tt就會被裁減掉。

決策樹剪枝

剪枝是決策樹學習演算法中對付過擬合的主要手段,決策樹剪枝的基本策略有預剪枝和後剪枝 預剪枝 是指在決策樹生成過程中,對每個節點在劃分前先進行估計,若當前的劃分不能帶來泛化效能的提公升,則停止劃分,並將當前節點標記為葉節點 後剪枝 是指先從訓練集生成一顆完整的決策樹,然後自底向上對非葉節點進行考察,若...

決策樹的剪枝處理

剪枝是決策樹學習演算法解決過擬合的主要手段。在決策樹的學習過程中,為了盡可能地正確分類訓練樣本,節點劃分得不斷重複,有時候會造成決策樹的分支過多,這時候就是演算法在訓練樣本上學得太好,導致把訓練集本身的一些特點作為所有資料所有資料都有的一般性質 實際上新資料中可能沒有這些特點 從而導致過擬合。因此可...

決策樹剪枝的思想

1.決策樹剪枝 決策樹是一種分類器,通過id3,c4.5和cart等演算法可以通過訓練資料構建乙個決策樹。但是,演算法生成的決策樹非常詳細並且龐大,每個屬性都被詳細地加以考慮,決策樹的樹葉節點所覆蓋的訓練樣本都是 純 的。因此用這個決策樹來對訓練樣本進行分類的話,你會發現對於訓練樣本而言,這個樹表現...