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

作者: oo855050 (阿偉)   2019-11-10 22:17:59
版上各位好
小弟目前正在學機器學習,看了李宏毅老師的線上影片,想說自己做一下作業來練習,不
過目前訓練中遇到了triaining data的準確率都卡在0.82左右,自己手刻程式訓練的結果
是0.82,用keras去訓練也差不多在0.85左右
目前手刻使用過的方法有shffle資料 跟用batch去訓練,而gradient descend用了一般的
GD和momentum的方式
想請教版上各位大大,是否有什麼方式是可以提高準確度的呢?
上網查一下,似乎挑選資料的特徵也非常重要不過如何挑選就沒什麼概念了QQ
請問版上大大是否有什麼好的方法可以提升training 的準確率嗎
感謝><
作者: TuCH (謬客)   2019-11-10 23:26:00
NN多層一點
作者: robert09080 (Aspettarei)   2019-11-10 23:45:00
優化器換別的?
作者: oo855050 (阿偉)   2019-11-11 01:12:00
tuch大 目前我是用兩層 sigmoid+softmax 不過我再加層數上去時 準確度反而降低了 我在想可能是輸入特徵只有15維的關係 加太多層反而效果不好 小弟拙見還請賜教>_<robert大 目前我是用adam當優化器 也試過adagrad 效果都差不多( ̄▽ ̄)不知robert大有什麼好建議嗎
作者: sheep1129588 (Sheep_Cheng)   2019-11-11 09:53:00
softmax不用每一層都過ㄅ,你是做哪類型的分類呢
作者: penut85420 (PenutGGorz)   2019-11-11 10:39:00
有查過同樣的資料集別人大概是做到多少準確率嗎
作者: TuCH (謬客)   2019-11-11 10:44:00
你的準確率是training data 還是 validation data?
作者: moodoa3583 (金牌台灣啤酒)   2019-11-11 10:53:00
如果可以,Sigmoid換Relu試試看?
作者: tsoahans (ㄎㄎ)   2019-11-11 11:14:00
relu + dropout or batch normalization都試試
作者: moodoa3583 (金牌台灣啤酒)   2019-11-11 11:22:00
得要先確定模型現在是overfitting還是underfitting,如果是前者,用樓上的dropout的確有幫助
作者: ciaoPTT (Ciao)   2019-11-11 16:00:00
relu在大部分的狀況都有極佳表現建議先多看經典的比賽架構,然後多實作不同的架構準確率先放一邊 那個是arch搞定後才會搞的梯度下降大哉問
作者: oo855050 (阿偉)   2019-11-12 01:00:00
很感謝有這麼多人回覆,這邊統一回答一下 目前在做2元分類的練習 softmax只有在最後一層過而已 而準確度我是從training data看的 所以應該屬於underfitting 不過從tenting data去看的話準確度和training data是差不多的激勵函數我會用relu試試的謝謝 不過我自己是剛起步學ML所以可能還有很多眉眉眉角角還不是很懂( ̄▽ ̄) 不過這邊還是非常感謝大家的踴躍回答
作者: TuCH (謬客)   2019-11-12 09:57:00
通常越多層準確度不會下降 而是收斂會變慢2元的話 最後用sigmoid 就好 前面就用relu太多層會導致sigmoid 梯度消失 用relu可以避免這問題
作者: cloudandfree   2019-11-13 01:36:00
跟樓上一樣想法,全 ReLU,二元分類最後一層 sigmoid。
作者: moodoa3583 (金牌台灣啤酒)   2019-11-13 13:03:00
準確度得要把validation data的準確度加進來一起看,最初步的判斷如果training data和validation data準確率都還在提升,那model可能under fitting,但如果training data的準確度一直提升,validation data的準確度開始下降,可能就是出現了over fitting
作者: oo855050 (阿偉)   2019-11-14 23:36:00
目前已測試用relu 最後用sigmoid 精準度似乎還是上不去現在在想是不是應該對數據做處理(PCA、去除outlier等等)各位大大有什麼好建議嗎
作者: moodoa3583 (金牌台灣啤酒)   2019-11-15 01:13:00
data的筆數有多少筆啊,如果足夠大去除outliers 的確是個方法,如果可能的話有辦法貼出你現在的模型,以及train/validation data的acc.嗎?另外batch和epochs 有嘗試調整過嗎?最後就是每份資料都還是有準確度的上限的,你的這份資料平均預測的準確度是多少呢?
作者: Kazimir (Kazimir)   2019-11-15 12:13:00
對數據做預處理是不可能隔空抓藥的 必然要對數據有理解你可以先去看看 被分類錯誤的資料都是那些 再思考怎麼作
作者: curtis0982 (curtis0982)   2019-11-15 23:04:00
用resnet
作者: oo855050 (阿偉)   2019-11-15 23:53:00
非常感謝大家的意見另外再回覆mooda大一下 我剛上網搜尋了一下別任用那份資料train的結果 其實也滿多都是在85%左右 =ˇ= 雖然也是有人做到更高的acc
作者: bookstar07 (書星零柒)   2019-11-16 00:02:00
其實資料量夠多的話 15維輸入 層數應該可以增加你層數增加精準度沒上升 是因為參數還沒調好吧LR可以用dynamic的對於卡精準度也許也會有幫助batch其實可以一開始用full batch或大一點的當epochs大一點後再縮小batch size之類的

Links booklink

Contact Us: admin [ a t ] ucptt.com