[机器学习]支持向量机4——SMO算法

本文详细介绍了支持向量机(SVM)中的SMO(Sequential Minimal Optimization)算法,讲解了如何选择优化的αi,αjαi,αj,如何确定b,以及算法的基本步骤。通过SMO算法,可以解决SVM的对偶问题,找到最大化间隔的支持向量。文章还探讨了KKT条件在选择变量中的作用,并提供了确定超平面参数b的方法。" 5494843,407726,HTTP状态码详解,"['HTTP', 'Web开发', '服务器', '请求处理']
摘要由CSDN通过智能技术生成

支持向量机1——间隔和支持向量

支持向量机2——对偶问题

支持向量机3——引入松弛因子

支持向量机4——SMO算法

支持向量机4——SMO算法

根据上一篇的对偶问题的结论,我们现在的目的是计算下式子,也就是找到一系列 α α 使得 (4.1) ( 4.1 ) 公式达到最大值。

maxαi=1mαi12i=1mj=1mαiαjyiyjxixjst. i=1mαiyi=0αi0(4.1) (4.1) max α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i x j s t .   ∑ i = 1 m α i y i = 0 α i ≥ 0

换一种表达方式那么就是让找到一系列 α α 使得 (4.2) ( 4.2 ) 公式达到最小值。

minα12i=1mj=1mαiαjyiyjxixji=1mαist. i=1mαiyi=0αi0(4.2) (4.2) min α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i x j − ∑ i = 1 m α i s t .   ∑ i = 1 m α i y i = 0 α i ≥ 0



那么现在问题就是如何解 (4.2) ( 4.2 ) 公式。不难发现,这是一个 二次规划的问题。可使用通用的二次规化算法来求解。然而,该问题的规模正比于训练样本数,这会在实际中造成很大的开销。SMO(Sequential Minimal Optimization)可以更高效的解决上述SVM问题。

它的基本思路是先固定 αi α i 之外的所有参数,然后求 αi α i 上的极值,由于存在约束 mi=1αiyi=0 ∑ i = 1 m α i y i = 0 ,若固定 αi α i 之外的其它变量,则 αi α i 可由其它变量导出。于是,SMO每次选择两个变量 αi,αj α i , α j ,并固定其它参数。

假设选择优化的参数是  α1,α2    α 1 , α 2   ,那么需要固定其它  m2    m − 2   个参数。可以将 (4.2) ( 4.2 ) 式简化为只关于  α1,α2    α 1 , α 2   的式子。

minα1,α212(α21y21x21+α22y22x22+2α1α2y1y2x1x2)  (α1+α2) + y1α1v1 + y2α2v2 + Conatantvi=j=3mαjxjyjxii=1,2(4.3) (4.3) min α 1 , α 2 1 2 ( α 1 2 y 1 2 x 1 2 + α 2 2 y 2 2 x 2 2 + 2 α 1 α 2 y 1 y 2 x 1 x 2 )   −   ( α 1 + α 2 )   +   y 1 α 1 v 1   +   y 2 α 2 v 2   +   C o n a t a n t v i = ∑ j = 3 m α j x j y j x i i = 1 , 2

其中 Constant C o n s t a n t 代表和 α1,α2 α 1 , α 2 无关的常数项。由于 yiyi ==1  y i ∗ y i   == 1   ,故上式可变为 (4.4) ( 4.4 )

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值