本發(fā)明涉及人工智能、機(jī)器學(xué)習(xí)領(lǐng)域。
背景技術(shù):
在歸納學(xué)習(xí)技術(shù)中如何盡量減少誤分類錯(cuò)誤是主要焦點(diǎn),例如CART和C4.5。在歸納問題上誤分類不僅是一個(gè)錯(cuò)誤。近來,研究工作人員已開始考慮了測(cè)試代價(jià)和誤分類代價(jià)的問題。前工作人員假設(shè)測(cè)試代價(jià)和誤分類代價(jià)在歸納過程中代價(jià)影響是相同的。在實(shí)際事例中,這兩種代價(jià)影響是不一樣的。不僅如此,在實(shí)際應(yīng)用中,任何資源都是有限的,所以解決任何一個(gè)實(shí)際問題,都要在一定條件約束下完成。如,對(duì)于醫(yī)療數(shù)據(jù)進(jìn)行訓(xùn)練時(shí),通常假設(shè)給定一足夠大的數(shù)據(jù)集,但事實(shí)上,這些數(shù)據(jù)往往不是免費(fèi)而是要通過一定資源來換取,且訓(xùn)練器所能夠擔(dān)負(fù)的資源是有限的,也就是存在了資源約束。那么既然這些情況是不可避免,現(xiàn)就如何在資源約束下,獲得相對(duì)最優(yōu)的決策樹模型。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)資源約束條件下,同時(shí)考慮測(cè)試代價(jià)以及誤分類代價(jià)影響因子,本發(fā)明提出了一種基于資源約束代價(jià)敏感決策樹構(gòu)建方法
本發(fā)明所采用技術(shù)方案:利用EP準(zhǔn)則先把訓(xùn)練集多類標(biāo)識(shí)為兩類,在TS<ω條件下,再根據(jù)選擇屬性代價(jià)增益率為目標(biāo)函數(shù):這個(gè)準(zhǔn)則,f越大屬性特征越好,則此屬性作為結(jié)點(diǎn)或是擴(kuò)展結(jié)點(diǎn)。最后形成的決策樹,為了避免過度擬合的問題,用后剪支算法優(yōu)化決策樹。
本發(fā)明的有益效果是:
1,得到的決策樹,測(cè)試成本低
2,得到的決策樹,誤分類代價(jià)低
3,在缺失值情況下,也可以得到優(yōu)化的決策樹模型。
4,在資源約束條件下,可以獲得更優(yōu)化的決策樹模型。
附圖說明
圖1基于資源約束代價(jià)敏感決策樹構(gòu)建流程圖
圖2基于EP準(zhǔn)則實(shí)現(xiàn)的兩類結(jié)點(diǎn)圖
具體實(shí)施步驟
為解決資源約束條件下,同時(shí)又可以獲得更好的測(cè)試代價(jià)和誤分類代價(jià),本發(fā)明結(jié)合圖1-圖2對(duì)本發(fā)明進(jìn)行詳細(xì)說明:
步驟1.設(shè)訓(xùn)練集中有X個(gè)樣本,屬性個(gè)數(shù)為n,即n=(s1,s2,…sn),同時(shí)分裂屬性sr對(duì)應(yīng)了m個(gè)類L,其中Li∈(L1,L2…,Lm),r∈(1,2…,n),i∈(1,2…,m)。相關(guān)領(lǐng)域用戶設(shè)定好誤分類代價(jià)矩陣C,L利用EP準(zhǔn)則對(duì)類進(jìn)行處理得到誤分類代價(jià)矩陣C′。
步驟2:創(chuàng)建根節(jié)點(diǎn)G。
步驟3:如果訓(xùn)練數(shù)據(jù)集為空,則返回結(jié)點(diǎn)G并標(biāo)記失敗。
步驟4:如果訓(xùn)練數(shù)據(jù)集中所有記錄都屬于同一類別,則該類型標(biāo)記結(jié)點(diǎn)G。
步驟5:如果候選屬性為空,則返回G為葉子結(jié)點(diǎn),標(biāo)記為訓(xùn)練數(shù)據(jù)集中最普通的類。
步驟6:根據(jù)屬性S的代價(jià)增益率f函數(shù)從候選屬性中選擇splitS。
目標(biāo)函數(shù)f:
w為總誤分類代價(jià)函數(shù),TS為選擇屬性S總代價(jià)函數(shù),CS為選擇屬性S資源損耗代價(jià)函數(shù)。
在TS<ω條件下,當(dāng)選擇屬性splitS滿足f函數(shù)越大時(shí),則找到標(biāo)記結(jié)點(diǎn)G。
步驟7:標(biāo)記結(jié)點(diǎn)G為屬性splitS。
步驟8:由結(jié)點(diǎn)延伸出滿足條件為splitS=splitSi分支。
8.1這里假設(shè)Yi為訓(xùn)練數(shù)據(jù)集中splitS=splitSi的樣本集合。如果Yi為空,加上一個(gè)葉子結(jié)點(diǎn),標(biāo)記為訓(xùn)練數(shù)據(jù)集中最普通的類。
步驟9:非8.1中情況,則遞歸調(diào)用步驟6至步驟8。
步驟10:利用后剪支技術(shù)解決此決策樹模型中過度擬合問題。
后剪支目標(biāo)函數(shù)為總測(cè)試代價(jià)減少率:
用戶自定義一個(gè)減少率因子α。
其中,TTC是剪支之前的初始樹的總平均測(cè)試代價(jià),TTC′為剪支之后的總平均測(cè)試代價(jià),當(dāng)r(TTC)越大直到滿足以下條件,我們就實(shí)施剪支操作:
r(TTC)>α
其中正數(shù)α為用戶指定達(dá)到的條件,剪枝的條件首先要滿足盡可能使代價(jià)減損達(dá)到用戶指定條件,然后滿足測(cè)試代價(jià)降低到用戶要求。
步驟11:更新訓(xùn)練數(shù)據(jù)集,保存新的示例數(shù)據(jù)。
所述步驟1基于EP準(zhǔn)則求解兩類節(jié)點(diǎn)具體計(jì)算過程如下:
1.1誤分類代價(jià)矩陣C
類別標(biāo)識(shí)個(gè)數(shù)為m,則該數(shù)據(jù)的代價(jià)矩陣m×m方陣是:
其中cij表示第j類數(shù)據(jù)分為第i類的代價(jià),如果i=j(luò)為正確分類,則cij=0,否則為錯(cuò)誤分類cij≠0,其值由相關(guān)領(lǐng)域用戶給定,這里i,j∈(1,2,…,m)。
1.2EP準(zhǔn)則
設(shè)訓(xùn)練數(shù)據(jù)集X,其類有m個(gè),假如判定當(dāng)前結(jié)點(diǎn)的類標(biāo)號(hào)為Li,把Li判定為P例,則其他的就為N例。
其中nj表示該屬性中類別為Lj樣例個(gè)數(shù),i,j∈{1,2,…,m}。cij為P例代價(jià),Σj≠injcij為該結(jié)點(diǎn)產(chǎn)生的總P例代價(jià)。
同理可得出N例有效代價(jià)EP(j)
基于EP的結(jié)點(diǎn)類標(biāo)號(hào)判定方法為:
這里我們把m個(gè)類用EP準(zhǔn)則判定為兩類情況,如圖2所示。
其中TN代表真正反例,TP代表真正正例,c00與c11為預(yù)測(cè)正確時(shí)產(chǎn)生的代價(jià),此時(shí)假設(shè)c00、c11都等于1。c01、c10為誤分類代價(jià),一般情況下,c10>c01。
即得誤分類代價(jià)矩陣C′為:
所述步驟6求解目標(biāo)函數(shù),即代價(jià)增益率f,需求解總誤分類代價(jià)函數(shù)w、總代價(jià)函數(shù)TS、資源損耗代價(jià)函數(shù)CS。具體求解過程如下:
步驟6.1:求解總誤分類代價(jià)函數(shù)w
根據(jù)EP準(zhǔn)則可以得出訓(xùn)練數(shù)據(jù)集中總的(P,N)分布值,(P,N)滿足P+N=X條件;決策樹正例總誤分析代價(jià)c由相關(guān)專家給出,反例總誤分析代價(jià)為c′,所以:
w=N×c
步驟6.2:總代價(jià)函數(shù)TS
TS=TC(S)+MC(S)
=[(P1+N1)+(P2+N2)]×c1+(N1×cji+P2×cij)+N0×cji
6.2.1測(cè)試代價(jià)函數(shù)TC(S)
假設(shè)當(dāng)前選擇屬性S的測(cè)試成本為c1,c1由用戶根據(jù)實(shí)際情況估計(jì)。把S屬性根據(jù)類結(jié)點(diǎn)劃分為三部分,已知值個(gè)數(shù)(P1,N1)與(P2,N2),未知值(P0,N0)。
屬性S的總樣例個(gè)數(shù)為:
total number=(P1+N1)+(P2+N2)+(P0+N0)
則屬性S的測(cè)試代價(jià)函數(shù)為:
TC(S)=(P1+N1)+(P2+N2)×c1
上式P1為第1分支正例的個(gè)數(shù),N1為第1分支反例的個(gè)數(shù);
P2為第2分支正例個(gè)數(shù),N2為第2分支反例的個(gè)數(shù)
6.2.2誤分類代價(jià)函數(shù)MC(S)
假設(shè)屬性S第一個(gè)分支為正例結(jié)點(diǎn),即EP(i)<EP(j);則第二分支則為反例結(jié)點(diǎn),即EP(i)>EP(j),第三分支未知。
從上述指標(biāo)可以得出誤分類代價(jià)指標(biāo)函數(shù):
MC(S)=N1×cji+P2×cij
上式cji為第1分支FP代價(jià),cij為第1分支FN代價(jià)。cji和cij由用戶根據(jù)具體情況來自定義。
6.3資源損耗代價(jià)函數(shù)CS
CS=[(P1+N1)+(P2+N2)]×c2+(N1×cji′+P2×cij′)+N0×cji′
這里c2為預(yù)測(cè)的資源測(cè)試代價(jià),cji′為第2分支FP代價(jià),cij′為第2分支FN代價(jià)。c2、cji′、cij′由用戶自定義。
所述步驟10后剪支技術(shù):如果取消當(dāng)前測(cè)試屬性可以減少?zèng)Q策樹模型的測(cè)試代價(jià),那么就剪除當(dāng)前測(cè)試結(jié)點(diǎn)。如代價(jià)復(fù)雜性剪枝和最少描述長度剪枝。代價(jià)復(fù)雜性剪枝在剪枝過程中因子樹被葉節(jié)點(diǎn)替代而增加的錯(cuò)誤分類樣本總數(shù)稱為代價(jià),剪枝后子樹減少的葉節(jié)點(diǎn)數(shù)稱為復(fù)雜性。最少描述長度剪枝根據(jù)決策樹的編碼代價(jià)大小進(jìn)行剪枝,目標(biāo)是使得訓(xùn)練樣本的大多數(shù)數(shù)據(jù)符合這棵樹,把樣本中不符合的數(shù)據(jù)作為例外編碼,使得編碼決策樹所需的比特最小和編碼例外實(shí)例所需的比特最小。