類不平衡問題的根本原因是什麼?
最近我一直在思考機器/統計學習中的“類不平衡問題”,並且越來越深地陷入一種我只是不明白髮生了什麼的感覺。
首先讓我定義(或嘗試)定義我的術語:
機器/統計學習中的類不平衡問題是觀察到一些二元分類(*)算法在 0 類與 1 類的比例非常偏斜時表現不佳。
所以,在上面,例如,如果有一百個 $ 0 $ 每一堂課 $ 1 $ 班級,我會說班級不平衡是 $ 1 $ 到 $ 100 $ , 或者 $ 1% $ .
我看到的大多數問題陳述都缺乏我認為足夠的資格(什麼模型在掙扎,問題有多不平衡),這是我困惑的一個原因。
對機器/統計學習中標准文本的調查結果很少:
- 統計學習要素和統計學習導論在索引中不包含“類別不平衡”。
- 用於預測數據分析的機器學習在索引中也不包含“類別不平衡”。
- Murphy’s Machine Learning: A Probabilistic Perspective在索引中 確實包含“類不平衡*”。參考的是關於 SVM 的部分,我在其中發現了以下誘人的評論:
值得記住的是,所有這些困難,以及已經提出解決它們的大量啟發式方法,從根本上是因為 SVM 不使用概率對不確定性進行建模,因此它們的輸出分數在不同類別之間不具有可比性。
這條評論確實符合我的直覺和經驗:在我以前的工作中,我們通常會將邏輯回歸和梯度提升樹模型(以最小化二項式對數似然)擬合到不平衡數據(大約 $ 1% $ 類不平衡),性能沒有明顯問題。
我已經(某處)讀到基於分類樹的模型(樹本身和隨機森林)也確實存在類不平衡問題。這有點攪渾水,從某種意義上說,樹確實會返回概率:樹的每個終端節點中目標類的投票記錄。
所以,總結一下,我真正追求的是對導致類不平衡問題(如果存在的話)的力量的概念性理解。
- 這是我們用錯誤選擇的算法和懶惰的默認分類閾值對自己做的事情嗎?
- 如果我們總是擬合優化正確評分標準的概率模型,它會消失嗎?換句話說,原因僅僅是損失函數的選擇不當,即基於硬分類規則和整體準確性評估模型的預測能力嗎?
- 如果是這樣,不優化正確評分規則的模型是否就沒用(或至少沒那麼有用)?
(*)分類是指任何適合二元響應數據的統計模型。我並不是假設我的目標是完成一個或另一個課程的艱鉅任務,儘管它可能是。
機器學習百科全書( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) 中的一個條目有助於解釋所謂的“類不平衡問題”更好地理解為三個獨立的問題:
(1) assuming that an accuracy metric is appropriate when it is not (2) assuming that the test distribution matches the training distribution when it does not (3) assuming that you have enough minority class data when you do not
作者解釋說:
類不平衡數據集出現在許多實際應用程序中,其中數據的類分佈高度不平衡。同樣,不失一般性,我們假設少數或稀有類是正類,多數類是負類。通常少數類非常小,例如數據集的 1%。如果我們在數據集上應用最傳統的(成本不敏感)分類器,它們可能會將所有內容預測為負數(多數類)。這通常被認為是從高度不平衡的數據集中學習的問題。
然而,正如 (Provost, 2000) 所指出的,在傳統的成本不敏感分類器中經常做出兩個基本假設。首先是分類器的目標是最大化準確率(或最小化錯誤率);二是訓練集和測試集的類分佈相同。在這兩個假設下,對於高度不平衡的數據集,預測一切都是負面的通常是正確的做法。(Drummond and Holte, 2005) 表明,在這種情況下,通常很難超越這個簡單的分類器。
因此,只有當上述兩個假設中的一個或兩個不正確時,不平衡類問題才有意義;也就是說,如果不同類型錯誤(二元分類中的假陽性和假陰性)的代價不同,或者測試數據中的類別分佈與訓練數據中的類別分佈不同。第一種情況可以使用成本敏感元學習中的方法有效處理。
在錯誤分類成本不相等的情況下,將少數(正面)示例錯誤分類為多數(負面)類別通常比將多數示例錯誤分類為少數類別更昂貴(否則將所有內容預測為消極的)。即,FN > FP。因此,給定 FN 和 FP 的值,各種成本敏感的元學習方法可以並且已經用於解決類不平衡問題(Ling 和 Li,1998;Japkowicz 和 Stephen,2002)。如果 FN 和 FP 的值不是明確未知的,則可以將 FN 和 FP 分配為與 p(-):p(+) 成正比(Japkowicz 和 Stephen,2002)。
如果訓練數據集和測試數據集的類分佈不同(例如,如果訓練數據高度不平衡但測試數據更平衡),一個明顯的方法是對訓練數據進行採樣,使其類分佈與測試數據(通過對少數類進行過採樣和/或對多數類進行欠採樣)(Provost,2000)。
請注意,有時少數類的示例數量太少,分類器無法充分學習。這是訓練數據不足(小)的問題,不同於不平衡數據集的問題。
因此,正如 Murphy 所暗示的,只要避免這三個錯誤,使用不平衡類本身就沒有任何問題。產生後驗概率的模型比 SVM 等判別模型更容易避免錯誤 (1),因為它們使您能夠將推理與決策分開。(有關最後一點的進一步討論,請參見 Bishop 的第 1.5.4 節推理和決策。)
希望有幫助。