SVM支持向量机四(SMO算法)

原创 2013年12月02日 16:59:29

SVM支持向量机四-SMO(Sequential minimal optimization)算法


SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO最好的资料就是他本人写的《Sequential Minimal Optimization A Fast Algorithm for Training Support Vector Machines》了。

本章将讲到:
 1. alphas的更新(要找违背KKT条件的更新哈)
 2. b的更新

----------------------------------------------------------

 1. alphas的更新(要找违背KKT条件的更新哈)

首先让我们回顾一下SVM二留下的问题:


要解决的是在参数{a1,a2,.....,am}上求最大值W的问题,至于x和y都是已知数。C由我们预先设定,也是已知数.按照坐标上升的思路,我们首先固定除a1以外的所有参数,然后在a1上求极值。等一下,这个思路有问题,因为如果固定a1以外的所有参数,那么a1将不再是变量(可以由其他值推出),因为问题中规定了
常数
因此,我们需要一次选取两个参数做优化,比如a1和a2(之前要判断是否违背了KKT条件,只要有一个违背了就可以选择更新),此时a1可以由a2和其他参数表示出来。这样回带到W中,W就只是关于a2的函数了,可解。并且a1,a2满足:而且还有约束条件 每个 0 <= alpha <= C ,也就是说没更新一次之后要保证这个约束条件




从而得到a2条件下的局部最大值
看下图所示推导公式:






 2. b的更新


说明我这个是借鉴了一个网友的博客:

支持向量机(五)SMO算法

写的很好,而我这章重点把大家关心的问题就是结论以及限制条件的重点整理了一下啊。

深入浅出机器学习之支持向量机SVM(SMO算法)

第一版先把主要的框架说一下,细节再补充。对于不想看内部细节的人,还是比较好的。...
  • wh357589873
  • wh357589873
  • 2015年12月18日 10:03
  • 2792

支持向量机(SVM) SMO算法详解

1.寻找最大间隔 训练样本集:D = { (x1, y1) ,  (x2, y2) , ... ,(xm, ym) } , yi ϵ { -1, +1} 划分超平面的线性方程:wTx ...
  • willbkimps
  • willbkimps
  • 2017年01月23日 23:25
  • 2298

SVM推导过程及SMO详细求解过程(一)

《PRML》中SVM支持向量机的推导过程!
  • xuanyuansen
  • xuanyuansen
  • 2014年11月13日 14:25
  • 7697

机器学习算法与Python实践之(四)支持向量机(SVM)实现

机器学习算法与Python实践之(四)支持向量机(SVM)实现zouxy09@qq.comhttp://blog.csdn.net/zouxy09        机器学习算法与Python实践这个系列...
  • zouxy09
  • zouxy09
  • 2013年12月13日 00:12
  • 107651

支持向量机(Support Vector Machine)-----SVM之SMO算法

序列最小优化算法(英语:Sequential minimal optimization, SMO)是一种用于解决支持向量机训练过程中所产生优化问题的算法。SMO由微软研究院的约翰·普莱特(John P...
  • u013747358
  • u013747358
  • 2014年05月05日 10:22
  • 781

SVM中SMO算法的实现理论+代码

这篇文章是学习完svm基础后从其他博客收集到的资料 1. 机器学习经典算法详解及Python实现--基于SMO的SVM分类器 支持向量机基本上是最好的有监督学习算法,因其英文名为supp...
  • jialeheyeshu
  • jialeheyeshu
  • 2016年07月11日 11:05
  • 1642

支持向量机(SVM)(四)----SMO

我们前几节说了线性可分,以及在低维线性不可分,但是在高维是线性可分的。还有一种情况,如下图:     这种因奇异点而造成的划分平面不合理的移动,不是我们所想的,或者因为个别奇异点导致线性不可分,其...
  • Hearthougan
  • Hearthougan
  • 2017年03月07日 01:07
  • 464

SVM-SMO算法C++实现

SMO程序 #include #include #include #include #include "matrix.h" #include #include #include usin...
  • u010865478
  • u010865478
  • 2017年05月03日 15:51
  • 621

SMO算法伪代码

摘自Platt论文的smo伪代码
  • qq_29695701
  • qq_29695701
  • 2017年11月26日 20:16
  • 93

解密SVM系列(三):SMO算法原理与实战求解

上节我们讨论到解SVM问题最终演化为求下列带约束条件的问题: minW(α)=12(∑i,j=1Nαiyiαjyjxi∗xj)−∑i=1Nαis.t.0≤αi≤C∑i=1Nαiyi=0min\qua...
  • on2way
  • on2way
  • 2015年08月17日 19:39
  • 14391
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SVM支持向量机四(SMO算法)
举报原因:
原因补充:

(最多只允许输入30个字)