西瓜书《机器学习》读书笔记-第6章 支持向量机(Support Vector Machine)

写在前面
开始挖新坑学习一下《机器学习》. 主要是看浙江大学胡浩基老师的网课,结合周志华老师的西瓜书来学. 为了理清思路和推公式就敲了这样一个读书笔记. 初次学习难免会有错漏,欢迎批评指正. 这份笔记主要用途还是用来自己复习回顾. 当然如果对大家有帮助那就更好了hhh

第6章 支持向量机(Support Vector Machine)

· 提出者: Vladimir N. Vapnik \text{Vladimir N. Vapnik} Vladimir N. Vapnik.
· 在样本数量较小时,效果较好. 其背后具有有力的数学原理支撑.
· 相关书籍:《支持向量机导论》.

概念
  1. 线性可分(Linear Separable)
  2. 非线性可分(Non-linear Separable)

在这里插入图片描述

线性可分样本集可以用无线条直线将两种类别的样本划分开,那么哪条直线划分效果最好?

  1. 定义“性能指标”,性能指标越高,则划分效果越好. 如下图所示,性能指标定义为间隔 γ \gamma γ.
    在这里插入图片描述
数学描述
  1. d d d:间隔(margin)

支持向量机是使得 d d d最大的方法( SVM \text{SVM} SVM是最大化间隔的分类算法)

  1. 支持向量(support vector):平行线“插”到的向量

一、 概念与定义

  1. 训练数据及标签: ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x n , y n ) (\boldsymbol{x}_1,y_1),(\boldsymbol{x}_2,y_2),\cdots,(\boldsymbol{x}_n,y_n) (x1,y1),(x2,y2),,(xn,yn)
    其中 x i \boldsymbol{x}_i xi为向量, y i ∈ { − 1 , + 1 } y_i\in\left\{-1,+1\right\} yi{1,+1}为标签.
  2. 线性模型:

需要找到一个模型,在二维情形为直线,三维情形为平面,多维情形为超平面. 其参数为 ( w , b ) (\boldsymbol{w},b) (w,b)

考虑超平面(Hyperplane):
w T x + b = 0 \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b=0 wTx+b=0其中
w = [ w 1 w 2 ⋯ w N ] T \boldsymbol{w}=\left[ \begin{matrix} w_1& w_2& \cdots& w_N\\ \end{matrix} \right] ^{\mathrm{T}} w=[w1w2wN]T是超平面的法向量.

  1. 一个训练集线性可分:
    ∃ ( w , b ) , 使 ∀ i = 1 , ⋯   , N , 有 { ( a ) 若 y i = + 1 , 则 w T x i + b ⩾ 0 ( b ) 若 y i = − 1 , 则 w T x i + b < 0 ( 或 y i ( w T x i + b ) ⩾ 0 ) \exists \left( \boldsymbol{w},b \right) , \text{使}\forall i=1,\cdots ,N, \text{有}\left\{ \begin{array}{c} \left( a \right) \text{若}y_i=+1, \text{则}\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b\geqslant 0\\ \left( b \right) \text{若}y_i=-1, \text{则}\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b<0\\ \end{array} \right. \\ \left( \text{或}y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \geqslant 0 \right) (w,b),使i=1,,N,{(a)yi=+1,wTxi+b0(b)yi=1,wTxi+b<0(yi(wTxi+b)0)

二、支持向量机的基本型

由上述推导可知, SVM \text{SVM} SVM是要解决以下的优化问题:
min ⁡ w , b    ∥ w ∥ 2 s . t . y i ( w T x i + b ) ⩾ 1 , i = 1 , 2 , ⋯   , N . \begin{aligned} &\underset{\boldsymbol{w},b}{\min}\,\,\left\| \boldsymbol{w} \right\| ^2 \\ &\mathrm{s}.\mathrm{t}. y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \geqslant 1, i=1,2,\cdots ,N. \end{aligned} w,bminw2s.t.yi(wTxi+b)1,i=1,2,,N.

一些事实
事实1 w T x + b = 0 \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b=0 wTx+b=0 a w T x + a b = 0 a\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+ab=0 awTx+ab=0表示同一个平面. ( a ∈ R + a\in \mathbb{R} ^+ aR+
该事实蕴含:
( w , b ) \left( \boldsymbol{w},b \right) (w,b)满足公式1,则 ( a w , a b ) \left( a\boldsymbol{w},ab \right) (aw,ab)也满足公式1.
事实2:点 x 0 \boldsymbol{x_0} x0到超平面 w T x + b = 0 \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b=0 wTx+b=0距离
r = ∣ w T x 0 + b ∣ ∥ w ∥ r=\frac{\left| \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b \right|}{\left\| \boldsymbol{w} \right\|} r=wwTx0+b

1. 关于最小化目标函数的解释

我们可以用 a ( a > 0 ) a(a>0) a(a>0)去缩放 ( w , b ) → ( a w , a b ) \left( \boldsymbol{w},b \right)\rightarrow\left( a\boldsymbol{w},ab \right) (w,b)(aw,ab),最终使在支持向量 x 0 \boldsymbol{x}_0 x0上,有
∣ w T x 0 + b ∣ = 1 \left|\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b\right|=1 wTx0+b=1

具体地说,通过平移超平面 w T x + b = 0 \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b=0 wTx+b=0,可以得到一系列与其平行的平面 w T x + b = m \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b=m wTx+b=m. 不妨设当平面穿过支持向量 x 0 \boldsymbol{x}_0 x0时,有 w T x 0 + b = m 0 \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b=m_0 wTx0+b=m0. 为了便于计算,将等式右边化为 1 1 1,即
1 m 0 ( w T x 0 + b ) = 1 \frac{1}{m_0}\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b \right) =1 m01(wTx0+b)=1那么此时由于
w T x 0 + b = 0 ⇔ 1 m 0 ( w T x 0 + b ) = 0 \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b=0\Leftrightarrow \frac{1}{m_0}\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b \right) =0 wTx0+b=0m01(wTx0+b)=0
这两个方程表示同一个超平面,因此可作变换 ( w T , b ) : = 1 m 0 ( w T , b ) . \left( \boldsymbol{w}^{\mathrm{T}},b \right) :=\frac{1}{m_0}\left( \boldsymbol{w}^{\mathrm{T}},b \right). (wT,b):=m01(wT,b).

此时,支持向量与平面距离
r = 1 ∥ w ∥ r=\frac{1}{\left\| \boldsymbol{w} \right\|} r=w1我们需要最大化 r r r,也即最小化    ∥ w ∥ 2 \,\,\left\| \boldsymbol{w} \right\| ^2 w2.

2. 关于限制条件的解释

对于支持向量以外的向量,其与平面距离不小于 r r r,即
∣ w T x i + b ∣ ∥ w ∥ ⩾ r = ∣ w T x 0 + b ∣ ∥ w ∥ = 1 ∥ w ∥ \frac{\left| \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right|}{\left\| \boldsymbol{w} \right\|}\geqslant r=\frac{\left| \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_0+b \right|}{\left\| \boldsymbol{w} \right\|}=\frac{1}{\left\| \boldsymbol{w} \right\|} wwTxi+br=wwTx0+b=w1
∣ w T x i + b ∣ ⩾ 1 \left| \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right|\geqslant1 wTxi+b1具体来说,对于在平面上、下方的向量,有
{ w T x i + b ⩾ 1 , x i 在平面上方 − w T x i + b ⩾ 1 , x i 在平面下方 ⇔ y i ( w T x i + b ) ⩾ 1 \left\{ \begin{array}{c} \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b\geqslant 1, \boldsymbol{x}_i\text{在平面上方}\\ -\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b\geqslant 1, \boldsymbol{x}_i\text{在平面下方}\\ \end{array} \right. \Leftrightarrow y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \geqslant 1 {wTxi+b1,xi在平面上方wTxi+b1,xi在平面下方yi(wTxi+b)1

3. 目标函数的写法

min ⁡ w , b    ∥ w ∥ 2 \underset{\boldsymbol{w},b}{\min}\,\,\left\| \boldsymbol{w} \right\| ^2 w,bminw2 也可以写作 min ⁡ w , b    1 2 ∥ w ∥ 2 \underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2 w,bmin21w2,其中的 1 2 \frac{1}{2} 21是为了方便求导.

4. 这是一个凸二次规划(convex quadratic programming) 问题

附:二次规划问题(Quadratic Programming)
(1)目标函数(objective function):二次项
(2)限制条件:一次项

显然目标函数全为二次项,限制条件为一次项,属于二次规划问题.
事实:二次规划中,要么无解,要么只有一个极值. 因此,支持向量机的理论将寻找超平面的问题转化为了能够求得全局最优解的二次规划问题.
至于如何求解这个二次规划问题,需要凸优化理论,在此处不涉及.

三、支持向量机的非线性模型

目的:使得训练样本是非线性可分时也有解.

(一)改写优化目标函数和限制条件

1. 软间隔(soft margin)

引入软间隔,从而允许支持向量机在部分样本上出错.
在这里插入图片描述

2. 优化问题的改写

min ⁡ w , b    1 2 ∥ w ∥ 2 + C ∑ i = 1 N l 0 / 1 ( y i ( w T x i + b ) − 1 ) \underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+C\sum_{i=1}^N{l_{0/1}\left( y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) -1 \right)} w,bmin21w2+Ci=1Nl0/1(yi(wTxi+b)1)其中常数 C > 0 C>0 C>0 0 / 1 0/1 0/1损失函数
l 0 / 1 ( z ) = { 1 , i f   z < 0 ; 0 , o t h e r w i s e . l_{0/1}\left( z \right) =\begin{cases} 1, \mathrm{if}\ z<0;\\ 0, \mathrm{otherwise}.\\ \end{cases} l0/1(z)={1,if z<00,otherwise.

3. 替代损失函数(surrogate loss)

0 / 1 0/1 0/1损失函数 l 0 / 1 l_{0/1} l0/1性质不好,用其他函数替代.

在这里插入图片描述
在这里插入图片描述

4. 软间隔支持向量机

采用 hinge \text{hinge} hinge损失,有
∑ i = 1 N l 0 / 1 ( y i ( w T x i + b ) − 1 ) = ∑ i = 1 N max ⁡ ( 0 , 1 − y i ( w T x i + b ) ) \sum_{i=1}^N{l_{0/1}\left( y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) -1 \right)}=\sum_{i=1}^N{\max \left( 0,1-y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \right)} i=1Nl0/1(yi(wTxi+b)1)=i=1Nmax(0,1yi(wTxi+b))引入松弛变量 ξ i \xi _i ξi. 令
max ⁡ ( 0 , 1 − y i ( w T x i + b ) ) = ξ i \max \left( 0,1-y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \right) =\xi _i max(0,1yi(wTxi+b))=ξi显然有 ξ i ⩾ 0 \xi_i\geqslant 0 ξi0. 并且当 1 − y i ( w T x i + b ) > 0 1-y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) >0 1yi(wTxi+b)>0时,有
1 − y i ( w T x i + b ) = ξ i 1-y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) =\xi_i 1yi(wTxi+b)=ξi 1 − y i ( w T x i + b ) ⩽ 0 1-y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \leqslant 0 1yi(wTxi+b)0
ξ i = 0 \xi_i=0 ξi=0因此
1 − y i ( w T x i + b ) ⩽ ξ i ⇒ y i ( w T x i + b ) ⩾ 1 − ξ i 1-y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \leqslant \xi _i\Rightarrow y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \geqslant 1-\xi _i 1yi(wTxi+b)ξiyi(wTxi+b)1ξi从而将问题转化为
min ⁡ w , b , ξ i    1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i s . t . { y i ( w T x i + b ) ⩾ 1 − ξ i ξ i ⩾ 0 \begin{aligned} &\underset{\boldsymbol{w},b,\xi _i}{\min}\,\,\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+C\sum_{i=1}^N{\xi _i}\\ &\mathrm{s}.\mathrm{t}.\begin{cases} y_i\left( \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b \right) \geqslant 1-\xi _i\\ \xi _i\geqslant 0\\ \end{cases}\\ \end{aligned} w,b,ξimin21w2+Ci=1Nξis.t.{yi(wTxi+b)1ξiξi0

关于松弛变量(slack variables)的说明
(1) 当 ξ i \xi_i ξi非常大的时候,虽然限制条件1容易被满足,但优化问题得到的解并不理想. 因此,在目标函数中增加一项 C ∑ i = 1 N ξ i C\sum_{i=1}^N{\xi _i} Ci=1Nξi,使得 ξ i \xi_i ξi不至于太大.
(2) 其中 C ∑ i = 1 N ξ i C\sum_{i=1}^N{\xi _i} Ci=1Nξi称作正则项(regularization term)(或称作惩罚系数). C C C为事先设定好的参数,其选取方法为在一定的区间内尝试不同的 C C C,选择效果较好的那个 C C C. (这也是 SVM \text{SVM} SVM算法表现较好的原因,因为需要调整的参数少)

(二)低维到高维的映射

1.【引入】异或问题

在较低维度下,训练样本非线性可分. 考虑将训练样本映射到更高维的空间中,再进行划分. 即
x ↦ ϕ ( x ) \boldsymbol{x}\mapsto \phi \left( \boldsymbol{x} \right) xϕ(x)将低维的 x \boldsymbol{x} x映射到高维$\phi \left( \boldsymbol{x} \right) $,再用平面进行划分.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gMdFYc98-1626697939749)(2021-07-18-16-34-13.png)]
考虑一个具体问题:平面上有四点
x 1 = [ 0 0 ] ∈ C 1 , x 2 = [ 1 1 ] ∈ C 1 , x 3 = [ 1 0 ] ∈ C 2 , x 4 = [ 0 1 ] ∈ C 2 . x_1=\left[ \begin{array}{c} 0\\ 0\\ \end{array} \right] \in C_1, x_2=\left[ \begin{array}{c} 1\\ 1\\ \end{array} \right] \in C_1, x_3=\left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] \in C_2, x_4=\left[ \begin{array}{c} 0\\ 1\\ \end{array} \right] \in C_2. x1=[00]C1,x2=[11]C1,x3=[10]C2,x4=[01]C2.定义 ϕ ( x ) \phi(x) ϕ(x)
x = [ a b ] → ϕ ϕ ( x ) = [ a 2 b 2 a b a b ] x=\left[ \begin{array}{c} a\\ b\\ \end{array} \right] \xrightarrow{\phi}\phi \left( x \right) =\left[ \begin{array}{c} a^2\\ b^2\\ a\\ b\\ ab\\ \end{array} \right] x=[ab]ϕ ϕ(x)=a2b2abab那么
ϕ ( x 1 ) = [ 0 0 0 0 0 ] T ∈ C 1 , ϕ ( x 2 ) = [ 1 1 1 1 1 ] T ∈ C 1 , ϕ ( x 3 ) = [ 1 0 1 0 0 ] T ∈ C 2 , ϕ ( x 4 ) = [ 0 1 0 1 0 ] T ∈ C 2 . \phi \left( x_1 \right) =\left[ \begin{matrix} 0& 0& 0& 0& 0\\ \end{matrix} \right] ^{\mathrm{T}}\in C_1, \phi \left( x_2 \right) =\left[ \begin{matrix} 1& 1& 1& 1& 1\\ \end{matrix} \right] ^{\mathrm{T}}\in C_1, \\ \phi \left( x_3 \right) =\left[ \begin{matrix} 1& 0& 1& 0& 0\\ \end{matrix} \right] ^{\mathrm{T}}\in C_2, \phi \left( x_4 \right) =\left[ \begin{matrix} 0& 1& 0& 1& 0\\ \end{matrix} \right] ^{\mathrm{T}}\in C_2. ϕ(x1)=[00000]TC1,ϕ(x2)=[11111]TC1,ϕ(x3)=[10100]TC2,ϕ(x4)=[01010]TC2.
w = [ − 1 − 1 − 1 − 1 6 ] T ( 不 唯 一 ) \boldsymbol{w}=\left[ \begin{matrix} -1& -1& -1& -1& 6\\ \end{matrix} \right] ^{\mathrm{T}} (不唯一) w=[11116]T
{ w T ϕ ( x 1 ) + b = 1 w T ϕ ( x 2 ) + b = 3 } ∈ C 1 w T ϕ ( x 3 ) + b = − 1 w T ϕ ( x 4 ) + b = − 1 } ∈ C 2 \begin{cases} \left. \begin{array}{r} \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_1 \right) +b=1\\ \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_2 \right) +b=3\\ \end{array} \right\} \in C_1\\ \left. \begin{array}{r} \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_3 \right) +b=-1\\ \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_4 \right) +b=-1\\ \end{array} \right\} \in C_2\\ \end{cases} wTϕ(x1)+b=1wTϕ(x2)+b=3}C1wTϕ(x3)+b=1wTϕ(x4)+b=1}C2

那么 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x)应如何选取?关于 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x),有以下事实:
① 我们认为选定的 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x)是无限维的.
② 我们可以不知道无限维映射 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x)的显式表达,而只需知道一个核函数(kernel function)
κ ( x 1 , x 2 ) = ϕ ( x 1 ) T ϕ ( x 2 ) = < ϕ ( x 1 ) , ϕ ( x 2 ) > \kappa(\boldsymbol{x}_1,\boldsymbol{x}_2)=\phi(\boldsymbol{x}_1)^{\mathrm{T}}\phi(\boldsymbol{x}_2)=\left< \phi \left( \boldsymbol{x}_1 \right) ,\phi \left( \boldsymbol{x}_2 \right) \right> κ(x1,x2)=ϕ(x1)Tϕ(x2)=ϕ(x1),ϕ(x2)则该优化问题仍然可解.

2. 常用核函数

在这里插入图片描述


1.多项式核的幂次 d d d越高,其对应的 ϕ \phi ϕ维数也越高. 且多项式核可反解出 ϕ \phi ϕ.
2. 参数选择:不断尝试.

3. κ ( x 1 , x 2 ) \kappa(\boldsymbol{x}_1,\boldsymbol{x}_2) κ(x1,x2) 能写成 ϕ ( x 1 ) T ϕ ( x 2 ) \phi(\boldsymbol{x}_1)^{\mathrm{T}}\phi(\boldsymbol{x}_2) ϕ(x1)Tϕ(x2)的充要条件:Merce’s Theorem
(1)交换性

κ ( x 1 , x 2 ) = κ ( x 2 , x 1 ) \kappa \left( \boldsymbol{x}_1,\boldsymbol{x}_2 \right) =\kappa \left( \boldsymbol{x}_2,\boldsymbol{x}_1 \right) κ(x1,x2)=κ(x2,x1)

(2)半正定性

∀ c i , x i ( i = 1 , 2 , ⋯   , N ) , 有 ∑ i = 1 N ∑ i = 1 N c i c j κ ( x i , x j ) ⩾ 0 \forall c_i, \boldsymbol{x}_i\left( i=1,2,\cdots ,N \right) , \text{有}\sum_{i=1}^N{\sum_{i=1}^N{c_ic_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right) \geqslant 0}} ci,xi(i=1,2,,N),i=1Ni=1Ncicjκ(xi,xj)0

:以上两条也可写作: κ \kappa κ是核函数,当且仅当对任意数据 D = { x 1 , x 2 , ⋯   , x m } D=\left\{ \boldsymbol{x}_1,\boldsymbol{x}_2,\cdots ,\boldsymbol{x}_m \right\} D={x1,x2,,xm},“核矩阵” K \mathbf{K} K总是半正定的. 其中
在这里插入图片描述

附:半正定性表达式的推导
半正定即
∀ C = [ c 1 ⋮ c n ] ≠ 0 , C 1 × n T K n × n C n × 1 ⩾ 0 ⇔ ( K n × n C n × 1 ) i = ∑ j = 1 n c j κ ( i , j ) C 1 × n T K n × n C n × 1 = c 1 ∑ j = 1 n c j κ ( 1 , j ) + ⋯ + c n ∑ j = 1 n c j κ ( n , j ) = ∑ i = 1 n ∑ j = 1 n c i c j κ ( i , j ) \forall C=\left[ \begin{array}{c} c_1\\ \vdots\\ c_n\\ \end{array} \right] \ne 0, C_{1\times n}^{\mathrm{T}}\mathbf{K}_{n\times n}C_{n\times 1}\geqslant 0\Leftrightarrow \\ \left( \mathbf{K}_{n\times n}C_{n\times 1} \right) _i=\sum_{j=1}^n{c_j\kappa \left( i,j \right)} \\ C_{1\times n}^{\mathrm{T}}\mathbf{K}_{n\times n}C_{n\times 1}=c_1\sum_{j=1}^n{c_j\kappa \left( 1,j \right)}+\cdots +c_n\sum_{j=1}^n{c_j\kappa \left( n,j \right)} \\ =\sum_{i=1}^n{\sum_{j=1}^n{c_ic_j\kappa \left( i,j \right)}} C=c1cn=0,C1×nTKn×nCn×10(Kn×nCn×1)i=j=1ncjκ(i,j)C1×nTKn×nCn×1=c1j=1ncjκ(1,j)++cnj=1ncjκ(n,j)=i=1nj=1ncicjκ(i,j)

4. 核函数的选取

P128 “核函数选择”成为支持向量机的最大变数. 这方面有一些基本的经验,例如对文本数据通常采用线性核,情况不明时可先尝试高斯核.

核函数还可通过函数组合得到,详见西瓜书P128.

那么,如何用核函数 κ ( x i , x j ) \kappa(\boldsymbol{x}_i,\boldsymbol{x}_j) κ(xi,xj)来替换目标函数中的 ϕ ( x i ) \phi(\boldsymbol{x}_i) ϕ(xi),使得优化问题可解?

(三)【补充】优化理论相关知识——原问题和对偶问题

优化理论相关书籍:① Convex Optimization;② Nonlinear Programming

1. 原问题(Primal Problem)

min ⁡ f ( w ) s . t . { g i ( w ) ⩽ 0 ( i = 1 , ⋯   , K ) h i ( w ) = 0 ( i = 1 , ⋯   , M ) \begin{aligned} &\min f\left( \boldsymbol{w} \right) \\ &\mathrm{s}.\mathrm{t}. \left\{ \begin{array}{c} g_i\left( \boldsymbol{w} \right) \leqslant 0\left( i=1,\cdots ,K \right)\\ h_i\left( \boldsymbol{w} \right) =0\left( i=1,\cdots ,M \right)\\ \end{array} \right. \end{aligned} minf(w)s.t.{gi(w)0(i=1,,K)hi(w)=0(i=1,,M)

2. 对偶问题(Dual Problem)

定义 L ( w , α , β ) = f ( w ) + ∑ i = 1 K α i g i ( w ) + ∑ i = 1 M β i h i ( w ) = f ( w ) + α T g ( w ) + β T h ( w ) \begin{aligned} L\left( \boldsymbol{w},\boldsymbol{\alpha },\boldsymbol{\beta } \right) &=f\left( \boldsymbol{w} \right) +\sum_{i=1}^K{\alpha _ig_i\left( \boldsymbol{w} \right)}+\sum_{i=1}^M{\beta _ih_i\left( \boldsymbol{w} \right)} \\ &=f\left( \boldsymbol{w} \right) +\boldsymbol{\alpha }^{\mathrm{T}}g\left( \boldsymbol{w} \right) +\boldsymbol{\beta }^{\mathrm{T}}h\left( \boldsymbol{w} \right) \end{aligned} L(w,α,β)=f(w)+i=1Kαigi(w)+i=1Mβihi(w)=f(w)+αTg(w)+βTh(w)

原问题的对偶问题为
max ⁡ Θ ( α , β ) = i n f 所有 w ( L ( w , α , β ) ) s . t .   α i ⩾ 0 ( i = 1 , ⋯   , K ) ( 或写作 α ≽ 0 ) \begin{aligned} &\max \Theta \left( \boldsymbol{\alpha },\boldsymbol{\beta } \right) =\underset{\text{所有}\boldsymbol{w}}{\mathrm{inf}}\left( L\left( \boldsymbol{w},\boldsymbol{\alpha },\boldsymbol{\beta } \right) \right) \\ & \mathrm{s}.\mathrm{t}. \ \alpha _i\geqslant 0\left( i=1,\cdots ,K \right) \left( \text{或写作}\boldsymbol{\alpha }\succcurlyeq 0 \right) \end{aligned} maxΘ(α,β)=所有winf(L(w,α,β))s.t. αi0(i=1,,K)(或写作α0)

3. 原问题和对偶问题的关系

定理:如果 w ∗ \boldsymbol{w}^* w是原问题的解, α ∗ \boldsymbol{\alpha}^* α, β ∗ \boldsymbol{\beta}^* β是对偶问题的解,则有 f ( w ∗ ) ⩾ Θ ( α ∗ , β ∗ ) . f\left( \boldsymbol{w}^* \right) \geqslant \Theta \left( \boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) . f(w)Θ(α,β).

证明
Θ ( α ∗ , β ∗ ) = i n f ( L ( w , α ∗ , β ∗ ) ) ⩽ L ( w ∗ , α ∗ , β ∗ ) = f ( w ∗ ) + ∑ i = 1 K α i ∗ g i ( w ∗ ) + ∑ i = 1 M β i ∗ h i ( w ∗ ) ⩽ f ( w ∗ ) ( 注意到 α i ∗ ⩾ 0 , g i ( w ∗ ) ⩽ 0 , h i ( w ∗ ) = 0 ) \begin{aligned} \Theta \left( \boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) &=\mathrm{inf}\left( L\left( \boldsymbol{w},\boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) \right) \\ &\leqslant L\left( \boldsymbol{w}^*,\boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) \\ &=f\left( \boldsymbol{w}^* \right) +\sum_{i=1}^K{\alpha _{i}^{*}g_i\left( \boldsymbol{w}^* \right)}+\sum_{i=1}^M{\beta _{i}^{*}h_i\left( \boldsymbol{w}^* \right)} \\ &\leqslant f\left( \boldsymbol{w}^* \right) \left( \text{注意到}\alpha _{i}^{*}\geqslant 0,g_i\left( \boldsymbol{w}^* \right) \leqslant 0,h_i\left( \boldsymbol{w}^* \right) =0 \right) \end{aligned} Θ(α,β)=inf(L(w,α,β))L(w,α,β)=f(w)+i=1Kαigi(w)+i=1Mβihi(w)f(w)(注意到αi0,gi(w)0,hi(w)=0)

4. 定义:原问题与对偶问题的间距(duality gap)s

G = f ( w ∗ ) − Θ ( α ∗ , β ∗ ) ⩾ 0 G=f\left( \boldsymbol{w}^* \right) -\Theta \left( \boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) \geqslant 0 G=f(w)Θ(α,β)0 G G G叫作原问题与对偶问题的间距(duality gap). 对于某些特定的优化问题,可以证明 G = 0 G=0 G=0.

5. 强对偶定理

f ( w ) f(\boldsymbol{w}) f(w)是凸函数,且 g ( w ) = A w + b g(\boldsymbol{w})=A\boldsymbol{w}+b g(w)=Aw+b, h ( w ) = C w + d h(\boldsymbol{w})=C\boldsymbol{w}+d h(w)=Cw+d,则此优化问题的原问题与对偶问题的间距 G = 0 G=0 G=0,即
f ( w ∗ ) = Θ ( α ∗ , β ∗ ) . f\left( \boldsymbol{w}^* \right) =\Theta \left( \boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) . f(w)=Θ(α,β).

f ( w ∗ ) = Θ ( α ∗ , β ∗ ) f\left( \boldsymbol{w}^* \right) =\Theta \left( \boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) f(w)=Θ(α,β)蕴含:
① 原问题的解 w ∗ \boldsymbol{w}^* w α ∗ \boldsymbol{\alpha}^* α β ∗ \boldsymbol{\beta}^* β一定时,使得 L ( w , α ∗ , β ∗ ) L\left( \boldsymbol{w},\boldsymbol{\alpha }^*,\boldsymbol{\beta }^* \right) L(w,α,β)最小的那个 w \boldsymbol{w} w.
KKT条件:对于 ∀ i = 1 , 2 , ⋯   , K \forall i=1,2,\cdots,K i=1,2,,K,或者 α i ∗ = 0 \alpha _{i}^{*}=0 αi=0,或者 g i ( w ∗ ) = 0 g_{i}\left( \boldsymbol{w}^* \right) =0 gi(w)=0.

(四)将支持向量机原问题转化为对偶问题

1. 问题的转换
原问题:

min ⁡ 1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i ( 容 易 知 道 , 这 是 一 个 凸 函 数 ) s . t . { y i ( w T ϕ ( x ) + b ) ⩾ 1 − ξ i ξ i ⩾ 0 \begin{aligned} &\min \frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+C\sum_{i=1}^N{\xi _i}(容易知道,这是一个凸函数) \\ &\mathrm{s}.\mathrm{t}. \begin{cases} y_i\left( \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b \right) \geqslant 1-\xi _i\\ \xi _i\geqslant 0\\ \end{cases} \end{aligned} min21w2+Ci=1Nξis.t.{yi(wTϕ(x)+b)1ξiξi0

原问题的标准型:

min ⁡ 1 2 ∥ w ∥ 2 − C ∑ i = 1 N ξ i s . t . { 1 + ξ i − y i ( w T ϕ ( x ) + b ) ⩽ 0 ξ i ⩽ 0 \begin{aligned} &\min \frac{1}{2}\left\| \boldsymbol{w} \right\| ^2-C\sum_{i=1}^N{\xi _i} \\ &\mathrm{s}.\mathrm{t}. \begin{cases} 1+\xi _i-y_i\left( \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b \right) \leqslant 0\\ \xi _i\leqslant 0\\ \end{cases} \end{aligned} min21w2Ci=1Nξis.t.{1+ξiyi(wTϕ(x)+b)0ξi0

凸函数定义:
∀ w 1 , w 2 , ∀ λ ∈ [ 0 , 1 ] , f ( λ w 1 + ( 1 − λ ) w 2 ) ⩽ λ f ( w 1 ) + ( 1 − λ ) f ( w 2 ) \forall \boldsymbol{w}_1,\boldsymbol{w}_2, \forall \lambda \in \left[ 0,1 \right] , f\left( \lambda \boldsymbol{w}_1+\left( 1-\lambda \right) \boldsymbol{w}_2 \right) \leqslant \lambda f\left( \boldsymbol{w}_1 \right) +\left( 1-\lambda \right) f\left( \boldsymbol{w}_2 \right) w1,w2,λ[0,1],f(λw1+(1λ)w2)λf(w1)+(1λ)f(w2)

对偶问题:

max ⁡ Θ ( α , β ) = i n f ( 1 2 ∥ w ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i ( 1 + ξ i − y i w T ϕ ( x i ) − y i b ) ) s . t . { α i ⩾ 0 β i ⩾ 0 ( i = 1 , 2 , ⋯   , N ) \begin{aligned} &\max \Theta \left( \boldsymbol{\alpha },\boldsymbol{\beta } \right) ={\mathrm{inf}}\left( \frac{1}{2}\left\| \boldsymbol{w} \right\| ^2-C\sum_{i=1}^N{\xi _i}+\sum_{i=1}^N{\beta _i\xi _i}+\sum_{i=1}^N{\alpha _i\left( 1+\xi _i-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right) -y_ib \right)} \right) \\ &\mathrm{s}.\mathrm{t}. \left\{ \begin{array}{c} \alpha _i\geqslant 0\\ \beta _i\geqslant 0\\ \end{array}\left( i=1,2,\cdots ,N \right) \right. \end{aligned} maxΘ(α,β)=inf(21w2Ci=1Nξi+i=1Nβiξi+i=1Nαi(1+ξiyiwTϕ(xi)yib))s.t.{αi0βi0(i=1,2,,N)

附:矩阵求导法则
① w = [ w 1 ⋮ w n ] , 则 ∂ f ∂ w = [ ∂ f ∂ w 1 ⋮ ∂ f ∂ w n ] . ② f ( w ) = 1 2 ∥ w ∥ 2 = 1 2 ∑ i = 1 n w i 2 , 则 ∂ f ∂ w = [ ∂ f ∂ w 1 ⋮ ∂ f ∂ w n ] = [ w 1 ⋮ w n ] = w ③ f ( w ) = w T x = ∑ i = 1 n w i x i , 则 ∂ f ∂ w = [ x 1 ⋮ x n ] = x \begin{aligned} &① \boldsymbol{w}=\left[ \begin{array}{c} w_1\\ \vdots\\ w_n\\ \end{array} \right] , \text{则}\frac{\partial f}{\partial \boldsymbol{w}}=\left[ \begin{array}{c} \frac{\partial f}{\partial w_1}\\ \vdots\\ \frac{\partial f}{\partial w_n}\\ \end{array} \right] . \\ &② f\left( \boldsymbol{w} \right) =\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2=\frac{1}{2}\sum_{i=1}^n{w_{i}^{2}}, \text{则}\frac{\partial f}{\partial \boldsymbol{w}}=\left[ \begin{array}{c} \frac{\partial f}{\partial w_1}\\ \vdots\\ \frac{\partial f}{\partial w_n}\\ \end{array} \right] =\left[ \begin{array}{c} w_1\\ \vdots\\ w_n\\ \end{array} \right] =\boldsymbol{w} \\ &③ f\left( \boldsymbol{w} \right) =\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}=\sum_{i=1}^n{w_ix_i}, \text{则}\frac{\partial f}{\partial \boldsymbol{w}}=\left[ \begin{array}{c} x_1\\ \vdots\\ x_n\\ \end{array} \right] =\boldsymbol{x} \end{aligned} w=w1wn,wf=w1fwnf.f(w)=21w2=21i=1nwi2,wf=w1fwnf=w1wn=wf(w)=wTx=i=1nwixi,wf=x1xn=x

利用 Lagrange \text{Lagrange} Lagrange乘子法,先求得 1 2 ∥ w ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i ( 1 + ξ i − y i w T ϕ ( x i ) − y i b ) \frac{1}{2}\left\| \boldsymbol{w} \right\| ^2-C\sum_{i=1}^N{\xi _i}+\sum_{i=1}^N{\beta _i\xi _i}+\sum_{i=1}^N{\alpha _i\left( 1+\xi _i-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right) -y_ib \right)} 21w2Ci=1Nξi+i=1Nβiξi+i=1Nαi(1+ξiyiwTϕ(xi)yib)取得最小值时各参数应满足的条件.
{ ∂ L ∂ w = 0 ⇒ w = ∑ i = 1 N α i y i ϕ ( x i ) ∂ L ∂ ξ i = 0 ⇒ α i + β i = C ∂ L ∂ b = 0 ⇒ ∑ i = 1 N α i y i = 0 \begin{cases} \frac{\partial L}{\partial \boldsymbol{w}}=0\Rightarrow \boldsymbol{w}=\sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right)}\\ \frac{\partial L}{\partial \xi _i}=0\Rightarrow \alpha _i+\beta _i=C\\ \frac{\partial L}{\partial b}=0\Rightarrow \sum_{i=1}^N{\alpha _iy_i=0}\\ \end{cases} wL=0w=i=1Nαiyiϕ(xi)ξiL=0αi+βi=CbL=0i=1Nαiyi=0然后将上述三个条件代入 Θ ( α , β ) \Theta \left( \boldsymbol{\alpha },\boldsymbol{\beta } \right) Θ(α,β).

具体推导步骤如下
Θ ( α , β ) = 1 2 ∥ w ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i ( 1 + ξ i − y i w T ϕ ( x i ) − y i b ) = α i + β i = C 1 2 ∥ w ∥ 2 + ∑ i = 1 N α i ( 1 − y i w T ϕ ( x i ) − y i b ) = ∑ i = 1 N α i y i = 0 1 2 ∥ w ∥ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i w T ϕ ( x i ) = w = ∑ i = 1 N α i y i ϕ ( x i ) 1 2 ( ∑ i = 1 N α i y i ϕ ( x i ) ) T ( ∑ j = 1 N α j y j ϕ ( x j ) ) + ∑ i = 1 N α i − ∑ i = 1 N α i y i w T ϕ ( x i ) = ( ∑ i = 1 N α i y i ϕ ( x i ) ) T = ∑ i = 1 N α i y i ϕ ( x i ) T 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ϕ ( x i ) T ϕ ( x j ) + ∑ i = 1 N α i − ∑ i = 1 N α i y i w T ϕ ( x i ) = κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) + ∑ i = 1 N α i − ∑ i = 1 N α i y i w T ϕ ( x i ) = w = ∑ i = 1 N α i y i ϕ ( x i ) 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( ∑ j = 1 N α j y j ϕ ( x j ) ) T ϕ ( x i ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) + ∑ i = 1 N α i − ∑ i = 1 N ∑ j = 1 N α i α j y i y j ϕ ( x j ) T ϕ ( x i ) = κ ( x i , x j ) = κ ( x j , x i ) = ϕ ( x j ) T ϕ ( x i ) 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) + ∑ i = 1 N α i − ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) \begin{aligned} &\Theta \left( \boldsymbol{\alpha },\boldsymbol{\beta } \right) =\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2-C\sum_{i=1}^N{\xi _i}+\sum_{i=1}^N{\beta _i\xi _i}+\sum_{i=1}^N{\alpha _i\left( 1+\xi _i-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right) -y_ib \right)} \\ &\xlongequal{\alpha _i+\beta _i=C}\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+\sum_{i=1}^N{\alpha _i\left( 1-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right) -y_ib \right)} \\ &\xlongequal{\sum_{i=1}^N{\alpha _iy_i=0}}\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\alpha _iy_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)} \\ &\xlongequal{\boldsymbol{w}=\sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right)}}\frac{1}{2}\left( \sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right)} \right) ^{\mathrm{T}}\left( \sum_{j=1}^N{\alpha _jy_j\phi \left( \boldsymbol{x}_j \right)} \right) +\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\alpha _iy_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)} \\ &\xlongequal{\left( \sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right)} \right) ^{\mathrm{T}}=\sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right) ^{\mathrm{T}}}}\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\phi \left( \boldsymbol{x}_i \right) ^{\mathrm{T}}\phi \left( \boldsymbol{x}_j \right)}}+\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\alpha _iy_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)} \\ &\xlongequal{\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right) =\phi \left( \boldsymbol{x}_i \right) ^{\mathrm{T}}\phi \left( \boldsymbol{x}_j \right)}\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}}+\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\alpha _iy_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)} \\ &\xlongequal{\boldsymbol{w}=\sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right)}}\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}}+\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\alpha _iy_i\left( \sum_{j=1}^N{\alpha _jy_j\phi \left( \boldsymbol{x}_j \right)} \right) ^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)} \\ &=\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}}+\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\phi \left( \boldsymbol{x}_j \right) ^{\mathrm{T}}}\phi \left( \boldsymbol{x}_i \right)} \\ &\xlongequal{\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right) =\kappa \left( \boldsymbol{x}_j,\boldsymbol{x}_i \right) =\phi \left( \boldsymbol{x}_j \right) ^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)}\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}}+\sum_{i=1}^N{\alpha _i}-\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}} \\ &=\sum_{i=1}^N{\alpha _i}-\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}} \end{aligned} Θ(α,β)=21w2Ci=1Nξi+i=1Nβiξi+i=1Nαi(1+ξiyiwTϕ(xi)yib)αi+βi=C 21w2+i=1Nαi(1yiwTϕ(xi)yib)i=1Nαiyi=0 21w2+i=1Nαii=1NαiyiwTϕ(xi)w=i=1Nαiyiϕ(xi) 21(i=1Nαiyiϕ(xi))T(j=1Nαjyjϕ(xj))+i=1Nαii=1NαiyiwTϕ(xi)(i=1Nαiyiϕ(xi))T=i=1Nαiyiϕ(xi)T 21i=1Nj=1Nαiαjyiyjϕ(xi)Tϕ(xj)+i=1Nαii=1NαiyiwTϕ(xi)κ(xi,xj)=ϕ(xi)Tϕ(xj) 21i=1Nj=1Nαiαjyiyjκ(xi,xj)+i=1Nαii=1NαiyiwTϕ(xi)w=i=1Nαiyiϕ(xi) 21i=1Nj=1Nαiαjyiyjκ(xi,xj)+i=1Nαii=1Nαiyi(j=1Nαjyjϕ(xj))Tϕ(xi)=21i=1Nj=1Nαiαjyiyjκ(xi,xj)+i=1Nαii=1Nj=1Nαiαjyiyjϕ(xj)Tϕ(xi)κ(xi,xj)=κ(xj,xi)=ϕ(xj)Tϕ(xi) 21i=1Nj=1Nαiαjyiyjκ(xi,xj)+i=1Nαii=1Nj=1Nαiαjyiyjκ(xi,xj)=i=1Nαi21i=1Nj=1Nαiαjyiyjκ(xi,xj)

问题转化为
max ⁡ Θ ( α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) s . t . { 0 ⩽ α i ⩽ C ( 由 α i + β i = C ∧ α i ⩾ 0 ∧ β i ⩾ 0 ) ∑ i = 1 N α i y i = 0 \begin{aligned} &\max \Theta \left( \boldsymbol{\alpha }\right) =\sum_{i=1}^N{\alpha _i}-\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}} \\ &\mathrm{s}.\mathrm{t}.\begin{cases} 0\leqslant \alpha _i\leqslant C\left( \text{由}\alpha _i+\beta _i=C\land \alpha _i\geqslant 0\land \beta _i\geqslant 0 \right)\\ \sum_{i=1}^N{\alpha _iy_i=0}\\ \end{cases} \end{aligned} maxΘ(α)=i=1Nαi21i=1Nj=1Nαiαjyiyjκ(xi,xj)s.t.{0αiC(αi+βi=Cαi0βi0)i=1Nαiyi=0
可使用SMO(Sequential Minimal Optimization)算法求解.

附:SMO的基本思路(西瓜书P124)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,我们求得了 α \boldsymbol{\alpha} α.

在最开始的问题中,我们需要求得 w \boldsymbol{w} w b b b. 但事实上,我们并不需要求得 w \boldsymbol{w} w,具体说明如下:

2. w \boldsymbol{w} w如何求解?

先看以下的训练集测试流程.

输入测试样本 x \boldsymbol{x} x
{ i f   w T ϕ ( x ) + b ⩾ 0 : y = + 1 i f   w T ϕ ( x ) + b < 0 : y = − 1 \left\{ \begin{array}{c} \mathrm{if} \ \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b\geqslant 0: y=+1\\ \mathrm{if} \ \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b<0: y=-1\\ \end{array} \right. {if wTϕ(x)+b0:y=+1if wTϕ(x)+b<0:y=1

注意到
w T ϕ ( x ) + b = ( ∑ i = 1 N α i y i ϕ ( x i ) ) T ϕ ( x ) + b = ∑ i = 1 N α i y i κ ( x i , x j ) + b \boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b=\left( \sum_{i=1}^N{\alpha _iy_i\phi \left( \boldsymbol{x}_i \right)} \right) ^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b=\sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}+b wTϕ(x)+b=(i=1Nαiyiϕ(xi))Tϕ(x)+b=i=1Nαiyiκ(xi,xj)+b

因此无需知道 w \boldsymbol{w} w ϕ \phi ϕ的显式表达式,即可完成训练样本的分类.

3. b b b 如何求解?

根据KKT条件
{ 要么 β i = 0 , 要么 ξ i = 0 要么 α i = 0 , 要么 1 + ξ i − y i w T ϕ ( x i ) − y i b = 0 \begin{cases} \text{要么}\beta _i=0, \text{要么}\xi _i=0\\ \text{要么}\alpha _i=0, \text{要么}1+\xi _i-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right) -y_ib=0\\ \end{cases} {要么βi=0,要么ξi=0要么αi=0,要么1+ξiyiwTϕ(xi)yib=0故有
β i = C − α i > 0 ⇒ β i ≠ 0 ⇒ ξ i = 0 \beta _i=C-\alpha _i>0\Rightarrow \beta _i\ne 0\Rightarrow \xi _i=0 βi=Cαi>0βi=0ξi=0 α i ≠ 0 \alpha _i\ne 0 αi=0,有
1 + ξ i − y i w T ϕ ( x i ) − y i b = 0 ⇒ b = 1 − y i w T ϕ ( x i ) y i = 1 − y i ∑ j = 1 N α j y j κ ( x i , x j ) y i \begin{aligned} 1+\xi _i-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right) -y_ib&=0 \\ \Rightarrow b=\frac{1-y_i\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x}_i \right)}{y_i}&=\frac{1-y_i\sum_{j=1}^N{\alpha _jy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}}{y_i} \end{aligned} 1+ξiyiwTϕ(xi)yibb=yi1yiwTϕ(xi)=0=yi1yij=1Nαjyjκ(xi,xj)可以使用所有支持向量求解 b b b的平均值.

至此,完成了 SVM \text{SVM} SVM非线性模型的求解.

(五) SVM \text{SVM} SVM的非线性模型总结

1. 训练流程

S t e p 1 : Step 1: Step1:输入 ( x i , y i ) ( i = 1 , 2 , ⋯   , N ) \left( \boldsymbol{x}_i,y_i \right) \left( i=1,2,\cdots ,N \right) (xi,yi)(i=1,2,,N).

S t e p 2 : Step 2: Step2:解优化问题.
max ⁡ Θ ( α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j κ ( x i , x j ) s . t . { 0 ⩽ α i ⩽ C ( 由 α i + β i = C ∧ α i ⩾ 0 ∧ β i ⩾ 0 ) ∑ i = 1 N α i y i = 0 \begin{aligned} &\max \Theta \left( \boldsymbol{\alpha }\right) =\sum_{i=1}^N{\alpha _i}-\frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i\alpha _jy_iy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}} \\ &\mathrm{s}.\mathrm{t}.\begin{cases} 0\leqslant \alpha _i\leqslant C\left( \text{由}\alpha _i+\beta _i=C\land \alpha _i\geqslant 0\land \beta _i\geqslant 0 \right)\\ \sum_{i=1}^N{\alpha _iy_i=0}\\ \end{cases} \end{aligned} maxΘ(α)=i=1Nαi21i=1Nj=1Nαiαjyiyjκ(xi,xj)s.t.{0αiC(αi+βi=Cαi0βi0)i=1Nαiyi=0
S t e p 3 : Step 3: Step3:计算 b b b.
找一个 0 < α i < C 0<\alpha _i<C 0<αi<C,则
b = 1 − y i ∑ j = 1 N α j y j κ ( x i , x j ) y i b=\frac{1-y_i\sum_{j=1}^N{\alpha _jy_j\kappa \left( \boldsymbol{x}_i,\boldsymbol{x}_j \right)}}{y_i} b=yi1yij=1Nαjyjκ(xi,xj)

2. 测试流程

输入测试样本 x \boldsymbol{x} x
{ i f ∑ i = 1 N α i y i κ ( x i , x ) + b ⩾ 0 : y = + 1 i f ∑ i = 1 N α i y i κ ( x i , x ) + b < 0 : y = − 1 \left\{ \begin{array}{l} \mathrm{if} \sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x} \right)}+b\geqslant 0:y=+1\\ \mathrm{if} \sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x} \right)}+b<0:y=-1\\ \end{array} \right. {ifi=1Nαiyiκ(xi,x)+b0:y=+1ifi=1Nαiyiκ(xi,x)+b<0:y=1
其中 f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 N α i y i κ ( x i , x ) + b f\left( \boldsymbol{x} \right) =\boldsymbol{w}^{\mathrm{T}}\phi \left( \boldsymbol{x} \right) +b=\sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x} \right)}+b f(x)=wTϕ(x)+b=i=1Nαiyiκ(xi,x)+b称作支持向量展式(support vector expansion).

3. 小结

在求解过程中,只用到了核函数 κ \kappa κ的表达式,而无需知道 ϕ \phi ϕ的具体表达式. 利用 x i \boldsymbol{x}_i xi x j \boldsymbol{x}_j xj在特征空间的内积等于它们在原始样本空间中通过 κ \kappa κ计算的结果,将无限维的 ϕ \phi ϕ转化为有限维的 κ \kappa κ来计算,是 SVM \text{SVM} SVM的精巧之处(称作“核技巧(kernel trick)”).

四、支持向量机的应用

国际象棋规则介绍
兵王问题:黑方只剩一个王,白方剩一个兵一个王. 棋局有两种可能:
(1)白方将死黑方,获胜;
(2)和棋.
这两种可能视三个棋子在棋盘的位置而确定.

1. krkopt.data文件

在这里插入图片描述

数据集来源UCI Machine Learning Repository http://archive.ics.uci.edu/ml/datasets.php

对于数据的解释:
x 1 , n 1 , x 2 , n 2 , x 3 , n 3 , s t a t e : { 兵的坐标 , 白方王的坐标 , 黑方王的坐标 s t a t e = { d r a w : 平局,记作+1 n u m b e r : 从one  s i x t e e n , 表示该情况下双方都不 犯错的情况下,白方将死黑方所需步数. 记作 − 1 x_1,n_1,x_2,n_2,x_3,n_3,\mathrm{state}: \begin{cases} \text{兵的坐标},\text{白方王的坐标},\text{黑方王的坐标}\\ \mathrm{state}=\begin{cases} \mathrm{draw}: \text{平局,记作+1}\\ \mathrm{number}: \text{从one}~\mathrm{sixteen},\text{表示该情况下双方都不}\\ \text{犯错的情况下,白方将死黑方所需步数. 记作}-1\\ \end{cases}\\ \end{cases} x1,n1,x2,n2,x3,n3,state:兵的坐标,白方王的坐标,黑方王的坐标state=draw:平局,记作+1number:one sixteen,表示该情况下双方都不犯错的情况下,白方将死黑方所需步数记作1

2. 目的

SVM \text{SVM} SVM在并不了解国际象棋规则的前提下,通过数据集来预测某种状况下棋局的最终结果.
数据集可分为两类,一类为和局(正样本),另一类为白方将死黑方(负样本).
具体说明如下:

(1)总样本数28056,其中正样本2796,负样本25260.
(2)随机取5000个样本训练,其余测试.
(3)样本归一化,在训练样本上,求出每个维度的均值和方差,在训练和测试样本上同时归一化
n e w X = X − m e a n ( X ) s t d ( X ) \mathrm{new}X=\frac{X-\mathrm{mean}\left( X \right)}{\mathrm{std}\left( X \right)} newX=std(X)Xmean(X)
(4)使用高斯核
(5)5-fold cross validation,在CScale= [ 2 − 5 , 2 15 ] \left[ 2^{-5},2^{15} \right] [25,215];gamma= [ 2 − 15 , 2 3 ] [2^{-15},2^3] [215,23] 上遍历求识别率的最大值.

上述C和gamma的区间设置参见LBSVM自带的介绍:a practical guide to support vector classification

使用工具包:LIBSVM–A Library for Support Vector Machines: https://www.csie.ntu.edu.tw/~cjlin/libsvm/

LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发 设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包

3. 交叉验证
(1)5-fold cross validation:

例如,将 5000 5000 5000个样本分为 5 5 5组,每组 1000 1000 1000个,标号为 a , b , c , d , e a,b,c,d,e a,b,c,d,e. 进行以下的步骤:
① 用 a , b , c , d a,b,c,d a,b,c,d训练, e e e测试;
② 用 a , b , c , e a,b,c,e a,b,c,e训练, d d d测试;
③ 用 a , b , d , e a,b,d,e a,b,d,e训练, b b b测试;
⋮ \vdots

(2)leave-one-out cross validation:

例如,将 5000 5000 5000个样本分为 5000 5000 5000组,每组 1 1 1个. 每次用 4999 4999 4999个样本训练, 1 1 1个样本测试.

(3)交叉验证的原则:

① 训练样本不做测试;
② 尽量充分利用训练样本. 折数越多,模型越精确,但花费时间越多.

4. 训练参数设置

svmtrain(yTraining, xTraining, cmd)
cmd参数如下:
在这里插入图片描述

此处选择0
在这里插入图片描述

选择高斯核(2:RBF).

在这里插入图片描述

5. 训练后获得的参数

(1)C=16,gamma=0.0825
(2)支持向量:358个(162个正样本,196个负样本)

说明
① 支持向量,即对应的 α i ≠ 0 ( i = 1 , ⋯   , n ) \alpha_i\ne 0(i=1,\cdots,n) αi=0(i=1,,n)的向量 x i \boldsymbol{x}_i xi,因为若 α i = 0 \alpha_i=0 αi=0,那么对于式子 ∑ i = 1 N α i y i κ ( x i , x ) + b = b ⩾ 0 \sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x} \right)}+b=b\geqslant 0 i=1Nαiyiκ(xi,x)+b=b0总能成立;
② 经验表明,支持向量约占训练样本的 20 ∼ 30 % 20\sim 30\% 2030%,若该比例较大,则说明训练效果差,或是数据本身不具规律,或是 SVM \text{SVM} SVM没有找到数据的规律.

(3)b=6.2863

6. 测试结果

如何衡量测试结果?

(1)混淆矩阵

在这里插入图片描述

(1) TP \text{TP} TP:将正样本识别为正样本的数量(或概率)
(2) FN \text{FN} FN:将正样本识别为负样本的数量(或概率)
(3) FP \text{FP} FP:将负样本识别为正样本的数量(或概率)
(4) TN \text{TN} TN:将负样本识别为负样本的数量(或概率)

(2)识别结果

在这里插入图片描述

(3)ROC曲线

四个概率 TP \text{TP} TP FN \text{FN} FN FP \text{FP} FP TN \text{TN} TN的关系:

  1. TP + FN = 1 \text{TP}+\text{FN}=1 TP+FN=1;
  2. FP + TN = 1 \text{FP}+\text{TN}=1 FP+TN=1;
  3. 对同一个系统来说,若 TP \text{TP} TP增加,则 FP \text{FP} FP也增加.
    FN减少 ↔ ① TP增加 ↔ ③ FP增加 ↔ ② TN减少 \text{FN减少}\xleftrightarrow{①}\text{TP增加}{\color{red} \xleftrightarrow{③}}\text{FP增加}\xleftrightarrow{②}\text{TN减少} FN减少 TP增加 FP增加 TN减少

要想增大 TP \text{TP} TP,可在测试流程中将阈值 p p p调小,其他参数不需要调整.
{ i f ∑ i = 1 N α i y i κ ( x i , x ) + b ⩾ p : y = + 1 i f ∑ i = 1 N α i y i κ ( x i , x ) + b < p : y = − 1 \left\{ \begin{array}{l} \mathrm{if} \sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x} \right)}+b\geqslant p:y=+1\\ \mathrm{if} \sum_{i=1}^N{\alpha _iy_i\kappa \left( \boldsymbol{x}_i,\boldsymbol{x} \right)}+b<p:y=-1\\ \end{array} \right. {ifi=1Nαiyiκ(xi,x)+bp:y=+1ifi=1Nαiyiκ(xi,x)+b<p:y=1若要真正提高系统的性能(而不只是仅仅增大 TP \text{TP} TP),则需要找到一组更好的 α \boldsymbol{\alpha} α b b b.

根据以上事实,定义ROC(Receiver Operating Character)曲线,其中横坐标为 FP \text{FP} FP,纵坐标为 TP \text{TP} TP,
在这里插入图片描述

通过调整不同的阈值 p p p,测得 TP \text{TP} TP FP \text{FP} FP,从而画出ROC曲线.
通过ROC曲线来衡量系统性能时,可以通过比较 FP \text{FP} FP一定时, TP \text{TP} TP的大小;也可以通过比较ROC曲线与横轴围成图形的面积大小;也可以比较EER,如下图所示.
在这里插入图片描述

错误率(Equal Error Rate,EER)是两类错误 TP \text{TP} TP FP \text{FP} FP相等时候的错误率,可以直观的表示系统性能. EER越小,则系统性能越好.

五、支持向量机处理多类问题

SVM有三种方式处理多类问题,即类别大于2的问题.

1. 改造优化的目标函数和限制条件,使之能处理多类问题

论文:SVM-Multiclass Multi-class Support vector Machine

2. 一类 vs 其他类

需要构造 n n n SVM \text{SVM} SVM.

例如有 C 1 , C 2 , C 3 C_1,C_2,C_3 C1,C2,C3三类样本,可以按以下分类:
S V M 1 : ( C 1 ∪ C 2 ) v s ( C 3 ) S V M 2 : ( C 1 ∪ C 3 ) v s ( C 2 ) S V M 3 : ( C 2 ∪ C 3 ) v s ( C 1 ) \mathrm{SVM}1:\left( C_1\cup C_2 \right) \mathrm{vs}\left( C_3 \right) \\ \mathrm{SVM}2:\left( C_1\cup C_3 \right) \mathrm{vs}\left( C_2 \right) \\ \mathrm{SVM}3:\left( C_2\cup C_3 \right) \mathrm{vs}\left( C_1 \right) SVM1:(C1C2)vs(C3)SVM2:(C1C3)vs(C2)SVM3:(C2C3)vs(C1)

3. 一类 vs 另一类

需要构造 ( n 2 ) = n ( n − 1 ) 2 \binom n 2=\frac{n\left( n-1 \right)}{2} (2n)=2n(n1) SVM \text{SVM} SVM.

例如有 C 1 , C 2 , C 3 C_1,C_2,C_3 C1,C2,C3三类样本,可以按以下分类:
S V M 1 : ( C 1 ) v s ( C 2 ) S V M 2 : ( C 1 ) v s ( C 3 ) S V M 3 : ( C 2 ) v s ( C 3 ) \mathrm{SVM}1:\left( C_1 \right) \mathrm{vs}\left( C_2 \right) \\ \mathrm{SVM}2:\left( C_1 \right) \mathrm{vs}\left( C_3 \right) \\ \mathrm{SVM}3:\left( C_2 \right) \mathrm{vs}\left( C_3 \right) SVM1:(C1)vs(C2)SVM2:(C1)vs(C3)SVM3:(C2)vs(C3)

经验表明,第3种方法效果最好.

4. 其他

利用决策树等方法,减少构造 SVM \text{SVM} SVM的数量.

六、支持向量回归(Support Vector Regression)

注:该部分内容在胡浩基老师的课程中未涉及,仅按照西瓜书的思路进行叙述,加入了部分公式推导过程.

SVM \text{SVM} SVM解决了训练样本的分类问题. 那么能否得到形如
f ( x ) = w T x + b f\left( \boldsymbol{x} \right) =\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b f(x)=wTx+b的回归模型,使得 f ( x ) f(\boldsymbol{x}) f(x) y y y尽可能接近?

首先, SVR \text{SVR} SVR容许 f ( x ) f(\boldsymbol{x}) f(x) y y y之间存在 ϵ \epsilon ϵ的偏差. 几何意义如下图.

在这里插入图片描述

因此 SVR \text{SVR} SVR就是要解决以下的优化问题:
min ⁡ w , b    1 2 ∥ w ∥ 2 + C ∑ i = 1 N ℓ ϵ ( f ( x i ) − y i ) ℓ ϵ = { 0 , i f ∣ z ∣ ⩽ ϵ ; ∣ z ∣ − ϵ , o t h e r w i s e . \begin{aligned} &\underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+C\sum_{i=1}^N{\ell _{\epsilon}\left( f\left( \boldsymbol{x}_i \right) -y_i \right)}\\ &\ell _{\epsilon}=\begin{cases} 0, \mathrm{if} \left| z \right|\leqslant \epsilon ;\\ \left| z \right|-\epsilon ,\mathrm{otherwise}.\\ \end{cases}\\ \end{aligned} w,bmin21w2+Ci=1Nϵ(f(xi)yi)ϵ={0,ifzϵ;zϵ,otherwise.其中 ℓ ϵ \ell _{\epsilon} ϵ叫做 ϵ − \epsilon- ϵ不敏感损失( ϵ − \epsilon- ϵinsensitive loss)函数. 其性质不好,因此使用松弛变量改写以上的目标函数. 又考虑到间隔带两侧的距离(松弛程度)可以不同,于是引入两个松弛变量 ξ i , ξ ^ i \xi _i,\hat{\xi}_i ξi,ξ^i. 原问题改写为
min ⁡ w , b , ξ i , ξ ^ i    1 2 ∥ w ∥ 2 + C ∑ i = 1 N ( ξ i + ξ ^ i ) s . t . { f ( x i ) − y i ⩽ ϵ + ξ i y i − f ( x i ) ⩽ ϵ + ξ ^ i ξ i ⩾ 0 ξ ^ i ⩾ 0 ( i = 1 , 2 , ⋯   , N ) \begin{aligned} &\underset{\boldsymbol{w},b,\xi _i,\hat{\xi}_i}{\min}\,\,\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2+C\sum_{i=1}^N{\left( \xi _i+\hat{\xi}_i \right)}\\ &\mathrm{s}.\mathrm{t}.\left\{ \begin{array}{l} f\left( \boldsymbol{x}_i \right) -y_i\leqslant \epsilon +\xi _i\\ y_i-f\left( \boldsymbol{x}_i \right) \leqslant \epsilon +\hat{\xi}_i\\ \xi _i\geqslant 0\\ \hat{\xi}_i\geqslant 0\\ \end{array} \right. \left( i=1,2,\cdots ,N \right)\\ \end{aligned} w,b,ξi,ξ^imin21w2+Ci=1N(ξi+ξ^i)s.t.f(xi)yiϵ+ξiyif(xi)ϵ+ξ^iξi0ξ^i0(i=1,2,,N)
原问题改写为标准型:
min ⁡ w , b , ξ i , ξ ^ i    1 2 ∥ w ∥ 2 − C ∑ i = 1 N ( ξ i + ξ ^ i ) s . t . { f ( x i ) − y i − ϵ + ξ i ⩽ 0 y i − f ( x i ) − ϵ + ξ ^ i ⩽ 0 ξ i ⩽ 0 ξ ^ i ⩽ 0 ( i = 1 , 2 , ⋯   , N ) \begin{aligned} &\underset{\boldsymbol{w},b,\xi _i,\hat{\xi}_i}{\min}\,\,\frac{1}{2}\left\| \boldsymbol{w} \right\| ^2-C\sum_{i=1}^N{\left( \xi _i+\hat{\xi}_i \right)}\\ &\mathrm{s}.\mathrm{t}.\left\{ \begin{array}{l} f\left( \boldsymbol{x}_i \right) -y_i-\epsilon +\xi _i\leqslant 0\\ y_i-f\left( \boldsymbol{x}_i \right) -\epsilon +\hat{\xi}_i\leqslant 0\\ \xi _i\leqslant 0\\ \hat{\xi}_i\leqslant 0\\ \end{array} \right. \left( i=1,2,\cdots ,N \right)\\ \end{aligned} w,b,ξi,ξ^imin21w2Ci=1N(ξi+ξ^i)s.t.f(xi)yiϵ+ξi0yif(xi)ϵ+ξ^i0ξi0ξ^i0(i=1,2,,N)
接着写出其对偶问题:
max ⁡    i n f ( 1 2 ∥ w ∥ 2 − C ∑ i = 1 N ( ξ i + ξ ^ i ) + ∑ i = 1 N α i ( f ( x i ) − y i − ϵ + ξ i ) + ∑ i = 1 N α ^ i ( y i − f ( x i ) − ϵ + ξ ^ i ) + ∑ i = 1 N β i ξ i + ∑ i = 1 N β ^ i ξ ^ i ) s . t . { α i ⩾ 0 α ^ i ⩾ 0 β i ⩾ 0 β ^ i ⩾ 0 ( i = 1 , 2 , ⋯   , N ) \begin{aligned} &\max \,\,\mathrm{inf}\left( \begin{array}{c} \frac{1}{2}\left\| \boldsymbol{w} \right\| ^2-C\sum_{i=1}^N{\left( \xi _i+\hat{\xi}_i \right)}+\sum_{i=1}^N{\alpha _i\left( f\left( \boldsymbol{x}_i \right) -y_i-\epsilon +\xi _i \right)}\\ +\sum_{i=1}^N{\hat{\alpha}_i\left( y_i-f\left( \boldsymbol{x}_i \right) -\epsilon +\hat{\xi}_i \right)}+\sum_{i=1}^N{\beta _i\xi _i}+\sum_{i=1}^N{\hat{\beta}_i\hat{\xi}_i}\\ \end{array} \right)\\ &\mathrm{s}.\mathrm{t}.\left\{ \begin{array}{l} \alpha _i\geqslant 0\\ \hat{\alpha}_i\geqslant 0\\ \beta _i\geqslant 0\\ \hat{\beta}_i\geqslant 0\\ \end{array} \right. \left( i=1,2,\cdots ,N \right)\\ \end{aligned} maxinf21w2Ci=1N(ξi+ξ^i)+i=1Nαi(f(xi)yiϵ+ξi)+i=1Nα^i(yif(xi)ϵ+ξ^i)+i=1Nβiξi+i=1Nβ^iξ^is.t.αi0α^i0βi0β^i0(i=1,2,,N)

利用 Lagrange \text{Lagrange} Lagrange乘子法,置 L ( w , b , ξ i , ξ ^ i , α i , α ^ i , β i , β ^ i ) L\left( \boldsymbol{w},b,\xi _i,\hat{\xi}_i,\alpha _i,\hat{\alpha}_i,\beta _i,\hat{\beta}_i \right) L(w,b,ξi,ξ^i,αi,α^i,βi,β^i)偏导数为0,有
{ ∂ L ∂ w = 0 ⇒ w + ∑ i = 1 N ( α i − α ^ i ) x i = 0 ∂ L ∂ b = 0 ⇒ ∑ i = 1 N ( α i − α ^ i ) = 0 ∂ L ∂ ξ i = 0 ⇒ α i + β i = C ∂ L ∂ ξ ^ i = 0 ⇒ α ^ i + β ^ i = C \begin{cases} \frac{\partial L}{\partial \boldsymbol{w}}=0\Rightarrow \boldsymbol{w}+\sum_{i=1}^N{\left( \alpha _i-\hat{\alpha}_i \right) \boldsymbol{x}_i}=0\\ \frac{\partial L}{\partial b}=0\Rightarrow \sum_{i=1}^N{\left( \alpha _i-\hat{\alpha}_i \right) =0}\\ \frac{\partial L}{\partial \xi _i}=0\Rightarrow \alpha _i+\beta _i=C\\ \frac{\partial L}{\partial \hat{\xi}_i}=0\Rightarrow \hat{\alpha}_i+\hat{\beta}_i=C\\ \end{cases} wL=0w+i=1N(αiα^i)xi=0bL=0i=1N(αiα^i)=0ξiL=0αi+βi=Cξ^iL=0α^i+β^i=C
代回对偶问题的目标函数,可以得到 SVR \text{SVR} SVR的对偶问题
max ⁡ α , α ^ ( ∑ i = 1 N y i ( α i − α ^ i ) − ϵ ( α ^ i + α i ) − 1 2 ∑ i = 1 N ∑ i = 1 N ( α ^ i − α i ) ( α ^ j − α j ) x i T x j ) s . t . { ∑ i = 1 N ( α i − α ^ i ) = 0 0 ⩽ α i , α ^ i ⩽ C \begin{aligned} &\underset{\boldsymbol{\alpha },\boldsymbol{\hat{\alpha}}}{\max}\left( \sum_{i=1}^N{y_i\left( \alpha _i-\hat{\alpha}_i \right) -\epsilon \left( \hat{\alpha}_i+\alpha _i \right) -\frac{1}{2}}\sum_{i=1}^N{\sum_{i=1}^N{\left( \hat{\alpha}_i-\alpha _i \right) \left( \hat{\alpha}_j-\alpha _j \right) \boldsymbol{x}_{i}^{\mathrm{T}}\boldsymbol{x}_j}} \right) \\ &\mathrm{s}.\mathrm{t}. \begin{cases} \sum_{i=1}^N{\left( \alpha _i-\hat{\alpha}_i \right) =0}\\ 0\leqslant \alpha _i,\hat{\alpha}_i\leqslant C\\ \end{cases} \end{aligned} α,α^max(i=1Nyi(αiα^i)ϵ(α^i+αi)21i=1Ni=1N(α^iαi)(α^jαj)xiTxj)s.t.{i=1N(αiα^i)=00αi,α^iC
其KKT条件为
{ α i ( f ( x i ) − y i − ϵ + ξ i ) = 0 α ^ i ( y i − f ( x i ) − ϵ + ξ ^ i ) = 0 ( C − α i ) ξ i = 0 ( C − α ^ i ) ξ ^ i = 0 \begin{cases} \alpha _i\left( f\left( \boldsymbol{x}_i \right) -y_i-\epsilon +\xi _i \right) =0\\ \hat{\alpha}_i\left( y_i-f\left( \boldsymbol{x}_i \right) -\epsilon +\hat{\xi}_i \right) =0\\ \left( C-\alpha _i \right) \xi _i=0\\ \left( C-\hat{\alpha}_i \right) \hat{\xi}_i=0\\ \end{cases} αi(f(xi)yiϵ+ξi)=0α^i(yif(xi)ϵ+ξ^i)=0(Cαi)ξi=0(Cα^i)ξ^i=0
因为样本 ( x i , y i ) (\boldsymbol{x}_i,y_i) (xi,yi)只可能处在间隔带的某一侧,那么约束条件 f ( x i ) − y i − ϵ − ξ i = 0 f\left(\boldsymbol{x}_{i}\right)-y_{i}-\epsilon-\xi_{i}=0 f(xi)yiϵξi=0 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_{i}-f\left(\boldsymbol{x}_{i}\right)-\epsilon-\hat{\xi}_{i}=0 yif(xi)ϵξ^i=0不可能同时成立,所以 α i \alpha_i αi α ^ i \hat{\alpha}_i α^i中至少有一个为 0 0 0,也即 α i α ^ i = 0 \alpha_i\hat{\alpha}_i=0 αiα^i=0. 在此基础上再进一步分析可知,如果 α i = 0 \alpha_i=0 αi=0,那么根据约束 ( C − α i ) ξ i = 0 (C-\alpha_i)\xi_{i} = 0 (Cαi)ξi=0可知此时 ξ i = 0 \xi_i=0 ξi=0. 同理,如果 α ^ i = 0 \hat{\alpha}_i=0 α^i=0,那么根据约束 ( C − α ^ i ) ξ ^ i = 0 (C-\hat{\alpha}_i)\hat{\xi}_{i} = 0 (Cα^i)ξ^i=0,可知此时 ξ ^ i = 0 \hat{\xi}_{i}=0 ξ^i=0,所以 ξ i \xi_i ξi ξ i ^ \hat{\xi_i} ξi^中也是至少有一个为 0 0 0,也即 ξ i ξ ^ i = 0 \xi_{i} \hat{\xi}_{i}=0 ξiξ^i=0. 将 α i α ^ i = 0 , ξ i ξ ^ i = 0 \alpha_i\hat{\alpha}_i=0,\xi_{i} \hat{\xi}_{i}=0 αiα^i=0,ξiξ^i=0整合进上述KKT条件中即可得到公式(6.52)(摘自南瓜书).

SVR \text{SVR} SVR也具有特征映射形式
f ( x ) = ∑ i = 1 N ( α ^ i − α i ) κ ( x , x i ) + b . f\left( \boldsymbol{x} \right) =\sum_{i=1}^N{\left( \hat{\alpha}_i-\alpha _i \right) \kappa \left( \boldsymbol{x},\boldsymbol{x}_i \right)}+b. f(x)=i=1N(α^iαi)κ(x,xi)+b.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值