徐 昌, 陳金瓊, 周 文
(安徽師范大學 數(shù)學與統(tǒng)計學院,安徽 蕪湖 241002)
近年來不平衡數(shù)據(jù)分類[1]在分類領域占有越來越重要的地位,嚴重不平衡的案例極有可能出現(xiàn)在決定性問題中,左右問題處理的走向,從而影響處理的結果。同等分布的數(shù)據(jù)在預測中是強制的,以避免錯誤分類[2]。然而,不平衡現(xiàn)象一直是預測問題的主要障礙之一[3]。Wang等人[4],不平衡數(shù)據(jù)集創(chuàng)建了不精確的分類模型,特別是對于少數(shù)類。此外,Provost等人進行的一項研究[5],指出數(shù)據(jù)集的比例從一個類到另外一個類可以是一萬到十萬。之前的一些關于不平衡數(shù)據(jù)的研究已經(jīng)開展。不平衡數(shù)據(jù)的影響出現(xiàn)在電信風險管理[6]、石油泄漏研究[7]、文本識別[8]、蜂窩通信中的欺詐特征[9]和電子垃圾郵件等問題[10]。
為了克服不平衡的數(shù)據(jù)問題,已經(jīng)進行了幾項早期研究。Batista等人[11]使用一種方法來減少主體群體并增加較小群體,Cristianini等人[12]對類的權重進行了微調(diào),Chawla等人[13]提出一種少類樣本合成過采樣技術(Synthetic Minority Oversampling Technique,SMOTE)。SMOTE識別難以學習的小類樣本數(shù)據(jù)并剔除,然后根據(jù)訓練小樣本點與最近聚類中心的歐氏距離為其賦予權重,最后按照采樣率從小類樣本數(shù)據(jù)中生成合成新樣本數(shù)據(jù)。
模糊c均值聚類(FCM)是一種廣泛使用的不平衡數(shù)據(jù)問題算法。Jain等人[14]基本是研究聚類在沒有指定的輸出標簽的情況下,實現(xiàn)數(shù)據(jù)的模型構建。FCM是使用隸屬度函數(shù)確定數(shù)據(jù)集中每個樣本點屬于某個聚類程度的一種聚類方法,其中一項研究將基于FCM的算法應用于不平衡數(shù)據(jù)分類[15]。此外,F(xiàn)CM與支持向量機(SVM)分類的組合優(yōu)于僅使用分類的模型[16],同時,在不平衡數(shù)據(jù)集分類步驟之前,還應用于基于FCM聚類的重新采樣非平衡數(shù)據(jù)預處理方法[17]。
Huang等人[18,19]提出新型的神經(jīng)網(wǎng)絡極限學習機(Extreme Learning Machine,ELM)是受監(jiān)督的單隱層前饋神經(jīng)網(wǎng)絡(SLFN)。傳統(tǒng)的前饋神經(jīng)網(wǎng)絡通常采用基于梯度的算法進行訓練,因此需要大量的時間和迭代才能獲得最優(yōu)的參數(shù),并且總存在一些問題,如局部最優(yōu),參數(shù)靈敏度等。ELM最主要的特點在于隨即初始化輸入層和隱含層權重,并且直接通過最小二乘估計計算輸出權重。在理論和模擬中,ELM不僅克服了傳統(tǒng)前饋神經(jīng)網(wǎng)絡的缺點,而且實現(xiàn)更快的速度和更好的泛化性能。ELM是基于最小平方損失函數(shù),在處理不平衡數(shù)據(jù)時沒有得到良好的效果。Huang G等人[20]提出了無監(jiān)督極限學習機(Unsupervised Extreme Learning Machine,US-ELM),在沒有標記數(shù)據(jù)可用的情況下,利用未標記的數(shù)據(jù)探索輸入空間的數(shù)據(jù)結構來提供有用的信息。通過假設輸入數(shù)據(jù)遵循輸入空間中的某些簇結構或流形,將未標記數(shù)據(jù)合并到學習過程中。由于無監(jiān)督學習更符合現(xiàn)實世界中數(shù)據(jù)情況,使得無監(jiān)督學習在數(shù)據(jù)的分類有效性和合理性方面起著重要的作用。
本文提出了改進的無監(jiān)督極限學習機。首先,我們對無標簽的不平衡數(shù)據(jù)集進行聚類,分為不同的幾個簇,對不同簇上的數(shù)據(jù)采用五折交叉驗證,再將數(shù)據(jù)進行融合形成訓練集和測試集。然后,我們將訓練集樣本進行模糊c均值聚類,計算出聚類中心和每個樣本點的隸屬度值,再根據(jù)設定的容忍度值迭代新的聚類中心直到終止。這樣得到多個聚類中心的不同簇,針對小類樣本數(shù)據(jù),本文用SMOTE過采樣技術增大小類樣本數(shù)據(jù)個數(shù),從而使得小類樣本數(shù)據(jù)個數(shù)與大類樣本個數(shù)近似相等。最后我們將融合后的訓練集放入到無監(jiān)督極限學習機(US-ELM)中訓練得到訓練模型,再將測試集數(shù)據(jù)放入到已經(jīng)訓練好的模型中得到最終的分類結果。為了更好的分析本文改進算法的性能,采用對不平衡數(shù)據(jù)有很好分類效果的GEPSVM[21]、FCM-SVM[22]、FCM-ELM[23]作為對比算法進行試驗結果分析。比較了四種算法在數(shù)據(jù)集Cmc-0-2、Zoos-2-3、Pendigts-0-6、Nursery-2-3、Credit-8-9和page-blocks-0-4上的總體預測準確度(ACC)、靈敏度(SN)、特異性(Spec)和Matthew相關系數(shù)(MCC)值。在Cmc-0-2數(shù)據(jù)集、Zoos-2-3數(shù)據(jù)集、Pendigts-0-6數(shù)據(jù)集、Nursery-2-3數(shù)據(jù)集、Credit-8-9數(shù)據(jù)集和page-blocks-0-4數(shù)據(jù)集分別取得了87.23%、92.38%、97.86%、92.27%、89.23%和90.12%的靈敏度(SN)值。SN值主要衡量算法對小類樣本分類性能的評價指標,相比與其他三個處理不平衡數(shù)據(jù)的算法,本文提出的改進算法在SN值上有很好的結果。因此,F(xiàn)CM-US-ELM在處理不平衡數(shù)據(jù)上有很好的分類性能。
(1)
其中λ是權衡參數(shù),β是隱藏層與輸出層連接的輸出權重,H=[η(x1)T,η(x2)T,…,η(xN)T]∈RN×nh,η(xi)
表示隱藏層相對于xi的輸出向量,L∈R(l+u)×(l+u)是標記和未標記數(shù)據(jù)構建的拉普拉斯算子。注意到上述公式β=0時總是達到最小值。我們必須引入附加約束來避免退化解。具體來說,無監(jiān)督習機的的公式如下:
(2)
通過選擇β作為矩陣,給出(2)的最優(yōu)解,該矩陣的列是與廣義特征值問題的第一個最小特征值問題相對應的特征向量為:
(Inh+λHTLH)v=γHTHv
(3)
其中γ1,γ2,…,γn0+1(γ1γ2…γn0+1)為n0+1個最小特征值,v1,v2,…,vn0+1為其對應的特征向量。我們可以把(2)式改寫為:
(4)
其中A=Inh+λHTLH和B=HTH。輸出權重β為:
(5)
如果標記數(shù)據(jù)的數(shù)量小于隱藏神經(jīng)元數(shù)量,則(3)未被確定。在此情況下,使用與前面類似的方法,我們有以下的替代公式:
(Iu+λLHHT)μ=γHHTμ
(6)
再次,我們令u1,u2,…,un0+1是對應于(6)式的無最小特征值的廣義特征向量,則最終的解為:
(7)
根據(jù)Ross[24],F(xiàn)CM基于U矩陣從一組的n個數(shù)據(jù)點到c類,使目標函數(shù)(Jm)進行模糊c均值聚類區(qū)分。
(8)
函數(shù)uik是第i類中第k個數(shù)據(jù)點的隸屬度函數(shù)。同時dik是從點xk到聚類中心vi的歐幾里得距離。它可以用一下公式來描述:
(9)
(10)
這里由容忍度值εL來作為迭代停止的標準:
if‖U(r+1)-U(r)‖εL
(11)
圖1 FCM-US-ELM算法流程圖
基于上述理論基礎,本文處理的是無標簽不平衡數(shù)據(jù)的分類。首先我們針對不平衡數(shù)據(jù)我們采用分類前的數(shù)據(jù)預處理,將不平衡數(shù)據(jù)通過模糊c均值聚類和SMOTE過采樣技術處理為類平衡數(shù)據(jù),其次我們將無標簽數(shù)據(jù)放入到無監(jiān)督極限學習算法中進行訓練,得到訓練模型再將測試集數(shù)據(jù)放入已經(jīng)訓練好的模型下,進行分類預測。下面我們給出FCM-US-ELM算法的流程圖1。
為了更清楚的表達算法的實現(xiàn)過程,本文給出了具體方法步驟,F(xiàn)CM-US-ELM算法主要分為三個步驟。數(shù)據(jù)預處理,該步驟是為了得到有效的訓練集和測試集,防止因為小類樣本個數(shù)較少,直接五折交叉可能訓練集中沒有小類樣本數(shù)據(jù),訓練出的模型對小類樣本分類沒有作用。訓練階段,將訓練集小樣本數(shù)據(jù)個數(shù)通過FCM聚類和SMOTE過采樣技術增大到與大類樣本數(shù)量近似相同,以平衡數(shù)據(jù)集進行模型訓練。測試階段,將測試集放入已經(jīng)訓練好的模型中得到最后的分類結果。具體步驟參見FCM-US-ELM的偽代碼,可見算法1。
算法1:FCM-US-ELM
輸入: 輸入數(shù)據(jù)集T,聚類中心個數(shù)c;
初始化模糊劃分矩陣為U0和容忍度值εL
SMOTE采樣倍率為P;
US-ElM隱含層節(jié)點個數(shù)N;
輸出:分類結果
數(shù)據(jù)預處理: 將不平衡數(shù)據(jù)進行聚類分為兩類A和B;
分別對A和B進行五折交叉,整合形成訓練集和測試集;
訓練階段:
步驟一: 訓練集
2:FCM聚類后各簇數(shù)據(jù)按照距離聚類重心大小排列,并按順序輸出排列后的數(shù)據(jù)集;
3:統(tǒng)計聚類后數(shù)據(jù)集的個數(shù),選出少類樣本數(shù)據(jù)集,并計算出不平衡IR;
4:在少類樣本數(shù)據(jù)集,使用SMOTE過采樣,由采樣率P,統(tǒng)計距離聚類中心近的樣本點,剔除過遠樣本點。通過線性差值形成新樣本,假設x的近鄰點為xi,采用如下公式計算:
xnext=x+rand(0,1)×(xi-x)
(12)
其中rand(0,1),表示0~1內(nèi)的隨機數(shù);
步驟二:訓練模型
1:得到訓練數(shù)據(jù):X∈RN×ni,從x構建拉普拉斯算子L;
2:啟動具有輸入權重的N個隱藏神經(jīng)元的無監(jiān)督極限學習機網(wǎng)絡,并計算隱藏神經(jīng)元H的輸出矩陣;
3:如果nhN,找到對應于第二個通過n0+1最小特征值(3)的廣義特征向量v2,v3,…,vn0+1,
如果nh>N,找到對應于第二個通過n0+1最小特征值(6)的廣義特征向量u2,u3,…,un0+1,
4:計算嵌入矩陣E=Hβ,得到分類模型;
測試階段:根據(jù)訓練得到的模型,將測試集放入模型中訓練。
表1 數(shù)據(jù)集描述
2.2評價指標
為了衡量我們提出的方法的性能,我們重復隨機選擇訓練集和測試集,模型構建和模型評估的過程,并采用五折交叉驗證。有四個參數(shù):總體預測準確度(ACC),靈敏度(SN),特異性(Spec),Matthew相關系數(shù)(MCC),定義如下:
(13a)
(13b)
(13c)
(13d)
其中真陽性(TP)是正確預測正類樣本點的數(shù)量;假陰性(FN)是錯誤預測負類樣本實際為正類樣本的數(shù)量;假陽性(FP)是錯誤預測正類樣本實際樣本點為負類樣本的數(shù)量,而真陰性(TN)是正確預測負類樣本的數(shù)量。
在本文中,我們提出的FCM-US-ELM預測器由MATLAB(2017a,Mathworks,Natick,MA,USA)實現(xiàn)。所有的程序都在具有2.5GHz 6-core CPU,32GB內(nèi)存的Windows操作系統(tǒng)的計算機上執(zhí)行。US-ELM算法的隱含神經(jīng)元個數(shù)對數(shù)據(jù)集Cmc-0-2、Zoos-2-3、Pendigts-0-6、Nursery-2-3、Credit-8-9和page-blocks-0-4分別為100、200、250、400、500、500。
本節(jié)中,我們測試了總共六個不同的不平衡數(shù)據(jù)集,以評估我們提出的方法的性能,例如Cmc-0-2數(shù)據(jù)集、Zoos-2-3數(shù)據(jù)集、Pendigts-0-6數(shù)據(jù)集、Nursery-2-3數(shù)據(jù)集、Credit-8-9數(shù)據(jù)集和page-blocks-0-4數(shù)據(jù)集。首先,我們將數(shù)據(jù)通過聚類分成兩個簇,在整合兩個簇的數(shù)據(jù)進行五折交叉驗證,將數(shù)據(jù)集分成訓練集和測試集。其次,我們把訓練集樣本單獨提取出來進行FCM聚類,再用SMOTE過采樣技術處理少類樣本數(shù)據(jù),使得訓練集由不平衡數(shù)據(jù)集變?yōu)槠胶鈹?shù)據(jù)集。最后,我們將測試集放入已經(jīng)訓練好的模型中,得到最終結果。同時為了更好評價改進算法的性能,本文與其他三種處理不平衡數(shù)據(jù)算法進行了比較,它們分別是GEPSVM[21]、GEPSVM[22]和FCM-ELM[23]。分別比較了四種算法在ACC、SN、Spec和MCC的結果值,具體的結果可以參見圖4、5、6、7。在圖中,從指標值中我們可以看出本文提出FCM-US-ELM算法可以更好的處理不平衡數(shù)據(jù)的分類,不僅在整體的分類準確率有很好的性能,尤其在小類樣本數(shù)據(jù)分類準確率上得到了最好的結果。
圖2 未處理和FCM處理后的Pendigits-0-6數(shù)據(jù)集
2.4.1 Pendigits-0-6數(shù)據(jù)集和Pendigits-0-6數(shù)據(jù)集聚類結果 為了更好的展現(xiàn)FCM在處理不平衡數(shù)據(jù)的效果,我們給出了Pendigits_0_6、page-blocks-0-4數(shù)據(jù)集的可視化示例。在圖2、3中,原始數(shù)據(jù)不利于我們將不平衡數(shù)據(jù)處理為平衡數(shù)據(jù),很多數(shù)據(jù)所屬的類別不確定。通過FCM聚類處理后的數(shù)據(jù),由聚類中心和隸屬度值我們可以更清楚的區(qū)分數(shù)據(jù)所屬的類別,得到數(shù)據(jù)所屬的類別后,我們再用SMOTE過采樣技術增加正類樣本數(shù)據(jù)個數(shù),從而使得正類樣本點個數(shù)與負類樣本個數(shù)接近相同。這樣可以避免模型訓練時對正類樣本的缺失關注,從而抑制過擬合現(xiàn)象的發(fā)生。
2.4.2 比較FCM-US-ELM算法與已有算法的指標值 為了更好的展現(xiàn)本文改進算法的性能,我們用FCM-US-ELM與GEPSVM[21]、FCM-SVM[22]和FCM-ELM[23]算法在相同的不平衡數(shù)據(jù)集上,比較了ACC、SN、Spec和MCC四個指標值。結果如圖4、5、6、7所示。在Cmc-0-2數(shù)據(jù)集上,我們得到了ACC、SN、Spec和MCC的值分別為81.27%、87.23%、81.23%和78.32%。在Zoos-2-3數(shù)據(jù)集上,我們得到了ACC、SN、Spec和MCC的值分別為89.03%、92.38%、89.01%和83.76%,此數(shù)據(jù)集小類樣本個數(shù)僅有12個,F(xiàn)CM-US-ELM得到SN的值為92.38%,是所有算法中值最大的,這也說明本文改進算法在處理不平衡數(shù)據(jù)集分類上有很好的性能。在Pendigts-0-6數(shù)據(jù)集上,我們得到的指標值為94.44%、97.86%、93.24%和89.23%,它們分別對應于ACC、SN、Spec和MCC的值。在Nursery-2-3數(shù)據(jù)集上,我們得到的指標值為92.08%、92.27%、92.13%和87.47%,它們分別對應于ACC、SN、Spec和MCC的值。在Credit-8-9數(shù)據(jù)集,F(xiàn)CM-US-ELM算法得到的指標值分別為90.61%、89.23%、91.86%和86.72%。FCM-SVM算法在數(shù)據(jù)集得到更高的91.62%SN值,但改進的算法仍然比GEPSVM和FCM-ELM算法有更高的分類準確率。在page-blocks-0-4數(shù)據(jù)集上,我們得到了ACC、SN、Spec和MCC的值分別為87.10%、90.12%、87.13%和77.15%。針對不同IR值的數(shù)據(jù)集,本文提出的改進算法都取得了較好的分類效果,在靈敏度(SN)值上FCM-US-ELM取得比其他三種優(yōu)秀算法更好的結果。這也說明本文提出的FCM-US-ELM算法能有效地處理不平衡數(shù)據(jù)集。
圖4 比較不同分類器在六個不平衡數(shù)據(jù)集上的ACC指標
圖5 比較不同分類器在六個不平衡數(shù)據(jù)集上的SN指標
圖6 比較不同分類器在六個不平衡數(shù)據(jù)集上的Spec指標
圖7 比較不同分類器在六個不平衡數(shù)據(jù)集上的MCC指標
圖8 隱含層神經(jīng)元個數(shù)對FCM-US-ELM的性能影響
2.4.3 隱含層神經(jīng)元個數(shù)對FCM-US-ELM的影響 以Pendigts-0-6數(shù)據(jù)集為例,探索隱含層神經(jīng)元個數(shù)對算法靈敏度的影響。圖8所示為隱含層神經(jīng)元個數(shù)對FCM-US-ELM的性能影響,由圖可知,并非隱含層神經(jīng)元個數(shù)越多越好,從測試集的靈敏度值(SN)可以看出,當隱含層神經(jīng)元的個數(shù)逐漸增加時,測試集的預測靈敏度值呈現(xiàn)逐漸減小的趨勢。因此,我們需要綜合考慮測試集的預測指標值和隱含層神經(jīng)元個數(shù),進行折中選擇。
本文針對不平衡數(shù)據(jù)分類中對少類樣本數(shù)據(jù)分類準確率低的問題,提出了改進的無監(jiān)督極限學習機算法。首先,我們對無標簽的不平衡數(shù)據(jù)集進行數(shù)據(jù)的預處理,通過聚類和五折交叉驗證的方法將數(shù)據(jù)集分為訓練集和測試集。然后,我們將訓練集通過模糊c均值聚類和SMOTE過采樣技術將不平衡數(shù)據(jù)變?yōu)槠胶鈹?shù)據(jù)集。最后,我們將得到的新的訓練集放入無監(jiān)督極限學習機中進行訓練,得到訓練模型再將測試集放入到模型中,得到最終的分類結果。由上述的實驗結果,對比GEPSVM、FCM-SVM和FCM-ELM算法。本文提出的FCM-US-ELM能更好的處理不平衡數(shù)據(jù)分類,尤其對小類樣本數(shù)據(jù)有很好的分類性能,且在計算時間上也有一定的優(yōu)勢。