为什么正则化项*添加*到成本函数(而不是相乘等)?

机器算法验证 正则化
2022-02-14 04:45:14

每当使用正则化时,它通常被添加到成本函数中,例如以下成本函数。 这对我来说很直观,因为最小化成本函数意味着同时最小化误差(左项)和最小化系数的大小(右项)(或至少平衡两个最小化)。

J(θ)=12(yθXT)(yθXT)T+αθ22

我的问题是为什么这个正则化术语αθ22添加到原始成本函数中而不是相乘或保持正则化思想背后的动机精神的其他东西?是因为如果我们简单地在其上添加术语就足够简单并且使我们能够分析地解决这个问题,还是有一些更深层次的原因?

4个回答

它在贝叶斯框架中有很好的直觉。考虑到给定观测值X, y的正则化成本函数J与参数配置的概率\thetaJ具有相似的作用应用贝叶斯定理,我们得到:θX,y

P(θ|X,y)=P(X,y|θ)P(θ)P(X,y).

取表达式的对数给我们:

logP(θ|X,y)=logP(X,y|θ)+logP(θ)logP(X,y).

现在,假设是负1对数后验由于最后一项不依赖于,我们可以在不改变最小值的情况下省略它。剩下两个项:1)似然项取决于,以及 2)前项仅取决于这两项与公式中的数据项和正则化项完全对应。J(θ)logP(θ|X,y)θlogP(X,y|θ)XylogP(θ)θ

您可以进一步证明您发布的损失函数与以下模型完全对应:

P(X,y|θ)=N(y|θX,σ12),
P(θ)=N(θ|0,σ22),

其中参数来自零均值高斯分布,观测值具有零均值高斯噪声。有关更多详细信息,请参阅此答案θy


1否定,因为您希望最大化概率但最小化成本。

JanCagdas给出了一个很好的贝叶斯理由,将正则化器解释为先验。以下是一些非贝叶斯的:

  • 如果你的非正则化目标是凸的,并且你添加了一个凸正则化器,那么你的总目标仍然是凸的。如果您将其相乘或大多数其他组合方法,则不会出现这种情况。与非凸优化相比,凸优化非常非常好;如果凸公式有效,那么这样做会更好。

  • 有时它会导致一个非常简单的封闭形式,正如wpof 提到的那样,岭回归就是这种情况。

  • 如果您将“真正”想要解决的问题视为具有硬约束 那么它的拉格朗日对偶就是问题 尽管您不必使用拉格朗日对偶,但对它有很多了解。

    minθ:c(θ)0J(θ),
    minθJ(θ)+λc(θ).

  • 正如ogogmad 所提到的,表示器定理适用于加性惩罚的情况:如果您想在函数的整个再现核希尔伯特空间,那么我们知道在整个空间上优化的解决方案 位于一个简单的有限维子空间中,对于许多损失我不知道这是否适用于乘法正则化器(尽管可能)。这是内核 SVM 的基础。fH

    minfHJ(f)+λfH2
    J

  • 如果你正在做深度学习或非凸的事情:加性损失给出简单的加性梯度。对于您提供的简单正则化器,它变得非常简单weight decay但即使对于更复杂的正则化器,比如WGAN-GP的损失 当反向传播只需要考虑损失的总和和复杂的正则化器(单独考虑)时,它更容易计算梯度,而不是必须做产品规则。L2

    x,yfθ(x)fθ(y)the loss+λE^αUniform(0,1)(fθ(αx+(1α)y)1)2the regularizer,

  • 加性损失也适用于流行的ADMM优化算法和其他基于“分解”的算法。

这些都不是一成不变的规则,实际上有时乘法(或其他)正则化器可能会更好(正如ogogmad 指出的那样)。(事实上​​,前几天我刚刚提交了一篇论文,关于如何解释为乘法正则化器比上面的 WGAN-GP 加法器做得更好!)但希望这有助于解释为什么加法正则化器是“默认值”。

您希望最小化目标函数中的这两项。因此,您需要将术语解耦。如果您将这些项相乘,您可以使一个项大而另一个项非常低。因此,您仍然会得到目标函数的低值,但会产生不希望的结果。

您最终可能会得到一个大多数变量接近于零且没有预测能力的模型。

在此处输入图像描述 在此处输入图像描述

目标函数是要最小化的函数,可以构造为成本函数和正则化项的总和。

如果两者相互独立,您将获得第一个图中所示的目标值。您会看到,在求和的情况下,在 (0, 0) 处只有一个最小值。在产品的情况下,您有歧义。在(x=0 或 y=0)处,您有一个等于零的整个超曲面。因此,优化算法可以在任何地方结束,具体取决于您的初始化。它无法决定哪种解决方案更好。

您可以尝试其他二元运算()并查看它们的比较。max,min,×

的问题是,如果错误是,那么正则化惩罚最终将是这允许模型过度拟合。min×00

的问题是你最终会最小化两个惩罚(训练错误或正则化)中的“更难”,而不是另一个。max

相比之下,很简单,而且很有效。+

你可能会问为什么没有其他二进制操作?没有任何论据可以将它们排除在外,那么为什么不呢?