码迷,mamicode.com
首页 > 其他好文 > 详细

svm损失函数

时间:2016-06-15 15:37:54      阅读:964      评论:0      收藏:0      [点我收藏+]

标签:

作者:杜客
链接:https://zhuanlan.zhihu.com/p/20945670
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

SVM的损失函数定义如下:


技术分享

举例:用一个例子演示公式是如何计算的。假设有3个分类,并且得到了分值技术分享。其中第一个类别是正确类别,即技术分享。同时假设技术分享是10(后面会详细介绍该超参数)。上面的公式是将所有不正确分类(技术分享)加起来,所以我们得到两个部分:

技术分享

可以看到第一个部分结果是0,这是因为[-7-13+10]得到的是负数,经过技术分享函数处理后得到0。这一对类别分数和标签的损失值是0,这是因为正确分类的得分13与错误分类的得分-7的差为20,高于边界值10。而SVM只关心差距至少要大于10,更大的差值还是算作损失值为0。第二个部分计算[11-13+10]得到8。虽然正确分类的得分比不正确分类的得分要高(13>11),但是比10的边界值还是小了,分差只有2,这就是为什么损失值等于8。简而言之,SVM的损失函数想要正确分类类别技术分享的分数比不正确类别分数高,而且至少要高技术分享。如果不满足这点,就开始计算损失值。

那么在这次的模型中,我们面对的是线性评分函数(技术分享),所以我们可以将损失函数的公式稍微改写一下:


技术分享

其中技术分享是权重技术分享的第j行,被变形为列向量。然而,一旦开始考虑更复杂的评分函数技术分享公式,这样做就不是必须的了。


在结束这一小节前,还必须提一下的属于是关于0的阀值:技术分享函数,它常被称为折叶损失(hinge loss)。有时候会听到人们使用平方折叶损失SVM(即L2-SVM),它使用的是技术分享,将更强烈(平方地而不是线性地)地惩罚过界的边界值。不使用平方是更标准的版本,但是在某些数据集中,平方折叶损失会工作得更好。可以通过交叉验证来决定到底使用哪个

svm损失函数

标签:

原文地址:http://www.cnblogs.com/hoey-ge/p/5587383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!