过拟合(overfitting)是指在模型参数拟合过程中的问题,,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。

为了防止过拟合,我们需要用到一些方法,如:early stopping、数据集扩增(Data augmentation)、正则化(Regularization)、Dropout等。

early stopping

模型训练过程中常用到迭代的思路,例如梯度下降算法。Early stopping是在迭代收敛之前,就通过一定标准提前终止迭代来防止过拟合。

具体做法是在每个​Epoch结束时(一个Epoch集为对所有的训练数据的一轮遍历),查看模型性能评价指标的变化情况,如果模型性能不再提高,就停止训练。这里的重点就是如何确认模型性能不再提高了。以准确率为例,并不是说一旦准确率发生下降就是不再提高了,因为可能经过这个Epoch后,准确率降低了,但是随后的Epoch又让准确率又上去了,所以不能根据一两次的连续降低就判断不再提高。

正则化方法

正则化方法是指在进行目标函数或代价函数优化时,在目标函数或代价函数后面加上一个正则项,一般有L1正则与L2正则等。

正则项是为了降低模型的复杂度,从而避免模型区过分拟合训练数据,包括噪声与异常点(outliers)。从另一个角度上来讲,正则化即是假设模型参数服从先验概率,即为模型参数添加先验,只是不同的正则化方式的先验分布是不一样的。

减少过拟合-Dropout

正则是通过在代价函数后面加上正则项来防止模型过拟合的。而在神经网络中,有一种方法是通过修改神经网络本身结构来实现的,其名为Dropout。

“我们相信人人都可以成为一个IT大神,现在开始,选择一条阳光大道,助你入门,学习的路上不再迷茫。这里是北京尚学堂,初学者转行到IT行业的聚集地。"

相关文章