合页损失函数 HingeLoss

理解Hinge Loss (折页损失函数、铰链损失函数)

Hinge Loss 是机器学习领域中的一种损失函数,可用于“最大间隔(max-margin)”分类,其最著名的应用是作为SVM的目标函数。

在二分类情况下,公式如下:
L ( y ) = m a x ( 0 , 1 – t ⋅ y ) L(y) = max(0 , 1 – t⋅y) L(y)=max(0,1ty)
其中,y是预测值(-1到1之间),t为目标值(1或 -1)。其含义为,y的值在 -1到1之间即可,并不鼓励|y|>1,即让某个样本能够正确分类就可以了,不鼓励分类器过度自信,当样本与分割线的距离超过1时并不会有任何奖励。目的在于使分类器更专注于整体的分类误差。

变种

在实际应用中,一方面,预测值y并不总是属于[-1,1],也可能属于其他的取值范围;另一方面,很多时候我们希望训练的是两个元素之间的相似关系,而非样本的类别得分。所以下面的公式可能会更加常用:
L ( y , y ′ ) = m a x ( 0 , m a r g i n – ( y – y ′ ) ) = m a x ( 0 , m a r g i n + ( y ′ – y ) ) = m a x ( 0 , m a r g i n + y ′ – y ) L_( y, y′) = max( 0, margin – (y–y′) )\\ = max( 0, margin + (y′–y) )\\ = max( 0, margin + y′ – y) L(y,y)=max(0,margin(yy))=max(0,margin+(yy))=max(0,margin+yy)
其中,y是正确预测的得分,y′是错误预测的得分,两者的差值可用来表示两种预测结果的相似关系,margin是一个由自己指定的安全系数。我们希望正确预测的得分高于错误预测的得分,且高出一个边界值margin,换句话说,y越高越好,y′
越低越好,(y–y′)越大越好,(y′–y)越小越好,但二者得分之差最多为margin就足够了,差距更大并不会有任何奖励。这样设计的目的在于,对单个样本正确分类只要有margin的把握就足够了,更大的把握则不必要,过分注重单个样本的分类效果反而有可能使整体的分类效果变坏。分类器应该更加专注于整体的分类误差。

举个栗子,假设有3个类cat、car、frog
在这里插入图片描述

第一列表示样本真实类别为cat,分类器判断样本为cat的分数为3.2,判断为car的分数为5.1,判断为frog的分数为 -1.7。那这里的 hinge
loss 怎么计算呢?

在这里插入图片描述

这里是让其他两类的分数去减去真实类别的分数,这相当于计算其他类与真实类之间的误差。因为我们希望错误类别的评分低于正确类别的评分,所以这个误差值越小越好。另外,还使用了一个边界值margin,取值为1,为了使训练出的分类器有更大的把握进行正确分类。

优化

hinge loss 函数是凸函数,因此机器学习中很多的凸优化方法同样适用于 hinge loss。

然而,因为 hinge loss 在t⋅y=1的时候导数是不确定的,所以一个平滑版的 hinge loss 函数会更加有助于优化,它由Rennie and
Srebro提出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0k4b9Y4M-1590198157015)(./1_files/20180417015257378)]

除此之外,还有二次方平滑

在这里插入图片描述
在这里插入图片描述
上图为 hinge loss 函数关于z=t⋅y的三种版本,蓝色的线是原始版,绿色线为二次方平滑,红色的线为分段平滑,也就是Rennie and
Srebro提出的那一版。

参考资料:

https://blog.csdn.net/luo123n/article/details/48878759###

https://blog.csdn.net/sxf1061926959/article/details/60470415

https://blog.csdn.net/chaipp0607/article/details/76037351

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>