SVM——针对线性可分(下)
作者:互联网
一、SMO算法
我们回顾一下上一篇文章推出来的公式:
为了和代码对应,我们替换了一下字母。。。
上述式子是一个二次规划问题,我们选用SMO算法来解决。
1.SMO的基本思路
(1)先固定除λi之外的所有参数,然后求λi上的极值
由于存在约束条件,不可以只固定一个,所以我们选择一对需要更新的两个变量αi和αj
(2)固定αi和αj以外的参数,求解总式获得更新后的αi和αj
不断执行上述两个步骤直至收敛
这样把原始问题的求解 n个参数二次规划问题分解成多个二次规划问题求解,每个子问题只需要求解2个参数,节省了时间成本和内存需求。
2.算法原理
(1)获得没有修剪的原始解
假设我们选取的两个需要优化的参数α1和α2,剩下的α3,α4,……,αn则固定,作为常数处理
将SVM优化问题展开可得:
将<xi,xj>内积定义为Ki,j,将要优化的公式定义为T,将与α1,α2无关的项合并为常数C
于是目标函数就被我们转换为一个二元函数的优化问题:
方法是更新迭代。
(2)对原始解进行修剪
(3)更新阈值b
标签:问题,SVM,求解,更新,SMO,针对,参数,线性,优化 来源: https://www.cnblogs.com/hm0419/p/16176652.html