如何才能直观解释正则化减少过拟合的原理?

(1)过拟合

以下图为例。High Bias(高偏差)就是欠拟合,High Variance(高方差)就是过拟合。

为了将过拟合的模型变为正好(Just Right),从图中直观上来看,只需要减小高次项的权重。

这就是降低过拟合的直观理解。从数学上,我们用正则化来降低模型的过拟合程度。

(2)正则化

简单来说,所谓正则化,就是在原Cost Fucntion上添加正则化项(如下图)。

正则化项能减少模型的非线性程度,从而降低模型的过拟合。从图中来看,正则化项能将过拟合的模型(蓝色)变为Just Right的模型(粉红色)。

(3)为什么正则化有效?

分情况讨论

  • A. 对于线性模型,其添加了正则化项的Cost Function如下图。

直观的理解,如果我们的正则化系数(lambda)无穷大,则权重w就会趋近于0。权重变小,非线性程度自然就降低了。

  • B. 对于神经网络,其激活函数(以tanh为例)如下图

直观的理解,如果我们的正则化系数(lambda)无穷大,则权重w就会趋近于0。权重变小,激活函数输出z变小。z变小,就到了激活函数的线性区域,从而降低了模型的非线性化程度。

参考

Andrew NG的视频

为什么正则化能减少模型过拟合程度的更多相关文章

  1. 如何在IOS中的UIStackView中设置权重

    UIStackView类似于AndroidLinearLayout,但我无法弄清楚如何为子视图设置权重.假设我有一个垂直的UIStackView和3个UIImageViews.我想为UIImageViews连续设置权重3,6,1.我怎么做?解决方法UIStackView没有相同的权重概念.它可以使用子视图的intrinsicContentSize作为权重,但设置特定的intrinsicConten

  2. 具有多列的Android ListView正确对齐

    我的平板电脑应用程序在每个订单项中显示一个包含多个TextView的ListView.我有大约6-7列,给所有列提供相等空格的最佳方法是什么?

  3. 正则化DropPath/drop_path用法示例(Python实现)

    DropPath 类似于Dropout,不同的是 Drop将深度学习模型中的多分支结构随机"失效",而Dropout是对神经元随机"失效"这篇文章主要给大家介绍了关于正则化DropPath/drop_path用法的相关资料,需要的朋友可以参考下

  4. 使用HTML和CSS实现的标签云效果(附demo)

    这篇文章主要介绍了使用HTML和CSS实现的标签云效果(附demo),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. 机器学习 – 为什么需要在机器学习问题中使用正则化?

    为什么在这种情况下我们更喜欢较小的重量?

  6. 吴恩达机器学习 - 逻辑回归的正则化

    题目链接:点击打开链接先贴笔记代码:costFunction.m:然后展示下不同λ画出的不同图案

  7. 深度学习中的拟合欠拟合、过拟合、正则化

    我们不论在逻辑回归,线性回归还是在神经网络中应用的都是线性函数。那么如果出现了欠拟合或者过拟合该怎么办呢。这里主要说一下L2正则的原理,看下图:这是我们加了正则化之后的成本函数,可以看我们后面加入了正则化λ的表达式来完善成本函数。而使得整个模型越来越接近于线性化,也就是从下图中的过拟合往欠拟合偏转。

  8. 正则化方法:L1和L2 regularization、数据集扩增、dropout

    有一个概念需要先说明,在机器学习算法中,我们常常将原始数据集分为三部分:trainingdata、validationdata,testingdata。因此,trainingdata的作用是计算梯度更新权重,validationdata如上所述,testingdata则给出一个accuracy以判断网络的好坏。避免过拟合的方法有很多:earlystopping、数据集扩增、正则化包括L1、L2,dropout。L1regularization在原始的代价函数后面加上一个L1正则化项,即所有权重w的绝对值的

  9. 机器学习中正则化项L1和L2的直观理解

    正则化机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作11-norm和22-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。L1和L2正则化的直观理解这部分内容将解释为什么L1正则化可以产生稀疏模型,以及为什么L2正则化可以防止过拟合。而正则化前面的系数αα,可以控制LL图形的大小。

  10. 机器学习 – TensorFlow – 将L2正则化和退出引入网络.有什么意义吗?

    如果是这样,怎么办?任何关于此事的参考将是有用的,我还没有找到任何信息.为了防止你有兴趣,我的代码为ANN与L2正则化在下面:好的,经过一些额外的努力,我设法解决它,并将L2和辍学引入我的网络,代码如下.在同一个网络中,我没有辍学略有改善.我仍然不确定是否真的很值得介绍他们两个,L2和辍学的努力,但至少它的作品,并略微提高了结果.

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部