机器学习系列:SVM

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

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

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

  1. hard-margin SVM
  2. soft-margin SVM
  3. kernel Method

SVM 的求解中,大量用到了 Lagrange 乘子法,首先对这种方法进行介绍。

1. 拉格朗日乘子法

一般地,约束优化问题(原问题)可以写成: 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 \min_{x\in\mathbb{R}^p}\max_{\lambda,\eta}L(x,\lambda,\eta)\ s.t.\ \lambda_i\ge0 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 \max_{\lambda,\eta}\min_{x\in\mathbb{R}^p}L(x,\lambda,\eta)\ s.t.\ \lambda_i\ge0 λ,η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 个不等式约束中,有 K 个函数为仿射函数,那么只要其余的函数满足 Slater 条件即可。
    也就是说对于大多数凸优化问题,都满足强对偶性,而KKT条件和强对偶关系是等价的,于是KKT条件对最优解的条件为
    可行域: 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)0 nj(x)=0 λ0

互补松弛 λ i m ( x ∗ ) = 0 , ∀ m i \lambda^m_i(x^*)=0,\forall m_i λim(x)=0,mi,对偶问题的最佳值为 d ∗ d^* d,原问题为 p ∗ p^* p d ∗ = max ⁡ λ , η g ( λ , η ) = g ( λ , η ) = min ⁡ x L ( x , λ , η ) ≤ L ( x , λ , η ) = f ( x ∗ ) + ∑ i = 1 M λ i m ( 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λim(x)f(x)=p 为了满足相等,两个不等式必须成立,于是,对于第一个不等于号,需要有梯度为0条件,对于第二个不等于号需要满足互补松弛条件。

梯度为0: ∂ L ( x , λ , η ) ∂ x ∣ x = x ∗ = 0 \frac{\partial L(x,\lambda^,\eta^)}{\partial x}|_{x=x^*}=0 xL(x,λ,η)x=x=0

2. hard-margin SVM

支撑向量机也是一种硬分类模型,在之前的感知机模型中,我们在线性模型的基础上叠加了符号函数,在几何直观上,可以看到,如果两类分的很开的话,那么其实会存在无穷多条线可以将两类分开。在 SVM 中,我们引入最大化间隔这个概念,间隔指的是数据和直线的距离的最小值,因此最大化这个值反映了我们的模型倾向。

分割的超平面可以写为: 0 = w T x + b 0=w^Tx+b 0=wTx+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 [ min ⁡ i y i ( w T x i + b ) ∣ ∣ w ∣ ∣ ]   s . t .   y i ( w T x i + b ) > 0 \mathop{argmax}{w,b}[\min_i\frac{|w^Tx_i+b|}{||w||}]\ s.t.\ y_i(w^Tx_i+b)>0\ \\ \Longrightarrow\mathop{argmax}{w,b}[\min_i\frac{y_i(w^Tx_i+b)}{||w||}]\ s.t.\ y_i(w^Tx_i+b)>0 argmaxw,b[iminwwTxi+b] s.t. yi(wTxi+b)>0 argmaxw,b[iminwyi(wTxi+b)] s.t. yi(wTxi+b)>0 对于这个约束 y i ( w T x i + b ) > 0 y_i(w^Tx_i+b)>0 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 \mathop{argmin}{w,b}\frac{1}{2}w^Tw\ s.t.\ \min_iy_i(w^Tx_i+b)=1\ \Rightarrow\mathop{argmin}{w,b}\frac{1}{2}w^Tw\ s.t.\ y_i(w^Tx_i+b)\ge1,i=1,2,\cdots,N argminw,b21wTw s.t. iminyi(wTxi+b)=1 argminw,b21wTw s.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 ) ) L(w,b,\lambda)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i(1-y_i(w^Tx_i+b)) L(w,b,λ)=21wTw+i=1Nλi(1yi(wTxi+b)) 我们有原问题就等价于: a r g m i n w , b max ⁡ λ L ( w , b , λ i )   s . t .   λ i ≥ 0 \mathop{argmin}{w,b}\max{\lambda}L(w,b,\lambda_i)\ s.t.\ \lambda_i\ge0 argminw,bmaxλL(w,b,λi) s.t. λi0 我们交换最小和最大值的符号得到对偶问题: max ⁡ λ i min ⁡ w , b L ( w , b , λ i )   s . t .   λ i ≥ 0 \max_{\lambda_i}\min_{w,b}L(w,b,\lambda_i)\ s.t.\ \lambda_i\ge0 λimaxw,bminL(w,b,λi) s.t. λi0 由于不等式约束是仿射函数,对偶问题和原问题等价:

  • b 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 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 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 \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 λmax21i=1Nj=1NλiλjyiyjxiTxj+i=1Nλi, s.t. λi0 从 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(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) λi0 1yi(wTxi+b)0
根据这个条件就得到了对应的最佳参数: 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 \hat{w}=\sum\limits_{i=1}^N\lambda_iy_ix_i\ \hat{b}=y_k-w^Tx_k=y_k-\sum\limits_{i=1}^N\lambda_iy_ix_i^Tx_k,\exist k,1-y_k(w^Tx_k+b)=0 w^=i=1Nλiyixi b^=ykwTxk=yki=1NλiyixiTxk,k,1yk(wTxk+b)=0
而有这个公式可以看出来,当 λ i ! = 0 \lambda_i != 0 λi!=0的时候必有 1 − y k ( w T x k + b ) = 0 1-y_k(w^Tx_k+b)=0 1yk(wTxk+b)=0而当 λ i = 0 \lambda_i = 0 λi=0 1 − y k ( w T x k + b ) ! = 0 1-y_k(w^Tx_k+b)!=0 1yk(wTxk+b)=0,也就是说最终对 w ^ \hat{w} w^起作用的点就是那满足 1 − y k ( w T x k + b ) = 0 1-y_k(w^Tx_k+b)=0 1yk(wTxk+b)=0,而当 λ i = 0 \lambda_i = 0 λi=0的点,这些点组成的向量就是所说的支持向量

3. soft-margin SVM

Hard-margin 的 SVM 只对可分数据可解,如果不可分的情况,我们的基本想法是在损失函数中加入错误分类的可能性。错误分类的个数可以写成: e r r o r = ∑ i = 1 N I y i ( w T x i + b ) < 1 error=\sum_{i=1}^N\mathbb{I}{y_i(w^Tx_i+b)\lt1} error=i=1NIyi(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=1Nmax0,1yi(wTxi+b) 求和符号中的式子又叫做 Hinge Function。

将这个错误加入 Hard-margin SVM 中,于是: arg min ⁡ 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 \argmin_{w,b}\frac{1}{2}w^Tw+C\sum_{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 w,bargmin21wTw+Ci=1Nmax0,1yi(wTxi+b) s.t. yi(wTxi+b)1ξi,i=1,2,,N 这个式子中,常数 C C C 可以看作允许的错误水平,同时上式为了进一步消除 max ⁡ \max max 符号,对数据集中的每一个观测,我们可以认为其大部分满足约束,但是其中部分违反约束,因此这部分约束变成 y i ( w T x + b ) ≥ 1 − ξ i y_i(w^Tx+b)\ge1-\xi_i yi(wTx+b)1ξi,其中 ξ i = max ⁡ { 0 , 1 − y i ( w T x i + b ) } \xi_i=\max\{0,1-y_i(w^Tx_i+b)\} ξi=max{0,1yi(wTxi+b)},进一步的化简:
arg min ⁡ 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 \argmin_{w,b}\frac{1}{2}w^Tw+C\sum_{i=1}^N\xi_i\ \\ s.t.\ y_i(w^Tx_i+b)\ge1-\xi_i,\\ \xi_i\ge0,i=1,2,\cdots,N w,bargmin21wTw+Ci=1Nξi s.t. yi(wTxi+b)1ξi,ξi0,i=1,2,,N

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值