1. 程式人生 > >類間樣本數量不平衡對分類模型效能的影響問題

類間樣本數量不平衡對分類模型效能的影響問題

這篇博文是作者的一個實驗筆記,研究一個”飛機-背景“二分類器在不同樣本比例下精度,召回率的規律。

1. 問題描述

  固定正樣本(飛機)2000個,改變負樣本(背景)的訓練資料量
1 : 0.5 、 1 : 1 、 1 : 2 、 1 : 5 、 1 : 10 、 1: 30.
隨著負樣本數量的增多,類間資料量不均衡的情況更為顯著。
  測試時,分別隨機選取4096張飛機、背景樣本(不出現在訓練集),對在每一種資料比例上訓練的模型進行測試。

飛機分類的精度提升,召回率降低;
背景分類的精度降低,召回率升高。

  將這個問題歸結為“類間樣本數量不平衡對分類結果的影響”

問題。
  這裡寫圖片描述

  這裡寫圖片描述

2. 思考

1.問題抽象

  將探討問題歸結為”類間資料量(比例)不平衡對分類結果的影響”問題。
2.思考點:

2.1誰是引起這一變化的主因?

  對於飛機分類,隨著負樣本增多,精度上升,召回率下降;
  對於背景分類,精度下降,召回率上升。
誰是主因?誰是從因?
  在這個實驗中,飛機樣本資料不變,是控制變數。負樣本(背景)資料量逐漸增加,首先應該分析由於負樣本增加而造成的精度、召回率變化;其次,要分析精度上升和召回率下降,哪一個變化是直接由負樣本資料量最大引起的。

3.假設

3.1從模型訓練的動力角度解釋

  當類間資料量相差較大時,模型傾向於將樣本判別為資料量大的樣本,即可獲得較低的損失,沒有動力繼續優化引數。
  極端的例子:訓練樣本中A類1個樣本,B類100個樣本,那麼模型將樣本判別為B類即可獲得很低的損失值,從而失去繼續訓練優化的動力,網路效能弱。
分析實驗結果的混淆矩陣:

airplane background
4088 8
72 4024
airplane background
4085 11
45 4051
airplane background
4084 12
18 4078
airplane background
4073 23
4 4092
airplane background
4067 29
2 4094
airplane background
4061 35
0 4096

  從混淆矩陣來看:
 

隨著負樣本(背景)佔比越來越大,模型將更多原屬於飛機類的樣本判別為背景【觀察第一行】。
而越來越少的背景樣本被劃分到飛機類別。從而背景分類的召回率增高,精度下降。

3.2 資料量大的類別擬合的更好

  一個直觀的假設是:在類間資料量不平衡的訓練過程中,模型對資料量多的類別的分佈擬合的更好,導致對該類的分類效能更好。
  這個假設基於:某型別資料量越多,對模型的引數修改的越多,模型越能刻畫一型別的分佈,從而更好分類。
  這一假設有一些沒有問題沒有解釋:

當背景樣本資料量變大時,為什麼是召回率上升?為什麼只有召回率上升?

4 .一些啟發

  訓練樣本類間資料量的不平衡會引起分類效能的改變。具體到這一實驗:資料量越大的類別,其召回率會更高,相應地會損失一些精度。

5. TODO LIST

5.1 自動平衡樣本,觀察是否改善分類效能

  拷貝資料量少的類別的樣本,使得兩類的樣本數目一致。觀察自動平衡資料對分類結果是否有改進。

5.2 閱讀“類間資料不平衡”相關文獻

Investigation on handling Structured & Imbalanced Datasets with Deep Learning
After extensive investigations, it does seem that Deep Learning has the potential to do well in the area of structured data. We investigate class imbalance as it is a challenging problem for anomaly detection. In this report, Deep Multilayer Perceptron (MLP) was implemented using Theano in Python and experiments were conducted to explore the effectiveness of hyper-parameters.

相關推薦

樣本數量平衡分類模型效能影響問題

這篇博文是作者的一個實驗筆記,研究一個”飛機-背景“二分類器在不同樣本比例下精度,召回率的規律。 1. 問題描述   固定正樣本(飛機)2000個,改變負樣本(背景)的訓練資料量 1 : 0.5 、 1 : 1 、 1 : 2 、 1 : 5

資料平衡分類效能評價(ROC曲線)

大家在將統計學習方法用於實際應用時,不免會遇到各類間資料不太平衡的情況。比如垃圾郵件的識別、稀有病情的診斷、詐騙電話識別、情感分析等等情況。導致資料不平衡的原因有很多,有可能是因為不恰當的取樣方法,也可能真實的資料分佈就是如此;然而真實的資料分佈在大多數情況下我們是無從得知

分類樣本資料平衡問題的解決方法

資料探勘的重點在資料,當資料不平衡的時候怎麼辦呢?  轉自:http://blog.csdn.net/dream2009gd/article/details/35569343       問題:研究表明,在某些應用下,1∶35的比例就會使某些分類

平衡資料分類演算法介紹與比較

介紹 在資料探勘中,經常會存在不平衡資料的分類問題,比如在異常監控預測中,由於異常就大多數情況下都不會出現,因此想要達到良好的識別效果普通的分類演算法還遠遠不夠,這裡介紹幾種處理不平衡資料的常用方法及對比。 符號表示 記多數類的樣本集合為L,少數類的樣本集合為S。

String的equals()的原始碼解析-----記憶體模型的理解

public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String a

服務器穩定網站有哪些影響

中國電信 文章 部分 穩定 自己的 丟失 影響 網站降權 一次 1、關鍵詞排名下降。  關鍵詞排名是站長朋友最關心的,如果網站大部分關鍵詞排名都有一個大幅度的下降,那麽恭喜你,你網站被搜索引擎降權了。  2、收錄減少。  當一個網站權重降低時,很多網站裏面收錄的但質量不高的

ceph bluestore bcache 磁碟齊對於效能影響

1. 磁碟劃分: # for sd in a b c d e f g h i j k l m n o ; do fdisk -l /dev/sd${sd} 2>/dev/null| grep "^ 1"; done 1 2048 1953523711 931

分類模型效能評價(R語言,logistic迴歸,ROC曲線,lift曲線,lorenz曲線)

解決分類問題有多種思路,包括應用支援向量機、決策樹等演算法。還有一種較常規的做法是採用廣義線性迴歸中的logistic迴歸或probit迴歸。廣義線性迴歸是探索“響應變數的期望”與“自變數”的關係,以實現對非線性關係的某種擬合。這裡面涉及到一個“連線函式”和一個“誤差函式”,“響應變數的期望”經過連線函式作

Drop TableMySQL的效能影響分析

【問題描述】 最近碰到有臺MySQL例項出現了MySQL服務短暫hang死,表現為瞬間的併發執行緒上升,連線數暴增。 排查Error Log檔案中有page_cleaner超時的資訊,引起我們的關注: 2019-08-24T23:47:09.361836+08:00 0 [Note] InnoDB: page

一個高性能的象屬性復制,支持同類型復制,支持Nullable<T>型屬性

guid exceptio 原來 byte[] type load 分享圖片 獲取 attribute 由於在實際應用中,需要對大量的對象屬性進行復制,原來的方法是通過反射實現,在量大了以後,反射的性能問題就凸顯出來了,必須用Emit來實現。 搜了一圈代碼,沒發現適合的,要

文字分類 - 樣本平衡的解決思路與交叉驗證CV的有效性

現實情況中,很多機器學習訓練集會遇到樣本不均衡的情況,應對的方案也有很多種。 筆者把看到的一些內容進行簡單羅列,此處還想分享的是交叉驗證對不平衡資料訓練極為重要。 文章目錄 1 樣本不平衡的解決思路 1.2 將不平衡樣本當作離群點

通過加權解決Detectron訓練object detection模型時的平衡問題

使用深度學習解決分類問題時,類間不平衡是一個常見的問題,我們也有很多常用的方法去解決這一問題。比如,對類別少的樣本進行augment,或者重取樣;對類別多的樣本進行降取樣;根據不同類別的樣本數目對損失函式進行加權;或者簡單粗暴地對較少的樣本在資料集內進行復制;等等。

機器學習 如何應對一個數據分佈及平衡的二分類問題 正負樣本比例100000:1

解決方式兩種:1.過取樣 over-sampling  2.欠取樣 過取樣:增加樣本中少數類樣本的數量             經典的方法 1. 複製少數樣本   2.在少數樣本中加入隨機噪聲,干擾資料

分類問題中的數據平衡問題

fas eth 最重要的 不斷學習 ongl 較差 sgd behavior ive http://blog.csdn.net/heyongluoyao8/article/details/49408131 http://blog.csdn.net/lxg0807/arti

【java】spring項目中 entity進行本的克隆

tor mini cti false display des private rac 重寫 方法1: 【使用spring自帶BeanUtils實現克隆】 【要求:需要被克隆的類實現Cloneable接口並且重寫clone()方法】 》例子: 》》實體: package

各瀏覽器常用或者錯誤的 Content-Type 型處理方式一致

mimetype rac apache。 顯示文件 vid ssi 字符 inf 識別 標準參考 content-type 用於定義用戶的瀏覽器或相關設備如何顯示將要加載的數據,或者如何處理將要加載的數據,此屬性的值可以查看 MIME 類型。 MIME (Multipu

平衡問題與SMOTE過采樣算法

focus 英文 分享 能夠 目前 div -i n) macbookp 在前段時間做本科畢業設計的時候,遇到了各個類別的樣本量分布不均的問題——某些類別的樣本數量極多,而有些類別的樣本數量極少,也就是所謂的類不平衡(class-imbalance)問題。 本篇

內置函數(1)判斷子和是

IV print color sta ins 對象 instance type 子類 1.判斷是不是對象 原本判斷時 type(參數)is (參數) 現用內置函數: class Foo: pass obj=Foo() print(isinstance(obj,Fo

【機器學習】在分類中如何處理訓練集中平衡問題

原文地址:一隻鳥的天空,http://blog.csdn.net/heyongluoyao8/article/details/49408131 在分類中如何處理訓練集中不平衡問題   在很多機器學習任務中,訓練集中可能會存在某個或某些類別下的樣本數遠大於另一些類別下的樣本數目。即類別不平衡,為了

Keras 處理 平衡的資料的分類問題 imbalance data 或者 highly skewed data

處理不平衡的資料集的時候,可以使用對資料加權來提高數量較小類的被選中的概率,具體方式如下   fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1, callbacks=[], validation_split=0.0, val