第六章 支持向量机
此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…
6.1 间隔与支持向量
-
超平面(w,b)
存在多个划分超平面将两类样本分开的情况
线性方程:wTx+b=0
-
w:法向量,决定超平面方向
-
b:位移项,决定超平面与原点之间的距离
样本空间中任意点到超平面的距离:r=∣∣w∣∣∣wTx+b∣
-
支持向量(super vector)
条件一:距离超平面最近的几个训练样本点
条件二:使得下方任一式子的等号成立
{wTxi+b≥+1,yi=+1wTxi+b≤−1,yi=−1

-
间隔(margin)
两个一类支持向量到超平面的距离直和:r=∣∣w∣∣2
-
最大间隔(maximum margin)
对应的划分超平面
maxw,b ∣∣w∣∣2
s.t. yi(wTxi+b)≥1,i=1,2,...m
支持向量机的基本型
minw,b 21∣∣w∣∣2
s.t. yi(wTxi+b)≥1,i=1,2,...m
上式就是凸二次规划问题
6.2 对偶问题
6.2.1 凸二次规划问题(convex quadratic programming)
6.2.2 对偶问题(dual problem)
-
更高效求解参数w和b的方法:拉格朗日乘子法
对SVM基本型式子的每条约束添加大于等于零的拉格朗日乘子,得到该问题的拉格朗日函数:
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))
令L(w,b,α)对w和b的偏导为零
w=i=1∑mα1yixi, 0=i=1∑mαiyi
将L(w,b,α)中的w和b消去,得到SVM基本型式子的对偶问题
maxαi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
s.t. i=1∑mαiyi=0, αi≥0,i=1,2,...m
-
KKT(Karush-Kuhn-Tucker)条件
⎩⎪⎨⎪⎧αi≥0;yif(xi)−1≥0;αi(yif(xi)−1)=0b
-
求解对偶问题中的α
思路:当做二次规划问题求解
算法
- 二次规划算法
缺点:问题的规模正比于训练样本数,开销大
- SMO(Sequential Minimal Optimization)算法
选取一对需更新的变量
固定这对变量以外的参数,求解对偶问题式中获得更新后的参数
不断执行,直到收敛
-
确定偏移项b
思路:使用所有支持向量求解的平均值
6.2.3 支持向量机的重要性质
训练完成后大部分的训练样本都不需保留,最终模型仅与支持向量有关
6.3 核函数
-
起初
对非线性可分问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分
如:异或问题与非线性映射

-
对偶问题
目标函数:maxα∑i=1mαi−21∑i=1m∑j=1mαiαjyiyjϕ(xi)Tϕ(xj)
限制条件:∑i=1mαiyi=0,αi≥0,i=1,2,...,m
困难性:由于特征空间维数可能很高,甚至无穷维,直接计算特征向量内积通常是困难的
进行函数变换:maxα∑i=1mαi−21∑i=1m∑j=1mαiαjyiyjK(xi,xj)
-
支持向量展式(support vector expansion)
模型最优解可通过训练样本的核函数展开
f(x)=wTϕ(x)+b=i=1∑mαiyiϕ(xi)Tϕ(x)+b=i=1∑mαiyiK(x,xi)+b
-
核函数定理
核矩阵(kernel matrix)K总是半正定的
只要一个对称函数所对应的核矩阵半正定,就能用作核函数
对于一个半正定矩阵,总能找到一个与之对应的映射
任何一个核函数都隐式地定义了一个称谓“再生核希尔伯特空间”(RKHS)的特征空间
-
常用的核函数
线性核:K(xi,xj)=xiTxj
多项式核(d=1退化为线性核):K(xi,xj)=(xiTxj)d
高斯核(RBF核):K(xi,xj)=exp(−2σ2∣∣xi−xj∣∣2)
拉普拉斯核:K(xi,xj)=exp(−σ∣∣xi−xj∣∣)
Sigmoid核:K(xi,xj)=tanh(βxiTxj+θ)
-
注意点
特征空间的好坏对支持向量机的性能至关重要
“核函数选择”成为支持向量机的最大变数
6.4 软间隔与正则化
-
硬间隔(hard margin):要求所有样本均满足约束,即所有样本都必须划分正确
- 软间隔(soft margin)
-

- 解决现实任务:很难确定合适的核函数使得训练样本在特征空间中线性可分
- 缓解的方法:允许支持向量机在一些样本上出错
允许某些样本不满足约束:yi(wTxi+b)≥1
不满足约束的样本应尽可能少
- 新的优化目标函数:minw.b 21∣∣w∣∣2+C∑i=12l0/1(yi(wTxi+b)−1)
-
替代损失(surrogate loss)
- 替代损失函数比0/1损失函数一般具有较好的数学性质
凸的连续函数
0/1损失函数的上界
- 常用的替代损失函数
hinge损失:lhinge(z)=max(0,1−z)
指数损失(exponential loss):lexp(z)=exp(−z)
对率损失(logistic loss):llog(z)=log(1+exp(−z))
-
松弛变量(slack variables)
新的目标函数:minw,b 21∣∣w∣∣2+C∑i=1mξi
限制条件:yi(wTxi+b)≥1−ξi, ξi≥0,i=1,2,...m
-
正则化(regularization)
- 各种替代损失函数学习模型的共性:minfΩ(f)+C∑i=1ml(f(xi),yi)
- 结构风险(structural risk):优化目标中的第一项用来描述划分超平面的“间隔”大小
- 经验风险(empirical risk):另一项用来表述训练集上的误差
- C用于对二者进行折中
- 可理解为一种“罚函数法”:对不希望得到的结果施以惩罚,从而使得优化过程中趋向于希望目标
- 正则化问题
- Ω(f):正则化项(Lp范数是常用的正则化项)
- Lo范数||w||o
- L1范数||w||1倾向于w的分量尽量稀疏,即非零分量个数尽量少
- L2范数||w||2倾向于w的分量尽量取值均衡,即非零分量个数尽量稠密
- C:正则化常数
6.5 支持向量回归
ε-间隔带:容忍f(x)与y之间最多有ε的偏差(认为此带中的预测正确)

SVR问题形式:minw.b 21∣∣w∣∣2+C∑i=1mlε(f(xi)−yi)
ε-不敏感损失函数
1)表达式
{0, if ∣z∣≤ε∣z∣−ε,otherwise
2)图像

SVR式子重写(间隔带两次的松弛程度可以不同,引入两个松弛变量)
引入拉格朗日乘子、偏导为零、对偶问题、KKT条件、求解w和b,特征映射、核函数
6.6 核方法
- 表示定理(representer theorem)
- 核函数的巨大威力
表示定理对损失函数没有限制
对正则化项Ω仅要求单调递增,不要求是凸函数
- 核方法定义:基于核函数的学习方法
- 核方法的常见用法:通过“核化”(引入核函数)将线性学习器拓展为非线性学习器
核线性判别分析(Kernelized Linear Discriminant Analysis, KLDA)