支持向量机之线性支持向量机(三)

线性支持向量机与软间隔最大化

线性支持向量机

对特征空间上的训练数据集 T={(x1,y1),(x2,y2),...,(xN,yN)} ,其中 xiχ=Rn,yi={+1,1} xi 是第i个特征向量, yi 是类别标记。这里的训练数据集不是线性可分的,即:训练数据集中存在某些异常点,但是将这些异常点踢出后的训练集是线性可分的。

线性不可分意味着:某些样本点 (xi,yi) 不能满足间隔大于等于1的约束,对此可以增加松弛变量 ξ0 ,使函数间隔加上松弛变量后大于等于1,约束条件变为:


yi(<w,xi>+b)1ξi

同时,对每个松弛变量 ξi ,支付一个代价 ξi .目标函数变成:


12||w||2+CNi=1ξi

这里的 C ,一般 CC 。目标函数的含义是: 12||w||2 尽量小是使间隔尽量大,同时是误分类点的个数尽量的小。 C,ξi 用来使误分类的点数尽量的少。

线


12||w||2+CNi=1ξi
s.t.yi(<w,xi>+b)1ξi,i=1,2,...,N
ξi0,i=1,2,...,N

这里 w 是唯一的,证明方法和之前的一样,可以很好的理解是w是控制方向的,方向是不能变化的。对于 b 可以证明是不确定的,但是是在一个区间之内,可以这样理解,把添加的约束变量ξi b 合在一起认为是b,可以发现 对于每个 ξi 不是相同的,就会使 b 是在一点范围内波动。所有方向w是不能变化的,可以在一定范围内波动。

设解是 w,b

分离超平面:


<w,x>+b=0

分类决策函数:

f(x)=sign(<w,x>+b)

学习的对偶算法

原始问题:


12||w||2+CNi=1ξi
s.t.yi(<w,xi>+b)1ξi,i=1,2,...,N
ξi0,i=1,2,...,N

原始问题的拉格朗日函数:

L(w,b,ξ,α,μ)=12||w||2+CNi=1ξii=1Nαi(yi(<w,xi>+b)1+ξi)Ni=1μiξi

其中 αi,μi0
(1)求 minw,b,ξiL(w,b,ξ,α,μ)
拉格朗日函数分布对 w,b,ξ 求导可得到其极小


wL(w,b,ξ,α,μ)=wNi=1αiyixi=0
bL(w,b,ξ,α,μ)=Ni=1αiyi=0
ξiL(w,b,ξ,α,μ)=Cαiμi=0

得:

w=Ni=1αiyixi
Ni=1αiyi=0
Cαiμ=0

带入拉格朗日函数,得:

minw,b,ξiL(w,b,ξ,α,μ)=12Ni=1Nj=1αiαjyiyj<xi,xj>+Ni=1αi

额,这个与之前硬间隔最大化的结果是一样的。

(2)求 minw,b,ξL(w,b,ξ,α,μ) α 的极大值

对偶问题:


maxαL(w,b,ξ,α,μ)=12Ni=1Nj=1αiαjyiyj<xi,xj>+Ni=1αi
Ni=1αiyi=0
Cαiμ=0
αi0,i=1,2,...,N
μi0,i=1,2,...,N

转化成极小化问题:


minαL(w,b,ξ,α,μ)=12Ni=1Nj=1αiαjyiyj<xi,xj>Ni=1αi
Ni=1αiyi=0
Cαiμ=0
αi0,i=1,2,...,N
μi0,i=1,2,...,N

上面后三个约束和转化成 0αiC

解对偶问题的最优解,再求出原问题的最优解

求解 w,b

α=(α1,α2,...,αN)T 是对偶问题的最优解,若存在 αj0αjC 则原问题的解:


w=Ni=1αiyixi
b=yjNi=1yiαi<xi,xj>

证明:
原始问题是凸二次规划问题,解满足KKT条件,即:


wL(w,b,ξ,α,μ)=wNi=1αiyixi=0
bL(w,b,ξ,α,μ)=Ni=1αiyi=0
ξiL(w,b,ξ,α,μ)=Cαiμi=0
αi(yi(<w,xi>+b)1+ξi)=0
μiξ=0
yi(<w,xi>+b)1+ξi)0
ξi0
αi0
μi0i=1,2,...,N

解得:
w=Ni=1αiyixi
存在 αj0αjC
yj(<w,xj>+b)1+ξj=0ξj=0

b=yjNi=1yiαi<xi,xj>

分离超平面:


<w,x>+b=0

分类决策函数:


f(x)=sign(<w,x>+b)

线性支持向量机学习算法

输入:训练数据集 T={(x1,y1),(x2,y2),...,(xN,yN)},xiϵχ=Rn,yiϵY={1,+1},i=1,2,3,...,N
输出:分离超平面和分类决策函数

(1)选择惩罚参数 C0 ,构建凸二次规划问题


minαL(w,b,ξ,α,μ)=12Ni=1Nj=1αiαjyiyj<xi,xj>Ni=1αi
s.t.Ni=1αiyi=0
0αiC

最优解是: α=(α1,α2,...,αN)T

(2)计算w,b
w=Ni=1αiyixi

选择一个 αj 满足 0αjC
b=yjNi=1yiαi<xi,xj>

(3)分离超平面:
<w,x>+b=0
分类决策函数:
f(x)=sign(<w,x>+b)

说明:
1.由于满足 0αjC 的点有多个,所以每次的结果可能不一样,可以感觉分分类的结果好坏来选取,或者对符合条件的点取平均值。

支持向量机

和之前定义一样的: α=(α1,α2,...,αN)T 中对应于 0αiC 的样本点 (xi,yi) 的实例 xi 称为支持向量机。

这里写图片描述

如上图:中间实线是分离超平面 两侧的虚线是间隔边界。

对实例点 xi 到边界的距离是 ξi||w||

此时的支持向量点可能在间隔边界上,也可能不在间隔边界上

αj<C,ξj=0 ,在边界上
αj=C,0<ξj<1 ,分类正确,在间隔与分离超平面之间
αj=C,ξj=1 ,在分离超平面上
αj=C,ξj>1 ,在分离超平面误分类一侧。

合页损失函数

==待更新,写的好累。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值