支持向量机
笔记摘要
- SVM的基本模型是定义在特征空间上的间隔最大的线性分类器
- 线性可分支持向量机和线性支持向量机假设输入空间和特征空间的元素一一对应,并将输入空间中的输入映射为特征空间的特征向量;非线性支持向量机利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量
- 支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数最小化问题
- 仿射变换是保凸变换
- 通过使用核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机
函数间隔
- 对于给定数据集
T和超平面
(w,b),定义超平面
(w,b)关于样本点
(xi,yi)的函数间隔为
γ^i=yi(w⋅xi+b)
- 定义超平面
(w,b)关于训练数据集
T的函数间隔为超平面
(w,b)关于
T中所有样本点
(xi,yi)的函数间隔之最小值,即
γ^=i=1,⋯,Nminγ^i
- 函数间隔可以表示分类预测的正确性及确信度
几何间隔
- 对于给定数据集
T和超平面
(w,b),定义超平面
(w,b)关于样本点
(xi,yi)的几何间隔为
γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)
- 定义超平面
(w,b)关于训练数据集
T的函数间隔为超平面
(w,b)关于
T中所有样本点
(xi,yi)的几何间隔之最小值,即
γ=i=1,⋯,Nminγ^i
- 超平面
(w,b)关于样本点
(xi,yi)的几何间隔一般是实例点到超平面的带符号的距离,当样本点被超平面正确分类时就是实例点到超平面的距离
- 如果超平面参数成比例地改变,此时超平面没有发生改变,但函数间隔按此比例改变,而几何间隔不变
线性可分支持向量机
w,bmin21∣∣w∣∣2s.t. yi(w⋅xi+b)−1⩾0,i=1,2,…,N
- 这是个凸二次规划问题,如果求出了上述方程的解
w∗,b∗,就可得到分离超平面
w∗⋅x+b∗=0
- 以及相应的分类决策函数
f(x)=sign(w∗⋅x+b∗)
对偶算法
- 对偶问题往往更容易求解
- 自然引入核函数,进而推广到非线性分类问题
-
针对每个不等式约束,定义拉格朗日乘子
αi≥0,定义拉格朗日函数
L(w,b,α)=21w⋅w−[i=1∑Nαi[yi(w⋅xi+b)−1]]=21∥w∥2−[i=1∑Nαi[yi(w⋅xi+b)−1]]=21∥w∥2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi
αi⩾0,i=1,2,…,N
其中
α=(α1,α2,…,αN)T为拉格朗日乘子向量
-
原始问题是极小极大问题,根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
αmaxw,bminL(w,b,α)
-
转换后的对偶问题
αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t. i=1∑Nαiyi=0αi⩾0,i=1,2,…,N
-
根据KKT条件求解,其中
α不为零的点对应的实例为支持向量,通过支持向量可以求得
b值
w∗b∗=i=1∑Nαi∗yixi=yj−i=1∑Nαi∗yi(xi⋅xj)
-
b∗的求解,通过
argmaxα∗实现,因为支持向量共线,所以通过任意支持向量求解都可以
线性支持向量机
w,b,ξmins.t. 21∥w∥2+Ci=1∑Nξiyi(w⋅xi+b)⩾1−ξi,i=1,2,…,Nξi⩾0,i=1,2,…,N
合页损失
w,bmini=1∑N[1−yi(w⋅x+b)]++λ∥w∥2
-
其中
- 第一项是经验损失或经验风险,函数
L(y(w⋅x+b))=[1−y(w⋅x+b)]+称为合页损失,可以表示成
L=max(1−y(w⋅x+b),0)
- 第二项是系数为
λ的
w的
L2范数的平方,是正则化项
-
书中通过定理7.4说明了用合页损失表达的最优化问题和线性支持向量机原始最优化问题的关系
w,b,ξmins.t. 21∥w∥2+Ci=1∑Nξiyi(w⋅xi+b)⩾1−ξi,i=1,2,…,Nξi⩾0,i=1,2,…,N
-
等价于
w,bmini=1∑N[1−yi(w⋅x+b)]++λ∥w∥2
-
证明如下
-
令合页损失
[1−yi(w⋅x+b)]+=ξi,合页损失非负,所以有
ξi≥0,这个对应了原始最优化问题中的第二个约束
-
还是根据合页损失非负,当
1−yi(w⋅x+b)≤0的时候,有
[1−yi(w⋅x+b)]+=ξi=0,所以有
1−yi(w⋅x+b)≤0=ξi,这对应了原始最优化问题中的第一个约束
-
所以,在满足这两个约束的情况下,有
w,bminw,bminw,bmini=1∑N[1−yi(w⋅x+b)]++λ∥w∥2i=1∑Nξi+λ∥w∥2C1(21∥w∥2+Ci=1∑Nξi),with λ=2C1
-
合页损失函数
非线性支持向量机
-
核技巧的想法是在学习和预测中只定义核函数
K(x,z),而不是显式的定义映射函数
ϕ
-
通常,直接计算
K(x,z)比较容易, 而通过
ϕ(x)和
ϕ(z)计算
K(x,z)并不容易。
W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
f(x)=sign(i=1∑Nsαi∗yiϕ(xi)⋅ϕ(x)+b∗)=sign(i=1∑Nsαi∗yiK(xi,x)+b∗)
学习是隐式地在特征空间进行的,不需要显式的定义特征空间和映射函数
核函数
-
对于给定的核
K(x,z),特征空间
H和映射函数
ϕ(x)的取法并不唯一,可以取不同的特征空间,即便是同一特征空间里也可以取不同的映射
-
下面这个例子里面
ϕ(x)实现了从低维空间到高维空间的映射
K(x,z)=(x⋅z)2X=R2,x=(x(1),x(2))TH=R3,ϕ(x)=((x(1))2,2
x(1)x(2),(x(2))2)TH=R4,ϕ(x)=((x(1))2,x(1)x(2),x(1)x(2),(x(2))2)T
-
核具有再生性,即满足下面条件的核称为再生核
K(⋅,x)⋅f=f(x)K(⋅,x)⋅K(⋅,z)=K(x,z)
-
通常所说的核函数就是正定核函数
-
问题描述
-
将向量内积替换成了核函数,而SMO算法求解的问题正是该问题
-
构建最优化问题:
αmin s.t. 21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαii=1∑Nαiyi=00⩽αi⩽C,i=1,2,…,N
-
求解得到
α∗=(α1∗,α2∗,⋯,αN∗)T
选择
α∗的一个正分量计算
b∗=yj−i=1∑Nαi∗yiK(xi,xj)
构造决策函数
f(x)=sign(i=1∑Nαi∗yiK(x,xi)+b∗)