线性支持向量机

现在我们考虑这样一个问题,我们有时候真的需要把这些样本点都分对吗?

在我们对样本点进行分类的时候并不要求所有的都分对,有一些太偏离的可以不考虑。因此不一定作线性可分SVM,只做线性SVM。若数据线性不可分,则增加松弛因子\xi \geq 0,使函数间隔加上松弛变量大于等于1。这样约束条件就变成了y_{i}(wx_{i}+b)\geq 1-\xi _{i}。所以我们可以把SVM看作是一个关于给定一个松弛因子作为我们的目标函数,只不过加了一个L2的正则项得到了目标函数:

                                                                    min(w,b)\frac{1}{2}\left \| w \right \|^{2}+C\sum_{i=1}^{n}\xi _{i}

现在我们考虑C取无穷大,即使\xi是一个非常小的数,它乘上C也非常大,那就不可能取最小值嘛。也就是说C非常大的时候就不能有惩罚,不能有错误,那也就是说C越小其实能够保证我们能够对错误能够更加容忍,就是能够保证我们这个过渡带更宽。

现在问一个问题,如果在做SVM的时候发现有过拟合的风险请问我是该调大C还是调小C呢?答案就是我如果想去使得模型有更好的泛化能力来防止过拟合那就让C尽量的小一点。

线性SVM只是在线性可分的基础上加上了一个\leqslant C的约束,如果C无穷大那不就相当于线性可分了,没什么意义了。

猜你喜欢

转载自blog.csdn.net/weixin_38241876/article/details/84886423