本發(fā)明涉及智能服務(wù)、機器學(xué)習(xí)技術(shù)領(lǐng)域。
背景技術(shù):
決策樹決策方法是機器學(xué)習(xí)領(lǐng)域中經(jīng)典算法,得到了廣泛應(yīng)用。早期分類中,一般認為準確率是對分類效果很重要的衡量標準之一。以ID3算法為代表,它主要是在分裂屬性選擇方法和優(yōu)化剪支策略兩方面的研究。在實際的許多分類問題中,算法ID3存在各種條件的限制。其中最主要一點是缺乏背景知識,從而限制學(xué)習(xí)過程。如一位腦腫瘤專家在判定一個患頭疼的病人時,第一次并不進行最有效果的昂貴掃描,此時專家有經(jīng)濟標準。在這種簡單常見的病癥下,一開始是簡單問題測試或是一些其它更為經(jīng)濟的測試,另外針對于數(shù)據(jù)流中需要找到最匹配的訓(xùn)練樣本。再對此訓(xùn)練樣本構(gòu)建分類器。以增量方式更新分類器。此分類器在進行數(shù)據(jù)分類的過程中應(yīng)遵循測試成本最小化歸納規(guī)則,以適應(yīng)更多實際數(shù)據(jù)分類問題,基于這種需求,本發(fā)明提出了更優(yōu)化的基于測試代價的決策樹分類器構(gòu)造方法。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種更優(yōu)化的基于測試代價的決策樹分類器構(gòu)造算法。
本發(fā)明的目的是:使機器學(xué)習(xí)決策過程中所產(chǎn)生經(jīng)濟成本最小,構(gòu)建更優(yōu)化的決策樹分類器。
本發(fā)明為實現(xiàn)上述目的所采取的技術(shù)方案是:本發(fā)明從庫中數(shù)據(jù)流中提取最匹配的訓(xùn)練示例樣本為標識示例,對新示例進行類預(yù)測,若在分類過程中為相同的類,或測試屬性為空時,則標識示例類符合此新示例。之后遵循測試成本代價最小原則構(gòu)建決策樹,這里的測試代價限制條件更加嚴苛,也更優(yōu)化。測試代價f作為選擇屬性標準,c作為分裂屬性標準。若在葉子結(jié)點出現(xiàn)未知類,同時測試成本也更優(yōu)化,則更新庫,保存新示例。更優(yōu)化的決策樹分類器就構(gòu)成了。
本發(fā)明的有益效果是:
1、在第1步就進行了庫中訓(xùn)練樣本的篩選,提高對未知示例歸類的準確率。
2、選擇屬性限制條件f在之前基礎(chǔ)上更加嚴苛,使在歸類過程中付出代價更少。
3、可以實現(xiàn)對未知示例歸類基礎(chǔ)上,如果未知示例中出現(xiàn)了庫中未有類別,同時其代價成本又低,則更新庫,保存新的示例,功能更加完善。
附圖說明
基于測試代價的決策樹分類器構(gòu)造示意圖
具體實施方式
以下,結(jié)合示意圖對本發(fā)明進行詳細說明。
本發(fā)明的具體實施步驟如下。
步驟1:根據(jù)保存示例與新示例之間的特征差值d來標識和鑒定訓(xùn)練示例樣本S:
其中xtisaved/new為已有新示例第i屬性值,表示它們之間相關(guān)性,取值范圍為[0,1],當沒有數(shù)值屬性時,即為0,否則就為1;當兩比較特征有至少一個值未知,就標記為0.5,當d越大,則標識了更多示例,當d=0時,則找到了最佳匹配訓(xùn)練示例;
步驟2:專家根據(jù)實際情況,給出每項屬性進行的測試成本costX:
在訓(xùn)練樣本集S中進行每一項屬性測試需要的費用,記為cost,costX為第X屬性測試成本,測試代價由相關(guān)專家給出;
步驟3:用戶自定義參數(shù)經(jīng)濟因子ω,它范圍為[0,1],經(jīng)濟因子w為用來校準成本花費的一個變量,當w=1為最大成本花費;完整閾值ct由相關(guān)領(lǐng)域?qū)<医o出,其取值范圍為ct∈[0,1];
步驟4:根據(jù)f遍歷輸入的訓(xùn)練樣本集候選屬性列表,計算每個候選屬性,得出當前選擇屬性;
步驟4.1:遍歷所有訓(xùn)練樣本集的屬性,計算每個屬性的f,選擇f值最大的屬性作為測試代價決策樹分類器的根結(jié)點;
候選屬性的選擇因子f為:
f=I2(X)/ICF(X)
其中I(X)為訓(xùn)練示例集中屬性為X的信息增益,ICF(X)為屬性X的信息成本函數(shù);
步驟5:對應(yīng)于步驟4得出的最大候選屬性每一個屬性值,在結(jié)點下生成相應(yīng)分支(即分裂抽象屬性);每個分支樣本集合為所有屬性值對應(yīng)分支的訓(xùn)練樣本,這樣訓(xùn)練樣本集為i個子集,i也為屬性值個數(shù);
步驟6:將每個子集Si作為新的訓(xùn)練樣本集,對各子集遞歸調(diào)用本算法,即重回步驟4,用同樣的方法將樣本子集分割,產(chǎn)生分支的分支,同時獲得相應(yīng)子集的子集,直到滿足以下兩條件之一則終止建樹過程,即:
條件1:在一個子集或分支結(jié)點中所有樣例屬性都為同一類別,又稱之為觀測值;
條件2:在一個子集或分支結(jié)點中所有樣本為空;
步驟7:在葉子結(jié)點分類時出現(xiàn)未知類同時又有廉價的測試功能,則更新庫保存新的示例。
一、所述步驟4.1計算候選屬性的選擇因子f,需要求出信息增益函數(shù)、信息成本函數(shù)、以及在求解過程中會用到信噪比函數(shù),具體計算過程如下:
1、信息成本函數(shù)
1)根據(jù)信息論,信噪比這一函數(shù)功能在數(shù)據(jù)分析方面得到了廣泛的應(yīng)用,有下式:
有UI+NI=TI(總信息)
得出z()=[UI/NI]=[TI/NI]-1
根據(jù)上面的信噪比z()函數(shù)和ID3決策樹算法原理,有:
ΔT=R(TI)-R(NI)=[2R(TI)/2R(NI)]
由于TI=2R(TI),NI=2R(NI)
所以
2ΔT=[TI/NI],2ΔT=[UI/NI+1]=z()+1
所以上式信噪比函數(shù)又可寫為z()=2ΔT-1;
2)根據(jù)信噪比函數(shù)和ΔT函數(shù)可得知:
這里ΔTX為屬性X信息增量,w為檢驗經(jīng)濟標準一個變量,w∈[0,1],costX為屬性X的測試成本,costX+1>1,當cost=0時,f(cost)有意義;ICF是信息成本函數(shù),用來表征每一屬性的選擇;
2、信息增益函數(shù)I2(X)
這里X為屬性,ti為屬性X的第i個屬性值,{C}為類集合,p(Cj|X=ti)當屬性X的值為ti時類為Cj的概率,直到訓(xùn)練樣本集有相同類或是屬性為空時,這個分類過程結(jié)束。
二、所述步驟5分裂屬性的選擇方法為:
定義分裂抽象屬性選擇因子為c,未知示例樣本屬性的葉子結(jié)點i的種類個數(shù)為m,我們把此葉子結(jié)點稱為觀測值,其中i∈[1,2…,m],已保存訓(xùn)練樣本葉子結(jié)點數(shù)為j,其中j∈[1,2…,n]:
其中,當已保存示例樣本集中第j個葉子結(jié)點中包含第i類觀測值時,h(i,j)=1;相反如果已保存示例樣本集第j個葉子結(jié)點中不包含第i類觀測值,即h(i,j)=0:
當時,我們選擇這個抽象屬性進行分裂;
當c=0時,更新庫,保存新示例對象。