smo算法matlab实现
Posted holy_black_cat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了smo算法matlab实现相关的知识,希望对你有一定的参考价值。
看完CSDN上结构之法,算法之道的支持向量机通俗导论(理解SVM的三层境界)
2. my_svm.m 与my_svmtrain.m 是两个与此作业相关的文件;
3. 请尝试设计一个序列最优化函数,替代原函数自带的seqminopt函数。my_svmtrain.m中对应的代码部分如下:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[alpha bias] = seqminopt(training, groupIndex, ...
boxconstraint, tmp_kfun, smo_opts);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
”
这个函数就是SMO算法源码。函数第一个输入参数的意义依次是分类数据,分类label,参数b(bias),核函数和smo参数(包括tol,MaxIter)。
要SMO算法,必须知道算法的流程,简单来说就是个二次规划问题。
for i=1:iter
a. 根据预先设定的规则,从所有样本中选出两个
b. 保持其他拉格朗日乘子不变,更新所选样本对应的拉格朗日乘子
end
下面解这个只有两个变量的二次规划问题:
以上是关于smo算法matlab实现的主要内容,如果未能解决你的问题,请参考以下文章
毕业设计/matlab系列基于Matlab的立体视觉匹配算法实现
焊缝边缘检测算法对比分析与MATLAB实现matlab优化算法二