- 研究動機
- 文章貢獻
- 基於樣本權重的資料分佈
- 類間資料分佈
- 類內資料分佈
- 基於分佈的樣本權重
- 自適應樣本權重
- 跟蹤當前的訓練狀態
- 基於自適應分佈的樣本權重
- 基於自適應分佈的樣本權重的 Adaboost
- AdaBoost.AD 演算法
- 理論分析
- 實驗結果
- 資料集和實驗設定
- 對比實驗
- 消融實驗
- 優點和創新點
Paper Reading 是從個人角度進行的一些總結分享,受到個人關注點的側重和實力所限,可能有理解不到位的地方。具體的細節還需要以原文的內容為準,部落格中的圖表若未另外說明則均來自原文。
論文概況 | 詳細 |
---|---|
標題 | 《Multi-class Imbalance Classification Based on Data Distribution and Adaptive Weights》 |
作者 | Shuxian Li, Liyan Song, Xiaoyu Wu, Zheng Hu, Yiu-ming Cheung, Xin Yao |
發表期刊 | IEEE Transactions on Knowledge and Data Engineering(TKDE) |
發表年份 | 2024 |
期刊等級 | 中科院 SCI 期刊分割槽(2022年12月最新升級版)2 區,CCF-A |
論文程式碼 | 文中未公開 |
作者單位:
- Research Institute of Trustworthy Autonomous Systems, Southern University of Science and Technology, China.
- Guangdong Provincial Key Laboratory of Brain-inspired Intelligent Computation, Department of Computer Science and Engineering, Southern University of Science and Technology, China.
- Department of Computer Science, Hong Kong Baptist University, Hong Kong SAR, China.
- Faculty of Computing, Harbin Institute of Technology, Harbin, China.
- RAMS Reliability Technology Lab, Huawei Technologies Co., Ltd, Shenzhen, China.
- Lingnan University, Hong Kong SAR, China
- School of Computer Science, University of Birmingham, UK.
研究動機
多分類不平衡問題在實際應用中很常見,資料中未處理的不平衡情況經常導致錯誤分類、誤導甚至錯誤的結果,這對資料集的管理和使用構成了重大挑戰。現有的策略通常依賴於類別的樣本規模來處理不平衡,但是還應當考慮獲取其他資訊來更好地反映類不平衡。採用不平衡比會給同一類的訓練樣本賦予相同的權重值,無法反映同一類訓練樣本之間的差異。也就是說,類失衡率只能區分屬於不同類的“類間”訓練樣本。同時這些不平衡資訊是預先基於整個訓練集計算的,它們的值在整個訓練過程中保持不變。這個因素導致訓練樣本的權重不能適應當前的訓練狀態,可能會阻礙類不平衡機制更好地處理多類不平衡。從這個意義上說,利用當前的訓練狀態來分配一個“自適應”的樣本權重,將進一步緩解多類不平衡問題。
文章貢獻
針對當前多分類不平衡問題僅依靠不平衡比,以及資料集的不平衡資訊無法在訓練過程中動態調整的問題。本文首先提出了基於自適應分佈的樣本權值,將類間不平衡比、類內密度變數和自適應裕度綜合起來處理多類不平衡。接著將提出的自適應樣本權值與 AdaBoost 學習框架相結合,提出了 AdaBoost.AD 演算法,併為其提供了理論支援。透過多個不平衡資料集的實驗,結果表明所提出的 AdaBoost.AD 相比現有方法具有更強的預測效能,並驗證了自適應權重各個組成部分的有效性。
基於樣本權重的資料分佈
本文采用 AdaBoost 作為多分類學習框架,假設有一個由 n 個訓練樣本{(Xi, yi)} 組成的資料集,用於構建處理 c 類分類問題的基學習器集合。其中 Xi∈Rd 表示第 i 個訓練樣本的 d 維輸入特徵,yi∈{1,…,c} 表示第 i 個訓練樣本的標籤。
假設 AdaBoost 整合總共有 m 個訓練 epoch,則有 m 個基學習器 {ht(·)},每個基學習器與一個模型權值 βt 相關聯。
類間資料分佈
令 yi∈{1,…,c} 和 N(y) 為給定標籤為 y 的訓練樣本個數的非負函式。按照處理類不平衡的常規方法,使用公式(1)定義基於類大小的訓練樣本(X, y)的多類不平衡比率,其中 miny'N(y') 為最小類的樣本數量。
不平衡比較大(較小)的訓練樣本說明可以提供給模型訓練的資料資訊相對充足(不足),因此可能需要將較低(較高)的權重與這些訓練樣本關聯起來。但僅根據不平衡比推導樣本權重會導致同一類訓練樣本的權重相同,而沒有考慮到同一類訓練樣本之間的差異,因此本文將引入一個因子來描述每個類的類內資料分佈。
類內資料分佈
此處將生成該類內每個訓練樣本的密度來描述同一類訓練樣本之間資料分佈的差異,密度是根據該資料的鄰域內同一類的樣本數量來決定的,並且具有統一的密度尺度。因此相關的樣本權重不僅反映了類間資料分佈的資訊,還反映了類內資料分佈的資訊。
一個樣例如下圖所示,在兩個具有不同類內分佈屬性的區域中,1 類樣本(藍點)與 2 類樣本(紅點)重疊。“密集”區域包含更多的1類樣本,而“稀疏”區域包含更少的 1 類樣本。在密集區域無法處理 1 類樣本可能會導致分類模型的預測效能比在稀疏區域下降得更明顯,因此在密集(稀疏)區域對類 1 的訓練樣本進行過擬合(欠擬合),以獲得更好的整體預測效能。
用 N(Xi) 表示整個訓練樣本中 Xi 的第 k 近鄰集,其中 k 是預定義引數。假設 N(Xi) 中有 ki≤k 個樣本與 yi 屬於同一類,將 N(Xi) 的子集命名類內鄰居集,記為 N(Xi, yi)1。用 N(Xi, yi)j 表示在 j=1,…,ki 的類鄰居集中 Xi 的第 j 個類內鄰居,定義 (Xi, yi) 的一般密度為公式(2)。其中 d(·,·) 表示兩個訓練樣本的距離,T 是基於所有訓練樣本確定的常數。本文使用歐幾里得距離作為距離度量,設定 k=5。
常數 T 定義為 ∑ni=1ρ(Xi, yi)/n,它可以被認為是在所有訓練樣本中單位樣本密度的歸一化項,因此ρ(Xi, yi) 被命名為一般密度。一般密度值大於(小於) 1 (基準單位)的訓練樣本表明:與基準密度相比它們位於更密集(稀疏)的區域。
為了明確量化類內資料分佈的差異,定義訓練樣本(Xi, yi)的逆類內密度為公式(3),其中 Zi 表示歸一化項。其中子集 Ci 包含與 yi 相同標籤的訓練樣本,||Ci||為子訓練集的大小,每個類的類內密度值將具有單位逆密度。
也就是每個類的訓練樣本將得出一個統一的逆類內密度,較小(較大)的值表示希望有較大(較小)的樣本權重來處理類不平衡。
基於分佈的樣本權重
類間不平衡較小、類內密度值相反的訓練樣本將被賦予更高的權重,使訓練過程更加關注它們。該資訊可以合併到單個資料分佈因子中,定義為公式(4),α(·) 的範圍為 (0,1)。
假設新的迭代輪次為 t+1,則 AdaBoost 整合中訓練樣本 (X, y) 的權值可以重新表述為公式(5)。ω(t)(·) 表示在前一輪 t 迭代確定的樣本權值,βt 表示在 t 構建的基礎學習器 ht(·) 的權值,1[condition] 表示條件函式。如此,可以將基於樣本權值的資料分佈直接編碼到 AdaBoost 整合學習框架中。
自適應樣本權重
由於樣本的類間不平衡比和逆類內密度是基於整個訓練集預先計算的,因此它們的值在 AdaBoost 訓練過程中保持靜態。非自適應的權值不能反映最新的訓練狀態,利用當前的訓練狀態來分配樣本權值可能會進一步緩解多類不平衡問題。此處將提出透過目前訓練樣本被分類正確的機率差來量化最新的訓練狀態,實現基於自適應分佈的樣本權值。
跟蹤當前的訓練狀態
使用 o(t)(X, y') 表示 AdaBoost 的 t 個基學習器的輸出,將 X 投票給類 y'∈{1,…,c} 可以表示為公式(6)。
hν(·) 為之前在第 ν 代構建的基學習器,此時 X 被預測為 c 類的機率可以量化為公式(7)。
在所有類的所有訓練樣本上重複上述計算,可以得到一個如下表所示的機率矩陣,記錄每個訓練樣本在 t 代上被預測到每個類的機率。
本文考慮將最新的訓練狀態量化為訓練樣本被正確分類的機率與迄今為止在整個訓練過程中最不正確分類的機率之差,將其定義為自適應裕度。根據機率矩陣,任意訓練樣本 (X, y) 的自適應裕度可表示為公式(8)。P(t)(X, y) 表示 X 能夠被正確分類的機率,maxy'≠yP(t)(X, y′) 表示 X 被錯誤分類的最大機率,σ(t)(·) 的取值範圍是 0~2。
σ(t)(Xi)=1 的情況對應 P(t)(Xi, yi)=maxy'≠yP(t)(Xi, y'),表示當前 AdaBoost 在預測中所面臨的最高不確定性。σ(t)(·)>1 的訓練樣本表示可以被正確預測,σ(t)(·)<1 則表示將被錯誤地分類,因此可以用 σ(t)(·) 來表示正確預測訓練樣本X的難度。
基於自適應分佈的樣本權重
訓練時需要對自適應裕度較小的樣本賦予更高的權重,使訓練時更加關注這些樣本,從而更好地處理最新的類不平衡問題。可將自適應裕度因子進一步納入公式(4)的靜態資料分佈因子中,得到自適應資料分佈因子為公式(9),α(t)(·) 的取值範圍是(0,1)。
則 AdaBoost 中訓練樣本 (X, y) 在第 t+1 迭代的權值可以定義為公式(10),其中 ω(t)(X, y) 表示在前一個 t 迭代確定的自適應樣本權值。其他符號與公式(5)相同,關鍵區別在於此時的 α(t)(·) 具有自適應性質。
基於自適應分佈的樣本權重的 Adaboost
此處將基於自適應分佈的樣本權重納入 AdaBoost 整合框架中,將設計的方法稱為 AdaBoost Ensemble with Adaptive Distribution based Sample Weight (AdaBoost.AD)。
AdaBoost.AD 演算法
AdaBoost.AD 的流程如下虛擬碼所示,它遵循了經典 AdaBoost 的學習過程,兩個關鍵步驟在於:模型權值的計算和樣本權值的更新。迭代 t 構建的基學習器 ht(·) 的模型權值 βt 和下一個代的樣本權值 ω(t+1)(·) 是 AdaBoost.AD 演算法中兩個的可學習變數。
給定在 t 代確定的樣本權值 ω(t)(·),則新構建的基學習器的模型權值 ht(·) 如公式(11)所示。AD 是根據正確預測數與錯誤預測數的比值來計算的,通常情況下分母會小於分子,所以通常情況下 βt>0。
接著根據 ht(·) 及其模型權值 βt 更新樣本權值,t+1 代的訓練樣本 (Xi, yi) 的權值表示為公式(12)。
在訓練過程中,較大的 α(t)(·) 對應的訓練樣本將產生更高的樣本權值,可能有利於自適應地緩解隨訓練過程變化的類不平衡問題。在 AdaBoost.AD 中,測試樣本 X 的預測過程如公式(13)所示。
理論分析
AdaBoost.AD 理論分析的相關符號定義如下表所示。
在經典 AdaBoost 中使用指數損失函式,在公式(9)中的自適應資料分佈因子 α(v)(Xi, yi) 包含了計算模型權重的資訊,因此每個 α(v)(Xi, yi) 應與每個基學習器的樣本損失一致,如公式(14)所示。
L(t)(Xi, yi) 分解為三個分量的乘積,定義 ω(t)(Xi, yi) 為公式(15)。
此時可以將公式(14)重寫為公式(16)。
此時 (Xi, yi) 在第 t+1 代時的樣本權值迭代公式可以用公式(17)進行推導。其中 ct=exp(βt/2) 是一個常數,因此可以從樣本權值中剔除。
因此最終樣本權值可以簡化為如下公式,此時即可對公式(10)和公式(12)中的基於自適應資料分佈因子設計的樣本權值提供理論支援。
對於基學習器的模型權值,通常該權重應該透過最小化最佳化函式得到,如公式所示:
為了使目標最小化,每個模型權重 βt 的偏導數應為 0,如下公式所示:
此時全部的訓練樣本可以分為正確分類和錯誤分類兩個部分,可將上式改寫為如下形式。透過恆等變形後即可推出公式(11),此處為模型權值 βt 的表示式提供了理論支援。
實驗結果
資料集和實驗設定
實驗使用 12 個多分類不平衡資料集和 8 個二分類不平衡資料集,這些資料集的基本資訊如下表所示。實驗透過 10 次 5 折交叉驗證,評估指標選擇 G-mean 和 Avg-AUC,並對結果進行 Friedman 檢驗。
AdaBoost.AD(簡稱為 AdaAD)將與兩組多分類整合方法進行比較,其中經典 AdaBoost 方法將使用 ADASYN 來處理類不平衡。
演算法型別 | 數量 | 對比演算法 |
---|---|---|
經典 AdaBoost 方法 | 3 | AdaBoost.M1、AdaBoost.M2、AdaBoost.NC |
基於 Adaboost 的多分類不平衡方法 | 兩個版本的 LexiBoost、Dual-LexiBoost、JanEnsemble |
對比實驗
以下兩張表分別展示了各演算法在 G-mean 和 Avg-AUC 方面的預測效能,可見 AdaBoost.AD 在 20 個資料集中的 12 個上表現優於其他方法,說明了其預測效能的優越性。Friedman 檢驗在顯著性水平 0.05 下拒絕,意味著這些方法的效能顯著不同。
消融實驗
該部分分析了類間不平衡比、逆類內密度和自適應邊際因子對模型的效能影響,分別從 AdaBoost.AD 的樣本權值中去除這 3 個分量得到 3 種變體。
變體 | 說明 |
---|---|
AdaAD-imb | 消除類別間失衡比例 |
AdaAD-den | 消除逆類別內密度 |
AdaAD-mrg | 消除自適應邊際因子 |
以下兩張表分別展示了各演算法在 G-mean 和 Avg-AUC 方面的預測效能,從 Friedman 檢驗可見這些演算法之間存在顯著差異。
優點和創新點
個人認為,本文有如下一些優點和創新點可供參考學習:
- 現有大部分不平衡學習方法都僅依靠不平衡比作為不平衡資訊,僅考慮不平衡比僅有助於不同類別的樣本,但對於同一種類別的難分樣本難以提升。本文提出的自適應權重還考慮了樣本的密度和裕度,能夠以粒度更細的視角來改善不平衡學習的效果。
- 本文將提出的自適應樣本權重與 AdaBoost 結合,使其能夠在訓練期間動態地調整樣本的權重,從而在不平衡問題上獲得更優的效能,並且透過公式推導對其進行了理論驗證。