支持向量机(一)

       支持向量机(Support Vector Machines SVM)是一种二分类模型,它的目标是在特征空间中寻找对于所有样本距离最大的超平面。与感知机不同的是,在线性可分的情况下,SVM可以得到唯一的解。假设训练集样本为:\(T= \{(x_{1},y_{1}),(x_{2},y_{2}), ... ,(x_{N},y_{N}) \}\),其中\(x_{i} \in \mathbb R^{n}\)表示样本的属性,\(y_{i} \in \{ +1, -1\}\)表示样本的标签,\(i=1,2,...,N\)。设SVM所求的超平面为\(w \cdot x + b = 0\) 其中\(w \in \mathbb R^{n}\)\(b \in \mathbb R\),定义某个样本点\((x_{i}, y_{i})\)到超平面\(w \cdot x + b = 0\)的距离为:

\[d_{i} = \frac{y_{i}(w \cdot x_{i} + b)}{\parallel w \parallel} \]

令$d = \min d_{i} $, \(i=1,2,...,N\),则SVM的目标函数为:

\[\begin{cases} \\ \max \qquad d \\\\\\ \\ s.t. \qquad \frac{y_{i}(w \cdot x_{i} + b)}{\parallel w \parallel} \geq d \qquad i=1,2,...,N \end{cases}\]

令$ d = \frac{\hat d} {\parallel w \parallel}$,则上式可化为:

\[\begin{cases} \\ \max \qquad \frac{\hat d} {\parallel w \parallel} \\\\\\ \\ s.t. \qquad y_{i}(w \cdot x_{i} + b) \geq \hat d \qquad i=1,2,...,N \end{cases}\]

       由于超平面\(w \cdot x + b = 0\)可以对其参数进行任意大小的缩放,即对于任意的标量\(\lambda\),都有\(\lambda(w \cdot x)+ \lambda b = 0,hat d\)为一个标量,它的大小对于最终的参数求解并无影响,因此可以令\(\hat d = 1\)。并且\(\max \frac{1}{\parallel w \parallel}\)等价于\(\min \frac{1}{2}\parallel w \parallel^{2}\)。因此上式等价为:

\[\begin{cases} \\ \min \qquad \frac{1} {2}\parallel w\parallel^{2} \\\\\\ \\ s.t. \qquad y_{i}(w \cdot x_{i} + b) \geq 1 \qquad i=1,2,...,N \end{cases} \qquad (1)\]

       接下来可以通过拉格朗日对偶性,求解该问题的对偶问题,从而得到原始问题的最优解。引入拉格朗日因子\(\lambda _ {i} \geq 0, i=1,2,...,N\),则拉格朗日函数为:

\[L(w,b,\lambda) = \frac{1} {2}\parallel w\parallel^{2} + \sum_{i=1}^{N} \lambda _ {i}(1-y_{i}(w \cdot x_{i} + b)) \qquad (2) \]

由于\(\lambda _ {i} ( 1-y_{i}(w \cdot x_{i} + b)) \leq 0, i=1,2,...,N\),因此

\[\frac{1} {2}\parallel w \parallel^{2} \geq L(w,b,\lambda),等号成立的条件为:\sum_{i=1}^{N} \lambda _ {i}(1-y_{i}(w \cdot x_{i} + b)) = 0 \qquad (3) \]

所以(1)可以等价为:

\[\min\limits_{w,b} \max\limits_{\lambda} L(w,b,\lambda) \qquad (4) \]

根据拉格朗日对偶性,上述等式的对偶问题是极大极小问题:

\[\max\limits_{\lambda} \min\limits_{w,b} L(w,b,\lambda) \qquad (5) \]

对于上式,先求解\(\min\limits_{w,b} L(w,b,\lambda)\).首先对其关于\(w\)\(b\)分别求偏导,并令其为0:

\[\frac{\partial L}{\partial w} = w - \sum_{i=1}^{N} \lambda_{i}y_{i}x_{i}=0 \qquad \frac{\partial L}{\partial b} = - \sum_{i=1}^{N}\lambda_{i}y_{i}=0 \]

则:

\[w = \sum_{i=1}^{N} \lambda_{i}y_{i}x_{i} \qquad \sum_{i=1}^{N}\lambda_{i}y_{i}=0 \qquad (6) \]

将上述结果带入到拉格朗日函数可得:

\[L(w,b,\lambda) = - \frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}(x_{i} \cdot x_{j}) + \sum_{i=1}^{N} \lambda _{i} \qquad (7) \]

则(5)可以化为:

\[\begin{cases} \\ \max \qquad - \frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}(x_{i} \cdot x_{j}) + \sum_{i=1}^{N} \lambda _{i} \\\\ \\ s.t.\qquad \sum_{i=1}^{N}\lambda_{i}y_{i}=0 ,\qquad\lambda_{i} \geq 0 \qquad i=1,2,...,N \end{cases} \qquad (8)\]

       通过上式可以求出原始问题的对偶优化问题,求解该问题可以借用序列最小化算法(Sequential minimal optimization SMO)。使用对偶问题求解带来的一大好处是:在求解中只使用了原始样本属性的内积形式\(x_{i} \cdot x_{j}\),这为之后引入核函数提供了很大的便利。

       另外考虑(3)中的等号成立的条件,由此可知:

\[\begin{cases} \\ 当 y_{i}(w \cdot x_{i} + b) > 1 时,\lambda_{i} = 0\\\\ \\ 当 y_{i}(w \cdot x_{i} + b) = 1 时,\lambda_{i} \geq 0 \end{cases} \qquad (9)\]

因此只有样本\(i\)满足:\(y_{i}(w \cdot x_{i} + b) = 1\)时,该样本对于最终的结果才会有影响。这些样本处于边界位置,被称为 支持向量

       通过(8)可以解出\(\lambda_{i}(i=1,2,...,N)\)的值,然后将其带入(6)中,可以解出参数\(w\)的解。另外当\(\lambda_{j} > 0\)时,对应的样本点为支持向量,该点满足条件:\(y_{j}(w \cdot x_{j} + b) = 1\)。将参数\(w\)的解带入该条件中,可以得出参数\(b\)的解。因此最终的解形式为:

\[\begin{cases} \\ w = \sum_{i=1}^{N} \lambda_{i}y_{i}x_{i}\\\\ \\ b = y_{j} - \sum_{i=1}^{N} \lambda_{i}y_{i}(x_{i} \cdot x_{j}) \qquad \lambda_{j} > 0 \end{cases} \qquad (10)\]

 


1.参考文档:

       [1]. 统计学习方法              李航 著

posted on 2019-03-18 15:16  月光晒谷  阅读(144)  评论(0编辑  收藏  举报