全连接神经网络(下)
- 10. 欠拟合、过拟合与Dropout
- 11. 模型正则与超参数调优
10. 欠拟合、过拟合与Dropout
- 过拟合现象:
出现过拟合,得到的模型在训练集上的准确率很高,但在真实场景中识别率很低。 - 过拟合:是指学习过程中选择的模型和包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对位置数据预测很差的现象。这种情况下模型可能只是记住了训练集数据,而不是学习到了数据特征。
- 欠拟合:模型描述能力太弱,以至于不能很好的学习到数据中的规律。产生欠拟合的原因通常是模型太简单。
学习过程中的过拟合
- 机器学习的根本问题是优化和泛化的问题。
- 优化:是指调节模型以在训练数据上得到最佳性能
- 泛化:是指训练好的模型在前所未见的数据上的性能好坏。
训练初期:优化和泛化是相关的;训练集上的误差越小,验证集上的误差也就越小,模型的泛化能力逐渐增强。
训练后期:模型在验证集上的错误率不在降低,转而开始变高,模型出现过拟合,开始学习仅和训练数据有关的模式。
应对过拟合:
最优方案—获取更多的训练数据
次优方案—调节模型允许存储的信息量或模型允许存储的信息加以约束,该类方法也叫做正则化。
L2正则损失对于大数值的权值向量进行严厉惩罚,鼓励更加分散的权重向量,是模型倾向于使用所有输入特征做抉择,此时的模型泛化性能好!
随机失活(Dropout)
- 随机失活:让隐层的神经元以一定的概率不被激活。
- 实现方式:训练过程中,对某一层使用Dropout,就是随机将该层的一些输出舍弃(输出值设置为0),这些舍弃的申请元就好像被网络删除了一样。
- 随机失活比率(Dropout ratio):是被设为0的特征所占的比例,通常在0.2—0.5范围内。
- 随机失活为什么可以防止过拟合?
解释1: 随机失活使得每次更新梯度时参与计算的网络参数减少了,降低了模型容量。所以能防止过拟合。
解释2:随机失活鼓励权重分散,从这个角度来看随机失活也能起到正则化的作用,进而防止过拟合。
解释3:Dropout可以看作模型集成
随机失活的应用
11. 模型正则与超参数调优
神经网络中的超参数:
- 网络结构:隐层神经元个数,网络层数,非线性单元选择等
- 优化相关:学习率,dropout,正则项强度等
学习率设置
- 学习率过大,训练过程无法收敛 。
- 学习率偏大,在最小值附近震荡,达不到最优。
- 学习率太小,收敛时间较长。
- 学习率适中,收敛快,结果好。
超参数优化方法- 网格搜索法
每个超参数分别取几个值,组合这些超参数值,形成多组超参数
在验证集上评估每组超参数的模型性能
选择性能最优的模型所采用的那组值作为最终的超参数的值。 - 随机搜索法
参数空间内随机取点,每个点对应一组超参数;
在验证集上评估每组超参数的模型性能;
选择性能最优的模型所采用的那组值作为最终的超参数的值
超参数搜索策略:
- 粗搜索:利用随机法在较大范围里采样超参数 ,训练一个周期,依据验证集正确率缩小超参数范围。
- 精搜索:利用随机发在前述缩小的范围内采样超参数,运行模型五到十个周期,选择验证集上精度最高的那组超参数
超参数的标尺空间
- 建议:对于学习率,正则项强度这类超参数,在对数空间上进行随机采样更为合适!