非均衡樣本處理的心法

2021-10-04 20:57:01 字數 2809 閱讀 7892

身處大資料時代,對模型和風控工作者來說無異於福音。但與此同時,資料呈現長尾分布,不均衡分布導致訓練困難,效果不佳。具體到風控場景中,負樣本的佔比要遠遠小於正樣本的佔比。考慮乙個簡單的例子,假設有10萬個樣本,其中逾期客戶500個,壞樣本佔比0.5%。如果我們直接將資料輸入模型進行訓練,將導致即便全部判斷為正,準確率也能達到99.5%,在梯度下降過程中,正樣本壓倒性的影響,模型難以收斂到最優點。

常見的非均衡樣本處理策略有:

1.重新取樣:

(1)過取樣:將樣本較少的一類sample補齊

(2)欠取樣:將樣本較多的一類sample壓縮

(3)組合取樣:或者上下兩個方向同時取樣。

使用重新取樣的方法,也許會引入大量的重複樣本,這將降低訓練速度,並導致模型有過擬合的風險或者丟棄有價值的資料。

2.使用代價敏感權重:

我們對更小的樣本分配更高的權重。在分類函式,比如邏輯回歸中,我們可以通過class-weight來調整正負樣本的權重。我們讓小類的權重更大,以此來抵消不均衡的影響。考慮將樣本分配不同的權重,這是符合直觀感受的。一方面我們可以在做訓練的時候,將小型別樣本給與更高權重,強制干預梯度下降步長,另一方面工作中,不同的樣本帶來的代價也是不一樣的,比如智慧型風控中,壞樣本帶來的損失是比好樣本更高。

以上兩種方法是傳統的機器學習中常用的辦法,但是在實際工作不難中發現,重新取樣和重新賦予權重這兩種方法是啟發式的,調參帶來的結果影響較大,難以達到最佳。

面對這樣的困難,該將如何解決呢?

為解決這樣的問題,微眾信科認為在工作中我們可以從兩個方面進行有效的嘗試:第一,擴充套件資料。第二,利用新的模型。

第一,擴充套件資料:

直觀上,資料越多越好,但是我們不能簡單的複製資料,而是生成一些新資料加入到模型中。具體方法如下:

3.生成對抗網路(gan):

在機器學習的理論中,我們有生成模型和判別模型之分。生成模型是指我們對聯合概率建模,除了分類之外我們還需要刻畫資料是如何產生的。而判別模型是對條件概率進行建模,我們不關心如何刻畫樣本,我們只需要滿足正確的分模擬錯誤的分類概率大即可。生成對抗網路將兩者聯合了起來。模型分為生成部分和判別部分。

簡單來說,我們準備好兩部分資料:真實資料和隨機噪音資料。隨機噪音資料通過生成器,變成假資料。其後訓練乙個判別模型,它能很好的判斷輸入的資料是真實的還是假的(生成的)。生成器從隨機噪音開始不停的生成資料,判別器告訴生成器不對,並告訴生成器**不對,生成器獲得新的指導後再不停的生成資料,這樣不斷迴圈,導致生成的資料越來越靠近真實。

4.smote取樣演算法:

該演算法**於**《smote: synthetic minority over-sampling technique》,該**提出了一種過取樣演算法smote。概括來說,本演算法基於「插值」來為少數類合成新的樣本。 並將新樣本新增到資料集中進行訓練。

5.label propagation標籤傳播演算法:

標籤傳播演算法是一種基於圖的半監督學習方式。lp的核心思想是:相似的樣本具有相同的標籤。因此lp演算法首先構造相似矩陣,並利用新入樣本和已經標籤樣本的相似度來給沒有標籤的樣本打標籤。

第二:新的模型

現在如果將視角放在更巨集觀的角度,我們會發現導致收斂困難的方法是我們用到(y_true-y_pred)相關的損失函式去做梯度下降。那麼我們能不能改變這個損失函式,讓收斂更容易?2023年facebook kaiming he在《focal loss for dense object detection》中提出了focal_loss成為這一方面的代表性模型。

fl(pt) = −αt(1 − pt)γ log(pt).

focal loss的核心思想是:比如正樣本遠比負樣本多的話,模型肯定會傾向於數目多的正類(可以想象全部樣本都判為正類),這時候,正類的 y,γ 或 σ(kx) 都很小,而負類的 (1−ŷ )γ 或 σ(−kx) 就很大,這時候模型就會開始集中精力關注負樣本。

從focal loss開始後繼者們也開始了更多的改進,衍生除了各種進化的focal_loss,其中有代表性的是康納爾大學和谷歌聯合提出的cb focal。 此外值得一提的是,在cvpr 2020上,曠視提出了bbn模型,比focal loss top1準確率提公升了30%左右。並獲得了長尾資料集 inaturalist challenge 賽道的世界冠軍。

bbn 模型包含 3 個主要元件:1)常規學習分支,2)再平衡分支,3)累積學習策略。常規學習分支和再平衡分支分別用於表徵學習和分類器學習。這兩個分支使用了同樣的殘差網路結構,除最後乙個殘差模組,兩個分支的網路引數是共享的。

無論是focal loss 或者後續的bbn,深度學習的優秀做法也同樣可以應用到智慧型風控中。

結語:可以看出無論是風控,抑或自然語言處理,計算機視覺等等各領域,資料的不均衡分布始終都是我們要面對的問題,智慧型風控也可以從其他領域借鑑好的做法來提公升我們的模型。隨著」新基建」的積極推進和5g的蓄勢待發,資料將伴隨著時代的浪潮不可避免地激增,如何科學地處理資料,快速地計算,精準地處理,穩健地部署將是值得從業者們一直關注的問題,我們也將作為先行者和踐行者,去實踐,去創造,去分享。

作者 | 何志堅(微眾信科資深演算法工程師)

少數樣本處理

在檢測少數樣本時,如果我們採用正常的分類評價指標,則會發現,即使少數類全部分錯,也能達到乙個很高的正確率。所以我們在這種情況下需要另外的策略保證少數類得到足夠的重視 1.再抽樣 1.1 對多數類隨機欠取樣 缺點 資料集沒有完全被利用,而且有可能引入偏差 彌補 整合學習 easyensemble 併聯...

機器學習 樣本處理

樣本處理 模型冷啟動 構建專家規則模型 前期比機器學習模型重要 平滑過渡 充分部分優先切換 產品 資料 產品的重要性 資料技術不是核心競爭力,但資料是。樣本分佈不一致的解決方案 不一致會有什麼問題?樣本資料和實際資料的分布不一致。難點在於發現 意識到 需要清楚產品需要什麼 樣本不平衡的解決方案 樣本...

非均衡樣本的簡單認識

在分類問題中,每種類別的出現概率未必均衡。比如 信用風險 正常使用者遠多於逾期 違約使用者。非平衡樣本導致的問題 降低少類樣本的靈敏性。考慮對小類下的樣本 不足1為甚至更少 進行過取樣,即新增部分樣本的副本,這樣做的缺點是過擬合。考慮對大類下的樣本 超過1萬 十萬甚至更多 進行欠取樣,即刪除部分樣本...