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