鄧 柙, 呂王勇,2*, 代 娟, 陳 雯, 李思奇
(1. 四川師范大學 數學科學學院, 四川 成都 610066;2. 四川師范大學 可視化計算與虛擬現實四川省重點實驗室, 四川 成都 610066)
隨著信息技術的快速發展,各領域數據處理的需求正以前所未有的速度增長.數據分類作為一種基礎的數據處理方法,已廣泛應用于數據的智能化處理.人工神經網絡(artificial neural network)簡稱神經網絡[1-2],作為一種基礎的數據分類方法,一直以來都深受研究者青睞.它是由網絡節點相互連接而構成,并模仿人腦工作的模型.神經網絡實質上是一個數學計算模型,是由彼此連接的節點、網絡包含的激勵函數以及節點間的連接權值而構成,并采用上述結構模擬人腦工作[3],從而解決實際問題[4].20世紀末期,研究者們給出多層神經網絡及誤差逆向傳播算法[5],并提出BP神經網絡模型這一目前人工神經網絡應用最為廣泛的一種網絡模型,已成功應用于模式識別、生物信息處理、決策支持等領域[6-7].
自1986年,Rumelhart等[7]提出BP神經網絡模型以來,作為一種新的學習理論,BP神經網絡引起了眾多科研人員的研究興趣,已成為機器學習領域及數據分類的研究熱點.研究者們根據BP神經網絡的種種優點和缺點并結合其他專業知識進行擴展研究,提出了許多擴展的BP神經網絡分類模型[8-17].大多數BP神經網絡分類模型是基于經驗風險最小的分類模型,使期望模型在訓練集的分類錯誤率盡可能低,但都是適用于數據是平衡的或給定相等的錯誤分類代價,而這會造成少數類中的樣本被大量誤分,從而造成分類器對少數類識別性能的下降.而現實中的數據通常具有不平衡特性,即某一類的樣本數量要遠遠少于其他類的樣本數量,且少數類具有更高錯分代價.因此,采用傳統的神經網絡模型時,數據的失衡往往造成分類面的偏倚,導致難以得到令人滿意的分類效果.現今國內外學者相繼提出了多種用于解決類不平衡問題的方法[18-20],不少學者也基于神經網絡提出一系列處理不平衡數據的分類模型,能夠提高模型對少數類樣本的識別率.文獻[21]提出了一種融合CNN(卷積神經網絡)和EWC算法的不平衡文本情緒分類方法,該方法在不平衡文本情緒分類上的準確率和G-mean測度較優于其他算法;文獻[22]通過對現有不平衡數據處理方法進行分析,結合神經網絡和模糊推理系統,提出基于數據和算法層面的混合式不平衡數據處理算法,該算法在解決了數據不平衡問題的同時,還提升了分類器對少數類的分類效果與整體分類準確度;文獻[23]針對機械設備實際工作過程中正常樣本豐富、故障樣本匱乏的問題,提出一種代價敏感卷積神經網絡模型,該方法對不平衡數據集中的少數類樣本識別率相對于傳統神經網絡提升了22%以上;文獻[24]通過數據、算法、特征3個層面提出了一種基于蒙特卡洛神經網絡的不平衡分類算法,解決了不平衡分類的過擬合、類別不平衡、特征冗余等問題,不但整體分類性能更好,而且能顯著提高少數類樣本的分類性能,具有重要的現實意義;不少研究也通過將神經網絡中的極限學習機進行加權處理用于處理不平衡分類問題[25-28],如文獻[27]充分討論了數據分布特性對分類器的影響與極限學習機思想,提出了一種結合卷積神經網絡和數據分布的加權極限學習機,針對不平衡分類問題,該算法不僅在整體分類精度和對少數類識別率上更高,還同時結合了CNN對特征提取的優點和ELM訓練速度快、分類精度高的優點.但是以上模型都沒有考慮通過數據的先驗信息對神經網絡的目標函數進行加權,來解決不平衡分類問題.本文主要針對大數據分類中各類規模差異較大導致的分類精度不高的問題,基于代價敏感學習的思想并結合數據的先驗信息,提出一種基于先驗概率的加權方法,通過對神經網絡中的目標函數進行加權,增強對稀有少數類的敏感代價學習,使得改進后的神經網絡分類器能夠提高對較小類別的正確識別率.
人工神經網絡通過模仿人腦神經系統的工作流程,從而完成對輸入信息進行快速處理.神經網絡通過全連通的網絡拓撲結構、訓練參數、連接權值及訓練算法等,實現對實際問題的處理或者完成某些功能.BP神經網絡是基于誤差反向傳播算法的多層前饋神經網絡,具有良好的非線性映射能力、泛化和容錯能力,是目前人工神經網絡應用最為廣泛的一種網絡.BP神經網絡學習是有監督的,整個網絡的迭代由2個部分組成,分別為“前向傳播”和“后向傳播”.當輸入訓練樣本后,網絡不斷將實際輸出與目標輸出進行對比,同時進行誤差計算,并按照訓練算法例如梯度下降法對網絡的參數不斷進行修正,使其實際輸出不斷接近目標輸出.網絡按照上述過程不停地循環訓練,通過迭代不斷更新權重和偏置,使得目標函數值向預期值靠攏,從而得到較為精確的實際輸出.
神經網絡一般由輸入層、隱含層(隱含層可以有多層)和輸出層構成,如圖1所示.

圖 1 神經網絡

1) 前向傳播.從輸入層到隱藏層:
j=1,2,…,num(1).
(1)
隱藏層之間:
l=2,3,…,m-1, j=1,2,…,num(l).
(2)
從隱藏層到輸出層:
j=1,2,…,num(m).
(3)
2) 后向傳播.在經典神經網絡中,常常采用梯度下降法對參數進行最小二乘估計,目標函數為殘差平方和
(4)

但是經典神經網絡都是傾向于假設數據是平衡的,若訓練集X中的類別數是不平衡的,即某一種類別數的樣本量要遠遠小于其他類別的樣本數,此時經典的神經網絡算法就不再適用.其實可以看到當存在不平衡分類問題時,這時一般的目標函數(殘差平方和)即(4)式就不能準確地反應分類器的好壞.現假設訓練集X共有N=100個樣本,共有類別數t=2個,其中有1類樣本90個,0類樣本10個.若出現以下2種情況:1) 分類器A把所有的測試樣本都分成了1類,則分類器A的殘差平方和為10;2) 分類器B把1類的90個樣本中85個分為1類,0類的10個樣本中5個分為0類,分類器B的殘差平方和也為10,但顯然分類器A的效用遠不如分類器B.此時目標函數(4)式已經不能準確地反映分類器的好壞,出現這種情況是因為在目標函數中,算法給定了大類樣本和稀有少數類樣本相等的錯誤分類代價,這樣會造成少數類中的樣本被大量誤分.
本文基于代價敏感學習的思想,希望改進目標函數增強對稀有少數類的敏感代價學習.那如何改進呢?可以看到各類別的先驗信息存在較大的差異,即樣本不同類之間的數量相差較大,為解決此類問題,本文考慮利用各類別的先驗概率對神經網絡中的(4)式目標損失函數進行加權.如對于0類樣本,其樣本數為10,占總的訓練樣本的1/10,即0類的先驗概率為1/10,取其倒數即為10,將其倒數10加入到神經網絡中的目標損失函數,當網絡對少類樣本進行網絡迭代時,讓此時的目標函數值增加10倍,從而提高對稀有少數類別的代價敏感學習,從而增強對少數類別的識別.
3.1 加權目標函數先驗概率是指根據以往經驗和分析得到的概率,例如拋硬幣,大家都認為正面朝上的概率是0.5,這就是一種先驗概率.先驗概率反應了原始數據中包含的各類別的基本信息,在分類問題中可取某類的先驗概率為該類別樣本數所占總樣本數的比例.先驗概率確定以后,接下來對目標函數進行加權.在實際案例中,很多時候要求分類器更關注一個類別,即盡可能地將這個類別判對,此時只需要對單個類別加權.若要對第i類進行加權,設該類樣本共有Ni個,則對于訓練樣本中的第k個樣本,通過先驗概率定義權重
(5)
其中
表示第i類的先驗概率,即該類樣本數占訓練樣本總數的比例.
(6)
(7)
類似于對單個類別加權,考慮多個類別數據規模對分類結果的影響,此時類別數也設為m個,對于訓練樣本中的第k個樣本,利用先驗概率定義權值為
W=W1W2…Wm=
(8)
其中若該樣本k是屬于第m類,則
Tm(k)=1,
T1(k)=T2(k)=…=Tm-1(k)=0,
此時權值
W=W1W2…Wm=
這樣就可以對屬于m類的樣本進行加權,進而對于屬于不同類的樣本都可以進行相應的加權.將(8)式代入目標函數(4)式中,對于N個樣本,可以構造新的目標函數為
(9)

3.2 基于先驗概率加權神經網絡的權值和偏置的迭代過程基于先驗概率的加權神經網絡的前向傳播過程與經典神經網絡的是一樣的,在前面已經介紹過,下面給出基于先驗概率的加權神經網絡的后向傳播過程推導.
對于第k個樣本,則對于該樣本的目標函數為
激活函數采用sigmoid函數,神經網絡的輸出值僅與輸入值、權值以及偏置有關.后向傳播的目的為調整權重和偏置,采用梯度下降法對其更新,過程推導如下:
(10)
(11)


(12)
當l=1,2,…,m-1時,有
(13)
3.3 基于先驗概率加權的神經網絡算法步驟
輸入:訓練數據集X.
輸出:訓練后的BP神經網絡.
步驟1:初始化BP神經網絡節點個數、網絡參數、權值與偏置、最大訓練次數等,并根據訓練樣本得到小類別的先驗概率,按照上述方法加入目標函數中,從而構建新的目標函數.
步驟2:將樣本輸入到網絡進行訓練,得到實際輸出.
步驟3:計算網絡誤差,并將當前訓練次數加1.
步驟4:當訓練次數達到最大,或誤差E小于目標函數誤差,網絡則停止訓練,算法結束;否則,轉至步驟5.
步驟5:計算網絡誤差即目標函數值,利用上述公式調整權值與偏置,并轉至步驟2.
本文將提出的基于先驗概率加權的神經網絡算法與經典神經網絡算法應用于不平衡數據分類問題中進行性能分析和比較,并驗證提出算法的有效性和實用性.
在實驗中,取其小類別樣本占所有樣本的比例作為先驗概率值,采用梯度下降法去調整權值和偏置,激活函數采用sigmoid函數,最大訓練次數都設為20 000次.此外,考慮到在不平衡分類問題中,整體分類精度不能反映分類器的真實性能.因此,采用G-mean測度作為分類性能的另一個量度,其計算公式為
(14)
其中,Acc+與Acc-分別代表少數類與多數類樣本的分類精度,因此,G-mean測度測試的是2類樣本分類精度的平衡度.
本文分類數據選用銀行違約數據Defalt和UCI經典二分類數據集中的Credit數據集,具體信息如表1所示.

表 1 數據信息
4.1 實驗1:Defalt數據分類銀行違約數據集Defalt通過數據中的信用卡余額(balance)、收入(income)以及是否為學生(student)3個變量建立神經網絡對樣本進行分類,判斷是否違約.該數據共有10 000個樣本,將樣本按照是否違約分為2類,其中違約樣本只有333個為小類別,則該小類別大概占樣本的1/30,可取其目標函數中的權重為30,不違約樣本類別的權重依然取為1.得到目標函數權重之后,將訓練樣本分別帶入經典神經網絡和基于先驗概率的加權神經網絡2種算法中,從而建立網絡,并分別用測試樣本的結果進行比較.得到多次神經網絡后的整體分類精度和G-mean測度的平均值結果如表2~5所示.

表 2 2種算法在Defalt數據集上的比較

表 3 經典神經網絡的一次具體分類結果

表 4 加權神經網絡的一次具體分類結果

表 5 2種算法在Credit數據集上的比較
由表2可知,基于先驗概率的加權神經網絡在訓練樣本中的整體分類精度和G-mean測度的平均值都優于經典神經網絡的;而在測試樣本中,雖然經典神經網絡的分類精度是優于加權神經網絡的,但是2類樣本分類精度的平衡度(即G-mean測度值)是很差的,說明經典神經網絡對于少數類別樣本的識別不夠精確,而加權神經網絡則大大優化了這一點.圖2和3是其中一次具體分類結果以及相應的ROC曲線.由表2~5及圖2和3可知,基于先驗概率的加權神經網絡在訓練樣本中對類別較少的樣本的識別率可以達到100%;而在測試樣本中,雖然犧牲了一定的整體分類精度,但是能在一定程度上增強對稀有類樣本的識別,并且從各自的ROC曲線也能看出,加權神經網絡在訓練樣本上的AUC值能夠達到1,并且其后測試樣本的ROC曲線的AUC值也是較優于經典神經網絡的.

圖 2 經典神經網絡訓練樣本和測試樣本的ROC曲線

圖 3 加權神經網絡訓練樣本和測試樣本的ROC曲線
4.2 實驗2:Credit數據分類對于Credit數據集的處理類似于違約數據,數據共有1 000個樣本,其中一類樣本700個,取目標函數中該類別的權重為1;另一類較少樣本300個,占總數的1/3,取該類別的權重為3.通過權值構造目標函數后,將訓練樣本分別帶入經典神經網絡和基于先驗概率的加權神經網絡2種算法中建立網絡,并分別用測試樣本的結果進行比較,得到多次神經網絡后的整體分類精度和G-mean測度的平均值結果如表6和7所示.

表 6 經典神經網絡的一次具體分類結果

表 7 加權神經網絡的一次具體分類結果
實驗2的結果與實驗1類似,基于先驗概率的加權神經網絡在訓練樣本上的分類精度和G-mean測度都是要優于經典神經網絡的;測試樣本上雖然分類精度較低于經典神經網絡,但G-mean測度較好,說明改進的加權神經網絡能夠增強對稀有少數類樣本的識別.圖4和5是其中一次具體分類結果以及相應的ROC曲線.
由表6和7及圖4和5的一次具體分類結果以及相應的ROC曲線和AUC值可知,不管是在訓練樣本還是測試樣本上,基于先驗概率加權的神經網絡對于稀有少數類別的樣本的識別率都是優于經典神經網絡的,可以減少對少數類別的錯分代價.

圖 4 經典神經網絡訓練樣本和測試樣本的ROC曲線

圖 5 加權神經網絡訓練樣本和測試樣本的ROC曲線
本文基于代價敏感學習的思想,利用樣本先驗概率通過對神經網絡目標函數的加權構造,提出了基于先驗概率的加權神經網絡模型.此模型優化了經典神經網絡在不平衡數據中對于少數稀有類別的分類識別,克服了各類規模差異較大對分類器的影響.最后通過2種神經網絡在真實數據上的對比測試,驗證了改進模型的有效性和實用性,具有一定的潛在應用價值.