支持向量机
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
这个问题中,变量是
α,一个变量
αi对应一个样本点
(xi,yi),变量总数等于
N
KKT 条件
- KKT条件是该最优化问题的充分必要条件
- 简单来说,约束最优化问题包含
⩽0,和
=0两种约束条件
x∈Rnmins.t.f(x)ci(x)⩽0,i=1,2,…,khj(x)=0,j=1,2,…,l
- 引入广义拉格朗日函数
L(x,α,β)=f(x)+i=0∑kαici(x)+j=1∑lβjhj(x)
- 在KKT的条件下,原始问题和对偶问题的最优值相等
∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,i=1,2,…,kci(x∗)≤0,i=1,2,…,kαi∗≥0,i=1,2,…,khj(x∗)=0,j=1,2,…,l
- 前面三个条件是由解析函数的知识,对于各个变量的偏导数为0,后面四个条件就是原始问题的约束条件以及拉格朗日乘子需要满足的约束,第四个条件是KKT的对偶互补条件
算法内容
整个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
Part I
- 两个变量二次规划求解
- 选择两个变量
α1,α2,由等式约束可以得到
α1=−y1i=2∑Nαiyi,所以这个问题等价于一个单变量优化问题
α1,α2minW(α1,α2)=s.t. 21K11α12+21K22α22+y1y2K12α1α2−(α1+α2)+y1α1i=3∑NyiαiKil+y2α2i=3∑NyiαiKi2α1y1+α2y2=−i=3∑Nyiαi=ς0⩽αi⩽C,i=1,2
- 线性等式约束
- 边界约束
- 根据简单的线性规划可以得出等式约束使得
(α1,α2)在平行于盒子
[0,C]×[0,C]的对角线的直线上
- 首先求沿着约束方向未经剪辑,即不考虑约束
0⩽αi⩽C时
α2的最优解,然后再求剪辑后的解
Ei=g(xi)−yi=(j=1∑NαjyjK(xi,xj)+b)−yi,i=1,2
Ei为函数
g(x)对输入的预测值与真实输出
yi的差
Part II
- 第一个变量
α1外层循环,寻找违反KKT条件最严重的样本点
- 第二个变量
α2内层循环,希望能使
α2有足够大的变化
- 计算阈值
b和差值
Ei
输入:训练数据集
T=(x1,y1),(x2,y2),…,(xN,yN),其中
xi∈X=Rn,yi∈Y={−1,+1},i=1,2,…,N,精度
ϵ
输出:近似解
α^
-
取初值
α0=0,令
k=0
-
选取优化变量
α1(k),α2(k),解析求解两个变量的最优化问题,求得最优解
α1(k+1),α2(k+1),更新
α为
αk+1
-
若在精度
ϵ范围内满足停止条件
i=1∑Nαiyi=00⩽αi⩽C,i=1,2,…,Nyi⋅g(xi)=⎩⎪⎨⎪⎧⩾1,{xi∣αi=0}=1,{xi∣0<αi<C}⩽1,{xi∣αi=C}g(xi)=j=1∑NαjyjK(xj,xi)+b
则转4,否则,
k=k+1转2
-
取
α^=α(k+1)
习题解答
-
1.比较感知机的对偶形式与线性可分支持向量机的对偶形式
- 感知机的对偶形式
f(x)=sign(∑j=1Nαjyjxj⋅x+b),α=(α1,α2,⋯,αN)T
- 线性可分支持向量机的对偶形式
f(x)=sign(∑i=1Nαi∗yixi⋅x+b∗),α∗=(α1∗,α2∗,⋯,αN∗)T
感知机学习算法的原始形式和对偶形式与线性可分支持向量机学习算法的原始形式和对偶形式相对应。在线性可分支持向量机的对偶形式中,
w也是被表示为实例
xi和标记
yi的线性组合的形式
w=i=1∑Nαiyixi
而它们的偏置
b的形式不同,前者
b=∑i=1Nαiyi,而后者
b∗=yj−∑i=1Nαi∗yi(xi⋅xj)
-
2.已知正例点
x1=(1,2)T,
x2=(2,3)T,
x3=(3,3)T,负例点
x4=(2,1)T,
x5=(3,2)T,
试求最大间隔分离超平面和分类决策函数,并在图上画出分离超平面、间隔边界及支持向量
- 根据书中算法,计算可得
w1=−1,
w2=2,
b=−2,即最大间隔分离超平面为
−x(1)+2x(2)−2=0
分类决策函数为
f(x)=sign(−x(1)+2x(2)−2)
-
3.线性支持向量机还可以定义为以下形式:
w,b,ξmin21∥w∥2+Ci=1∑Nξi2s.t.yi(w⋅xi+b)≥1−ξi,i=1,2,⋯,Nξi≥0,i=1,2,⋯,N
试求其对偶形式
- 首先求得原始化最优问题的拉格朗日函数是:
L(w,b,α,ξ,μ)=21∥w∥2+C∑i=1Nξi2−∑i=1Nαi(yi(w⋅xi+b−1)+ξi)−∑i=1Nμiξi
- 对偶问题是拉格朗日的极大极小问题。首先求
L(w,b,α,ξ,μ)对
w,b,ξ的极小,即对该三项求偏导,得
w=i=1∑Nαiyixii=1∑Nαiyi=02Cξi−αi−μi=0
将上述带入拉格朗日函数,得
−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−Ci=1∑Nξi2+i=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−4C1i=1∑N(αi+μi)2+i=1∑Nαi
- 4.证明内积的正整数幂函数
K(x,z)=(x⋅z)p是正定核函数,这里
p是正整数,
x,z∈Rn
-
要证明正整数幂函数是正定核函数,只需证明其对应得Gram矩阵
K=[K(xi,xj)]m×m是半正定矩阵
-
对任意
c1,c2…cm∈R,有
i,j=1∑mcicjK(xi,xj)===i,j=1∑mcicj(xi⋅xj)p(i=1∑mcixi)(j=1∑mcjxj)(xixj)p−1∣∣i=1∑mcixi∣∣2(xixj)p−1
- 由于p大于等于1,该式子也大于等于0,即Gram矩阵半正定,所以正整数的幂函数是正定核函数