防止过拟合的几个方法

前端之家收集整理的这篇文章主要介绍了防止过拟合的几个方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

讲得很好的防止过拟合的方法博客地址:
http://www.jb51.cc/article/p-wuohknap-bq.html
几种方法归纳:
- early stop,当模型训练到一定规模时提前停止。
- 正则化方法 修改代价函数
- 数据集扩增 可减少过拟合,训练更好的模型.
- 各种剪枝方法
-悲观剪枝 不需额外数据集
-代价复杂度剪枝 需要另外的数据集

  • L1正则化
    所有权重 ω 绝对值之和乘以 λn
    λ 是正则项系数,n是训练集样本大小。

    C=C0+λnωsgn(ω)

    L1使各个元素趋近于0,所以产生的参数比较稀疏,具有稀疏性。
  • L2正则化 (权重衰减)
    所有参数 ω 平方的和除以训练集样本大小 n ,乘以正则项系数 λ λ 权衡正则项与原代价函数的大小。

    C=C0+λnωω2

    L2正则化是二阶惩罚项,参数比较平滑。

L2正则化项有让w“变小”的效果,但是还没解释为什么w“变小”可以防止overfitting?一个所谓“显而易见”的解释就是:更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀),而在实际应用中,也验证了这一点,L2正则化的效果往往好于未经正则化的效果。当然,对于很多人(包括我)来说,这个解释似乎不那么显而易见,所以这里添加一个稍微数学一点的解释(引自知乎):

猜你在找的正则表达式相关文章