Skip to content
BaiRuic's Blog
Go back

线性支持向量机

Updated:
支持向量机系列导航

如果数据线性可分但存在噪声,那么对硬间隔支持向量机的训练影响就很大,我们希望它能具有一定的包容能力,容忍那些放错的点(噪声),但又不能容忍过度。允许一点分类错误的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为度量分类错误的损失函数。有以下两种:

  1. 0-1损失:对犯错误的点进行统计计数 $$ \text{loss} = \sum_{i=1}^nI{y_i(w^Tx_i + b)<1} $$ 令 z = y(w^Tx+b) ,则I(z) 函数图像如右,可见,关于$w$非连续可导。
0-1损失
  1. 距离来度量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的区别:

支持向量机 - Untitled 10 支持向量机 - Untitled 11

Share this post:

Previous Post
线性可分支持向量机
Next Post
支持向量机的对偶算法