Re: [問題] 關於NN之準確度無法上去

作者: oo855050 (阿偉)   2019-11-15 23:52:17
※ 引述《oo855050 (阿偉)》之銘言:
: 版上各位好
: 小弟目前正在學機器學習,看了李宏毅老師的線上影片,想說自己做一下作業來練習,不
: 過目前訓練中遇到了triaining data的準確率都卡在0.82左右,自己手刻程式訓練的結果
: 是0.82,用keras去訓練也差不多在0.85左右
: 目前手刻使用過的方法有shffle資料 跟用batch去訓練,而gradient descend用了一般的
: GD和momentum的方式
: 想請教版上各位大大,是否有什麼方式是可以提高準確度的呢?
: 上網查一下,似乎挑選資料的特徵也非常重要不過如何挑選就沒什麼概念了QQ
: 請問版上大大是否有什麼好的方法可以提升training 的準確率嗎
: 感謝><
這邊回覆一下moodoa大
資料量為32500筆左右
https://imgur.com/YGXKC3d
此為我目前的網路架構
作者: bookstar07 (書星零柒)   2019-11-16 00:19:00
LR太大了
作者: moodoa3583 (金牌台灣啤酒)   2019-11-16 00:54:00
如果最後是二元分辨(True/False, 0/1),那loss比起用'categorical_crossentropy',也許用'binary_crossentropy'會更適合一些然後也許沒有使用one hot encoding 的必要,抑或是我誤會你說的二元分類的意思了?此外像其他板友提過的,可以在第二層加上dropout,最後的activation 從softmax換成sigmoid,以及在fit那邊加上validation_split=0.2取兩成的train data當val. data,以此來觀察模型是否缺乏/過度訓練
作者: bookstar07 (書星零柒)   2019-11-16 01:30:00
M大看他上篇說的 underfitting可能性比較大簡單解法就是增加層數、節點數換優化器改cost func.都無法改善模型複雜度不足
作者: ciaoPTT (Ciao)   2019-11-16 10:02:00
一次dropout第二層dense太小lr拿掉 1e-02....metrics增加errorbs=64 就行可以的話弄個one cycle fitloss function改binary_crossentropy
作者: moodoa3583 (金牌台灣啤酒)   2019-11-16 16:50:00
如b大所說,如果是under fitting 那就增加層數節點試試看,或是最直觀的增加epochs噢我剛剛看到你的epochs已經30了,那就朝向增加層數和每層增加unit這個方向先試試看吧

Links booklink

Contact Us: admin [ a t ] ucptt.com