作者wang19980531 (中立評論員)
看板DataScience
標題[討論] 發現模型開始過擬合,開發者能做什麼
時間Sat Oct 10 19:57:06 2020
一般用驗證集和訓練集的accuracy,
就能看出這個模型是不是往overfitting的方向發展,
這時開發者能做什麼?
(1) 停止訓練
(2) 加入dropout 或是 dropblock等增加訓練亂數
(3) 在每一次的gradient加入error feedback
還有其他方法嗎?
有沒有關於(3)方法的應用呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.131.205 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1602331028.A.516.html
1F:推 min86615: 可是3的方法應該有一些疑慮,如果給error feedback有點 10/10 20:10
2F:→ min86615: 作弊的感覺,畢竟希望驗證是能部份模擬現實情況,沒看過 10/10 20:10
3F:→ min86615: 資料的狀況下做判斷。而且通常驗證也會割比較少,不如看 10/10 20:10
4F:→ min86615: 驗證出來預測錯誤的地方加上什麼架構可以有效修補。 10/10 20:10
5F:推 geminitw: 有加batch normalization? 減少model complexity 10/10 22:11
6F:推 geminitw: Learning rate decay 10/10 22:15
7F:推 wtchen: 第一個你要確定是不是真的overfitting 10/10 23:29
8F:→ wtchen: (驗證集accoracy先降後升) 10/10 23:29
9F:→ wtchen: 然後確定樣本分佈夠均勻(做交叉驗證) 10/10 23:30
10F:→ wtchen: 有時候就是訓練樣本多樣性不夠或是沒好好打散 10/11 00:16
11F:→ wtchen: 再來就是加點regularization項牽制,以稍微增加偏差 10/11 00:18
12F:→ wtchen: 的方式換得"大幅"增加誤差(要謹慎取捨) 10/11 00:19
13F:→ wtchen: 減少 10/11 00:20