作者evilove (願意感動就是一種享受)
看板Statistics
標題[討論] 關於機器學習裡 imbalance 資料
時間Thu Sep 15 23:25:17 2022
機器學習裡有各種不同的抽樣或模擬方法去處理 imbalance 的 output variable
我們在 training set 裡 balance the output variable
但是回到 test set 裡,我們處理的依舊是 imbalance 的output
所以我的疑惑是為什麼 balance training set 可以改善機器學習的模型?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.86.147.139 (美國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Statistics/M.1663255519.A.EF9.html
1F:→ chang1248w: 這要看模型和你的目標函數吧 09/16 12:30
2F:→ chang1248w: 譬如要做二分類的時候,一類佔九成,二類站一成,那 09/16 12:32
3F:→ chang1248w: 模型只要全預測成一類,準確度就嚇嚇叫 09/16 12:32
4F:推 LeFilsDuVent: 考慮二元分類,若0類99%,1類1%,那模型把0類猜錯成 09/20 22:12
5F:→ LeFilsDuVent: 1類會常常受到處罰,反之1類的訓練量很少,猜錯成0 09/20 22:13
6F:→ LeFilsDuVent: 處罰也不多,所以就學會全部猜0最划算。這個問題在 09/20 22:14
7F:→ LeFilsDuVent: 你給模型公平機會訓練0,1類的時候就減輕了 09/20 22:15
8F:→ evilove: 我明白training裡的邏輯,但test並不能balance資料 09/21 01:55
9F:→ evilove: 所以兩邊基本是不同的data patterns 09/21 01:56
10F:→ evilove: 所以為什麼平衡training可以改善test的performace? 09/21 01:57
11F:推 raiderho: 警察例行巡查碰到罪犯的頻率很低,但平時訓練會針對罪犯 09/21 07:16
12F:→ raiderho: 情境啊。如一樓說的,重點在於目標函數的設定,遇到罪犯 09/21 07:16
13F:→ raiderho: 的頻率雖少但很重要,權重很大,這時候召回率(抓到罪犯 09/21 07:16
14F:→ raiderho: 的比率)是重要的指標,而召回率根本不考慮守法份子,但 09/21 07:16
15F:→ raiderho: 只考慮召回率也有問題(將全部路人指認為罪犯,召回率高 09/21 07:16
16F:→ raiderho: 達1),所以會有其他權衡(例如f1 score),這樣訓練時將資 09/21 07:16
17F:→ raiderho: 料平衡就很合理了 09/21 07:16
18F:推 LeFilsDuVent: test set就是看你模型的可推廣性,訓練就是從一堆 09/21 10:15
19F:→ LeFilsDuVent: 函數(hypothesis set)裡面挑出一個最好的,模型可以 09/21 10:15
20F:→ LeFilsDuVent: 認得1類的pattern那就可以推廣 09/21 10:16
21F:→ LeFilsDuVent: 舉個例子,你訓練出一個認貓狗的模型,之後測試時 09/21 10:17
22F:→ LeFilsDuVent: 故意每100張貓圖只摻1張狗圖,模型會認不出狗嗎? 09/21 10:18
23F:→ LeFilsDuVent: 權重是另外一回事了,如果不用up/down sampling,那 09/21 10:20
24F:→ LeFilsDuVent: 可以在訓練時使用權重讓辨認不出少數族群處罰很重 09/21 10:21
25F:→ LeFilsDuVent: 也就是:1.你的問題在imbalance時的可推廣性 2.對付 09/21 10:22
26F:→ LeFilsDuVent: imbalance情況可以up/down sampling或reweightingy 09/21 10:22
27F:→ LeFilsDuVent: 3.2裡面的方法為什麼有效就是訓練時處罰的概念 09/21 10:22
28F:→ chang1248w: 那我再舉一個例子,當某個考生在讀書的時候,練九題 09/22 11:46
29F:→ chang1248w: 微方然後練一題統計,考試的時候考一半微方一半統計 09/22 11:46
30F:→ chang1248w: 那這考生是不是在答統計的時候會答的比較差? 09/22 11:47
31F:→ chang1248w: balance 的用意就在於希望模型放一樣的努力在統計和 09/22 11:49
32F:→ chang1248w: 微方,當兩個科目都有一定掌握,理想上這模型對數學 09/22 11:49
33F:→ chang1248w: 的理解會比較深刻 09/22 11:49
34F:→ chang1248w: 不過training set和testing set同源時 09/22 11:53
35F:→ chang1248w: balanced model 不一定會有比較好的表現,這部分和前 09/22 11:53
36F:→ chang1248w: 面提到的一樣,取決於你的target怎麼定 09/22 11:53
37F:→ saltlake: 反問發問人,您進行測試集之「測試目的」何在? 為了測試 11/14 08:35
38F:→ saltlake: 訓練出來的模型「辨識一般無偏狀況」的能力? 還是測試y 11/14 08:36
39F:→ saltlake: 訓練所得模型「在特定偏差下」的辨識能力? 11/14 08:36
40F:→ saltlake: 如同訓練集的挑選,測試集挑選也要「符合測試目的」 11/14 08:38
41F:→ recorriendo: 取決使用場景 例如假設你目的是診斷rare disease 你 11/15 20:01
42F:→ recorriendo: 都猜沒病就accuracy很高但根本沒用(sensitivity=0) 11/15 20:01