Matlab中的SVM:函数fitcsvm中参数'框约束'的含义

cah*_*ilx 11 matlab machine-learning svm

我是Matlab中SVM的新手,需要一些帮助.

我想使用统计工具箱的内置函数fitcsvm来训练支持向量机.当然,有许多参数选择可以控制SVM的训练方式.

Matlab帮助是关于参数如何存档更好的训练结果的小工资.特别是参数'Box Contraint'似乎对所选支持向量的数量和泛化质量有重要影响.

帮助(http://de.mathworks.com/help/stats/fitcsvm.html#bt8v_z4-1)说

控制对违反边际的观察所施加的最大惩罚的参数,并有助于防止过度拟合(正则化).

如果增加框约束,则SVM分类器会分配较少的支持向量.但是,增加框约束可能会导致更长的训练时间.

这个参数究竟是如何使用的?维基百科参考文献中的软边际系数C是相同还是类似?还是完全不同的东西?

谢谢你的帮助.

hba*_*rts 15

你肯定是在正确的道路上.虽然fitcsvm(正如您在问题中发布的)文档中的描述非常简短,但您应该查看MATLAB文档中的了解支持向量机站点.

在不可分离的情况下(通常称为软边际SVM),可以以惩罚因子为代价进行错误分类C.然后,SVM的数学公式变为:

SVM最小化问题

使用松弛变量s_i导致惩罚项加权C.使C大的重量增加错误分类,这导致更严格的分离.该因子C称为框约束.这个名称的原因是,在双优化问题的公式中,Langrange乘数被限制在该范围内[0,C]. C因此对拉格朗日乘数构成了一个盒子约束.

tl; dr你的猜测是正确的,它是C在软边缘SVM.