支持向量机学习笔记(简记)

第六章 支持向量机

6.1 间隔与支持向量

  ???Question:给定训练样本 D = ( X 1 , Y 1 ) ( X 2 , Y 2 ) , . . . , ( X m , Y m ) , Y i 为 − 1 或 者 + 1 D = {(X_1 , Y_1) (X_2,Y_2) , ... , (X_m, Y_m)} , Y_{i}为-1或者+1 D=(X1,Y1)(X2,Y2),...,(Xm,Ym),Yi1+1,分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开。

在这里插入图片描述

图6.1-存在多个划分超平面将两类训练样本分开

  样本空间中任意点 x x x到超平面 ( w , b ) (w,b) (w,b)的距离可写为:
r = w T x + b ∣ ∣ w ∣ ∣ (1) \begin{aligned} r = \frac{w^Tx+b}{||w||} \tag{1} \end{aligned} r=wwTx+b(1)
  假设超平面 ( w , b ) (w,b) (w,b)能够将训练样本正确分类,即对于 ( x i , y i ) ∈ D , 若 y i = + 1 , 则 有 w T x i + b > 0 ; 若 y i = − 1 , 则 w T x i + b < 0. 令 (x_i,y_i)∈D,若y_i=+1,则有w^Tx_i+b>0;若y_i=-1,则w^Tx_i+b<0.令 (xi,yi)Dyi=+1,wTxi+b>0;yi=1,wTxi+b<0.
{ w T + b ≥ + 1 , y i = + 1 ; w T + b ≤ − 1 , y i = − 1. (2) \begin{aligned} \begin{cases} w^T + b ≥ +1,\quad y_i=+1;\\ w^T + b ≤ -1,\quad y_i=-1. \end{cases} \end{aligned} \tag{2} {wT+b+1,yi=+1;wT+b1,yi=1.(2)
  >>>Answer:距离超平面最近的这几个训练样本点使上面的式子的等号成立,它们被称为支持向量(support vector)。
  两个异类支持向量到超平面的距离之和为:
γ = 2 ∣ ∣ w ∣ ∣ (3) \begin{aligned} γ = \frac{2}{||w||} \end{aligned} \tag{3} γ=w2(3)
该距离又称为间隔
在这里插入图片描述

图6.2-支持向量与网络

  现在的目标是找到具有最大间隔 (maximum margin)的划分超平面,也就是要找到能满足式(2)中约束的参数 w 和 b 使 得 γ w和b使得γ wb使γ最大,即可转换成以下优化问题:
m a x w , b 2 ∣ ∣ w ∣ ∣ (4) \begin{aligned} &\underset {w,b}{max}\quad \frac{2}{||w||}\tag{4} \end{aligned} w,bmaxw2(4)
s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m . \begin{aligned} &s.t.\quad y_i(w^Tx_i+b)≥1,\quad i=1,2,...,m. \end{aligned} s.t.yi(wTxi+b)1,i=1,2,...,m.
上式又可等效于:
m a x w , b 1 2 ∣ ∣ w ∣ ∣ 2 (5) \begin{aligned} &\underset {w,b}{max}\quad \frac{1}{2}||w||^2\tag{5} \end{aligned} w,bmax21w2(5)
s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m . \begin{aligned} &s.t.\quad y_i(w^Tx_i+b)≥1,\quad i=1,2,...,m. \end{aligned} s.t.yi(wTxi+b)1,i=1,2,...,m.

6.2 对偶问题

  ???Question:注意到上式是一个凸二次规划(convex
quadratic programming)问题。
  >>>Answer:可以使用拉格朗日乘子法可得到其"对偶问题" (dual problem),从它的‘对偶面’来求解问题有时候更加简单(正难则反。
L ( w , b , a ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) (6) \begin{aligned} L(w,b,a) = \frac{1}{2}||w||^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)) \end{aligned} \tag{6} L(w,b,a)=21w2+i=1mαi(1yi(wTxi+b))(6)
经过计算,上述问题可以等效于求解下列优化问题:
m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α i y i y j x i T x j (7) \begin{aligned} \underset {\alpha}{max}\quad \sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_iy_iy_jx_{i}^{T}x_j\tag{7} \end{aligned} αmaxi=1mαi21i=1mj=1mαiαiyiyjxiTxj(7)

s . t . ∑ i = 1 m α i y i = 0 , α i ≥ 1 , i = 1 , 2 , . . . , m . \begin{aligned} &s.t.\quad \sum_{i=1}^{m}\alpha_i y_i=0, \alpha_i\geq 1,\quad i=1,2,...,m. \end{aligned} s.t.i=1mαiyi=0,αi1,i=1,2,...,m.
  求解上述问题比较高效的求解算法是:SMO(Sequential Minimal Optimization)(求解步骤详情见:周志华《机器学习》)

6.3 核函数

  引入核函数的目的:样本在低维度空间线性不可分,得益于数学家们的不懈努力,可以将数据映射到高维空间使得样本可分(打call)。
在这里插入图片描述

6.3-异或问题与非线性映射

  ???Question:在求解对偶问题存在这样的问题:此直接计算 φ ( x i ) φ ( x j ) φ(x_i)φ(x_j) φ(xi)φ(xj)通常是困难的。
  >>>Answer:现在存在一个这样的函数,使得
κ ( x i , x j ) = < φ ( x i ) φ ( x j ) > = φ ( x i ) φ ( x j ) (8) κ(x_i,x_j) = <φ(x_i)φ(x_j)> = φ(x_i)φ(x_j)\tag{8} κ(xi,xj)=<φ(xi)φ(xj)>=φ(xi)φ(xj)(8)
成立,而计算 κ ( x i , x j ) κ(x_i,x_j) κ(xi,xj)是容易的。
  κ(,)称为‘核函数’(kernel function)
  常用的核函数有:线性核、多项式核、高斯核、拉普拉斯核、Sigmoid核

6.4 软间隔与正则化

  ???Question:在前面的讨论中,我们一直假定训练样本在样本空间或特征空间中是线性可分的。即存在一个超 面能将不同类的样本完全划分开 ,然而现实是:往往很难确定合适的核函数使得训练样本在特征空间中线性可分。更糟糕的是:即使恰好找到了某个核函数使训练集在特征空间中线性可分,也很难确定这个貌似线性可分的结果不是由于过拟合所造。
在这里插入图片描述

6.4-软间隔示意图-红色圈出了一些不满足约束的样本

  >>>Answer:缓解该问题的一个办法是允许支持向量机在一些样本上故意出错.为此要引入"软间隔" (soft margin)的概念。
  软间隔直观上理解就是:部分样本在‘中间区域’,即不满足约束:
y i ( w T x i + b ) ≥ 1 (9) \begin{aligned} y_i(w^Tx_i+b)\geq 1\tag{9} \end{aligned} yi(wTxi+b)1(9)
在最大化间隔同时,不满足约束的样本应尽可能少,进一步优化目标可写为:
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l 0 / 1 ( y i ( w T x i + b ) − 1 ) (10) \begin{aligned} \underset {w,b}{min}\quad \frac{1}{2}||w||^2+C\sum_{i=1}^ml_{0/1}(y_i(w^Tx_i+b)-1) \end{aligned} \tag{10} w,bmin21w2+Ci=1ml0/1(yi(wTxi+b)1)(10)
其中,C>0,是一个常数,l_(0/1)是‘0/1损失函数’
l 0 / 1 ( z ) = { 1 , i f z < 0 ; 0 , o t h e r w i s e (11) \begin{aligned} l_{0/1}(z)=\begin{cases} 1,\quad if z<0;\\ 0,\quad otherwise \end{cases} \end{aligned} \tag{11} l0/1(z)={1,ifz<0;0,otherwise(11)
  人们通常用其他一些函数来代替l_{0/1},称为"替代损失" (surrogate 10ss). 替代损失函数一般具有较好的数学性质。常用替代损失函数:
{ h i n g e 损 失 : l h i n g e ( z ) = m a x ( 0 , 1 − z ) 指 数 损 失 ( e x p o n e n t i a l l o s s ) : l e x p ( z ) = e x p ( − z ) 对 率 损 失 ( l o g i s t i c l o s s ) : l l o g ( z ) = l o g ( 1 + e x p ( − z ) ) (12) \begin{aligned} \begin{cases} hinge损失:l_{hinge}(z)=max(0,1-z)\\ 指数损失(exponential loss):l_{exp}(z)=exp(-z)\\ 对率损失(logistic loss):l_{log}(z)=log(1+exp(-z)) \end{cases} \end{aligned} \tag{12} hingelhinge(z)=max(0,1z)(exponentialloss):lexp(z)=exp(z)(logisticloss):llog(z)=log(1+exp(z))(12)
在这里插入图片描述

6.5-三种常见的替代损失函数:hingo损失、指数损失、对率损失

  可写为更一般的形式

m i n f Ω ( f ) + C ∑ i = 1 m l ( f ( x i ) , y i ) (13) \begin{aligned} \underset {f}{min} Ω(f)+C\sum_{i=1}^{m}l(f(x_i),y_i) \end{aligned} \tag{13} fminΩ(f)+Ci=1ml(f(xi),yi)(13)
其中 Ω ( f ) Ω(f) Ω(f)称为‘结构风险’,描述模型f的某些性质;第二项 C ∑ i = 1 m l ( f ( x i ) , y i ) C\sum_{i=1}^{m}l(f(x_i),y_i) Ci=1ml(f(xi),yi)称为‘经验风险’,描述模型与训练数据的契合程度。

6.5 支持向量回归

  ???Question:与传统回归模型(当模型输出f(x)和真实值y不相等时存在损失)不同,支持向量回归(Support Vector Regression,简称SVR)假设我们能容忍f(x)之间最多有ε的偏差,即仅当f(x)与y之间的差别绝对值大于时才计算损失。
  >>>Answer:以f(x)为中心,构建了一个宽度为2ε的问隔带,若训练样本落入此间隔带,则认为是被预测正确的。

在这里插入图片描述

6.7-ε-不敏感损失函数

  于是,SVR 问题可形式化为
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l 0 / 1 ( f ( x i ) − y i ) ) (14) \begin{aligned} \underset {w,b}{min}\quad \frac{1}{2}||w||^2+C\sum_{i=1}^ml_{0/1}(f(x_i)-y_i)) \end{aligned} \tag{14} w,bmin21w2+Ci=1ml0/1(f(xi)yi))(14)
其中C为正则化常数, l 0 / 1 l_{0/1} l0/1 ε − ε- ε不敏感损失函数。

l 0 / 1 ( z ) = { 1 , i f ∣ z ∣ < ε ; ∣ z ∣ − ε , o t h e r w i s e (15) \begin{aligned} l_{0/1}(z)=\begin{cases} 1,\quad\quad\quad&if |z|<ε;\\ |z|-ε,\quad &otherwise \end{cases} \end{aligned} \tag{15} l0/1(z)={1,zε,ifz<ε;otherwise(15)

在这里插入图片描述

6.6-支持向量回归示意图.红色显示出e间隔等,落入其中的样本不计算损失

  引入松弛变量 ξ i 和 ξ ^ i ξ_i和\widehat{ξ}_i ξiξ i,进而再引入拉格朗日乘子 μ i ≥ 0 , μ ^ i ≥ 0 , α i ≥ 0 , α ^ i ≥ 0 , μ_i\geq0,\widehat{μ}_i\geq0,\alpha_i\geq0,\widehat{\alpha}_i\geq0, μi0,μ i0,αi0,α i0,得到朗格朗日函数:

L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) − ∑ i = 1 m μ i ξ i − ∑ i = 1 m μ ^ i ξ ^ i + ∑ i = 1 m α i ( f ( x i ) − y i − ϵ − ξ i ) + ∑ i = 1 m α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) (16) \begin{aligned} &L(\pmb{w,b,\alpha,\widehat{\alpha},\xi,\widehat{\xi},\mu,\widehat{\mu}})\\ &=\frac{1}{2}||w||^2+C\sum_{i=1}^{m}(\xi_i+\widehat{\xi}_i)-\sum_{i=1}^{m}\mu_i\xi_i-\sum_{i=1}^{m}\widehat{\mu}_i\widehat{\xi}_i\\ &+\sum_{i=1}^{m}\alpha_i(f(x_i)-y_i-\epsilon-\xi_i)+\sum_{i=1}^{m}\widehat{\alpha}_i(y_i-f(x_i)-\epsilon-\widehat{\xi}_i) \end{aligned} \tag{16} L(w,b,α,α ,ξ,ξ ,μ,μ w,b,α,α ,ξ,ξ ,μ,μ w,b,α,α ,ξ,ξ ,μ,μ )=21w2+Ci=1m(ξi+ξ i)i=1mμiξii=1mμ iξ i+i=1mαi(f(xi)yiϵξi)+i=1mα i(yif(xi)ϵξ i)(16)

求偏导等于0,代入上式可得到SVR的对偶问题:

m a x α , α ^ ∑ i = 1 m y i ( α ^ i − α i ) − ϵ ( α ^ i + α i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( α ^ i − α i ) ( α ^ j − α j ) x i T x j (17) \begin{aligned} \underset{\alpha,\widehat{\alpha}}{max}\quad&\sum_{i=1}^{m}y_i(\widehat{\alpha}_i-\alpha_i)-\epsilon(\widehat{\alpha}_i+\alpha_i)\\ &-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}(\widehat{\alpha}_i-\alpha_i)(\widehat{\alpha}_j-\alpha_j)x_i^Tx_j \end{aligned} \tag{17} α,α maxi=1myi(α iαi)ϵ(α i+αi)21i=1mj=1m(α iαi)(α jαj)xiTxj(17)
s . t . ∑ i = 1 m ( α ^ i − α i ) = 0 , 0 ≤ α i , α ^ i ≤ C (18) \begin{aligned} s.t.\quad&\sum_{i=1}^{m}(\widehat{\alpha}_i-\alpha_i)=0,\\ &0\leq\alpha_i,\widehat{\alpha}_i\leq{C} \end{aligned} \tag{18} s.t.i=1m(α iαi)=0,0αi,α iC(18)

上述过程中需满足KKT条件,即要求:

{ α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 , α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 , α i α ^ i = 0 , ξ i ξ ^ i = 0 , ( C − α i ) ξ i = 0 , ( C − α ^ i ) ξ ^ i = 0 (19) \begin{aligned} \begin{cases} \alpha_i(f(x_i)-y_i-\epsilon-\xi_i)=0,\\ \widehat{\alpha}_i(y_i-f(x_i)-\epsilon-\widehat{\xi}_i)=0,\\ \alpha_i\widehat{\alpha}_i=0,\xi_i\widehat{\xi}_i=0,\\ (C-\alpha_i)\xi_i=0,(C-\widehat{\alpha}_i)\widehat{\xi}_i =0 \end{cases} \end{aligned} \tag{19} αi(f(xi)yiϵξi)=0,α i(yif(xi)ϵξ i)=0,αiα i=0,ξiξ i=0,(Cαi)ξi=0,(Cα i)ξ i=0(19)

  求解上式即可得到SVM模型的解。
  以上就是学习SVM模型基础知识的简记,有关详细内容请参考资料:周志华《机器学习-第6章 支持向量机》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值