解決不均勻樣本下的分類

2021-09-24 20:41:12 字數 1527 閱讀 4022

author

time

wu_b

2019.6.29

在不均勻樣本下訓練分類器,容易造成分類器將樣本直接判別為大樣本,從而降低損失,沒有動力繼續優化引數。針對這個問題,可以由以下幾個方法進行優化:

這個是在面試過程中想到的,不過考慮到其不穩定性就沒說出來了。

1.1 演算法

1.2 存在問題

1.3 改進方法

採用balancecascade,即在上述放回隨機取樣的基礎上進行修改

不過這種方法主要是對於演算法的內容進行了修改,而不是題目中資料預處理

2.1 演算法

這裡主要是對於訓練中loss的計算公式進行了更改,增大小樣本計算loss的權重,減小大樣本計算loss的權重,最直接的方法就是直接將權重值設為所對應樣本數量的倒數。

像常見計算loss的方法,如交叉熵,可以直接加上樣本數量的倒數作為權重

2.2 存在問題

2.3 類似方法

同樣也是非資料預處理的做法,通過修改分類判別的閾值來實現,如小樣本的概率閾值可根據樣本的佔比相應下調,而不是原有的0.5:0.5

3.1 near-miss演算法

這裡欠取樣主要有以下四種方法:

3.1.1 存在的問題

3.1.2 評估

3.2 tomek links方法

3.2.1 演算法

對於屬於不同樣本的兩個點x,y,我們找不到第三個點z,使得z到x的距離或者到y的距離,小於x和y之間的距離。這樣的xy就形成了乙個tomek link,欠取樣即將每乙個tomek link中屬於多樣類的樣本拋棄。

3.2.2 評估

3.3 enn演算法

3.3.1 演算法

基於knn演算法,對於多樣類樣本中的每個點,如果k個最近鄰的點一半都是另外的類,則將該資料拋棄(或者k個最近鄰的點全部都是另外的類)

3.3.2評估這裡我們針對於兩個只有500資料量的小樣本類進行資料的人工合成

4.1 smote演算法

4.1.1演算法

4.1.2 評估

4.2 border-line smote演算法

4.2.1演算法

針對smote演算法的不足而進行完善的一種新演算法。

將上述的安全點利用上述smote演算法一樣生成新樣本

4.2.2 評估

4.3 adasyn演算法

4.3.1演算法

adasyn是一種自適應綜合取樣的方法:

4.3.2 評估

4.4 km-smote演算法

4.4.1演算法

將k-means聚類和smote相結合:

4.4.2 評估綜合取樣主要是將對於小樣本類的過取樣和對於多樣本類的欠取樣結合起來,主要有:

這樣既增加了小眾樣本的數量,且減少了不同類別之間的樣本重疊

上述方法主要是分成五大塊,分別是隨機抽樣+整合學習、loss懲罰函式的權重調動、欠取樣、過取樣、綜合取樣五種。分別對應從簡單到複雜,其效能也隨著計算量的增大而增大。

根據本次的需求看來,可能選擇針對於少樣類的欠取樣,或使用綜合取樣比較好。

imbalanced-learn庫

Halcon表面缺陷檢測 不均勻光照的表面缺陷

對應示例程式 find scratches bandpass fft.hdev 目標 實現不均勻光照的表面缺陷。思路為 先建立乙個合適的帶通濾波器,然後把影象 例程做了影象反轉 傅利葉變換在頻域濾波,加強高頻部分,然後變回時域做形態學處理,最後通過line gauss檢測出缺陷。影象 dev upd...

loss 加權 樣本不均衡下的分類損失函式

通常二分類使用交叉熵損失函式,但是在樣本不均衡下,訓練時損失函式會偏向樣本多的一方,造成訓練時損失函式很小,但是對樣本較小的類別識別精度不高。解決辦法之一就是給較少的類別加權,形成加權交叉熵 weighted cross entropy loss 今天看到兩個方法將權值作為類別樣本數量的函式,其中有...

分類任務中的樣本不均衡問題

參考 最近在做行人屬性相關工程,遇到個樣本不均衡問題。問題描述 行人屬性中很多屬性不平衡,例如,戴帽子和不戴帽子的人的比例很懸殊,我們的訓練集就會出現資料不均衡現象。針對這種現象,我們採用一種資料均衡取樣器解決,思路是這樣的,每個執行緒以1 2概率從戴帽子和不戴帽子的影象佇列中取出資料。這樣即可保證...