不平衡數據分類方法

僅個人學習時,閱讀相關資料總結。(可能有部分不準確)

概述

定義

數據不平衡分類是對各類別間樣本的數目相差較大的數據集進行分類。例如:二分類問題中,一個樣本總數爲100,80個樣本被標爲類別1,剩下的20個樣本被標爲類別2。類別1比類別2的樣本總數爲4:1。這是一個不平衡的數據集。實際生活中,故障檢測,癌症檢測,石油勘探都是不平衡數據。

傳統分類器對於不平衡數據的不適用性

傳統分類方法有:決策樹法,樸素貝葉斯分類器,支持向量機,K近鄰法,多層感知器等。其中,決策樹法又稱判定樹,基於實例的基本分類與迴歸方法,從一組無次序、無規則的事例中推理出以樹爲表示形式的分類規則,形成分類器和預測模型。主流算法有ID3算法(選擇增益最大的特徵與閾值進行分裂)、C4.5算法(使用基尼指數作爲分割標準,目的是最小化不純度)、CART算法。樸素貝葉斯分類器基於貝葉斯定理構建了概率模型來估計樣本屬於每個類別的後驗概率,選擇最大後驗概率的類作爲分類結果。適用於郵件分類、疾病診斷。支持向量機將線性樣本映射到高維的非線性空間中,有效地對原始數據集進行非線性分類。適用於文本分類、手寫數字識別、信號處理通訊。
傳統分類問題基於兩種假設:
1)各類別間數目大致均等
2)各種類別錯分的代價相同
但不平衡數據中的少數樣本發生的概率低於多數類樣本。且代價明顯高於多數類樣本,若採用傳統分類器的以提高總體分類精度爲目標,容易造成少數類的分類錯誤。例如,對於郵件分類,假使100封郵件中有3封垃圾郵件,其餘正常郵件,若均判別爲正常郵件,分類器將全部郵件判別爲正常郵件,就有97%準確率。但高準確率並沒有完成識別出垃圾郵件的任務。

可應用領域

對於網絡入侵檢測問題,把入侵行爲誤判爲正常行爲,可能出現一定區域的網絡問題,更嚴重的情況是整個網絡系統癱瘓。在癌症檢測上,如果把癌症病人誤診爲正常病人,很有可能會錯過最佳治療時期。
在實際應用領域中,礦物質的勘探,信用卡非法交易,衛星雷達檢測海面油污,它們的關注重點都是少數類,不平衡數據分類的研究更有意義。

分類方法總框架

對於數據不平衡問題,已有多種技術用於解決此類問題。
分類技術總體框圖:
圖 2-1 不平衡數據分類技術總體框圖

分類層面總體框圖:
圖 2-2 分類層面總體框圖

數據層面

樣本採樣技術

基本思想:通過增或減某類樣本的數目,獲得相對平衡的數據集。
優點:不需要考慮後期使用何種算法。
缺點:易產生信息冗餘或缺失,分類性能下降。
樣本採樣技術大致分爲三類:欠採樣技術,過採樣技術,混合採樣技術。

隨機採樣技術

隨機欠採樣:隨機刪除一定數量或比例的多數類,少數類樣本不處理。會導致分類信息缺失,分類性能下降。
隨機過採樣:通過簡單複製少數類樣本,多數類不處理。僅增加了數量,沒有增加樣本信息,易發生過擬合,並且數量增加引入了一定的額外數據,構建分類器耗時增加。
以上兩種實現困難程度較小,分類性能有一定的提升空間。

人工採樣技術

經典過採樣方法

SMOTE:利用了樣本集在屬性空間的特點:某類樣本趨於出現在同類的樣本的鄰域區間。採用簡單的K鄰近法,選取主樣本及k個鄰近樣本,隨機從k個臨近樣本選取一個主鄰近樣本,在主樣本與鄰近樣本的連接線上,隨機生成新樣本。
優點:保證了樣本的原始分佈,解決了隨機過採樣法過適應的問題。
缺點:涉及大量近鄰關係運算;少數類樣本含有較多噪聲信息時,會影響分類性能;由於每輪主樣本的選取隨機,當少數類樣本數較少時,可能造成各原始少數類樣本被選作主樣本的頻次差較大,從而偏離原始的樣本分佈。每個樣本生成新樣本的個數隨機。
改進:Borderline-SMOTE採樣法(選取起決定作用的處於分類邊界上的樣本),有效規避原始噪聲在新樣本集上的傳播。
ADA-SYN採樣法(利用樣本密度分佈信息來確定個少數樣本用作主樣本的頻次)。邊界區域樣本作爲主樣本的頻次較高,自適應每個少數類樣本的頻次。

經典欠採樣方法

單邊選擇OSS:根據多數類樣本所含信息量大小選擇移除。滿足Tomek links(兩個不同的樣本且互爲最近鄰)的樣本處於邊界或噪聲,進行剔除。使數據集達到平衡。
優點:保留多數類中的絕大多數信息,進而保證後期分類器的訓練質量。
缺點:RUS 採樣率可控,OSS不可控。
SBC採樣法:基於聚類的採樣法,在多數類樣本的聚集區域,保留儘可能多的多數類樣本,在少數類樣本的聚集區域,移除儘可能多的多數類樣本。對選擇性保留每個類簇中的多數類樣本。需要注意聚類算法及K值確定。

其他方法:

KNN-NearMiss:通過對多數類樣本與三個少數類樣本的距離比對,選取合適的多數類樣本爲新的多數類子集。
壓縮最近鄰:所有少數類及隨機選取的一個多數類樣本爲初始子集,通過分類產生的錯分樣本疊加到初始子集中。

特徵層面

Filter過濾式

使用發散性或相關性指標對各個特徵進行評分,選擇分數大於閾值的特徵或者選擇前K個分數最大的特徵。特徵選擇過程與與分類器無關。相當於先對初始特徵進行過濾,再用過濾後的特徵訓練分類器。過濾式特徵選擇法簡單、易於運行、易於理解,通常對於理解數據有較好的效果,但對特徵優化、提高模型泛化能力來說效果一般。

Wrapped封裝式

與分類器獨立。根據目標函數(通常是預測效果評分),每次選擇若干特徵,或者排除若干特徵。

Embedded嵌入式

與分類器結合。先使用某些機器學習的算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。類似於Filter方法,但是是通過訓練來確定特徵的優劣。

算法層面

代價敏感學習技術

基本思想:不在以樣本的整體誤差最小化爲目標,追求整體誤分代價的最小化。無須對樣本分佈做預處理,通過修改後的準則在原始樣本上直接訓練得出無偏的分類面。通過賦予多數類和少數類不同的誤分類代價。
優點:分類器在分類時更加關注少數類,提高分類準確率。
缺點:僅當考慮誤分代價時適用。

以二分類任務爲例,可設定一個“矩陣代價”,通常情況下的二分類代價矩陣如下,其0、A、B表示分類代價。並且根據誤判造成的損失程度,確定A與B的大小。若真實類別中0爲多數類,而1爲少數類,解決這個二類問題,應選擇A>B。
表 5-1二分類代價矩陣

經驗加權法

利用類別不平衡比率IR,設計代價矩陣。
缺點:忽略了每個樣本自身“重要度”。(可通過先驗分佈信息量化計算得出)
CS-SVM算法:
將代價敏感學習思想與支持向量機分類器結合,直接對支持向量機的優化式進行修改。少數類與多數類懲罰係數之比始終等於IR。
WELM算法:
加權極限學習機算法

模糊加權法

引入IR值且考慮樣本分佈。通過模糊隸屬函數確定個性化的懲罰代價。
FSVM-CIL算法
權重或隸屬值的分配,考慮問題:抑制類別不平衡分佈影響,體現每個樣本的重要度。
FWELE算法
模糊加權極限學習機算法

自適應加權法

利用Boosting

決策輸出補償技術

基本思想:對分類面決策輸出值進行調整,修正偏倚分類面。傳統學習算法產生的分類面往往會出現在少數類稠密區域,將分類面向多數類區域移動,迴歸到交疊中心。
優點:此過程與訓練過程相互獨立。
缺點:能夠使分類性能最大化的參數難以確定。
手段:乘法補償(針對決策輸出表示爲概率的分類算法),加法補償(在少數類的決策輸出加一個正數)。

基於經驗

通過人爲設定或通過IR計算得出。
SVM-THR:
基於經驗的加法決策輸出補償算法
缺點:對於調整後的分類面結果難以控制,調整不足或調整過大。

基於關鍵位置比對

SVM-OTHR
考慮了樣本在特徵空間中的分佈信息,訓練樣本中被誤分的少數類樣本在特徵空間中標定了少量的關鍵位置,比對G-mean測度,確定最優調整位置,進一步根據原始分類面與最優調整分類面之間的距離確定輸出補償值。

基於優化思想

ODOC-ELM
最優決策輸出補償權限學習機的決策輸出補償算法

集成學習技術

經典方法

基本思想:基學習器爲採用單一機器學習算法所訓練的模型,這些模型通過組合模塊結合到一起,進而根據某種預設的結合策咯而給出最終的決策輸出。是將多個相同或不同的個體學習器組合起來去完成同一個學習任務的分類算法,這些個體學習器應該是“好而不同”的,與傳統的分類器相比,集成學習有更好的學習效果,並且會取得更爲優越的泛化能力。
有效原因:單一學習器的訓練樣本數有限;單一學習器在有限時間內難以達到目標。
前提條件:基學習器要儘可能準確且各基學習器之間要有足夠差異。
優點:此過程與訓練過程相互獨立。避免過擬合。
缺點:當訓練模型沒有較好的精確度或各訓練模型間沒有較大差異,分類性能可能低於單一訓練模型。

Bagging算法

對數據集進行採樣,得到新的數據集,並隨機選取原數據集中的一個樣本並添加至新數據集,多次操作,形成不同的訓練集。多數投票法產生最終結果。
基學習器間不存在依賴關係。
自助式採樣技術:放回式抽單個樣本至m個,達到原始樣本規模。
算法結構算法結構如圖:
圖 7-1 Bagging算法結構
代表算法:隨機森林算法,RS算法(決策樹爲基分類器)

Boosting算法

對數據集進行訓練,按照訓練結果更新訓練集分佈,對於訓練失敗的樣本點賦予更大的權重,重新訓練數據集,至達到預期效果。最終的分類預測函數採用帶權重的投票產生。基學習器間具有較強的依賴關係。
優勢:自動重採樣,減少代價;給予樣本不同權重增加多樣性;
缺點:以分類準確率最大化爲目標,多數類影響大,少數類提高程度有限。
圖 7-2 Boosting算法結構

代表算法:AdaBoost 算法(更改權重);梯度提升決策GBDT(Gradient Boosting Decision Tree)算法(殘差減少的梯度方向)

Bagging算法與Boosting算法區別

兩種算法的區別如表:
在這裏插入圖片描述

基於樣本採樣技術

asBagging與asBagging-FSS算法

asBagging算法(Assymetric Bagging)
基本思想:隨機降採樣+Bagging集成基於代價敏感學習技術。劃分訓練子集時,全盤保留少數類樣本,多數類抽取規模相同的樣本,進而訓練各基分類器,並做成集成決策。
優點:保留了多數類的大部分重要信息。隨機降採樣技術導致的分類器性能不穩定問題;有效提升了Bagging中基分類器的差異度。
缺點:應用於存在大量噪聲與冗餘信息的高維數據中時,性能可能大幅下降。
asBagging算法-FSS
FSS特徵子空間生成策略:聚類(過濾冗餘特徵)+特徵選擇(約減噪聲特徵)。在不顯著減少訓練子集差異度的同時,大幅度提升每個子集精度。爲約減冗餘特徵,可採用基於皮爾森相關係數(被用作特徵相似度測量標準)的分層聚類法將相似的特徵聚類到相同的類簇中。(平衡:個體精度與差異度)
信噪比(SNR)特徵選擇法:篩選與分類任務最相關的代表性特徵。
對於多數類Bootstrap技術對多數類降採樣,生成多個平衡訓練子集。
在這裏插入圖片描述

SMOTEBoost與RUSBoost算法

SMOTEBoost算法
基本思想:先採用SMOTE算法對少數類過採樣,相當於間接提升了少數類的更新權重,同時改變了樣本的初始分佈。
優點:改進了AdaSMOTE權重相同。提升少數類的預測精度。(平衡:不同類之間的性能差)
RUSBoost算法

EasyEnsemble及BalanceCascade算法

EasyEnsemble算法
步驟:

  1. RUS隨機生成多個平衡的訓練子集,
  2. 每個訓練子集分別訓練一個AdaBoost分類器
  3. Bagging中基分類器替換爲AdaBoost分類器
    優點:Bagging避免訓練信息缺失,AdaBoost提升了分類結果的泛化能力,分類結果的方差與偏差可同步減少,令分類結果更加穩定。

BalanceCascade算法
訓練一個AdaBoost分類器,移除採用該分類器可正確分類的多數類樣本,串行生成基分類器。保證下一個Bagging基分類器更多關注不容易分對的多數類。

基於代價敏感學習

AdaCX系列算法

AdaBoost:在於修正樣本,改變分佈,聚焦於那些易被分錯的“困難”樣本。
代價敏感:大權重分配到“重要”樣本,避免分錯。
融合:藉助AdaBoost算法特點來大幅度提升代價敏感學習的質量。

基於決策輸出補償

EnSVM-OTHR算法

基本思想:Bagging+SVM-OTHR
保障差異性:Bagging中Bootstrap技術;在SVM-OTHR算法建模時,引入一個相對小的隨機干擾項。
EnSVM-OTHR在一個狹小範圍內隨機調整最優決策輸出補償值(加小的隨機干擾項),不傷害基分類器性能,最大限度增大差異度。

主動學習技術

基本思想:迭代方式選取含有信息量較多的樣本,並添加類別標註,更新分類模型。
優點:減少了訓練樣本,儘可能生成質量更高的分類模型。
對於主動學習,基於池的主動學習最爲常見。基於池是指在學習開始前預先採集全部的未標註樣本,並置於未標記樣本池。基於池的主動學習過程示意圖如圖。
在這裏插入圖片描述

影響因素與性能評價測度

影響因素

數據不平衡分佈對傳統分類算法產生負面影響,影響程度主要有以下幾個因素:
(1)類別不平衡比率IR:具體表示爲多數類樣本數與少數類樣本數的比值。IR值越高,負面影響越大。
(2)重疊區域的大小:重疊區域越大,負面影響越大。
(3)訓練樣本的絕對數量:訓練樣本的規模小少數類樣本更加稀疏,分類器的訓練精度越差。
(4)類內子聚集現象的嚴重程度:類內子聚集也被稱爲類內不平衡,少數類樣本出現兩個或多個,會加劇分類算法的學習難度。
(5)噪聲樣本比率:噪聲樣本主要指不符合同類樣本分佈的樣本,通常以離羣點形式存在。多數類中噪聲樣本較多,會損害少數類分類精度。多數類中噪聲樣本較多,對多數類的分類性能影響不大。

性能評價測度

後續總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章