SVM-支持向量机学习(2):线性可分SVM的对偶型

xiaoxiao2021-02-28  109

1. 从原始问题到对偶问题

上节整整讨论了两遍(周、李老师),就是为了引出SVM是怎么来的?要解决的问题是什么?如何数学化表达?得到下面的数学问题:

这就是SVM的基本型。该问题也称为原始问题。

对该问题应用拉格朗日乘子法,通过将原始问题转化为求解对偶问题(dual problem)来得到最优解。即可得到线性可分SVM的对偶问题。

为何要引入对偶问题?其优点在于:

对偶问题更易求解:只需要求解乘子 α 。对偶问题的形式中:可自然引入核函数,从而推广到非线性问题。

引入拉格朗日乘子 αi0,i=1,2,...,N 。即每个样本向量均对应一个乘子。然后定义拉格朗日函数:

L(w,b,α)=12||w||2i=1Nαiyi(wxi+b)+i=1Nαiα=(α1,α2,...,αN)T

由拉格朗日对偶性,原始问题的对偶问题是极大极小问题:

maxαminw,bL(w,b,α)

(1)求解 minw,bL(w,b,α)

将 L 分别对w,b求导,令其为0,则有

wL=wi=1Nαiyixi=0bL=i=1Nαiyi=0

则有:

w=i=1Nαiyixii=1Nαiyi=0

将其代入 L(w,b,α) 中,可得:

minw,bL(w,b,α)=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

(2)求解 minw,bL(w,b,α) α 的极大,即为对偶问题:

maxα(12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi)s.t.i=1Nαiyi=0αi0,i=1,2,...,N

我们一般喜欢求最小化问题。将其再转化为等价的对偶最优化问题:

minα(12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi)s.t.i=1Nαiyi=0αi0,i=1,2,...,N

这便是线性可分SVM的对偶问题。

2. 对偶问题讨论

对于对偶问题:

minα(12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi)s.t.i=1Nαiyi=0αi0,i=1,2,...,N

存在 w,α,β ,使得 w 是原始问题的解,使得 α,β 是对偶问题的解。这意味着:求解原始问题,现在转化为求解对偶问题。

对于线性可分数据集,假设对偶最优化问题对 α 的解是 α=(α1,α2,...,αN)T 。存在下标 j ,使得αj>0,并可按照下式计算出 w,b

w=i=1Nαiyixib=yji=1Nαiyixixj

则分类超平面为(w,b)。此式表明:

分类超平面仅依赖于输入x和训练样本输入的内积。求解w时,仅那些大于0的乘子起作用,即对应着支撑向量。求解b时,任选一个支撑向量样本均可,因所有支撑向量到超平面距离相同。支撑向量一定在边界上。由KKT互补条件可知 α(yi(wxi+b)1)=0 ,既然乘子大于0,则 yi(wxi+b)=1 。与前面支撑向量的定义一致。

算法:线性可分SVM的对偶学习算法

(1)构造并求解约束最优化的对偶函数,求解拉格朗日乘子。(2)从大于0的乘子,计算原始问题的解(w,b)。(3)求解分离超平面(w,b)=0和决策函数sign(w,b)。

3. 例题直观感受算法过程

为上一节的例题:

已知 x1=(3,3),x2=(4,3),x3=(1,1),y1=y2=+1,y3=1 ,求最大间隔分离超平面。(因x为2维,则w为2维)

解:

(1)写出对偶问题

minα(12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi)=12(18α21+42α1α212α1α314α2α3+25α22+2α23)(α1+α2+α3)s.t.i=1Nαiyi=0α1+α2α3=0αi0,i=1,2,3

求解该最优化问题。将 α1+α2=α3 代入目标函数并记为:

minS(α1,α2)=4α21+132α22+10α2α32α12α2

α1,α2 求偏导,令其为0,则有 α1=32,α2=1 ,不符合乘子大于0的要求。考虑S为凸函数,在某个范围内,要么有极值;没有极值时,则关注边界值。

α1=0,α2=213 时, S=213 α2=0,α1=14 时, S=14

α1=14,α2=0,α3=14

则其对应的 x1, x3 为支撑向量。

(2)求解原始问题的解。

w=i=1Nαiyixi=141(3,3)T+141(1,1)T=(12,12)T

采用两个支撑向量,计算得到的 b 均为2。

(3)分离超平面和分离决策函数

分离超平面为 12x(1)+12x(2)2=0 分类决策函数为 f(x)=sign[12x(1)+12x(2)2]

over。

4. 小尾巴

对线性可分数据集,该方法非常完美。有理论支撑,有实际可操作的凸优化解法。

但是现实中,线性可分数据集很难找到,有噪声和特异点的存在,使得不能线性可分。于是需要把这个方法推广到一般上来。即下一节《线性SVM》。

转载请注明原文地址: https://www.6miu.com/read-48720.html

最新回复(0)