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

间隔与支持向量

对于存在可以将两类训练样本分开的多个划分超平面,划分超平面距离样本的距离越远,那么这个划分超平面产生的分类结果是最鲁棒的,对未见示例的泛化能力越强。
超平面的表述:
ω T x + b = 0 \boldsymbol{\omega}^T\boldsymbol{x} + b = 0
ω \boldsymbol{\omega} 为法向量,决定了超平面的方向; b b 为位移项,决定了超平面与原点之间的距离。
任意样本点到超平面的距离可写为:
r = ω T x + b ω r = \frac{ |\boldsymbol{\omega}^T\boldsymbol{x} + b |}{||\omega||}
假设超平面( ω \boldsymbol{\omega} b b )可以将训练样本正确分类,即对于( x i \boldsymbol{x}_i y i y_i D \in D ,若 y i = + 1 y_i = +1 ,则有 ω T x + b > 0 \boldsymbol{\omega}^T\boldsymbol{x} + b > 0 ;若 y i = 1 y_i = -1 ,则有 ω T x + b < 0 \boldsymbol{\omega}^T\boldsymbol{x} + b < 0 。令
ω T x i + b + 1 , y i = + 1 ; \boldsymbol{\omega}^T\boldsymbol{x}_i + b \ge +1,\quad y_i = +1;
ω T x i + b + 1 , y i = 1 ; \boldsymbol{\omega}^T\boldsymbol{x}_i + b \le +1,\quad y_i = -1;
距离超平面最近的这几个训练样本点使等号成立,被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和
γ = 2 ω \gamma = \frac{2}{||\omega||} 称为“间隔”。
要找到最大间隔的划分超平面
max ω , b 2 ω \max_{\boldsymbol{\omega}, b}\frac{2}{||\omega||}
s.t.          y i ( ω T x i + b ) 1 \text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1
该问题等价为
min ω , b 1 2 ω 2 \min_{\boldsymbol{\omega}, b}\frac{1}{2}||\boldsymbol{\omega}||^2
s.t.          y i ( ω T x i + b ) 1 \text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 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 L ω \boldsymbol{\omega} b b 偏导为0
ω = i = 1 m α i y i x i \boldsymbol{\omega} = \sum_{i=1}^m \alpha_iy_i\boldsymbol{x}_i
0 = I = 1 m α i y i 0 = \sum_{I=1}^m \alpha_iy_i
带入原式
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) = 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 = 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
s.t. i = 1 m α i y i = 0 \text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0
对偶问题与原问题解一致需要满足 K K T KKT 条件,即
α i 0 \alpha_i \ge 0 y i f ( x i ) 1 0 y_if(\boldsymbol{x}_i) - 1 \ge 0 α i ( y i f ( x i 1 ) = 0 \alpha_i(y_if(\boldsymbol{x}_i - 1) = 0
K K T KKT 条件可以看出,样本必须满足 α i = 0 \alpha_i = 0 y i f ( x i ) = 1 y_if(\boldsymbol{x}_i) = 1 ,若 α i = 0 \alpha_i = 0 ,那么该样本对结果的求解没有影响;若 $\alpha > 0 $,那么该样本位于最大间隔边界上,是一个支持向量。所以训练完成后大部分样本都不需要保留,最终模型只与支持向量有关。

对偶问题求解

S M O SMO 算法:选取两个变量 α i \alpha_i α j \alpha_j ,使两个变量对应的样本之间的间隔最大;固定 α i \alpha_i α j \alpha_j 之外的所有参数,求解对偶问题,获得更新后的 α i \alpha_i α j \alpha_j
ω \boldsymbol{\omega} 的确定
ω = i = 1 m α i y i x i \boldsymbol{\omega} = \sum_{i=1}^m\alpha_iy_i\boldsymbol{x}_i
偏移项 b b 的确定
S = { i       α i > 0 ,    i = 1 , 2 ,   , m } S = \{ i\;|\;\alpha_i > 0,\;i = 1, 2, \cdots, 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)

核函数

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

  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})
  3. κ 1 \kappa_1 是核函数,则对于任意函数 g ( x ) g(\boldsymbol{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}) 也是核函数

软间隔与正则化

软间隔:允许部分样本不满足约束条件 y i ( ω T x i + b ) 1 y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 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)
0 / 1 \ell_{0/1} 是指若样本不满约束条件时为1,否则为0。通常我们使用数学性质好的(凸的连续函数)来代替 0 / 1 \ell_{0/1} 称为“替代损失”( s u r r o g a t e    l o s s surrogate\;loss
使用“松弛变量”代替损失函数:
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
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
ξ i 0 , i = 1 , 2 ,   , m \xi_i \ge 0, \quad i = 1, 2, \cdots,m
这就是“软间隔支持向量机”

猜你喜欢

转载自blog.csdn.net/qq_33669204/article/details/83239793