机器学习(1)--线性回归和多项式拟合
机器学习(2)逻辑回归 (数学推导及代码实现)
机器学习(3)softmax实现Fashion-MNIST分类
机器学习(4)多层感知机(MLP)
机器学习(5)支持向量机(SVM)模型推导
机器学习(6) 序列最小优化算法(SMO)求解向量机(SVM)模型
3. 序列最小优化算法(SMO)[1][2]
3.1 模型推导
对于二次规划问题可以使用二次规划算法来求解,但是当样本数量很高时会造成很大的开销,所以通常使用SMO算法进行求解,SMO算法的基本思路是每次随机选择两个变量
假设选区的优化参数是
由于
其中
优化函数变为:
上述优化函数只包含两个未知量,由约束条件
设
将上述三个条件带入
化简得:
将
令其为0,得到:
又
最开始时我们对原始的最优化函数求偏导得到
则:
前面我们已经设
又因为:
则:
化简得:
其中:
3.2 对原始解进行修剪
上面求出的最优
即:
约束使得

(1) 当
(2)当
经过修剪后
根据上述的方式求得
3.2 更新阈值
拉格朗日函数需要满足KTT条件
当
其中
又因为:
所以:
同理可得:
当
下一章将介绍具体的代码实现。
参考
- ^https://zhuanlan.zhihu.com/p/29212107
- ^统计学习方法-李航