回覆列表
  • 1 # 大漠蒼狼Tony

    在機器學習任務中,我們經常會遇到這種困擾:資料不平衡問題。

    資料不平衡問題主要存在於有監督機器學習任務中。當遇到不平衡資料時,以總體分類準確率為學習目標的傳統分類演算法會過多地關注多數類,從而使得少數類樣本的分類效能下降。絕大多數常見的機器學習演算法對於不平衡資料集都不能很好地工作。

    本文介紹幾種有效的解決資料不平衡情況下有效訓練有監督演算法的思路:

    1、重新取樣訓練集

    可以使用不同的資料集。有兩種方法使不平衡的資料集來建立一個平衡的資料集——欠取樣和過取樣。

    1.1. 欠取樣

    欠取樣是透過減少豐富類的大小來平衡資料集,當資料量足夠時就該使用此方法。透過儲存所有稀有類樣本,並在豐富類別中隨機選擇與稀有類別樣本相等數量的樣本,可以檢索平衡的新資料集以進一步建模。

    1.2. 過取樣

    相反,當資料量不足時就應該使用過取樣,它嘗試透過增加稀有樣本的數量來平衡資料集,而不是去除豐富類別的樣本的數量。透過使用重複、自舉或合成少數類過取樣等方法(SMOTE)來生成新的稀有樣品。

    注意到欠取樣和過取樣這兩種方法相比而言,都沒有絕對的優勢。這兩種方法的應用取決於它適用的用例和資料集本身。另外將過取樣和欠取樣結合起來使用也是成功的。

    2、使用K-fold交叉驗證

    值得注意的是,使用過取樣方法來解決不平衡問題時應適當地應用交叉驗證。這是因為過取樣會觀察到罕見的樣本,並根據分佈函式應用自舉生成新的隨機資料,如果在過取樣之後應用交叉驗證,那麼我們所做的就是將我們的模型過擬合於一個特定的人工引導結果。這就是為什麼在過度取樣資料之前應該始終進行交叉驗證,就像實現特徵選擇一樣。只有重複取樣資料可以將隨機性引入到資料集中,以確保不會出現過擬合問題。

    K-fold交叉驗證就是把原始資料隨機分成K個部分,在這K個部分中選擇一個作為測試資料,剩餘的K-1個作為訓練資料。交叉驗證的過程實際上是將實驗重複做K次,每次實驗都從K個部分中選擇一個不同的部分作為測試資料,剩餘的資料作為訓練資料進行實驗,最後把得到的K個實驗結果平均。

  • 中秋節和大豐收的關聯?
  • 鼻基底凹陷怎麼辦?