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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

决策树准确率低原因_机器学习决策树算法--剪枝算法

發(fā)布時(shí)間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 决策树准确率低原因_机器学习决策树算法--剪枝算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、剪枝算法決策樹生成算法遞歸地產(chǎn)生決策樹,直到不能繼續(xù)下去為止。這樣產(chǎn)生的樹往往對(duì)訓(xùn)練數(shù)據(jù)的分類很準(zhǔn)確,但對(duì)未知的測(cè)試數(shù)據(jù)的分類卻沒有那么準(zhǔn)確,即出現(xiàn)過擬合現(xiàn)象。過擬合的原因在于學(xué)習(xí)時(shí)過多地考慮如何提高對(duì)訓(xùn)練數(shù)據(jù)的正確分類,從而構(gòu)建出過于復(fù)雜的決策樹。解決這個(gè)問題的辦法是考慮決策樹的復(fù)雜度,對(duì)已生成的決策樹進(jìn)行簡(jiǎn)化。

在決策樹學(xué)習(xí)中將已生成的樹進(jìn)行簡(jiǎn)化的過程稱為剪枝(Pruning)。具體地,剪枝從已生成的樹上裁掉一些子樹或葉結(jié)點(diǎn),并將其根結(jié)點(diǎn)或父結(jié)點(diǎn)作為新的葉結(jié)點(diǎn),從而簡(jiǎn)化分類樹模型。

決策樹的剪枝往往通過極小化決策樹整體的損失函數(shù)(Loss Function)或代價(jià)函數(shù)(Cost Function)來實(shí)現(xiàn)。設(shè)樹的葉結(jié)點(diǎn)個(gè)數(shù)為||,t是樹的葉結(jié)點(diǎn),該葉結(jié)點(diǎn)有個(gè)樣本點(diǎn),其中k類的樣本點(diǎn)有個(gè),=1,2,?,,()為葉結(jié)t點(diǎn)上的經(jīng)驗(yàn)熵,≥0為參數(shù),則決策樹學(xué)習(xí)的損失函數(shù)可以定義為:

()=∑=1||()+||其中經(jīng)驗(yàn)熵為:

()=?∑log在損失函數(shù)中,記:

()=∑=1||()=?∑=1||∑=1log這時(shí)有:

()=()+||上式中,()表示模型對(duì)訓(xùn)練數(shù)據(jù)的預(yù)測(cè)誤差,即模型與訓(xùn)練數(shù)據(jù)的擬合程度,||表示模型復(fù)雜度,也稱正則項(xiàng),參數(shù)>0控制兩者之間的影響。較大的促使選擇較簡(jiǎn)單的模型(樹),較小的促使選擇較復(fù)雜的模型(樹)。=0意味著只考慮模型與訓(xùn)練數(shù)據(jù)的擬合程度,不考慮模型的復(fù)雜度。

剪枝,就是當(dāng)確定時(shí),選擇損失函數(shù)最小的模型,即損失函數(shù)最小的子樹。當(dāng)值確定時(shí),子樹越大,往往與訓(xùn)練數(shù)據(jù)的擬合越好,但是模型的復(fù)雜度就越髙;相反,子樹越小,模型的復(fù)雜度就越低,但是往往與訓(xùn)練數(shù)據(jù)的擬合不好。損失函數(shù)正好表示了對(duì)兩者的平衡.

可以看出,決策樹生成只考慮了通過提高信息增益(或信息增益比)對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行更好的擬合。而決策樹剪枝通過優(yōu)化損失函數(shù)還考慮了減小模型復(fù)雜度。決策樹生成學(xué)習(xí)局部的模型,而決策樹剪枝學(xué)習(xí)整體的模型。

二、決策樹剪枝過程

樹的剪枝算法

? 輸入:生成算法產(chǎn)生的整個(gè)樹,參數(shù):

? 輸出:修剪后的子樹。

? (1) 計(jì)算每個(gè)結(jié)點(diǎn)的經(jīng)驗(yàn)熵;

? (2) 遞歸地從樹的葉結(jié)點(diǎn)向上回縮。設(shè)一組葉結(jié)點(diǎn)回縮到其父結(jié)點(diǎn)之前與之后的整體樹分別為和,其對(duì)應(yīng)的損失函數(shù)值分別是()與(),如果()?(),則進(jìn)行剪枝,即將父結(jié)點(diǎn)變?yōu)樾碌娜~結(jié)點(diǎn)。

? (3) 返回(2),直至不能繼續(xù)為止,得到損失函數(shù)最小的子樹。

三、CART 樹分類與回歸樹(Classification And Regression Tree, CART)模型由Breiman等人在1984年提出,是應(yīng)用廣泛的決策樹學(xué)習(xí)方法。CART同樣由特征選擇、樹的生成及剪枝組成,既可以用于分類也可以用于回歸。以下將用于分類與回歸的樹統(tǒng)稱為決策樹。

CART是在給定輸入隨機(jī)變量X條件下輸出隨機(jī)變量Y的條件概率分布的學(xué)習(xí)方法。CART假設(shè)決策樹是二叉樹,內(nèi)部結(jié)點(diǎn)特征的取值為“是”和“否”,左分支是取值為“是”的分支,右分支是取值為“否”的分支。這樣的決策樹等價(jià)于遞歸地二分每個(gè)特征,將輸入空間即特征空間劃分為有限個(gè)單元,并在這些單元上確定預(yù)測(cè)的概率分布,也就是在輸入給定的條件下輸出的條件概率分布。

CART算法由以下兩步組成:

? (1) 決策樹生成:基于訓(xùn)練數(shù)據(jù)集生成決策樹,生成的決策樹要盡量大;

? (2) 決策樹剪枝:用驗(yàn)證數(shù)據(jù)集對(duì)己生成的樹進(jìn)行剪枝并選擇最優(yōu)子樹,這時(shí)用損失函數(shù)最小作為剪枝的標(biāo)準(zhǔn)。

CART 生成決策樹的生成就是遞歸地構(gòu)建二叉決策樹的過程。對(duì)回歸樹用平方誤差最小化準(zhǔn)則,對(duì)分類樹用基尼指數(shù)(Gini Index)最小化準(zhǔn)則,進(jìn)行特征選擇,生成二叉樹。

回歸樹的生成假設(shè)X與Y分別為輸入和輸出變量,并且Y是連續(xù)變量,給定訓(xùn)練數(shù)據(jù)集

={(1,1),(2,2),?,(,)}一個(gè)回歸樹對(duì)應(yīng)著輸入空間(即特征空間)的一個(gè)劃分以及在劃分的單元上的輸出值。假設(shè)已將輸入空間劃分為M個(gè)單元,1,2,?,,并且在每個(gè)單元上有一個(gè)固定的輸出值,于是回歸樹模型可表示為:

()=∑=1(∈)當(dāng)輸入空間的劃分確定時(shí),可以用平方誤差∑∈(?())2來表示回歸樹對(duì)于訓(xùn)練數(shù)據(jù)的預(yù)測(cè)誤差,用平方誤差最小的準(zhǔn)求解每個(gè)單元上的最優(yōu)輸出值。易知,單元上的的最優(yōu)值? 是的所有輸入實(shí)例對(duì)應(yīng)的輸出的均值,即:

? =(∣∈)采用啟發(fā)式的方法對(duì)輸入空間進(jìn)行劃分,選擇第j個(gè)變量()和它取的值s,作為切分變量(Splitting Variable)和切分點(diǎn)(Splitting Point), 并定義兩個(gè)區(qū)域:

1(,)={∣()≤}和2(,)={∣()>}然后尋找最優(yōu)切分變量j和最優(yōu)切分點(diǎn)s,具體地,求解

,[1∑∈1(,)(?1)2+2∑∈2(,)(?2)2]對(duì)固定輸入變量j可以找到最優(yōu)切分點(diǎn)s。

? 1=(∣∈1(,))和? 2=(∣∈2(,))遍歷所有輸入變量,找到最優(yōu)的切分變量j,構(gòu)成一個(gè)對(duì)(,)。依此將輸入空間劃分為兩個(gè)區(qū)域。接著,對(duì)每個(gè)區(qū)域重復(fù)上述劃分過程,直到滿足停止條件為止。這樣就生成一棵回歸樹。這樣的回歸樹通常稱為最小二乘回歸樹(Least Squares Regression Tree)。

分類樹的生成分類樹用基尼指數(shù)選擇最優(yōu)特征,同時(shí)決定該特征的最有二值分割點(diǎn)。

在分類問題中,假設(shè)有K個(gè)類,樣本點(diǎn)屬于第k類的概率為,則概率分布的基尼指數(shù)定義為:

()=∑=1(1?)=1?∑=12對(duì)于二分類問題,若樣本點(diǎn)屬于第一個(gè)類的概率是p,則概率分部的基尼指數(shù)為:

()=2(1?)對(duì)于給定的樣本集合,其基尼指數(shù)為:

()=1?∑=1(||||)2這里,是中屬于第k類的樣本子集,K是類的個(gè)數(shù)。

如果樣本集合根據(jù)特征是否取某一可能值被分割成1和2兩部分,即:

1={(,)∈∣()=},2=?1則在特征的條件下,集合的基尼指數(shù)定義為:

(,)=|1|||(1)+|2|||(2)基尼指數(shù)()表示集合的不確定性,基尼指數(shù)(,)表示經(jīng)?=?分割后集合的不確定性。基尼指數(shù)值越大,樣本集合的不確定性也就越大,這一點(diǎn)與熵相似。

CART生成算法

? 輸入:訓(xùn)練數(shù)據(jù)集,停止計(jì)算的條件;

? 輸出:CART決策樹。

? 根據(jù)訓(xùn)練數(shù)據(jù)集,從根結(jié)點(diǎn)開始,遞歸地對(duì)每個(gè)結(jié)點(diǎn)進(jìn)行以下操作,構(gòu)建二叉決策樹:

? (1) 設(shè)結(jié)點(diǎn)的訓(xùn)練數(shù)據(jù)集為,計(jì)算現(xiàn)有特征對(duì)該數(shù)據(jù)集的基尼指數(shù)。此時(shí),對(duì)每一個(gè)特征對(duì)其可能取的每個(gè)值,根據(jù)樣本點(diǎn)對(duì)=的測(cè)試為“是”或 “否”將分割成1和2兩部分,計(jì)算=時(shí)的基尼指數(shù)。

? (2) 在所有可能的特征以及它們所有可能的切分點(diǎn)中,選擇基尼指數(shù)最小的特征及其對(duì)應(yīng)的切分點(diǎn)作為最優(yōu)特征與最優(yōu)切分點(diǎn)。依據(jù)最優(yōu)特征與最優(yōu)切分點(diǎn),從現(xiàn)結(jié)點(diǎn)生成兩個(gè)子結(jié)點(diǎn),將訓(xùn)練數(shù)據(jù)集依特征分配到兩個(gè)子結(jié)點(diǎn)中去。

? (3) 對(duì)兩個(gè)子結(jié)點(diǎn)遞歸地調(diào)用上述操作,直至滿足停止條件為止。

? (4) 生成CART決策樹。

算法停止計(jì)算的條件是結(jié)點(diǎn)中的樣本個(gè)數(shù)小于預(yù)定閾值,或樣本集的基尼指數(shù)小于預(yù)定閾值(樣本基本屬于同一類),或者沒有更多特征。

CART 剪枝CART剪枝算法從“完全生長(zhǎng)”的決策樹的底端剪去一些子樹,使決策樹變小(模型變簡(jiǎn)單),從而能夠?qū)ξ粗獢?shù)據(jù)有更準(zhǔn)確的預(yù)測(cè),提高模型泛化能力。CART剪枝算法由兩步組成:首先從生成算法產(chǎn)生的決策樹0底端開始不斷剪枝,直到0的根結(jié)點(diǎn),形成一個(gè)子樹序列{0,1,?,};然后通過交叉驗(yàn)證法在獨(dú)立的驗(yàn)證數(shù)據(jù)集上對(duì)子樹序列進(jìn)行測(cè)試,從中選擇最優(yōu)子樹。

在剪枝過程中,計(jì)算子樹的損失函數(shù):

()=()+||其中,為任意子樹,()為對(duì)訓(xùn)練數(shù)據(jù)的預(yù)測(cè)誤差(如基尼指數(shù)),||為子樹的葉結(jié)點(diǎn)個(gè)數(shù),為參數(shù),()為參數(shù)是時(shí)的子樹的整體損失。參數(shù)權(quán)衡訓(xùn)練數(shù)據(jù)的擬合程度與模型的復(fù)雜度。

對(duì)固定的,—定存在使損失函數(shù)最()小的子樹,將其表示為;在損失函數(shù)()最小的意義下是最優(yōu)的。容易驗(yàn)證這樣的最優(yōu)子樹是唯一的。當(dāng)大的時(shí)候,最優(yōu)子樹偏小;當(dāng)小的時(shí)候,最優(yōu)子樹偏大。極端情況,當(dāng)=0時(shí),整體樹是最優(yōu)的。當(dāng)→∞時(shí),根結(jié)點(diǎn)組成的單結(jié)點(diǎn)樹是最優(yōu)的。

可以用遞歸的方法對(duì)樹進(jìn)行剪枝。將從小增大,$0=a_{0}

具體地,從整體樹0開始剪枝,對(duì)0的任意內(nèi)部結(jié)點(diǎn)t,以t為單結(jié)點(diǎn)樹的損失函數(shù)是:

()=()+以t為根結(jié)點(diǎn)的子樹的損失函數(shù)是:

()=()+||當(dāng)=0及充分小時(shí),有不等式:

()

()=()當(dāng)再增大時(shí),()>(),只要=()?()||?1,與t有相同的損失函數(shù)值,而t的結(jié)點(diǎn)少,因此t比更可取,對(duì)進(jìn)行剪枝。

為此,對(duì)0中每一內(nèi)部節(jié)點(diǎn)t,計(jì)算:

()=()?()||?1它表示剪枝后整體損失函數(shù)減少的程度。在0中減去()最小的,將得到的子樹作為1,同時(shí)將減小的()設(shè)置為1。1為區(qū)間[1,2)的最優(yōu)子樹。

如此剪枝下去,直到得到根節(jié)點(diǎn)。在這一過程中,不斷地增加的值,產(chǎn)生新的區(qū)間。

在剪枝得到的子樹序列{0,1,?,}中果果交叉驗(yàn)證選取最優(yōu)子樹。

具體地,利用獨(dú)立的驗(yàn)證數(shù)據(jù)集,測(cè)試子樹序列{0,1,?,}中各棵子樹的平方誤差或基尼指數(shù)。平方誤差或基尼指數(shù)最小的決策樹被認(rèn)為是最優(yōu)的決策樹。在子樹序列中,每棵子樹{0,1,?,}都對(duì)應(yīng)一個(gè)參數(shù){0,1,?,}。所以,當(dāng)最優(yōu)子樹選定時(shí),對(duì)應(yīng)的也就確定了,即得到了最優(yōu)決策樹。

總結(jié)

以上是生活随笔為你收集整理的决策树准确率低原因_机器学习决策树算法--剪枝算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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