过拟合的原因是相对于训练样本的数量,模型的容量过大,导致无法降低泛化误差。解决的方法就有增加训练样本的数量,限制模型的容量, 和使用集成方法。
增加训练样本的数量的方法有:
1. 数据集增强
限制模型的容量的方法有:
1. 参数范数惩罚(有L2正则,和L1正则)
2. 提前终止(early stopping),当验证集的误差(或者说损失)开始由减小变为增大(U型)时,停止训练
3. 参数共享,参数共享可以认为是对参数增加了约束,应用于计算机视觉的卷积神经网络(CNN)是一个例子
集成方法有:
1. Bagging,通过结合几个模型降低泛化误差的技术,有效的原因是不同的模型的误差不会一模一样,那么模型平均就可以减少误差
2. Dropout,Dropout 是在训练过程中,按照设定的概率将输入单元和隐藏单元的输出乘零。 Dropout可以认为是集成大量深层神经网络的Bagging方法。
祖国翔,于上海