作者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/cn.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