【笔记】机器学习基础 - Ch5. Support Vector Machines

5.1 Linear classification

考虑如下问题:RN 上的 X 服从某个未知分布 D,并由目标函数 f:XY 映射到 {1,+1}。根据采样 S=((x1,y1),,(xm,ym)) 确定一个二分类器 hH,使得其泛化误差 RD(h)=PrxD[h(x)f(x)] 尽量小
选择线性分类器 linear classifier 使得复杂度比较小,即:

H={xsign(wx+b):wRN{0},bR}

也就是通过超平面 hyperplane 二分类。另外 wx+bwxb 代表同一个超平面但是标签取反,可以把 0 代入判断一下正例位置。

5.2 Separable case

本节假设样本 S 线性可分,也就是样本的标签是某个待学习的超平面 (w,b) 对样本进行映射得到的:i[m],yi(wxi+b)0
SVM 考虑几何间隔 geometric margin

定义 Geometric margin
x 和超平面 h:(w,b) 的几何间隔,定义为两者的欧几里得距离 ρh(x)

ρh(x)=|wx+b|w2

小证一下:设沿 x 方向与平面交于 x,那么距离就是 xxw 方向的投影长度,即 ρ=|(xx)ww|=|wxwx|w=|(wx+b)(wx+b)|w=|wx+b|w
定义线性分类器对样本 S 的几何距离为 ρh=minρh(xi),而 SVM 应取到最大的几何距离,有:

w,b=arg maxw,b : yi(wxi+b)0mini|wxi+b|w=arg maxw,b miniyi(wxi+b)w;假设样本线性可分=arg maxw,b : minyi(wxi+b)=1 1w;加条件约束分式上下变动=arg maxw,b : yi(wxi+b)1 1w=arg minw,b : yi(wxi+b)1 12w2;凸化

从而得到如下对 (w,b) 的凸优化问题:

minw,b12w2subject to:gi(w,b)=1yi(wxi+b)0,i[m]

根据以二阶导定义的凸函数,由于 F:ww2/2 的 Hessian 2F=I 是正定的,故 F 是严格的凸函数;而约束 gi 均为仿射函数,故该优化问题有唯一解。
(这类目标函数为平方次、约束为仿射的问题,属于二次规划问题 quadratic programming (QP),已有大量相关算法;对于 SVM 问题有 block coordinate descent 等算法)
由于约束都是仿射,该问题与对偶问题等价,因此转到对偶问题:

引入 Lagrange 变量 α=(α1,,αm)0,定义 Lagrangian L(w,b,α) 并给出最优解的 KKT 条件:

L(w,b,α)=12w2+i=1mαi[1yi(wxi+b)]wL=wi=1mαiyixi=0w=i=1mαiyixibL=i=1mαiyi=0i=1mαiyi=0αg(w,b)=0i[m],αi=0yi(wxi+b)=1;KKT

根据条件,w 为若干 αi 不为零的样本 xi(称为支持向量 support vector)的线性组合,且这些向量必定落在 wx+b=±1 的平面上。注意到即使 (w,b) 有唯一解,α 却不一定唯一,因为只需要 N+1 个向量就能定义一个 N 维平面
利用 KKT 条件消去 w,b,得到对偶问题:

maxαL=maxα[i=1mαi12i=1mj=1m(αiyixi)(αjyjxj)]subject to:α0Σi=1mαiyi=0

这个问题同样是凸优化问题(α2L0,concave,且为二次项,是 QP 问题,可用 SMO 算法解决)
解出 α 后,就能得到对偶原问题的解:

w=i=1mαiyixi,b=ysvwxsv;for any support vector sv

从而得到假设平面 h(x)

h(x)=sgn(wx+b)=sgn(i=1mαiyi(xix)+b)

注意到假设平面只用到支持向量与输入向量的内积,我们之后在这一点上可以做文章,例如引入核方法
最后,几何间隔 ρ2=1/w22=1/i=1mαi=1/α1,证明只需上述求 b 的式子两边同乘 αy 即可

Leave-one-out analysis
依然认为样本标签为通过某个超平面映射、始终是线性可分的
我们给泛化误差(的期望)一个上界,分析式子:

ESDm[R(hS)]=ESDm[ExD[1hS(x)y]]=ESDm,xD[1hS(x)y]=ESDm+1[1hS/x1(x1)y1]=ESDm+1[1hS/x2(x2)y2]==ESDm+1[1m+1i=1m+11hS/{xi}(xi)yi]

期望式内类似对 m+1 个样本使用留一法,因此定义算法 A 对样本 S=((x1,y1),,(xm+1,ym+1))Leave-one-out error R^LOO(A),为用剩余样本分类留出样本的平均误差,并对其放缩:

R^LOO(A)=1m+1i=1m+11hS/{xi}(xi)yiNSV(S)m+1

其中 NSV(S) 是用 SVM 分类 S 得到的支持向量个数;显然若某个 xi 贡献了误差,那么它必定是支持向量之一,否则去掉它不会对分类平面造成影响
结合上述式子,得到:

ESDm[R(hS)]ESDm+1[NSV(S)m+1]

这就是我们的上界。一般来说支持向量不会太多,所以右式应该不会很大;但是这个式子只对所有情况的平均值给出上界,并不是之前提到 PAC 形式。后面会给出更强的 high-probability bounds。

5.3 Non-separable case

也就是对任意 (w,b) 总存在 i[m] 使得 yi(wxi+b)1,一种常用的松弛做法,是引入松弛变量 slack variables ξ0

yi[wxi+b]1ξi ,i[m],ξi0

考虑到一对矛盾的点:尽可能小的松弛因素 ξi,或者更一般地 ξip;和尽可能大的几何间隔 1/w,揉进一个式子,得到关于 w,b,ξ 的优化问题:

minw,b,ξ12w2+Ci=1mξipsubject to:yi(wxi+b)1ξiξi0,i[m]

其中 C0;一般取 p=1,称为 hinge loss
这又是个凸优化问题(仿射约束+待优化函数为凸),扔给 Lagrangian 和 KKT:

L(w,b,ξ,α,β)=12w2+Ci=1mξii=1mαi[yi(wxi+b)1+ξi]i=1mβiξiwL=0w=i=1mαiyixibL=0i=1mαiyi=0ξiL=0αi+βi=Ci[m],αi[yi(wxi+b)1+ξi]=0i[m],βiξi=0;KKT

观察式子,w 为支持向量的线性组合;对于一个支持向量 x,由于 α0,则 [y(wx+b)1+ξ]=0,两种情况:若 ξ=0,则该向量就落在支持面上,和原本的支持向量一样;若 ξ0,则该点在支持面内侧或者越过分类面(称为 outlier),从而 β=0,α=C,从而以 Cyx 贡献给 w
同样地,w 有唯一解,但是支持向量的解可能不唯一
对偶问题:约到剩下 α,β,发现 Cξi 和拉格朗日项里多出来的那部分抵消了,得到和原本一样的式子;但是条件部分还需要满足 αC

maxαL=maxα[i=1mαi12i=1mj=1m(αiyixi)(αjyjxj)]subject to:0αCΣi=1mαiyi=0

又是个 QP,解出 α 后同样有:w=i=1mαiyixi,b=ysvwxsv
从而得到假设平面 h(x)=sgn(wx+b)=sgn(i=1mαiyi(xix)+b),它依然只依赖向量内积——之后会在此做文章

5.4 Margin theory

为分类函数 h 提出 “置信间隔 confidence margin” 的概念。
考虑 yh(x)>0 刻画了分类成功的情况,此时用 |h(x)| 描述这次预测的置信度 confidence。当置信度较低时,即使分类正确,也需要接受一定的惩罚。因此引入置信间隔 ρ>0 和对应的损失函数 ρ-margin lossΦρ(x)=min(1,max(0,1x/ρ)),也就是一个 (,1)(0,1)(ρ,0)(+,0) 的分段函数
同时定义经验边界损失:

Def. Empirical margin loss
假设 h 关于样本 S=(x1,,xm)empirical margin loss,为 ρ-margin loss Φρ 的平均值:

R^S,ρ(h)=1mi=1mΦρ(yih(xi))

之所以用 ρ-margin loss 而不是简单在 ρ 处 0-1 突变,是因为这样保证其斜率最多为 1/ρ,也称之为 1/ρ-Lipschitz,有可用的定理:

Th. Talagrand's lemma
Φ1,,Φm:RR 都是 l-Lipschitz 函数,σ1,,σm 是 Rademacher 变量;对任意实函数的假设集合 H,关于样本 S=(x1,,xm),都有:

1mEσ[suphHi=1mσi(Φih)(xi)]lmEσ[suphHi=1mσih(xi)]=lR^S(H)

特别地,若 Φi=Φ,i[m],则该式变为 R^S(ΦH)lR^S(H)

感性理解,左式某个 Eσ±1 可视为某两个 Φσh1,Φσh2 的差,由于斜率限制它不会大于 h1,h2 差的 l
证明:
先划分为 Eσ1,,σm1[Eσm[supi=1m1+σm(Φmh)(xm)]],考虑对 Eσm 单独放缩
首先是一个套路:

如果要将 suph 向上放缩,考虑先松弛 sup,表述为:ϵ>0,h0,(1ϵ)suphh0,再对 h0 放缩到某个 g;相关证毕后再说明该式对任意 ϵ 均成立,从而有 suphg 成立

用该表述,由于有 σm,我们分别用 h1,h2 上限住 σm=±1 的情况,然后把 Eσm 替换为两者求和
接着,对于两者的 (Φmh1)(xm)(Φmh2)(xm),考虑上限住它同时摘掉 Φ,就自然地引入了 Φ 的变化率,也就是 l-Lipschitz 概念,得到其 sl(h1(xm)h2(xm)),其中 s 是修正符号
然后是刚才的逆过程:用 sup 又上限住两者同时统一形式,一正一负的求和又把 Eσm 请了回来,最后得到 Eσm[supi=1m1+σm(Φmh)(xm)]Eσm[supi=1m1+σmlh(xm)];对其他 σ 同理即可

利用该定理,给出我们关于泛化误差 R(h) 的上界:

Th. Margin bound for binary classification
H 是映射 h:XR 的集合(以其符号进行二分类)。固定置信间隔 ρ>0,以至少 1δ 的概率,对任意 hH 有:

R(h)R^S,ρ(h)+2ρRm(H)+log1δ2mR(h)R^S,ρ(h)+2ρR^S(H)+3log2δ2m

其中 R(h)=E[1yh(x)0], R^S,ρ(h)=1mi=1mΦρ(yih(xi))

证明,以第一个式子为例,第二个式子同理
首先 R(h)E[Φρ(yh(x))]
H~={z=(x,y)yh(x):hH}, G=ΦρH~,后者元素为 g:z[0,1],代入定理(见 3.1)

E[g(z)]1mi=1mg(zi)+2Rm(G)+log1δ2mE[Φρ(yh(x))]R^S,ρ(h)+2Rm(ΦρH~)+log1δ2mR^S,ρ(h)+2ρRm(H~)+log1δ2m

Rm(H~)=ES,σ[suphH1mi=1mσiyih(xi)] 可以直接把 yi 去掉(可见 Rademacher 变量可以做为有无标签的桥梁),也就是 Rm(H),于是得证

观察式子,它包含关于置信区间 ρ 的 trade-off:增大 ρ,第二项会减小,但是第一项会被惩罚地更多。进一步思考:

(这是一个我从未注意过的问题)
既然这是个关于 ρ 的 trade-off,那么我们能不能考虑滑动这个 ρ 以达到一个理想的上界呢?
答案是不能。为什么?
当我们滑动 ρ 时,我们求最值的这个过程等价于承认了这个不等式对滑到的任意 ρ 成立,更完整地说,命题变成:“以至少 1δ 的概率,对任意 ρ 成立”
而我们原本的定理是:“对一个 ρ 以至少 1δ 的概率成立”。显然两者是不等价的:前者事件是后者的交,而概率会小等于后者
因此我们想要滑动 ρ 的话,我们不能在原定理上滑,我们应该先给出一个对一个范围内的 ρ(以某个概率)同时成立的定理

Th. Margin bound for ρ(0,r]
H 是映射 h:XR 的集合(以其符号进行二分类)。固定 r>0,以至少 1δ 的概率,对任意 hH,ρ(0,r] 有:

R(h)R^S,ρ(h)+4ρRm(H)+loglog22rρm+log2δ2mR(h)R^S,ρ(h)+4ρR^S(H)+loglog22rρm+3log4δ2m

证明思路,以第一个式子为例:
利用原定理的另一个表述:Pr[suphH{f(ρ,ϵ)}>0]exp(2mϵ2)f 就是把不等式的项全部移到一边
构造事件序列:(ρk)k1,(ϵk)k1,套进该式,然后用 union bound 合并事件:

Pr[suphH,k1{f(ρk,ϵk)}>0]k1exp(2mϵk2)

后者需要进一步放缩成关于 ϵ 的式子,往级数求和收敛靠,取 ϵk=ϵ+uk,狠狠放缩:

=k1exp(2m(ϵ+uk)2)exp(2mϵ2)k1exp(2muk2)

根据该式构造 uk:取开方,除以 m,再套一个 log,即 uk=(logk)/m,丢进去,级数求和收敛:

=exp(2mϵ2)k11/k2=π26exp(2mϵ2)2exp(2mϵ2)

得到对事件序列 (ρk)k1 成立的引理,接下来把 ρ(0,r] 套进去,假设 ρ 的界对应为 g(ρ),即证明 Pr[suphH,ρ(0,c]{g(ρ)}>0]Pr[suphH,k1{f(ρk)}>0],不妨证明前者包含于后者,即 suphH,ρ(0,c]{g(ρ)}suphH,k1{f(ρk)},不妨证明对任意 ρ(0,c],总存在 ρk 使得 g(ρ)f(ρk)
由于 f(ρk)=R(h)R^S,ρk(h)2ρkRm(H)ϵ(logk)/m,为了向下放缩,可以先取 ρk=r/2k,从而对于任意 ρ(0,r],总存在 ρ(ρk,ρk1],ρ2ρk,这样设计使得我们同时拥有 ρk,ρ 的不同方向的不等号,方便我们对每一项选择其一进行放缩,放缩后的式子即为 g(ρ),从而得证

对于有界情况,先对 Rademacher 复杂度提出一个上界:

Th. Bound for Rademacher complexity, bounded weight vectors case
容量为 m 的样本 S{x:xr},假设集合 H={xwx:wΛ},则 H 的 Rademacher complexity 具有上界:

R^S(H)r2Λ2mRm(H)=ES[R^S(H)]r2Λ2m

注意到上界是一个和特征空间 X(的维度)无关的式子,具体后面会讨论

证明:
R^S(H)=1mEσ[supwΛi=1mσiwxi]
提出 w,对 wi=1mσixi 用柯西不等式 Cauchy-Schwartz |ab||a||b|
wi=1mσixiwi=1mσixiwi=1mσixiΛi=1mσixi
Eσ[i=1mσixi]=Eσ[i=1mj=1mσiσjxixj]=Eσ[ijσiσjxixj+i=1mxi2],考虑把 E 塞进根号里就能去掉 ij,考虑 Jensen 不等式:凸函数 ff(E[X])E[f(X)],取 f 为平方,则原式的平方小等于 Eσ[ijσiσjxixj+i=1mxi2]=Eσ[i=1mxi2]mr2,代入得到 Λmr2/m=r2Λ2/m

合并该定理和上述两种定理,分别得到:

Th. Margin bound, bounded weight vectors case
容量为 m 的样本 S{x:xr},假设集合 H={xwx:wΛ},则

  1. 固定置信间隔 ρ>0,以至少 1δ 的概率,对任意 hH 有:

R(h)R^S,ρ(h)+2ρr2Λ2m+log1δ2m

  1. 对于该固定的 r>0,以至少 1δ 的概率,对任意 hH,ρ(0,r] 有:

R(h)R^S,ρ(h)+4ρr2Λ2m+loglog22rρm+log2δ2m

观察式子,这个上界只和分类面 margin 有关,即对样本的分类惩罚项 R^S,ρ(h)rΛ/ρ 项。对于线性可分情况,记当前分类面的几何距离为 ρgeom,令 ρ=ρgeom,则分类惩罚项为零,对于后一项显然令几何距离越大越好,这就是 SVM 算法来由的理论保障
此外,我们曾经提到过泛化误差的下界是关于特征空间 X 及其分布的式子,而这个定理给的上界看起来与之无关。实际上这并不矛盾,因为下界的叙述是对于总是存在的那个不好的分布 D 而言的,而这种分布下,上界会因为巨大的经验误差 R^S,ρ(h) 变得很松;因此,即使上界从式子上看起来无关,是否存在一个好的分类面(从而使得经验误差足够小)却是和特征空间的分布有关的

posted @   zrkc  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示