机器学习 - 损失函数和支持向量机SVM

本文主要对机器学习的损失函数和SVM的原理以及相应的数学知识进行介绍

回归

一般来说,回归问题的 loss function 取决于 residual y − y ^ y-\hat y yy^,说明我们比较关心预测值 y ^ \hat y y^与实际值 y y y之间的绝对差距。但是如果我们比较关心预测值 y ^ \hat y y^是实际值 y y y的几倍的时候,可以将 y y y做 log transform,然后就可以回到我们熟悉的残差版本。

常见的 loss function 有

  • l 2   l o s s = ( y − y ^ ) 2 l_2 \ loss = (y-\hat y)^2 l2 loss=(yy^)2
  • l 1   l o s s = ∣ y − y ^ ∣ l_1 \ loss = |y - \hat y| l1 loss=yy^
  • H u b e r   l o s s = { q u a d r a t i c ,   ∣ y = y ^ ∣ ≤ δ l i n e a r ,   ∣ y = y ^ ∣ > δ Huber \ loss = \left\{ \begin{aligned} quadratic, \ |y=\hat y|\leq \delta\\ linear,\ |y=\hat y| > \delta \\ \end{aligned} \right. Huber loss={quadratic, y=y^δlinear, y=y^>δ

l 2   l o s s l2 \ loss l2 loss对noise不够robust, l 1   l o s s l1 \ loss l1 loss x = 0 x=0 x=0不可导,所以 H u b e r   l o s s Huber \ loss Huber loss对两者进行了综合。

分类

二分类

y ∈ { − 1 , 1 } y \in \{-1,1\} y{1,1}

  • 0 − 1   l o s s = 1 ( y i f ( x i ) ≤ 0 ) 0-1 \ loss = 1(y_if(x_i)\leq 0) 01 loss=1(yif(xi)0)
  • h i n g e   l o s s = m a x { 1 − y i f ( x i ) , 0 } hinge \ loss = max\{1-y_if(x_i), 0\} hinge loss=max{1yif(xi),0}
  • l o g i s t i c   l o s s = l o g ( 1 + e − y i f ( x i ) ) logistic \ loss = log(1+e^{-y_if(x_i)}) logistic loss=log(1+eyif(xi))

Convex

  • Convex Sets : 对于 x 1 , x 2 ∈ C x_1,x_2 \in C x1,x2C,对于任何 θ \theta θ满足 0 ≤ θ ≤ 1 0\leq\theta\leq1 0θ1,都有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta) x_2\in C θx1+(1θ)x2C,称这样的集合 C C C为凸集合,即对于集合中任意两点的连线,线上任意一点都还在集合中。
  • Convex Functions:如果 f f f定义在凸集合上,并且对于 f f f定义域内的所有 x , y x,y x,y,当 0 ≤ θ ≤ 1 0\leq \theta \leq 1 0θ1时,有 f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y) f(θx+(1θ)y)θf(x)+(1θ)f(y),称这样的 f f f为凸函数。当严格 < < <时,称 f f f为strictly convex。

General Optimization Problem

m i n i m i z e       f 0 ( x ) s u b j e c t   t o     f i ( x ) ≤ 0 ,   i = 1 , 2 , . . . , m                    h i ( x ) = 0 , i = 1 , 2 , . . . , p minimize \ \ \ \ \ f_0(x) \\ subject \ to \ \ \ f_i(x)\leq 0, \ i=1,2,...,m \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h_i(x)=0, i=1,2,...,p minimize     f0(x)subject to   fi(x)0, i=1,2,...,m                  hi(x)=0,i=1,2,...,p

Lagrangian Duality

对于如下优化问题,

m i n i m i z e       f 0 ( x ) s u b j e c t   t o     f i ( x ) ≤ 0 ,   i = 1 , 2 , . . . , m minimize \ \ \ \ \ f_0(x) \\ subject \ to \ \ \ f_i(x)\leq 0, \ i=1,2,...,m minimize     f0(x)subject to   fi(x)0, i=1,2,...,m

Lagrangian L ( x , λ ) = f 0 ( x ) + Σ i = 1 m λ i f i ( x ) L(x, \lambda)=f_0(x)+\Sigma_{i=1}^m\lambda_if_i(x) L(x,λ)=f0(x)+Σi=1mλifi(x)

λ i \lambda_i λi被叫做Lagrange multipliers ( 也叫做 dual variables )

如果 λ i ≥ 0 \lambda_i\geq 0 λi0,当 x x x满足约束条件的时候, m a x   L ( x , λ ) = f 0 ( x ) max\ L(x, \lambda)=f_0(x) max L(x,λ)=f0(x);当 x x x不满足约束条件的时候, m a x   L ( x , λ ) = + ∞ max \ L(x, \lambda)=+\infty max L(x,λ)=+

所以对于原问题( primal ),我们想 m i n x   f 0 ( x ) min_x \ f_0(x) minx f0(x),相当于 m i n x   m a x λ i ≥ 0   L ( x , λ ) min_x \ max_{ \lambda_i\geq 0} \ L(x, \lambda) minx maxλi0 L(x,λ)

上面这个问题的对偶问题( dual )是 m a x λ i ≥ 0   m i n x   L ( x , λ ) max_{\lambda_i\geq0} \ min_x \ L(x, \lambda) maxλi0 minx L(x,λ), g ( λ ) = m i n x   L ( x , λ ) g(\lambda) =min_x \ L(x, \lambda) g(λ)=minx L(x,λ)叫做Lagrange dual function

而对于所有优化问题,对偶问题的解 ≤ \leq 原问题的解,简单证明如下, f o r   a n y   x 0 ∈ X   a n d   λ 0 ∈ Λ m i n x   L ( x , λ 0 ) ≤ L ( x 0 , λ 0 ) ≤ m a x λ   L ( x 0 , λ ) b e c a u s e   t h e   a b o v e   e q u a t i o n   i s   t r u e   f o r   a l l   x 0   a n d   λ 0 s o    m a x λ   m i n x   L ( x , λ ) ≤ m i n x   m a x λ   L ( x , λ ) for \ any\ x^0\in X \ and \ \lambda^0 \in \Lambda \\ min_x\ L(x, \lambda^0)\leq L(x^0, \lambda^0) \leq max_{\lambda} \ L(x^0,\lambda)\\ because \ the\ above\ equation \ is \ true \ for \ all \ x^0 \ and \ \lambda^0 \\ so \ \ max_{\lambda}\ min_x\ L(x, \lambda)\leq min_x\ max_{\lambda} \ L(x,\lambda) for any x0X and λ0Λminx L(x,λ0)L(x0,λ0)maxλ L(x0,λ)because the above equation is true for all x0 and λ0so  maxλ minx L(x,λ)minx maxλ L(x,λ)
对于强对偶问题,对偶问题的解 = = =原问题的解,SVM恰好就是强对偶的情况,所以我们可以通过解对偶问题得到原问题的解。

而我们之所以要引入对偶问题的原因一般在于对偶问题相对于原问题更加好解。

Convex Optimization

standard form

m i n i m i z e     f 0 ( x ) s u b j e c t   t o     f i ( x ) ≤ 0 , i = 1 , 2 , . . . , m f i ( x )   i s   c o n v e x   f u n c t i o n minimize \ \ \ f_0(x) \\ subject \ to\ \ \ f_i(x)\leq0,i=1,2,...,m \\ f_i(x)\ is\ convex \ function minimize   f0(x)subject to   fi(x)0,i=1,2,...,mfi(x) is convex function

而对于Convex Optimization的情况,一般都存在强对偶的性质。

Complementary Slackness

对于一个一般的优化问题,这个问题具有强对偶的性质,第 i i i个最优拉格朗日乘子 λ i ∗ \lambda_i^* λi,与在最优解 x ∗ x^* x处的第 i i i个约束问题 f i ( x ∗ ) f_i(x^*) fi(x)的值乘积为0,即 λ i ∗ f i ( x ∗ ) = 0 \lambda_i^*f_i(x^*)=0 λifi(x)=0,这个性质叫做Complementary Slackness。

证明如下,因为强对偶性,原问题与对偶问题有相同的解,所以

f 0 ( x ∗ ) = g ( λ ∗ ) = m i n x   ( f 0 ( x ) + Σ i = 1 m λ i ∗ f i ( x ) ) ≤ f 0 ( x ∗ ) + Σ i = 1 m λ i ∗ f i ( x ∗ ) ≤ f 0 ( x ∗ ) f_0(x^*) = g(\lambda^*)=min_x \ (f_0(x)+\Sigma_{i=1}^m\lambda_i^*f_i(x))\leq \\f_0(x^*)+\Sigma_{i=1}^m\lambda_i^*f_i(x^*)\leq f_0(x^*) f0(x)=g(λ)=minx (f0(x)+Σi=1mλifi(x))f0(x)+Σi=1mλifi(x)f0(x)

SVM

m i n w , b   1 2 ∣ ∣ w ∣ ∣ 2 + c n Σ i = 1 n m a x { 1 − y i ( w T x i + b ) , 0 } min_{w,b} \ \frac{1}{2}||w||^2+\frac{c}{n}\Sigma_{i=1}^nmax\{1-y_i(w^Tx_i+b), 0\} minw,b 21w2+ncΣi=1nmax{1yi(wTxi+b),0}

前面一项是 L2正则化,后面一项是 Empirical Risk。但是由于上述 loss function 在某些点不可导,所以转换为如下形式

m i n w , b   1 2 ∣ ∣ w ∣ ∣ 2 + c n Σ i = 1 n ξ i s . t .   − ξ i ≤ 0 1 − y i ( w T x i + b ) − ξ i ≤ 0 min_{w,b}\ \frac{1}{2}||w||^2+\frac{c}{n}\Sigma_{i=1}^n\xi_i \\ s.t. \ -\xi_i\leq0 \\ 1-y_i(w^Tx_i+b)-\xi_i\leq 0 minw,b 21w2+ncΣi=1nξis.t. ξi01yi(wTxi+b)ξi0

根据之前所述的拉格朗日乘子法,
L ( w , b , ξ , α , λ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + c n Σ i = 1 n ξ i + Σ i = 1 n α i ( 1 − y i ( w T x i + b ) − ξ i ) + Σ i = 1 n λ i ( − ξ i ) L(w,b,\xi,\alpha,\lambda)=\frac{1}{2}||w||^2+\frac{c}{n}\Sigma_{i=1}^n\xi_i+ \\ \Sigma_{i=1}^n\alpha_i(1-y_i(w^Tx_i+b)-\xi_i)+\Sigma_{i=1}^n\lambda_i(-\xi_i) L(w,b,ξ,α,λ)=21w2+ncΣi=1nξi+Σi=1nαi(1yi(wTxi+b)ξi)+Σi=1nλi(ξi)

整理得到,
L ( w , b , ξ , α , λ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + Σ i = 1 n ξ i ( c n − λ i − α i ) + Σ i = 1 n α i ( 1 − y i ( w T x i + b ) ) L(w,b,\xi,\alpha,\lambda)=\frac{1}{2}||w||^2+\Sigma_{i=1}^n\xi_i(\frac{c}{n}-\lambda_i-\alpha_i)+ \\ \Sigma_{i=1}^n\alpha_i(1-y_i(w^Tx_i+b)) L(w,b,ξ,α,λ)=21w2+Σi=1nξi(ncλiαi)+Σi=1nαi(1yi(wTxi+b))

所以原问题为 m i n w , b , ξ   m a x α , λ ≥ 0   L ( w , b , ξ , α , λ ) min_{w,b,\xi} \ max_{ \alpha,\lambda\geq 0} \ L(w,b,\xi,\alpha,\lambda) minw,b,ξ maxα,λ0 L(w,b,ξ,α,λ),对偶问题为 m a x α , λ ≥ 0   m i n w , b , ξ   L ( w , b , ξ , α , λ ) max_{ \alpha,\lambda\geq 0} \ min_{w,b,\xi} \ L(w,b,\xi,\alpha,\lambda) maxα,λ0 minw,b,ξ L(w,b,ξ,α,λ)

因为SVM为强对偶的情况,所以原问题的解与对偶问题的解相同。

Lagrange dual function g ( α , λ ) = m i n w , b , ξ L ( w , b , ξ , α , λ ) g(\alpha, \lambda)=min_{w,b,\xi}L(w,b,\xi,\alpha,\lambda) g(α,λ)=minw,b,ξL(w,b,ξ,α,λ),因为要求最值,并且 L L L w , b , ξ w,b,\xi w,b,ξ为凸且可导的,所以分别对 w , b , ξ w,b,\xi w,b,ξ求导,令导数为0即可。

∂ L ∂ w = 0 \frac{\partial L}{\partial w}=0 wL=0可得 w = Σ i = 1 n α i y i x i w=\Sigma_{i=1}^n\alpha_iy_ix_i w=Σi=1nαiyixi

∂ L ∂ b = 0 \frac{\partial L}{\partial b}=0 bL=0可得 Σ i = 1 n α i y i = 0 \Sigma_{i=1}^n\alpha_iy_i=0 Σi=1nαiyi=0

∂ L ∂ ξ i = 0 \frac{\partial L}{\partial \xi_i}=0 ξiL=0可得 α i + λ i = c n \alpha_i+\lambda_i=\frac{c}{n} αi+λi=nc

带入 L L L,得到 g ( α , λ ) = Σ i = 1 n α i − 1 2 Σ i , j = 1 n α i α j y i y j x j T x i g(\alpha, \lambda)=\Sigma_{i=1}^n\alpha_i-\frac{1}{2}\Sigma_{i,j=1}^n\alpha_i\alpha_jy_iy_jx_j^Tx_i g(α,λ)=Σi=1nαi21Σi,j=1nαiαjyiyjxjTxi

此时,我们的对偶问题已经解决了一半,另一半是 m a x α , λ ≥ 0    g ( α , λ ) s . t .     Σ i = 1 n α i y i = 0 , α i + λ i = c n , α i , λ i ≥ 0 max_{\alpha,\lambda\geq0}\ \ g(\alpha,\lambda)\\ s.t. \ \ \ \Sigma_{i=1}^n\alpha_iy_i=0,\alpha_i+\lambda_i=\frac{c}{n},\alpha_i,\lambda_i\geq0 maxα,λ0  g(α,λ)s.t.   Σi=1nαiyi=0,αi+λi=nc,αi,λi0

可以通过SMO方法求解。

如果对偶问题的解为 α ∗ \alpha^* α,则原问题的解为 w ∗ = Σ i = 1 n α i ∗ y i x i w^*=\Sigma_{i=1}^n\alpha_i^*y_ix_i w=Σi=1nαiyixi,即 w ∗ w^* w x i x_i xi的线性组合。对应 α i ∗ ≠ 0 \alpha_i^*\neq0 αi=0 x i x_i xi,为 Support Vector。

根据之前介绍的 Complementary Slackness,

α i ∗ ( 1 − y i ( w ∗ T x i + b ∗ ) − ξ i ∗ ) = 0 \alpha_i^*(1-y_i(w^{*T}x_i+b^*)-\xi_i^*)=0 αi(1yi(wTxi+b)ξi)=0
λ i ( ξ i ∗ ) = ( c n − α i ∗ ) ξ i ∗ = 0 \lambda_i(\xi_i^*)=(\frac{c}{n}-\alpha_i^*)\xi^*_i=0 λi(ξi)=(ncαi)ξi=0

所以,如果 y i ( w ∗ T x i + b ∗ ) > 1 y_i(w^{*T}x_i+b^*)>1 yi(wTxi+b)>1 ξ i ∗ = 0 \xi_i^*=0 ξi=0 α i ∗ = 0 \alpha_i^*=0 αi=0;如果 y i ( w ∗ T x i + b ∗ ) < 1 y_i(w^{*T}x_i+b^*)<1 yi(wTxi+b)<1 ξ i ∗ ≠ 0 \xi_i^*\neq0 ξi=0 α i ∗ = c n \alpha_i^*=\frac{c}{n} αi=nc;如果 y i ( w ∗ T x i + b ∗ ) = 1 y_i(w^{*T}x_i+b^*)=1 yi(wTxi+b)=1 α i ∗ ∈ [ 0 , c n ] \alpha_i^*\in[0,\frac{c}{n}] αi[0,nc]

所以,Support Vector对应 y i ( w ∗ T x i + b ∗ ) ≤ 1 y_i(w^{*T}x_i+b^*)\leq1 yi(wTxi+b)1的样本。

在我们得到 w ∗ w^* w之后,如何得到 b ∗ b^* b呢?

对于 α i ∗ ∈ ( 0 , c n ) \alpha_i^*\in(0,\frac{c}{n}) αi(0,nc)的点, y i ( w ∗ T x i + b ∗ ) = 1 y_i(w^{*T}x_i+b^*)=1 yi(wTxi+b)=1,即 b ∗ = y i − w ∗ T x i b^*=y_i-w^{*T}x_i b=yiwTxi,对于每一个点求出的 b b b平均数,得到 b ∗ b^* b

到此为止,完成了 Linear SVM 的推导过程。

参考资料:NYU《Machine Learning》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值