本發(fā)明涉及機(jī)器學(xué)習(xí)、人工智能以及數(shù)據(jù)挖掘領(lǐng)域。
背景技術(shù):
決策樹(shù)研究是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中的一項(xiàng)重要和積極的研究課題。其所提出的算法被廣泛地和成功地應(yīng)用于實(shí)際問(wèn)題中,如ID3,CART和C4.5,此類經(jīng)典學(xué)習(xí)算法主要是研究準(zhǔn)確率的問(wèn)題,能夠得到更高準(zhǔn)確性的決策樹(shù)。在現(xiàn)有的算法中,其大多數(shù)都只傾向于考慮測(cè)試代價(jià)和誤分類錯(cuò)誤代價(jià)中的一種,此類算法稱為一維尺度代價(jià)敏感,其構(gòu)建的決策樹(shù)在現(xiàn)實(shí)案例中不能夠解決綜合問(wèn)題。在代價(jià)敏感學(xué)習(xí)中除了考慮測(cè)試代價(jià)和誤分類代價(jià)對(duì)分類的影響,還需考慮待時(shí)間代價(jià)對(duì)分類預(yù)測(cè)的影響,例如,患者可能存在測(cè)試代價(jià)約束,也有可能存在等待時(shí)間上的約束,根據(jù)不同類別需求人所具備的自身資源不同,所需的時(shí)間長(zhǎng)短也不同,考慮各種代價(jià)單位機(jī)制不同的問(wèn)題,另外在構(gòu)建決策樹(shù)過(guò)程中,采用先剪支技術(shù)來(lái)解決決策樹(shù)中過(guò)擬合問(wèn)題,為了解決這種需求,本發(fā)明在之前一維和二維尺度代價(jià)基礎(chǔ)上,提出了一種多維尺度的異構(gòu)代價(jià)敏感決策樹(shù)構(gòu)建方法。
這里所涉及的代價(jià)影響因子有三種:測(cè)試代價(jià)、相對(duì)等待時(shí)間代價(jià)以及誤分類代價(jià),它們的單位代價(jià)機(jī)制互不相同,另外也需考慮各種代價(jià)和屬性信息之間的平衡性問(wèn)題,基于在之前多維尺度的異構(gòu)代價(jià)敏感決策樹(shù)構(gòu)建方法的基礎(chǔ)上,提出了一種標(biāo)準(zhǔn)化的多維尺度代價(jià)敏感決策樹(shù)的構(gòu)建方法。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)于解決三種代價(jià)影響因子的不同單位機(jī)制問(wèn)題以及三種代價(jià)與屬性信息之間的平衡性問(wèn)題,提出了一種標(biāo)準(zhǔn)化的多維尺度代價(jià)敏感決策樹(shù)構(gòu)建方法。
為解決上述問(wèn)題,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
一種標(biāo)準(zhǔn)化的多維尺度代價(jià)敏感決策樹(shù)構(gòu)建方法,包括如下步驟:
步驟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、屬性Si測(cè)試代價(jià)為資源調(diào)節(jié)因子∝、相對(duì)等待時(shí)間代價(jià)wc(Si)、修正系數(shù)β,判定條件閾值p、α以及γ。
步驟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ù)屬性Si的目標(biāo)函數(shù)f(Si)從候選屬性中選擇splitSi。
目標(biāo)函數(shù)f(Si):
averagegain(Si)為平均信息增益函數(shù),(ZTC(Si))normal為標(biāo)準(zhǔn)化總測(cè)試代價(jià)函數(shù),Rmc(Si)normal為標(biāo)準(zhǔn)化的誤分類代價(jià)比率函數(shù)。當(dāng)選擇屬性splitSi滿足目標(biāo)函數(shù)f(Si)越大,則找到標(biāo)記節(jié)點(diǎn)G。
當(dāng)出現(xiàn)目標(biāo)函數(shù)f(Si)相等時(shí),為打破平局標(biāo)準(zhǔn),則按照下面的優(yōu)先順序再進(jìn)行選擇:
(1)更小的Rmc(Si)normal
(2)更小的(ZTC(Si))normal
步驟7:標(biāo)記節(jié)點(diǎn)G為屬性splitSi。
步驟8:由節(jié)點(diǎn)延伸出滿足條件為splitS=splitSi分支,這里假設(shè)滿足條件的分支個(gè)數(shù)為k,此時(shí)在此節(jié)點(diǎn)再加一個(gè)空節(jié)點(diǎn),即當(dāng)前節(jié)點(diǎn)的分支個(gè)數(shù)為k+1,同時(shí)利用先剪枝技術(shù)對(duì)節(jié)點(diǎn)進(jìn)行剪枝操作,一邊建樹(shù)一邊剪枝,如果滿足以下兩條件之一,就停止建樹(shù)。
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。
本發(fā)明有益效果是:
1、考慮了信息增益因素,構(gòu)建的決策樹(shù)有更好分類準(zhǔn)確度,加強(qiáng)了分類能力,避免了當(dāng)類中有稀有類時(shí),把它當(dāng)做普通類進(jìn)行分類。
2、考慮了多種代價(jià)影響因子和決策樹(shù)分支當(dāng)中生成了空節(jié)點(diǎn),若未知事物分類結(jié)果不符合當(dāng)前模型,則可以通過(guò)空節(jié)點(diǎn)繼續(xù)進(jìn)行下一步分類操作,此構(gòu)建的決策樹(shù)模型應(yīng)用范圍要更廣,更符合實(shí)際的需求。
3、在決策樹(shù)構(gòu)建過(guò)程中,標(biāo)準(zhǔn)化總測(cè)試代價(jià)可以更有效避免了分裂屬性信息存在因過(guò)小而被忽略的風(fēng)險(xiǎn)。
4、建樹(shù)過(guò)程中,對(duì)總測(cè)試代價(jià)和誤分類代價(jià)標(biāo)準(zhǔn)化,可以更好的把各代價(jià)不同單位機(jī)制轉(zhuǎn)化為同一單位機(jī)制,形成的決策樹(shù)具有高的分類精度和降低誤分類代價(jià)、測(cè)試代價(jià)以及待時(shí)間代價(jià)。
5、利用先剪枝技術(shù)對(duì)決策樹(shù)進(jìn)行剪枝提高了分類學(xué)習(xí)的速率。
6、構(gòu)成的決策樹(shù)更好的規(guī)避了信息偏置為數(shù)量級(jí)大的問(wèn)題。
附圖說(shuō)明
圖1為一種標(biāo)準(zhǔn)化的多維尺度代價(jià)敏感決策樹(shù)構(gòu)建的流程圖
具體實(shí)施方式
為解決三種代價(jià)影響因子的不同單位機(jī)制問(wèn)題、三種代價(jià)與屬性信息之間的平衡性問(wèn)題,最后生成的決策樹(shù)具有更好的規(guī)避了過(guò)度擬合問(wèn)題,結(jié)合圖1對(duì)本發(fā)明進(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、屬性Si測(cè)試代價(jià)為costi、資源調(diào)節(jié)因子∝、wc(Si)—相對(duì)等待時(shí)間代價(jià)值,修正系數(shù)β,判定條件閾值p、α以及γ。
1)上述步驟1中所述的誤分類代價(jià)矩陣C具體設(shè)定過(guò)程如下:
相關(guān)領(lǐng)域用戶誤分類代價(jià)矩陣C的設(shè)定:
類別標(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é)點(diǎn)G。
步驟5:如果候選屬性為空,則返回G為葉子結(jié)點(diǎn),標(biāo)記為訓(xùn)練數(shù)據(jù)集中最普通的類。
步驟6:根據(jù)屬性Si的目標(biāo)函數(shù)f(Si)從候選屬性中選擇splitSi。
目標(biāo)函數(shù)f(Si):
averagegain(Si)為平均信息增益函數(shù),(ZTC(Si))normal為標(biāo)準(zhǔn)化總測(cè)試代價(jià)函數(shù),Rmc(Si)normal為標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)。
當(dāng)選擇屬性splitSi滿足目標(biāo)函數(shù)f(Si)越大,則找到標(biāo)記節(jié)點(diǎn)G。
2)上述步驟6求解目標(biāo)函數(shù)f(Si),需要先求解平均信息增益函數(shù)averagegain(Si),標(biāo)準(zhǔn)化總測(cè)試代價(jià)函數(shù)(ZTC(Si))normal,標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)Rmc(Si)normal,具體求解過(guò)程如下:
2.1)計(jì)算平均信息增益函數(shù)averagegain(Si)的具體過(guò)程如下:
信息增益函數(shù)gain(Si):gain(Si)=E(X)-E(Si)
上式E(X)為整個(gè)訓(xùn)練集的信息熵,E(Si)為屬性Si所對(duì)應(yīng)的信息熵;
上式表示為類Lr的個(gè)數(shù),為訓(xùn)練集對(duì)應(yīng)類Lr的概率,類的個(gè)數(shù)總共為m個(gè)。
上式k為屬性Si所對(duì)應(yīng)屬性值的個(gè)數(shù),ni為對(duì)應(yīng)屬性值為i的樣本數(shù),β為修正系數(shù)。
β這里為了避免在構(gòu)建決策樹(shù)中存在分類偏置的問(wèn)題,即偏置到數(shù)量級(jí)更大的類問(wèn)題。
所以
最后求得的averageain(Si)—平均信息增益函數(shù)為如下所式:
averagegain(Si)作用:可以提高決策樹(shù)的分類精度,解決決策樹(shù)偏置問(wèn)題。
2.2)計(jì)算標(biāo)準(zhǔn)化總測(cè)試代價(jià)函數(shù)(ZTC(Si))normal具體過(guò)程如下:
2.2.1)先求解總測(cè)試代價(jià)函數(shù)ZTC(Si),其表達(dá)式為:
以下具體介紹相對(duì)等待時(shí)間代價(jià)wc(Si):
等待時(shí)間代價(jià)與時(shí)間有關(guān),即我們可以用數(shù)值來(lái)描述這些時(shí)間敏感代價(jià),如果結(jié)果可以馬上得到,等待時(shí)間代價(jià)為0;如果結(jié)果要幾天,就由相應(yīng)專家確定一個(gè)數(shù)值。另外規(guī)定,如果一定要這個(gè)測(cè)試結(jié)果出來(lái)才能進(jìn)行下一個(gè)測(cè)試,即使等待的時(shí)間不多,如半天或一天,都把這個(gè)等待時(shí)間代價(jià)設(shè)為一個(gè)很大的常數(shù),即m→∞。
等待時(shí)間同時(shí)還和當(dāng)?shù)刭Y源有關(guān),同時(shí)考慮時(shí)間代價(jià)和資源約束代價(jià)。
上式∝是個(gè)調(diào)節(jié)因子,不同資源∝不同,資源越多∝越大,反之也成立。
2.2.2)再求解標(biāo)準(zhǔn)化總測(cè)試代價(jià)函數(shù)(ZTC(Si))normal,具體求解步驟如下:
這里
上式中屬性個(gè)數(shù)為n,為測(cè)試代價(jià)成本最大值,max[wc(S1,2,…,n)]代表相對(duì)等待時(shí)間最大值。
所以
(ZTC(Si))normal的作用:避免屬性信息過(guò)小而被忽略的風(fēng)險(xiǎn),另外把不同單位量化為同一單位。
2.3)求解標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)Rmc(Si)normal具體過(guò)程如下:
標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)Rmc(Si)normal的表達(dá)式為:
上式i∈(1,2,…,n),Emc(Si,La)為屬性Si誤分為類La的誤分類代價(jià)期望值,max(Emc(S1,La),Emc(S2,La)…,Emc(Sn,La))為訓(xùn)練集中屬性誤分類代價(jià)期望的最大值。
先求解屬性Si的誤分類代價(jià)期望值Emc(Si,La),i∈(1,2,…,n),其具體計(jì)算過(guò)程如下:
如果對(duì)事例預(yù)測(cè)的類標(biāo)簽La與真實(shí)類標(biāo)簽Lb相同,則分類正確,此時(shí)的誤分類代價(jià)C(La,Lb)=0,如果La≠Lb,則C(La,Lb)≠0。在分類過(guò)程中,通常不知道事例的實(shí)際標(biāo)簽,所以這里用誤分類代價(jià)的期望Emc來(lái)代替誤分類代價(jià)的值,即,把一個(gè)事例的類標(biāo)簽預(yù)測(cè)為L(zhǎng)a的誤分類代價(jià)的期望為:
其中,L為數(shù)據(jù)集中所有類標(biāo)簽集合,p(Lb/Si)為當(dāng)前選擇屬性Si中含有類Lb的概率,C(La,Lb)為把類Lb誤分為類La的代價(jià)花費(fèi)。
綜上所述,即標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)Rmc(Si)normal:
Rmc(Si)normal的作用:不同單位代價(jià)統(tǒng)一
當(dāng)出現(xiàn)目標(biāo)函數(shù)f(Si)相等時(shí),為打破平局標(biāo)準(zhǔn),則按照下面的優(yōu)先順序再進(jìn)行選擇:
(1)更小的Rmc(Si)normal
(2)更小的(ZTC(Si))normal
步驟7:標(biāo)記結(jié)點(diǎn)G為屬性splitS。
步驟8:由結(jié)點(diǎn)延伸出滿足條件為splitS=splitSi分支,同時(shí)利用先剪枝技術(shù)對(duì)葉子節(jié)點(diǎn)進(jìn)行剪枝操作,一邊建樹(shù)一邊剪枝,如果滿足以下兩條件之一,就停止建樹(shù)。
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)中所有例子屬于同一類。
3)上述步驟8所述的先剪枝技術(shù),其判定條件順序具體如下:
(2)Rmc(Si)normal<α
(3)(ZTC(Si))normal<γ
為一個(gè)葉子節(jié)點(diǎn)類Lr的樣本數(shù),X為訓(xùn)練集總體樣本數(shù),p為用戶基于訓(xùn)練集的樣本個(gè)數(shù)百分比的最小值設(shè)定的一個(gè)適當(dāng)?shù)拈撝?。剪支條件首先要達(dá)到用戶指定條件,即所占的類達(dá)到最小閾值p,再是標(biāo)準(zhǔn)化誤分類代價(jià)比率函數(shù)Rmc(Si)normal達(dá)到用戶設(shè)定的最小值閾值α,最后考慮標(biāo)準(zhǔn)化總測(cè)試代價(jià)函數(shù)(ZTC(Si))normal達(dá)到用戶指定的做小閾值γ。
這個(gè)剪枝條件更嚴(yán)謹(jǐn),構(gòu)成的決策樹(shù)可以更有效的預(yù)防過(guò)渡擬合的問(wèn)題。
步驟9:非8.1與8.2中情況,則遞歸調(diào)用步驟6至步驟8。
一種標(biāo)準(zhǔn)化的多維尺度代價(jià)敏感決策樹(shù)構(gòu)建方法,其偽代碼計(jì)算過(guò)程如下:
輸入:X個(gè)樣本訓(xùn)練集,誤分類代價(jià)矩陣C、屬性Si測(cè)試代價(jià)為資源調(diào)節(jié)因子∝、wc(Si)—相對(duì)等待時(shí)間代價(jià),修正系數(shù)β,判定條件閾值p、α以及γ。
輸出:一種標(biāo)準(zhǔn)化的多維尺度代價(jià)敏感決策樹(shù)構(gòu)建方法。