本發(fā)明涉及人工智能、機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域。
背景技術(shù):
早期的決策樹分類算法旨在提高分類的精確度,后面的一維尺度代價(jià)敏感決策樹分類局限性較大,在分類過程中存在較大的弊端。如之前只考慮測試代價(jià)時(shí),得出的分類結(jié)果并不能權(quán)衡誤分類所產(chǎn)生的代價(jià)影響。代價(jià)敏感學(xué)習(xí)是一種新的分類學(xué)習(xí)。它是通過訓(xùn)練集建立分類器時(shí),以獲得最小測試代價(jià)和誤分類代價(jià)為目標(biāo)。測試代價(jià)有限的條件下,基于最小測試代價(jià)的分類器并不是最好的,大部分研究認(rèn)為把誤分類代價(jià)和測試代價(jià)放在一起研究是十分必要,在付出的測試代價(jià)和所能減少的誤分類代價(jià)之間進(jìn)行權(quán)衡,以最小化包含這兩種代價(jià)的總代價(jià)為目標(biāo),做出最佳的決策。
技術(shù)實(shí)現(xiàn)要素:
針對上述不足,本發(fā)明提供了基于代價(jià)敏感二維尺度決策樹構(gòu)造方法。
本發(fā)明所采用的技術(shù)方案是:基于代價(jià)敏感二維尺度決策樹構(gòu)造方法,該方法應(yīng)用測試代價(jià)與誤分類代價(jià)之和最小值進(jìn)行屬性選擇,依次構(gòu)造決策樹,為了解決得出的決策樹存在過渡擬合問題,提出了后剪支方案,使得得出的決策樹在預(yù)測未知對象時(shí)更加準(zhǔn)確,本方法的具體實(shí)施步驟如下:
步驟1.設(shè)訓(xùn)練集中有X個(gè)樣本,屬性個(gè)數(shù)為n,即n=(s1,s2,…sn),同時(shí)分裂屬性sr對應(yīng)了m個(gè)類L,其中Lk∈(L1,L2…,Lm),r∈(1,2…,n),k∈(1,2…,m),相關(guān)領(lǐng)域用戶設(shè)定好誤分類代價(jià)矩陣C、測試成本costS、經(jīng)濟(jì)因子w;
步驟1.1:設(shè)立誤分類代價(jià)矩陣
類別標(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);
步驟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é)G;
步驟5:如果候選屬性為空,則返回G為葉子結(jié)點(diǎn),標(biāo)記為訓(xùn)練數(shù)據(jù)集中最普通的類;
步驟6:根據(jù)總代價(jià)成本目標(biāo)函數(shù)TOTAL從候選屬性中選擇屬性splitS;總代價(jià)目標(biāo)函數(shù)為:TOTAL=f(S)+L(s,i),其中f(S)為選擇屬性S時(shí),為測試代價(jià)指標(biāo)函數(shù),L(s,i)為把選擇屬性S預(yù)測為第i類所引起的誤分類代價(jià)指標(biāo)函數(shù);
當(dāng)選擇屬性splitS滿足總代價(jià)成本目標(biāo)函數(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ù)解決此決策樹模型中過度擬合問題;
步驟11:更新訓(xùn)練數(shù)據(jù)集,保存新的示例數(shù)據(jù)。
本發(fā)明的有益效果是:為了解決得出的決策樹存在過渡擬合問題,提出了后剪支方案,使得得出的決策樹在預(yù)測未知對象時(shí)更加準(zhǔn)確,并且使最后得出的決策樹誤分類代價(jià)與測試代價(jià)之和最低。
具體實(shí)施方式
以下,詳細(xì)描述此發(fā)明。
一、所述步驟6根據(jù)總代價(jià)成本目標(biāo)函數(shù)TOTAL從候選屬性中選擇屬性splitS,需要求解總代價(jià)成本目標(biāo)函數(shù),在求解此函數(shù)時(shí)會(huì)用到測試代價(jià)指標(biāo)函數(shù)f(S),以及誤分類代價(jià)指標(biāo)函數(shù)L(s,i),在求解f(S)時(shí)會(huì)用到信息增益函數(shù),具體的求解過程如下:
步驟6.1:求解測試代價(jià)指標(biāo)函數(shù)
步驟6.1.1:求解信息增益函數(shù)gain(S)
屬性S為測試屬性,這些子集對應(yīng)于包含集合P結(jié)點(diǎn)生長出來的分支,設(shè)Zij是子集Zj中類Li的樣本數(shù),則S劃分子集的期望信息為:
為第j個(gè)子集的權(quán),期望值越小,子集劃分純度越高,對于給定子集Zj:
其中,是Zj中樣本屬于Li的概率;
最后得到信息增益公式為:
gain(S)=I(Z1j,L,…,Zmj)-E(S)
步驟6.1.2:求解測試代價(jià)指標(biāo)函數(shù)f(S)
根據(jù)上述信息增益gain(S)可得:
ω為相關(guān)領(lǐng)域用戶給定的一個(gè)經(jīng)濟(jì)因子,ω∈(0,1);costS為屬性S的測試成本,這由用戶指定,costS+1>1,當(dāng)cost=0時(shí),f(cost)是有意義的,test cost(S)是標(biāo)準(zhǔn)測試代價(jià)指數(shù),其值越小越好,用來表征每一屬性通過測試代價(jià)指標(biāo)進(jìn)行選擇;
步驟6.2:求解誤分類代價(jià)指標(biāo)函數(shù)L(S,i)
根據(jù)步驟1.1誤分類代價(jià)矩陣,對于任一樣例S,如果將其分為第i類,那么
可能此時(shí)屬性S的誤分類為i的代價(jià)是:
其中L(S,i)為將S分為第i類的預(yù)測總代價(jià),p(j/S)為在屬性S中第j類的概率,C(i,j)為把j類錯(cuò)分為第i類的代價(jià)花費(fèi);
步驟6.3:求解總代價(jià)目標(biāo)函數(shù)TOTAL,根據(jù)步驟6.1.2、步驟6.2的兩個(gè)公式,可得出:
二、所述步驟10方法采用后剪支技術(shù)的原理為:如果取消當(dāng)前測試屬性可以減少?zèng)Q策樹模型的測試代價(jià),那么就剪除當(dāng)前測試結(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í)例所需的比特最?。?/p>
后剪支目標(biāo)函數(shù)為:
f(Si)>β
其中正數(shù)β為用戶指定達(dá)到的條件,剪枝的條件首先要滿足盡可能使代價(jià)減損達(dá)到用戶指定條件,然后滿足測試代價(jià)降低到用戶要求。