前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么正则化可以防止过拟合?

为什么正则化可以防止过拟合?

作者头像
Steve Wang
发布2019-05-26 15:06:07
1.3K0
发布2019-05-26 15:06:07
举报
文章被收录于专栏:从流域到海域从流域到海域

为什么正则化可以防止过拟合?

整理并翻译自吴恩达深度系列视频教程 https://mooc.study.163.com/learn/2001281003?tid=2001391036#/learn/content?type=detail&id=2001702116&cid=2001693033 博主本人的观点将以楷体展示,请留意这点。

加上正则化项之后的损失函数

J(wl,bl)=1m∑i=1ml(y′,y)+λ2m∑l=1L∣∣wl∣∣F2J(w^{l}, b^{l})= \frac{1}{m}\sum_{i=1}^ml(y^{'},y) + \frac{\lambda}{2m} \sum_{l=1}^L||w^{l}||^2_FJ(wl,bl)=m1​i=1∑m​l(y′,y)+2mλ​l=1∑L​∣∣wl∣∣F2​

F表示Frobenius范数(缩减的L2范数),加上第二项(即正则项)惩罚了权值矩阵使其不能取太大值。

如果权重矩阵取值很小,如上图左一,会出现线性拟合高偏差欠拟合的状态;如果权重矩阵取值很大,则会出现过于灵活的非线性拟合高方差过拟合的状态。

这张图里绿色的计算部分表示了正则项对www更新的影响,它相当于取了一个(1−αλm)w(1-\frac{\alpha\lambda}{m})w(1−mαλ​)w的值来按照没有正则项时的更新方法更新www,因为(1−αλm)(1-\frac{\alpha\lambda}{m})(1−mαλ​)小于1,它惩罚性地降低了w的值。

因此正则化项的存在使得权重矩阵不会取值过大,就不会出现过拟合高方差,它相当于尽量把第一张图右一的所代表的状态尽量往第一张图左一代表的状态那边拉,从而得到第一张图中间"just right"的状态。

另外,如果在深度网络中某些结点的w取值很小(即权重矩阵中的一部分值很小),将会使得这些结点的作用变得微不足道,就好像根本就没有这些单元一样,其结果是深度网络会退化成越来越接近单纯的Logistic Regression。

事实上,残差网络就是使用降低权重值对结果的影响来减小网络加深对训练准确度降低而产生的影响,所以w取低值虽然不好,但是可以作为设计网络的一种思路。

有关范数请参考之前的一篇博文: 矩阵/向量的范数

从另一个方面来理解

如果你使用的激活函数是tan(h)tan(h)tan(h), 那么当λ\lambdaλ取值很大的时候,W取值很小,经W计算得出的z也很小,z很小意味着g(z)=tan(z)g(z) = tan(z)g(z)=tan(z)很小,g(z)g(z)g(z)取值集中于上图红色部分,相当于tan(h)tan(h)tan(h)函数的线性部分,整个网络的状态接近第一张图左一的线性高偏差欠拟合状态。

这样一来,你的深度网络将只能计算出跟线性拟合差不了太远的结果,将会得到很接近线性函数的函数,而不是过于复杂的函数,所以也就不太可能出现过拟合的情况。

你最好加上正则化项,因为如果你不加上,在绘制损失函数JJJ的图时,可能不是很明显的像梯度那样的逐渐下降,你会在本周的编程作业里体会到这点。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么正则化可以防止过拟合?
    • 加上正则化项之后的损失函数
      • 从另一个方面来理解
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档