接上节
这里讲的是支持向量机的拉格朗日 对偶学习算法
上节的问题是:
构建拉格朗日函数(Lagrange function),设对不等式约束的拉格朗日乘子(Lagrange multiplier)是 αi≥0,i=1,2,...,N
拉格朗日函数是:
假设 f(x),ci(x),hj(x)是定义在Rn上的连续可微函数,考虑约束问题:
对于广义拉格朗日函数(generalized Lagrange function):
L(x,α,β)=f(x)+∑ki=1αici(x)+∑lj=1βjhj(x)
这里 x=(x(1),...,x(n))TϵRn,αi,βj是拉格朗日乘子,αi≥0
考虑关于函数
θP(x)=maxα,β,αi≥0L(x,α,β)
下标 P 表示原问题
对于某个违反约束条件的 x ,存在 i 使得 ci(w)≻0 或者存在 j 使得 hj(w)≠0 ,就可是 θP(x) 趋向于无穷大。
也就是说:
当存在 i 使 ci(x)≻0 ,令 αi→ 无穷大,其他的 α==0 .
当存在 j 使得 hj(x)≠0 存在 βj 使得 βjhj(x)→ 无情大,其他的 β==0
上面两个情况都可能使得 θP(x)→ 无穷大
若 x 满足约束条件则 θP(x)=f(x)
即:
考虑极小化问题
原始问题的最优值: p∗=minxθP(x)
定义 :
对偶问题的最优值; d∗=maxα,β;αi≥0θD(α,β)
1.原始问题的最优值等于对偶问题的最优值
2.原始问题最优值时候的最优解也是对偶问题的最优解
设函数 f(x)和ci(x) 是吐函数, hj(x) 是放射函数,不等式约束 ci(x) 是严格可行的,则 x∗,α∗,β∗ 分别是原始问题和对偶问题的解的充分必要条件是 x∗,α∗,β∗ 满足下列条件:
关于KKT的一个例子
更多对偶问题的连接
下面继续
原始问题的对偶问题是极大极小问题:
maxαminw,bL(w,b,α)
先求极小化问题,再求极大化问题
(1)求 minw,bL(w,b,α)
拉格朗日函数是:
将拉格朗日函数 L(w,b,α) 分布对 w,b,α 求偏导数,并令其等于0。
= −12∑Ni=1∑Nj=1αiαjyiyj<xi,xj>+∑Ni=1αi
说明:
1. <xi,xj> 是点乘,对应元素相乘再求和, xi,xj 都是列向量
2. wx 这里也是点乘的意思,结果是一个数。
(2)求 minw,bL(w,b,α) 对 α 的极大值
满足 KKT 条件存在最优解 α∗=(α∗1,α∗2,...,α∗N)T
设 α∗=(α∗1,α∗2,...,α∗N)T 是对偶问题的最优解,则存在下标 j ,使得 α∗j≻0 ,则原始问题的最优解:
得到: w∗=∑Ni=1α∗iyixi
之前已经讲过 w∗=0 不是原始问题的最优解
可知道一定存在 j 使 α∗j≻0
由于 α∗j(yj(<w∗,xj>+b∗)−1)=0
可知道 yj(<w∗,xj>+b∗)−1=0
带入所求的 w∗
得到: b∗=yj−∑Ni=1α∗iyi<xi,xj>
分离超平面是:
输入: 线性可分训练数据集 T={(x1,y1),(x2,y2),...,(xN,yN)} , yϵ(+1,−1)
输出:分离超平面和分类决策函数
(1)构造并求解约束最优化问题
求得最优解是: α∗=(α∗1,α∗2,α∗3,...,α∗N)T
(2)求 w∗,b∗
(3)计算分离超平面
分离超平面是:
说明:
1.上面计算的 w∗,b∗ 只依赖于训练集中的 α∗i≻0的样本点(xi,yi)
2.对 α∗i≻0所对应的样本点称为支持向量
训练集中对应 α∗i≻0的样本点(xi,yi)称为支持向量
对 α∗i≻0 时候,根据KKT条件可知道
如上图所示: <w∗,xi>+b∗=±1 是间隔的边界,此时的 xi 就是支持向量点