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