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

超平面通过线性方程描述:\(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}
\]

如图,距离超平面最近的样本点可使上述不等式等号成立,其称为“支持向量”,两个异类支持向量到超平面距离之和为
\[
\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损失,指数损失,对率损失

支持向量回归
- 将支持向量的思想应用到回归问题上得到支持向量回归
- 特点:允许模型输出和实际输出间存在 \(2\epsilon\) 的偏差,落入中间 \(2\epsilon\) 间隔带的样本不计算损失,从而使得模型获得稀疏性
核方法
- 无论是支持向量机还是支持向量回归/ 学得的模型总可以表示成核函数的线性组合
- 表示定理(略)