馬占杰,楊淑瑩
(1.天津理工大學計算機科學與工程學院,天津 300384;2.計算機視覺與系統(tǒng)教育部重點實驗室,天津 300384)
F-measure 又稱為F-Score,是IR(信息檢索)領(lǐng)域的一個評價標準,常用于評價分類模型的好壞,也是作為不同類型預(yù)測問題的性能指標,包括二分類、多標簽分類(MLC)以及結(jié)構(gòu)化輸出預(yù)測的某些應(yīng)用,如文本分塊和命名實體識別等。與二分類中的錯誤率和多標簽分類(MLC)中漢明損失等方法相比,F(xiàn)-measure 方法在少數(shù)類和多數(shù)類之間都表現(xiàn)出很好的平衡性,因此,在非平衡數(shù)據(jù)的情況下更適合。
傳統(tǒng)的模式識別方法通常需要多個類別的樣本,因此需要設(shè)計兩個或多個類別的分類器。構(gòu)建分類器方法有很多,如貝葉斯[1]、決策樹、人工神經(jīng)網(wǎng)絡(luò)[2]、遺傳算法、支持向量機(SVM)[3]遺傳編程、粗糙集[4]、模糊判別等,在這些分類方法中,貝葉斯方法已經(jīng)成為最引人注目的焦點之一,因為它的精度高[5],可以有效地處理不完整的數(shù)據(jù)。然而,當樣本特征向量相互交織時,貝葉斯分類器容易出錯。為了提高貝葉斯分類器的性能,提出一些方法和技術(shù),例如,樹擴張型貝葉斯(TANB)、Generalized Naive Bayes 分類器[6]。 TANB 算法通過查找屬性之間的依賴關(guān)系來減輕樸素貝葉斯中任何屬性之間的獨立性假設(shè)。在學習參數(shù)方面,TANB 模型比樸素貝葉斯模型面臨更多的困難,特別是在訓(xùn)練集數(shù)據(jù)較少時。GNB 認為整個數(shù)據(jù)集只有一個概率依賴關(guān)系,當整個數(shù)據(jù)集單一分布時,GNB 性能會更好,但是,當整個數(shù)據(jù)集不是單一分布時,GNB 性能較差,近年來,評估措施在分類器分析和設(shè)計中起著至關(guān)重要的作用。準確率、召回率、精度、F-measure、Kappa、ACU 等新的措施已經(jīng)被提出[7]。F-measure 被認為是測試有效性的重要措施[8]。由于Bayes 和F-measure 的優(yōu)勢,本文結(jié)合了兩者對不平衡數(shù)據(jù)進行分類。
當大多數(shù)類的輸出數(shù)量遠遠超過其他幾個類時,很難將錯誤的樣本與這幾個類別分開。近年來,研究人員在不平衡問題上做出了很大的努力,并得到了更好的解決方案[9],例如,改變類分布,結(jié)合決策成本,在學習過程中用性能測量來替代標準算法的準確性。大多數(shù)方法更適合于平衡域中的分類。
本文提出一種不同的方法來解決這個問題,給出一種基于貝葉斯和F-measure 的新的分類器算法。所提出的算法不會改變類的分布和任何決策成本。首先計算后驗概率,當樣本不在混合交叉域時,本文應(yīng)用Beyes分類器進行分類。其次,當樣本處于混合交叉域時,本文采用新的框架對易錯分類區(qū)進行分類。
當樣本在混合交叉域內(nèi)時,貝葉斯分類器容易出錯。感知器算法適用于小樣本,它是收斂算法,具有計算簡單、存儲容量小和易于實現(xiàn)等優(yōu)點。F-measure 在分類器分析和設(shè)計中起著至關(guān)重要的作用。F-measure被認為是測試有效性的有效措施。
當樣本特征相互依存時,分類容易出錯。為了解決這個問題,本文提出一種新的分類算法。
在本文中假設(shè)有兩個類ω+,ω-,定義C={ω+,ω-}為可能類的集合,其中,ω+表示為正相關(guān)類,ω-表示為負相關(guān)類。TP(Ttrue Positive)表示類別為ω+的樣本被系統(tǒng)正確判定為類別ω+的數(shù)量,F(xiàn)N(False Negative)表示類別為ω+的樣本被系統(tǒng)誤判定為類別ω-的數(shù)量,顯然有P=TP+FN;FP(False Positive)表示類別為ω-的樣本被系統(tǒng)誤判定為類別ω+的數(shù)量,TN(True Negative)表示類別為ω-的樣本被系統(tǒng)正確判定為類別ω-的數(shù)量,顯然有N=FP+TN。
定義如下參數(shù):
平均精度A(accuracy)反映了分類器系統(tǒng)對整個樣本的判定能力:
召回率:
準確率:
F-measure(F1score orFscore)是準確率(Precision)和召回率(Recall)的加權(quán)平均值:
P和R指標往往出現(xiàn)矛盾的情況,為了綜合考慮,本文利用F-measure 作為適當?shù)脑u估標準。
為了最大化訓(xùn)練分類器的性能,必須找到適當?shù)膮^(qū)域Ω+,Ω-。FN,F(xiàn)P,TP,TN 可以通過以下公式計算:
式中:A和B是訓(xùn)練數(shù)據(jù)ω+類和ω-類中的個體數(shù),分布函數(shù)滿足:
由于函數(shù)f(W)的數(shù)值解通常只是某種意義上的最優(yōu)解。 定義準則函數(shù),然后在最大或最小的條件下使此準則函數(shù)找到解f(W)。梯度下降法確定準則函數(shù)J(W),然后選擇初始值W(1),迭代公式如下:
J(W)可以選擇如下:
下一步是求解使J(W)達到最小解的W。W(k)定義為W的第k個迭代解,W(k+1)是k+1 次迭代解。
式中C是校正系數(shù)。
假設(shè)α=1/2,方程(11)可以重寫如下:
式(12)可以表示如下:
當u(X)>0 時,表示樣本正確分類,W(k+1)=W(k),無需修改權(quán)重;否則,當u(X)≤0 時,表示樣本錯誤分類,W(k+1)=W(k)+CX(k),需要修改權(quán)重。普通感知器只考慮調(diào)整單個樣本,而不考慮樣本分布的調(diào)整。為了解決這個問題,本文提出F-measure感知器算法。
傳統(tǒng)的貝葉斯分類器是使后驗概率最大化,改進的算法是使F-measure最大化。最大化F-measure等于最小化E:
根據(jù)式(12)~式(14),E表示為:
為了最小化E,可以使用輔助函數(shù)u(x)來表達問題。當x∈Ω+時,u(x)>0;x∈Ω-時,u(x)<0。
方程(18)可以表示如下:
式中H(y)是平滑的單位階躍函數(shù)。式(19)的一階導(dǎo)數(shù)如下:
式中δ(y)是平滑的狄拉克函數(shù)。
u(x)通過式(21)獲得。梯度下降法用于求解方程(21)。具體來說,使用初始化的u0來求解偏微分方程。
當偏微分方程達到穩(wěn)態(tài)時,式(21)得到滿足。
本文首先計算樣本的后驗概率。如果后驗概率大于閾值,則樣本不在容易出錯的區(qū)域中。如果后驗概率的最大值小于或等于閾值,則樣本處于容易出錯的區(qū)域,然后采用新方法進行分類。對于n維空間,樣本由矢量X=(x1,x2,…,xn)T表示,識別函數(shù)如下:
式中:W0=(w1,w2,…,wn)T是權(quán)重向量。在樣本向量的末尾添加元素1。式(23)可以寫為:
訓(xùn)練過程獲得權(quán)重向量W,使用梯度下降法計算W。式(19)可以重寫為:
式(20)可以重寫為:
W通過迭代計算獲得:
矢量的方向主要取決于最大分量的值。負梯度矢量表示最速下降的方向。當梯度矢量為零時,它可以達到函數(shù)的極值。如果可以達到極值,得到式(21)的最優(yōu)解。W(k)被定義為W的第k個迭代解,W(k+1)是第k+1 次迭代解。
其中C是校正系數(shù)。
邊界確定的具體步驟如下:
1)權(quán)重向量的初始值為0,W0=W1=W2=…=W9=0。
2) 計算第k次迭代的結(jié)果,ui[X(k)]=
3)如果δ(WTX)=0,則不需要修改權(quán)重;如果δ(WTX)=1,則需要修改權(quán)重。
式中:
4)返回到步驟2)循環(huán),直到權(quán)重不需要修改。
5)測試樣品的特性用于計算式(24)。
6)根據(jù)u(X)的正或負判斷類別:
將本文提出的方法用于齒輪故障診斷,使用100 個正常齒輪樣本和30 個異常齒輪樣本的不平衡數(shù)據(jù)集。小波包和包絡(luò)譜的能譜用于故障診斷。正常齒輪有100×9 個特征,異常齒輪有30×9 個特征。去噪后的齒輪故障信號波形如圖1 所示。故障信號由3 層小波包分解,得到8 個頻帶能量,如圖2 所示。小波包分解后的能量分布可以清楚地顯示故障信息齒輪,證明故障診斷有用。異常齒輪的包絡(luò)譜如圖3 所示。
圖1 去噪后故障齒輪的信號Fig.1 Signal of fault gear after denoising
圖2 3 層小波包分解后的能量分布Fig.2 Energy distribution after decomposition of 3-layer wavelet packet
圖3 故障齒輪的包絡(luò)譜Fig.3 Spectrum envelope of fault gear
將本文提出的算法與傳統(tǒng)的樸素貝葉斯分類器進行比較。圖4 顯示了所提出的算法和傳統(tǒng)的樸素貝葉斯分類器在β變化時的魯棒性。表1 給出了實驗結(jié)果的詳細情況,每個算法執(zhí)行5 次。所提出算法的參數(shù)為β=1,C=1。實驗的收斂速度取決于初始向量W(1)和C。從表1 可以看出,樸素貝葉斯分類器具有差的F-measure、召回率和準確率。本文所提出的算法得到了更好的F-measure,得到了更高的召回率和準確率。由于樣本的特征向量不是完全獨立的,所以本文提出的方法比傳統(tǒng)的樸素貝葉斯分類器具有更高的識別率。
圖4 算法魯棒性對比Fig.4 Comparison of robustness of algorithm
表1 每個算法超過5 次執(zhí)行的性能值Table 1 Performance values for more than 5 times executed by each algorithm%
對于實驗驗證,用KEEL 數(shù)據(jù)集[10]中提供的公開實際數(shù)據(jù)進行了實驗驗證。對多類數(shù)據(jù)集進行修改以獲得兩類不平衡問題,以便一個或多個類的聯(lián)合成為正類,其余類中的一個或多個類的聯(lián)合被標記為負類。表2 給出了實驗研究中使用的不平衡數(shù)據(jù)集的描述。表2 中顯示的信息包括:數(shù)據(jù)集名稱(數(shù)據(jù)集);屬性數(shù)(Atts.);樣本數(shù)(Ex.);少數(shù)群體和多數(shù)群體的百分比(%min;%max);不平衡比(IR)。
在研究中,將提出的算法與普通感知器、結(jié)合貝葉斯和梯度下降的感知器以及傳統(tǒng)的樸素貝葉斯分類器進行比較。每個算法進行10 次交叉驗證。應(yīng)用95%置信水平的雙尾t檢驗系統(tǒng)地比較NB 算法、普通感知器算法和結(jié)合貝葉斯和梯度下降的感知器算法的分類精度。在圖5 中,通過使用5 個數(shù)據(jù)集獲得Fβ值。所提出的算法具有最好的結(jié)果。表3 給出詳細實驗結(jié)果。實驗結(jié)果表明,隨著不平衡數(shù)據(jù)的增加,NB、普通感知器和結(jié)合貝葉斯和梯度下降的感知器算法的分類精度逐漸降低。與這三種方法相比,本文提出方法的分類精度最高。雖然提出方法的準確性隨著失衡數(shù)據(jù)的增加而減小,但平均準確率為90.42%。
表2 不平衡數(shù)據(jù)集的描述Table 2 Description of unbalanced data set
圖5 不同算法的Fβ 值Fig.5 Fβ values of different algorithms
表3 分類精度比較Table 3 Comparison of classification accuracy %
本文提出一種新的分類算法處理不平衡問題,尤其在樣本特征相互依賴時。首先計算后驗概率以判斷樣本是否位于易錯區(qū)域。采用該算法對易于誤分類的樣本進行分類,在研究中,將所提出的算法與傳統(tǒng)的分類器方法進行了比較,實驗結(jié)果證明了該方法的優(yōu)越性。