Skip to content

支持向量机

分类学习可看成基于训练集在样本空间中找到划分超平面,将不同类别样本分开

间隔与支持向量

alt text

超平面通过线性方程描述:\(w^Tx + b=0\)

  • \(w=(w_1;w_2;\dots;w_d)\)为法向量,决定超平面方向;
  • b为位移项,决定超平面和原点间距离

样本空间中点x到超平面 \((w,b)\) 的距离:

\(r=\frac{w^Tx+b}{\|w\|}\)

若超平面(w,b)可将训练样本正确分类, 即对于 \((x_i,y_i)\in D\),若\(y_i =+1\),则有 \(w^Tx_i+b>0\),若\(y_i=-1\),则 \(w^Tx_i+b<0\)

\[ \begin{cases} w^Tx_i+b\geq +1, y_i=+1 \\ w^Tx_i+b\leq -1, y_i=-1 \end{cases} \tag{1} \]

alt text

如图,距离超平面最近的样本点可使上述不等式等号成立,其称为“支持向量”,两个异类支持向量到超平面距离之和为

\[ \gamma = \frac{2}{\|w\|} \]

称为“间隔”(margin)。要找到最大间隔的划分超平面,也就是要找到能满足上(1)式约束的w,b,使\gamma最大,即

\[ \max_{w,b}\frac{2}{\|w\|} \]
\[ \text{s.t.} y_i(w^Tx_i+b)\geq 1, i=1,\dots,m \tag{2} \]

等价于最小化 \(\frac{1}{2}\|w\|^2\)

对偶问题

上面(2)式使用拉格朗日乘子法得到:

\[ L(w,b,\alpha) = \frac{1}{2}||{w}||^2+\sum_{i=1}^{m}\alpha_i(1-y_i(w^Tx_i+b)) \]

其中 \(\bf{\alpha}=(\alpha_1,\dots,\alpha_m)\). 令L对w, b的偏导为零代入上式得对偶问题:

\[ \text{max}_\alpha \sum_{i=1}^{m}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j \]
\[ s.t.\sum_{i=1}^m \alpha_iy_i=0, \alpha_i\geq 0, i=1,2,...,m \tag{3} \]

解出 \(\alpha\) 后,求出 w与b即可得到模型

\[ f(x)=w^Tx+b=\sum_{i=1}^{m}\alpha_i y_i x_i^Tx +b \]
  • (2)式有不等式约束,所以上述过程需要满足KKT条件。
  • 这显示SVM一个重要性质,稀疏性:训练完成后,大部分训练样本不需要保留,最终模型仅与支持向量有关。
  • 具体求解(3)式可以使用高效的SMO算法

核函数

  • 在现实任务中,原始样本空间内或许并不存在 个能正确划分两类样本的超平面,比如异或问题。
  • 将样本从原始空间映射(通过核映射 \(\phi(x)\))到一个更高维的特征空间, 使得样本在这个特征空间内线性可分.
  • 映射到高维特征空间后的对偶问题需要计算内积,这通常困难,设计如下核函数:
\[ \kappa(x_i, x_j)=\phi(x_i)^T\phi(x_j) \]
  • Mercer定理(充分非必要):只要一个对称函数所对应的核矩阵半正定,则它就能作为核函数来使用.

软间隔与正则化

  • 现实中, 很难确定合适的核函数使得训练样本在特征空间中线性可分; 同时一个线性可分的结果也难断定是否是有过拟合造成的
  • 以上方法假设数据线性可分,即存在一个超平面能将不同类的样本完全划分开(硬间隔)。软间隔允许某些样本不满足约束 \(y_i(w^Tx+b)\geq 1\),在最大化间隔的同时,不满足约束对的样本应尽可能少,于是优化目标中引入0/1损失函数。但是其性质不好,用替代损失来代替0/1损失
  • 常见替代损失函数:hinge损失,指数损失,对率损失

alt text

支持向量回归

  • 将支持向量的思想应用到回归问题上得到支持向量回归
  • 特点:允许模型输出和实际输出间存在 \(2\epsilon\) 的偏差,落入中间 \(2\epsilon\) 间隔带的样本不计算损失,从而使得模型获得稀疏性

核方法

  • 无论是支持向量机还是支持向量回归/ 学得的模型总可以表示成核函数的线性组合
  • 表示定理(略)

Comments