机器学习 [合页损失函数 Hinge Loss]

函数特性

在机器学习中,hinge loss是一种损失函数,它通常用于"maximum-margin"的分类任务中,如支持向量机。数学表达式为:

机器学习 [合页损失函数 Hinge Loss]

其中 机器学习 [合页损失函数 Hinge Loss] 表示预测输出,通常都是软结果(就是说输出不是0,1这种,可能是0.87。), 机器学习 [合页损失函数 Hinge Loss] 表示正确的类别。

  • 如果 机器学习 [合页损失函数 Hinge Loss] ,则损失为: 机器学习 [合页损失函数 Hinge Loss]
  • 如果 机器学习 [合页损失函数 Hinge Loss] ,则损失为:0

其函数图像如下,与0-1损失对比:

机器学习 [合页损失函数 Hinge Loss]

 

优化

以支持向量机为例,其模型为: 机器学习 [合页损失函数 Hinge Loss] ,如果用hinge损失,其求导结果如下:

机器学习 [合页损失函数 Hinge Loss]

 

变种

实际应用中,一方面很多时候我们的y的值域并不是[-1,1],比如我们可能更希望y更接近于一个概率,即其值域最好是[0,1]。另一方面,很多时候我们希望训练的是两个样本之间的相似关系,而非样本的整体分类,所以很多时候我们会用下面的公式:

机器学习 [合页损失函数 Hinge Loss]

其中,y是正样本的得分,y’是负样本的得分,m是margin(自己选一个数)

即我们希望正样本分数越高越好,负样本分数越低越好,但二者得分之差最多到m就足够了,差距增大并不会有任何奖励。

比如,我们想训练词向量,我们希望经常同时出现的词,他们的向量内积越大越好;不经常同时出现的词,他们的向量内积越小越好。则我们的hinge loss function可以是:

机器学习 [合页损失函数 Hinge Loss]

其中,w是当前正在处理的词, 机器学习 [合页损失函数 Hinge Loss]是w在文中前3个词和后3个词中的某一个词, 机器学习 [合页损失函数 Hinge Loss] 是随机选的一个词。

 

参考

[1] Wikiwand Hinge loss

[2] 损失函数:Hinge Loss(max margin)