支持向量机(SVM)


基本型

用一个超平面去分割空间中的点,任意点x到超平面的距离可表示为:

\[r = \frac{|\textbf{w}^T\textbf{x}+b|}{||\textbf w||} \]

为了把正负样本分开,引入两个支持平面,使正负样本在两个支持平面两侧,定义线性映射后的表达式为

\[\begin{cases} \textbf{w}^T\textbf{x}+b \geq +1, & & y=+1 \\ \textbf{w}^T\textbf{x}+b \leq -1, & & y=-1 \\ \end{cases} \ \ \ \ \to \ \ \ \ y(\textbf{w}^T\textbf{x}+b)\geq1 \]

表达式中,两支持平面之间的距离为

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

这样就能得到支持向量机的基本型

\[\max \limits_{\textbf{w},b} \frac{2}{||\textbf{w}||} \ \ \ \ \to \ \ \ \ \min \limits_{\textbf{w},b} \frac 12 {||\textbf{w}||}^2 \\ s.t.\ \ y_i(\textbf{w}^T\textbf{x}_i+b) \geq 1 , \ \ \ \ i= 1,2,...m \]


拉格朗日乘子法-不等式约束

给定如下不等式,并使用拉格朗日乘子

\[\min \limits_{x} f(x), \ \ \ \ s. t. \ g(x) \leq0 \\ \]

现在考虑

  • 如果解在 g(x)=0 边界上,那么约束有效果
  • 如果解在 g(x)<0 内部,那么这个约束没有任何作用
  • f(x) 梯度与 g(x) 梯度是反向

因此,如论如何,都有

\[\lambda g(x)=0, \ \ \lambda \geq 0 \]

于是可用等式约束的方法

\[L = f(x)+\lambda g(x) \]


对偶问题

使用拉格朗日乘子法,得到

\[L = \frac 12 {||\textbf{w}||}^2 +\sum_{i=1}^m \alpha_i(1-y_i(\textbf{w}^T\textbf{x}_i+b))\\ \frac{\partial L}{\partial \textbf{w}} = 0 \ \ \to \ \ \textbf{w}=\sum_{i=1}^m\alpha_iy_i\textbf{x}_i \\ \frac{\partial L}{\partial b} = 0 \ \ \to \ \ \sum_{i=1}^m\alpha_iy_i = 0 \]

消去参数w和b,转换成对偶问题

\[\max \limits_{\alpha} \sum_{i=1}^m\alpha_i-\frac 12 \sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\textbf{x}_i^T\textbf{x}_j\\ s.t. \ \sum_{i=1}^m\alpha_iy_i = 0 \\ f(\textbf{x}) = \textbf{w}^T\textbf{x}+b= \sum_{i=1}^m\alpha_iy_i\textbf{x}_i^T\textbf{x}+b\\ \]

需要满足的条件(KKT)

\[\begin{cases} \alpha_i \geq 0 \\ y_i f(x_i)-1 \geq 0 \\ \alpha_i(y_if(x_i)-1)=0 \end{cases} \]


SMO优化

可以选择一个a_i然后固定其它并优化a_i,但是由于约束条件限制,因此每次选择a_i和a_j固定其它并优化它们。

  • 选择违背KKT的条件最大的为第一个变量(如果全部满足条件即收敛)
  • 选择与第一个变量差别最大的为第二个变量

由约束条件可消去一个变量

\[\alpha_iy_i+\alpha_jy_j=-\sum_{k\neq i,j} \alpha_ky_k, \ \ \ \ \alpha_{i,j} \geq0 \]


确定偏移项

对于任意支持向量,满足

\[y_i(\textbf{w}^T\textbf{x}_i+b)=1 \]

因此,用所有支持向量的平均情况计算偏移

\[b=\frac 1{|S|}\sum_{s\in S}(\frac 1{y_s}-\sum_{i\in S}\alpha_iy_i\textbf{x}^T_i\textbf{x}_s) \]


软间隔

由于无法保证所用要本满足约束

\[y_i(\textbf{w}^T\textbf{x}_i+b) \geq1 \]

因此会使用一个单调递减且恒非负的映射函数l(x)加到损失函数中

\[\min \limits_{\textbf{w},b} \frac 12 {||\textbf{w}||}^2 \ \ \ \ \to \ \ \ \ \min \limits_{\textbf{w},b} \frac 12 {||\textbf{w}||}^2 +C\sum_{i=1}^ml(y_i(\textbf{w}^T\textbf{x}_i+b)-1), \ \ C\geq0 \]

当C为无限大时,迫使样本满足约束,否则允许一些不满足约束,一般l(x)取hinge损失

\[\min \limits_{\textbf{w},b} \frac 12 {||\textbf{w}||}^2 +C\sum_{i=1}^mmax(0, 1-y_i(\textbf{w}^T\textbf{x}_i+b)), \ \ C\geq0 \]

如果引入松弛变量,则又可以表示为以下形式

\[\min \limits_{\textbf{w},b,\xi} \frac 12 {||\textbf{w}||}^2 +C\sum_{i=1}^m\xi_i \\ s.t. \ \ y_i(\textbf{w}^T\textbf{x}_i+b) \geq1-\xi_i, \ \ \xi_i\geq0 \]

每一个样本对应一个松弛变量,应用拉格朗日乘子

\[L = \frac 12 {||\textbf{w}||}^2+C\sum_{i=1}^m\xi_i +\sum_{i=1}^m \alpha_i(1-\xi_i-y_i(\textbf{w}^T\textbf{x}_i+b))- \sum_{i=1}^m\mu_i\xi_i \\ \frac{\partial L}{\partial \textbf{w}} = 0 \ \ \to \ \ \textbf{w}=\sum_{i=1}^m\alpha_iy_i\textbf{x}_i \\ \frac{\partial L}{\partial b} = 0 \ \ \to \ \ \sum_{i=1}^m\alpha_iy_i = 0 \\ \frac{\partial L}{\partial \xi_i} = 0 \ \ \to \ \ C = \alpha_i+\mu_i \]

转化成对偶问题

\[\max \limits_{\alpha} \sum_{i=1}^m\alpha_i-\frac 12 \sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\textbf{x}_i^T\textbf{x}_j\\ s.t. \ \sum_{i=1}^m\alpha_iy_i = 0, \ \ \ \ 0\leq \alpha_i\leq C \\ f(\textbf{x}) = \textbf{w}^T\textbf{x}+b= \sum_{i=1}^m\alpha_iy_i\textbf{x}_i^T\textbf{x}+b\\ \]

软间隔KKT条件

\[\begin{cases} \alpha_i \geq 0, \ \ \ \ \mu_i \geq0 \\ y_i f(x_i)-1+\xi_i \geq 0 \\ \alpha_i(y_if(x_i)-1+\xi_i)=0 \\ \xi_i\geq0,\ \ \ \ \mu_i\xi_i=0 \end{cases} \]


核函数

为了解决非线性分类问题,使用核函数映射样本空间

\[\max \limits_{\alpha} \sum_{i=1}^m\alpha_i-\frac 12 \sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\phi(\textbf{x}_i)^T\phi(\textbf{x}_j)\\ s.t. \ \sum_{i=1}^m\alpha_iy_i = 0, \ \ \ \ 0\leq \alpha_i\leq C \\ \]

其中核函数有

\[\phi(x_i)^T\phi(x_j) = k(x_i, x_j) = \begin{cases} x_i^Tx_j, \ \ \ \ 线性核 \\ (x_i^Tx_j)^d, \ \ \ \ 多项式核 \\ e^{-\frac{||x_i-x_j||^2}{2\sigma^2}}, \ \ \ \ 高斯核 \\ e^{-\frac{||x_i-x_j||}{\sigma}}, \ \ \ \ 拉普拉斯核 \\ \end{cases} \]

posted @ 2020-05-08 11:06  xytpai  阅读(226)  评论(0编辑  收藏  举报