作者oo855050 (阿偉)
看板Python
標題Re: [問題] 關於NN之準確度無法上去
時間Fri Nov 15 23:52:17 2019
※ 引述《oo855050 (阿偉)》之銘言:
: 版上各位好
: 小弟目前正在學機器學習,看了李宏毅老師的線上影片,想說自己做一下作業來練習,不
: 過目前訓練中遇到了triaining data的準確率都卡在0.82左右,自己手刻程式訓練的結果
: 是0.82,用keras去訓練也差不多在0.85左右
: 目前手刻使用過的方法有shffle資料 跟用batch去訓練,而gradient descend用了一般的
: GD和momentum的方式
: 想請教版上各位大大,是否有什麼方式是可以提高準確度的呢?
: 上網查一下,似乎挑選資料的特徵也非常重要不過如何挑選就沒什麼概念了QQ
: 請問版上大大是否有什麼好的方法可以提升training 的準確率嗎
: 感謝><
這邊回覆一下moodoa大
資料量為32500筆左右
https://imgur.com/YGXKC3d
此為我目前的網路架構
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.144.134 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1573833139.A.BAF.html
1F:→ bookstar07: LR太大了 11/16 00:19
2F:推 moodoa3583: 如果最後是二元分辨(True/False, 0/1),那loss比起用' 11/16 00:54
3F:→ moodoa3583: categorical_crossentropy',也許用'binary_crossentro 11/16 00:54
4F:→ moodoa3583: py'會更適合一些 11/16 00:54
5F:推 moodoa3583: 然後也許沒有使用one hot encoding 的必要,抑或是我 11/16 00:59
6F:→ moodoa3583: 誤會你說的二元分類的意思了? 11/16 00:59
7F:推 moodoa3583: 此外像其他板友提過的,可以在第二層加上dropout,最 11/16 01:05
8F:→ moodoa3583: 後的activation 從softmax換成sigmoid,以及在fit那邊 11/16 01:05
9F:→ moodoa3583: 加上validation_split=0.2取兩成的train data當val. d 11/16 01:05
10F:→ moodoa3583: ata,以此來觀察模型是否缺乏/過度訓練 11/16 01:05
11F:推 bookstar07: M大看他上篇說的 underfitting可能性比較大 11/16 01:30
12F:→ bookstar07: 簡單解法就是增加層數、節點數 11/16 01:31
13F:→ bookstar07: 換優化器改cost func.都無法改善模型複雜度不足 11/16 01:32
14F:推 ciaoPTT: 一次dropout 11/16 10:02
15F:→ ciaoPTT: 第二層dense太小 11/16 10:02
16F:→ ciaoPTT: lr拿掉 1e-02.... 11/16 10:04
17F:→ ciaoPTT: metrics增加error 11/16 10:04
18F:→ ciaoPTT: bs=64 就行 11/16 10:05
19F:→ ciaoPTT: 可以的話弄個one cycle fit 11/16 10:06
20F:推 ciaoPTT: loss function改binary_crossentropy 11/16 10:10
21F:推 moodoa3583: 如b大所說,如果是under fitting 那就增加層數節點試 11/16 16:50
22F:→ moodoa3583: 試看,或是最直觀的增加epochs 11/16 16:50
23F:推 moodoa3583: 噢我剛剛看到你的epochs已經30了,那就朝向增加層數和 11/16 17:44
24F:→ moodoa3583: 每層增加unit這個方向先試試看吧 11/16 17:44