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支持向量机三(软间隔处理规则化和不可分情况)

SVM支持向量机三(软间隔处理规则化和不可分情况)

机器学习(7)——支持向量机(三):线性支持向量机和软间隔最大化

前两章讨论支持向量机时,假设了数据最终是能完全被分开,即数据在原始特征空间或映射到高维特征空间之后能够完全正确分类。但是,这样绝对的分类存在一个明显的问题,如果模型中存在异常点,即使高维映射之后,能够...

对SVM的理解

之前以为SVM很强大很神秘,自己了解了之后发现原理并不难,不过,“大师的功力在于将idea使用数学定义它,使用物理描述它”,这一点在看SVM的数学部分的时候已经深刻的体会到了,最小二乘法、梯度下降法、...

SVM支持向量机总结(不包括高维核函数等)

SVM支持向量机总结 本文将会讲到: 1.从原问题到最终结果主要公式展示 2.个人编写的python代码及结果演示 ----------------------------------...

成为深度学习专家的七个步骤

PS:早上看到的一篇不错的原文,因为自己也正在进行这些学习研究,一路走来,觉得总结不错。本想要翻译出来的,发现有人这么做了,就直接转过来,一方面是给自己更多资源,另一方面是希望分享给更多的人。 ...

【机器学习基础】软间隔支持向量机

引言在上一小节中,我们介绍了核支持向量机。于是,不管是简单的问题还是复杂的问题,我们都可以做得到。 然而,像高斯核的方法太复杂了,可能造成过拟合的问题。导致过拟合的现象的原因有可能是你选择特征转换太...

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

转自http://www.cnblogs.com/pinard/p/6111471.html 在SVM的前三篇里,我们优化的目标函数最终都是一个关于α α向量的函数。而怎么极小化这个函数...

支持向量机SVM的smo算法

支持向量机(SVM)的SMO算法实现(Python)

Python实现SMO

SVM 支持向量机(3) SMO算法小结

SMO算法 (Sequential Minimal Optimization)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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