Hinge Loss简介

标准Hinge Loss

  1. Hinge本身是用于分类的Loss,给定Label y = ± 1 y=\pm 1 y=±1
  2. 这个Loss的目的是让预测值 y ^ ∈ R \hat{y} \in R y^​∈R和 y y y相等的时候,返回0,否则返回一个线性值
  3. 基于2的需求,Hinge Loss的定义: L ( y ^ ) = m a x ( 0 , 1 − y ⋅ y ^ ) L(\hat{y}) = max(0, 1-y \cdot \hat{y}) L(y^​)=max(0,1−y⋅y^​)。当 y y y和 y ^ \hat{y} y^​相等,Loss等于0,下面是分类讨论。对应的图像如下图所示:
    • y = 1,那么 1 − y ⋅ y ^ = 1 − y ^ 1-y \cdot \hat{y} = 1 - \hat{y} 1−y⋅y^​=1−y^​
    • y = -1 那么 1 − y ⋅ y ^ = 1 + y ^ 1-y \cdot \hat{y} = 1 + \hat{y} 1−y⋅y^​=1+y^​
    • 总而言之就是尽可能让预测值 y ^ \hat{y} y^​尽可能贴近Label值

Hinge Loss变体

公式上的化简Or变换

有些实现中会利用label y y y的符号对上述的Hinge Loss L ( y ^ ) = m a x ( 0 , 1 − y ⋅ y ^ ) L(\hat{y}) = max(0, 1-y \cdot \hat{y}) L(y^​)=max(0,1−y⋅y^​)进行变换:
L ( y ^ ) = m a x ( 0 , − s i g n ( y ) ⋅ ( y ^ − y ) ) L(\hat{y}) = max(0, -sign(y)\cdot (\hat{y} - y)) L(y^​)=max(0,−sign(y)⋅(y^​−y))
其中 s i g n ( y ) sign(y) sign(y)表示label的符号:

s i g n ( y ) = { 1 y = 1 − 1 y = − 1 sign(y)=\left\{ \begin{aligned} 1 & & {y = 1}\\ -1 & & {y = -1} \end{aligned} \right. sign(y)={1−1​​y=1y=−1​
或统一成一种表达: s i g n ( y ) = l a b e l ≤ − 1 − l a b e l ≥ 1 sign(y)=label \leq -1 - label \geq 1 sign(y)=label≤−1−label≥1,这样做的目的是能够省去 y ⋅ y ^ y\cdot\hat{y} y⋅y^​的操作

正负Label的改变

上述讨论都是基于negative label = -1, positive label=1 的基础上做的。实际上有时候我们的negative label会以0表示。这时只需要对 s i g n sign sign函数进行一些修改:
s i g n ( y ) = { 1 y = 1 − 1 y = 0 sign(y)=\left\{ \begin{aligned} 1 & & {y = 1}\\ -1 & & {y = 0} \end{aligned} \right. sign(y)={1−1​​y=1y=0​
或统一成一种表达: s i g n ( y ) = ( l a b e l ≤ n e g ) − ( l a b e l ≥ p o s ) sign(y)=(label \leq neg ) - (label \geq pos) sign(y)=(label≤neg)−(label≥pos)
在negative label = 0, positive label=1的情况下,Loss的函数图像会发生改变:

而在这里我们可以看出Hinge Loss的物理含义:将输出尽可能“赶出” [ n e g , p o s ] [neg,pos] [neg,pos]的这个区间。
4. 对于多分类:

  • 看成是若干个2分类,然后按照2分类的做法来做,最终Loss求平均,预测
  • 或者利用标准的多类hinge Loss:https://www.cnblogs.com/wangxiu/p/5668659.html

参考:

https://blog.csdn.net/hustqb/article/details/78347713
https://www.cnblogs.com/wangxiu/p/5668659.html
http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

Hinge Loss简介相关推荐

  1. SVM(支持向量机)之Hinge Loss解释

    Hinge Loss 解释 SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法.这里换一种角度来思考,在机器学习领域,一般的做法是经验风 ...

  2. Hinge Loss

    Hinge Loss 作者:陈雕 链接:https://www.zhihu.com/question/47746939/answer/286432586 来源:知乎 著作权归作者所有.商业转载请联系作 ...

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

    理解Hinge Loss (折页损失函数.铰链损失函数) 原文:https://blog.csdn.net/fendegao/article/details/79968994 Hinge Loss 是 ...

  4. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略

    CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...

  5. 机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)

    https://blog.csdn.net/u010976453/article/details/78488279 1. 损失函数 损失函数(Loss function)是用来估量你模型的预测值 f( ...

  6. 机器学习中的损失函数(交叉熵损失、Hinge loss)

    损失函数 文章目录 损失函数 1 交叉熵损失 1.1 从最大似然估计到交叉熵损失 概率论中的MLE 机器学习中的MLE 交叉熵损失 1.2 多分类的交叉熵损失函数 1.3 比较 2. Hinge lo ...

  7. 'int' object has no attribute 'backward'报错 使用Pytorch编写 Hinge loss函数

    在编写SVM中的Hinge loss函数的时候报错"'int' object has no attribute 'backward'" for epoch in range(50) ...

  8. 机器学习中的各种损失函数(Hinge loss,交叉熵,softmax)

    机器学习中的各种损失函数 SVM multiclass loss(Hinge loss) 这是一个合页函数,也叫Hinge function,loss 函数反映的是我们对于当前分类结果的不满意程度.在 ...

  9. 多分类svm的hinge loss公式推导_损失函数—深度学习常见损失函数总结【图像分类|下】...

    点击蓝字关注我们 AI研习图书馆,发现不一样的精彩世界 学习 笔记 常见损失函数总结-图像分类下篇 一.前言 在深度学习中,损失函数扮演着至关重要的角色.通过最小化损失函数,使模型达到收敛状态,减少模 ...

最新文章

  1. 想提高代码水平,做到这点就够了
  2. js设置div高度低于滚动高度时固定
  3. 阿里内核月报2014年4月
  4. mac mysql
  5. 【Linux系统编程学习】Linux线程控制原语
  6. solr 5.3.1 使用java_Apache Solr 5.3.1 发布下载,Java 全文搜索服务器
  7. 润乾单元格加html点击事件_报表输入页码翻页(润乾 V2018)
  8. ps自定义形状工具_ps中借助形状工具绘制卡通图
  9. mysql group b_mysql报错之5.7版本的 group by mysql不能使用group by
  10. OpenCV-PS扩散效果(毛玻璃)
  11. 分享一个最终幻想勇气启示录的脚本,能自动刷图打觉醒材料
  12. jQuery将json对象转为字符串,将json字符串转为对象
  13. nsga2 matlab,NSGA2算法特征选择MATLAB实现(多目标)
  14. 各大物联网通信技术对比
  15. linux中deb文件怎么安装,deb是什么文件?deb文件怎么安装?
  16. 使用双显示器时其中一个屏幕出现重影的问题——缺少吸收磁环
  17. uniapp中使用高德地图
  18. 如何将小鹤单字挂接到搜狗输入法
  19. TensorFlow实现自定义Op
  20. 如何在IDEA中写Java程序

热门文章

  1. 024 Visual Basic 命令模式之烤串
  2. TP5.1执行SQL文件创建多个数据表MySQL提示42000错误解决方案
  3. FFmpeg学习资料
  4. 微方歌词管理系统 v6.0 免费
  5. FLASH与ASP通信原理入门
  6. 大数据电信客服-数据分析(三)
  7. win10关闭缩略图方法
  8. geohash网格图_空间索引 - GeoHash算法及其实现优化
  9. [Android 4.4.2] Oppo Find7 轻装版 MIUI 4.7.4 by crazyi
  10. c语言getline作用,C++ cin.getline及getline()用法详解