为什么 l2 正则化总是加法?
Why is l2 regularization always an addition?
我正在阅读有关神经网络权重的 l2 正则化的信息。到目前为止,我的理解是,权重越大,权重就被推向零,即权重越大,惩罚越重,而权重越小,惩罚越轻。
公式通常是:
new_weight = weight * update + lambda * sum(squared(weights))
我的问题:为什么这总是积极的?如果权重已经为正,l2 将永远不会减少它,但会使事情变得更糟并将权重推离零。到目前为止我看到的几乎所有公式都是这种情况,这是为什么?
您提供的公式对于 'update' 是什么非常模糊。
首先,什么是正则化?一般来说,L2正则化的公式为:

(n 为训练集大小,lambda 衡量 L2 项的影响)
您在原始成本函数中添加了一个额外的项
,它也将被部分导出以更新权重。直观上,这会惩罚大权重,因此该算法会尝试在小权重和所选成本函数之间找到最佳权衡。小权重与找到更简单的模型相关联,因为当给定一些随机异常值时,网络的行为不会发生太大变化。这意味着它会过滤掉数据的噪音,并归结为学习最简单的可能解决方案。换句话说,它减少了过度拟合。
针对您的问题,让我们推导出更新规则。对于图中的任何权重,我们得到

因此,权重的更新公式可以写成(eta是学习率)


仅考虑第一项,无论发生什么情况,权重似乎都趋向于零。但如果偏导数为负,则第二项可以增加权重。总而言之,权重可以是正数或负数,因为您无法从该表达式中得出约束。这同样适用于衍生品。考虑用负斜率拟合一条线:权重必须为负。要回答你的问题,正则化成本的导数和权重都不必一直为正。
如果您需要更多说明,请发表评论。
我正在阅读有关神经网络权重的 l2 正则化的信息。到目前为止,我的理解是,权重越大,权重就被推向零,即权重越大,惩罚越重,而权重越小,惩罚越轻。
公式通常是:
new_weight = weight * update + lambda * sum(squared(weights))
我的问题:为什么这总是积极的?如果权重已经为正,l2 将永远不会减少它,但会使事情变得更糟并将权重推离零。到目前为止我看到的几乎所有公式都是这种情况,这是为什么?
您提供的公式对于 'update' 是什么非常模糊。
首先,什么是正则化?一般来说,L2正则化的公式为:
(n 为训练集大小,lambda 衡量 L2 项的影响)
您在原始成本函数中添加了一个额外的项 ,它也将被部分导出以更新权重。直观上,这会惩罚大权重,因此该算法会尝试在小权重和所选成本函数之间找到最佳权衡。小权重与找到更简单的模型相关联,因为当给定一些随机异常值时,网络的行为不会发生太大变化。这意味着它会过滤掉数据的噪音,并归结为学习最简单的可能解决方案。换句话说,它减少了过度拟合。
针对您的问题,让我们推导出更新规则。对于图中的任何权重,我们得到
因此,权重的更新公式可以写成(eta是学习率)
仅考虑第一项,无论发生什么情况,权重似乎都趋向于零。但如果偏导数为负,则第二项可以增加权重。总而言之,权重可以是正数或负数,因为您无法从该表达式中得出约束。这同样适用于衍生品。考虑用负斜率拟合一条线:权重必须为负。要回答你的问题,正则化成本的导数和权重都不必一直为正。
如果您需要更多说明,请发表评论。