说在前面

据说在dl之前是SVM撑起了ml的半片天,学习后发现SVM是由纯粹的数学推导、转化、求解、优化“堆砌”而来,不如说是数学撑起了ml,ml是数学的学科。以下根据老师ppt上讲解的思路讲讲个人对SVM基本形式推导的理解。


问题

从基本的二分类问题讨论 SVM 的构建:

Margin

margin(间隔)的定义:

超平面的法线(normal)为 ω \omega ω,margin为点 x ( i ) x^{(i)} x(i)到超平面 ω T + b = 0 \omega^T+b=0 ωT+b=0的距离,因此点 x ( i ) − γ ( i ) × ω ∣ ∣ ω ∣ ∣ x^{(i)}-\gamma^{(i)}\times\frac{\omega}{||\omega||} x(i)−γ(i)×∣∣ω∣∣ω​(红色圈)在超平面上。
ω T ( x ( i ) − γ ( i ) × ω ∣ ∣ ω ∣ ∣ ) + b = 0 \omega^T(x^{(i)}-\gamma^{(i)}\times\frac{\omega}{||\omega||})+b=0 ωT(x(i)−γ(i)×∣∣ω∣∣ω​)+b=0
⟹ ω T x ( i ) − γ ( i ) × ω T ω ∣ ∣ ω ∣ ∣ + b = 0 \Longrightarrow \omega^Tx^{(i)}-\gamma^{(i)}\times\frac{\omega^T\omega}{||\omega||}+b=0 ⟹ωTx(i)−γ(i)×∣∣ω∣∣ωTω​+b=0
⟹ ω T x ( i ) ∣ ∣ ω ∣ ∣ − γ ( i ) × ω T ω ∣ ∣ ω ∣ ∣ 2 + b ∣ ∣ ω ∣ ∣ = 0 \Longrightarrow \frac{\omega^Tx^{(i)}}{||\omega||}-\gamma^{(i)}\times\frac{\omega^T\omega}{||\omega||^2}+\frac{b}{||\omega||}=0 ⟹∣∣ω∣∣ωTx(i)​−γ(i)×∣∣ω∣∣2ωTω​+∣∣ω∣∣b​=0
而 ω T ω = ∣ ∣ ω ∣ ∣ 2 \omega^T\omega=||\omega||^2 ωTω=∣∣ω∣∣2,因此
⟹ ω T x ( i ) ∣ ∣ ω ∣ ∣ + b ∣ ∣ ω ∣ ∣ = γ ( i ) \Longrightarrow \frac{\omega^Tx^{(i)}}{||\omega||}+\frac{b}{||\omega||}=\gamma^{(i)} ⟹∣∣ω∣∣ωTx(i)​+∣∣ω∣∣b​=γ(i)

乘上 y ( i ) ∈ { − 1 , 1 } y^{(i)}\in\{-1,1\} y(i)∈{−1,1}得到Geometric margin(几何间隔):

容易发现 c ( ω T x + b ) = 0 c(\omega^Tx+b)=0 c(ωTx+b)=0 同样可以描述该超平面,这并不改变 γ \gamma γ的值,或者说存在多组满足 ω T x + b = 0 \omega^Tx+b=0 ωTx+b=0 的 ( ω , b ) (\omega,b) (ω,b),我们只需要用其中一个作描述,因此后面约定 m i n i y ( i ) ( ω T x ( i ) + b ) = 1 min_i\ {y^{(i)}}(\omega^Tx^{(i)}+b)=1 mini​ y(i)(ωTx(i)+b)=1.


定义整个 training set 的间隔为数据点的最小间隔。

优化目标

最大化间隔:

变换,将 γ \gamma γ视为参数,增加约束 γ ( i ) ≥ γ \gamma^{(i)}\geq\gamma γ(i)≥γ.


对于SVM来说去掉一些不在 ω T x + b = ± γ ∣ ∣ ω ∣ ∣ \omega^Tx+b=\pm\gamma||\omega|| ωTx+b=±γ∣∣ω∣∣平面上的数据点并不影响模型,该平面称为支持平面,平面上的数据点称为支持向量(support vector).更准确地说,sv确定了支持平面,sv的margin γ ( i ) \gamma^{(i)} γ(i)是约束 s . t . γ ( i ) ≥ γ s.t.\ \gamma^{(i)}\geq \gamma s.t. γ(i)≥γ取等时的 γ ( i ) \gamma^{(i)} γ(i),SVM(support vector machine)因此得名。为了简化表达,约定一组 ( ω T , b ) (\omega^T,b) (ωT,b),使得支持平面变为 ω T x + b = ± 1 \omega^Tx+b=\pm1 ωTx+b=±1.

因此SVM问题表述为

基本形式

进一步地,我们得到SVM的基本形式(Primal Form):

SVM(支持向量机)(一)基本形式推导相关推荐

  1. 手推SVM 支持向量机的简易推导和理解

    前言 SVM - support vector machine, 俗称支持向量机,为一种监督学习算法,是一种二分类模型,学习策略是间隔最大化,可以形式为一个求解凸二次规划问题(此篇博客主要讲述),也等 ...

  2. SVM支持向量机的推导(非常详细)

    SVM支持向量机的推导(非常详细) 参考自(https://www.zhihu.com/search?q=svm%E6%8E%A8%E5%AF%BC&utm_content=search_su ...

  3. SVM支持向量机超详细数学推导过程

    感谢哔哩哔哩阿婆主:shuhuai008 .视频讲解:https://www.bilibili.com/video/av28186618/?p=1 SVM有三宝:间隔.对偶.核技巧(核函数) 三个不同 ...

  4. SVM支持向量机通俗导论(理解SVM的三层境界)

    神文 转自july:http://blog.csdn.net/v_july_v/article/details/7624837 支持向量机通俗导论(理解SVM的三层境界) 作者:July .致谢:pl ...

  5. 机器学习(MATLAB实现)——SVM支持向量机(一)

    SVM支持向量机 支持向量机理论概述 二分类支持向量机 多分类支持向量机 libsvm工具箱使用简介 训练函数 预测函数 libsvm参数实例 一点拓展 参考文献 支持向量机理论概述 核函数用于将支持 ...

  6. 历经一个月,终于搞定了SVM(支持向量机)-附源代码解析

    历经一个月,终于搞定了SVM(支持向量机)-附源代码解析 前言 其实整体算下来,断断续续的也得有快两个月了(原谅博主比较笨).中间也有好几次放弃,不想写这篇总结了,但是之前立下的誓言,要将学习到的每一 ...

  7. 惊呼——SVM支持向量机三重境界!

    转载自:原文 前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个 ...

  8. SVM支持向量机、BP神经网络

    SVM支持向量机 [[五分钟机器学习]向量支持机SVM--学霸中的战斗机-哔哩哔哩] [机器学习-白板推导系列(六)-支持向量机SVM(Support Vector Machine)-哔哩哔哩] BP ...

  9. 机器学习 之线性回归、逻辑回归、 SVM支持向量机、随机森林

    参考b站不会还有人不知道最新版2022年的李宏毅--机器学习与深度学习吧?_哔哩哔哩_bilibili 分类 1.监督学习:     从给定的训练数据集中学习一个函数(模型),当新数据(测试集)来到时 ...

最新文章

  1. QString与std::string的相互转换
  2. 牛客网(剑指offer) 第十三题 调整数组顺序使奇数位于偶数前面
  3. 学习组合模式,转载一段有关组合模式的详解
  4. Linux逻辑运算优先级,linux中的逻辑运算和正则表达式
  5. 关于链表逆置的递归和迭代方法
  6. linux终端文件保存,Linux 终端中命令输出保存到文件中的方法
  7. php里macd预测算法,股票MACD指标算法公式
  8. JS测试显示屏分辨率以及屏幕尺寸
  9. 浏览器中的垃圾回收机制
  10. win7电脑怎么连接打印机的方法分享
  11. JS 去除Object中指定的key
  12. 解决webpack : 无法加载文件 C:\Users\XXX\AppData\Roaming\npm\webpack.ps1因为在此系统上禁止运行脚本
  13. 安全帽识别系统的应用鹰眸视频分析
  14. 数据分析实战平台分享
  15. 什么是双因素身份验证?
  16. nftables和iptables的区别
  17. 信息系统研究中的设计科学研究7指南
  18. 分享116个PHP源码,总有一款适合您
  19. Qt编写主界面顶部和左侧导航
  20. FEKO几何模型的导出导入

热门文章

  1. CF #689(Div. 2) B - Find the Spruce
  2. 如何快速合并多个TXT文本内容
  3. Matlab的title如何实现换行显示?
  4. 刚买的新电脑怎么安装软件
  5. jQuery手风琴特效
  6. 有哪些数据恢复软件?13个好用的数据恢复工具分享
  7. python爬虫爬取微信_Python爬虫爬取微信小程序
  8. 咨询报告中常用的英文缩写
  9. JS_01_变量_数据类型
  10. HTTP中的301、302、303、307、308