CS229SVM支持向量机

1 函数间隔和几何间隔

逻辑回归 h θ ( x ) = g ( θ T x ) h_\theta( x)=g(\theta^T x) hθ(x)=g(θTx)其中的θ是{ θ 0 \theta_0 θ0, θ 1 \theta_1 θ1 θ n \theta_n θn},这里我们用 w = θ 1 , . . . , θ n w={\theta_1,...,\theta_n} w=θ1,...,θn,b= θ 0 \theta_0 θ0,进而得到 h w , b ( x ) = g ( w T x + b ) h_{w,b}( x)=g(w^T x+b) hw,b(x)=g(wTx+b)。以二分类举例,这里我们使用{-1,1}来表示两类。也就是说y=g(z),当z>0时,y=1,当z<0时,y=-1。

函数间隔

γ ^ = y i ( w x i + b ) \hat{\gamma}=y^i(wx^i+b) γ^=yi(wxi+b)
已知分界面为 w x + b = 0 wx+b=0 wx+b=0,我们用上式表示函数间隔。所谓间隔有间也有隔分别对应分类的确信度和正确性。
正确性: 如果 w x i + b < 0 wx^i+b<0 wxi+b<0,则对应yi应该为-1,即 y i ( w x i + b ) > 0 y^i(wx^i+b)>0 yi(wxi+b)>0;如果 w x i + b > 0 wx^i+b>0 wxi+b>0,则对应yi应该为1,即 y i ( w x i + b ) > 0 y^i(wx^i+b)>0 yi(wxi+b)>0。如果分类正确那么 γ ^ \hat{\gamma} γ^ 始终大于0。
确信度: 如果 w x i + b wx^i+b wxi+b远远大于0,这表示该点离分界面很远,表明该点分类正确性的可能很大。所以 γ ^ \hat{\gamma} γ^ 值越大表明点离分界面越远确信度越高。
但是函数间隔存在一定的问题,上述定义的函数间隔虽然可以表示分类预测的正确性和确信度,但在选择分类 超平面时,只有函数间隔还远远不够,因为如果成比例的改变 w 和 b,如将他们改变为 2w 和 2b,虽然此时超 平面没有改变,但函数间隔的值 γ ^ \hat{\gamma} γ^却变成了原来的 4 倍。

所以在实际中,我们定义点到超平面的距离时,采用的是几何间隔

几何间隔

τ = y i ( w x i + b ) ∣ ∣ w ∣ ∣ \tau=\frac{y^i(wx^i+b)}{||w||} τ=wyi(wxi+b)
上式表示为几何间隔。

在上图中w向量与分界面垂直, γ \gamma γ表示x与x0之间的距离,我们可得 x = x 0 + γ ∣ ∣ w ∣ ∣ x=x_0+\frac{\gamma} { ||w||} x=x0+wγ
为了消除函数间隔随着w的改变而改变的缺点,对w进行标准化,所以需要除以它的二范数。 γ = ( w x i + b ) / ∣ ∣ w ∣ ∣ \gamma =(wx^i+b)/||w|| γ=(wxi+b)/w
所以集合间距 τ = γ ^ / ∣ ∣ w ∣ ∣ \tau = \hat{\gamma}/||w|| τ=γ^/w,可以看到,此时系数的成倍的变化,不会带来几何间隔的改变。

2 最优间隔分类器

这里网上有位大佬讲的非常好,视频在这,下面是笔记
在这里插入图片描述
如图中所示我们要寻找“x"和”O“的边界,其中两条分界线都满足分类要求,但是图中绿色分界线距离样本点的最小距离是比较小的,而蓝色分界线的最小距离较大(如图中绿色箭头和蓝色箭头所示)。这就说明当对新数据进行判别时蓝色分界线的鲁棒性更强。
在处理分类问题时,我们就是要寻找最大间隔(距离超平面最近的点到超平面的距离最大)分类器。即可表示为
m a x   m a r g i n ( w , b ) ( x i ∈ R n , y i ∈ − 1 , 1 ) max\ margin(w,b)(xi\in R^n,y_i\in{-1,1}) max margin(w,b)(xiRn,yi1,1)
s.t   y i ( w T x i + b ) > 0 , i = 1 , . . . , n \ y_i(w^Tx_i+b)>0,i=1,...,n  yi(wTxi+b)>0,i=1,...,n
其中的约束条件就表明这是可分类的数据集。
m a r g i n ( w , b ) = m i n   d i s t a n c e ( w , b , x i ) margin(w,b)=min \ distance(w,b,x_i) margin(w,b)=min distance(w,b,xi)其中distance是点到直线的距离,即可得到:
在这里插入图片描述
在对上式做一些改动可得:
{ m a x   m i n 1 ∣ ∣ w ∣ ∣ y i ( w T x i + b ) \{max\ min\frac{1}{||w||}y_i(w^Tx_i+b) {max minw1yi(wTxi+b)
∃ {\exists} r>0,s.t m i n   y i ( w T x i + b ) = r } min\ y_i(w^Tx_i+b)=r\} min yi(wTxi+b)=r}
因为绝对值大于0,yi不是-1就是1且 y i ( w T x i + b ) > 0 y_i(w^Tx_i+b)>0 yi(wTxi+b)>0所以上面的式子与图中的式子是相等的。

因为min只与xi有关而与||w||无关所以||w||可以往前提,可得:
{ m a x 1 ∣ ∣ w ∣ ∣ m i n   y i ( w T x i + b ) \{max\frac{1}{||w||}min\ y_i(w^Tx_i+b) {maxw1min yi(wTxi+b)
∃ {\exists} r>0,s.t m i n   y i ( w T x i + b ) = r } min\ y_i(w^Tx_i+b)=r\} min yi(wTxi+b)=r}

又因为 m i n   y i ( w T x i + b ) min\ y_i(w^Tx_i+b) min yi(wTxi+b)是函数边界,而函数边界通过修改Wt和b是不改变的,所以可以找到w*,b*使得r=1。可得:
{ m a x 1 ∣ ∣ w ∣ ∣ ⋅ 1 \{max\frac{1}{||w||}·1 {maxw11
s.t m i n   y i ( w T x i + b ) = 1 } min\ y_i(w^Tx_i+b)=1\} min yi(wTxi+b)=1}

在对上式做一些改变,将max问题改为min问题可得:
{ m i n   ( w , b )   1 / 2 ∣ ∣ w ∣ ∣ 2 \{min\ (w,b) \ 1/2||w||^2 {min (w,b) 1/2w2 →二次函数凸优化问题
s.t   y i ( w T x i + b ) ≥ 1 , i = 1 , . . . , n \ y_i(w^Tx_i+b)\ge1,i=1,...,n  yi(wTxi+b)1,i=1,...,n →N个约束

3 拉格朗日乘数法

上面我们提到了带约束的凸优化问题,这时我们利用拉格朗日乘数将约束条件整合。
拉格朗日乘数法方程:
l ( w , b , λ ) = 1 / 2 w T w + ∑ λ i [ 1 − y i ( w T x i + b ) ] , i = 1 , . . . , n l(w,b,\lambda)=1/2w^Tw+\sum \lambda_i[1-y_i(w^Tx_i+b)],i=1,...,n l(w,b,λ)=1/2wTw+λi[1yi(wTxi+b)],i=1,...,n
借助拉格朗日乘数法转换为无约束:
{ m i n   m a x l ( w , b , λ ) min \ max l(w,b, \lambda) min maxl(w,b,λ) 注意这里min的是参数w,b,max的参数是 λ \lambda λ
s.t λ i ≥ 0 \lambda_i\ge0 λi0}

再将上面的式子转换为对偶问题:
{ m a x   m i n l ( w , b , λ ) max \ min l(w,b, \lambda) max minl(w,b,λ) 注意这里max的参数是 λ \lambda λ,min的是参数w,b
s.t λ i ≥ 0 \lambda_i\ge0 λi0}
因为参数 w , b , λ w,b,\lambda w,b,λ满足KKT条件这拉格朗日对偶问题一定是凹函数。所以上面两组对偶问题的转换是成立的。

这时我们求解:
{ m a x   m i n l ( w , b , λ ) max \ min l(w,b, \lambda) max minl(w,b,λ)
s.t λ i ≥ 0 \lambda_i\ge0 λi0}
首先对w,b分别求导并得0可得:
在这里插入图片描述
在这里插入图片描述
将上面两式代入 l ( w , b , λ ) l(w,b,\lambda) l(w,b,λ)方程可得;
l ( w , b , λ ) = − 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i T x j + ∑ i = 1 n λ i l(w,b,\lambda)=-\frac{1}{2}\sum\nolimits_{i=1}^n\sum\nolimits_{j=1}^n\lambda_i\lambda_j y_iy_jx_i^Tx_j+\sum\nolimits_{i=1}^n\lambda_i l(w,b,λ)=21i=1nj=1nλiλjyiyjxiTxj+i=1nλi

这时目标方程可转换为:
{ m i n − l ( λ ) min -l(\lambda) minl(λ)注意这里min的参数为 λ \lambda λ
s.t λ i ≥ 0 \lambda_i\ge0 λi0}
即:
{min 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i T x j − ∑ i = 1 n λ i \frac{1}{2}\sum\nolimits_{i=1}^n\sum\nolimits_{j=1}^n\lambda_i\lambda_j y_iy_jx_i^Tx_j-\sum\nolimits_{i=1}^n\lambda_i 21i=1nj=1nλiλjyiyjxiTxji=1nλi 注意这里min的参数为 λ \lambda λ
s.t λ i ≥ 0 , ∑ i = 1 n λ i y i = 0 \lambda_i\ge0,\sum\nolimits_{i=1}^n\lambda_i y_i=0 λi0,i=1nλiyi=0}

4 Soft-Margin SVM

上面我们讨论二分类的线性分是有前提的,那就是 y i ( w T x i + b ) > 0 , i = 1 , . . . , n y_i(w^Tx_i+b)>0,i=1,...,n yi(wTxi+b)>0,i=1,...,n即数据集是线性可分的,那如果存在错误分类数据,那么上述方法不可用。在允许存在一定量错误的情况下,我们采取Soft-Margin的方法处理数据集。(注意这里是一定量如果是那种完全不可线性分的情况,我们往下会提到解决方法)
其实就是增加一个error值,即:
{min 1 2 w T w + c ∑ i = 1 n m a x { 0 , 1 − y i ( w T x i + b ) } \frac{1}{2}w^Tw+c\sum\nolimits_{i=1}^nmax\{{0,1-y_i(w^Tx_i+b)}\} 21wTw+ci=1nmax{0,1yi(wTxi+b)}
s . t   y i ( w T x i + b ) ≥ 1 , i = 1 , . . . , n s.t\ y_i(w^Tx_i+b)\ge1,i=1,...,n s.t yi(wTxi+b)1,i=1,...,n}

引入 ε i = 1 − y i ( w T x i + b ) \varepsilon_i=1-y_i(w^Tx_i+b) εi=1yi(wTxi+b),则 ε i ≥ 0 \varepsilon_i\ge0 εi0
{min 1 2 w T w + c ∑ i = 1 n ε i \frac{1}{2}w^Tw+c\sum\nolimits_{i=1}^n\varepsilon_i 21wTw+ci=1nεi
s . t   y i ( w T x i + b ) ≥ 1 , i = 1 , . . . , n s.t\ y_i(w^Tx_i+b)\ge1,i=1,...,n s.t yi(wTxi+b)1,i=1,...,n ε i ≥ 0 \varepsilon_i\ge0 εi0}

5 Kenel Method 核方法

kenel method →低维的线性不可分带来高维转换
kenel trick→对偶问题带来内积,直接求 ϕ T ϕ \phi^T\phi ϕTϕ而不单独去求 ϕ \phi ϕ
kenel function→ k ( x , x ‘ ) = ϕ ( x ) T ϕ ( x ‘ ) = ⟨ ϕ ( x ) T , ϕ ( x ‘ ) ⟩ k(x,x`)=\phi(x)^T\phi(x`)=\langle\phi(x)^T,\phi(x`)\rangle k(x,x)=ϕ(x)Tϕ(x)=ϕ(x)T,ϕ(x)

线性可分线性不可分(存在一定错误)完全线性不可分
hard margin SVMsoft margin SVM升维 ϕ ( x ) + h a r d − m a r g i n S V M \phi(x)+hard-margin SVM ϕ(x)+hardmarginSVM

高维比低维更易线性可分
什么是核函数?
X×X属于实数集|R,那么 ∀ x , z ∈ X , k ( x , z ) = ⟨ ϕ ( x ) T , ϕ ( z ) ⟩ 则 称 k ( x , z ) {\forall}x,z\in X,k(x,z)=\langle\phi(x)^T,\phi(z)\rangle则称k(x,z) x,zX,k(x,z)=ϕ(x)T,ϕ(z)k(x,z)为核函数。
正定核的两个定义:
(1)k:X×X→|R, ∀ x , z ∈ X , {\forall}x,z\in X, x,zX,有k(x,z),如果 ∃ ϕ : x → ∣ R , ϕ ∈ H ( 希 尔 伯 特 空 间 ) , s . t   k ( x , z ) = ⟨ ϕ ( x ) T , ϕ ( z ) ⟩ {\exists}\phi:x→|R,\phi\in H(希尔伯特空间),s.t\ k(x,z)=\langle\phi(x)^T,\phi(z)\rangle ϕ:xR,ϕH(,s.t k(x,z)=ϕ(x)T,ϕ(z),则称k(x,z)为正定核函数。
(2)k:X×X→|R, ∀ x , z ∈ X , {\forall}x,z\in X, x,zX,有k(x,z),如果k(x,z)满足如下两条性质:
1)对称性:k(x,z)=k(z,x)
2)正定性:任取N个元素,x1,x2,…,xn   ∈ X \ \in X  X,对应的Gram Matrix是半正定的。
则称k(x,z)为正定核函数。
注意:这里解释一下什么是(希尔伯特空间Hilbert Space):完备的,可能是无限维被赋予内积的线性空间。
完备的:对极限的操作是封闭的,也就是说所有可能的数据都在该空间中。
被赋予内积:1,正定性2,对称性3,线性
必要性的证明:参考大佬视频,这里是截图:
在这里插入图片描述
在这里插入图片描述

参考资料

链接:https://www.jianshu.com/p/2e3c0c583e85

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值