機器學習數據不滿足同分布,怎么整橱乱?

機器學習作為一門科學辜梳,不可避免的是,科學本身是基于歸納得到經驗總結泳叠,必然存在歷史經驗不適用未來的情況(科學必可證偽)作瞄。這里很應景地講一個小故事--By 哲學家羅素:


農場有一群火雞,農夫每天來給它們喂食危纫。經過長期觀察后宗挥,一只火雞(火雞中的科學雞)得出結論,“每天早上農夫來到雞舍种蝶,我就有吃的”契耿,之后每天的經歷都在證實它的這個結論。

但是有一天螃征,農夫來到雞舍搪桂,沒有帶來食物而是把它烤了,因為這天是圣誕節(jié)盯滚,做成了圣誕節(jié)火雞踢械。

通過有限的觀察,得出自以為正確的規(guī)律性結論的魄藕,結局如是此内列。以這角度,我們去看AI/機器學習的應用泼疑,也能看到很多類似的例子德绿。

機器學習是研究怎樣使用計算機模擬或實現人類學習活動的科學荷荤,是基于一系列假設(基本的如,獨立同分布假設)歸納得到經驗移稳,進行預測的過程蕴纳。

也不可避免的,機器學習中也可能出現預測的數據與訓練數據不滿足同分布个粱,歷史數據經驗不那么適用了古毛!導致預測效果變差或失效的情況。這就類似我們考試的時候都许,發(fā)現這類型的題目我沒有見過稻薇,歇菜了...

一、什么是數據不滿足同分布

實際預測與訓練數據不滿足同分布的問題胶征,也就是數據集偏移(Dataset shift)塞椎,是機器學習一個很重要的問題。


從貝葉斯定理可得P(y,x) = P(y|x) * P(x) = P(x|y) * P(y)睛低,當輸入空間的邊緣概率分布P(x) , 輸出空間的標簽分布P(y) 以及表示該機器學習任務的條件概率分布 P(y|x) 之中案狠,有任一項因素發(fā)生偏移導致訓練數據與預測數據 P(y,x)造成差異,即為數據集偏移現象钱雷。

不同因素對應著如下三種情況得數據偏移:

  • Covariate shift:協變量偏移(統計學中的協變量即機器學習中的特征的概念)骂铁,
    指的是輸入空間的邊緣概率分布P(x),也就輸入特征x分布變化導致的偏移罩抗。這個應該是最為常見的拉庵,比如圖像識別任務中,訓練時輸入的人臉圖像數據沒戴口罩套蒂,而預測的時候出現了很多戴口罩人臉的圖像钞支。 再如反欺詐識別中,實際預測欺詐用戶的欺詐行為發(fā)生升級改變泣懊,與訓練數據的行為特征有差異的情況伸辟。

  • Prior probability shift:先驗偏移,指的是標簽分布P(Y) 差異導致的馍刮。比如反欺詐識別中,線上某段時間欺詐用戶的比例 對比 訓練數據 突然變得很大的情況窃蹋。

  • Concept shift:映射關系偏移卡啰,指P(y|x) 分布變化,也就是x-> y的映射關系發(fā)生變化警没。比如農場的火雞匈辱,本來x是【 早上/農夫/來到/雞舍】對應著 y是【火雞被喂食】,但是圣誕節(jié)那天這層關系突然變了杀迹,x還是【 早上/農夫/來到/雞舍】但對應著 y是【火雞被烤了】..hah亡脸,留下心疼的口水..

二、為什么數據不滿足同分布

可能導致數據不滿足同分布的兩個常見的原因是:

  • (1)樣本選擇偏差(Sample Selection Bias) :分布上的差異是由于訓練數據是通過有偏見的方法獲得的。

比如金融領域的信貸客群是通過某種渠道/規(guī)則獲得的浅碾,后面我們新增加營銷渠道獲客 或者 放寬了客戶準入規(guī)則大州。這樣就會直接導致實際客群樣本比歷史訓練時點的客群樣本更加多樣了(分布差異)。

  • (2)不平穩(wěn)環(huán)境(Non-stationary Environments):由于時間上的或空間上的變化導致訓練與測試環(huán)境不同垂谢。

比如金融領域厦画,預測用戶是否會償還貸款的任務。有一小類用戶在經濟環(huán)境好的時候有能力償還債務滥朱,但是由于疫情或其他的影響根暑,宏觀經濟環(huán)境不太景氣,如今就無法償還了徙邻。

三排嫌、如何檢測數據滿足同分布

可能我們模型在訓練、驗證及測試集表現都不錯缰犁,但一到OOT(時間外樣本)或者線上預測的時候躏率,效果就掉下來了。這時我們就不能簡單說是模型復雜導致過擬合了民鼓,也有可能是預測數據的分布變化導致的效果變差薇芝。我們可以通過如下常用方式檢測數據分布有沒有變化:

3.1 統計指標的方法

通過統計指標去檢測分布差異是很直接的,我們通常用群體穩(wěn)定性指標(Population Stability Index丰嘉,PSI)夯到, 衡量未來的樣本(如測試集)及訓練樣本評分的分布比例是否保持一致,以評估數據/模型的穩(wěn)定性(按照經驗值饮亏,PSI<0.1分布差異是比較小的耍贾。)。


同理路幸,PSI也可以細化衡量特征值的分布差異荐开,評估數據特征層面的穩(wěn)定性。PSI指標計算公式為 SUM(各分數段的 (實際占比 - 預期占比)* ln(實際占比 / 預期占比) )简肴,介紹可見:指標晃听。其他的方法如 KS檢驗,KDE (核密度估計)分布圖等方法可見參考鏈接[2]

3.2 異常(新穎)點檢測的方法

可以通過訓練數據集訓練一個模型(如 oneclass-SVM)砰识,利用模型判定哪些數據樣本的不同于訓練集分布(異常概率)能扒。異常檢測方法可見:異常檢測算法速覽

3.3 分類的方法

混合訓練數據與測試數據(測試數據可得情況),將訓練數據與測試數據分別標注為’1‘和’0‘標簽辫狼,進行分類初斑,若一個模型,可以以一個較好的精度將訓練實例與測試實例區(qū)分開膨处,說明訓練數據與測試數據的特征值分布有較大差異见秤,存在協變量偏移砂竖。

相應的對這個分類模型貢獻度比較高的特征,也就是分布偏差比較大的特征鹃答。分類較準確的樣本(簡單樣本)也就是分布偏差比較大的樣本乎澄。

四、如何解決數據不滿足同分布

4.1 增加數據

增加數據是王道挣跋,訓練數據只要足夠大三圆,什么場面沒見過,測試數據的效果自然也可以保證避咆。

如上面的例子舟肉,作為一只農場中的科學雞,如果觀察到完整周期查库、全場景的數據路媚,或者被灌輸一些先驗知識,就能更為準確預測火雞的命運樊销。

但是現實情況可能多少比較無奈整慎,可能業(yè)務場景的原因限制,并不一定可以搞得到更多數據围苫,諸如聯邦學習裤园、數據增強等方法也是同樣的思路。

4.2 數據增強

在現實情況沒法新增數據的時候剂府,數據增強(Data Augmentation)是一個備選方案拧揽,在不實質性的增加數據的情況下,從原始數據加工出更多的表示腺占,提高原數據的數量及質量淤袜,以接近于更多數據量產生的價值。

其原理是通過對原始數據融入先驗知識衰伯,加工出更多數據的表示铡羡,有助于模型判別數據中統計噪聲,加強本體特征的學習意鲸,減少模型過擬合烦周,提升泛化能力。具體可見:數據增強方法

4.3 選擇數據

我們可以選擇和待預測樣本分布比較一致的數據做模型訓練临扮,使得在待預測樣本的效果變得更好论矾。

這個方法看起來有點投機,這在一些數據波動大的數據競賽中很經常出現杆勇,直接用全量訓練樣本的結果不一定會好,而我們更改下數據集劃分split的隨機種子(如暴力for循環(huán)遍歷一遍各個隨機種子的效果)饱亿,或者 人工選擇與線上待預測樣本業(yè)務類型蚜退、 時間相近的樣本集用于訓練模型(或者 提高這部分樣本的學習權重)闰靴,線上數據的預測效果就提升了。

4.4 半監(jiān)督學習

半監(jiān)督學習 是介于傳統監(jiān)督學習和無監(jiān)督學習之間钻注,其思想是通過在模型訓練中直接引入無標記樣本蚂且,以充分捕捉數據整體潛在分布,以改善如傳統無監(jiān)督學習過程盲目性幅恋、監(jiān)督學習在訓練樣本不足導致的學習效果不佳的問題杏死。

通過半監(jiān)督學習,訓練時候可以充分捕捉數據整體潛在分布捆交,同理也可以緩解預測數據分布有差異的問題淑翼。半監(jiān)督分類常用的做法是,通過業(yè)務含義或者模型選擇出一些雖然無標簽的樣本品追,并打上大概率的某個標簽(偽標簽)加入到訓練數據中玄括,驗證待預測樣本的效果有沒有變好。

經典的如金融信貸領域的拒絕推斷方法(參考鏈接[6])肉瓦,我們可以從貸款被拒絕的用戶中(這部分用戶是貸款的時候直接被拒絕了遭京,沒有"是否違約"的標簽),通過現有信貸違約模型(申請評分卡)預測這部分拒絕用戶的違約概率泞莉,并把模型認為大概率違約的用戶作為壞樣本加入到訓練樣本中哪雕,以提升模型的泛化效果。

4.5 特征選擇

對于常見的協變量偏移鲫趁,用特征選擇是一個不錯的方法斯嚎。我們可以分析各個特征在分布穩(wěn)定性(如PSI值)的情況,篩選掉分布差異比較大的特征饮寞。需要注意的是孝扛,這里適用的是篩掉特征重要性一般且穩(wěn)定性差的特征。如果重要特征的分布差距也很大幽崩,這就難搞了苦始,還是回頭搞搞數據或者整整其他的強特征。特征選擇方法可見:python特征選擇

4.6 均衡學習

均衡學習適用與標簽分布差異(先驗偏移)導致的數據集偏移慌申。均衡學習的方法可以歸結為:通過某種方法陌选,使得不同類別的樣本對于模型學習中的Loss(或梯度)貢獻是比較均衡的,以消除模型對不同類別的偏向性蹄溉,學習到更為本質的決策咨油。

比如原反欺詐訓練樣本中,好壞樣本的比例是1000:1柒爵,但到了預測役电,有時實際的好壞樣本的比例是10:1。這時如果沒有通過均衡學習棉胀,直接從訓練樣本學習到模型法瑟,會先天認為欺詐壞樣本的概率就是很低的冀膝,導致很多欺詐壞樣本的漏判。

不均衡的任務中霎挟,一方面可以通過代價敏感窝剖、采樣等方法做均衡學習;另一方面也可以通過合適指標(如AUC)酥夭,減少非均衡樣本的影響去判定模型的效果赐纱。具體可見:一文解決樣本不均衡(全)

最后,機器學習是一門注重實踐的科學熬北,在實踐中驗證效果疙描,不斷探索原理。僅以此文致敬我們的數據科學雞啊蒜埋。


參考鏈接:
1淫痰、理解數據集偏移 https://zhuanlan.zhihu.com/p/449101154
2、訓練/測試集分布不一致解法總結
3整份、訓練集和測試集的分布差距太大有好的處理方法嗎 https://www.zhihu.com/question/265829982/answer/1770310534
4待错、訓練集與測試集之間的數據偏移(dataset shift or drifting) https://zhuanlan.zhihu.com/p/304018288
5、數據集偏移&領域偏移 Dataset Shift&Domain Shift https://zhuanlan.zhihu.com/p/195704051

6烈评、如何量化樣本偏差對信貸風控模型的影響火俄?https://zhuanlan.zhihu.com/p/350616539

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市讲冠,隨后出現的幾起案子瓜客,更是在濱河造成了極大的恐慌,老刑警劉巖竿开,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谱仪,死亡現場離奇詭異,居然都是意外死亡否彩,警方通過查閱死者的電腦和手機疯攒,發(fā)現死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來列荔,“玉大人敬尺,你說我怎么就攤上這事√悖” “怎么了砂吞?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長崎溃。 經常有香客問我蜻直,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任袭蝗,我火速辦了婚禮唤殴,結果婚禮上般婆,老公的妹妹穿的比我還像新娘到腥。我一直安慰自己,他們只是感情好蔚袍,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布乡范。 她就那樣靜靜地躺著,像睡著了一般啤咽。 火紅的嫁衣襯著肌膚如雪晋辆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天宇整,我揣著相機與錄音瓶佳,去河邊找鬼。 笑死鳞青,一個胖子當著我的面吹牛霸饲,可吹牛的內容都是我干的。 我是一名探鬼主播臂拓,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼厚脉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了胶惰?” 一聲冷哼從身側響起傻工,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎孵滞,沒想到半個月后中捆,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡坊饶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年泄伪,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幼东。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡臂容,死狀恐怖,靈堂內的尸體忽然破棺而出根蟹,到底是詐尸還是另有隱情脓杉,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布简逮,位于F島的核電站球散,受9級特大地震影響,放射性物質發(fā)生泄漏散庶。R本人自食惡果不足惜蕉堰,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一凌净、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屋讶,春花似錦冰寻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至乐疆,卻和暖如春划乖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挤土。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工琴庵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仰美。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓迷殿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筒占。 傳聞我的和親對象是個殘疾皇子贪庙,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容