本文主要对机器学习的损失函数和SVM的原理以及相应的数学知识进行介绍
回归
一般来说,回归问题的 loss function 取决于 residual y − y ^ y-\hat y y−y^,说明我们比较关心预测值 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 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}
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 λi≥0,当 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λi≥0 L(x,λ)
上面这个问题的对偶问题( dual )是 m a x λ i ≥ 0 m i n x L ( x , λ ) max_{\lambda_i\geq0} \ min_x \ L(x, \lambda) maxλi≥0 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 x0∈X 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 λi∗fi(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λi∗fi(x))≤f0(x∗)+Σi=1mλi∗fi(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 21∣∣w∣∣2+ncΣi=1nmax{1−yi(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 21∣∣w∣∣2+ncΣi=1nξis.t. −ξi≤01−yi(wTxi+b)−ξi≤0
根据之前所述的拉格朗日乘子法,
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,ξ,α,λ)=21∣∣w∣∣2+ncΣi=1nξi+Σi=1nαi(1−yi(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,ξ,α,λ)=21∣∣w∣∣2+Σi=1nξi(nc−λi−αi)+Σi=1nαi(1−yi(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 ∂w∂L=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 ∂b∂L=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 ∂ξi∂L=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αi−21Σ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,λi≥0
可以通过SMO方法求解。
如果对偶问题的解为 α ∗ \alpha^* α∗,则原问题的解为 w ∗ = Σ i = 1 n α i ∗ y i x i w^*=\Sigma_{i=1}^n\alpha_i^*y_ix_i w∗=Σi=1nαi∗yixi,即 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∗(1−yi(w∗Txi+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(w∗Txi+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(w∗Txi+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(w∗Txi+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(w∗Txi+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(w∗Txi+b∗)=1,即 b ∗ = y i − w ∗ T x i b^*=y_i-w^{*T}x_i b∗=yi−w∗Txi,对于每一个点求出的 b b b平均数,得到 b ∗ b^* b∗。
到此为止,完成了 Linear SVM 的推导过程。
参考资料:NYU《Machine Learning》