版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34072381/article/details/83990549
本节前言
感知机是对线性可分数据的二分类线性判别模型,其将模型对所有误分类样本点的几何间隔之和作为损失函数,使用随机梯度下降法学习模型,当所有样本点均被正确分类时,模型学习完成。因此,由于初始超平面、梯度更新次序的不同,最终得到的超平面不唯一。
对于线性可分数据集,易知,样本离超平面的距离可近似表示模型对样本分类的可靠程度。因此,对于N个不同的超平面,若各超平面
i离样本点最近的距离为
γi,显然我们更倾向于选择
γi最大的那个超平面作为最优超平面。基于此思想建立的线性可分SVM模型,经过等价变化,最优模型为凸优化模型,解唯一。
根据数据集中样本的分布的不同,SVM模型有以下几种:
1、线性可分SVM
训练数据线性可分,通过硬间隔最大化学习模型。
2、线性SVM
训练数据无法完全线性划分(少部分数据划分错误),通过软间隔最大化学习模型。
3、非线性SVM
训练数据线性不可分,需使用非线性映射将输入映射为特征向量,通过核技巧及软间隔最大化学习模型。
本节主要介绍线性可分SVM的模型建立、推导及求解。
基于硬间隔最大化的线性可分SVM
模型描述
数据集
T={(x1,y1),⋯,(xN,yN)}线性可分,
xi∈X=Rn,
yi∈Y={+1,−1}。
xi为实例特征向量,
yi为实例类别。
学习目标
在特征空间中找到能将数据集正确划分的超平面
ω⋅x+b=0,并利用硬间隔最大化求出最优的分割超平面。
模型建立
对训练集找到几何间隔最大的超平面,确保以充分大的确信度对训练集进行分类,且对最难分的实例点(离超平面最近的点)也有足够大的确信度将其正确划分。因此,基于距超平面最近的点应离超平面尽可能远的思想,建立模型。
函数间隔与几何间隔
对于给定的训练数据集
T和超平面
(ω,b),定义超平面
(ω,b)关于样本点
(xi,yi)的函数间隔
γ^i=yi(ω⋅xi+b)
其中
γ^=minγ^i表示所有样本点函数间隔的最小值。
不能仅依据函数间隔的大小来衡量模型对样本的分类确信度,因为对于确定的
(ω,b),若
(ω,b)等比改变为
(2ω,2b),此时超平面不变,但所有样本的函数间隔
γ^i变为
2γ^i。一般情况,令线性可分SVM的
γ^=1。
对于给定的训练数据集
T和超平面
(ω,b),定义超平面
(ω,b)关于样本点
(xi,yi)的几何间隔(带符号距离)
γi=∣∣ω∣∣yi(ω⋅xi+b)
其中
γ=minγi表示所有样本点几何间隔的最小值。当
∣∣ω∣∣=1时,函数间隔称为几何间隔。
几何间隔和符号间隔
超平面关于样本点的几何间隔是样本点到超平面的带符号距离,但当样本点被正确划分时,实例的几何间隔等于该实例到超平面的距离。
最大间隔分离超平面
基于最小几何间隔最大化、所有样本的几何间隔不小于最小几何间隔,建立约束优化模型
ω,bmaxs.t.γ∣∣ω∣∣yi(ω⋅xi+b))≥γ
考虑几何间隔与函数间隔的关系
γi=γ^i/∣∣ω∣∣、
γ=γ^/∣∣ω∣∣,上述最优化问题等价于
ω,bmaxs.t.∣∣ω∣∣γ^yi(ω⋅xi+b))≥γ^
证明:最优化问题的解与模型参数是否等比缩放无关
对应超平面
ω⋅x+b=0,
ω和
b下函数间隔为
γ^。
当
λ>0时,
ω和
b同时增加
λ倍变为
λω和
λb,最小函数间隔变为
λγ^,则最优化问题变为
ω,bmaxλ∣∣ω∣∣λγ^;s.t.yi(λω⋅xi+λb)≥λγ^
当
λ<0时,
ω和
b同时增加
λ倍变为
λω和
λb,最小函数间隔(非负)变为
−λγ^,则最优化问题变为
ω,bmax−λ∣∣ω∣∣−λγ^;s.t.yi(λω⋅xi+λb)≥−λγ^
综上所述,等比改变
ω和
b不影响最优化问题的解。
将极大问题转换为极小问题,等比缩放
ω和
b使
γ^=1(最小函数间隔为1),则线性可分SVM学习的最优化问题为
ω,bmins.t.21∣∣ω∣∣21−yi(ω⋅xi+b)≤0
上述最优化问题为凸二次规划问题。
超平面存在唯一性
一、存在性
由于数据集线性可分,且目标函数(凸函数)有下界,故优化问题必有解,记模型参数为
(ω∗,b∗)。又因为数据集包含正负实例点,显然
(0,b∗)不是最优解,因此
ω̸=0。
二、唯一性
先证
ω的唯一性
设
(ω1∗,b1∗)和
(ω2∗,b2∗)均是问题的最优解,则目标函数在最优解
ω1∗和
ω2∗处取值相同,令
∣∣ω1∗∣∣=∣∣ω2∗∣∣=c̸=0
若
ω=2ω1∗+ω2∗,
b=2b1∗+b2∗,易证解
(ω,b)亦满足约束条件,故
(ω,b)下目标函数的值不小于最优值c,即
2c≤2∣∣ω∣∣=∣∣ω1∗+ω2∗∣∣≤∣∣ω1∗∣∣+∣∣ω2∗∣∣=2c
因此
∣∣ω∣∣=c,且上式取等号的条件是
ω1∗=ω2∗,因此
ω的唯一性得证。
证明:
∣∣α1+α2∣∣≤∣∣α1∣∣+∣∣α2∣∣,当前仅当
α1=α2时,不等式取等号.
从几何方向解释,若向量
α1与
α2不平行,由向量的加法定义可知,
α1、
α2和
α1+α2可构成三角形,因此
∣∣α1+α2∣∣≤∣∣α1∣∣+∣∣α2∣∣
若向量
α1与
α2平行,则当
α1=±α2时,上述不等式显然成立。
再证
b的唯一性
设
(x1′,1)和
(x2′,−1)是超平面
(ω∗,b1∗)的支持向量,另一个超平面是
(ω∗,b2∗),因此以下方程组成立
⎩⎪⎪⎪⎨⎪⎪⎪⎧ω∗⋅x1′+b1∗=1ω∗⋅x2′+b1∗=−1ω∗⋅x1′+b2∗≥1ω∗⋅x2′+b2∗≤−1(1)(2)(3)(4)
(1)式减
(3)式得
b1∗−b2∗≤0,
(2)式减
(4)式得
b1∗−b2∗≥0,因此
b1∗=b2∗,
b∗的唯一性得证。
参数
b唯一性的几何解释
对于确定的超平面
(ω,b),其支持向量到超平面的函数间隔为
±1。若此时改变
b为
b′,即平移超平面,则平移后最小函数间隔小于1,此时违反了最小函数间隔为1的约束条件,因此不存在另一个超平面
(ω,b′)满足约束条件。
学习的对偶算法
极值问题求解与对偶理论详见:https://blog.csdn.net/sinat_34072381/article/details/83685964
思想: 将
ω和
b标记为
xi和
yi的线性组合形式,通过求解其系数进而求解
ω和
b。对偶算法中参数更容易求解,且在参数学习时,实例点的特征计算仅以内积形式出现,可自然引入核函数。
引入拉格朗日辅助函数
L(ω,b,α)=21∣∣ω∣∣2+i=1∑Nαi[1−yi(ω⋅xi+b)],原问题的等价问题为
ω,bminαmaxL(ω,b,α),s.t.α≥0
由拉格朗日的对偶性,以及原始问题的凸规划性,知原始问题的对偶问题(满足特定条件)
αmaxω,bminL(ω,b,α),s.t.α≥0
对偶算法求解步骤:
(I) 固定
α,通过
ω,bminL(ω,b,α)求
ω,b。
对
L(ω,b,α)分别求
ω和
b的偏导,并令其为0,得
∇wL(ω,b,α)=ω−i=1∑Nαiyixi=0,∇bL(ω,b,α)=−i=1∑Nαiyi=0
将
ω=i=1∑Nαiyixi,
i=1∑Nαiyi=0,带入对偶方程得
ω,bminL(ω,b,α)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
(II)再求
ω,bminL(ω,b,α)对
α的极大,等价于求
−ω,bminL(ω,b,α)对
α的极小。
根据步骤
I的结果,对偶问题转化为
αmins.t,21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαii=1∑Nαiyi=0αi≥0,i=1,2,⋯,N
使用求解约束方程得到拉格朗日乘子最优解(SMO算法后续文章介绍),
α∗=(α1∗,α2∗,⋯,αN∗)T,α∗̸=0。
(III) 求
ω∗和
b∗,以及模型决策函数。
设
αj∗>0,对应实例点
(xj,yj),则该点到超平面的函数间隔为1,即
yj(ω∗⋅xj+b∗)=1,yj∈{+1,−1}
故对偶问题(原始问题)的解为
ω∗=i=1∑Nαi∗yixib∗=yj−i=1∑Nαi∗yi(xi⋅xj)
易验证所求解
ω∗,b∗满足KKT条件
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∇ωL(ω∗,b∗,α∗)=ω∗−i=1∑Nαi∗yixi=0∇bL(ω∗,b∗,α∗)=−i=1∑Nαi∗yi=0αi∗(yi(ω∗⋅xi+b∗)−1)=0yi(ω∗⋅xi+b∗)−1≥0αi∗≥0,i=1,2,⋯,N
(强对偶定理)对于原始问题,由于存在
x^,使得
g(x^)<0,故对偶问题与原始问题的解一致,原问题得解。
为什么存在
x^,使得
g(x^)=1−y(ω⋅x^+b)<0?(有点疑惑,个人理解如下)
由于样本线性可分,故一定存在超平面正确划分样本集,即
g(x^)≤0恒成立。若令最小函数间隔小于1,则上述不等式成立。
因此,分离超平面
i=1∑Nαi∗yi(x⋅xi)+b∗=0,分类决策函数
f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)。
支持向量
线性可分SVM中,拉格朗日乘子
αi∗>0的实例称为支持向量,即满足函数间隔为1(距超平面最近)
yi(ω⋅xi+b)−1=0
即正例
H1:ω⋅x+b=1,负例
H2:ω⋅x+b=−1。
H1和
H2为间隔边界,支持向量到超平面的几何间隔为
1/∣∣ω∣∣。
图1 硬间隔支持向量与决策边界
理解支持向量的函数间隔为1
证明:由最优化问题为最大化最小几何间隔
γ,其中
γ^为最小函数间隔
ω,bmax∣∣ω∣∣γ^;s.t.yi(ω⋅xi+b)≥γ^
由于等比改变
ω和
b的值不影响最优化问题的解,故可调整
ω和
b使
γ^=1,即可得到最优化问题的变式
ω,bmin21∣∣ω∣∣2;s.t.1−yi(ω⋅xi+b)≤0
此时最小函数间隔为1,即满足
yi(ω⋅xi+b)=1。
在不等式约束极值问题中,根据不等式条件
g(x)≤0的约束作用性,始终存在 (互补松弛条件)
α⋅g(x)=0
且由
(ω,b)的计算公式知,仅
αi̸=0的实例对超平面法向量
ω具有支持作用,此时
gi(x)=0,即对于实例
(xi,yi)满足
yi(ω⋅xi+b)−1=0
因此得出结论:仅支持向量影响超平面,其他实例点不起作用,即在间隔边界以外移动其它实例点不改变超平面。