防止过拟合-

防止过拟合的方法
(1)Early stopping
参数学习过程,也就是训练过程,往往用到一些迭代方法,如梯度下降。Early stopping 是截断迭代次数,也就是模型在对训练数据集迭代收敛之前停之迭代。
具体做法:在每一次epoch(一个epoch集为对所有的训练数据的一轮遍历)结束时,计算validation data(验证数据)的精确度,当精确度不再提高,就停止训练。
如何判断精确度不提高?一般是在训练过程,记录目前为止最好的验证精确性,当连续10次Epoch(或者更多次)没达到最佳accuracy时,则可以认为accuracy不再提高了。此时便可以停止迭代了(Early Stopping)。这种策略也称为“No-improvement-in-n”,n即Epoch的次数,可以根据实际情况取,如10、20、30……
(2)增加数据集
方法:从数据源头采集更多数据
复制原有数据并加上随机噪声
重采样
根据当前数据集估计数据分布参数,使用该分布产生更多数据等
(3)正则化:即在对模型的目标函数(objective function)或代价函数(cost function)加上正则项。 一般有L1正则与L2正则。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来
(4)dropout
在神经网络中,有一种方法是通过修改神经网络本身结构来实现的,其名为Dropout。该方法是在对网络进行训练时用一种技巧(trick),对于如下所示的三层人工神经网络:
在这里插入图片描述
对于上图所示的网络,在训练开始时,随机得删除一些(可以设定为一半,也可以为1/3,1/4等)隐藏层神经元,即认为这些神经元不存在,同时保持输入层与输出层神经元的个数不变,这样便得到如下的ANN:
在这里插入图片描述
然后按照BP学习算法对ANN中的参数进行学习更新(虚线连接的单元不更新,因为认为这些神经元被临时删除了)。这样一次迭代更新便完成了。下一次迭代中,同样随机删除一些神经元,与上次不一样,做随机选择。这样一直进行瑕疵,直至训练结束。
  Dropout方法是通过修改ANN中隐藏层的神经元个数来防止ANN的过拟合。具体可参见这里。

作者:一只鸟的天空
来源:CSDN
原文:https://blog.csdn.net/heyongluoyao8/article/details/49429629
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值