非對稱數據集的在圖像分類任務中的平衡(更新中..)

剛纔實驗室來了一個大四的學弟討論畢設定題,我旁聽。感覺自己和別人的差距還很大,首先就是對於自己的能力還缺乏清晰的認識。別人知道一個東西的時候說:我搭過什麼,跑過什麼,但是沒有修改過具體函數;而我知道一個東西皮毛的時候就已經覺得自己能做出來了。有感於此,決定把最近弄不明白的問題(如題)拿出來梳理一下思路。

非常歡迎各位高人指點。

-------------------------------------------------------------------------------------------------------------

  • 數據預處理層面

目前在做關於圖像分類的研究,之前拿小樣本跑了resnet50的demo,基本確定了一些參數,最近纔開始拿全數據集跑。遇到的問題也很明顯,數據集的分佈不均衡/非對稱。我的數據集分5類,具體如下表:

可以看出最多的和最少的之間差了幾百倍,這會導致即使我把所有的數據都判定爲0類,預測結果也不會很差,但是明顯我的神經網絡可以說沒有學到東西。

網上查了對於不平衡數據集的處理方法,一般說的就是過採樣、欠採樣等,看完還是不知道怎麼做,經人提點,針對不平衡數據集的分類不是一個技術上的trick,而是“有專門的論文和方法”。主要是具體問題還需要具體分析,這些方法還需要結合自己的應用場景做實驗才能判斷效果好壞。

baseline1:

因爲之前在小樣本上測試的時候發現用數據增廣的方法訓練集準確率提升的很快,但是測試集的準確率卻提不上去,考慮存在過擬合,因此神仙師兄暫時建議我用增廣的方法先試試看,按他的說法我將數據集增廣了八倍,類間直接按照原有的比例投入訓練,訓練集:測試集 = 8:1。這樣的做的理由是“保證測試集和驗證集有着同樣的分佈”。道理也很簡單,就是因爲欠採樣和過採樣都有着各自的缺陷。直覺上講,欠採樣不可避免會造成大類某些有效信息的丟失,而過採樣(對圖像一般就是做簡單平移旋轉等增廣)可能增加過擬合的可能性,還有就是“儘管在樣本數量上實現了相對均衡化,但未考慮數據的整體分佈信息”。

模型訓練大概需要一週時間,在這期間制定下一步的方案。

baseline2:

準備將數據集初步劃分爲兩個大類,也是在另一篇論文中得到的啓發,數據集採用的醫學上的劃分方式不一定適合於目前的實驗。先將數據集分成0:(1+2+3+4) = 25810:9316,分兩類,效果好再往後細分。

baseline3:

欠採樣(..)

baseline4:

過採樣(..)

baseline1在增廣後的數據集上跑,先觀察能夠提升多少;baseline2,3,4在未增廣的數據上跑,儘快得出結論。

------------------------------------------------------------------------------------------------------------

  • 特徵層面

其實baseline2也可以算作是特徵層面的操作。

  • 算法層面

典型的方法有代價敏感法,單類學習法和集成學習法。

--------------------------------------------------------------------------------------------------------------

參考文獻:

不平衡數據分類方法綜述
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章