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
有==软间隔的支持向量有四种情况==:
- 若 0<α∗i<C0<αi∗<C, ξi=0ξi=0,则分类正确,支持向量 xixi 恰好落在间隔边界上(图中 x1x1);
- 若 α∗i=Cαi∗=C,0<ξi<10<ξi<1,则分类正确,xixi 在间隔边界与分隔超平面之间(图中 x2x2);
- 若 α∗i=Cαi∗=C,ξi=1ξi=1, 则 xixi 在分隔超平面上(图中 x0x0);
- 若 α∗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 和 γγ 越大,训练样本上分类能力越强,同时也容易发生过拟合。==
参考下图结果: