在支持向量机模型的求解中,我们用到了SMO算法来求解向量α。那么什么是SMO算法?在讲SMO算法之前,我们需要先了解以下坐标上升法。
1、坐标上升法
假设有优化问题:
算法的思想为:每次只考虑一个变量进行优化,将其他变量固定。这时整个函数可以看作只关于该变量的函数,可以对其直接求导计算。然后继续求其他分变量的值,整个内循环下来就得到了α的一组值,若该组值满足条件,即为我们求的值,否则继续迭代计算直至收敛。一个示意图如下:
如图为一个二次椭圆曲线的等高线,变量维数为2,初始值在点(2,-2),可见其优化路径为折线式前进,因为算法每次只在一个方向上对函数进行优化。
2、SMO算法
在讲支持向量机求目标函数最优时,通过求解对偶问题转换为求解目标函数对α的极大值,如下: