本發(fā)明涉及機(jī)器學(xué)習(xí)、人工智能以及數(shù)據(jù)挖掘領(lǐng)域。
背景技術(shù):
決策樹是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中的一項(xiàng)重要和積極的研究課題。其所提出的算法被廣泛地和成功地應(yīng)用于實(shí)際問題中,如ID3,CART和C4.5。現(xiàn)有算法之訓(xùn)練決策樹分類器,旨在最大程度上提高分類的準(zhǔn)確度,或最大限度地減少誤分類,但這必然會(huì)導(dǎo)致分類器偏向于主要的類而忽略罕見的或?qū)扔绊戄^小的少數(shù)類。于是,在醫(yī)療診斷應(yīng)用中,該反饋必然不符合數(shù)據(jù)挖掘的要求,因?yàn)樵趥鹘y(tǒng)決策樹方法的假設(shè)下,分布的類標(biāo)記不平衡,并且所有分類錯(cuò)誤造成的代價(jià)會(huì)被視為相同的成本。隨后,代價(jià)敏感決策樹學(xué)習(xí)算法引起了研究者們廣泛的興趣并取得了豐碩的研究成果。顯然構(gòu)建一個(gè)適當(dāng)?shù)霓D(zhuǎn)換不同代價(jià)單位的函數(shù)成為了挑戰(zhàn),為此本文提出了一種有效的方法,此方法將減少所有不同代價(jià)所造成的代價(jià)機(jī)制和屬性的異質(zhì)性。把所有不同的代價(jià)和屬性信息一起被納入分裂屬性選擇過程,并為此提供了一種異構(gòu)代價(jià)敏感機(jī)制決策樹構(gòu)建方法。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)異構(gòu)代價(jià)平衡性以及各種代價(jià)單位機(jī)制不同問題,提出了一種異構(gòu)代價(jià)敏感機(jī)制決策樹構(gòu)建方法。
本發(fā)明所采用技術(shù)方案:屬性S的目標(biāo)函數(shù)f(S)為候選分裂屬性選擇因子,選取最大的f(S)值作為該節(jié)點(diǎn)候選分裂屬性,分支的分裂屬性選擇由gini(Si)確定,即選取更小的gini(Si)分支,加上一個(gè)葉子節(jié)點(diǎn)。循環(huán)執(zhí)行上述操作,就可以遍歷整個(gè)訓(xùn)練樣本集,得到強(qiáng)分類能力以及低誤分類代價(jià)和測(cè)試代價(jià)的決策樹。同時(shí)本文建樹過程中考慮了并解決了不同代價(jià)因子、各代價(jià)單位機(jī)制不同以及與信息純度之間的平衡性問題,所以此決策樹適應(yīng)范圍更廣泛。
本發(fā)明有益效果是:
1、構(gòu)建的決策樹有更好分類準(zhǔn)確度,加強(qiáng)了分類能力
2、在決策樹構(gòu)建過程中,標(biāo)準(zhǔn)化了誤分類代價(jià)和測(cè)試成本代價(jià),解決了候選屬性誤分類代價(jià)和測(cè)試代價(jià)的不同單位機(jī)制問題,避免了候選屬性分裂選擇 的偏向大數(shù)量級(jí)屬性問題。
3、建樹過程中,很好的平衡由于測(cè)試代價(jià)和誤分類代價(jià)以及信息純度之間的存在的異構(gòu)難題,把屬性分類能力和各種代價(jià)共同融合進(jìn)候選分裂屬性選擇,得到了高的分類精度和降低誤分類代價(jià)和測(cè)試代價(jià)。
附圖說(shuō)明
圖1為異構(gòu)代價(jià)敏感機(jī)制決策樹流程圖
具體實(shí)施方式
為解決異構(gòu)代價(jià)平衡性以及各種代價(jià)單位機(jī)制不同的問題,最后生成的決策樹更好的規(guī)避了過度擬合問題,本發(fā)明結(jié)合圖1進(jìn)行了詳細(xì)說(shuō)明,其具體實(shí)施步驟如下:
步驟1:設(shè)訓(xùn)練集中有X個(gè)樣本,屬性個(gè)數(shù)為n,即n=(S1,S2,…Sn),同時(shí)分裂屬性Si對(duì)應(yīng)了m個(gè)類L,其中Lr∈(L1,L2…,Lm),i∈(1,2…,n),r∈(1,2…,m)。相關(guān)領(lǐng)域用戶設(shè)定好誤分類代價(jià)矩陣C、屬性測(cè)試代價(jià)為costi。
步驟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的目標(biāo)函數(shù)f從候選屬性中選擇splitS。
目標(biāo)函數(shù)f:
averagegini(S)為信息純度函數(shù),TCration(S)為標(biāo)準(zhǔn)化測(cè)試代價(jià)比率函數(shù),MCration(S)為標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)。
當(dāng)選擇屬性splitS滿足目標(biāo)函數(shù)f越大時(shí),則找到標(biāo)記結(jié)點(diǎn)G。
當(dāng)出現(xiàn)目標(biāo)函數(shù)f相等時(shí),為打破平局標(biāo)準(zhǔn),則按照下面的優(yōu)先順序再進(jìn)行選擇:
(1)更小的MCration(S)
(2)更小的TCration(S)
步驟7:標(biāo)記結(jié)點(diǎn)G為屬性splitS。
步驟8:根據(jù)基尼指數(shù)gini(Si),由結(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ù)集中最普通的類。
8.2此結(jié)點(diǎn)中所有例子屬于同一類。
步驟9:非8.1與8.2中情況,則遞歸調(diào)用步驟6至步驟8。
步驟10:利用后剪支技術(shù)解決此決策樹模型中過度擬合問題。
步驟11:更新訓(xùn)練數(shù)據(jù)集,保存新的示例數(shù)據(jù)。
以上步驟所涉及到的參數(shù)函數(shù)及定義,具體描述如下:
一、所述步驟1涉及到誤分類代價(jià)矩陣C、屬性測(cè)試代價(jià)為TC(S)
步驟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.2屬性測(cè)試代價(jià)為TC(S)
TC(S)=(1+costi)
其中costi為屬性Si測(cè)試代價(jià),這個(gè)由用戶指定。
二、所述步驟6求解目標(biāo)函數(shù),即f(S),需求解信息純度函數(shù)averagegini(S)、標(biāo)準(zhǔn)化測(cè)試代價(jià)比率函數(shù)TCration(S)、標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)MCration(S)。具體求解過程如下:
步驟6.1:求解信息純度函數(shù)averagegini(S)
基尼指數(shù)是一種不純度分裂方法,基尼指數(shù)表示為gini(Si),定義為:
其中p(Li/Si)為類別Li在屬性值Si處的相對(duì)概率,當(dāng)gini(Si)=0時(shí),即在此結(jié)點(diǎn)處所有記錄都屬于同一類別,增加一葉子節(jié)點(diǎn),即信息純度越大。反之,gini(Si)最大,得到的有用信息最小,則繼續(xù)根據(jù)目標(biāo)函數(shù)f(S)候選下一個(gè)屬性。
根據(jù)gini(Si)可以得知averagegini(S)
這里屬性S有j個(gè)屬性值,即屬性值為(S1,S2,…,Sj)
信息純度函數(shù)averagegini(S)作用:可以提高決策樹的分類精度
步驟6.2:求解標(biāo)準(zhǔn)化測(cè)試代價(jià)比率函數(shù)TCration(S)
其中訓(xùn)練集有n個(gè)候選屬性,即候選屬性為(S1,S2,…,Sn),S∈(S1,S2,…,Sn),TC(Sn)為候選屬性Sn測(cè)試成本。
TCration(S)函數(shù)作用:對(duì)測(cè)試成本進(jìn)行標(biāo)準(zhǔn)化,避免了決策樹在歸納學(xué)習(xí)過程中偏向數(shù)量級(jí)更大的測(cè)試屬性,另外把不同單位代價(jià)機(jī)制轉(zhuǎn)化為同一單位代價(jià)機(jī)制。
步驟6.3:求解標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)MCration(S)
在分類代價(jià)基礎(chǔ)上,候選屬性S的標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)可表示為如下:
其中MC表示候選屬性分裂前的代價(jià)和,∑i∈classset(s)MC(S)表示按候選屬性S分裂后的所有子類代價(jià)總和,其中classset(S)為候選屬性S分裂后的所有類的集合,根據(jù)具體例子,MC、∑i∈classset(s)MC(S)可以很直觀的由用戶得出。
MCration(S)函數(shù)作用:對(duì)誤分類代價(jià)進(jìn)行標(biāo)準(zhǔn)化,避免了決策樹在歸納學(xué)習(xí)過程中偏向數(shù)量級(jí)更大的測(cè)試屬性,另外把不同單位代價(jià)機(jī)制轉(zhuǎn)化為同一單位代價(jià)機(jī)制。
三、所述步驟10后剪支技術(shù),具體求解過程如下:
后剪支條件為優(yōu)先考慮到誤分類代價(jià),然后考慮到測(cè)試代價(jià),即對(duì)于用戶給定的正數(shù)α,β滿足下列兩條件,則實(shí)施剪支操作。
(1)MCration(S)>α
(2)TC(S)>β
剪支條件首先要滿足盡可能的使誤分類代價(jià)比率達(dá)到用戶指定條件,然后 足測(cè)試代價(jià)低到用戶要求。
偽代碼計(jì)算過程
輸入:X個(gè)樣本訓(xùn)練集,訓(xùn)練集的誤分類代價(jià)矩陣C,屬性測(cè)試代價(jià)為costi
輸出:異構(gòu)代價(jià)敏感機(jī)制決策樹。