避免过拟合的手段:L1&L2 regularization/Data Augmentation/Dropout/Early Stoping

面试机器学习或者深度学习的岗位有很大几率会问到这个问题,现在来总结一下如何避免过拟合问题:

1、L1&L2 regularization


1.1 L1 regularization

    正则化项:


    原始函数加上一个正则化项:



    计算导数:


    更新权重w:



    对L1正则化的直观理解是当w为正时,更新后的w变小;当w为负时,更新后的w变大,使得w能够接近0,相当于对w惩罚,降低w对结果的影响。当w=0的时候,规定sgn(0)=0。


1.2 L2 regularization

    正则化项:


    原函数加上正则化项:


    计算导数:


    更新权重w:


    非常直观,由于η、λ、n均大于等于0,L2正则化就是减小权重w,使得系统的复杂程度降低,来防止过拟合的。

    L1与L2正则化都是以衰减权重w,以降低网络复杂程度,使得网络的拟合能力下降,达到防止过拟合。


1.3 L1与L2区别

    L1优点是能够获得稀疏模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间。

    L2优点是实现简单,能够起到正则化的作用。缺点是无法获得稀疏模型。


2、Data Augmentation

    这是解决过拟合最根本也是最有效的方法。

    实现手段:

    1、从数据源头获得更多数据。

    2、使用镜像、平移、添加噪声、变换尺度、裁剪、调整曝光度、调整饱和度等手段对图像数据进行修改扩充



3、Dropout

    Dropout的原理很简单,就是随机删除网络内部隐藏单元。例如设定每个隐藏单元有50%的几率被删除,最后得到的网络将会因为隐藏单元的减少而大大简化。防止过拟合不就是要简化模型,弱化模型的表达能力么?


    

4、Early Stoping

    这个更好理解了。提前终止就是在模型发生过拟合之前停止训练。通常训练的误差会随着训练的轮次增加先减少再增加,训练时间过长会将一些本不应该学习到的东西也学习进去。


5、选择合适的模型

    过拟合本质就是数据太少,而模型的表达能力太强,也就是模型太复杂。合理选择模型有助于减少过拟合。








猜你喜欢

转载自blog.csdn.net/jeremyczh/article/details/79615971
今日推荐