SVM

svm 解决的是分类问题,目的是在一个数据集中,找到一个超平面,能将数据集正确的分类

svm 三个重要的东西:间隔、对偶、核函数

最大间隔分类器

假设数据集(data):\(\{x_i, y_i\}_{i = 1}^{N}\quad x_i\in R^p、y_i \in \{+1, -1\}\)

SVM-支持向量机_约束条件

并且我们设超平面为 \(y = \omega x + b\) (黑色部分为超平面)

最大间隔分类器的目的是找到一个超平面,使得这个超平面能正确分类的同时并且到样本点的最小距离最大

\[\begin{cases}max \quad margin(w, b)\\ s.t x_i \omega + b > 0 \quad y_i = +1 \\ x_i \omega + b < 0 \quad y_i = -1 \end{cases} \]

我们对约束条件进行整理得:

\[\begin{cases}max \quad margin(w, b)\\ s.t \quad y_i(x_i \omega + b) > 0 \end{cases} \]

如何定义间隔 ​​margin​​, 也就是点到面距离

\[margin = min_{w, b, x_i} \frac{1}{||\omega||}|\omega x_i + b|\]

根据约束条件都是大于 \(0\),对上式去掉绝对值后整理得:

\[\begin{cases}max_{w, b,} min_{x_i} \frac{1}{||\omega||}y_i(\omega x_i + b)\\ s.t \quad y_i(x_i \omega + b) > 0 \end{cases} \]

将 \(\omega\) 提到前面:

\[\begin{cases}max_{w, b,} \frac{1}{||\omega||} min_{x_i} y_i(\omega x_i + b)\\ s.t \quad y_i(x_i \omega + b) > 0 \end{cases} \]

假设:

\[\exists \gamma > 0 \quad min ( y_i(\omega x_i + b)) = \gamma\]

令 \(\gamma = 1\):

\[\begin{cases}max_{w, b,} \frac{1}{||\omega||} \\ s.t \quad min( y_i(\omega x_i + b)) = 1 \\ \end{cases} \]

将 \(min\) 去掉后进行变换得:

\[\begin{cases}min_{w, b,} \frac{1}{2}{\omega}^T\omega \\ s.t \quad y_i(\omega x_i + b) ≥ 1 \\ \end{cases} \]

最大间隔分类器变成凸二次规划问题。

将 \(-1\) 进行移项后得:

\[\begin{cases}min_{w, b,} \frac{1}{2}{\omega}^T\omega \\ s.t \quad 1 - y_i(\omega x_i + b) ≤ 0 \\ \end{cases} \]

引入拉格朗日乘子:

\[L(\omega, b, \lambda) = \frac{1}{2}{\omega}^T\omega + \sum_{i = 1}^n {\lambda_i(1 - y_i(\omega^Tx_i + b))}\]

则将带有约束的不等式转化为无约束不等式:

\[\begin{cases}min_{w, b}max_{\lambda} L(\omega, b, \lambda)\\ s.t.\quad \lambda_i≥0 \end{cases} \]

由对偶关系:

\[\begin{cases}max_{\lambda}min_{w, b} L(\omega, b, \lambda)\\ s.t.\quad \lambda_i≥0 \end{cases} \]

我们求 \(min_{w,b}L(\omega,b,\lambda)\) 时候首先对 \(b\) 求偏导:

\[\frac{\partial L}{\partial b} = \frac{\partial}{\partial b}[\sum_{i = 1}^N \lambda_i y_i(\omega^Tx_i + b)]\\ = \frac{\partial}{\partial b}[-\sum_{i = 1}^N \lambda_i y_ib] \\ = - \sum_{i = 1} ^ N \lambda_i y_i \]

使结果恒等于 \(0\) , 带入原式:

\[L(\omega, b, \lambda) = \frac{1}{2}\omega^T\omega + \sum_{i = 1}^N\lambda_i - \sum_{i = 1}^N \lambda_iy_i(\omega^Tx_i+b)\\ = \frac{1}{2}\omega^T\omega + \sum_{i = 1}^N\lambda_i - \sum_{i = 1}^N \lambda_iy_i\omega^Tx_i -\sum_{i = 1}^N \lambda_iy_ib \\ = \frac{1}{2}\omega^T\omega + \sum_{i = 1}^N\lambda_i - \sum_{i = 1}^N \lambda_iy_i\omega^Tx_i \]

在对 \(\omega\) 求偏导:

\[\frac{\partial L}{\partial \omega} = \frac{1}{2} · 2 ·\omega - \sum_{i = 1}^N\lambda_i y_i x_i\]

使结果等于0,求得 \(\omega\):

\[\omega = \sum_{i = 1}^N \lambda_iy_ix_i\]

那么原式等于:

\[L(\omega, b, \lambda) = - \frac{1}{2} \sum_{i = 1} ^ N \sum_{j = 1} ^ N {\lambda_i \lambda_j y_i y_jx_i^Tx_j} + \sum_{i = 1}^N \lambda_i\]

最终不等式为:

\[\begin{cases}max_{\lambda}- \frac{1}{2} \sum_{i = 1} ^ N \sum_{j = 1} ^ N {\lambda_i \lambda_j y_i y_jx_i^Tx_j} + \sum_{i = 1}^N \lambda_i\\ s.t.\quad \lambda_i≥0 、 \sum_{i = 1}^N \lambda_iy_i = 0 \end{cases} \]

最大化转换程最小化:

\[\begin{cases}min_{\lambda} \frac{1}{2} \sum_{i = 1} ^ N \sum_{j = 1} ^ N {\lambda_i \lambda_j y_i y_jx_i^Tx_j} - \sum_{i = 1}^N \lambda_i\\ s.t.\quad \lambda_i≥0 、 \sum_{i = 1}^N \lambda_iy_i = 0 \end{cases} \]

由原问题与对偶问题具有强对偶关系,则满足 \(KKT\) 条件:

\[\begin{cases}\\frac{\partial L}{\partial \omega} = 0,\frac{\partial L}{\partial b} = 0, \frac{\partial L}{\partial \lambda} = 0 \\ \lambda_i(1 - y_i( \omega^T x_k + b)) = 1\\ \lambda_i ≥ 0\\ 1 - y_i(\omega_Tx_i + b) ≤ 0 \end{cases} \]

求出 \(\omega ^ *、b^*\):

\[\omega^* = \sum_{i = 1}^ N \lambda_i y_i x_i \\\exists \quad (x_k, y_k) s.t. \quad 1 - y_k(\omega^Tx_k + b) = 0 \\ y_k(w^Tx_k + b) = 1\\ y_k ^ 2(\omega^Tx_k + b) = y_k\\ b^* = y_k - \omega_Tx_k = y_k - \sum_{i = 1} ^ N \lambda_i y_i x_i ^ T x _k \]

那么最终的超平面:

\[f(x) = sign((\omega^{*})^Tx + b^*)\]

此时的 \(\omega^*\)是 ​​data​​ 的线性组合