先写出一个转化对偶问题的一般性结论
原问题:
转化为的对偶问题是:
其中a,b是根据原问题的限制条件产生的新的变量。
原问题:
即:
注意这里待求参数是w,xi,b。
转化为的对偶问题是:
注意这里实际只有a,b其实还是a只是为了区别不同的限制条件。
先求xita(a,b),分别对w,xi,b求偏导,再代回,得
这样的方程求解就比较容易了,书上说用SMO算法。得到所有的a;
大学课上编程实现的好像是梯度下降。。。
对于支持向量机的优化模型来说,原问题与对偶问题同解所以可以这么做,即minf(x)=max xita(a,b)。
1、按正常的逻辑来说,根据得到的a,可以带入求得w,b;从而得到超平面,可以带入判断yi是否大于0进行判别。计算方法如下,直接截图了,公式实在打不动了。
w:
b:
2、但考虑到用核函数时,具体的fa(x)时不知道的,只能得到fa(x1)*fa(x2)=K(x1,x2)这样的结果,所以我们计算不出来W,但可以通过计算w*x来规避这样的问题。
w:
最后总结下SVM具体的流程,因为其中很多证明的步骤在运用时时不需要的,这样剩下的就不多了。
第一步:直接求解之前得到的对偶问题就行了 ,得到a。
第二步,计算得到超平面的偏移量b。
第三步,基于判别条件,带入y(wfa(x)+b)计算得到判别结果。
收官,公式实在太难打了。证明的部分有些我还不是特别理解就没写了,KKT条件那个略懂。
主要参考浙大机器学习那个。