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

多分类SVM损失函数: Multiclass SVM loss

时间:2020-01-22 21:45:54      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:等于   alt   inf   svm   height   表达   预测   一个   过程   

1. SVM 损失:在一个样本中,对于真实分类与其他每各个分类,如果真实分类所得的分数与其他各分类所得的分数差距大于或等于安全距离,则真实标签分类与该分类没有损失值;反之则需要计算真实分类与该分类的损失值; 真实分类与其他各分类的损失值的总和即为一个样本的损失值

①即真实标签分类所得分数大于等于该分类的分数+安全距离,S_yi >=S_j + △,那么损失值=0 

②否则,损失值等于其他分类的分数 + 安全距离(阈值)- 真实标签分类所得的分数,即损失值=S_j + △ - S_yi

S_yi:真实标签分类的分数    S_j:其他标签的分数  △:安全距离、阈值 

③以上是针对每一个样本而言的,一轮的损失值=n个样本损失值Li的算术平均和+正则化(每一个样本是指每一个测试数据)

④算法过程:对于每一个样本,计算真实分类与其他各个分类的损失值,真实分类与其他各个分类的损失值的总和即为一个样本的损失值;

所有的样本损失值的算术平均和 + 正则化 = 总体损失值

 

Li:(用于理解)此处的安全距离=1

技术图片

 

Li表达式:

技术图片

 

 

 

 

L表达式:

技术图片

 

 

 

2. Multiclass SVM loss的图像:阈值为1

技术图片

 

 

3. 例子

①一共有3个样本,第一个样本的真实分类是cat,第二个是car,第三个是frog。

注意:真实分类是指数据的真实标签,而不是预测标签

技术图片

 

 

 

②第一个样本,真实标签是猫,所以要计算其他分类的得分与猫分类的得分是否在一个安全的范围内

max(汽车的分数 + 安全距离 - 猫的分数,0)+ max(青蛙的分数 + 安全距离 - 猫的分数,0)= max(2.9 , 0)+ max(-3.9,0)= 2.9

所有第一个样本的损失值为2.9,以此类推

技术图片

 

 

 

③算完三个样本的损失值后,求三个样本损失值的算术平均和,该结果即为总体损失值(其实一般还要加一个正则化)

技术图片

 

 

 

4. 代码

技术图片

多分类SVM损失函数: Multiclass SVM loss

标签:等于   alt   inf   svm   height   表达   预测   一个   过程   

原文地址:https://www.cnblogs.com/shiliuxinya/p/12229676.html

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