第七章 支持向量机(四) 序列最小最优化算法SMO

在前三篇中,一直有一个问题未解决,就是如何求解对偶问题。
SVM的对偶问题如下

maxα12i=1nj=1nαiαjyiyjK(xi,xj)+i=1nαi(1) (1) m a x α − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j K ( x i , x j ) + ∑ i = 1 n α i

s.t.i=1nαiyi=0 s . t . ∑ i = 1 n α i y i = 0

0αiC,i=1,2,...n 0 ≤ α i ≤ C , i = 1 , 2 , . . . n

这是一个凸二次规划问题,现已有许多求解该问题的方法。
SMO(Sequential Minimal Optimization)是针对求解SVM的Lagrange对偶问题的高效算法。

一、KKT条件

根据第一篇
https://blog.csdn.net/csdn_lzw/article/details/79757715
的定理知对偶问题的解的充要条件是解满足KKT条件。
也就是说如果所有变量的解都满足KKT条件,那么这个问题的解就得到了。
支持向量机的KKT条件
解的偏导=0

wL(w,b,ξ,α,μ)=wi=1nαiyixi=0(2) (2) ∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 n α i ∗ y i x i = 0

bL(w,b,ξ,α,μ)=i=1nαiyi=0(3) (3) ∇ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 n α i ∗ y i = 0

ξL(w,b,ξ,α,μ)=Cαμ=0(4) (4) ∇ ξ L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α ∗ − μ ∗ = 0

解满足不等式约束,
yi(wxi+b)1+ξ0(5) (5) y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ ∗ ≥ 0

ξ0(6) (6) ξ ∗ ≥ 0

拉格朗日乘子大于0
αi0(7) (7) α i ∗ ≥ 0

μi0(8) (8) μ i ∗ ≥ 0

对偶互补:拉格朗日乘子大于0时,解的不等式约束的等号成立
αi(yi(wxi+b)1+ξi)=0(9) (9) α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ ) = 0

μiξi=0,i=1,2,...n(10) (10) μ i ∗ ξ i ∗ = 0 , i = 1 , 2 , . . . n


另一个角度的KKT条件
αi=0yig(xi)1 α i ∗ = 0 ⇔ y i g ( x i ) ≥ 1

0<αi<Cyig(xi)=1 0 < α i ∗ < C ⇔ y i g ( x i ) = 1

αi=Cyig(xi)1 α i ∗ = C ⇔ y i g ( x i ) ≤ 1


αi=0 α i ∗ = 0 公式4 μi>0 μ i ∗ > 0 , 公式10 ξi=0 ξ i ∗ = 0 ,公式5 yig(xi)1 y i g ( x i ) ≥ 1

0<αi<C 0 < α i ∗ < C 公式4 μi>0 μ i ∗ > 0 , 公式10 ξi=0 ξ i ∗ = 0 ,公式9 yig(xi)=1 y i g ( x i ) = 1

αi=C α i ∗ = C 公式4 μi=0 μ i ∗ = 0 ,公式6,9 yig(xi)1 y i g ( x i ) ≤ 1
上面的推导知,公式7,8成立。
因此这种角度的KKT条件涵盖了原来的所有KKT条件公式,且更简洁。
αi=0 α i ∗ = 0 的样本点,函数间隔大于等于1,属于分类正确的点;
αi>0 α i ∗ > 0 的样本点,都属于支持向量。其中又分为两种:
0<αi<C 0 < α i ∗ < C ,函数间隔等于1,样本点是恰好在间隔边界上的支持向量;
αi=C α i ∗ = C , 支持向量落在间隔边界与超平面之间,或者在超平面误分的一侧。
第二篇的第四部分有详细说明
https://blog.csdn.net/csdn_lzw/article/details/79794233

二、SMO

疑问
1.什么叫作违反KKT条件最严重的样本点,不是只有满足和不满足,怎么体现严重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化算法支持向量机(Support Vector Machine,SVM)中起着重要的作用,它们通过寻找最优的超平面来实现对数据的分类。以下是一些常用的优化算法用于优化支持向量机: 1. 梯度下降法(Gradient Descent):梯度下降法是一种迭代的优化算法,通过计算损失函数于参数的梯度来更新参数,从而找到损失函数的最小值。在支持向量机中,可以使用梯度下降法来优化目标函数,如软间隔支持向量机中的目标函数。 2. 序列最小优化算法(Sequential Minimal Optimization,SMO):SMO算法是一种针对支持向量机的二次规划问题的优化算法。它通过选择两个变量进行优化,并固定其他变量,以此来求解支持向量机的对偶问题。SMO算法通过迭代选择变量并更新它们的值,直到满足停止条件为止。 3. 内点法(Interior Point Method):内点法是一种求解线性规划问题的优化算法,也可以用于求解支持向量机的优化问题。内点法通过在可行域内搜索最优解,而不是逐步逼近最优解。它通过引入罚函数和对偶变量来将原问题转化为等价的凸优化问题,并通过迭代求解该凸优化问题。 4. 遗传算法(Genetic Algorithm):遗传算法是一种模拟自然进化过程的优化算法。在支持向量机中,可以使用遗传算法来搜索最优的超平面参数。遗传算法通过选择、交叉和变异等操作来生成新的解,并通过适应度函数来评估解的质量,从而逐步优化解的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值