1、sequential minimal optimization
SMO是Platt1988年在《Sequential Minimal Optimization:A Fast Algorithm for Training Support Vector Machines》中提出的
SMO一次只优化两个变量。如何选择每次优化的两个变量也是一个技巧,常用的方法包括随机选择两个变量,也可以选择一个不满足约束的变量,另一个变量随机选择,或者选择两个都不满足约束的变量
这里一次只优化和,而不是所有的α。这时约束可以重写为
这时就可以用二次规划来进行求解了
2、stochastic gradient descent
考虑SVM的原始问题
将他写成一个包含hinge loss的形式
hinge loss描述的就是间隔约束margin constraint被破坏的程度,如果1大于 ,间隔约束就会被破坏,hinge就会产生一个惩罚,反之,hinge输出则为0,没有惩罚,这里和只是用于缩放。
这种写法也可以移除松弛变量的约束,这使得可以对目标函数求梯度(次梯度,sub-gradient)
当点正好落在满足间隔条件和不满足间隔条件之间的交点上,hinge loss在此处不可微,你可以选择令此处导数为0,或者等于hinge一侧的导数,这两种选择都可以用在次梯度下降优化中
当从所有下标里以均匀分布随机采样时,这个方程的形式等价于hinge函数的期望
总的来说,SMO和SGD都是每次只使用一个或两个样本来进行计算,这样可以提高计算速度
SVM的其他优化方法还包括cutting-plane,这种方法只找到支持向量而不是所有样本
以上整理所用资料均来自于:https://www.bilibili.com/video/av75953274