svm惩罚因子c的理解

知乎用户@顾凌峰

使用的hinge损失函数来表示对于样本的分类偏差,引入松弛变量把优化问题写为:


\begin{align} \mathop {\min }\limits_{{\bf{w}},b,{\bf{\xi }}}& \quad \frac{1}{2}{\left\| \bf{w} \right\|^2} + C\sum\limits_{i = 1}^n {{\xi _i}} \\ s.t. & \quad {y_i}\left( {{{\bf{w}}^T}{{\bf{x}}_i} + b} \right) \ge 1 - {\xi _i} \\ & \quad {\xi _i} \ge 0 \\ & \quad i = 1,2, \ldots ,N \end{align}

这里的就是对于第个样本点的分类损失,如果分类正确则是0,如果分类有所偏差则对应一个线性的值,是总误差,我们优化的目标当然是这个值越小越好,越小代表对训练集的分类越精准。目标函数中的另一项(常数1/2是为了方便求导加上去的)的最小化的优化方向则是使间隔大小最大。

原则上C可以根据需要选择所有大于0的数。C越大表示整个优化过程中对于总误差的关注程度越高,对于减小误差的要求越高,甚至不惜使间隔减小。

  • 当C趋于无穷大时,这个问题也就是不允许出现分类误差的样本存在,那这就是一个hard-margin SVM问题
  • 当C趋于0时,我们不再关注分类是否正确,只要求间隔越大越好,那么我们将无法得到有意义的解且算法不会收敛

作者:顾凌峰
链接:https://www.zhihu.com/question/40217487/answer/85530960
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

参考:https://www.zhihu.com/question/40217487?sort=created

 

从优化的角度:

我们只关注原问题,因为原问题比对偶问题更直观一些。并且把约束条件直接放到目标函数中,即
,
这里的是一个损失函数loss function,表示不满足hard margin时造成的损失,最常见的就是hinge loss,即

C>0可以认为是一个罚参数,表示对后面一项的惩罚程度。理解这种问题的一个通用思路就是试试看在极端值会发生什么。
当C=0时,直接忽略,也就是说不论分离超平面位置在哪里,都不会对目标函数造成损失,问题就变为,那么他的解就是。
当C=inf(无穷大)时,损失函数即使只增加一点点,都会导致目标函数值变为正无穷,也就硬性要求,此时问题等价于hard margin,如果线性不可分,也就无可行解了。如果不这么极端,C只是充分大,那么就要求loss function尽可能的小,即尽最大可能满足hard margin约束,这就会导致过拟合。
作者:Zhang Yao
链接:https://www.zhihu.com/question/40217487/answer/93344182
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

C是调节间隔与准确率的因子,C值越大,越不愿放弃那些离群点;c值越小,越不重视那些离群点。

当C趋于无穷大时,这个问题也就是不允许出现分类误差的样本存在,那这就是一个hard-margin SVM问题(过拟合)

当C趋于0时,我们不再关注分类是否正确,只要求间隔越大越好,那么我们将无法得到有意义的解且算法不会收敛。(欠拟合)

你可能感兴趣的:(机器学习)