过拟合情况:
在深度学习算法时,不仅要求在训练集上误差小,而且希望在新样本上的泛化能力强,许多机器学习算法都采用相关的策略来减小测试误差,这些策略被统称为正则化。当在测试集添加一点点的噪声,那么模型的准确率就会有很大影响
过度拟合的根本原因: 1.权重参数太多, 2.样本数量不足
正则化通过对算法的修改来减少泛化误差,目前深度学习中使用较多的策略有提前停止, Dropout,
L1与L2正则化:
正则化的作用: 使用机器学习方法解决实际问题时,我们通常要用L1或L2范数做正则化(regularization),从而限制权值大小,减少过拟合风险,特别是在使用梯度下降来做目标函数优化时。
L1正则化:由于L1正则化就是向量各元素的绝对值之和,对L1优化的解是一个稀疏解, 通过L1可以实现特征的稀疏,去掉一些没有信息的特征.
L1正则化: λ是一个超参数, m是样本数量
作用: 可以将特征矩阵稀疏 , 使神经网络更简单,从而减少过度拟合。
L2正则化: m是样本数量, λ是超参数。
作用: L2正则项会使得网络权值减小,加速训练的作用,同时可防止模型过拟合
正则化项可以是给平方开根号,也可以不给w的平方开根号,目的只是加一个正则项让网络中的权值减小,所以开不开根号影响不大。
Dropout正则化:
我们在前向传播的时候,让某些神经元停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征,Dropout做的就是在每次迭代过程,随机选择某些结点,并且删除前向和后向连接。因此,每次迭代过程都会有不同的结点组合,从而导致不同的输出。
提前停止(early stopping):
例如: 每实施10个epoch查看一次验证集对损失的结果,如果损失高于上次,停止操作并使用上个模型
是将一部分训练集作为验证集,不用来训练, 当验证集的性能越来越差时 或者性能不再提升的时候,则立即停止idui该模型的训练。
其他归一化方法
Data augmentation(数据增强)
过度拟合的原因可能是神经网络太复杂, 所以可以使用增大数据量,并简化神经网络的方法, 也可以防止过度拟合。
具体操作:
1.图片进行翻转, 2. 将图片旋转一点角度, 3. 将图片放大裁剪, 4(如果是数字的话,可以将数字扭曲,等等) 5.可以将图片颜色,曝光,灰度等信息进行修改,又会将数据集增加一倍。