损失函数,又叫代价函数(成本函数,cost function),是应用优化算法解决问题的关键。

1. 0-1 损失函数

误分类的概率为:

P(Y≠f(X))=1−P(Y=f(X))

P(Y\neq f(X))=1-P(Y=f(X))

我们不妨记 m≜fθ(x)⋅ym\triangleq f_\theta(x)\cdot y(其中 y∈{−1,1}y\in \{-1, 1\}。对于二分类问题,最理想的损失函数是 0/1 损失函数,

  • 当 fθ(x)f_\theta(x) 与 yy 有相同符号时,损失为 0;
  • 当 fθ(x)f_\theta(x) 与 yy 符号不同时,损失为 1;

0/1 损失函数既不是处处可微(乘积,也即 m=0m=0处, ),又不是凸函数,所以直接最小化 0/1 损失函数很困难。这就需要用到 hinge 损失函数了

2. 多类 SVM 的损失函数(Multiclass SVM loss)

在给出类别预测前的输出结果是实数值, 也即根据 score function 得到的 score(s=f(xi,W)s=f(x_i, W)),

Li=∑j≠yimax(0,sj−syi+1)

L_i=\sum_{j\neq y_i}\max(0, s_j-s_{y_i}+1)

  • yiy_i 表示真实的类别,syis_{y_i} 在真实类别上的得分;
  • sj,j≠yis_j, j\neq y_i 在其他非真实类别上的得分,也即预测错误时的得分;

则在全体训练样本上的平均损失为:

L=1N∑i=1NLi

L = \frac1N\sum_{i=1}^NL_i

scores = np.dot(W, X)
correct_scores = scores[y, np.arange(num_samples)]loss = score - correct_scores + 1
loss[y, np.arange(num_samples)] = 0

3. hinge 函数(折页函数)

仍然作如下记号,m≜fθ(x)⋅ym\triangleq f_\theta(x)\cdot y,hinge 函数的形式为:

Jhinge=min{0,1−m}

J_{\text{hinge}}=\min\{0, 1-m\}

二者的几何图形为:

Hinge 损失的名字是源自它跟打开 135° 的折叶(hinge)长得很像。


  • SVM等于Hinge损失 + L2正则化

机器学习基础(四十二)—— 常用损失函数的设计(multiclass SVM loss hinge loss)相关推荐

  1. 【机器学习基础】常见二分类损失函数、距离度量的Python实现

    本文用Python实现了常见的几种距离度量.二分类损失函数. 设和为两个向量,求它们之间的距离. 这里用Numpy实现,设和为ndarray <numpy.ndarray>,它们的shap ...

  2. RHEL6基础四十二之RHEL文件共享①NFS

    NFS(Network File System的缩写,即网络文件系统),依赖于RPC协议 (Remote Procedure Cal的缩写,即远程过程调用) 实现文件或信息传送,只要用到NFS的地方都 ...

  3. 机器学习基础(十二)—— 数学基本理论拾遗

    数学分析 泰勒展开 (1)有限阶泰勒展开是对原函数的多项式逼近(approximation),为了求导的方便 (2)一阶泰勒展开(也即只保留一阶和 0 阶的部分)是对原函数的局部线性近似(Local ...

  4. python接口自动化(四十二)- 项目架构设计之大结局(超详解)

    简介 这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块-模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子.并且有很多小伙伴对于接口项目测试的框架一筹 ...

  5. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

  6. 大数据的过去、现在和未来:万字长文解读《大数据四十二条》

    这是傅一平的第314篇原创 "与数据同行"开通了微信群,现已汇聚了3500位小伙伴了,长按以下二维码发送"入群"后加入. 正文开始 它山之石可以攻玉,何宝宏博士 ...

  7. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  8. maya批量命名插件_教你玩转MAYA的四十二精华造诣(第一期)

    最近在整理文档时发现我收藏了一篇关于MAYA应用技巧的文章,突然有兴趣看了看,结果发现老版本MAYA中的某些内容很多已经无法应用于新版本.我又上网查了一下,结果发现网上好多帖子和我收藏的这篇内容基本一 ...

  9. 【Microsoft Azure 的1024种玩法】四十二. 通过Windows Admin Center快速创建Azure Virtual Machines

    [简介] Windows Admin Center是微软开发的一套可以部署在本地基于浏览器的GUI的工具集平台,其平台可用于管理Windows相关服务器和PC机器,我们可以利用Windows Admi ...

  10. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器:DirectInput专场...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8547531 作者:毛星云(浅墨) ...

最新文章

  1. 【蓝桥java】递归基础之计算共多少种走法
  2. iOS 进阶之底层原理一OC对象原理alloc做了什么
  3. asp.net和javascript怎样结合
  4. 上海工程技术大学计算机通信与网络,上海工程技术大学
  5. android 拖动缩放窗口大小,Android小应用----图片的拖动、缩放
  6. python大纲_python学习大纲
  7. Microsoft Fakes
  8. 记账APP华而不实?Excel门槛太高?不如用它在线记账!
  9. iMindMap手绘思维导图软件免费版
  10. 游百望山(记于17.09.05)
  11. MycoLightTM 比率细菌膜电位试剂盒程序
  12. 新疆库尔勒市杜鹃河上演人禽共泳和谐相处画卷
  13. highcharts中gantt甘特图的使用
  14. SSL证书、 der、 cer、 pem区别
  15. 代理记账公司是如何进行缴税的?
  16. 主机连接VMware虚拟机的配置过程
  17. MSN 登陆不了的解决方法
  18. java编写文件系统的方法_操作系统课程设计模拟文件系统Java
  19. ChatGPT会取代律师这份职业吗?
  20. Linux 重定向与管道

热门文章

  1. 学习java 第三天 数据类型以及存储大小取值范围 (one 大白 (●—●))
  2. 怎么访问二级服务器未响应,windows+访问服务器未响应
  3. linux删除更新的系统内核,Linux系统如何删除旧内核
  4. freertos nand flash 读取错误_Flash失效小谈
  5. python里面if语句一直出错_python错误,写了个小程序,if语句总是不执行,求高手指点...
  6. Bandit UCB推导
  7. 机器学习代码实战——K折交叉验证(K Fold Cross Validation)
  8. TensorFlow基础篇(六)——tf.nn.max_pool()和tf.nn.avg_pool()
  9. paddle中import onnxruntime报错缺失Microsoft Visual C++ Redistributable for Visual Studio 2019 not install
  10. err_cleartext_not_permitted