Skip to content
BaiRuic
Go back

线性支持向量机

支持向量机系列导航

如果数据线性可分但存在噪声,那么对硬间隔支持向量机的训练影响就很大,我们希望它能具有一定的包容能力,容忍那些放错的点(噪声),但又不能容忍过度。允许一点分类错误的SVM称为 软间隔支持向量机。

之前讲到的硬间隔支持向量机模型的优化函数如下:

min⁡w,b    12wTws.t.      yi(wix+b)−1≥0\begin{align*}\min_{w,b}&\;\; \frac 1 2 w^Tw \\\text{s.t.}&\;\;\; y_i(w^x_i + b )-1 \geq 0 \end{align*}

引入允许一点分类错误的情形后,优化函数转为:

min⁡w,b    12wTw+C  losss.t.      yi(wix+b)−1≥0\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损失:对犯错误的点进行统计计数
loss=∑i=1nI{yi(wTxi+b)<1}\text{loss} = \sum_{i=1}^nI\{y_i(w^Tx_i + b)<1\}

令 z = y(w^Tx+b) ,则I(z) 函数图像如右,可见,关于ww非连续可导。

0-1损失
  1. 距离来度量loss
合页损失

综上,软间隔优化问题为:

min⁡w,b      12wTw+C∑i=1Nmax⁡{0,1−yi(wTxi+b)} s.t.       yi(wTxi+b)≥1,i=1,2,⋯ ,N\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*}

引入ξi\xi_i, 令ξi=1−yi(wTxi+b)\xi_i = 1-y_i(w^Tx_i+ b), 且 ξi≥0\xi_i \geq 0。则有

min⁡w,b      12wTw+C∑i=1Nξi s.t.       yi(wTxi+b)≥1−ξi,    i=1,2,⋯ ,N      ξi≥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*}

这里CC若越大,包容能力就越小,当取值很大时,就等价于硬间隔支持向量机,而ξ使得支持向量的间隔可以调整,不必像硬间隔那样严格等于11

注意,上述优化函数的约束与之前硬间隔SVM的区别:

  • 首先是多了约束项 ξi≥0\xi_i \geq 0, 这是因为 ξi\xi_i 的定义引入的,为了消除目标函数里面的max⁡\max函数
  • 其次是对数据点到超平面分割线的距离大于 1−ξi1-\xi_i
支持向量机 - Untitled 10 支持向量机 - Untitled 11