SVM
svm 解决的是分类问题,目的是在一个数据集中,找到一个超平面,能将数据集正确的分类
svm 三个重要的东西:间隔、对偶、核函数
最大间隔分类器
假设数据集(data):\(\{x_i, y_i\}_{i = 1}^{N}\quad x_i\in R^p、y_i \in \{+1, -1\}\)
并且我们设超平面为 \(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
的线性组合