15天共读深度学习Day10

版权声明:感谢阅读,欢迎批评指正。 https://blog.csdn.net/skyejy/article/details/89737751

1.正则化

过拟合 指的是只能拟合训练数据,但不能很好地拟合不包含在训练数据中的其他数据的状态。

发生过拟合的原因主要有:模型拥有大量参数、表现力强;训练数据少;

抑制过拟合的方法有:权值衰减 和 Dropout

权值衰减通过在学习的过程中对大的权重进行惩罚,来抑制过拟合;为损失函数加上权重的L2范数的权值衰减方法;

但是如果网络的模型变得很复杂,只用权值衰减就难以应对了。Dropout是一种在学习的过程中随机删除神经元的方法。训练时,随机选出隐藏层的神经元然后将其删除。被删除的神经元不再进行信号的传递。

2.超参数的验证

神经网络中除了权重和偏置等参数,超参数(hyper-parameter)也经常出现。

比如各层的神经元数量、batch大小、参数更新时的学习率或者权值衰减等。如果这些超参数没有设置合适的值,模型的性能就会很差。

对超参数设置各种各样的值进行验证时,不能使用测试数据评估。如果使用测试数据的值评估超参数的性能,超参数的值会对测试数据发生过拟合。会导致超参数的值被调整为只能拟合测试数据,可能得到泛化能力低的模型。

因此,调整超参数时,必须使用超参数专用的确认数据。一般称为验证数据(validation data)

(训练参数用于权重和偏置的学习,验证数据用于超参数的性能评估,为了确认泛化能力,要在最后使用测试数据)

如果是MNIST数据集,获得验证数据的最简单的方法是从训练数据中事先分割20%作为验证数据。

扫描二维码关注公众号,回复: 6117755 查看本文章

超参数最优化的步骤:

0.设定超参数的范围;

1.从设定的超参范围中随机采样;

2.使用采样到的值进行学习,通过验证数据评估识别精度,但是要将epoch设置得很小(epoch:1个epoch等于使用训练集中的全部样本训练一次,通俗的讲epoch的值就是整个数据集被轮几次。)

3.重复步骤1、2(100次等)根据它们的识别精度的结果,缩小超参数的范围。

猜你喜欢

转载自blog.csdn.net/skyejy/article/details/89737751
今日推荐