目录

一、硬间隔SVM(Hard Margin SVM)

二、对偶问题(Dual Problem)

1.将有约束问题转变为无约束问题

2.强对偶关系

3.计算拉格朗日函数的最小值

4.得到对偶形式

三、对偶形式的求解

1.KKT条件的引入

2.计算w*和b*

四、软间隔SVM(Soft Margin SVM)

1.Hinge Loss的引入

2.软间隔SVM的形式


SVM是一种无监督机器学习方法,常用于二分类问题。其相较于逻辑回归,引入了核函数的概念,对非线性关系有更好的分类效果;同时由于对偶问题的引入,使得计算的复杂性由维度的大小转变为样本的数量,避免了维度爆炸。但是由于SVM的本质是二次规划问题,样本数量大的时候,需要占用大量的存储空间和时间,不容易实现;同时SVM解决多分类问题存在一定困难。

一、硬间隔SVM(Hard Margin SVM)

硬间隔SVM是一个二次凸规划问题,其形式为:

其推导过程为:

(1)列出原始目标函数和约束条件。

目标函数:使间隔最大(间隔指离分隔线最近点到分隔线的距离)

约束条件:分隔线两侧的所有点均属于同一类别

即:

其中,间隔(最小距离)的推导过程如下:

 (2)表达式化简

目标函数中,由于w与x无关,所以可以将1/||w||提出来;

由第一步得到的约束条件可知,必定存在一个γ>0,使得所有样本到分隔线的距离>γ,即:

这样,可以将目标函数中的min后所有元素进行替换,即:

(3)最终形式

目标函数:将max化为min,转化为二次型

约束条件:由于最小距离等于1,所以所有样本的距离大于等于1

二、对偶问题(Dual Problem)

在本问题中,可以将上面推出的二次规划问题转化为对偶形式:

引入对偶形式后,其目的为:

(1)方便引入核函数

(2)使约束函数从由维度、样本数量有关,变为仅与样本数量有关,方便计算。

其推导过程使用了拉格朗日(Lagrange)乘子法,拉格朗日乘子法方法的推导可参考下面博客。我们在这里仅套用Lagrange乘子法。

深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件_lijil168的博客-CSDN博客_拉格朗日乘子法

 1.将有约束问题转变为无约束问题

带入Lagrange函数以及KKT条件,得到如下形式:

 2.强对偶关系

拉格朗日为凹函数,其仅有最小值,没有最大值。

而目前的形式需要求拉格朗日函数的最大值,无法求得。所以需要对问题进行转变。
拉格朗日函数满足强对偶关系,即min max f(x) = max min f(x),可将上式化简为:

3.计算拉格朗日函数的最小值

拉格朗日函数有唯一最小值,故极小值即为最小值。

极小值的计算方式为:令偏导数等于0

4.得到对偶形式

代回原目标函数,即可得到最终结果。

三、对偶形式的求解

1.KKT条件的引入

由KKT条件的第三个式子可知,只有处于支持向量上的点(yf(x)-1=0)才可以满足第三个条件。所以在SVM中,仅有在支持向量上的点才有意义

2.计算w*和b*

w*和b*即为确定超平面的参数。

w*的求解:直接带入条件即可

b*的求解:由于仅有支持向量上的点起作用,所以代回支持向量上的样本点,对b*进行求解。

四、软间隔SVM(Soft Margin SVM)

引入软间隔SVM的目的是:防止由于噪声数据而产生的过拟合现象。

1.Hinge Loss的引入

Hinge Loss设置了一个阈值,使得偏差数值尽可能小。其函数图像如下。

2.软间隔SVM的形式

【超详细】支持向量机(SVM)数学推导相关推荐

  1. 超详细支持向量机知识点,面试官会问的都在这里了

    (图片付费下载自视觉中国) 作者 | 韦伟 来源 | 知乎 导语:持续准备面试中,准备的过程中,慢慢发现,如果死记硬背的话很难,可当推导一遍并且细细研究里面的缘由的话,面试起来应该什么都不怕,问什么问 ...

  2. 支持向量机SVM 简要推导过程

    SVM 是一块很大的内容,网上有写得非常精彩的博客.这篇博客目的不是详细阐述每一个理论和细节,而在于在不丢失重要推导步骤的条件下从宏观上把握 SVM 的思路. 1. 问题由来 SVM (支持向量机) ...

  3. 支持向量机 SVM 算法推导优缺点 代码实现 in Python

    1.基本思想 前面讲到的Logistic Regression在拟合过程,实际上关注所有样本点的贡献,即寻找这么一个超平面,使得正例的特征远大于0,负例的特征远小于0,强调在全部训练数据上达到这一目标 ...

  4. 微积分、线性代数、概率论,这里有份超详细的ML数学路线图

    大学时期学的数学现在可能派上用场了,机器学习背后的原理涉及许多数学知识.深入挖掘一下,你会发现,线性代数.微积分和概率论等都和机器学习背后的算法息息相关. 机器学习算法背后的数学知识你了解吗?在构建模 ...

  5. SVM(支持向量机)原理及数学推导全过程详解

    由于格式问题,为方便阅读,请点击下方链接访问原文 点击此处访问原文 点击此处访问原文 点击此处访问原文 点击此处访问原文 关于SVM网上已经有很多很多的前辈有过讲解,这两天自己在网上看了看资料,结合前 ...

  6. 支持向量机(SVM)----超详细原理分析讲解

    文章目录 支持向量机(SVM) 直观的本质理解 几个基础概念 决策超平面的求解(SVM模型的推导) 最大硬间隔的寻找与公式构建 拉格朗日乘数法的应用 使用对偶问题求解 一个小例子(求解决策超平面与决策 ...

  7. SVM支持向量机 超详细过程讲解

    SVM支持向量机 超详细过程讲解 前言 一.线性模型 前言 此篇文章为B站浙大机器学习课程支持向量机部分的个人笔记,不喜勿喷.笔记顺序从线性模型到非线性模型,层层递进,十分易懂. 一.线性模型 先从一 ...

  8. 『自己的工作3』梯度下降实现SVM多分类+最详细的数学推导+Python实战(鸢尾花数据集)

    梯度下降实现SVM多分类+最详细的数学推导+Python实战(鸢尾花数据集)! 文章目录 一. SVM梯度公式详细推导 1.1. SVM多分类模型 1.2. SVM多分类梯度公式推导 1.3. SVM ...

  9. SVM支持向量机-手写笔记(超详细:拉格朗日乘数法、KKT条件、对偶性质、最优化、合页损失、核函数...)

    SVM支持向量机-手写笔记 作者:某丁 日期:2021.05.21 写完了,发现想要真正理解SVM还需要继续深入学习,以上所写只不过是冰山一角,我的管中窥豹而已. 参考 [1] 一文搞懂支持向量机(S ...

  10. 【机器学习基础】数学推导+纯Python实现机器学习算法8-9:线性可分支持向量机和线性支持向量机...

    Python机器学习算法实现 Author:louwill 前面两讲我们对感知机和神经网络进行了介绍.感知机作为一种线性分类模型,很难处理非线性问题.为了处理非线性的情况,在感知机模型的基础上有了两个 ...

最新文章

  1. TaggerX——AI数据标注引入乡村振兴工作站解决农村地区青年就业问题【数据故事计划一等奖】...
  2. SQL Server查看错误日志存档编号及其详情
  3. 平板python_Wacom平板电脑的Python示例
  4. 问题解决:无法获得锁 /var/lib/dpkg/lock
  5. vs2008 c++ 调用java
  6. 搜索python代码的软件_用python编写一个高效搜索代码工具
  7. android原生webview,Android 原生与WebView JS的交互
  8. 企业级php第三方支付平台,ThinkPHP新版企业级php第三方api第四方支付平台程序源码商业版 带接口文件等 某宝售价3000元...
  9. nltk安装punkt等语料库时报SSL错误完美解决方案及离线安装方法
  10. python日志,支持彩色打印和文件大小切片写入和写入mongodb
  11. 使用 Python 实现鼠标键盘自动化
  12. 华为P30 Pro终极渲染图曝光:后置徕卡四摄颜值出众
  13. 例2.3 日期差值 - 九度教程第6题(日期类问题)
  14. Protel99se基本教程 Protel 99SE从零开始学习教程视频教程
  15. C++ cout的使用,看这一篇就够了
  16. 汇编:根据段大小计算偏移地址
  17. HTML+CSS大作业——水果介绍-橙子之家(6页) HTML+CSS+JavaScript 学生dreamweaver网页设计作业成品
  18. 《人类简史-从动物到上帝》读后感
  19. 2019念念不忘,2020必有回响!!!
  20. Adobe Acrobat XI Pro 软件下载安装详细教程

热门文章

  1. Selenium 详解CSS定位
  2. 什么是Trap消息?
  3. nunit php-fpm,首页 C#使用NUnit的-如何获得当前正在执行...
  4. 携程鞠躬道歉背后:三个月被投诉149次,涉嫌欺诈被多次起诉
  5. 站长新手如何做好SEO优化,如何让关键词快速上百度搜狗,神马,360首页
  6. 【xdoj难题集】 1018 Josephus环的复仇的复仇
  7. 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
  8. winform调用html,C#_C#通过html调用WinForm的方法,本文实例讲述了C#通过html调用W - phpStudy...
  9. Dynamic Web TWAIN 17.2.5
  10. 政府网站从管理型向服务型政府网站的转变过程中