日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

决策树的过拟合问题

發(fā)布時(shí)間:2023/11/30 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 决策树的过拟合问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

決策樹(shù)的過(guò)擬合問(wèn)題

決策樹(shù)是一種分類器,通過(guò)ID3,C4.5和CART等算法可以通過(guò)訓(xùn)練數(shù)據(jù)構(gòu)建一個(gè)決策樹(shù)。但是,算法生成的決策樹(shù)非常詳細(xì)并且龐大,每個(gè)屬性都被詳細(xì)地加以考慮,決策樹(shù)的樹(shù)葉節(jié)點(diǎn)所覆蓋的訓(xùn)練樣本都是“純”的。因此用這個(gè)決策樹(shù)來(lái)對(duì)訓(xùn)練樣本進(jìn)行分類的話,你會(huì)發(fā)現(xiàn)對(duì)于訓(xùn)練樣本而言,這個(gè)樹(shù)表現(xiàn)完好,誤差率極低且能夠正確得對(duì)訓(xùn)練樣本集中的樣本進(jìn)行分類。訓(xùn)練樣本中的錯(cuò)誤數(shù)據(jù)也會(huì)被決策樹(shù)學(xué)習(xí),成為決策樹(shù)的部分,但是對(duì)于測(cè)試數(shù)據(jù)的表現(xiàn)就沒(méi)有想象的那么好,或者極差,這就是所謂的過(guò)擬合(Overfitting)問(wèn)題。

決策樹(shù)的剪枝

決策樹(shù)的剪枝有兩種思路:預(yù)剪枝(Pre-Pruning)和后剪枝(Post-Pruning)

預(yù)剪枝(Pre-Pruning)

在構(gòu)造決策樹(shù)的同時(shí)進(jìn)行剪枝。所有決策樹(shù)的構(gòu)建方法,都是在無(wú)法進(jìn)一步降低熵的情況下才會(huì)停止創(chuàng)建分支的過(guò)程,為了避免過(guò)擬合,可以設(shè)定一個(gè)閾值,熵減小的數(shù)量小于這個(gè)閾值,即使還可以繼續(xù)降低熵,也停止繼續(xù)創(chuàng)建分支。但是這種方法實(shí)際中的效果并不好。

后剪枝(Post-Pruning)

決策樹(shù)構(gòu)造完成后進(jìn)行剪枝。剪枝的過(guò)程是對(duì)擁有同樣父節(jié)點(diǎn)的一組節(jié)點(diǎn)進(jìn)行檢查,判斷如果將其合并,熵的增加量是否小于某一閾值。如果確實(shí)小,則這一組節(jié)點(diǎn)可以合并一個(gè)節(jié)點(diǎn),其中包含了所有可能的結(jié)果。后剪枝是目前最普遍的做法。后剪枝的剪枝過(guò)程是刪除一些子樹(shù),然后用其葉子節(jié)點(diǎn)代替,這個(gè)葉子節(jié)點(diǎn)所標(biāo)識(shí)的類別通過(guò)大多數(shù)原則(majority class criterion)確定。所謂大多數(shù)原則,是指剪枝過(guò)程中, 將一些子樹(shù)刪除而用葉節(jié)點(diǎn)代替,這個(gè)葉節(jié)點(diǎn)所標(biāo)識(shí)的類別用這棵子樹(shù)中大多數(shù)訓(xùn)練樣本所屬的類別來(lái)標(biāo)識(shí),所標(biāo)識(shí)的類 稱為majority class ,(majority class 在很多英文文獻(xiàn)中也多次出現(xiàn))。

后剪枝算法

后剪枝算法有很多種,這里簡(jiǎn)要總結(jié)如下:

Reduced-Error Pruning (REP,錯(cuò)誤率降低剪枝)

這個(gè)思路很直接,完全的決策樹(shù)不是過(guò)度擬合么,我再搞一個(gè)測(cè)試數(shù)據(jù)集來(lái)糾正它。對(duì)于完全決策樹(shù)中的每一個(gè)非葉子節(jié)點(diǎn)的子樹(shù),我們嘗試著把它替換成一個(gè)葉子節(jié)點(diǎn),該葉子節(jié)點(diǎn)的類別我們用子樹(shù)所覆蓋訓(xùn)練樣本中存在最多的那個(gè)類來(lái)代替,這樣就產(chǎn)生了一個(gè)簡(jiǎn)化決策樹(shù),然后比較這兩個(gè)決策樹(shù)在測(cè)試數(shù)據(jù)集中的表現(xiàn),如果簡(jiǎn)化決策樹(shù)在測(cè)試數(shù)據(jù)集中的錯(cuò)誤比較少,那么該子樹(shù)就可以替換成葉子節(jié)點(diǎn)。該算法以bottom-up的方式遍歷所有的子樹(shù),直至沒(méi)有任何子樹(shù)可以替換使得測(cè)試數(shù)據(jù)集的表現(xiàn)得以改進(jìn)時(shí),算法就可以終止。

Pessimistic Error Pruning (PEP,悲觀剪枝)

PEP剪枝算法是在C4.5決策樹(shù)算法中提出的, 把一顆子樹(shù)(具有多個(gè)葉子節(jié)點(diǎn))用一個(gè)葉子節(jié)點(diǎn)來(lái)替代(我研究了很多文章貌似就是用子樹(shù)的根來(lái)代替)的話,比起REP剪枝法,它不需要一個(gè)單獨(dú)的測(cè)試數(shù)據(jù)集。

PEP算法首先確定這個(gè)葉子的經(jīng)驗(yàn)錯(cuò)誤率(empirical)為(E+0.5)/N,0.5為一個(gè)調(diào)整系數(shù)。對(duì)于一顆擁有L個(gè)葉子的子樹(shù),則子樹(shù)的錯(cuò)誤數(shù)和實(shí)例數(shù)都是就應(yīng)該是葉子的錯(cuò)誤數(shù)和實(shí)例數(shù)求和的結(jié)果,則子樹(shù)的錯(cuò)誤率為e,這個(gè)e后面會(huì)用到

子樹(shù)的錯(cuò)誤率然后用一個(gè)葉子節(jié)點(diǎn)替代子樹(shù),該新葉子節(jié)點(diǎn)的類別為原來(lái)子樹(shù)節(jié)點(diǎn)的最優(yōu)葉子節(jié)點(diǎn)所決定(這句話是從一片論文看到的,但是論文沒(méi)有講什么是最優(yōu),通過(guò)參考其他文章,貌似都是把子樹(shù)的根節(jié)點(diǎn)作為葉子,也很形象,就是剪掉所有根以下的部分),J為這個(gè)替代的葉子節(jié)點(diǎn)的錯(cuò)判個(gè)數(shù),但是也要加上0.5,即KJ+0.5。最終是否應(yīng)該替換的標(biāo)準(zhǔn)為:

被替換子樹(shù)的錯(cuò)誤數(shù)-標(biāo)準(zhǔn)差 > 新葉子錯(cuò)誤數(shù)

出現(xiàn)標(biāo)準(zhǔn)差,是因?yàn)槲覀兊淖訕?shù)的錯(cuò)誤個(gè)數(shù)是一個(gè)隨機(jī)變量,經(jīng)過(guò)驗(yàn)證可以近似看成是二項(xiàng)分布,就可以根據(jù)二項(xiàng)分布的標(biāo)準(zhǔn)差公式算出標(biāo)準(zhǔn)差,就可以確定是否應(yīng)該剪掉這個(gè)樹(shù)枝了。子樹(shù)中有N的實(shí)例,就是進(jìn)行N次試驗(yàn),每次實(shí)驗(yàn)的錯(cuò)誤的概率為e,符合B(N,e)的二項(xiàng)分布,根據(jù)公式,均值為Ne,方差為Ne(1-e),標(biāo)準(zhǔn)差為方差開(kāi)平方。(二項(xiàng)分布的知識(shí)在文章最后)網(wǎng)上找到這個(gè)案例,來(lái)自西北工業(yè)大學(xué)的一份PPT,我個(gè)人覺(jué)得PPT最后的結(jié)論有誤

PEP案例

這個(gè)案例目的是看看T4為根的整個(gè)這顆子樹(shù)是不是可以被剪掉。樹(shù)中每個(gè)節(jié)點(diǎn)有兩個(gè)數(shù)字,左邊的代表正確,右邊代表錯(cuò)誤。比如T4這個(gè)節(jié)點(diǎn),說(shuō)明覆蓋了訓(xùn)練集的16條數(shù)據(jù),其中9條分類正確,7條分類錯(cuò)誤。我們先來(lái)計(jì)算替換標(biāo)準(zhǔn)不等式中,關(guān)于子樹(shù)的部分:子樹(shù)有3個(gè)葉子節(jié)點(diǎn),分別為T7、T8、T9,因此L=3子樹(shù)中一共有16條數(shù)據(jù)(根據(jù)剛才算法說(shuō)明把三個(gè)葉子相加),所以N=16子樹(shù)一共有7條錯(cuò)誤判斷,所以E=7那么根據(jù)e的公式e=(7+0.5×3)/ 16 = 8.5 /16 = 0.53根據(jù)二項(xiàng)分布的標(biāo)準(zhǔn)差公式,標(biāo)準(zhǔn)差為(16×0.53×(1-0.53))^0.5 = 2.00子樹(shù)的錯(cuò)誤數(shù)為“所有葉子實(shí)際錯(cuò)誤數(shù)+0.5調(diào)整值” = 7 + 0.5×3 = 8.5把子樹(shù)剪枝后,只剩下T4,T4的錯(cuò)誤數(shù)為7+0.5=7.5這樣, 8.5-2 < 7.5, 因此不滿足剪枝標(biāo)準(zhǔn),不能用T4替換整個(gè)子樹(shù)。

Cost-Complexity Pruning(CCP,代價(jià)復(fù)雜度剪枝)

CART決策樹(shù)算法中用的就是CCP剪枝方法。也是不需要額外的測(cè)試數(shù)據(jù)集。

Minimum Error Pruning(MEP)
Critical Value Pruning(CVP)
Optimal Pruning(OPP)
Cost-Sensitive Decision Tree Pruning(CSDTP)

附錄

二項(xiàng)分布 Binomial Distribution

考察由n次隨機(jī)試驗(yàn)組成的隨機(jī)現(xiàn)象,它滿足以下條件:

  • 重復(fù)進(jìn)行n次隨機(jī)試驗(yàn);
  • n次試驗(yàn)相互獨(dú)立;
  • 每次試驗(yàn)僅有兩個(gè)可能結(jié)果;
  • 每次試驗(yàn)成功的概率為p,失敗的概率為1-p。

在上述四個(gè)條件下,設(shè)X表示n次獨(dú)立重復(fù)試驗(yàn)中成功出現(xiàn)的次數(shù),顯然X是可以取0,1,…,n等n+1個(gè)值的離散隨機(jī)變量,且它的概率函數(shù)為:

二項(xiàng)分布概率公式

這個(gè)分布稱為二項(xiàng)分布,記為b(n,p)。

  • 二項(xiàng)分布的均值:E(X)=np
  • 二項(xiàng)分布的方差:Var(X)=np(1-p)。
  • 標(biāo)準(zhǔn)差就是方差開(kāi)平方

舉個(gè)例子比較好理解。扔好多次硬幣就是一個(gè)典型的二項(xiàng)分布,符合四項(xiàng)條件:

  • 扔硬幣看正反面是隨機(jī)的,我們重復(fù)進(jìn)行好多次,比如扔5次
  • 每次扔的結(jié)果沒(méi)有前后關(guān)聯(lián),相互獨(dú)立
  • 每次扔要么正面,要么反面
  • 每次正面(看作成功)概率1/2, 反面(看作失敗)概率1-1/2 = 1/2 ,即這里p=0.5

于是這個(gè)實(shí)驗(yàn)就符合B(5,0.5)的二項(xiàng)分布。那么計(jì)算扔5次硬幣,出現(xiàn)2次正面的概率,就可以帶入公式來(lái)求:P(X=2)= C(5,2)×(0.5)2×(0.5)3 = 31.25%這個(gè)實(shí)驗(yàn)的的期望(均值)為np=5×0.5=2.5,意思是:每扔5次,都記錄正面次數(shù),然后扔了好多好多的“5次”,這樣平均的正面次數(shù)為2.5次這個(gè)實(shí)驗(yàn)的方差為np(1-p)=5×0.5×0.5=1.25,表示與均值的誤差平方和,表示波動(dòng)情況。多說(shuō)一句,二項(xiàng)分布在n很大時(shí),趨近于正態(tài)分布。

作者:程sir 鏈接:http://www.jianshu.com/p/794d08199e5e 來(lái)源:簡(jiǎn)書(shū) 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的决策树的过拟合问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。