1. 程式人生 > >不平衡類問題(稀有類檢測)的評估與改善方法

不平衡類問題(稀有類檢測)的評估與改善方法

目錄

一、可選度量

二、ROC曲線

三、代價敏感學習

四、基於抽樣的方法


不平衡類問題常常出現,特別是異常檢測領域。某一類樣本很多,某一類樣本很少。我們針對這類問題設計了一些評估或改善的方法,使得結果更加令人滿意。

本文講的是一般性的機器學習、資料處理領域的不平衡類問題。在深度學習中如果遇到不平衡問題,也可觸類旁通。參見《乾貨 | 深度學習中不均衡資料集的處理

一、可選度量

這個在上一篇博文中討論到了,不平衡類問題如何選擇合適的結果評估的度量,讓你的論文瞬間高大上起來,不能只用傻乎乎的準確率哦!《機器學習/資料處理領域結果的評估度量——召回率、精度、F1score等的由來

》。先看下這篇博文,否則下面有些術語縮寫你可能看不懂哦。

二、ROC曲線

接受者操作特徵(receiver operating characteristic, ROC)曲線是顯示分類器真正率TPR和假正率FPR的折中的一種圖形化方法。在一個ROC曲線中,TPR沿著y軸繪製,FPR在x軸,曲線上每個點可以描述一個分類器模型。TPR=1,FPR=0是我們理想的模型。即一個好的分類模型應該儘可能靠近圖的左上角

ROC曲線採取了視覺化的方法,直觀地幫助我們比較不同分類器的相對效能

ROC曲線下方的面積(AUC)提供了模型平均效能的一種方法。如模型是完美的,AUC=1。如果是簡單的隨機猜測,AUC=0.5。如果一個模型更好,那麼它的AUC更大。

三、代價敏感學習

代價矩陣對將一個類錯分到另一個類的懲罰進行編碼。下式表示了對模型M的總代價:

C(+,-)表示把一個+類預測為-類的代價。誤分類的代價都是正值。代價矩陣中可以用負項表示對正確分類的獎勵

我們簡化來看。在0-1分類問題中,C(+,+)=0,C(-,-)=0,C(+,-)=1,C(-,+)=1,所以總代價等於誤分類的數目。

然後我們有很多方法將代價資訊引入到演算法中。例如藉助代價資訊決定決策樹是否剪枝、處理資料權值使得演算法收斂到代價最低的狀態等等。

四、基於抽樣的方法

主要思想是改變例項的分佈,幫助稀有類在訓練集中更好地表示。

包括不充分抽樣(undersampling)、過分抽樣(oversampling)和兩種方法混合使用。

舉個例子,現在有100個+,1000個-樣本。

不充分抽樣情況下,從-樣本中抽取出100個-樣本,與所有+樣本形成一個訓練集。這裡,+,-就平衡了。所以不充分抽樣實際上就是降取樣。這裡有個潛在的問題,就是其他900個-樣本我們就不要了嗎?那豈不是很浪費?所以我們可以多次進行不充分抽樣,並歸納類似於組合學習方法的多分類器。也可以使用聚焦的不充分抽樣(focused undersampling),此時抽樣程式可以精明地確定該被排除的負樣本。

過分抽樣即複製樣本,直到+,-樣本一樣多。然而,過分抽樣可能導致模型過擬合!我們在另一篇文章《模型過擬合及模型泛化誤差評估》中提到,噪聲是導致過擬合的一個原因。噪聲隨著過分抽樣也可以被複制多次!實際上,過分抽樣沒有向訓練集中新增任何新的資訊,對正樣本進行復制我們只是為了阻止學習演算法向多數類傾斜。不過,過分抽樣也可以在已有正樣本的領域中產生新的正樣本來實現。比如,首先確定每一個已有+樣本的k-最近鄰,然後在連線正樣本和一個k-最近鄰的線段上的某個隨機點產生一個新樣本,重複該過程直到數量令你滿意。這樣的方法可以向外擴充套件+樣本的決策邊界,但是仍然不可避免過擬合的影響。

混合方法使用二者的組合,對多數類進行不充分抽樣,對少數類進行過分抽樣,從而均勻類分佈。