機器學習的樣本類別不均衡問題與解決方法

2021-10-03 05:35:24 字數 791 閱讀 2429

類別不平衡(class-imbalance)就是指分類任務中,不同類別的訓練資料數目差別很大的情況。

假設訓練樣例中正例數目m+,負例數目m-,那麼觀測機率為 m+/m- 。

設乙個樣本**為正例的概率為p,則**為負例的概率為1-p,則分類器的**機率為p/1-p。

通常情況下,我們假設訓練集是真實樣本總體的無偏取樣,那麼當**機率大於觀測機率的情況下,我們就可以將樣本判定為正例。即 p/1-p > m+/m-

而在實際情況下,我們會認為正例與負例的數目是相差不大的,即我們是基於p/1-p > 1來判定正例的,也就是當p>0.5時,就判定為正例。根據上面的分析,在樣本類別不均衡的情況下,這一判斷標準是不正確的,我們就需要對**值進行調整。即p/1-p > m+/m-,解得p>m+/((m+)+(m-)).

這就是類別不平衡的乙個重要處理策略:再縮放。

因為「訓練集是樣本總體的無偏取樣」這一假設並不是總成立的。

(1)過取樣:通過增加訓練樣例中的正例,使正反例數目接近,再進行訓練

注意:不能簡單的對正例進行重複取樣,否則容易造成過擬合。

過取樣代表演算法:smote:通過對訓練集裡的正例進行插值來產生額外的正例。

(2)欠取樣:通過去除訓練樣例中的部分負例,使正反例數目接近,再進行訓練

注意:負取樣若隨機丟棄負例,則容易丟失重要資訊。

欠取樣的代表演算法:easyensemble:將負例劃分為若干個集合供不同的學習器使用,這樣對每個學習期都進行了欠取樣,但不會丟失全域性資訊。

(3)閾值移動:即用原來的資料集進行訓練,在進行**的時候根據「再縮放」原理,調整**的閾值。

樣本類別不均衡的問題

樣本類別數量不均衡主要出現在分類建模的情況。通常為某類別的樣本數量較少,導致模型忽略了小樣本的特徵,由大樣本主導。面對樣本數量不均的情況,常用的方法如下 這種方法要麼丟失資料資訊,要麼會導致較少樣本共線性,存在明顯缺陷 這種方式的弊端在於無法控制合適的權重比,需要多次嘗試 這種使用場景侷限,前置的知...

解決樣本類別分布不均衡的問題

不均衡指的是不同類別的樣本量差異非常大,樣本類別分布不均衡從資料規模上課 可分為大資料分布不均衡和小資料分布不均衡兩種。大資料分布不均衡 例如擁有1000萬條記錄的資料集中,其中佔比50萬條的少數分類樣本便屬於這種情況 小資料分布不均衡 例如擁有1000條記錄的資料集中,其中占有10條樣本的分類,其...

分類方法中樣本類別不均衡問題

大部分的分類學習方法都存在乙個基本的假設,訓練集中不同類別的訓練樣本數目差不多。如果不同類別的樣本數目差距很大,比如正類樣本有98個,而負類樣本只有2個,這種情況下學習出來的分類器只要一直返回正類的 結果,那很輕易的就能達到百分之九十八的正確率,但實際上這樣的模型並沒有什麼作用。欠抽樣,是指減少分類...