原理和推导过程

SVM可以称之为最大间隔分类器,其目标是将两类样本分开,且间隔最大。对于线性可分问题,间隔是通过两条直线
\[\omega^T x+b=\pm1\]
可以计算为\(\frac{2}{\omega}\),同时应满足条件各点被分类正确,即
\[y_i *(\omega^T X_{i}+b)\ge1\]
那么最大化间隔等价于最小化\(\omega\),所以其目标函数可以表示为
\[min \frac{1}{2}\omega^2,s.t.1-y_i *(\omega^T X_i+b)\le0\]
由于该函数是条件极值问题,所以可以通过拉格朗日乘子法来计算。假设每个样本点满足的条件\(1-y_i (\omega^T X_{i}+b)\le0\)前的系数为\(\alpha_{i}\),则拉格朗日函数为
\[L(\omega,b,\alpha_i)=\frac{1}{2}\omega^{2}+\sum\limits_{i=1}^{n}\alpha_i(1-(\omega^T X_i +b))\]

\[\theta_p(\omega)=\max\limits_{\alpha_i\ge0}L(\omega,b,\alpha_i)\]
则当\(\omega\)满足原始条件时,函数\(\theta_p(\omega)\)与原函数\(\frac{1}{2}\omega^2\)等价。因为当满足条件时,要使上式最大,只能令\(\alpha_i=0\),即为\(\frac{1}{2}\omega^2\);当不满足原始条件时,上式为\(\infty\)
求\(\frac{1}{2}\omega^2\)的最小值等价为求\(\theta_p(\omega)\)的最小值。即
\[\min\limits_{\omega,b}\max\limits_{\alpha_i\ge0}L(\omega,b,\alpha_i)\]
则原始的最优化问题转化为广义拉格朗日的极小极大问题。
原来的极小极大问题可以转化其对偶问题极大极小问题。一般而言,对于凸函数,两者的最优值是等价的,则其对偶问题为
\[\max\limits_{\alpha_i\ge0}\min\limits_{\omega,b}L(\omega,b,\alpha_i)\]

而如果\((\omega,b)\)是原始问题的解和\(\alpha^{*}\)对偶问题的解的必要条件时其满足以下KKT条件(KKT条件是使一组解成为最优解的必要条件,当原问题是凸问题的时候,KKT条件也是充分条件。)

  1. L对\(\omega\)和b的偏导为0;
  2. \(\alpha_i\)大于等于0;
  3. \(\alpha_i*(1-(\omega^T X_i+b))=0\);
  4. 满足原始约束;
    由KKT条件3和4可知,对于非支持向量的样本,其系数\(\alpha_i\)都为0。

首先求关于\((\omega)\)和b的极小
由KKT条件知对于\(\omega\)和b的偏导都应该为0,即
\[\frac{\partial L}{\partial \omega} = \omega - \sum\limits_{i=1}^{n}\alpha_i X_i=0\]
\[\frac{\partial L}{\partial b} = \sum \alpha_i y_i = 0 \]
将\(\omega\)的值代入,即得
\[\sum\alpha_i-\frac{1}{2}\sum\limits_{i,j=1}^{n}\alpha_i\alpha_j y_i y_j X_i^T X_j\]
然后求上式关于\(\alpha_i\)的极大,当求得\(\alpha_i\)的值后,就可以计算出\(\omega\)和b,进而得到目标函数
那么
SVM的目标函数:
SVM的损失函数:

训练过程

SMO算法

SVM近来的发展

转载于:https://www.cnblogs.com/fcyblogs/p/8727190.html

机器学习小字典(一)——SVM相关推荐

  1. 机器学习之支持向量机(SVM)学习笔记-Datawhale Task05

    Author Bryce230 e-mail 2540892461@qq.com Software win10,Pycharm2019.3.3,Python3.7.7 SVM笔记-Datawhale ...

  2. [机器学习] 小傻学HMM:嚼烂HMM

    [机器学习] 小傻学HMM:嚼烂HMM 1 基本概念介绍 1.1 HMM 1.1.1 参数定义 1.2 二个假设 1.3 三种问题 2 公式推导 2.1 question1:Evaluation 2. ...

  3. 机器学习实战5-sklearn训练SVM模型分类回归(make_moons数据集)

    先上公式推导吓吓萌新...嘻嘻 上图中两个决策边界(虚线)的间隔为,可以把它看做求两条平行直线的距离,只是这里是超直线罢了, 例如:两平行线方程分别是:Ax+By+C1=0和Ax+By+C2=0 则它 ...

  4. 【机器学习系列】之SVM核函数和SMO算法

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] [机器学习系列]之SVM硬间隔和软间隔 [机器学习系列]之SVM核函数和SMO ...

  5. 机器学习算法の03 支持向量机SVM

    机器学习算法の03 支持向量机SVM SVM的基本概念 线性可分支持向量机 非线性支持向量机和核函数 线性支持向量机与松弛变量 LR与SVM的区别与联系 SVM的基本概念 基本概念: 支持向量机(su ...

  6. 【机器学习系列】之SVM硬间隔和软间隔

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] [机器学习系列]之SVM硬间隔和软间隔 [机器学习系列]之SVM核函数和SMO ...

  7. 机器学习小抄,轻松搞定理解机器学习!

    机器学习小抄表翻译自Chris Albon博士.Chris 是一位很有热情的机器学习从业者.数据科学家,也是初创公司NewKnowldgeAI的联合创始人. 小抄共284页,通俗易懂,如图背托福单词的 ...

  8. 机器学习小抄.pdf(像背托福单词一样理解机器学习)

    机器学习小抄表翻译自Chris Albon博士.Chris 是一位很有热情的机器学习从业者.数据科学家,也是初创公司NewKnowldgeAI的联合创始人. 小抄共284页,通俗易懂,如图背托福单词的 ...

  9. 【机器学习基础】机器学习小抄.pdf(像背托福单词一样理解机器学习)

    机器学习小抄表翻译自Chris Albon博士.Chris 是一位很有热情的机器学习从业者.数据科学家,也是初创公司NewKnowldgeAI的联合创始人. 小抄共284页,通俗易懂,如图背托福单词的 ...

最新文章

  1. 基于Pytorch再次解读LeNet-5现代卷积神经网络
  2. C#可用的日出日落时间类
  3. ORA-06502:PL/SQL :numberic or value error: character string buffer too small
  4. 约瑟夫问题(Josephus Problem)的两种快速递归算法
  5. “知识图谱+”系列:知识图谱+强化学习
  6. dj鲜生-35-设置django的session使用redis来存储
  7. oracle显示数据中心类异常,Oracle_10g数据库基础教程-参考答案
  8. 【 58沈剑 架构师之路】4种事务的隔离级别,InnoDB如何巧妙实现?
  9. uBLAS——Boost 线性代数基础程序库 (三)
  10. MATLAB eof用法,[转载]基于Matlab软件进行EOF分解、回归趋势分析
  11. 使用prewitt算子分割白纸黑字图像(Matlab)
  12. PCB线路板上的电子元件你认识多少?
  13. 计算机word平均值函数公式,Excel函数公式:在Word中用公式求和、平均值你会吗?...
  14. 就业形势严峻,应届生应该如何做好职业规划?
  15. pytorch CNN手写字体识别
  16. 微信网址遮罩引导法升级版,微信自动跳转默认浏览器打开HTML
  17. IAR for ARM系列教程(三)_菜单(Ⅰ)
  18. MySQL事务相关知识
  19. 富力等待黎明:李思廉走在还债的漫漫长路
  20. 几何画板 linux,用几何画板怎么作函数图像

热门文章

  1. AI软件制作莫比乌斯环
  2. 有前端基础学前端要多久?
  3. 自学前端很难吗?只要你足够努力,高中学历也能获得offer
  4. 学前端有什么好方法,怎么才能更快学会前端?
  5. mysql alter例子,mysql alter语句用法实例
  6. easyui 修改单元格内容_jquery easyui datagrid实现增加,修改,删除方法总结
  7. php调用第三方的api,PHP接口编程——调用第三方接口获取天气
  8. navicate 导入mysql数据库
  9. 设计模式系列之「观察者模式」
  10. java根据wait,notify,synchronize关键字自定义队列