机器学习:支持向量机4
本文来自同步博客。
前面介绍的SVM
,无论是线性可分还是非线性可分,称为Hard Margin SVM
,都要求对输入数据进行精确划分。我们不难想到这类SVM
存在过拟合这个问题。如果输入数据本身就存在误差,精确划分反而是没意义的。本篇文章就如何处理过拟合问题,介绍即所谓的Soft Margin SVM
。
数学推导
引入衡量误差的变量 -\xi\_i-−ξ_i−。-\xi\_i-−ξ_i−表示不能被正确分类的样本点距离正确一侧边界的距离,距离越大表示错误越大,即-\xi\_i-−ξ_i−越大。如果样本点能被正确分类,则-\xi\_i = 0-−ξ_i=0−。故有-\xi\_i \ge 0-−ξ_i≥0−。
那么,原来能通过求解函数-\frac{1}{2}\vec{w}^{2}-−21w
可以如下构造函数来描述误差:
\frac{1}{2}\vec{w}^{2} + C\sum_{i}^{n}{\xi\_i}21w
这个函数把所有输入数据的误差叠加在一起,即-\sum_{i}^{n}{\xi\_i}-−∑inξ_i−。然后用参数C来控制所有误差的权重。如果C很大,表示即使有很小的误差出现都会严重影响目标函数。
结合之前文章提到的知识,可以构造拉格朗日方程:
L(\vec{w}, b, \vec{\xi}, \vec{\alpha}, \vec{\beta}) = \frac{1}{2}\vec{w}^{T}\vec{w} + C\sum_{i}^{n}{\xi\_i} - \sum\_{i}^{n}{\alpha\_i[y\_i(\vec{w}^{T}\vec{x\_i}+b)-1+\xi\_i]} - \sum\_{i}^{n}\beta\_i\xi\_iL(w