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

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算法

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值