1、定義學習
類別不平衡是指分類任務中不一樣類別的訓練樣例數目差異很大的狀況。spa
2、問題:從線性分類器角度討論,用y = wTx+b對新樣本x進行分類,事實上是用預測出的y值與一個閾值進行比較,例如一般在y>0.5時判別爲正例,不然爲反例。y表達的是正例的可能性,概率y/1-y反映了正例可能性與反例可能性之比例,閾值設置爲0.5恰代表分類器認爲真實正、反例可能性相同,即分類器決策規則爲ci
若y/1-y >1則預測爲正例。(1)table
然而,正反例數目不一樣時,令m+表示正例數目,m-表示反例數目,則觀測概率是m+/m-,假設訓練集是真實樣本整體的無偏採樣,所以觀測概率表明了真實概率。因而預測概率高於觀測概率就應判別爲正例,即基礎
若y/1-y > m+/m- 則 預測爲正例。(2)方法
可是,咱們的分類器是基於式(1)進行決策,所以,需對其預測值進行調整,使其在基於式(1)決策時,實際是執行式(2)。只需令top
y'/1-y' = (y/1-y )*(m-/m+)。(3)tab
這就是類別不平衡學習的基本策略——「再縮放」。移動
再縮放的前提是「訓練集是真實樣本整體的無偏採樣」,時代價敏感學習的基礎。在代價敏感學習中將式(3)中的m-/m+用cost+/cost-代替便可,其中cost+是將正例誤分爲反例的代價,cost-是將反例誤分爲正例的代價。di
3、解決方法
一、欠採樣,直接對訓練集裏的反類樣例進行「欠採樣」,即去除一些反例使得正反例數目接近,而後再進行學習。
二、過採樣,對訓練集裏的正例進行「過採樣」,即增長一些正例使得正反例數目接近,而後在進行學習。
三、直接基於原始訓練集進行學習,但在用訓練好的分類器進行預測,將式(3)嵌入到其決策過程當中,稱爲「閾值移動」。
4、代價敏感
以二分類任務爲例,設定一個「代價矩陣」,costij 表示將第i類樣本預測爲第j類樣本的代價。通常來講,costii=0;若將第0類判別爲第1類所形成的的損失更大,則cost01>cost10;損失程度相差越大,cost01與cost10值的差異越大。
真實類別 |
預測類別 |
|
第0類 |
第1類 |
|
第0類 |
0 |
cost01 |
第1類 |
cost10 |
0 |