大家好,又见面了,我是你们的朋友全栈君。
解释SMO算法比较好的文档
http://wenku.baidu.com/view/aeba21be960590c69ec3769e.html
参考博客:
http://myjuno.blogbus.com/logs/242581064.html
SMO算法
http://cs229.stanford.edu/materials/smo.pdf
外层循环(主程序smo)遍历非边界样本或所有样本:优先选择遍历非边界样本,因为非边界样本更有可能需要调整,而边界样本常常不能得到进一步调整而留在边界上(可以想象大部分样本都很明显不可能是支持向量,它们的Lagrange乘子一旦取得零值就无需再调整)。循环遍历非边界样本并选出它们当中违反KKT条件的样本进行调整,直到非边界样本全部满足KKT条件为止。当某一次遍历发现没有非边界样本得到调整时,就遍历所有样本,以检验是否整个集合也都满足KKT条件。如果在整个集合的检验中又有样本被进一步优化,就有必要再遍历非边界样本。这样,外层循环不停地在“遍历所有样本”和“遍历非边界样本”之间切换,直到整个训练集都满足KKT条件为止。
SMO算法首先更新界内乘子的原因:
原问题是凸函数,对偶问题一定是凹函数
转载于:https://www.cnblogs.com/wuxiangli/p/6269570.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162754.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...