1. 程式人生 > >解決樣本不均衡問題-SMOTE

解決樣本不均衡問題-SMOTE

原文連結

SMOTE: Synthetic Minority Over-sampling Technique

解決的問題

很多演算法都有一個預設的假設:樣本中各個類別的樣本數目是均衡的,比如深度學習中幾個經典網路結構直接用於不均衡資料效果會很差。本文提出的SMOTE是一種通過線性插值過取樣的方法解決不均衡問題的方法。如果通過簡單複製樣本沒有獲得期望結果時,不妨試試這個方法。

偽碼

輸入:同一類別的所有樣本 { S }

\{S\} ,聚類引數K,需要新增的樣本個數N
輸出:新增樣本 { S n } \{S_n\}

步驟1:K均值聚類
步驟2:以概率 {

P } \{P\} 選擇一個聚類C
步驟3:聚類C中隨機選擇兩個樣本 s 1 s_1 s
2 s_2
,計算新樣本 s x = w s 1 + ( 1 w ) s 2 s_x=w*s_1+(1-w)*s_2 w ( 0 , 1 ) w \in (0,1) 內的隨機數
步驟4:重複步驟2和步驟3,直至生成N和新樣本

其中步驟2的概率 { P } \{P\} 有幾種不同策略:
1 按聚類大小取樣,聚類越大,取樣率越低
2 按聚類大小取樣,聚類越大,取樣率越高

從樣本均衡角度,策略1更合適