决策树理论
一:思想:決策樹使用樣本的屬性作為結(jié)點(diǎn),決策樹的跟結(jié)點(diǎn)一般是信息量最大的,然后遞歸的找到各個(gè)分支下子數(shù)據(jù)集中次大的決定性特征,直至子數(shù)據(jù)集中所有特征屬于同一類,如何從這么多的特征中選擇出有價(jià)值的,并且按照最好的順序由根到葉選擇。完成了這個(gè)我們也就可以遞歸構(gòu)造一個(gè)決策樹了。
二:決策樹的學(xué)習(xí)過程,大致分為三步
???????? 1:特征選擇:指從訓(xùn)練數(shù)據(jù)中眾多的特征中選擇一個(gè)特征作為當(dāng)前節(jié)點(diǎn)的分裂標(biāo)準(zhǔn),如何選擇特征有著很多不同量化評(píng)估標(biāo)準(zhǔn)標(biāo)準(zhǔn),從而衍生出不同的決策樹算法。
? ? ? ? 2:決策樹生成: 根據(jù)選擇的特征評(píng)估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點(diǎn),直到數(shù)據(jù)集不可分則停止決策樹停止生長。 樹結(jié)構(gòu)來說,遞歸結(jié)構(gòu)是最容易理解的方式。
??????? 3:剪枝:決策樹容易過擬合,一般來需要剪枝,縮小樹結(jié)構(gòu)規(guī)模、緩解過擬合。剪枝技術(shù)有預(yù)剪枝和后剪枝兩種。
三:基于信息論的三種決策樹算法
劃分?jǐn)?shù)據(jù)集就是讓熵變的更小,從而使得數(shù)據(jù)的無序性減小,如果有8個(gè)特征,那每次選取哪一個(gè)作為劃分依據(jù)呢,因此我們需要采用量化的方法來判斷,量化方法很多,其中有一項(xiàng)就是“信息論度量信息”,基于信息論的決策樹算法有ID3,CART,C4.5等,其中CART,C4.5是從ID3衍生出來的。
四:ID3算法的思想:越是小型的決策樹越是優(yōu)于大的決策樹,ID3是根據(jù)信息論的信息增益評(píng)估和特征選擇,每次選擇信息增益最大的模塊作為特征判斷模塊。
ID3算法可用于劃分標(biāo)稱型數(shù)據(jù)集,沒有剪枝的過程,為了去除過度數(shù)據(jù)匹配的問題,可通過裁剪合并相鄰的無法產(chǎn)生大量信息增益的葉子節(jié)點(diǎn)(例如設(shè)置信息增益閥值)。使用信息增益的話其實(shí)是有一個(gè)缺點(diǎn),那就是它偏向于具有大量值的屬性--就是說在訓(xùn)練集中,某個(gè)屬性所取的不同值的個(gè)數(shù)越多,那么越有可能拿它來作為分裂屬性,而這樣做有時(shí)候是沒有意義的,另外ID3不能處理連續(xù)分布的數(shù)據(jù)特征,于是就有了C4.5算法。CART算法也支持連續(xù)分布的數(shù)據(jù)特征。
五:C4.5是ID3的一個(gè)改進(jìn)算法,繼承了ID3算法的優(yōu)點(diǎn)。C4.5算法用信息增益率來選擇屬性,克服了用信息增益選擇屬性時(shí)偏向選擇取值多的屬性的不足在樹構(gòu)造過程中進(jìn)行剪枝;能夠完成對(duì)連續(xù)屬性的離散化處理;能夠?qū)Σ煌暾麛?shù)據(jù)進(jìn)行處理。C4.5算法產(chǎn)生的分類規(guī)則易于理解、準(zhǔn)確率較高;但效率低,因樹構(gòu)造過程中,需要對(duì)數(shù)據(jù)集進(jìn)行多次的順序掃描和排序。也是因?yàn)楸仨毝啻螖?shù)據(jù)集掃描,C4.5只適合于能夠駐留于內(nèi)存的數(shù)據(jù)集。C4.5與ID3都是利用貪心算法進(jìn)行求解,不同的是分類決策的依據(jù)不同。
信息增益比率度量是用ID3算法中的的增益度量Gain(D,X)和分裂信息度量SplitInformation(D,X)來共同定義的。分裂信息度量SplitInformation(D,X)就相當(dāng)于特征X(取值為x1,x2,……,xn,各自的概率為P1,P2,...,Pn,Pk就是樣本空間中特征X取值為xk的數(shù)量除上該樣本空間總數(shù))的熵。
信息熵,條件熵,互信息,信息增益等公式太簡單不寫出來了
SplitInformation(D,X) = -P1 log2(P1)-P2 log2(P)-,...,-Pn log2(Pn)
GainRatio(D,X) = Gain(D,X)/SplitInformation(D,X)
C4.5在處理連續(xù)數(shù)值特征時(shí)的步驟:
1:先把連續(xù)屬性轉(zhuǎn)換為離散屬性再進(jìn)行處理。
2:對(duì)特征的取值進(jìn)行升序排序
3:兩個(gè)特征取值之間的中點(diǎn)作為可能的分裂點(diǎn),將DS分為兩部分,計(jì)算每一個(gè)分裂點(diǎn)的信息增益,優(yōu)化時(shí)只計(jì)算分類屬性發(fā)生改變的
4:選擇修正后的信息增益最大的分裂點(diǎn)作為該特征的最佳分割點(diǎn)
5:計(jì)算最佳分裂點(diǎn)的信息增益率(Gain Ratio)作為特征的Gain Ratio。注意,此處需對(duì)最佳分裂點(diǎn)的信息增益進(jìn)行修正:減去log2(N-1)/|D|(N是連續(xù)特征的取值個(gè)數(shù),D是訓(xùn)練數(shù)據(jù)數(shù)目,此修正的原因在于:當(dāng)離散屬性和連續(xù)屬性并存時(shí),C4.5算法傾向于選擇連續(xù)特征做最佳樹分裂點(diǎn))
六:剪枝
分析分類回歸樹的遞歸建樹過程,不難發(fā)現(xiàn)它實(shí)質(zhì)上存在著一個(gè)數(shù)據(jù)過度擬合問題。在決策樹構(gòu)造時(shí),由于訓(xùn)練數(shù)據(jù)中的噪音或孤立點(diǎn),許多分枝反映的是訓(xùn)練數(shù)據(jù)中的異常,使用這樣的判定樹對(duì)類別未知的數(shù)據(jù)進(jìn)行分類,分類的準(zhǔn)確性不高。因此試圖檢測和減去這樣的分支,檢測和減去這些分支的過程被稱為樹剪枝。樹剪枝方法用于處理過分適應(yīng)數(shù)據(jù)問題。通常,這種方法使用統(tǒng)計(jì)度量,減去最不可靠的分支,這將導(dǎo)致較快的分類,提高樹獨(dú)立于訓(xùn)練數(shù)據(jù)正確分類的能力。
決策樹常用的剪枝常用的簡直方法有兩種:預(yù)剪枝(Pre-Pruning)和后剪枝(Post-Pruning)。預(yù)剪枝是根據(jù)一些原則及早的停止樹增長,如樹的深度達(dá)到用戶所要的深度、節(jié)點(diǎn)中樣本個(gè)數(shù)少于用戶指定個(gè)數(shù)、不純度指標(biāo)下降的最大幅度小于用戶指定的幅度等。預(yù)剪枝的核心問題是如何事先指定樹的最大深度,如果設(shè)置的最大深度不恰當(dāng),那么將會(huì)導(dǎo)致過于限制樹的生長,使決策樹的表達(dá)式規(guī)則趨于一般,不能更好地對(duì)新數(shù)據(jù)集進(jìn)行分類和預(yù)測。除了事先限定決策樹的最大深度之外,還有另外一個(gè)方法來實(shí)現(xiàn)預(yù)剪枝操作,那就是采用檢驗(yàn)技術(shù)對(duì)當(dāng)前結(jié)點(diǎn)對(duì)應(yīng)的樣本集合進(jìn)行檢驗(yàn),如果該樣本集合的樣本數(shù)量已小于事先指定的最小允許值,那么停止該結(jié)點(diǎn)的繼續(xù)生長,并將該結(jié)點(diǎn)變?yōu)槿~子結(jié)點(diǎn),否則可以繼續(xù)擴(kuò)展該結(jié)點(diǎn)。
后剪枝則是通過在完全生長的樹上剪去分枝實(shí)現(xiàn)的,通過刪除節(jié)點(diǎn)的分支來剪去樹節(jié)點(diǎn),可以使用的后剪枝方法有多種,比如:代價(jià)復(fù)雜性剪枝、最小誤差剪枝、悲觀誤差剪枝等等。后剪枝操作是一個(gè)邊修剪邊檢驗(yàn)的過程,一般規(guī)則標(biāo)準(zhǔn)是:在決策樹的不斷剪枝操作過程中,將原樣本集合或新數(shù)據(jù)集合作為測試數(shù)據(jù),檢驗(yàn)決策樹對(duì)測試數(shù)據(jù)的預(yù)測精度,并計(jì)算出相應(yīng)的錯(cuò)誤率,如果剪掉某個(gè)子樹后的決策樹對(duì)測試數(shù)據(jù)的預(yù)測精度或其他測度不降低,那么剪掉該子樹。
總結(jié)
- 上一篇: 自动驾驶之高精地图
- 下一篇: 科学决策理论的基本论点