机器学习算法笔记:SVM支持向量机

支持向量机

支持向量机(SVM)算法在分类问题中有着重要地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:

  • 线性可分问题,如之前的感知机算法处理的问题
  • 线性可分,只有一点点错误点,如感知机算法发展出来的 Pocket 算法处理的问题
  • 非线性问题,完全不可分,如在感知机问题发展出来的多层感知机和深度学习

这三种情况对于 SVM 分别有下面三种处理手段:

  • hard-margin SVM
  • soft-margin SVM
  • kernel Method

约束优化问题

SVM 的求解中,大量用到了 Lagrange 乘子法。
对于一般约束优化问题可以表示为以下形式:
min ⁡ x ∈ R p f ( x ) s . t .   m i ( x ) ≤ 0 , i = 1 , 2 , ⋯   , M         n j ( x ) = 0 , j = 1 , 2 , ⋯   , N \begin{aligned} &\min_{x\in\mathbb{R^p}}f(x)\\ &s.t.\ m_i(x)\le0,i=1,2,\cdots,M\\ &\ \ \ \ \ \ \ n_j(x)=0,j=1,2,\cdots,N \end{aligned} xRpminf(x)s.t. mi(x)0,i=1,2,,M       nj(x)=0,j=1,2,,N

定义 Lagrange 函数:
L ( x , λ , η ) = f ( x ) + ∑ i = 1 M λ i m i ( x ) + ∑ i = 1 N η i n i ( x ) L(x,\lambda,\eta)=f(x)+\sum\limits_{i=1}^M\lambda_im_i(x)+\sum\limits_{i=1}^N\eta_in_i(x) L(x,λ,η)=f(x)+i=1Mλimi(x)+i=1Nηini(x)

那么原问题可以等价于无约束形式:
min ⁡ x ∈ R p max ⁡ λ , η L ( x , λ , η ) s . t .   λ i ≥ 0 \begin{aligned} &\min_{x\in\mathbb{R}^p}\max_{\lambda,\eta}L(x,\lambda,\eta)\\ &s.t.\ \lambda_i\ge0 \end{aligned} xRpminλ,ηmaxL(x,λ,η)s.t. λi0

这是由于当满足原问题的不等式约束的时候, λ i = 0 \lambda_i=0 λi=0 才能取得最大值,直接等价于原问题,如果不满足原问题的不等式约束,那么最大值就为 + ∞ +\infin +,由于需要取最小值,所以不会取到这个情况。

这个问题的对偶形式:
max ⁡ λ , η min ⁡ x ∈ R p L ( x , λ , η ) s . t .   λ i ≥ 0 \begin{aligned} &\max_{\lambda,\eta}\min_{x\in\mathbb{R}^p}L(x,\lambda,\eta)\\ &s.t.\ \lambda_i\ge0 \end{aligned} λ,ηmaxxRpminL(x,λ,η)s.t. λi0

对偶问题是关于 λ , η \lambda, \eta λ,η 的最大化问题。

由于: max ⁡ λ i , η j min ⁡ x L ( x , λ i , η j ) ≤ min ⁡ x max ⁡ λ i , η j L ( x , λ i , η j ) \max_{\lambda_i,\eta_j}\min_{x}L(x,\lambda_i,\eta_j)\le\min_{x}\max_{\lambda_i,\eta_j}L(x,\lambda_i,\eta_j) λi,ηjmaxxminL(x,λi,ηj)xminλi,ηjmaxL(x,λi,ηj)

证明显然有 min ⁡ x L ≤ L ≤ max ⁡ λ , η L \min\limits_{x}L\le L\le\max\limits_{\lambda,\eta}L xminLLλ,ηmaxL,于是显然有 max ⁡ λ , η min ⁡ x L ≤ L \max\limits_{\lambda,\eta}\min\limits_{x}L\le L λ,ηmaxxminLL,且 min ⁡ x max ⁡ λ , η L ≥ L \min\limits_{x}\max\limits_{\lambda,\eta}L\ge L xminλ,ηmaxLL

对偶问题可分为两种情况

  • 强对偶:可以取等于号
  • 弱对偶:不可以取等于号

对于一个凸优化问题,有如下定理
如果凸优化问题满足某些条件如 Slater 条件,那么它和其对偶问题满足强对偶关系。记问题的定义域为: D = d o m f ( x ) ∩ d o m m i ( x ) ∩ d o m n j ( x ) \mathcal{D}=domf(x)\cap dom m_i(x)\cap domn_j(x) D=domf(x)dommi(x)domnj(x)。于是 Slater 条件为:
∃ x ^ ∈ R e l i n t D   s . t .   ∀ i = 1 , 2 , ⋯   , M , m i ( x ) < 0 \exist\hat{x}\in Relint\mathcal{D}\ s.t.\ \forall i=1,2,\cdots,M,m_i(x)\lt0 x^RelintD s.t. i=1,2,,M,mi(x)<0 其中 Relint 表示相对内部(不包含边界的内部)。

1、对于大多数凸优化问题,Slater 条件成立。
2、松弛 Slater 条件,如果 M M M 个不等式约束中,有 K K K 个函数为仿射函数,那么只要其余的函数满足 Slater 条件即可。

了解原问题和对偶问题的对偶关系,还需要对参数进行求解,需要用到 KKT 条件,KKT 条件和强对偶关系是等价关系,KKT 条件对最优解的条件为:
1、可行域:
m i ( x ∗ ) ≤ 0 n j ( x ∗ ) = 0 λ ∗ ≥ 0 \begin{aligned} m_i(x^*)\le0\\ n_j(x^*)=0\\ \lambda^*\ge0 \end{aligned} mi(x)0nj(x)=0λ02、互补松弛 λ ∗ m i ( x ∗ ) = 0 ,   ∀ m i \lambda^*m_i(x^*)=0,\ \forall m_i λmi(x)=0, mi,对偶问题的最佳值为 d ∗ d^* d,原问题为 p ∗ p^* p d ∗ = max ⁡ λ , η g ( λ , η ) = g ( λ ∗ , η ∗ ) = min ⁡ x L ( x , λ ∗ , η ∗ ) ≤ L ( x ∗ , λ ∗ , η ∗ ) = f ( x ∗ ) + ∑ i = 1 M λ ∗ m i ( x ∗ ) ≤ f ( x ∗ ) = p ∗ \begin{aligned} d^*&=\max_{\lambda,\eta}g(\lambda,\eta)=g(\lambda^*,\eta^*)\\ &=\min_{x}L(x,\lambda^*,\eta^*)\\ &\le L(x^*,\lambda^*,\eta^*)\\ &=f(x^*)+\sum\limits_{i=1}^M\lambda^*m_i(x^*)\\ &\le f(x^*)=p^* \end{aligned} d=λ,ηmaxg(λ,η)=g(λ,η)=xminL(x,λ,η)L(x,λ,η)=f(x)+i=1Mλmi(x)f(x)=p 为了满足相等,两个不等式必须成立,于是,对于第一个不等于号,需要有梯度为0条件,对于第二个不等于号需要满足互补松弛条件。
3、梯度为0: ∂ L ( x , λ ∗ , η ∗ ) ∂ x ∣ x = x ∗ = 0 \frac{\partial L(x,\lambda^*,\eta^*)}{\partial x}|_{x=x^*}=0 xL(x,λ,η)x=x=0

Kernel Method

核方法可以应用在很多问题上,在分类问题中,对于严格不可分问题,引入一个特征转换函数将原来的不可分的数据集变为可分的数据集,然后再来应用已有的模型。往往将低维空间的数据集变为高维空间的数据集后,数据会变得可分(数据变得更为稀疏):
应用在 SVM 中时,观察下面的 SVM 对偶问题:
{ max ⁡ λ − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j + ∑ i = 1 N λ i , s . t .   λ i ≥ 0 \left\{\begin{aligned} & \max_{\lambda}-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum\limits_{i=1}^N\lambda_i,\\ &s.t.\ \lambda_i\ge0 \end{aligned}\right. λmax21i=1Nj=1NλiλjyiyjxiTxj+i=1Nλi,s.t. λi0

在求解的时候需要求得内积,于是不可分数据在通过特征变换后,需要求得变换后的内积。常常很难求得变换函数的内积。于是直接引入内积的变换函数(合并特征转换和计算内积两个步骤):
∀ x , x ′ ∈ X , ∃ ϕ ∈ H : x ⟹ z   s . t .   k ( x , x ′ ) = ϕ ( x ) T ϕ ( x ) \forall x,x'\in\mathcal{X},\exist\phi\in\mathcal{H}:x{\color{blue}\Longrightarrow} z\ s.t.\ k(x,x')=\phi(x)^T\phi(x) x,xX,ϕH:xz s.t. k(x,x)=ϕ(x)Tϕ(x)

k ( x , x ′ ) k(x,x') k(x,x) 为一个正定核函数,其中 H \mathcal{H} H 是 Hilbert 空间(完备的线性内积空间),如果去掉内积这个条件可以称为简单的核函数。

证明 k ( x , x ′ ) = exp ⁡ ( − ( x − x ′ ) 2 2 σ 2 ) k(x,x')=\exp(-\frac{(x-x')^2}{2\sigma^2}) k(x,x)=exp(2σ2(xx)2) 是一个核函数。
exp ⁡ ( − ( x − x ′ ) 2 2 σ 2 ) = exp ⁡ ( − x 2 2 σ 2 ) exp ⁡ ( x x ′ σ 2 ) exp ⁡ ( − x ′ 2 2 σ 2 ) = exp ⁡ ( − x 2 2 σ 2 ) ∑ n = 0 + ∞ x n x ′ n σ 2 n n ! exp ⁡ ( − x ′ 2 2 σ 2 ) = exp ⁡ ( − x 2 2 σ 2 ) φ ( x ) φ ( x ′ ) exp ⁡ ( − x ′ 2 2 σ 2 ) = ϕ ( x ) ϕ ( x ′ ) \begin{aligned} \exp(-\frac{(x-x')^2}{2\sigma^2})&=\exp(-\frac{x^2}{2\sigma^2})\exp(\frac{xx'}{\sigma^2})\exp(-\frac{x'^2}{2\sigma^2})\\ &=\exp(-\frac{x^2}{2\sigma^2})\sum\limits_{n=0}^{+\infin}\frac{x^nx'^n}{\sigma^{2n}n!}\exp(-\frac{x'^2}{2\sigma^2})\\ &=\exp(-\frac{x^2}{2\sigma^2})\varphi(x)\varphi(x')\exp(-\frac{x'^2}{2\sigma^2})\\ &=\phi(x)\phi(x') \end{aligned} exp(2σ2(xx)2)=exp(2σ2x2)exp(σ2xx)exp(2σ2x2)=exp(2σ2x2)n=0+σ2nn!xnxnexp(2σ2x2)=exp(2σ2x2)φ(x)φ(x)exp(2σ2x2)=ϕ(x)ϕ(x)

核函数满足一下条件为正定核函数

  • 对称性
  • 正定性

证明

对称性 ⇔ \Leftrightarrow k ( x , z ) = k ( z , x ) k(x,z)=k(z,x) k(x,z)=k(z,x),显然满足内积的定义
正定性 ⇔ \Leftrightarrow ∀ N , x 1 , x 2 , ⋯   , x N ∈ X \forall N,x_1,x_2,\cdots,x_N\in\mathcal{X} N,x1,x2,,xNX,对应的 Gram Matrix K = [ k ( x i , x j ) ] K=[k(x_i,x_j)] K=[k(xi,xj)] 是半正定的。
要证: k ( x , z ) = ϕ ( x ) T ϕ ( z ) ⇔ K k(x,z)=\phi(x)^T\phi(z)\Leftrightarrow K k(x,z)=ϕ(x)Tϕ(z)K 半正定+对称性。
1、 ⇒ \Rightarrow :首先,对称性是显然的,对于正定性: K = ( k ( x 1 , x 2 ) ⋯ k ( x 1 , x N ) ⋮ ⋮ ⋮ k ( x N , x 1 ) ⋯ k ( x N , x N ) ) \begin{aligned} K=\begin{pmatrix}k(x_1,x_2)&\cdots&k(x_1,x_N)\\\vdots&\vdots&\vdots\\ k(x_N,x_1)&\cdots&k(x_N,x_N)\end{pmatrix} \end{aligned} K=k(x1,x2)k(xN,x1)k(x1,xN)k(xN,xN) 任意取 α ∈ R N \alpha\in\mathbb{R}^N αRN,即需要证明 α T K α ≥ 0 \alpha^TK\alpha\ge0 αTKα0 α T K α = ∑ i , j α i α j K i j = ∑ i , j α i ϕ T ( x i ) ϕ ( x j ) α j = ∑ i α i ϕ T ( x i ) ∑ j α j ϕ ( x j ) \alpha^TK\alpha=\sum\limits_{i,j}\alpha_i\alpha_jK_{ij}=\sum\limits_{i,j}\alpha_i\phi^T(x_i)\phi(x_j)\alpha_j=\sum\limits_{i}\alpha_i\phi^T(x_i)\sum\limits_{j}\alpha_j\phi(x_j) αTKα=i,jαiαjKij=i,jαiϕT(xi)ϕ(xj)αj=iαiϕT(xi)jαjϕ(xj) 这个式子就是内积的形式,Hilbert 空间满足线性性,正定性得证。
2、 ⇐ \Leftarrow :对于 K K K 进行分解,对于对称矩阵 K = V Λ V T K=V\Lambda V^T K=VΛVT,那么令 ϕ ( x i ) = λ i V i \phi(x_i)=\sqrt{\lambda_i}V_i ϕ(xi)=λi Vi,其中 V i V_i Vi是特征向量,于是就构造了 k ( x , z ) = λ i λ j V i T V j k(x,z)=\sqrt{\lambda_i\lambda_j}V_i^TV_j k(x,z)=λiλj ViTVj

Hard-margin SVM

支持向量机也是一种硬分类模型,如果两类数据线性可分,其实存在无穷条线可将两类分开。SVM就是要找到最好的那条,直观上两边数据和划分边界越远越安全,所以SVM用间隔作为评价指标,间隔最大的边界也就是最好的那条边界。

分割的超平面可以写为: 0 = w T x + b 0=w^Tx+b 0=wTx+b

那么最大化间隔可表示为以下形式(1、先找到离划分边界最近的点(支持向量),2、然后通过优化参数 w w w b b b 来最大化支持向量与划分边界的距离):
{ a r g m a x w , b [ min ⁡ i ∣ w T x i + b ∣ ∣ ∣ w ∣ ∣ ] s . t .   y i ( w T x i + b ) > 0 ⟹ { a r g m a x w , b 1 ∣ ∣ w ∣ ∣ [ min ⁡ i y i ( w T x i + b ) ] s . t .   y i ( w T x i + b ) > 0 \begin{aligned} & \left\{\begin{aligned} &\mathop{argmax}\limits_{w,b}[\min_i\frac{|w^Tx_i+b|}{||w||}]\\ &s.t.\ y_i(w^Tx_i+b)>0 \end{aligned}\right.\\ \Longrightarrow &\left\{\begin{aligned} &\mathop{argmax}\limits_{w,b}\frac{1}{||w||}[\min_i {y_i(w^Tx_i+b)}]\\ &s.t.\ y_i(w^Tx_i+b)>0 \end{aligned}\right. \end{aligned} w,bargmax[iminwwTxi+b]s.t. yi(wTxi+b)>0w,bargmaxw1[iminyi(wTxi+b)]s.t. yi(wTxi+b)>0

同比例缩放超平面的系数不会改变该平面,因此可以固定约束 min ⁡ y i ( w T x i + b ) = 1 > 0 \min y_i(w^Tx_i+b)=1>0 minyi(wTxi+b)=1>0,化简后的式子可以表示为:
{ a r g m i n w , b 1 2 w T w s . t .   min ⁡ i y i ( w T x i + b ) = 1 ⟹ { a r g m i n w , b 1 2 w T w s . t .   y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , ⋯   , N \begin{aligned} &\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw\\ &s.t.\ \min_iy_i(w^Tx_i+b)=1 \end{aligned}\right.\\ \Longrightarrow &\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw\\ &s.t.\ y_i(w^Tx_i+b)\ge1,\ i=1,2,\cdots,N \end{aligned}\right. \end{aligned} w,bargmin21wTws.t. iminyi(wTxi+b)=1w,bargmin21wTws.t. yi(wTxi+b)1, i=1,2,,N

这就是一个包含 N N N 个约束的凸优化问题,有很多求解这种问题的软件。

但是,如果样本数量或维度非常高,直接求解困难甚至不可解,于是需要对这个问题进一步处理。引入 Lagrange 函数:
L ( w , b , λ ) = 1 2 w T w + ∑ i = 1 N λ i ( 1 − y i ( w T x i + b ) ) ⏟ ≤   0 \begin{aligned} &L(w,b,\lambda)=\frac{1}{2}w^Tw+\underbrace{\sum\limits_{i=1}^N\lambda_i(1-y_i(w^Tx_i+b))}_{\color{blue}\leq\ 0} \end{aligned} L(w,b,λ)=21wTw+ 0 i=1Nλi(1yi(wTxi+b))

由上式可知: min ⁡ L ( w , b , α ) ≤ min ⁡ 1 2 w T w \min L(w, b, \alpha) \le \min \frac{1}{2}w^Tw minL(w,b,α)min21wTw,需要最大化 L ( w , b , α ) L(w, b, \alpha) L(w,b,α)来接近原问题,而原问题是要最小化 1 2 w T w \frac{1}{2}w^Tw 21wTw,因此,对原问题的优化可表达为以下形式:
{ a r g m i n w , b max ⁡ λ i L ( w , b , λ i ) s . t .   λ i ≥ 0 \left\{ \begin{aligned} &\mathop{argmin}\limits_{w,b}\max\limits_{\lambda_i}L(w,b,\lambda_i)\\ &s.t.\ \lambda_i\ge0 \end{aligned} \right. w,bargminλimaxL(w,b,λi)s.t. λi0

交换最小和最大值的符号得到对偶问题:
{ max ⁡ λ i min ⁡ w , b L ( w , b , λ i ) s . t .   λ i ≥ 0 \left\{ \begin{aligned} &\max_{\lambda_i}\min_{w,b}L(w,b,\lambda_i)\\ & s.t.\ \lambda_i\ge0 \end{aligned} \right. λimaxw,bminL(w,b,λi)s.t. λi0

由于不等式约束是仿射函数,对偶问题和原问题等价:
1、令 b \color{blue}\boxed b b w \color{blue}\boxed w w 的偏导数为零得到

  • b \color{blue}b b ∂ ∂ b L = 0 ⇒ ∑ i = 1 N λ i y i = 0 \frac{\partial}{\partial b}L=0\Rightarrow\sum\limits_{i=1}^N\lambda_iy_i=0 bL=0i=1Nλiyi=0

  • w \color{blue}w w:首先将 b b b 代入: L ( w , b , λ i ) = 1 2 w T w + ∑ i = 1 N λ i ( 1 − y i w T x i − y i b ) = 1 2 w T w + ∑ i = 1 N λ i − ∑ i = 1 N λ i y i w T x i L(w,b,\lambda_i)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i(1-y_iw^Tx_i-y_ib)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i-\sum\limits_{i=1}^N\lambda_iy_iw^Tx_i L(w,b,λi)=21wTw+i=1Nλi(1yiwTxiyib)=21wTw+i=1Nλii=1NλiyiwTxi 所以: ∂ ∂ w L = 0 ⇒ w = ∑ i = 1 N λ i y i x i \frac{\partial}{\partial w}L=0\Rightarrow w=\sum\limits_{i=1}^N\lambda_iy_ix_i wL=0w=i=1Nλiyixi

  • 将上面两个参数代入: L ( w , b , λ i ) = − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j + ∑ i = 1 N λ i {\color{blue} L(w,b,\lambda_i)}=-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum\limits_{i=1}^N\lambda_i L(w,b,λi)=21i=1Nj=1NλiλjyiyjxiTxj+i=1Nλi

因此,对偶问题就是: { max ⁡ λ − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j + ∑ i = 1 N λ i , s . t .   λ i ≥ 0 \color{blue} \left\{\begin{aligned} & \max_{\lambda}-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum\limits_{i=1}^N\lambda_i,\\ &s.t.\ \lambda_i\ge0 \end{aligned} \right. λmax21i=1Nj=1NλiλjyiyjxiTxj+i=1Nλi,s.t. λi0

2、由 KKT 条件得到超平面的参数:
原问题和对偶问题满足强对偶关系的充要条件为其满足 KKT 条件:
∂ L ∂ w = 0 , ∂ L ∂ b = 0 λ k ( 1 − y k ( w T x k + b ) ) = 0 ( s l a c k n e s s   c o m p l e m e n t a r y ) λ i ≥ 0 1 − y i ( w T x i + b ) ≤ 0 \begin{aligned} &\frac{\partial L}{\partial w}=0,\frac{\partial L}{\partial b}=0 \\ &\lambda_k(1-y_k(w^Tx_k+b))=0\quad(slackness\ complementary)\\ &\lambda_i\ge0\\ &1-y_i(w^Tx_i+b)\le0 \end{aligned} wL=0,bL=0λk(1yk(wTxk+b))=0(slackness complementary)λi01yi(wTxi+b)0

根据KTT条件得到对应最佳参数 w ^ {\color{blue}\boxed{\hat{w}}} w^ b ^ {\color{blue}\boxed{\hat{b}}} b^
w ^ = ∑ i = 1 N λ i y i x i b ^ = y k − w T x k = y k − ∑ i = 1 N λ i y i x i T x k , ∃ k , 1 − y k ( w T x k + b ) = 0 \begin{aligned} &{\color{blue}\hat{w}}=\sum\limits_{i=1}^N\lambda_iy_ix_i\\ &{\color{blue}\hat{b}}=y_k-w^Tx_k=y_k-\sum\limits_{i=1}^N\lambda_iy_ix_i^Tx_k,\quad\exist k,1-y_k(w^Tx_k+b)=0 \end{aligned} w^=i=1Nλiyixib^=ykwTxk=yki=1NλiyixiTxk,k,1yk(wTxk+b)=0

最终的参数就是满足 λ > 0 ,   y i ( w T x i + b ) = 1 \lambda\gt 0,\ y_i(w^Tx_i+b)=1 λ>0, yi(wTxi+b)=1 的向量的线性组合( slackness complementary \color{green}\text{slackness complementary} slackness complementary),这些向量也叫支持向量Support Vecter

最终得到决策平面: f ( x ) = s i g n ( w ^ x + b ^ ) f(x)=sign({\color{blue}\hat{w}}x+{\color{blue}\hat{b}}) f(x)=sign(w^x+b^)

Soft-margin SVM

针对不完全线性可分的数据,在损失函数中加入错误分类的可能性(类似正则项)。错误分类的个数可以写成:
e r r o r = ∑ i = 1 N I { y i ( w T x i + b ) < 1 } error=\sum\limits_{i=1}^N\mathbb{I}\{y_i(w^Tx_i+b)\lt1\} error=i=1NI{yi(wTxi+b)<1} 这个函数不连续,可以将其改写为: e r r o r = ∑ i = 1 N max ⁡ { 0 , 1 − y i ( w T x i + b ) } error=\sum\limits_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\} error=i=1Nmax{0,1yi(wTxi+b)}

求和符号中的式子又叫做 Hinge Function。

将 error 加入 Hard-margin SVM 中,于是:
{ a r g m i n w , b 1 2 w T w + C ∑ i = 1 N max ⁡ { 0 , 1 − y i ( w T x i + b ) } s . t .   y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , ⋯   , N \left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\}\\ &s.t.\ y_i(w^Tx_i+b)\ge1,\ i=1,2,\cdots,N \end{aligned}\right. w,bargmin21wTw+Ci=1Nmax{0,1yi(wTxi+b)}s.t. yi(wTxi+b)1, i=1,2,,N

式中常数 C C C 可以看作允许的错误水平, C C C 越大表示错误的允许程度越低。为了让问题易于求解,用error值的大小 ξ i \xi_i ξi 代替是否有error(用犯错误程度代替犯错误数量),则有:
{ a r g m i n w , b 1 2 w T w + C ∑ i = 1 N ξ i s . t .   y i ( w T x i + b ) ≥ 1 − ξ i , ξ i ≥ 0 ,   i = 1 , 2 , ⋯   , N \left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\xi_i\\ & s.t.\ y_i(w^Tx_i+b)\ge1-\xi_i,\quad\xi_i\ge0,\ i=1,2,\cdots,N \end{aligned}\right. w,bargmin21wTw+Ci=1Nξis.t. yi(wTxi+b)1ξi,ξi0, i=1,2,,N

上式中 ξ i \xi_i ξi 可以理解为松弛变量,允许有错误的分类(间隔小于1),但不能无限容忍犯错,所以还需要对松弛变量进行约束(最小化)。

Dual Problem

构造拉格朗日函数。因为引入了 ξ i \xi_i ξi ,原始问题有两类条件,所以包含了两个拉格朗日因子 λ i \lambda_i λi β i \beta_i βi
L ( w , b , λ i , β i ) = 1 2 w T w + C ∑ i = 1 N ξ i + ∑ i = 1 N λ i ( 1 − ξ i − y i ( w T x i + b ) ) + ∑ i = 1 N β i ( − ξ i ) L(w,b,\lambda_i,\beta_i)=\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\lambda_i(1-\xi_i -y_i(w^Tx_i+b)) + \sum\limits_{i=1}^N\beta_i(-\xi_i) L(w,b,λi,βi)=21wTw+Ci=1Nξi+i=1Nλi(1ξiyi(wTxi+b))+i=1Nβi(ξi)

将Soft-Margin SVM问题转换为如下形式:
max ⁡ λ i ≥ 0 ,   β i ≥ 0 min ⁡ b , w , ξ i   1 2 w T w + C ∑ i = 1 N ξ i + ∑ i = 1 N λ i ( 1 − ξ i − y i ( w T x i + b ) ) + ∑ i = 1 N β i ( − ξ i ) \max\limits_{\lambda_i\geq0,\ \beta_i\geq0}\min\limits_{b,w,\xi_i}\ \frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\lambda_i(1-\xi_i -y_i(w^Tx_i+b)) + \sum\limits_{i=1}^N\beta_i(-\xi_i) λi0, βi0maxb,w,ξimin 21wTw+Ci=1Nξi+i=1Nλi(1ξiyi(wTxi+b))+i=1Nβi(ξi)

上式括号里面的是对拉格朗日函数 L ( w , b , λ i , β i ) L(w,b,\lambda_i,\beta_i) L(w,b,λi,βi)计算最小值。那么根据梯度下降算法思想:最小值位置满足梯度为零。
1、令 ξ i \color{blue}\boxed{\xi_i} ξi 偏微分等于0
∂ L ∂ ξ i = 0 = C − λ i − β i ⇒ β i = C − λ i \frac {\partial L}{\partial \xi_i}=0=C-\lambda_i-\beta_i\\ \color{blue}\Rightarrow \beta_i=C-\lambda_i ξiL=0=Cλiβiβi=Cλi

因为有 β i ≥ 0 β_i≥0 βi0,所以 0 ≤ λ i ≤ C \color{blue}0≤\lambda_i≤C 0λiC。将 β i = C − λ i \beta_i=C-\lambda_i βi=Cλi带入原问题中,参数 β i β_i βi ξ i \xi_i ξi 都被消去:
max ⁡ 0 ≤ λ i ≤ C ,   β i = C − λ i min ⁡ b , w   1 2 w T w + ∑ i = 1 N λ i ( 1 − y i ( w T x i + b ) ) \max\limits_{0≤\lambda_i≤C,\ \beta_i=C-\lambda_i}\min\limits_{b,w}\ \frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i(1-y_i(w^Tx_i+b)) 0λiC, βi=Cλimaxb,wmin 21wTw+i=1Nλi(1yi(wTxi+b))

2、令 b \color{blue}\boxed b b w \color{blue}\boxed w w 的偏导数为零得到
∂ ∂ b L = 0 ⇒ ∑ i = 1 N λ i y i = 0 ∂ ∂ w L = 0 ⇒ w = ∑ i = 1 N λ i y i x i \begin{aligned} &\frac{\partial}{\partial b}L=0\Rightarrow\color{blue}\sum^N_{i=1}\lambda_i y_i=0\\ &\frac{\partial}{\partial w}L=0\Rightarrow {\color{blue}w}=\sum^N_{i=1}\lambda_iy_ix_i \end{aligned} bL=0i=1Nλiyi=0wL=0w=i=1Nλiyixi

最终标准的Soft-Margin SVM的Dual形式
min ⁡ λ i 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i T x j − ∑ i = 1 N λ i  subject to  ∑ i = 1 N y i λ i = 0 0 ≤ λ i ≤ C ,  for  i = 1 , 2 , … , N  implicitly  w = ∑ n = 1 N λ i y i x i β i = C − λ i ,  for  i = 1 , 2 , … , N \begin{aligned} &{\min _{\lambda_i}}\qquad\qquad {\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} {x}_{i}^{T} {x}_{j}-\sum_{i=1}^{N}\lambda_i} \\ &{\text { subject to }}\quad{\sum_{i=1}^{N} y_{i}\lambda_i=0} \\ & \qquad\qquad\qquad{0 \leq \lambda_i \leq C, \text { for } i=1,2, \ldots, N} \\ &{\text { implicitly }}\quad {{w}=\sum_{n=1}^{N} \lambda_i y_{i} {x}_{i}} \\ &\qquad\qquad\qquad{\beta_{i}=C-\lambda_i, \text { for } i=1,2, \ldots, N} \end{aligned} λimin21i=1Nj=1NαiαjyiyjxiTxji=1Nλi subject to i=1Nyiλi=00λiC, for i=1,2,,N implicitly w=n=1Nλiyixiβi=Cλi, for i=1,2,,N

Hard-Margin SVMSoft-Margin SVM
complementary slackness : λ i ( 1 − y i ( w T x i + b ) ) = 0 S V   ( λ i > 0 ) ⇒ b = y s − w T x s \begin{aligned}\\&\lambda_i(1-y_i(w^Tx_i+b))=0\\ \\&SV\ ({\color{blue}\lambda_i}>0)\\&\quad\Rightarrow b = y_s-w^Tx_s \\ \\ \\ \end{aligned} λi(1yi(wTxi+b))=0SV (λi>0)b=yswTxscomplementary slackness: λ i ( 1 − ξ i − y i ( w T x i + b ) ) = 0   ( C − λ i ) ξ i = 0 S V   ( λ i > 0 ) ⇒ b = y s − y s ξ s − w T x s f r e e   ( λ i < C ) ⇒ ξ s = 0 \begin{aligned}&\lambda_i(1-\xi_i-y_i(w^Tx_i+b))=0\\&\qquad\qquad\qquad\ (C-\lambda_i)\xi_i=0\\&SV\ ({\color{blue}\lambda_i}>0)\\&\quad\Rightarrow b = y_s-y_s\xi_s-w^Tx_s\\&free\ ({\color{blue}\lambda_i}<C)\\&\quad\Rightarrow \xi_s=0\end{aligned} λi(1ξiyi(wTxi+b))=0 (Cλi)ξi=0SV (λi>0)b=ysysξswTxsfree (λi<C)ξs=0

3、如何根据 λ i \lambda_i λi 的值计算 b \color{blue}\boxed b b

Hard-Margin SVM Dual:一个complementary slackness条件 λ i ( 1 − y i ( w T x i + b ) ) = 0 \lambda_i(1-y_i(w^Tx_i+b))=0 λi(1yi(wTxi+b))=0,找到SV,即 λ s > 0 \lambda_s>0 λs>0的点,即可计算得到: b = y s − w T x s b=y_s−w^Tx_s b=yswTxs

Soft-Margin SVM Dual:相应的complementary slackness条件有两个(因为两个拉格朗日因子 λ i \lambda_i λi β i β_i βi):
{ λ i ( 1 − ξ i − y i ( w T x i + b ) ) = 0 β i ( − ξ i ) = ( C − λ i ) ξ i = 0 \left\{\begin{aligned} &\lambda_i(1-\xi_i-y_i(w^Tx_i+b))=0\\ &\beta_i(-\xi_i)=(C-\lambda_i)\xi_i=0 \end{aligned}\right. {λi(1ξiyi(wTxi+b))=0βi(ξi)=(Cλi)ξi=0

找到SV,即 λ s > 0 \lambda_s>0 λs>0 的点,由于 ξ i \xi_i ξi的存在,还不能直接计算出 b b b 的值,再根据第二个complementary slackness条件,如果令 C − λ i ≠ 0 C−\lambda_i\neq0 Cλi=0,即 λ i ≠ C \lambda_i≠C λi=C,则一定有 ξ i = 0 \xi_i=0 ξi=0,代入到第一个complementary slackness条件中:
S V   ( λ i > 0 ) ⇒ b = y s − y s ξ s − w T x s f r e e   ( λ i < C ) ⇒ ξ s = 0 \begin{aligned} &SV\ ({\color{blue}\lambda_i}>0)\\ &\quad\Rightarrow b = y_s-y_s\xi_s-w^Tx_s\\ &free\ ({\color{blue}\lambda_i}<C)\\ &\quad\Rightarrow \xi_s=0 \end{aligned} SV (λi>0)b=ysysξswTxsfree (λi<C)ξs=0

即可计算得到 b = y s − w T x s b=y_s−w^Tx_s b=yswTxs,把 0 < λ i < C \color{blue}0<\lambda_i<C 0<λi<C 的点称为 free SV。引入核函数后, b \color{blue}\boxed b b 的表达式为:
b = y s − ∑ S V λ i y i K ( x n , x s ) {\color{blue}b}=y_s-\sum_{SV}\lambda_iy_iK(x_n,x_s) b=ysSVλiyiK(xn,xs)

Soft-Margin SVM的一些补充

上面求解 b b b 假设 λ s < C \color{blue}\lambda_s<C λs<C,如果没有free SV,所有 λ s \lambda_s λs大于零的点都满足 λ s = C \lambda_s=C λs=C怎么办?

  • 一般情况下,至少存在一组SV使 λ s < C \lambda_s<C λs<C 的概率较大。如果没有 free SV,那么 b b b 通常会由许多不等式条件限制取值范围,只要能找到满足KKT条件的任意一个 b b b 值即可。

λ i \lambda_i λi 不同取值的物理意义(已知 0 ≤ λ i ≤ C 0≤\lambda_i≤C 0λiC 满足两个complementary slackness条件):

  • λ i = 0 \lambda_i=0 λi=0,得 ξ i = 0 ξ_i=0 ξi=0 ξ i = 0 ξ_i=0 ξi=0表示该点没有犯错, λ i = 0 \lambda_i=0 λi=0 表示该点不是SV。所以对应的点在margin之外(或者在margin上),且均分类正确。
  • 0 < λ i < C 0<\lambda_i<C 0<λi<C,得 ξ i = 0 ξ_i=0 ξi=0,且 y i ( w T x i + b ) = 1 y_i(w^Tx_i+b)=1 yi(wTxi+b)=1 ξ i = 0 ξ_i=0 ξi=0表示该点没有犯错, y i ( w T x i + b ) = 1 y_i(w^Tx_i+b)=1 yi(wTxi+b)=1表示该点在margin上。这些点即 free SV,确定了 b b b 的值。
  • λ i = C \lambda_i=C λi=C,不能确定 ξ i = 0 ξ_i=0 ξi=0 是否为零,且得到 1 − y i ( w T x i + b ) = ξ i 1-y_i(w^Tx_i+b)=\xi_i 1yi(wTxi+b)=ξi,这个式表示该点偏离margin的程度, ξ i \xi_i ξi 越大,偏离margin的程度越大。只有当 ξ i = 0 ξ_i=0 ξi=0 时,该点落在margin上。所以这种情况对应的点在margin之内负方向(或者在margin上),有分类正确也有分类错误的。这些点称为bounded SV。

所以,在Soft-Margin SVM Dual中,根据 λ i \lambda_i λi 的取值,可推断数据点在空间的分布情况。

SMO算法

N N N 个变量组成的向量 α \alpha α 难以对目标函数直接进行优化求解。SMO算法采用启发式方法,每次只优化两个变量,其他变量作为常数,如:条件 ∑ i = 1 N α i y i = 0 \sum\limits_{i=1}^{N}\alpha_iy_i = 0 i=1Nαiyi=0,将参数 α 3 , α 4 , . . . , α N \alpha_3, \alpha_4, ..., \alpha_N α3,α4,...,αN 固定,那么 α 1 , α 2 \alpha_1, \alpha_2 α1,α2 的线性关系即可确定。定义 K i j = ϕ ( x i ) ⋅ ϕ ( x j ) K_{ij} = \phi(x_i) \cdot \phi(x_j) Kij=ϕ(xi)ϕ(xj) ,由于 α 3 , α 4 , . . . , α m \alpha_3, \alpha_4, ..., \alpha_m α3,α4,...,αm 为常量,目标优化函数可表示为:
   min ⁡ α 1 , α 2   1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 ∑ i = 3 m y i α i K i 1 + y 2 α 2 ∑ i = 3 m y i α i K i 2 s . t .      α 1 y 1 + α 2 y 2 = − ∑ i = 3 m y i α i = ς 0 ≤ α i ≤ C      i = 1 , 2 \begin{aligned} &\;\min\limits_{\alpha_1, \alpha_2}\ \frac{1}{2}K_{11}\alpha_1^2 + \frac{1}{2}K_{22}\alpha_2^2 +y_1y_2K_{12}\alpha_1 \alpha_2 -(\alpha_1 + \alpha_2) +y_1\alpha_1\sum\limits_{i=3}^{m}y_i\alpha_iK_{i1} + y_2\alpha_2\sum\limits_{i=3}^{m}y_i\alpha_iK_{i2}\\ &\quad s.t. \;\;\alpha_1y_1 + \alpha_2y_2 = -\sum\limits_{i=3}^{m}y_i\alpha_i = \varsigma \\ &\qquad\quad 0 \leq \alpha_i \leq C \;\; i =1,2 \end{aligned} α1,α2min 21K11α12+21K22α22+y1y2K12α1α2(α1+α2)+y1α1i=3myiαiKi1+y2α2i=3myiαiKi2s.t.α1y1+α2y2=i=3myiαi=ς0αiCi=1,2

优化变量选择

SMO算法需要选择合适的两个变量做迭代,其余的变量做常量来进行优化,那么如何选择这两个变量?

  • SMO算法称选择第一个变量为外层循环,该变量需要选择训练集中违反KKT条件最严重的样本点: α i ∗ = 0 ⇒ y i g ( x i ) ≥ 1 \alpha_{i}^{*} = 0 \Rightarrow y_ig(x_i) \geq 1 αi=0yig(xi)1 0 < α i ∗ < C ⇒ y i g ( x i ) = 1 0 \lt \alpha_{i}^{*} \lt C \Rightarrow y_ig(x_i) =1 0<αi<Cyig(xi)=1 α i ∗ = C ⇒ y i g ( x i ) ≤ 1 \alpha_{i}^{*}= C \Rightarrow y_ig(x_i) \leq 1 αi=Cyig(xi)1 一般来说,首先选择违反 0 < α i ∗ < C ⇒ y i g ( x i ) = 1 0 \lt \alpha_{i}^{*} \lt C \Rightarrow y_ig(x_i) =1 0<αi<Cyig(xi)=1 这个条件的点。如果这些支持向量都满足KKT条件,再选择违反 α i ∗ = 0 ⇒ y i g ( x i ) ≥ 1 \alpha_{i}^{*} = 0 \Rightarrow y_ig(x_i) \geq 1 αi=0yig(xi)1 α i ∗ = C ⇒ y i g ( x i ) ≤ 1 \alpha_{i}^{*}= C \Rightarrow y_ig(x_i) \leq 1 αi=Cyig(xi)1 的点。

  • SMO算法称选择第二一个变量为内层循环,假设在外层循环已经找到 α 1 \alpha_1 α1 , 第二个变量 α 2 \alpha_2 α2 的选择标准是让 ∣ E 1 − E 2 ∣ |E1-E2| E1E2 有足够大的变化。由于 α 1 \alpha_1 α1 确定也就确定了 E 1 E_1 E1,所以要想 ∣ E 1 − E 2 ∣ |E1-E2| E1E2 最大,只需要在 E 1 E_1 E1 为正时,选择最小的 E i E_i Ei 作为 E 2 E_2 E2, 在 E 1 E_1 E1 为负时,选择最大的 E i E_i Ei 作为 E 2 E_2 E2,可以将所有的 E i E_i Ei 保存下来加快迭代。
    如果内存循环找到的点不能让目标函数有足够的下降, 可以采用遍历支持向量点来做 α 2 \alpha_2 α2,直到目标函数有足够的下降, 如果所有的支持向量做 α 2 \alpha_2 α2都不能让目标函数有足够的下降,可以跳出循环,重新选择 α 1 \alpha_1 α1

优化变量 α 1 , α 2 \alpha_1,\alpha_2 α1,α2

根据上面的约束条件
{ α 1 y 1 + α 2 y 2 = ς      0 ≤ α i ≤ C      i = 1 , 2 y 1 , y 2 ∈ { − 1 , 1 } \left\{\begin{aligned} &\alpha_1y_1 + \alpha_2y_2 = \varsigma\;\;\\ &0 \leq \alpha_i \leq C \;\; i =1,2\\ &y_1,y_2\in\{-1,1\} \end{aligned}\right. α1y1+α2y2=ς0αiCi=1,2y1,y2{1,1}

从几何角度看, α 1 , α 2 \alpha_1, \alpha_2 α1,α2的值限制在 [ C , C ] [C,C] [C,C] 的矩形框内, y 1 , y 2 ∈ { − 1 , 1 } y_1,y_2\in\{-1,1\} y1,y2{1,1} 又使得两者关系 α 1 , α 2 \alpha_1, \alpha_2 α1,α2两者关系限制在斜率为 1 或 -1 的直线段上。

了解 α 1 , α 2 \alpha_1, \alpha_2 α1,α2 的线性关系,可用其中一个变量表示另一个变量,方便针对某一个变量优化求解,进而得到另一变量的值。

假设先针对 α 2 \alpha_2 α2 进行优化求解,由于采用启发式迭代法,令上一轮迭代得到的解为 α 1 o l d , α 2 o l d \alpha_1^{old}, \alpha_2^{old} α1old,α2old,根据 α 1 o l d , α 2 o l d \alpha_1^{old}, \alpha_2^{old} α1old,α2old 得到的未约束 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc,本轮迭代完成后(约束后)的解为 α 1 n e w , α 2 n e w \alpha_1^{new}, \alpha_2^{new} α1new,α2new

求解 α 2 n e w \alpha_2^{new} α2new先要确定其取值范围,假定其上下界分别为 L L L H H H
L ≤ α 2 n e w ≤ H L \leq \alpha_2^{new} \leq H Lα2newH

对于 L L L H H H,当 y 1 ≠ y 2 y_1\neq y_2 y1=y2 时有:
L = max ⁡ { 0 , α 2 o l d − α 1 o l d }        H = min ⁡ { C , C + α 2 o l d − α 1 o l d } L = \max\left\{0, \alpha_2^{old}-\alpha_1^{old}\right\} \;\;\;H = \min\left\{C, C+\alpha_2^{old}-\alpha_1^{old}\right\} L=max{0,α2oldα1old}H=min{C,C+α2oldα1old}

y 1 = y 2 y_1= y_2 y1=y2 时有:
L = max ⁡ { 0 , α 2 o l d + α 1 o l d − C }        H = min ⁡ { C , α 2 o l d + α 1 o l d } L = \max\left\{0, \alpha_2^{old}+\alpha_1^{old}-C\right\}\;\;\; H = \min\left\{C, \alpha_2^{old}+\alpha_1^{old}\right\} L=max{0,α2old+α1oldC}H=min{C,α2old+α1old}

α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc 进行限定以确定该轮迭代最终的 α 2 n e w \alpha_2^{new} α2new
α 2 n e w = { H α 2 n e w , u n c > H α 2 n e w , u n c L ≤ α 2 n e w , u n c ≤ H L α 2 n e w , u n c < L \alpha_2^{new}=\begin{cases}H& { \alpha_2^{new,unc} \gt H}\\\alpha_2^{new,unc}& {L \leq \alpha_2^{new,unc} \leq H}\\L& {\alpha_2^{new,unc} \lt L}\end{cases} α2new=Hα2new,uncLα2new,unc>HLα2new,uncHα2new,unc<L

α 1 o l d , α 2 o l d \alpha_1^{old}, \alpha_2^{old} α1old,α2old 是上轮迭代的结果,相当于已知常数,因此 H H H L L L 已知,需要求解 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc,只需将目标函数对 α 2 \alpha_2 α2求偏导即可

为方便表示,令:
E i = g ( x i ) − y i = ∑ j = 1 N α j ∗ y j K ( x i , x j ) + b − y i v i = ∑ j = 3 N y j α j K ( x i , x j ) = g ( x i ) − ∑ j = 1 2 y j α j K ( x i , x j ) − b 其中: g ( x ) = w ∗ ⋅ ϕ ( x ) + b = ∑ j = 1 N α j ∗ y j K ( x , x j ) + b ∗ \begin{aligned} &E_i = g(x_i)-y_i = \sum\limits_{j=1}^{N}\alpha_j^{*}y_jK(x_i, x_j)+ b - y_i\\ &v_i = \sum\limits_{j=3}^{N}y_j\alpha_jK(x_i,x_j) = g(x_i) - \sum\limits_{j=1}^{2}y_j\alpha_jK(x_i,x_j) -b \\ \text{其中:}&g(x) = w^{*} \cdot \phi(x) + b =\sum\limits_{j=1}^{N}\alpha_j^{*}y_jK(x, x_j)+ b^{*} \end{aligned} 其中:Ei=g(xi)yi=j=1NαjyjK(xi,xj)+byivi=j=3NyjαjK(xi,xj)=g(xi)j=12yjαjK(xi,xj)bg(x)=wϕ(x)+b=j=1NαjyjK(x,xj)+b

则目标函数可表示为:

W ( α 1 , α 2 ) = 1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 v 1 + y 2 α 2 v 2 W(\alpha_1,\alpha_2) = \frac{1}{2}K_{11}\alpha_1^2 + \frac{1}{2}K_{22}\alpha_2^2 +y_1y_2K_{12}\alpha_1 \alpha_2 -(\alpha_1 + \alpha_2) +y_1\alpha_1v_1 + y_2\alpha_2v_2 W(α1,α2)=21K11α12+21K22α22+y1y2K12α1α2(α1+α2)+y1α1v1+y2α2v2

由于 α 1 y 1 + α 2 y 2 = ς \alpha_1y_1 + \alpha_2y_2 = \varsigma α1y1+α2y2=ς(常数 ς \varsigma ς后面可消去), y i 2 = 1 y_i^2 = 1 yi2=1(取值1和-1),等式(前者)两边乘以 y 1 y_1 y1 α 1 \alpha_1 α1可用 α 2 \alpha_2 α2表示:

α 1 = y 1 ( ς − α 2 y 2 ) \alpha_1 = y_1(\varsigma - \alpha_2y_2) α1=y1(ςα2y2)

将上式代入目标函数消除 α 1 \alpha_1 α1 ,得到仅仅包含位置参数 α 2 \alpha_2 α2 的式子:
W ( α 2 ) = 1 2 K 11 ( ς − α 2 y 2 ) 2 + 1 2 K 22 α 2 2 + y 2 K 12 ( ς − α 2 y 2 ) α 2 − ( ς − α 2 y 2 ) y 1 − α 2 + ( ς − α 2 y 2 ) v 1 + y 2 α 2 v 2 W(\alpha_2) = \frac{1}{2}K_{11}(\varsigma - \alpha_2y_2)^2 + \frac{1}{2}K_{22}\alpha_2^2 +y_2K_{12}(\varsigma - \alpha_2y_2) \alpha_2 - (\varsigma - \alpha_2y_2)y_1 - \alpha_2 +(\varsigma - \alpha_2y_2)v_1 + y_2\alpha_2v_2 W(α2)=21K11(ςα2y2)2+21K22α22+y2K12(ςα2y2)α2(ςα2y2)y1α2+(ςα2y2)v1+y2α2v2

通过求偏导数来得到 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc
∂ W ∂ α 2 = K 11 α 2 + K 22 α 2 − 2 K 12 α 2 − K 11 ς y 2 + K 12 ς y 2 + y 1 y 2 − 1 − v 1 y 2 + y 2 v 2 = 0 \frac{\partial W}{\partial \alpha_2} = K_{11}\alpha_2 + K_{22}\alpha_2 -2K_{12}\alpha_2 - K_{11}\varsigma y_2 + K_{12}\varsigma y_2 +y_1y_2 -1 -v_1y_2 +y_2v_2 = 0 α2W=K11α2+K22α22K12α2K11ςy2+K12ςy2+y1y21v1y2+y2v2=0

整理上式有:
( K 11 + K 22 − 2 K 12 ) α 2 = y 2 ( y 2 − y 1 + ς K 11 − ς K 12 + v 1 − v 2 ) (K_{11} +K_{22}-2K_{12})\alpha_2 = y_2(y_2-y_1 + \varsigma K_{11} - \varsigma K_{12} + v_1 - v_2) (K11+K222K12)α2=y2(y2y1+ςK11ςK12+v1v2)

= y 2 ( y 2 − y 1 + ς K 11 − ς K 12 + ( g ( x 1 ) − ∑ j = 1 2 y j α j K 1 j − b ) − ( g ( x 2 ) − ∑ j = 1 2 y j α j K 2 j − b ) ) = y_2(y_2-y_1 + \varsigma K_{11} - \varsigma K_{12} + (g(x_1) - \sum\limits_{j=1}^{2}y_j\alpha_jK_{1j} -b ) -(g(x_2) - \sum\limits_{j=1}^{2}y_j\alpha_jK_{2j} -b)) =y2(y2y1+ςK11ςK12+(g(x1)j=12yjαjK1jb)(g(x2)j=12yjαjK2jb))

ς = α 1 y 1 + α 2 y 2 \varsigma = \alpha_1y_1 + \alpha_2y_2 ς=α1y1+α2y2 带入上式,:

( K 11 + K 22 − 2 K 12 ) α 2 n e w , u n c = y 2 ( ( K 11 + K 22 − 2 K 12 ) α 2 o l d y 2 + y 2 − y 1 + g ( x 1 ) − g ( x 2 ) ) (K_{11} +K_{22}-2K_{12})\alpha_2^{new,unc} = y_2((K_{11} +K_{22}-2K_{12})\alpha_2^{old}y_2 +y_2-y_1 +g(x_1) - g(x_2)) (K11+K222K12)α2new,unc=y2((K11+K222K12)α2oldy2+y2y1+g(x1)g(x2))

         = ( K 11 + K 22 − 2 K 12 ) α 2 o l d + y 2 ( E 1 − E 2 ) \;\;\;\; = (K_{11} +K_{22}-2K_{12}) \alpha_2^{old} + y_2(E_1-E_2) =(K11+K222K12)α2old+y2(E1E2)

得到 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc 为: α 2 n e w , u n c = α 2 o l d + y 2 ( E 1 − E 2 ) K 11 + K 22 − 2 K 12 \alpha_2^{new,unc} = \alpha_2^{old} + \frac{y_2(E_1-E_2)}{K_{11} +K_{22}-2K_{12}} α2new,unc=α2old+K11+K222K12y2(E1E2)

根据约束条件可由 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc 得到本轮最终的 α 2 n e w \alpha_2^{new} α2new ,再利用 α 2 n e w \alpha_2^{new} α2new α 1 n e w \alpha_1^{new} α1new的线性关系,得到 α 1 n e w \alpha_1^{new} α1new

计算 b b b 和差值 E i E_i Ei

在每次完成两个变量的优化之后,需要重新计算阈值 b b b。当 0 < α 1 n e w < C 0 \lt \alpha_{1}^{new} \lt C 0<α1new<C时:
y 1 − ∑ i = 1 m α i y i K i 1 − b 1 = 0 y_1 - \sum\limits_{i=1}^{m}\alpha_iy_iK_{i1} -b_1 = 0 y1i=1mαiyiKi1b1=0

b 1 n e w b_1^{new} b1new 为: b 1 n e w = y 1 − ∑ i = 3 m α i y i K i 1 − α 1 n e w y 1 K 11 − α 2 n e w y 2 K 21 b_1^{new} = y_1 - \sum\limits_{i=3}^{m}\alpha_iy_iK_{i1} - \alpha_{1}^{new}y_1K_{11} - \alpha_{2}^{new}y_2K_{21} b1new=y1i=3mαiyiKi1α1newy1K11α2newy2K21

又因为 E 1 E_1 E1 为: E 1 = g ( x 1 ) − y 1 = ∑ i = 3 m α i y i K i 1 + α 1 o l d y 1 K 11 + α 2 o l d y 2 K 21 + b o l d − y 1 E_1 = g(x_1) - y_1 = \sum\limits_{i=3}^{m}\alpha_iy_iK_{i1} + \alpha_{1}^{old}y_1K_{11} + \alpha_{2}^{old}y_2K_{21} + b^{old} -y_1 E1=g(x1)y1=i=3mαiyiKi1+α1oldy1K11+α2oldy2K21+boldy1

上两式都有 y 1 − ∑ i = 3 m α i y i K i 1 y_1 - \sum\limits_{i=3}^{m}\alpha_iy_iK_{i1} y1i=3mαiyiKi1 项,因此可用 E 1 E_1 E1 表示 b 1 n e w b_1^{new} b1new
b 1 n e w = − E 1 − y 1 K 11 ( α 1 n e w − α 1 o l d ) − y 2 K 21 ( α 2 n e w − α 2 o l d ) + b o l d b_1^{new} = -E_1 -y_1K_{11}(\alpha_{1}^{new} - \alpha_{1}^{old}) -y_2K_{21}(\alpha_{2}^{new} - \alpha_{2}^{old}) + b^{old} b1new=E1y1K11(α1newα1old)y2K21(α2newα2old)+bold

同样的,若 0 < α 2 n e w < C 0 \lt \alpha_{2}^{new} \lt C 0<α2new<C 则有:

b 2 n e w = − E 2 − y 1 K 12 ( α 1 n e w − α 1 o l d ) − y 2 K 22 ( α 2 n e w − α 2 o l d ) + b o l d b_2^{new} = -E_2 -y_1K_{12}(\alpha_{1}^{new} - \alpha_{1}^{old}) -y_2K_{22}(\alpha_{2}^{new} - \alpha_{2}^{old}) + b^{old} b2new=E2y1K12(α1newα1old)y2K22(α2newα2old)+bold

最终 b n e w b^{new} bnew 为:

b n e w = b 1 n e w + b 2 n e w 2 b^{new} = \frac{b_1^{new} + b_2^{new}}{2} bnew=2b1new+b2new

b n e w b^{new} bnew 更新 E i E_i Ei:
E i = ∑ S y j α j K ( x i , x j ) + b n e w − y i E_i = \sum\limits_{S}y_j\alpha_jK(x_i,x_j) + b^{new} -y_i Ei=SyjαjK(xi,xj)+bnewyi

其中,S是所有支持向量 x j x_j xj的集合。

SMO算法流程

输入: N N N个样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) , {(x_1,y_1), (x_2,y_2), ..., (x_N,y_N),} (x1,y1),(x2,y2),...,(xN,yN), ,其中 x x x p p p 维特征向量。 y ∈ { − 1 , 1 } y\in \{-1,1\} y{1,1},设定精度 e

  1. 取初值 α 0 = 0 , k = 0 \alpha^{0} = 0, k =0 α0=0,k=0
  2. 按条件选择 α 1 k , α 2 k \alpha_1^k,\alpha_2^k α1k,α2k,求出: α 2 n e w , u n c = α 2 k + y 2 ( E 1 − E 2 ) K 11 + K 22 − 2 K 12 \alpha_2^{new,unc} = \alpha_2^{k} + \frac{y_2(E_1-E_2)}{K_{11} +K_{22}-2K_{12}} α2new,unc=α2k+K11+K222K12y2(E1E2)
  3. 根据以下限制条件 得到 α 2 k + 1 \alpha_2^{k+1} α2k+1   
    α 2 k + 1 = { H L ≤ α 2 n e w , u n c > H α 2 n e w , u n c L ≤ α 2 n e w , u n c ≤ H L α 2 n e w , u n c < L \alpha_2^{k+1}=\begin{cases}H& {L \leq \alpha_2^{new,unc} \gt H}\\\alpha_2^{new,unc}& {L \leq \alpha_2^{new,unc} \leq H}\\L& {\alpha_2^{new,unc} \lt L}\end{cases} α2k+1=Hα2new,uncLLα2new,unc>HLα2new,uncHα2new,unc<L
  4. 根据 α 2 k + 1 \alpha_2^{k+1} α2k+1 α 1 k + 1 \alpha_1^{k+1} α1k+1 的线性关系推出 α 1 k + 1 \alpha_1^{k+1} α1k+1
  5. 计算 b k + 1 b^{k+1} bk+1 E i E_i Ei
  6. 在精度 e 范围内检查是否满足如下终止条件,满足则结束,返回 α k + 1 \alpha^{k+1} αk+1,否则转到步骤 2: ∑ i = 1 m α i y i = 0 \sum\limits_{i=1}^{m}\alpha_iy_i = 0 i=1mαiyi=0 0 ≤ α i ≤ C , i = 1 , 2... m 0 \leq \alpha_i \leq C, i =1,2...m 0αiC,i=1,2...m α i k + 1 = 0 ⇒ y i g ( x i ) ≥ 1 \alpha_{i}^{k+1} = 0 \Rightarrow y_ig(x_i) \geq 1 αik+1=0yig(xi)1 0 < α i k + 1 < C ⇒ y i g ( x i ) = 1 0 \lt\alpha_{i}^{k+1} \lt C \Rightarrow y_ig(x_i) = 1 0<αik+1<Cyig(xi)=1 α i k + 1 = C ⇒ y i g ( x i ) ≤ 1 \alpha_{i}^{k+1}= C \Rightarrow y_ig(x_i) \leq 1 αik+1=Cyig(xi)1

Kernel Logistic Regression

Soft-Margin SVM as Regularized Model

将 Soft-Margin SVM 犯错和没犯错的情况整合到一个表达式:
{ a r g m i n w , b 1 2 w T w + C ∑ i = 1 N max ⁡ { 0 , 1 − y i ( w T x i + b ) } s . t .   y i ( w T x i + b ) ≥ 1 − ξ i ,   i = 1 , 2 , ⋯   , N \left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\}\\ &s.t.\ y_i(w^Tx_i+b)\ge1-\xi_i,\ i=1,2,\cdots,N \end{aligned}\right. w,bargmin21wTw+Ci=1Nmax{0,1yi(wTxi+b)}s.t. yi(wTxi+b)1ξi, i=1,2,,N

l i e a r   s c o r e   s = w T x i + b \mathop{liear\ score}\ s = w^Tx_i + b liear score s=wTxi+b,则二元分类、SVM和 Logistic Regression的 err 可表示为:

e r r err err y s − e r r ys-err yserrerr 间的关系
e r r 0 / 1 ( s , y ) = [ y s ≤ 0 ] e r r S V M ( s , y ) = max ⁡ { 0 , 1 − y s } e r r s c e = log ⁡ 2 ( 1 + exp ⁡ ( − y s ) ) \begin{aligned}&err_{0/1}(s,y)=[ys\leq 0]\\&err_{SVM}(s,y)=\max\{0,1-ys\}\\&err_{sce}=\log_2(1+\exp(-ys))\end{aligned} err0/1(s,y)=[ys0]errSVM(s,y)=max{0,1ys}errsce=log2(1+exp(ys))在这里插入图片描述 \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad e r r s v m {err}_{svm} errsvm e r r 0 / 1 err_{0/1} err0/1上界,可代替 e r r 0 / 1 err_{0/1} err0/1解决二元线性分类问题,而 e r r s c e err_{sce} errsce e r r s v m {err}_{svm} errsvm相近,可将SVM看作L2-regularized logistic regression
PLASoft-Margin SVMLogistic Regression
优点优点是简单快速和 Logistic Regression 一样,便于优化;而且分类线比较“粗壮”一些是凸函数便于最优化求解;有regularization可以避免过拟合
缺点只对线性可分的情况有用,线性不可分的情况需要用到pocket算法 y s ys ys很小(负值)时,上界变得过于宽松 y s ys ys很小(负值)时,上界变得更宽松,不利于最优化求解
SVM for Soft Binary Classification

如何将SVM的结果应用在Soft Binary Classification中,得到是正类的概率值?

  • 方法一:先得到SVM的解: ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm),然后直接代入到logistic regression中,得到 g ( x ) = θ ( w s v m T x + b s v m ) g(x)=\theta(w_{svm}^Tx+b_{svm}) g(x)=θ(wsvmTx+bsvm)。直接使用了SVM和logistic regression的相似性,但没有用到logistic regression好的性质和方法
  • 方法二:先得到SVM的解: ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm),把 ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm)作为logistic regression的初始值,进行迭代训练修正(速度比较快),把修正后的 ( b , w ) (b,w) (b,w)带入到 g ( x ) = θ ( w T x + b ) g(x)=\theta(w^Tx+b) g(x)=θ(wTx+b)中,但并没有体现出比直接用logistic regression有优势
  • 方法三 :先得到SVM的解: ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm),增加放缩因子 A A A 和平移因子 B B B 构造一个融合SVM和logistic regression优势的模型: g ( x ) = θ ( A ⋅ ( w s v m T x + b s v m ) + B ) g(x)=\theta(A\cdot(w_{svm}^Tx+b_{svm})+B) g(x)=θ(A(wsvmTx+bsvm)+B)如果 ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm)较为合理,一般满足 A > 0 A>0 A>0 B ≈ 0 B\approx0 B0

根据方法三可得到新的 logistic regression 问题:
min ⁡ A , B   1 N ∑ i = 1 N log ⁡ ( 1 + exp ⁡ ( A ⋅ ( w s v m T x + b s v m ) + B ) ) \color{blue}\min\limits_{A,B}\ \frac1N\sum^N\limits_{i=1}\log\left(1+\exp(A\cdot(w_{svm}^Tx+b_{svm})+B)\right) A,Bmin N1i=1Nlog(1+exp(A(wsvmTx+bsvm)+B))

Kernel Logistic Regression

logistic regression怎么用kernel转化为QP问题来解决?

如果 w w w 可以表示为 z z z 的线性组合,即 w ∗ = ∑ n = 1 N β n z n w_*=\sum_{n=1}^N\beta_nz_n w=n=1Nβnzn的形式,那么 w ∗ T z = ∑ n = 1 N β n z n T z = ∑ n = 1 N β n K ( x n , x ) w_*^Tz=\sum_{n=1}^N\beta_nz_n^Tz=\sum_{n=1}^N\beta_nK(x_n,x) wTz=n=1NβnznTz=n=1NβnK(xn,x),其中包含了 z z z的内积

对于L2-regularized linear model,如果它的最小化问题形式为如下的话,
min ⁡ w   λ N w T w + 1 N ∑ n = 1 N e r r ( y n , w T z n ) \min\limits_w\ \frac\lambda Nw^Tw + \frac1N\sum^N\limits_{n=1}err(y_n,w^Tz_n) wmin NλwTw+N1n=1Nerr(yn,wTzn)

那么最优解可表示为: w ∗ = ∑ n = 1 N β n z n \color{blue}w_*=\sum_{n=1}^N\beta_nz_n w=n=1Nβnzn

  • 证明:任何L2-regularized linear model都可用kernel解决,假设最优解 w ∗ = w ∣ ∣ + w ⊥ w_*=w_{||}+w_{\bot} w=w+w
    在这里插入图片描述

求解L2-regularized logistic regression最小化问题:
min ⁡ w   λ N w T w + 1 N ∑ n = 1 N log ⁡ ( 1 + exp ⁡ ( − y n w T z n ) ) \min\limits_{w}\ \frac\lambda N w^Tw + \frac1N\sum^N_{n=1}\log\left(1+\exp(-y_nw^Tz_n)\right) wmin NλwTw+N1n=1Nlog(1+exp(ynwTzn))

w ∗ = ∑ n = 1 N β n z n w_*=\sum_{n=1}^N\beta_nz_n w=n=1Nβnzn代入到L2-regularized logistic regression最小化问题中:

min ⁡ β   λ N ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) + 1 N ∑ n = 1 N log ⁡ ( 1 + exp ⁡ ( − y n ∑ m = 1 N β m K ( x m , x n ) ) ) \min\limits_{\beta}\ \frac\lambda N \sum^N_{n=1}\sum^N_{m=1}\beta_n\beta_mK(x_n,x_m) + \frac1N\sum^N_{n=1}\log\left(1+\exp\left(-y_n\sum^N_{m=1}\beta_mK(x_m,x_n)\right)\right) βmin Nλn=1Nm=1NβnβmK(xn,xm)+N1n=1Nlog(1+exp(ynm=1NβmK(xm,xn)))

  • ∑ m = 1 N β m K ( x m , x n ) \sum_{m=1}^N\beta_mK(x_m,x_n) m=1NβmK(xm,xn)可以看成是变量 β \beta β K ( x m , x n ) K(x_m,x_n) K(xm,xn)的内积。
  • ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) \sum_{n=1}^N\sum_{m=1}^N\beta_n\beta_mK(x_n,x_m) n=1Nm=1NβnβmK(xn,xm)可以看成是关于 β \beta β的正则化项 β T K β \beta^TK\beta βTKβ

所以,KLR是 β \beta β 的线性组合,其中包含了kernel内积项和kernel regularizer,这与SVM形式相似。

Support Vector Regression

Kernel Ridge Regression

如何将kernel技巧引入到岭回归(ridge regression)中去,得到与之对应的analytic solution?

Kernel Ridge Regression问题可表示为:
min ⁡ w   λ N w T w + 1 N ∑ n = 1 N ( y n − w T z n ) 2 \min\limits_w\ \frac\lambda Nw^Tw + \frac1N\sum^N\limits_{n=1}(y_n-w^Tz_n)^2 wmin NλwTw+N1n=1N(ynwTzn)2

因为最佳解 w ∗ \color{blue}{w_∗} w 必然是 z z z 的线性组合,把 w ∗ = ∑ n = 1 N β n z n \color{blue}w_∗=\sum^N_{n=1}\beta_nz_n w=n=1Nβnzn 代入到ridge regression中,将 z z z的内积用 kernel 替换,将求 w ∗ w_∗ w 问题转化为求 β n \color{blue}\boxed{\beta_n} βn 问题:
min ⁡ β   λ N ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) + 1 N ∑ n = 1 N ( y n − ∑ m = 1 N β m K ( x m , x n ) ) 2 \min\limits_{\beta}\ \frac\lambda N \sum^N_{n=1}\sum^N_{m=1}\beta_n\beta_mK(x_n,x_m) + \frac1N\sum^N_{n=1} \left(y_n - \sum^N_{m=1}\beta_mK(x_m,x_n)\right)^2 βmin Nλn=1Nm=1NβnβmK(xn,xm)+N1n=1N(ynm=1NβmK(xm,xn))2

其中第一项可以看成是 β n \beta_n βn的正则项,而第二项可以看成是 β n \beta_n βn的error function,将其表示为矩阵形式

E a u g ( β ) = λ N β T K β + 1 N ( β T K T K β − 2 β T K T y + y T y ) ∇ E a u g ( β ) = 2 N ( λ K T I β + K T K β − K T y ) = 2 N K T ( ( λ I + K ) β − y ) \begin{aligned} E_{\mathrm{aug}}(\beta) &=\frac{\lambda}{N} \beta^{T} \mathrm{K} \beta+\frac{1}{N}\left(\beta^{T} \mathrm{K}^{T} \mathrm{K} \beta-2 \beta^{T} \mathrm{K}^{T} \mathbf{y}+\mathbf{y}^{T} \mathbf{y}\right) \\ \nabla E_{\mathrm{aug}}(\beta) &=\frac{2}{N}\left(\lambda \mathrm{K}^{T} \mathrm{I} \beta+\mathrm{K}^{T} \mathrm{K} \beta-\mathrm{K}^{T} \mathbf{y}\right)=\frac{2}{N} \mathrm{K}^{T}((\lambda \mathrm{I}+\mathrm{K}) \beta-\mathbf{y}) \end{aligned} Eaug(β)Eaug(β)=NλβTKβ+N1(βTKTKβ2βTKTy+yTy)=N2(λKTIβ+KTKβKTy)=N2KT((λI+K)βy)

∇ E a u g ( β ) \nabla E_{aug}(\beta) Eaug(β)等于零, ( λ I + K ) (\lambda I+K) (λI+K)的逆矩阵存在,则可得到 β \color{blue}\boxed{\beta} β一种解析解为:
β = ( λ I + K ) − 1 y \color{blue}\beta=(\lambda I+K)^{-1}y β=(λI+K)1y

K K K满足Mercer’s condition,是半正定的,且 λ > 0 λ>0 λ>0,所以 ( λ I + K ) (\lambda I+K) (λI+K)一定可逆。由于核函数 K K K表征的是 z z z空间的内积,除非两向量互相垂直,一般情况下 K K K不等于零。 ( λ I + K ) (\lambda I+K) (λI+K)是dense matrix, β \beta β 的解大部分都是非零值。

linear ridge regressionkernel ridge regression
在这里插入图片描述在这里插入图片描述
只能拟合直线,训练复杂度 O ( d 3 + d 2 N ) O(d^3+d^2N) O(d3+d2N),预测复杂度 O ( d ) O(d) O(d),如果 N N N d d d大很多,模型相对更有效率非线性模型更加灵活,训练复杂度 O ( N 3 ) O(N^3) O(N3),预测复杂度 O ( N ) O(N) O(N),均只与 N N N有关,当 N N N很大时,计算量也变大

kernel ridge regression应用在classification就叫做 least-squares SVM(LSSVM)

soft-margin Gaussian SVMGaussian LSSVM
在这里插入图片描述在这里插入图片描述
Support Vector较少 ,因为soft-margin Gaussian SVM中的 α n α_n αn大部分是等于零, α n > 0 α_n>0 αn>0的点只占少数基本上每个点都是Support Vector ,因为 β \beta β的解大部分都是非零值,所以对应的每个点基本上都是SV

SV太多带来的问题

  • β \beta β非零值较多使得做预测的矩 g ( x ) = ∑ n = 1 N β n K ( x n , x ) g(x)=\sum^N_{n=1}\beta_nK(x_n,x) g(x)=n=1NβnK(xn,x)计算量也比较大,这方面soft-margin Gaussian SVM更有优势
Support Vector Regression(SVR)

如何让L2-regularized tube regression和soft-margin SVM一样得到 s p a r s e   β \color{blue}sparse\ \boxed\beta sparse β

引入tube regression,并将其与squared error对比:

e r r ( y , s ) = max ⁡ ( 0 , ∥ s − y ∥ − ϵ ) err(y,s) = \max(0,\|s-y\|-\epsilon) err(y,s)=max(0,syϵ) e r r ( y , s ) = ( s − y ) 2 err(y,s) =(s-y)^2 err(y,s)=(sy)2 e r r ( y , s ) err(y,s) err(y,s) s s s的关系曲线
在这里插入图片描述在这里插入图片描述在这里插入图片描述
tube regression:在分类线上下分别划定一个区域(中立区),如果数据点分布在这个区域内,则不算分类错误,只有误分在中立区域之外的地方才算errorL2 regression \qquad\qquad\qquad\qquad\qquad\qquad ∥ s − y ∥ \|s-y\| sy较大区,squared error增长幅度比tube error大。error增长越快表示越容易受noise影响,不利于优化求解。从这个方面来看,tube regression的error function要优

1、L2-Regularized Tube Regression 问题:
min ⁡ w λ N w T w + 1 N ∑ n = 1 N max ⁡ ( 0 , ∣ w T z n − y ∣ − ϵ ) \min _{{w}} \quad \frac{\lambda}{N} {w}^{T} {w}+\frac{1}{N} \sum_{n=1}^{N} \max \left(0,\left| {w}^{T} \mathbf{z}_{n}-y\right|-\epsilon\right) wminNλwTw+N1n=1Nmax(0,wTznyϵ)

可以把这个问题转换为带条件的QP问题,仿照dual SVM的推导方法,引入kernel,得到KKT条件,从而保证解 β \beta β 是 sparse 的。

2、把L2-Regularized Tube Regression写成类似SVM的形式:
min ⁡ w , b 1 2 w T w + C ∑ n = 1 N max ⁡ ( 0 , ∣ w T z n + b − y n ∣ − ϵ ) \min _{{w,b}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} \max \left(0,\left| {w}^{T} \mathbf{z}_{n} + b-y_n\right|-\epsilon\right) w,bmin21wTw+Cn=1Nmax(0,wTzn+bynϵ)

λ \lambda λ越大对应 C C C越小, λ \lambda λ越小对应 C C C越大,上式将 w 0 w_0 w0 b b b 单独提出来。

3、有了Standard Support Vector Regression的初始形式,还需要转化成标准的QP问题:

min ⁡ w , b , ξ 1 2 w T w + C ∑ n = 1 N ξ n s . t .   ∣ w T z n + b − y n ∣ ≤ ϵ + ξ n ξ n ≥ 0 ⟹ min ⁡ w , b , ξ n ∨ , ξ n ∧ 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) s . t . − ϵ − ξ n ∨ ≤ y n − w T z n − b ≤ ϵ + ξ n ∧    ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 \begin{aligned} \begin{aligned} &\min _{{w,b,\xi}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} \xi_n\\ &s.t.\ |w^T\mathbf{z}_{n} + b - y_n|\leq\epsilon + \xi_n\\ &\qquad\xi_n\geq0 \end{aligned} {\color{blue}\Longrightarrow} \begin{aligned} &\min _{{w,b,\xi_n^\vee,\xi_n^\wedge}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} (\xi_n^\vee+\xi_n^\wedge)\\ &\qquad s.t.\quad-\epsilon - \xi_n^\vee\leq y_n-w^T\mathbf{z}_{n} - b \leq\epsilon + \xi_n^\wedge\\ &\qquad\qquad\ \ \xi_n^\vee\geq0,\xi_n^\wedge\geq0 \end{aligned} \end{aligned} w,b,ξmin21wTw+Cn=1Nξns.t. wTzn+bynϵ+ξnξn0w,b,ξn,ξnmin21wTw+Cn=1N(ξn+ξn)s.t.ϵξnynwTznbϵ+ξn  ξn0,ξn0

右边即标准的QP问题

  • ξ n ∨ \color{blue}\xi_n^\vee ξn ξ n ∧ \color{blue}\xi_n^\wedge ξn分别表示upper tube violations和lower tube violations。这种形式叫做Support Vector Regression(SVR) primal。
  • C \color{blue} C C:表示的是regularization和tube violation之间的权衡。large C倾向于tube violation,small C则倾向于regularization。
  • ϵ \color{blue}\epsilon ϵ:表征了tube的区域宽度,即对错误点的容忍程度。 ϵ \epsilon ϵ越大,则表示对错误的容忍度越大

4、接下来将推导SVR的Dual形式

min ⁡ w , b , ξ n ∨ , ξ n ∧ 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) s . t . y n − w T z n − b ≤ ϵ + ξ n ∧    − ϵ − ξ n ∨ ≤ y n − w T z n − b    ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 ⟹ min ⁡ w , b , ξ n ∨ , ξ n ∧ 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) s . t . y n − w T z n − b ≤ ϵ + ξ n ∧    w T z n + b − y n ≤ ϵ + ξ n ∨    ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 \begin{aligned} \begin{aligned} &\min _{{w,b,\xi_n^\vee,\xi_n^\wedge}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} (\xi_n^\vee+\xi_n^\wedge)\\ &\qquad s.t.\quad y_n-w^T\mathbf{z}_{n} - b \leq\epsilon + \xi_n^\wedge\\ &\qquad\qquad\ \ -\epsilon - \xi_n^\vee\leq y_n-w^T\mathbf{z}_{n} - b \\ &\qquad\qquad\ \ \xi_n^\vee\geq0,\xi_n^\wedge\geq0 \end{aligned} \Longrightarrow \begin{aligned} &\min _{{w,b,\xi_n^\vee,\xi_n^\wedge}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} (\xi_n^\vee+\xi_n^\wedge)\\ &\qquad s.t.\quad y_n-w^T\mathbf{z}_{n} - b \leq\epsilon + \xi_n^\wedge\\ &\qquad\qquad\ \ w^T\mathbf{z}_{n} + b-y_n \leq\epsilon + \xi_n^\vee\\ &\qquad\qquad\ \ \xi_n^\vee\geq0,\xi_n^\wedge\geq0 \end{aligned} \end{aligned} w,b,ξn,ξnmin21wTw+Cn=1N(ξn+ξn)s.t.ynwTznbϵ+ξn  ϵξnynwTznb  ξn0,ξn0w,b,ξn,ξnmin21wTw+Cn=1N(ξn+ξn)s.t.ynwTznbϵ+ξn  wTzn+bynϵ+ξn  ξn0,ξn0

⟹ c o m p l e m e n t a r y   s l a c k n e s s : { α n ∧ ( ϵ + ξ n ∧ − y n + w T z n + b ) = 0 α n ∨ ( ϵ + ξ n ∨ + y n − w T z n − b ) = 0 {\color{blue}\Longrightarrow complementary\ slackness:} \left\{\begin{aligned} \alpha_n^\wedge(\epsilon + \xi_n^\wedge - y_n + w^T\mathbf{z}_{n} + b) = 0\\ \alpha_n^\vee(\epsilon + \xi_n^\vee+y_n-w^T\mathbf{z}_{n} - b) = 0\end{aligned}\right. complementary slackness:{αn(ϵ+ξnyn+wTzn+b)=0αn(ϵ+ξn+ynwTznb)=0

拉格朗日因子 α n ∨ \alpha_n^\vee αn α n ∧ \alpha_n^\wedge αn ξ n ∨ \xi_n^\vee ξn ξ n ∧ \xi_n^\wedge ξn 不等式分别对应。由上式可看出,分布在tube中心区域内的点满足 ∣ w T z n + b − y n ∣ < ϵ |w^Tz_n+b−y_n|<\epsilon wTzn+byn<ϵ,此时忽略错误, ξ n ∨ \xi_n^\vee ξn ξ n ∧ \xi_n^\wedge ξn都等于零,则括号项均不为零,必然得到 α n ∨ = 0 \alpha_n^\vee=0 αn=0 α n ∧ = 0 \alpha_n^\wedge=0 αn=0,即 β n = α n ∧ − α n ∨ = 0 \beta_n=\alpha_n^{\wedge}-\alpha_n^{\vee}=0 βn=αnαn=0,而分布在tube之外的点, β n ≠ 0 \beta_n\neq0 βn=0,所以 β n \color{blue}\beta_n βn 是相对 s p a r s e \color{blue}sparse sparse 的。

5、构造拉格朗日函数啊
L ( w , b , α ∨ , α ∧ , ξ n ∨ , ξ n ∧ , μ ∨ , μ ∧ ) = 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) + ∑ n = 1 N α n ∨ ( − ϵ − ξ n ∨ − y n + w T z n + b )      + ∑ n = 1 N α n ∧ ( y n − w T z n − b − ϵ − ξ n ∧ ) + ∑ n = 1 N μ n ∨ ( − ξ n ∨ ) + ∑ n = 1 N μ n ∧ ( − ξ n ∧ ) \begin{aligned} &L(w,b,\alpha^{\lor}, \alpha^{\land}, \xi_n^{\lor}, \xi_n^{\land}, \mu^{\lor}, \mu^{\land}) \\ &=\frac{1}{2}{w}^{T} {w} + C\sum\limits_{n=1}^{N}(\xi_n^{\lor}+ \xi_n^{\land}) + \sum\limits_{n=1}^{N}\alpha_n^{\lor}(-\epsilon - \xi_n^{\lor} -y_n + w^T \mathbf{z}_{n} + b) \\ &\ \ \ \ +\sum\limits_{n=1}^{N}\alpha_n^{\land}(y_n - w^T\mathbf{z}_{n} - b -\epsilon - \xi_n^{\land}) +\sum\limits_{n=1}^{N}\mu_n^{\lor}(- \xi_n^{\lor}) +\sum\limits_{n=1}^{N}\mu_n^{\land}(- \xi_n^{\land}) \end{aligned} L(w,b,α,α,ξn,ξn,μ,μ)=21wTw+Cn=1N(ξn+ξn)+n=1Nαn(ϵξnyn+wTzn+b)    +n=1Nαn(ynwTznbϵξn)+n=1Nμn(ξn)+n=1Nμn(ξn)

6、令相关参数偏微分为零得到相应的KKT条件:

  • w \color{blue}w w ∂ ∂ w L = 0 ⇒ w = ∑ n = 1 N ( α n ∧ − α n ∨ ) z n \frac{\partial}{\partial w}L=0\Rightarrow w =\sum\limits_{n=1}^N(\alpha_n^\wedge-\alpha_n^\vee)\mathbf{z}_{n} wL=0w=n=1N(αnαn)zn
  • b \color{blue}b b ∂ ∂ b L = 0 ⇒ ∑ n = 1 N ( α n ∧ − α n ∨ ) = 0 \frac{\partial}{\partial b}L=0\Rightarrow\sum\limits_{n=1}^N(\alpha_n^\wedge-\alpha_n^\vee)=0 bL=0n=1N(αnαn)=0
  • ξ n ∨ \color{blue}\xi_n^{\lor} ξn ∂ ∂ ξ n ∨ L = 0    ⇒ C − α n ∨ − μ n ∨ = 0 \frac{\partial }{\partial \xi_n^{\lor}}L = 0 \;\Rightarrow C-\alpha_n^{\lor}-\mu_n^{\lor} = 0 ξnL=0Cαnμn=0
  • ξ n ∧ \color{blue}\xi_n^{\land} ξn ∂ ∂ ξ n ∧ L = 0    ⇒ C − α n ∧ − μ n ∧ = 0 \frac{\partial }{\partial \xi_n^{\land}} L= 0 \;\Rightarrow C-\alpha_n^{\land}-\mu_n^{\land} = 0 ξnL=0Cαnμn=0

7、得到最终的SVR dual 形式:
min ⁡ α n ∨ , α n ∧ 1 2 ∑ n = 1 N ∑ m = 1 N ( α n ∧ − α n ∨ ) ( α m ∧ − α m ∨ ) K n m + ∑ n = 1 N ( ( ϵ − y n ) α n ∧ + ( ϵ + y n ) α n ∨ ) s . t . ∑ i = 1 N ( α i ∧ − α i ∨ ) = 0 0 < α n ∨ < C    ( n = 1 , 2 , . . . N ) 0 < α n ∧ < C    ( n = 1 , 2 , . . . N ) \begin{aligned} &\min_{\alpha_n^{\lor}, \alpha_n^{\land}} \quad\frac{1}{2}\sum\limits_{n=1}^{N}\sum\limits_{m=1}^{N}(\alpha_n^{\land} - \alpha_n^{\lor})(\alpha_m^{\land} - \alpha_m^{\lor})K_{nm} +\sum\limits_{n=1}^{N}\left((\epsilon-y_n)\alpha_n^{\land}+ (\epsilon+y_n)\alpha_n^{\lor}\right) \\ &\quad s.t. \quad \sum\limits_{i=1}^{N}(\alpha_i^{\land} - \alpha_i^{\lor}) = 0\\ &\qquad\qquad 0 < \alpha_n^{\lor} < C \; (n =1,2,...N)\\ &\qquad\qquad 0 < \alpha_n^{\land} < C \; (n =1,2,...N) \end{aligned} αn,αnmin21n=1Nm=1N(αnαn)(αmαm)Knm+n=1N((ϵyn)αn+(ϵ+yn)αn)s.t.i=1N(αiαi)=00<αn<C(n=1,2,...N)0<αn<C(n=1,2,...N)

参考文献

【1】支撑向量机
【2】机器学习技法笔记
【3】A tutorial on support vector regression
【4】机器学习算法实践-SVM中的SMO算法
【5】支持向量机原理之线性SVM
【6】支持向量机实战之非线性SVM
【7】支持向量机原理(一) 线性支持向量机
【8】持向量机原理(二) 线性支持向量机的软间隔最大化模型
【9】支持向量机原理(三)线性不可分支持向量机与核函数
【10】支持向量机原理(四)SMO算法原理
【11】支持向量机原理(五)线性支持回归
【12】机器学习算法实践-支持向量机(SVM)算法原理
【13】机器学习算法实践-SVM核函数和软间隔
【14】机器学习算法实践-Platt SMO和遗传算法优化SVM
【15】真正理解拉格朗日乘子法和 KKT 条件
【16】支持向量机:Duality

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值