AI
菌
在SVM的前两篇里,我们优化的目标函数最终都是一个关于α向量的函数。
而怎么极小化这个函数,求出对应的α向量,进而求出分离超平面我们没有讲。
本篇就对优化这个关于α向量的函数的SMO算法做一个总结。
1. 回顾SVM优化目标函数
我们首先回顾下我们的优化目标函数:
我们的解要满足的KKT条件的对偶互补条件为:
根据这个KKT条件的对偶互补条件,我们有:
由于
,我们令
则有:
SMO算法的基本思想
由于在目标优化问题中,变量是拉格朗日乘子α i,一个变量 对应于一个样本点(x i,y i) ,且变量的总数等于训练样本容量 m
要解决的是在参数
上求最大值W的问题,这m个变量组成的向量α需要在目标函数极小化的时候求出。
至于
和
都是已知数。C由我们预先设定,也是已知数
按照坐标上升的思路,我们首先固定除 α1 以外的所有参数,然后在 α1上求极值
等一下,这个思路有问题,因为如果固定以外的所有参数,那么将不再是变量(可以由其他值推出),因为问题中规定了:
因此,我们需要一次选取两个参数做优化,比如 α1 和 α2,此时 α2 可以由 α1 和其他参数表示出来。这样回带到W中,W就只是关于的函数了,可解。
故SMO