2.2 Examples of Loss Functions
我们现在描述了机器学习文献中提出和使用的一些标准损失函数。我们将讨论它们,并在基于能量的环境中将它们分为“好”或“坏”。暂时,我们抛开正则化项,集中在损失函数的数据相关部分。
2.2.1 Energy Loss
所有损失函数中最简单和最直接的是能量损失。对于训练样本(Xi,yi),每个样本的损失定义如下:
这种损失函数虽然在回归和神经网络训练等方面非常流行,但不能用于训练大多数体系结构:虽然这种损失会降低所需答案的能量,但不会增加任何其他能量。对于某些体系结构,这可能导致能量恒定且等于零的崩溃解决方案。能量损失只适用于这样一种架构:向下推E(W,yi,Xi)会自动使其他答案的能量更大。这种架构的一个简单例子是 E ( W , Y i , X i ) = ∣ ∣ Y i − G ( W , X i ) ∣ ∣ 2 E(W,Y^i,X^i)=||Y^i-G(W,X^i)||^2 E(W,Yi,Xi)=∣∣Yi−G(W,Xi)∣∣2,它对应于均方误差的回归,G是回归函数。
2.2.2 Generalized Perceptron Loss
个训练样本(Xi, yi)的generalized perceptron loss定义为
这个损失总是正的,因为第二项是第一项的下限。最小化这种损失的效果是向下推E(W,yi,Xi),同时向上拉模型产生的答案的能量。
虽然perceptron loss已被广泛应用于许多环境,包括具有结构化输出的模型,如手写识别[LeCun et al.,1998a]和词性标注[Collins,2002],但它有一个主要的缺陷:没有在正确答案和不正确答案之间建立能量差距的机制。因此,与能量损失一样,如果架构允许,感知器损失可能会产生平坦(或几乎平坦)的能量面。因此,只有在使用不能产生平坦能面的模型时,才可以用这种损失保证一个有意义的、不塌陷的结果。对于其他模型,人们不能保证任何事情。
2.2.3 GeneralizedMargin Losses
有几种损失函数可以描述为margin losses;hinge loss, log loss, LVQ2 loss, minimumclassification error loss, square-square loss都使用某种形式的Margin,在正确答案和错误答案之间形成能量差。在讨论广义边际损失之前,我们给出以下定义。
margin losses 设Y为离散变量。那么对于训练样本(Xi,yi),最令人不快的错误答案most offending incorrect answer Y ‾ i \overline Y_i Yi是所有错误答案中能量最低的答案:
如果Y是一个连续变量,那么最令人不快的错误答案的定义可以用多种方式来定义。最简单的定义如下。
Definition 2 设Y为连续变量。那么对于训练样本(Xi,yi),最令人不快的错误答案 Y ‾ i \overline Y_i Yi是在所有与正确答案至少相距 ϵ \epsilon ϵ 的答案中能量最低的答案:
generalized margin loss是generalized perceptron loss的一个更鲁棒的版本。它直接使用对比项中the most offending incorrect answer的能量。
这里m是一个称为margin的正参数,Qm(e1,e2)是一个凸函数,其梯度与向量[1,-1]在 E ( W , Y i , X i ) + m > E ( W , Y ‾ i , X i ) E(W,Y^i,X^i)+m>E(W,\overline Y^i,X^i) E(W,Yi,Xi)+m>E(W,Yi,Xi)的区域内有一个正点积(positive dot product)。
Hinge Loss: generalized margin loss的一个特别流行的例子是hinge loss,它在支持向量机、支持向量马尔科夫模型[Altun和Hofmann,2003]和hinge loss[Taskar等,2003]中与线性参数化能量和二次正则化相结合使用。
其中m为正margin。图5给出了这个损失函数的形状。当正确答案与most offending incorrect answer之间的能量差大于-m时,将受到线性惩罚。hinge loss只取决于能量差,因此单个能量不受约束,不取任何特定值。
2.2.4 Negative Log-Likelihood Loss
负对数似然损失的动机来自于概率建模。定义为:
其中β是一个类似于逆温的正常数。这种损失只有在负能量的指数在Y上是可积分的情况下才能使用,而对于某些能量函数或Y的选择,情况可能不是这样。
负对数似然损失的形式来源于最大条件概率原理下学习问题的概率公式。在给定训练集S的情况下,我们必须找到一个参数的值,该参数使给定训练集中所有输入的所有答案的条件概率最大。
假设样本是独立的,用 P ( Y i ∣ X i , W ) P(Y^i|X^i,W) P(Yi∣Xi,W)表示我们的参数为W的模型产生的给定Xi的yi的条件概率,模型下训练集的条件概率是样本的简单积:
应用极大似然估计原理,求使上述乘积最大化的W值,或使上述乘积负对数最小化的W值:
负对数似然损失的最终形式是将上述表达式除以P和β(这对最小值的位置没有影响):
之前的许多损失函数在其对数项中只涉及 E ( W , Y ‾ i , X i ) E(W,\overline Y^i,X^i) E(W,Yi,Xi),而负对数似然损失则在其对数项 F β ( W , Y , X i ) \mathcal F_β(W,\mathcal Y,X^i) Fβ(W,Y,Xi)中结合了所有Y值的所有能量。
这个项可以解释为能量为E(W,Y,Xi),Y∈Y的系统集合的 the Helmholtz free energy (log partition function) ,这个对项使所有答案的能量被拉高。正确答案的能量也被拉高,但没有第一个项推低的那么厉害。这可以从单个样本的梯度表达式中看出。