繁体   English   中英

尽早停止和正规化

[英]Early stopping and regularization

我在某些数据上一直在使用sklearn上的mlp库。 我的训练集得分一直在0.7-0.9之间,但是我的测试集得分确实很低。 我认为这是由于过度拟合造成的,并且已阅读并了解正则化(以帮助减轻体重/偏见)和尽早停止可以帮助避免此问题。 但是我发现很难实现它,有人可以帮助我实现它,还是可以通过合适的链接指导我正确的道路。

(关于sklearn的clf的正则化教程并没有真正帮助我,因为我发现它很少解释就很混乱)

可以从sklearn文档开始 ,进行设置。

early_stopping=True

sklearn的注释:

当验证分数没有提高时是否使用提前停止来终止训练。 如果设置为true,它将自动预留10%的训练数据作为验证,并在两个连续的时期内验证分数至少没有改善时终止训练。 仅在Solver ='sgd'或'adam'时有效

您可以通过此参数修改分配给验证集的百分比。

validation_fraction=0.1

为了进行正则化,它们通过参数alpha提供L2正则化。 为此,我强烈建议您使用网格搜索进行优化。

alpha = 0.0001

编辑

然后,我将尝试优化学习率。 很难以此为依据,但它可能会跳过“错误谷”或陷入局部最小值。 尝试使用0.01和0.0005以及介于两者之间的网格搜索。

另外,请确保扩展您的输入(如果尚未输入),这也可能会引起问题。

编辑

如果您是一名音频学习者,那么我会尝试从Udacity的深度学习计划中观看一些视频 他们真的很善于用简单的术语来解释事情。 这可以帮助您直观地了解您的网络正在发生的情况,而不仅仅是反复试验(有时需要这样做)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM