ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

支持向量机(Support Vector Machine,SVM)

2021-01-20 20:57:18  阅读:183  来源: 互联网

标签:yi SVM Support Machine beta xi quad alpha sum


支持向量机(Support Vector Machine,SVM)理论部分

SVM简介

  SVM由一个叫做Vapnik的前苏联人发明于70年代中期。当时处于冷战期间,欧美与苏联不互通,等到苏联解体后,Vapnik来到美国,才逐渐发表了自己的研究成果。

  SVM是一个小样本的方法,其原因是超平面的选取只与支持向量有关(后面会说什么是超平面和支持向量)。

  SVM有着严密的数学推导,因此SVM的可解释性很好。

  SVM从如何划分线性可分(Linear Separable)的样本集出发,推广到如何划分线性不可分(Non-linear Separable)的样本集。

线性可分

SVM线性模型的说明

  假设所有的样本可分为两类,“+”表示一类样本,“-”表示另一类样本,x1和x2为样本的俩个特征,将所有已知的这样的样本画出来,很明显,两类样本可以用一条直线分隔开,这样的样本集是线性可分的。

  显然如果存在一条直线能将这样的样本集分开,那么一定存在无数条直线能将这样的样本集分开,如下图所示(周志华老师所著的西瓜书中的配图):
在这里插入图片描述

  不论是通过直觉,还是理论证明,在上图中,显然是那条加粗的直线所达到的分类效果最好。这是因为这条线在两类样本的“最中间”处,所以它的抗噪声的能力最强,这样的线性模型鲁棒性最好。

  为了唯一确定这条分类效果最好的直线,首先要定义一些名词用以描述这条直线。

  对于每条能够将两类样本划分开的直线Li,将直线Li向两侧平移,直到与一个或多个样本点相交,把这些与平移后的Li相交的样本点称为支持向量(support vector),把两个异类的支持向量到直线Li的距离之和称为间隔(margin)。

  显然,在所有的直线L中,间隔最大且支持向量到直线Li的距离为间隔的一半,这样的Li即为所求。

SVM线性模型的数学描述

  在上文中,以二维的特征空间为例,说明了如何选取分类效果最好的直线。然而在实际问题中,特征可能有很多个,也就是说特征空间不再是二维,会是更多的维度。

  在二维空间中,用一条直线 l : w 1 x 1 + w 2 x 2 + b = 0 l:w_1x_1+w_2x_2+b=0 l:w1​x1​+w2​x2​+b=0划分两类样本点,在三维空间中,用一个平面 γ : w 1 x 1 + w 2 x 2 + w 3 x 3 + b = 0 \gamma:w_1x_1+w_2x_2+w_3x_3+b=0 γ:w1​x1​+w2​x2​+w3​x3​+b=0划分两类样本点,在更高维的空间中,显然依然存在形如 w 1 x 1 + w 2 x 2 + w 3 x 3 + ⋯ + w n x n + b = 0 w_1x_1+w_2x_2+w_3x_3+\cdots+w_nx_n+b=0 w1​x1​+w2​x2​+w3​x3​+⋯+wn​xn​+b=0的方程能够划分两类样本点,人作为三维生物很难想象它具体的样子,因此称之为超平面(hyper plane)。

通过对点到直线距离公式的推广知,点到超平面的距离d为:
d = ∣ w 1 x 1 + w 2 x 2 + ⋯ + w n x n + b ∣   w 1 2 + w 2 2 + ⋯ + w n 2   d=\frac{|w_1x_1+w_2x_2+\cdots+w_nx_n+b|}{\,\sqrt{w_1^2+w_2^2+\cdots+w_n^2}\,} d=w12​+w22​+⋯+wn2​ ​∣w1​x1​+w2​x2​+⋯+wn​xn​+b∣​将 w 1 ∼ w n 与 x 1 ∼ x n w_1\sim w_n与x_1\sim x_n w1​∼wn​与x1​∼xn​写成向量的形式,于是超平面的方程L可以简化为:
w T x + b = 0 w^Tx+b=0 wTx+b=0则点到超平面的距离d可简化为:
d = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ d=\frac{|w^Tx+b|}{||w||} d=∣∣w∣∣∣wTx+b∣​设在L之上的样本点的标签 y i = + 1 y_i=+1 yi​=+1,在L之下的样本点的标签 y i = − 1 y_i=-1 yi​=−1(后面会说明为什么是+1和-1而不是0和1或是其他的什么数),如果L能够将特征空间中所有的样本点分类正确,那么对于特征空间中的所有样本点都满足:
{ w T x i + b ≥ 0 y i = + 1 w T x i + b < 0 y i = − 1 ( 1 ) \begin{cases} w^Tx_i+b\ge0 && {y_i=+1}\\ w^Tx_i+b<0 && {y_i=-1} \end{cases} \qquad(1) {wTxi​+b≥0wTxi​+b<0​​yi​=+1yi​=−1​(1)由于与超平面L距离最近的点是支持向量,设支持向量到超平面L的距离为r(r>0),则(1)可以写成:
{ w T x i + b ≥ r y i = + 1 w T x i + b ≤ − r y i = − 1 ( 2 ) \begin{cases} w^Tx_i+b\ge r && {y_i=+1}\\ w^Tx_i+b\le-r && {y_i=-1} \end{cases} \qquad(2) {wTxi​+b≥rwTxi​+b≤−r​​yi​=+1yi​=−1​(2)在(2)中的不等式两边同时乘一个系数1/r,w和b放缩相同的倍数,超平面并不会发生改变,因此不等式左侧的系数可以乘入到w和b中,即
{ w T x i + b ≥ 1 y i = + 1 w T x i + b ≤ − 1 y i = − 1 ( 3 ) \begin{cases} w^Tx_i+b\ge1 && {y_i=+1}\\ w^Tx_i+b\le-1 && {y_i=-1} \end{cases} \qquad(3) {wTxi​+b≥1wTxi​+b≤−1​​yi​=+1yi​=−1​(3)显然,特征空间中的支持向量能使不等式(3)取等号,也就是说两个异类的支持向量到超平面的距离为:
d = 2 ∣ ∣ w ∣ ∣ d=\frac{2} {||w||} d=∣∣w∣∣2​为了让间隔最大,只需让||w||最小,至此已经得出了线性模型的任务目标。

最小化(Minimize):
1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2} ||w||^2 21​∣∣w∣∣2限制条件(Subject to):
y i [ w T x i + b ] ≥ 1 , i = 1 ∼ N yi[w^Tx_i + b]\ge1,\quad i=1\sim N yi[wTxi​+b]≥1,i=1∼N对于目标函数,加平方是为了将其改造为二次规划问题,加上系数1/2是为了求导方便。

对于限制条件,由于在前面设yi的取值为+1和-1,因此可以将(3)简化写成如上的形式。

二次规划(Quadratic Programming)

  二次规划问题是目标函数(Objective Function)是二次项,限制条件是一次项的优化问题。这种问题要么无解,要么只有一个极小值。

原问题(Prime Problem)

min ⁡ x f ( x ) s . t . g i ( x ) ≤ 0 , i = 1 ∼ k h i ( x ) = 0 , i = 1 ∼ m \begin{aligned} \min_x\quad&f(x)\\ s.t.\quad&g_i(x)\le 0,\quad i=1\sim k\\ &h_i(x)=0,\quad i=1\sim m \end{aligned} xmin​s.t.​f(x)gi​(x)≤0,i=1∼khi​(x)=0,i=1∼m​

  这是一个普适的定义,通过修改正负号,给k、m设值,任何优化问题都可以写成上述形式,其中k、m至少有一个为0时,代表只有一个限制条件或者没有限制条件。

拉格朗日乘子法(Lagrange multiplier)

  给定原问题,对原问题的每条约束条件添加拉格朗日乘子 a i ≥ 0 a_i\ge0 ai​≥0和 β i \beta_i βi​,则该问题的拉格朗日函数可写成:
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i g i ( x ) + ∑ i = 1 m β i h i ( x ) L(x,\alpha,\beta)=f(x)+\sum_{i=1}^{k}\alpha_ig_i(x)+\sum_{i=1}^{m}\beta_ih_i(x) L(x,α,β)=f(x)+i=1∑k​αi​gi​(x)+i=1∑m​βi​hi​(x) s . t . α i ≥ 0 , i = 1 ∼ k s.t.\quad \alpha_i \ge0,\quad i=1\sim k s.t.αi​≥0,i=1∼k因为
α i ≥ 0 , g i ( x ) ≤ 0 , h i ( x ) = 0 \alpha_i\ge0,g_i(x)\le0,h_i(x)=0 αi​≥0,gi​(x)≤0,hi​(x)=0所以原问题等价于:
min ⁡ x max ⁡ α , β L ( x , α , β ) \min_x\max_{\alpha,\beta}L(x,\alpha,\beta) xmin​α,βmax​L(x,α,β) s . t . α ≥ 0 s.t.\qquad \alpha\ge0 s.t.α≥0

对偶问题(Dual Problem)

max ⁡ α , β min ⁡ x L ( x , α , β ) \max_{\alpha,\beta}\min_{x}L(x,\alpha,\beta) α,βmax​xmin​L(x,α,β) s . t . α ≥ 0 s.t.\quad \alpha\ge0 s.t.α≥0  其中, α ≥ 0 \alpha\ge0 α≥0表示 α \alpha α的每一个分量 α i \alpha_i αi​都大于等于0。

原问题与对偶问题的区别

  原问题:自变量为x,每个x对应一个函数值,这个函数值是在当前x下,遍历所有的 α \alpha α和 β \beta β后找到的最大值。函数目标是在这些最大值中找到最小的那个。

  对偶问题:自变量为 α \alpha α和 β \beta β,每个 α \alpha α和 β \beta β对应一个函数值,这个函数值是在当前 α \alpha α和 β \beta β下,遍历所有的x找到的最小值。函数目标是在这些最小值中找到最大的那一个。

  因此,对偶问题是原问题的下界,即对偶问题的解小于等于原问题的解。

强对偶定理

  若f(x)为凸函数,且g(x)=Ax+b,h(x)=Cx+b,则此优化问题的原问题与对偶问题的间距为0,即 f ( x ∗ ) = θ ( α ∗ , β ∗ ) f(x^*)=\theta(\alpha^*,\beta^*) f(x∗)=θ(α∗,β∗),其中, x ∗ x^* x∗是原问题的解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的解, θ ( α , β ) \theta(\alpha,\beta) θ(α,β)为对偶问题的表达式,原问题与对偶问题的间距 G = f ( x ∗ ) − θ ( α ∗ , β ∗ ) ≥ 0 G=f(x^*)-\theta(\alpha^*,\beta^*)\ge0 G=f(x∗)−θ(α∗,β∗)≥0。

  如果G为0,则意味着对任意的i=1~k,或者 α i ∗ = 0 \alpha_i^*=0 αi∗​=0,或者 g i ∗ ( x ∗ ) = 0 g_i^*(x^*)=0 gi∗​(x∗)=0(KKT条件)。

将SVM线性可分的原问题转化成对偶问题

在前文中,已经得出了线性模型的任务目标:
min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 s . t . 1 − y i [ w T x i + b ] ≤ 0 ( i = 1 ∼ N ) \begin{aligned} \min\quad &\frac{1}{2} ||w||^2\\ s.t.\quad&1-yi[w^Tx_i + b]\le0 (i=1\sim N) \end{aligned} mins.t.​21​∣∣w∣∣21−yi[wTxi​+b]≤0(i=1∼N)​它本身是一个凸二次规划问题,能直接用Quadratic Programming优化包求解。但存在更高效的办法。

对上式使用拉格朗日乘子法,得到:
L ( w , b , α ) 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 k α i [ 1 − y i ( w T x i + b ) ] s . t . α i ≥ 0 , i = 1 ∼ k \begin{aligned} L(w,b,\alpha)\quad &\frac{1}{2} ||w||^2+\sum_{i=1}^{k}\alpha_i[1-yi(w^Tx_i + b)]\\ s.t.\quad&\alpha_i\ge0,\quad i=1\sim k \end{aligned} L(w,b,α)s.t.​21​∣∣w∣∣2+i=1∑k​αi​[1−yi(wTxi​+b)]αi​≥0,i=1∼k​因为 1 − y i ( w T x i + b ) 1-yi(w^Tx_i + b) 1−yi(wTxi​+b)是线性的,符合强对偶定理。因此可以通过求解对偶问题来获得原问题的解。

令L分别对 w w w和b的偏导为0,得:
w = ∑ i = 1 k α i y i x i , 0 = ∑ i = 1 k α i y i \begin{aligned} w&=\sum_{i=1}^{k}\alpha_iy_ix_i,\\ 0&=\sum_{i=1}^{k}\alpha_iy_i \end{aligned} w0​=i=1∑k​αi​yi​xi​,=i=1∑k​αi​yi​​代回原式得:
max ⁡ α ∑ i = 1 k α i − 1 2 ∑ i = 1 k ∑ j = 1 k α i α j y i y j x i T x j s . t . ∑ i = 1 k α i y i = 0 α i ≥ 0 , i = 1 ∼ k ( 4 ) \begin{aligned} \max_\alpha\quad&\sum_{i=1}^{k}\alpha_i-\frac{1}{2}\sum_{i=1}^{k}\sum_{j=1}^{k}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.\quad&\sum_{i=1}^{k}\alpha_iy_i=0\\ &\alpha_i\ge0,\quad i=1\sim k \end{aligned}\quad(4) αmax​s.t.​i=1∑k​αi​−21​i=1∑k​j=1∑k​αi​αj​yi​yj​xiT​xj​i=1∑k​αi​yi​=0αi​≥0,i=1∼k​(4)解出 α \alpha α后,将带有 α \alpha α的表达式代入 w T x + b = 0 w^Tx+b=0 wTx+b=0中,得:
∑ i = 1 k α i y i x i T x + b = 0 ( 5 ) \sum_{i=1}^{k}\alpha_iy_ix_i^Tx+b=0\qquad(5) i=1∑k​αi​yi​xiT​x+b=0(5)式(5)即为最终确定的超平面,也就是训练得到的模型。

根据KKT条件, α i [ 1 − y i ( w T x i + b ) ] = 0 \alpha_i[1-yi(w^Tx_i + b)]=0 αi​[1−yi(wTxi​+b)]=0,也就是说要么 α i = 0 \alpha_i=0 αi​=0,要么 1 − y i ( w T x i + b ) = 0 1-yi(w^Tx_i + b)=0 1−yi(wTxi​+b)=0,若前者为0,则第i个样本不会出现在(5)的求和中,也就不会对待求解的超平面产生影响;若后者为0,显然 x i x_i xi​是一个支持向量。这意味着,模型确定后,只需要保留支持向量即可,其他训练样本无需保留,即最终模型只与支持向量有关。

关于求解式(4),可以使用SMO算法。

线性不可分

升维

  对于线性可分的样本集,可以找到一个超平面将之划分,对于线性不可分的样本集,显然是无解的(二次规划问题,要么只有一个极小值,要么无解)。为了让SVM能够处理线性不可分的样本集,首先要将原样本集投到更高维的空间中,投射后的样本集将会有更大的概率变得线性可分,若投到无限维的空间中,则一定变得线性可分。

核函数

  然而,若将x经过映射函数 φ ( x ) \varphi(x) φ(x)映射到无限维,式(4)将会变为:
max ⁡ α ∑ i = 1 k α i − 1 2 ∑ i = 1 k ∑ j = 1 k α i α j y i y j φ ( x i ) T φ ( x j ) s . t . ∑ i = 1 k α i y i = 0 α i ≥ 0 , i = 1 ∼ k \begin{aligned} \max_\alpha\quad&\sum_{i=1}^{k}\alpha_i-\frac{1}{2}\sum_{i=1}^{k}\sum_{j=1}^{k}\alpha_i\alpha_jy_iy_j\varphi(x_i)^T\varphi(x_j)\\ s.t.\quad&\sum_{i=1}^{k}\alpha_iy_i=0\\ &\alpha_i\ge0,\quad i=1\sim k \end{aligned}\quad αmax​s.t.​i=1∑k​αi​−21​i=1∑k​j=1∑k​αi​αj​yi​yj​φ(xi​)Tφ(xj​)i=1∑k​αi​yi​=0αi​≥0,i=1∼k​显然,此优化函数将会变得不可解。

但实际上,其实并不需要知道 φ ( x i ) \varphi(x_i) φ(xi​)和 φ ( x j ) \varphi(x_j) φ(xj​)的具体值,也就是说,并不需要知道无限维映射 φ ( x ) \varphi(x) φ(x)的显式表达式是什么,只需要知道一个核函数(Kernel Function) K ( x i , x j ) = φ ( x i ) T φ ( x j ) K(x_i,x_j)=\varphi(x_i)^T\varphi(x_j) K(xi​,xj​)=φ(xi​)Tφ(xj​),这样,不仅能把原样本集映射到无限维,还能使式(4)依然可解。

常用的核函数:
线 性 核 K ( x 1 , x 2 ) = x 1 T x 2 多 项 式 核 K ( x 1 , x 2 ) = ( x 1 T x 2 + 1 ) d d ≥ 1 为 多 项 式 的 次 数 , d = 1 时 为 线 性 核 高 斯 核 K ( x 1 , x 2 ) = e − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 σ > 0 为 高 斯 核 的 带 宽 ( w i d t h ) 拉 普 拉 斯 核 K ( x 1 , x 2 ) = e − ∣ ∣ x 1 − x 2 ∣ ∣ σ σ > 0 S i g m o i d 核 K ( x 1 , x 2 ) = t a n h ( β x 1 T x 2 + θ ) β > 0 , θ < 0 \begin{aligned} 线性核\qquad K(x_1,x_2)=&x_1^Tx_2\\\\ 多项式核\qquad K(x_1,x_2)=&(x_1^Tx_2+1)^d\qquad &&d\ge1为多项式的次数,d=1时为线性核\\\\ 高斯核\qquad K(x_1,x_2)=&e^{-\frac{||x_1-x_2||^2}{2\sigma^2}}\qquad &&\sigma >0为高斯核的带宽(width)\\\\ 拉普拉斯核\qquad K(x_1,x_2)=&e^{-\frac{||x_1-x_2||}{\sigma}}\qquad &&\sigma>0\\\\ Sigmoid核\qquad K(x_1,x_2)=&tanh(\beta x_1^Tx_2+\theta)\qquad &&\beta>0,\theta<0 \end{aligned} 线性核K(x1​,x2​)=多项式核K(x1​,x2​)=高斯核K(x1​,x2​)=拉普拉斯核K(x1​,x2​)=Sigmoid核K(x1​,x2​)=​x1T​x2​(x1T​x2​+1)de−2σ2∣∣x1​−x2​∣∣2​e−σ∣∣x1​−x2​∣∣​tanh(βx1T​x2​+θ)​​d≥1为多项式的次数,d=1时为线性核σ>0为高斯核的带宽(width)σ>0β>0,θ<0​
核函数还可以通过函数组合得到,两个核函数对于任意正数的线性组合、两个核函数的直积也是核函数,此外,若 K 1 K_1 K1​为核函数,则对于任意函数 g ( x ) g(x) g(x), K ( x 1 , x 2 ) = g ( x 1 ) K 1 ( x 1 , x 2 ) g ( x 2 ) K(x_1,x_2)=g(x_1)K_1(x_1,x_2)g(x_2) K(x1​,x2​)=g(x1​)K1​(x1​,x2​)g(x2​)也是核函数。

修改待优化的目标函数

  在前文中已经知道,超平面的选取标准是最大化支持向量与超平面的距离。其实以这种标准选取超平面的时候就已经默认了一件事,那就是训练样本集是线性可分的,对于线性不可分的训练样本,将之投到更高维的空间中,如果投到无限维的空间中,那将一定会变得线性可分,正是因为这一点,SVM才能对任何样本集都成立。

  通过核函数的引入,使得无限维的映射 φ ( x ) \varphi(x) φ(x)的显式表达式变得并不重要,优化问题也变得仍然可解。但这个前提是,找到合适的核函数,此外,就算找到了某个核函数使训练样本集在高维空间中线性可分也不能确保这个模型就是好的,因为它有可能发生了过拟合。

  为了缓解这个问题,需要让超平面的选取不再那么严苛,也就是说允许训练样本集上的一些样本点分类错误,即允许有样本点不满足 y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\ge1 yi​(wTxi​+b)≥1,显然,不满足约束的样本点越少越好,可以通过引入松弛变量的方式来达到这种效果,优化问题将被改写为:
min ⁡ w , ξ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 k ξ i , C > 0 s . t . y i ( w T x i + b ) ≥ 1 − ξ i ξ i ≥ 0 , i = 1 ∼ k ( 6 ) \begin{aligned} \min_{w,\xi_i}&\quad \frac{1}{2}||w||^2+C\sum_{i=1}^{k}\xi_i,\quad C>0\\ s.t.&\quad y_i(w^Tx_i+b)\ge1-\xi_i\\ &\quad \xi_i\ge0,\quad i=1\sim k \end{aligned}\qquad (6) w,ξi​min​s.t.​21​∣∣w∣∣2+Ci=1∑k​ξi​,C>0yi​(wTxi​+b)≥1−ξi​ξi​≥0,i=1∼k​(6)在式(6)中可以看出,通过引入松弛变量,使得 y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\ge1 yi​(wTxi​+b)≥1条件变得具有一定弹性。

将式(6)改造成原问题:
min ⁡ w , ξ i 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 k ξ i , C > 0 s . t . 1 + ξ i − y i ( w T x i + b ) ≤ 0 ξ i ≤ 0 , i = 1 ∼ k ( 7 ) \begin{aligned} \min_{w,\xi_i}&\quad \frac{1}{2}||w||^2-C\sum_{i=1}^{k}\xi_i,\quad C>0\\ s.t.&\quad 1+\xi_i -y_i(w^Tx_i+b)\le0\\ &\quad \xi_i\le0,\quad i=1\sim k \end{aligned}\qquad(7) w,ξi​min​s.t.​21​∣∣w∣∣2−Ci=1∑k​ξi​,C>01+ξi​−yi​(wTxi​+b)≤0ξi​≤0,i=1∼k​(7)

将SVM线性不可分的原问题转化成对偶问题

再将式(7)转化成对偶问题:
max ⁡ α , β min ⁡ w , b , ξ i 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 k ξ i + ∑ i = 1 k β i ξ i + ∑ i = 1 k α i ( 1 + ξ i − y i w T x i − y i b ) , C > 0 , α i ≥ 0 , β i ≥ 0 ( 8 ) \max_{\alpha,\beta}\min_{w,b,\xi_i}\frac{1}{2}||w||^2-C\sum_{i=1}^{k}\xi_i+\sum_{i=1}^{k}\beta_i\xi_i+\sum_{i=1}^{k}\alpha_i(1+\xi_i -y_iw^Tx_i-y_ib),\quad C>0,\alpha_i\ge0,\beta_i\ge0 \qquad(8) α,βmax​w,b,ξi​min​21​∣∣w∣∣2−Ci=1∑k​ξi​+i=1∑k​βi​ξi​+i=1∑k​αi​(1+ξi​−yi​wTxi​−yi​b),C>0,αi​≥0,βi​≥0(8) α i , β i \alpha_i,\beta_i αi​,βi​都大于等于0的原因是,此处的 α i , β i \alpha_i,\beta_i αi​,βi​都相当于拉格朗日函数中的 α i \alpha_i αi​,由于在这个问题中没有形如 h i ( x ) = 0 h_i(x)=0 hi​(x)=0的限制条件,因此没有相当于拉格朗日函数中 β i \beta_i βi​的系数存在,设内层求最小值的函数等于L,分别令L对 w , b , ξ i w,b,\xi_i w,b,ξi​的偏导为0,有:
∂ L ∂ w = 0 = > ∑ i = 1 k α i y i x i = w ∂ L ∂ b = 0 = > ∑ i = 1 k α i y i = 0 ∂ L ∂ ξ i = 0 = > α i + β i = C \begin{aligned} \frac{\partial L}{\partial w}=0& \quad=> \quad \sum_{i=1}^{k}\alpha_iy_ix_i=w\\\\ \frac{\partial L}{\partial b}=0& \quad=> \quad \sum_{i=1}^{k}\alpha_iy_i=0\\\\ \frac{\partial L}{\partial \xi_i}=0& \quad=> \quad \alpha_i+\beta_i=C \end{aligned} ∂w∂L​=0∂b∂L​=0∂ξi​∂L​=0​=>i=1∑k​αi​yi​xi​=w=>i=1∑k​αi​yi​=0=>αi​+βi​=C​将上式代回原式中得到新的优化问题:
max ⁡ α , β ∑ i = 1 k α i − 1 2 ∑ i = 1 k ∑ j = 1 k α i α j y i y j x i T x j s . t . ∑ i = 1 k α i y i = 0 0 ≤ α i ≤ C \begin{aligned} \max_{\alpha,\beta}&\quad \sum_{i=1}^{k}\alpha_i-\frac{1}{2}\sum_{i=1}^{k} \sum_{j=1}^{k}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.&\quad \sum_{i=1}^{k}\alpha_iy_i=0\\ &\quad 0\le \alpha_i\le C \end{aligned} α,βmax​s.t.​i=1∑k​αi​−21​i=1∑k​j=1∑k​αi​αj​yi​yj​xiT​xj​i=1∑k​αi​yi​=00≤αi​≤C​其中,要将 x i T x j x_i^Tx_j xiT​xj​升维并通过核函数求解,因此,最终的优化问题为:
max ⁡ α , β ∑ i = 1 k α i − 1 2 ∑ i = 1 k ∑ j = 1 k α i α j y i y j K ( x i , x j ) s . t . ∑ i = 1 k α i y i = 0 0 ≤ α i ≤ C \begin{aligned} \max_{\alpha,\beta}&\quad \sum_{i=1}^{k}\alpha_i-\frac{1}{2}\sum_{i=1}^{k} \sum_{j=1}^{k}\alpha_i\alpha_jy_iy_jK(x_i,x_j)\\ s.t.&\quad \sum_{i=1}^{k}\alpha_iy_i=0\\ &\quad 0\le \alpha_i\le C \end{aligned} α,βmax​s.t.​i=1∑k​αi​−21​i=1∑k​j=1∑k​αi​αj​yi​yj​K(xi​,xj​)i=1∑k​αi​yi​=00≤αi​≤C​可见,加入松弛变量后,最终的优化问题与线性可分的优化问题的区别只有拉格朗日乘子 a i a_i ai​的取值范围变了。

根据KKT条件, β i , ξ i \beta_i,\xi_i βi​,ξi​中必有一个为0;
α i , 1 + ξ i − y i w T φ ( x i ) − y i b \alpha_i,1+\xi_i-y_iw^T\varphi(x_i)-y_ib αi​,1+ξi​−yi​wTφ(xi​)−yi​b中必有一个为0。

若 α i = 0 \alpha_i=0 αi​=0,则该样本 x i x_i xi​不会对超平面产生影响;
若 0 < α i 0<\alpha_i 0<αi​,则 y i [ w T φ ( x i ) + b ] = 1 + ξ i y_i[w^T\varphi(x_i)+b]=1+\xi_i yi​[wTφ(xi​)+b]=1+ξi​,显然此时的 x i x_i xi​是支持向量;
若 0 < α i < C 0<\alpha_i<C 0<αi​<C,则 β i ≠ 0 \beta_i≠0 βi​​=0即 ξ i = 0 \xi_i=0 ξi​=0,即该样本恰好落在最大间隔上;
若 α i = C \alpha_i=C αi​=C,则 β i = 0 \beta_i=0 βi​=0。若 − 1 ≤ ξ i < 0 -1\le\xi_i<0 −1≤ξi​<0,即该样本落在最大间隔的内部;若 ξ i < − 1 \xi_i<-1 ξi​<−1,即该样本分类错误。

由此可以看出,引入松弛变量前后的SVM都只与支持向量有关。

标签:yi,SVM,Support,Machine,beta,xi,quad,alpha,sum
来源: https://blog.csdn.net/qq_43812171/article/details/112751136

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有