• L1 和L2正则项的定义如下:
    L 1 = i | w i | L 2 = i ( w i ) 2
  • 首先我们先计算一下他们对应的导数,导入如下所示:
    L 1 w i = 1 o r 1 w i t + 1 = w i t + η ( 1 o r 1 ) L 2 w i = w i w i t + 1 = w i t + η w i
  • 所以我们看到L1每次更新的时候会更新一个定值,那么若干次迭代之后,权重就有可能减少为0。但是L2每个更新的时候更新的值的大小和 w i 的值是有关系的。当 w i 趋近与0时,那么对应的导数值也会更新,所以他会不停的接近0,但并不会是0。此外,我们还可以得到,L2相对L1更稳定一些。
  • L1 产生0的权重也可以起到特征选择的作用,假设我们有 X 0 . . . X i . . . X n n个特征,通过分配不同的权重 w 0 . . . w i . . . w n ,然后使用L1 来做特征选择。
  • L2 可以迅速产生接近0的权值,但并不是0,所以会比较平滑。
  • 此外,我们还可以从几何的角度来理解。
    • 假设我们的Loss函数是 ( y w x ) 2 ,那么我们的几何解释如下图所示:
    • 其中左图表示L1,右图表示L2。绿色代表的是loss的等高线, w 1 , w 2 在L1中的取值空间如左图的菱形所示。在L2中的取值空间如右图的圆形所示。从等高线和取值空间的交点可以看到L1更容易倾向一个权重偏大一个权重为0。L2更容易倾向权重都较小。
  • 主要参考

为什么L1正则项产生稀疏的权重,L2正则项产生相对平滑的权重的更多相关文章

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

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

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

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

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

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

  4. 机器学习 – TensorFlow – L2丢失的正则化,如何应用于所有权重,而不仅仅是最后一个?

    我有一个任务,涉及到使用L2丢失的一个隐藏的ReLU层向网络引入泛化。我不知道如何正确引入它,以便所有权重都受到惩罚,不仅仅是输出层的权重。代码网络没有泛化是在底部的帖子。引入L2的明显方法是用这样的代替损失计算:但在这种情况下,它将考虑到输出层权重的值。是否需要或引入惩罚的输出层将以某种方式保持隐藏的权重也在检查?hidden_weights,hidden_biases,out_weights和out_biases都是您正在创建的模型参数。您可以按如下所示对所有这些参数添加L2正则化:

  5. 为什么L1正则项产生稀疏的权重,L2正则项产生相对平滑的权重

    L1产生0的权重也可以起到特征选择的作用,假设我们有X0...Xi...XnX0...Xi...Xnn个特征,通过分配不同的权重w0...wi...wnw0...wi...wn,然后使用L1来做特征选择。L2可以迅速产生接近0的权值,但并不是0,所以会比较平滑。绿色代表的是loss的等高线,w1,w2w1,w2在L1中的取值空间如左图的菱形所示。从等高线和取值空间的交点可以看到L1更容易倾向一个权重偏大一个权重为0。

  6. 为什么正则化能减少模型过拟合程度

    过拟合以下图为例。为了将过拟合的模型变为正好,从图中直观上来看,只需要减小高次项的权重。正则化项能减少模型的非线性程度,从而降低模型的过拟合。从图中来看,正则化项能将过拟合的模型(蓝色)变为JustRight的模型(粉红色)。为什么正则化有效?直观的理解,如果我们的正则化系数无穷大,则权重w就会趋近于0。z变小,就到了激活函数的线性区域,从而降低了模型的非线性化程度。

  7. 深度学习这些坑你都遇到过吗?

    这会产生过大的梯度,可能导致梯度爆炸。这是我认为深度学习中人在这个loop中真正需要的几个方面之一。但如果是其他类型的数据,你必须找到能够检查结果的方法,以确保在预处理、训练和推断的每个流程都正确,并将结果与groundtruth数据进行比较。可视化应用于训练集的网络的结果——你的网络的结果与实践中的groundtruth相比较如何?根据过拟合的可能性进行调整。

  8. tensorflow:3.1)add_to_collection和L2正则化

    loss0表示原始的损失函数,后面的部分为L2正则化。loss=loss0+λ2∑ww2规范化的效果是让网络倾向于学习小一点的权重,大的权重只有能够给出代价函数第一项足够的提升时才被允许。换言之,规范化可以当做一种寻找小的权重和最小化原始的代价函数之间的折中。在下一节,因为要使用L2正则化权重,所以使用collection来保存多个权重向量的L2值,在把它们累加即λ2Σw2。

  9. 机器学习教程之4-正则化(Regularization)

    正则化的代价函数如下所示:其中lambda又称为正则化参数。在其他资料里用theata用w表示。因此,可以通过大量实验已巩固深化已学的线性回归、逻辑逻辑回归以及正则化的方法。

  10. Regularization正则化与Dropout

    本文主要讲解神经网络中的正则化和Dropout,都是用了减小过拟合。该项就是神经网络中的权重之和,其中λ>0为Regularization参数,n为训练集包含的实例个数。而和L1,L2Regularization不同的是,Dropout不是针对cost函数,而是改变神经网络本身的结构。

随机推荐

  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个字符,后跟逗号.

返回
顶部