周志华机器学习总结第6章

间隔与支持向量

对于存在可以将两类训练样本分开的多个划分超平面,划分超平面距离样本的距离越远,那么这个划分超平面产生的分类结果是最鲁棒的,对未见示例的泛化能力越强。
超平面的表述:
ω T x + b = 0 \boldsymbol{\omega}^T\boldsymbol{x} + b = 0 ωTx+b=0
ω \boldsymbol{\omega} ω 为法向量,决定了超平面的方向; b b b 为位移项,决定了超平面与原点之间的距离。
任意样本点到超平面的距离可写为:
r = ∣ ω T x + b ∣ ∣ ∣ ω ∣ ∣ r = \frac{ |\boldsymbol{\omega}^T\boldsymbol{x} + b |}{||\omega||} r=ωωTx+b
假设超平面( ω \boldsymbol{\omega} ω b b b)可以将训练样本正确分类,即对于( x i \boldsymbol{x}_i xi y i y_i yi ∈ D \in D D,若 y i = + 1 y_i = +1 yi=+1,则有 ω T x + b &gt; 0 \boldsymbol{\omega}^T\boldsymbol{x} + b &gt; 0 ωTx+b>0;若 y i = − 1 y_i = -1 yi=1,则有 ω T x + b &lt; 0 \boldsymbol{\omega}^T\boldsymbol{x} + b &lt; 0 ωTx+b<0。令
ω T x i + b ≥ + 1 , y i = + 1 ; \boldsymbol{\omega}^T\boldsymbol{x}_i + b \ge +1,\quad y_i = +1; ωTxi+b+1,yi=+1;
ω T x i + b ≤ + 1 , y i = − 1 ; \boldsymbol{\omega}^T\boldsymbol{x}_i + b \le +1,\quad y_i = -1; ωTxi+b+1,yi=1;
距离超平面最近的这几个训练样本点使等号成立,被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和
γ = 2 ∣ ∣ ω ∣ ∣ \gamma = \frac{2}{||\omega||} γ=ω2称为“间隔”。
要找到最大间隔的划分超平面
max ⁡ ω , b 2 ∣ ∣ ω ∣ ∣ \max_{\boldsymbol{\omega}, b}\frac{2}{||\omega||} ω,bmaxω2
s.t. &ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace; y i ( ω T x i + b ) ≥ 1 \text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1 s.t.yi(ωTxi+b)1
该问题等价为
min ⁡ ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 \min_{\boldsymbol{\omega}, b}\frac{1}{2}||\boldsymbol{\omega}||^2 ω,bmin21ω2
s.t. &ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace; y i ( ω T x i + b ) ≥ 1 \text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1 s.t.yi(ωTxi+b)1

对偶问题

利用拉格朗日乘子法求解对偶问题
L ( ω , b , α ) = 1 2 ∣ ∣ ω ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( ω T x i + b ) ) L(\boldsymbol{\omega}, b , \boldsymbol{\alpha}) =\frac{1}{2}||\boldsymbol{\omega}||^2+ \sum_{i=1}^{m} \alpha_i(1-y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b)) L(ω,b,α)=21ω2+i=1mαi(1yi(ωTxi+b))
L L L ω \boldsymbol{\omega} ω b b b 偏导为0
ω = ∑ i = 1 m α i y i x i \boldsymbol{\omega} = \sum_{i=1}^m \alpha_iy_i\boldsymbol{x}_i ω=i=1mαiyixi
0 = ∑ I = 1 m α i y i 0 = \sum_{I=1}^m \alpha_iy_i 0=I=1mαiyi
带入原式
L = 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j x i T x j + ∑ i = 1 m α i − ∑ i = 1 m α i y i ( ∑ j = 1 m α j y j x i T x j + b ) L = \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j + \sum_{i=1}^m\alpha_i - \sum_{i=1}^m\alpha_iy_i(\sum_{j=1}^m \alpha_jy_j\boldsymbol{x}_i^T\boldsymbol{x}_j + b) L=21i=1mj=1maiajyiyjxiTxj+i=1mαii=1mαiyi(j=1mαjyjxiTxj+b) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j x i T x j − b ∑ i = 1 m α i y i = \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j - b \sum_{i=1}^m \alpha_iy_i =i=1mαi21i=1mj=1maiajyiyjxiTxjbi=1mαiyi = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j x i T x j = \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j =i=1mαi21i=1mj=1maiajyiyjxiTxj
s.t. ∑ i = 1 m α i y i = 0 \text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0 s.t.i=1mαiyi=0
对偶问题与原问题解一致需要满足 K K T KKT KKT 条件,即
α i ≥ 0 \alpha_i \ge 0 αi0 y i f ( x i ) − 1 ≥ 0 y_if(\boldsymbol{x}_i) - 1 \ge 0 yif(xi)10 α i ( y i f ( x i − 1 ) = 0 \alpha_i(y_if(\boldsymbol{x}_i - 1) = 0 αi(yif(xi1)=0
K K T KKT KKT 条件可以看出,样本必须满足 α i = 0 \alpha_i = 0 αi=0 y i f ( x i ) = 1 y_if(\boldsymbol{x}_i) = 1 yif(xi)=1,若 α i = 0 \alpha_i = 0 αi=0,那么该样本对结果的求解没有影响;若 $\alpha > 0 $,那么该样本位于最大间隔边界上,是一个支持向量。所以训练完成后大部分样本都不需要保留,最终模型只与支持向量有关。

对偶问题求解

S M O SMO SMO 算法:选取两个变量 α i \alpha_i αi α j \alpha_j αj,使两个变量对应的样本之间的间隔最大;固定 α i \alpha_i αi α j \alpha_j αj 之外的所有参数,求解对偶问题,获得更新后的 α i \alpha_i αi α j \alpha_j αj
ω \boldsymbol{\omega} ω的确定
ω = ∑ i = 1 m α i y i x i \boldsymbol{\omega} = \sum_{i=1}^m\alpha_iy_i\boldsymbol{x}_i ω=i=1mαiyixi
偏移项 b b b 的确定
S = { i &ThickSpace; ∣ &ThickSpace; α i &gt; 0 , &ThickSpace; i = 1 , 2 , ⋯ &ThinSpace; , m } S = \{ i\;|\;\alpha_i &gt; 0,\;i = 1, 2, \cdots, m \} S={iαi>0,i=1,2,,m}
b = 1 ∣ S ∣ ∑ s ∈ S ( 1 / y s − ∑ i ∈ S α i y i x i T x s ) b = \frac{1}{|S|}\sum_{s \in S}\left( 1/y_s- \sum_{i \in S}\alpha_iy_i\boldsymbol{x}_i^T\boldsymbol{x}_s\right) b=S1sS(1/ysiSαiyixiTxs)

核函数

对于原本样本空间不可分的分类问题,可将样本映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分
划分超平面所对应的模型:
f ( x ) = ω T ϕ ( x ) + b f(\boldsymbol{x}) = \boldsymbol{\omega}^T\phi(\boldsymbol{x}) + b f(x)=ωTϕ(x)+b
原问题转化为:
min ⁡ ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 \min_{\boldsymbol{\omega}, b}\frac{1}{2}||\boldsymbol{\omega}||^2 ω,bmin21ω2
s.t. &ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace; y i ( ω T ϕ ( x i ) + b ) ≥ 1 \text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\phi(\boldsymbol{x}_i) + b) \ge 1 s.t.yi(ωTϕ(xi)+b)1
对偶问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j ϕ ( x i ) T ϕ ( x j ) \max_{\alpha}\sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) αmaxi=1mαi21i=1mj=1maiajyiyjϕ(xi)Tϕ(xj)
s.t. ∑ i = 1 m α i y i = 0 \text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0 s.t.i=1mαiyi=0
α i ≥ 0 \alpha_i \ge 0 αi0
由于计算 ϕ ( x i ) T ϕ ( x j ) \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) ϕ(xi)Tϕ(xj) 困难,设
κ ( x i , x j ) = &lt; ϕ ( x i ) , ϕ ( x j ) &gt; = ϕ ( x i ) T ϕ ( x j ) \kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = &lt; \phi(\boldsymbol{x}_i), \phi(\boldsymbol{x}_j)&gt; = \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
那么对偶问题可重写为
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j κ ( x i , x j ) \max_{\alpha}\sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) αmaxi=1mαi21i=1mj=1maiajyiyjκ(xi,xj)
s.t. ∑ i = 1 m α i y i = 0 \text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0 s.t.i=1mαiyi=0
α i ≥ 0 \alpha_i \ge 0 αi0
求解后可以得到
f ( x ) = ω T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x ) + b = ∑ i = 1 m α i y i κ ( x , x i ) + b f(\boldsymbol{x}) = \boldsymbol{\omega}^T\phi(\boldsymbol{x}) + b = \sum_{i=1}^m\alpha_iy_i\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x} ) + b = \sum_{i=1}^m \alpha_iy_i\kappa(\boldsymbol{x}, \boldsymbol{x_i}) + b f(x)=ωTϕ(x)+b=i=1mαiyiϕ(xi)Tϕ(x)+b=i=1mαiyiκ(x,xi)+b
核函数的性质:

  1. 两个核函数的线性组合为核函数
  2. 两个核函数的直积为核函数 κ 1 ⊗ κ 2 ( x , z ) = κ 1 ( x , z ) κ 2 ( x , z ) \kappa_1 \otimes \kappa_2(\boldsymbol{x,z}) = \kappa_1(\boldsymbol{x,z})\kappa_2(\boldsymbol{x,z}) κ1κ2(x,z)=κ1(x,z)κ2(x,z)
  3. κ 1 \kappa_1 κ1 是核函数,则对于任意函数 g ( x ) g(\boldsymbol{x}) g(x) κ ( ( x , z ) = g ( x ) κ 1 ( ( x , z ) g ( z ) \kappa((\boldsymbol{x,z}) = g(\boldsymbol{x}) \kappa_1((\boldsymbol{x,z})g(\boldsymbol{z}) κ((x,z)=g(x)κ1((x,z)g(z)也是核函数

软间隔与正则化

软间隔:允许部分样本不满足约束条件 y i ( ω T x i + b ) ≥ 1 y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1 yi(ωTxi+b)1,因此在最大化间隔的同时,不满足约束条件的样本尽可能的少。
优化目标函数变为
min ⁡ ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 m ℓ 0 / 1 ( y i ( ω T x i + b ) − 1 ) \min_{\boldsymbol{\omega}, b} \frac{1}{2}||\boldsymbol{\omega}||^2 + C\sum_{i=1}^m\ell_{0/1}(y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b)-1) ω,bmin21ω2+Ci=1m0/1(yi(ωTxi+b)1)
ℓ 0 / 1 \ell_{0/1} 0/1是指若样本不满约束条件时为1,否则为0。通常我们使用数学性质好的(凸的连续函数)来代替 ℓ 0 / 1 \ell_{0/1} 0/1 称为“替代损失”( s u r r o g a t e &ThickSpace; l o s s surrogate\;loss surrogateloss
使用“松弛变量”代替损失函数:
min ⁡ ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 m ξ i \min_{\boldsymbol{\omega}, b} \frac{1}{2}||\boldsymbol{\omega}||^2 + C\sum_{i=1}^m\xi_i ω,bmin21ω2+Ci=1mξi
s.t. y i ( ω T x i + b ) ≥ 1 − ξ i \text{s.t.}\quad y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1- \xi_i s.t.yi(ωTxi+b)1ξi
ξ i ≥ 0 , i = 1 , 2 , ⋯ &ThinSpace; , m \xi_i \ge 0, \quad i = 1, 2, \cdots,m ξi0,i=1,2,,m
这就是“软间隔支持向量机”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值