overfitting过拟合问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hao5335156/article/details/82389350

1、定义

在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大(过拟合是泛化的反面)

2、解决办法

(1)正则化(Regularization)

L2正则化:目标函数中增加所有权重w参数的平方之和, 逼迫所有w尽可能趋向零但不为零. 因为过拟合的时候, 拟合函数需要顾忌每一个点, 最终形成的拟合函数波动很大, L2正则化的加入就惩罚了权重变大的趋势.
L1正则化:目标函数中增加所有权重w参数的绝对值之和, 逼迫更多w为零(也就是变稀疏. L2趋向0的速度不如L1,因为它带有平方). 稀疏规则化能实现特征的自动选择。稀疏规则化算子会学习去掉些无用的特征,也就是把这些特征对应的权重置为0。

(2)随机失活(dropout)

在训练的时候,让神经元以超参数p的概率被激活(也就是1-p的概率被设置为0), 每个w因此随机参与。

(3)逐层归一化(batch normalization)

给每层的输出都做一次归一化(网络上相当于加了一个线性变换层), 使得下一层的输入接近高斯分布. 这个方法相当于下一层的w训练时避免了其输入以偏概全, 因而泛化效果非常好.

(4)提前终止(early stopping)

典型的方法是根据交叉叉验证提前终止

猜你喜欢

转载自blog.csdn.net/hao5335156/article/details/82389350
今日推荐