本發(fā)明涉及人工智能、機器學習技術(shù)領(lǐng)域
背景技術(shù):
在歸納學習技術(shù)中如何盡量減少誤分類錯誤是主要焦點,例如CART和C4.5。在歸納問題上誤分類不僅是一個錯誤。近來,研究工作人員已開始考慮了測試代價和誤分類代價的問題。前工作人員假設測試代價和誤分類代價在歸納過程中代價影響是相同的。在實際事例中,這兩種代價影響是不一樣的。如診斷代價問題,個人更加注重具體診斷測試成本花費;億萬富翁則更關(guān)注診斷的正確性。本發(fā)明為了解決這個問題,從兩方面代價尺度來構(gòu)建決策樹的,在給定的預算基礎(chǔ)上,一個代價最小化影響著另一個代價模型。
技術(shù)實現(xiàn)要素:
針對上述不足,本發(fā)明從兩方面代價尺度來構(gòu)建決策樹的,在給定的預算基礎(chǔ)上,一個代價最小化影響著另一個代價模型。
本發(fā)明所采用的技術(shù)方案是:基于EP準則二維尺度決策樹構(gòu)建方法,利用EP準則先把訓練集多類標識為兩類,再根據(jù)總代價目標函數(shù)為:f=TC(S)+MC(S)<w這個準則,選擇屬性作為結(jié)點和擴展結(jié)點,最后形成的決策樹,為了避免過度擬合的問題,用剪支算法優(yōu)化決策樹,該方法的具體實施步驟如下:
步驟1:設訓練集中有X個樣本,屬性個數(shù)為n,即n=(s1,s2,…sn),同時分裂屬性sr對應了m個類L,其中Li∈(L1,L2…,Lm),r∈(1,2…,n),i∈(1,2…,m),相關(guān)領(lǐng)域用戶設定好誤分類代價矩陣C,L利用EP準則對類進行處理得到誤分類代價矩陣C′;
步驟2:創(chuàng)建根節(jié)點G;
步驟3:如果訓練數(shù)據(jù)集為空,則返回結(jié)點G并標記失??;
步驟4:如果訓練數(shù)據(jù)集中所有記錄都屬于同一類別,則以該類型標記結(jié)點G;
步驟5:如果候選屬性為空,則返回G為葉子結(jié)點,標記為訓練數(shù)據(jù)集中最普通的類;
步驟6:根據(jù)總代價成本目標函數(shù)f與總誤分類代價因子w做比較來從候選屬性中選擇splitS;
總代價成本目標函數(shù)為:f=TC(S)+MC(S)<w
TC(S)為選擇屬性S時測試代價指標函數(shù),MC(S)為把選擇屬性S預測錯誤所引起的誤分類代價函數(shù),w為決策樹根據(jù)類劃分的總誤分類代價因子;
當選擇屬性splitS滿足總代價成本目標函數(shù)小于w時,則找到標記結(jié)點G;
步驟7:標記結(jié)點G為屬性splitS;
步驟8:由結(jié)點延伸出滿足條件為splitS=splitSi分支;
步驟8.1:假設Yi為訓練數(shù)據(jù)集中splitS=splitSi的樣本集合,如果Yi為空,加上一個葉子結(jié)點,標記為訓練數(shù)據(jù)集中最普通的類;
步驟9:非步驟8.1中情況,則遞歸調(diào)用步驟6至步驟8;
步驟10:利用后剪支技術(shù)解決此決策樹模型中過度擬合問題;
步驟11:更新訓練數(shù)據(jù)集,保存新的示例數(shù)據(jù)。
本發(fā)明的有益效果是:
1、在決策樹分類的過程中,先把多類標識為兩類,簡化了之后構(gòu)建決策樹過程。
2、主動學習積極性更高,根據(jù)個人對類的偏好,進行類劃分。同時又考慮了構(gòu)建決策樹過程中產(chǎn)生的總成本。這樣的大數(shù)據(jù)分析方法應用范圍更廣泛。在歸類過程中,把個人喜好因素也涉及其中。
附圖說明
圖1表示一個決策樹構(gòu)建的結(jié)構(gòu)示例圖
圖2表示基于EP準則把多類標識為兩類的代價示例
圖3表示測試代價與誤分類代價示例
具體實施方式
以下,結(jié)合圖1到圖3對本發(fā)明進行詳細說明。
本發(fā)明的詳細步驟如下:
步驟1:設訓練集中有X個樣本,屬性個數(shù)為n,即n=(s1,s2,…sn),同時分裂屬性sr對應了m個類L,其中Li∈(L1,L2…,Lm),r∈(1,2…,n),i∈(1,2…,m),相關(guān)領(lǐng)域用戶設定好誤分類代價矩陣C,L利用EP準則對類進行處理得到誤分類代價矩陣C′:
誤分類代價矩陣:設類別標識個數(shù)為m,則該數(shù)據(jù)的代價矩陣m×m方陣是:
其中Cij表示第j類數(shù)據(jù)分為第i類的代價,如果i=j為正確分類,則Cij=0,否則為錯誤分類Cij≠0,其值由相關(guān)領(lǐng)域用戶給定,這里i,j∈(1,2,…,m);
類別標識個數(shù)為m,為方便描述,假設在僅有兩個類標號的數(shù)據(jù)集上建立決策樹,這里我們把m個類用EP準則判定為兩類情況,如圖2所示;其中TN代表真正反例,TP代表真正正例,c00與c11為預測正確時產(chǎn)生的代價,此時假設c00、c11都等于1,c01、c10為誤分類代價,一般情況下,c10>c01,即得誤分類代價矩陣C′為:
步驟2:創(chuàng)建根節(jié)點G;
步驟3:如果訓練數(shù)據(jù)集為空,則返回結(jié)點G并標記失敗;
步驟4:如果訓練數(shù)據(jù)集中所有記錄都屬于同一類別,則以該類型標記結(jié)點G;
步驟5:如果候選屬性為空,則返回G為葉子結(jié)點,標記為訓練數(shù)據(jù)集中最普通的類;
步驟6:根據(jù)總代價成本目標函數(shù)f與總誤分類代價因子w做比較來從候選屬性中選擇splitS;
總代價成本目標函數(shù)為:f=TC(S)+MC(S)<w
TC(S)為選擇屬性S時測試代價指標函數(shù),MC(S)為把選擇屬性S預測錯誤所引起的誤分類代價函數(shù),w為決策樹根據(jù)類劃分的總誤分類代價因子;
當選擇屬性splitS滿足總代價成本目標函數(shù)小于w時,則找到標記結(jié)點G;
步驟7:標記結(jié)點G為屬性splitS;
步驟8:由結(jié)點延伸出滿足條件為splitS=splitSi分支;
步驟8.1:假設Yi為訓練數(shù)據(jù)集中splitS=splitSi的樣本集合,如果Yi為空,加上一個葉子結(jié)點,標記為訓練數(shù)據(jù)集中最普通的類;
步驟9:非步驟8.1中情況,則遞歸調(diào)用步驟6至步驟8;
步驟10:利用后剪支技術(shù)解決此決策樹模型中過度擬合問題;
步驟11:更新訓練數(shù)據(jù)集,保存新的示例數(shù)據(jù)。
上述步驟所涉及到的公式計算以及定義,具體如下:
一、EP準則
設訓練數(shù)據(jù)集X,其類有m個,假如判定當前結(jié)點的類標號為Li,把Li判定為P例,則其他的就為N例,則:
其中nj表示該屬性中類別為Lj樣例個數(shù),i,j∈{1,2,…,m},cji為P例代價,∑j≠injcji為該結(jié)點產(chǎn)生的總P例代價;同理可得出N例有效代價EP(j);
則基于EP的結(jié)點類標號判定方法為:
二、所述步驟6,求解總代價成本目標函數(shù),其涉及到的函數(shù)有:測試代價指標函數(shù)TC(S)、誤分類代價指標函數(shù)MC(S)、總誤分類代價因子w,其具體的求解過程如下:
步驟6.1:求解測試代價指標函數(shù)TC(S)
假設當前選擇屬性S的測試成本為c1,c1由用戶根據(jù)實際情況估計,把S屬性根據(jù)類結(jié)點劃分為部分,已知值個數(shù)(P1,N1)與(P2,N2);
屬性S的總樣例個數(shù)為:
total number=(P1+N1)+(P2+N2)
則屬性S的測試代價函數(shù)為:
TC(S)=(P1+N1)+(P2+N2)×c1
其中P1為第1分支正例的個數(shù),N1為第1分支反例的個數(shù);P2為第2分支正例個數(shù),N2為第2分支反例的個數(shù);
步驟6.2:求解誤分類代價指標函數(shù)MC(S)
假設屬性S第一個分支為P結(jié)點,即EP(i)<EP(j);則第二分支則為N結(jié)點,即EP(i)>EP(j);
從上述指標可以得出誤分類代價指標函數(shù):
MC(S)=N1×cji+P2×cij
其中cji為FP代價,cij為FN代價,cji和cij由用戶根據(jù)具體情況來自定義;
步驟6.3:求解總誤分類代價因子w
根據(jù)EP準則可以得出訓練數(shù)據(jù)集中總的(P,N)分布值,(P,N)滿足P+NX條件;決策樹正例總誤分析代價c由相關(guān)專家給出,反例總誤分析代價為c′,所以:
w=N×c
步驟6.4:求解總代價成本目標函數(shù)
f=TC(S)+MC(S
=[(P1+N1)+(P2+N2)]×c1+[N1×cji+P2×cij]
根據(jù)選擇屬性f值與w的大小比較依次構(gòu)建決策樹結(jié)點:
1)當fS<w時,分裂屬性S可以減少樣本集的總代價,則把S作為此時分裂屬性;
2)當fS>w時,保留屬性,不再有子樹生成,則增加一個正例葉子結(jié)點。
三、所述步驟10,算法采用后剪枝技術(shù)的原理為:如果取消當前測試屬性可以減少決策樹模型的測試代價,那么就剪除當前測試結(jié)點,如代價復雜性剪枝和最少描述長度剪枝,代價復雜性剪枝在剪枝過程中因子樹被葉節(jié)點替代而增加的錯誤分類樣本總數(shù)稱為代價,剪枝后子樹減少的葉節(jié)點數(shù)稱為復雜性,最少描述長度剪枝根據(jù)決策樹的編碼代價大小進行剪枝,目標是使得訓練樣本的大多數(shù)數(shù)據(jù)符合這棵樹,把樣本中不符合的數(shù)據(jù)作為例外編碼,使得編碼決策樹所需的比特最小和編碼例外實例所需的比特最小:
后剪支目標函數(shù)為:
f(S)>β
其中正數(shù)β為用戶指定達到的條件,剪枝的條件首先要滿足盡可能使代價減損達到用戶指定條件,然后滿足測試代價降低到用戶要求。