本文接上一篇博客,上一篇博客写到如何计算b,因为
所以,b可由下式求得
又由E的定义(SMO第一小节中),将E的定义与上式进行合并得:
因为固定了前两项,从i=3到m这个值不变,可以用更新前的只进行替换,替换后如下:
同理,可得:
(2)变量的选择方法
对于第一个变量,一般叫做外层循环,我们采用循环遍历的方法。第二个变量,一般叫做内存循环,我们一般选择使变量有足够大的变化的变量,具体实现可以看我之后的实践篇。
5、核技巧
简单的来讲,就是将非线性分类问题转化为线性分类问题,通过将低维空间转化到高维空间,具体实现采用核函数实现,对于本文的核函数在实际中是通过样本空间数据的内积计算得到,公式如下:
最终,得到的分类函数如下,这个函数也是我们实际进行分类时用到的函数。
上式中Ns指的是支持向量组成的核函数,而不是所有的数据,这样SVM做分类时只用到少数的样本数据就可以做到分类了,是不是很强大。