支持向量机系列导航
如果数据线性可分但存在噪声,那么对硬间隔支持向量机的训练影响就很大,我们希望它能具有一定的包容能力,容忍那些放错的点(噪声),但又不能容忍过度。允许一点分类错误的SVM称为 软间隔支持向量机。
之前讲到的硬间隔支持向量机模型的优化函数如下:
$$ \begin{align*}\min_{w,b}&;; \frac 1 2 w^Tw \\text{s.t.}&;;; y_i(w^x_i + b )-1 \geq 0 \end{align*} $$
引入允许一点分类错误的情形后,优化函数转为:
$$ \begin{align*}\min_{w,b}&;; \frac 1 2 w^Tw + \text C ;loss\\text{s.t.}&;;; y_i(w^x_i + b )-1 \geq 0 \end{align*} $$
其中C为超参数,用来控制惩罚程度。loss为度量分类错误的损失函数。有以下两种:
- 0-1损失:对犯错误的点进行统计计数 $$ \text{loss} = \sum_{i=1}^nI{y_i(w^Tx_i + b)<1} $$ 令 z = y(w^Tx+b) ,则I(z) 函数图像如右,可见,关于$w$非连续可导。
- 距离来度量loss
综上,软间隔优化问题为:
$$ \begin{align*}\underset{w, b}{\operatorname{min}}&;;; \frac{1}{2} w^{T} w+C \sum_{i=1}^{N} \max \left{0,1-y_{i}\left(w^{T}x_{i}+b\right)\right} \ \text { s.t. }&;;; y_{i}\left(w^{T} x_{i}+b\right) \geq 1, i=1,2, \cdots, N\end{align*} $$
引入$\xi_i$, 令$\xi_i = 1-y_i(w^Tx_i+ b)$, 且 $\xi_i \geq 0$。则有
$$ \begin{align*}\underset{w, b}{\operatorname{min}}&;;; \frac{1}{2} w^{T} w+C\sum_{i=1}^N\xi_i \ \text { s.t. }&;;; y_{i}\left(w^{T} x_{i}+b\right) \geq 1-\xi_i, ;;i=1,2, \cdots, N \ &;;;\xi_i \geq0\end{align*} $$
这里$C$若越大,包容能力就越小,当取值很大时,就等价于硬间隔支持向量机,而ξ使得支持向量的间隔可以调整,不必像硬间隔那样严格等于$1$
注意,上述优化函数的约束与之前硬间隔SVM的区别:
- 首先是多了约束项 $\xi_i \geq 0$, 这是因为 $\xi_i$ 的定义引入的,为了消除目标函数里面的$\max$函数
- 其次是对数据点到超平面分割线的距离大于 $1-\xi_i$
