机器学习(三)——支持向量机SVM

SVM探讨

目录

SVM探讨

SVM算法

根据处理问题的复杂度,SVM 可由简到繁分为三种:

  • 线性可分支持向量机:硬间隔最大化。
  • 线性支持向量机:数据分布近似线性可分,可通过软间隔最大化(惩罚因子,松弛变量)来线性分隔样本点。
  • 非线性支持向量机:通过核函数提升特征维度,做个一个非线性的变换,来将非线性问题转化为线性问题。

先写出==SVM定义损失函数的策略==
  求得的超平面能够让所有点中离它最近的点具有最大间距。这样我们可以得出结论,我们更应该关心靠近中间分割面的点,让它们尽可能地远离分割面,而不是在所有点上达到最优。因此,SVM考虑局部(不关心已经确定远离的点),logistic回归考虑全局(已经远离的点可能通过调整中间线使其能够更加远离)。

硬间隔最大化的优化目标

minw,b12∥w∥2minw,b12‖w‖2

s.t.yi(wxi+b)≥1,  i=1,2,…,ms.t.yi(wxi+b)≥1,  i=1,2,…,m


  接着构建拉格朗日函数,对每个不等式约束引入另个拉格朗日乘子 αi≥0,i=1,2,…,mαi≥0,i=1,2,…,m,定义拉格朗日函数:

L(w,b,α)==12∥w∥2−∑i=1mαi[yi(wxi+b)−1]12∥w∥2−∑i=1mαiyi(wxi+b)+∑i=1mαi(1)(2)(1)L(w,b,α)=12‖w‖2−∑i=1mαi[yi(wxi+b)−1](2)=12‖w‖2−∑i=1mαiyi(wxi+b)+∑i=1mαi

注意:为什么构造拉格朗日函数的时候,用的是“—”而不是“+”?
  因为标准的凸优化问题再构造拉格朗日函数的时候,不等式的优化问题是“ ≤≤ ”,而 SVM 中的不等式约束都是“ ≥≥ ”,所以在构造拉格朗日函数的时候,取负号“—”.

由于

maxw,b,αL(w,b,α)=12∥w∥2maxw,b,αL(w,b,α)=12‖w‖2

这样我们的优化目标的 原始问题 转化为等价的 广义拉格朗日函数的极小极大问题,如果将其最优解记作 p∗p∗,则有:

p∗=minw,bmaxαL(w,b,α)p∗=minw,bmaxαL(w,b,α)


因此,对偶问题 为 广义拉格朗日函数的极大极小 问题,记其最优解为 d∗d∗,则有:

d∗=maxαminw,bL(w,b,α)d∗=maxαminw,bL(w,b,α)


  这里,由于原始问题先求的 max,满足:p∗≥q∗p∗≥q∗,这称作“弱对偶”,在一些情况下,有 “p∗=q∗p∗=q∗” ,称作“强对偶”。

  但是由于,SVM 的优化目标和约束不等式都是凸函数(凸优化问题),因此这里有 p∗=q∗p∗=q∗ 。同时,不等式的约束关系满足 KKT 条件——对于凸优化问题,KKT 条件是原始问题和对偶问题具有相同解(强对偶)的充分必要条件;非凸优化问题,KKT 条件为必要条件。【拉格朗日对偶性和 KKT 条件相关详细内容,可参考 李航P225】

下面是具体的求解过程:

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

  将拉格朗日函数 L(w,b,α)L(w,b,α) 对 w,bw,b 求导,并令其等于00.

∇wL(w,b,α)=w−∑i=1mαiyixi∇wL(w,b,α)=w−∑i=1mαiyixi

∇bL(w,b,α)=−∑i=1mαiyi=0∇bL(w,b,α)=−∑i=1mαiyi=0

得:

w=∑i=1mαiyixiw=∑i=1mαiyixi

∑i=1mαiyi=0∑i=1mαiyi=0


  将这两个结果代回公式回到拉格朗日函数,得到 L(w,b,α)L(w,b,α) 以 w,bw,b 为自变量函数的极小值:

minw,bL(w,b,α)====12∥w∥2−∑i=1mαiyi(wxi+b)+∑i=1mαi12w∙∑i=1mαiyixi−w∑i=1mαiyixi−b∑i=1mαiyi+∑i=1mαi−12w∙∑i=1mαiyixi+∑i=1mαi−12∑i=1m∑j=1mαiαjyiyjxixj+∑i=1mαi(3)(4)(5)(6)(3)minw,bL(w,b,α)=12‖w‖2−∑i=1mαiyi(wxi+b)+∑i=1mαi(4)=12w∙∑i=1mαiyixi−w∑i=1mαiyixi−b∑i=1mαiyi+∑i=1mαi(5)=−12w∙∑i=1mαiyixi+∑i=1mαi(6)=−12∑i=1m∑j=1mαiαjyiyjxixj+∑i=1mαi

  (2) 求 minw,bL(w,b,α)minw,bL(w,b,α) 对 αα 的极大值,将 minw,bL(w,b,α)minw,bL(w,b,α) 取个负号,由求极大值转化成最小值,就得到下面的最优化问题:

minα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαiminα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαi

s.t.{∑mi=1αiyi=0αi≥0,  i=1,2,…,ms.t.{∑i=1mαiyi=0αi≥0,  i=1,2,…,m

再通过 SMO 算法得到 α∗α∗ 为我们的最终解。同时再代回,可得到:

w∗=∑i=1mα∗iyixiw∗=∑i=1mαi∗yixi

再根据分隔超平面 yj(wxj+b)=1yj(wxj+b)=1,得:

b∗=yj−∑i=1mα∗iyi〈xi,xj〉b∗=yj−∑i=1mαi∗yi〈xi,xj〉

于是,我们就得到分隔超平面 w∗x+b∗=0w∗x+b∗=0 也可写为:

∑i=1mα∗iyi〈x,xi〉+b∗=0∑i=1mαi∗yi〈x,xi〉+b∗=0

分类决策函数可写为:

f(x)=sign(∑i=1mα∗iyi〈x,xi〉+b∗)f(x)=sign(∑i=1mαi∗yi〈x,xi〉+b∗)

也就是说,分类决策函数依赖于输入样本和训练样本的内积。

硬间隔最大化的支持向量

  特别注意的是:训练数据中对应于 α∗i>0αi∗>0 的样本点 (xi,yi)(xi,yi)的样本称为“==支持向量==” 。
  证明:有 KKT 互补条件可知,

αi[yi(wxi+b)−1]=0,i=1,2,…,mαi[yi(wxi+b)−1]=0,i=1,2,…,m

有,因此对应于 α∗>0α∗>0的样本 xixi,有

yi(wxi+b)=1yi(wxi+b)=1

即 xixi 一定在间隔的边界上。
  

软间隔最大化

minw,b12∥w∥2+C∑i=1mξiminw,b12‖w‖2+C∑i=1mξi

s.t.{yi(wxi+b)≥1−ξi , i=1,2,…,mξi≥0 ,  i=1,2,…,ms.t.{yi(wxi+b)≥1−ξi , i=1,2,…,mξi≥0 ,  i=1,2,…,m

其中,惩罚因子 CC 为大于0的常数,ξiξi(克西)为松弛变量。构建拉格朗日函数,对两类不等式约束引入两类拉格朗日乘子 αi≥0,βi≥0,i=1,2,…,mαi≥0,βi≥0,i=1,2,…,m。定义拉格朗日函数:

L(w,b,ξ,α,β)=12∥w∥2+C∑i=1mξi−∑i=1mαi[yi(wxi+b)−1+ξi]−∑i=1mβiξiL(w,b,ξ,α,β)=12‖w‖2+C∑i=1mξi−∑i=1mαi[yi(wxi+b)−1+ξi]−∑i=1mβiξi


  同样原始问题为极小极大问题,现在转化为极大极小对偶问题的解,且原问题和对偶问题具有相同的解。首先求 L(w,b,ξ,α,β)L(w,b,ξ,α,β) 的关于变量 w,b,ξw,b,ξ 的极小值:

∇wL(w,b,ξ,α,β)=w−∑i=1mαiyixi∇wL(w,b,ξ,α,β)=w−∑i=1mαiyixi

∇bL(w,b,ξ,α,β)=−∑i=1mαiyi=0∇bL(w,b,ξ,α,β)=−∑i=1mαiyi=0

∇ξiL(w,b,ξ,α,β)=C−αi−βi=0∇ξiL(w,b,ξ,α,β)=C−αi−βi=0


得:

w=∑i=1mαiyixiw=∑i=1mαiyixi

∑i=1mαiyi=0∑i=1mαiyi=0

C−αi−βi=0C−αi−βi=0


将以上结果代回来格朗日函数,得:

minw,b,ξL(w,b,ξ,α,β)=−12∑i=1m∑j=1mαiαjyiyj〈xi,xj〉+∑i=1mαiminw,b,ξL(w,b,ξ,α,β)=−12∑i=1m∑j=1mαiαjyiyj〈xi,xj〉+∑i=1mαi

接着再求 minw,b,ξL(w,b,ξ,α,β)minw,b,ξL(w,b,ξ,α,β) 对 αα 的极大值,同样取个负号,极大值转化为极小值问题(注意,参数 ββ 被神奇的约掉了,简化了计算;同时,虽然跟硬间隔优化目标的函数形式一样,但是约束条件不一样):

minα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαiminα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαi

s.t.∑i=1mαiyi=0C−αi−βi=0αi≥0,  i=1,2,…,mβi≥0,  i=1,2,…,m(7)(8)(9)(10)(7)s.t.∑i=1mαiyi=0(8)C−αi−βi=0(9)αi≥0,  i=1,2,…,m(10)βi≥0,  i=1,2,…,m

第二个于是带入第四个约束约掉 βiβi ,约束条件和简写为:

s.t.∑i=1mαiyi=00≤αi≤C,  i=1,2,…,m(11)(12)(11)s.t.∑i=1mαiyi=0(12)0≤αi≤C,  i=1,2,…,m

  现在再比较与硬间隔的区别,发现,唯一的在于对 αiαi 取值上限做了个约束。

软间隔的支持向量探讨

  同样,根据KKT 的互补条件:

αi[yi(wxi+b)−1+ξi]=0,i=1,2,…,mαi[yi(wxi+b)−1+ξi]=0,i=1,2,…,m

有==软间隔的支持向量有四种情况==:

  1. 若 0<α∗i<C0<αi∗<C, ξi=0ξi=0,则分类正确,支持向量 xixi 恰好落在间隔边界上(图中 x1x1);
  2. 若 α∗i=Cαi∗=C,0<ξi<10<ξi<1,则分类正确,xixi 在间隔边界与分隔超平面之间(图中 x2x2);
  3. 若 α∗i=Cαi∗=C,ξi=1ξi=1, 则 xixi 在分隔超平面上(图中 x0x0);
  4. 若 α∗i=Cαi∗=C,ξi>1ξi>1, 则分类错误, xixi 在分隔超平面分错的一侧(图中 x3,x4x3,x4)。

软间隔支持向量机的解

w∗=∑i=1mα∗iyixiw∗=∑i=1mαi∗yixi

有了刚才对软间隔中对支持向量的探讨,那么在计算 b∗b∗ 的时候跟硬间隔有所差异。在计算:

b∗=yj−∑i=1mα∗iyi〈xi,xj〉b∗=yj−∑i=1mαi∗yi〈xi,xj〉

时,需要==选择一个满足条件 0<α∗i<C0<αi∗<C 的 α∗iαi∗ ,来计算出 bb==。但是由于软间隔支持向量机对 bb 的解并不唯一,所以实际计算时往往==取所有符合条件的支持向量所求得的 bb 的平局值==。

SVM 损失函数的另一种解释

SVM 的优化目标的另一种解释是,最小化L2正则的合页函数:

minw,b∑i=1Nξi+λ∥w∥2minw,b∑i=1Nξi+λ‖w‖2

即松弛变量 ξiξi 作为损失函数。
若取 λ=12Cλ=12C,则形如之前最大间隔下的优化目标:

minw,b1C(12∥w∥2+C∑i=1Nξi)minw,b1C(12‖w‖2+C∑i=1Nξi)


合页损失函数如下图【李航 P115】:


Tips:由于在凸优化中,仿射函数很重要,这里记录一下
仿射函数:
  仿射函数是特殊的凸函数。既是凸函数,又是凹函数的函数称为仿射函数。它必定是线性函数与常数之和。在有限维空间上,仿射函数就是一次函数。仿射函数的重要性在于局部凸空间(包括赋范线性空间、有限维空间)上的下半连续凸函数一定是连续仿射函数族的上包络。

f(x1,…,xn)=A1x1+⋯+Anxn+bf(x1,…,xn)=A1x1+⋯+Anxn+b

  仿射函数就是一个线性函数,其输入是n维向量,参数A可以是常数,也可以是m*n的矩阵,b可以是常数,也可以是m维的列向量,输出是一个m维的列向量。在几何上,仿射函数是一个线性空间到另一个线性空间的变换。

支持向量机及核函数

目录

常见核函数

线性核 (linear kernel):

K(x1,x2)=x1⋅x2+cK(x1,x2)=x1⋅x2+c


多项式核 (polynomial kernel):

K(x1,x2)=(x1⋅x2+c)dK(x1,x2)=(x1⋅x2+c)d

其中 d≥1d≥1,为多项式的次数。

感知器核 (Sigmoid kernel):

K(x1,x2)=tanh(β(x1⋅x2)+c)K(x1,x2)=tanh(β(x1⋅x2)+c)

其中 tanhtanh 为双曲正切函数,β>0, θ<0β>0, θ<0。

高斯核 (Gaussian kernel):

K(x1,x2)=exp(−∥x1−x2∥22σ2), 也记作:exp(−γ∥x1−x2∥2), γ=12σ2K(x1,x2)=exp⁡(−‖x1−x2‖22σ2), 也记作:exp⁡(−γ‖x1−x2‖2), γ=12σ2

其中 σ>0σ>0,为高斯核的带宽(width)。高斯核 也称作 径向基核(RBF)

拉普拉斯核 (Laplace kernel):

K(x1,x2)=exp(−∥x1−x2∥σ), σ>0K(x1,x2)=exp⁡(−‖x1−x2‖σ), σ>0

  核函数的形式可看出 高斯核 和 拉普拉斯核 为 平移不变核多项式核 和 感知器核 为 内积核函数,为 旋转不变核
  

核函数的本质

  将原始输入空间映射到新的特征空间,从而,使得原本线性不可分的样本可能在核空间可分。有效的核函数一定是对称半正定的;往往依赖先验领域知识验证等方案才能选择有效的核函数。

SVM 的参数

1.参数 CC:

  显然,CC 越大,对样本分类正确的要求越严格,间隔宽就带越窄;同时也导致易过拟合。C=+∞C=+∞ 则 软间隔SVM 退化为 硬间隔SVM。

2.高斯核的参数 γγ (γ=12σ2γ=12σ2):

  显然 σσ 和 γγ 成反比关系,对于类似于高斯分布形式的 高斯核 而言,γγ 越小,PDF(概率密度函数,Probability Density Function)平均,趋近于直线(矮胖);越大,PDF 越集中(高瘦)。
  邹博:PDF趋近于直线 即 近似于线性核,分类能力弱化。因为 γγ 很小时,通常在 γ<0.1γ<0.1 时就有:x1⋅x2≈exp(−γ∥x1−x2∥2)x1⋅x2≈exp⁡(−γ‖x1−x2‖2)。
  
小结:

  1. CC 的大小控制了分隔带宽的大小,惩罚 CC 越大,带宽越小,训练样本上的分类能力越强,容易发生过拟合。
  2. γγ 控制了分隔线的非线性程度,γγ 越大,非线性程度越大,分类能力越强,容易发生过拟合。
  ==CC 和 γγ 越大,训练样本上分类能力越强,同时也容易发生过拟合。==
  
  参考下图结果:

猜你喜欢

转载自blog.csdn.net/weixin_41988628/article/details/83059881