看板 DataScience 關於我們 聯絡資訊
各位有遇到過這個問題嗎(如標題) 我的loss history如下圖上方圖表 https://i.imgur.com/Zfp0YvK.jpg
從頭到尾都val_loss < loss, 若繼續train下去也是會overfitting(val_loss > loss), 但前面val_loss, val_acc都表現比較好感覺蠻奇怪的 實際預測的分數慘不忍賭, 比訓練/驗證的分數低很多, 不知道哪裡出問題QQ 作業系統:win10 問題類別:ML,DL,RNN 使用工具:python -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.2.184 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1551831975.A.428.html
sma1033: 原因應該很簡單,你的val_dataset有很高比例被包在train_03/06 08:33
sma1033: dataset底下,也就是train的時候會吃到和val_dataset相近03/06 08:33
sma1033: 的資料,而val_dataset的多樣性又比train_dataset低所致03/06 08:34
sma1033: 假設code沒問題,test慘的原因單純就是「資料太不一樣」03/06 08:36
sma1033: 你可能分資料的時候,sample取得不夠random,或是量太少03/06 08:37
yougigun: 推s03/06 09:35
keepxha: ML/DL常見問題,若資料不夠多可試試K-fold驗證03/06 13:34
Luluemiko: 應該是資料分布的問題 train跟test很不像03/06 23:17
Luluemiko: 可以回頭看一下兩組資料特徵的分布是否相似03/06 23:19
感謝各位指點,思考了一下有點頭緒: 我描述一下我的dataset , binary output只有0和1, 1很少,比例懸殊(約1:19) model訓練時容易往0靠近, 如果val dataset被分配到較少的1, val_loss比train loss好應該是可以理解的 延伸請教一下, 若要train這種比例懸殊的binary dataset, train data的0,1比例要維持原本的懸殊比例嗎? 或是0,1比例1:1效果會比較好? 我的想法是1:1 model比較不會往某邊靠, 但和實際data比例不符感覺又會失真 ※ 編輯: keven92110 (114.136.206.180), 03/07/2019 00:19:25 ※ 編輯: keven92110 (114.136.206.180), 03/07/2019 00:24:05 ※ 編輯: keven92110 (114.136.206.180), 03/07/2019 00:35:04 ※ 編輯: keven92110 (114.136.206.180), 03/07/2019 01:14:15
sma1033: 通常資料分類比例太過懸殊有兩種作法:1.弄成你說的1:1 03/07 07:30
sma1033: 2.把量少的那方loss權重乘以一個大於1的倍數,讓model在 03/07 07:31
sma1033: training過程無法忽略量少的資料,你可以考慮看那個適合 03/07 07:31
f496328mm: 比較常看到的是,用真實比例 03/07 13:04
f496328mm: 最後在判斷 0 or 1 的機率上,不要用 0.5 03/07 13:04
f496328mm: 試試看用 0.1 or 0.2 去調整你的邊界 03/07 13:05
f496328mm: imbalance 的問題很常見 03/07 13:06
f496328mm: 我之前做生產線分析,不良品只有0.5% 03/07 13:06
f496328mm: 就是用調整邊界的方法 03/07 13:07
ruokcnn: Imbalanced data 可以用smote解解看 03/07 21:29
ruokcnn: 或是先cluster 各抓同數目的兩類別train看看 03/07 21:30
ruokcnn: Binary問題最好還是輸出0~1之後再切thresholds 03/07 21:31
luli0034: 應該說今天小類別對你來說是不是很重要 如果是的話才是 03/09 00:11
luli0034: 問題(如何提升recall) 類別不平衡可以over/under sampli 03/09 00:11
luli0034: ng或是在training 前調整class weight等等 也可以試試 03/09 00:11
luli0034: 看切資料集的時候維持原類別比例(val也是維持1:19) 03/09 00:11