《机器学习》阅读笔记 第六章

SVM 基本型

想法:找到位于两类训练样本“正中间”的超平面,其面对样本的扰动时最稳健,如何找呢?有以下要求:

  1. 正确分类:定义 y i ∈ { − 1 , 1 } y_i \in \{-1,1\} yi{1,1},则

( w T x i + b ) y i ≥ 1 (\boldsymbol{w}^T \boldsymbol{x}_i +b)y_i \geq 1 (wTxi+b)yi1

  1. 最大间隔:“间隔”是超平面的方向向量穿过距离超平面最近的样本点而构成的超平面,表示为 2 ∣ ∣ w ∣ ∣ \frac{2}{||\boldsymbol{w}||} ∣∣w∣∣2,于是

m a x      2 ∣ ∣ w ∣ ∣    ⟹    m i n      1 2 ∣ ∣ w ∣ ∣ 2 \begin{aligned} & {\rm max} \;\; \frac{2}{||\boldsymbol{w}||} \\[2mm] \implies & {\rm min} \;\; \frac{1}{2}||\boldsymbol{w}||^2 \end{aligned} max∣∣w∣∣2min21∣∣w2

这是支持向量机的基本型.

对偶问题

写出支持向量机基本型的拉格朗日函数:

L ( w , b , λ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i m λ i [ 1 − ( w T x i + b ) y i ] L(\boldsymbol{w},b,\boldsymbol{\lambda}) = \frac{1}{2}||\boldsymbol{w}||^2 + \sum_{i}^{m} \lambda_i[1-(\boldsymbol{w}^T \boldsymbol{x}_i +b)y_i] L(w,b,λ)=21∣∣w2+imλi[1(wTxi+b)yi]

这个不等式约束优化问题的 KKT 条件是:

w = ∑ i = 1 m λ i y i x i 0 = ∑ i = 1 m λ i y i λ i ≥ 0 ( w T x i + b ) y i − 1 ≥ 0 [ 1 − ( w T x i + b ) y i ] λ i = 0 \begin{aligned} \boldsymbol{w} &= \sum_{i=1}^{m}\lambda_iy_i\boldsymbol{x}_i\\[2mm] 0 &= \sum_{i=1}^{m} \lambda_iy_i\\[2mm] \lambda_i & \geq 0 \\[2mm] (\boldsymbol{w}^T \boldsymbol{x}_i +b)y_i - 1 &\geq 0 \\[2mm] [1-(\boldsymbol{w}^T \boldsymbol{x}_i +b)y_i]\lambda_i &= 0 \end{aligned} w0λi(wTxi+b)yi1[1(wTxi+b)yi]λi=i=1mλiyixi=i=1mλiyi00=0

将第一个式子代入原式,其余作为新的约束,得到对偶式

m a x      ∑ i = 1 m λ i − 1 2 ∑ i = 1 m ∑ j = 1 m λ i λ j y i y j x i T x j (*) {\rm max} \;\; \sum_{i=1}^{m} \lambda_i - \frac{1}{2} \sum_{i=1}^m\sum_{j=1}^m \lambda_i \lambda_jy_iy_j \boldsymbol{x}_i^T\boldsymbol{x}_j \tag{*} maxi=1mλi21i=1mj=1mλiλjyiyjxiTxj(*)

发现:

  • 对这个式子做优化比原来简单,只需处理一些等式约束和一些简单的不等式约束,原式则需要处理线性的不等式约束
  • 由 KKT 条件的后三个式子,若某个样本出现在求和式中,则必有该样本在间隔上
  • 也就是说,最终的训练过程只与支持向量有关

如何求解这个二次规划问题呢?可以采用 SMO 算法,SMO 算法的基本思路是先固定除了 λ i \lambda_i λi 的所有参数,再求关于 λ i \lambda_i λi 的极值点,直至目标函数收敛,步骤是:

  1. 选取一对需要更新的变量 λ i , λ j \lambda_i,\lambda_j λi,λj
  2. 固定除此之外的所有参数,求解目标式 ( ∗ ) (*) () ,以更新 λ i , λ j \lambda_i,\lambda_j λi,λj
  3. 选取时,需要使选取的两变量所对应样本之间的问隔最大

核函数

SVM 基本型采用超平面作为分割,这是训练样本线性可分。如果要处理非线性可分问题(如“异或”问题),需要将样本从原始平面映射到一个高维空间(特征空间):

x ⟼ ϕ ( x ) x \longmapsto \phi(x) xϕ(x)

此时,新的分类模型可表示为:

f ( x ) = w T ϕ ( x ) + b f(\boldsymbol{x}) = \boldsymbol{w}^T \phi(\boldsymbol{x}) + b f(x)=wTϕ(x)+b

将这个模型代入 SVM 基本型中求解即可.

然而,在求解中,涉及到计算特征空间中的内积 ϕ ( x i ) T ϕ ( x j ) \phi(\boldsymbol{x_i})^T\phi(\boldsymbol{x_j}) ϕ(xi)Tϕ(xj),比较困难,希望找到这样一个函数,满足:

κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa(\boldsymbol{x_i},\boldsymbol{x_j}) = \phi(\boldsymbol{x_i})^T\phi(\boldsymbol{x_j}) κ(xi,xj)=ϕ(xi)Tϕ(xj)

这样,就将高维空间的内积计算转换为原空间的某个函数 κ ( ⋅ , ⋅ ) \kappa(\cdot,\cdot) κ(,) 的计算结果,这样的函数称为核函数,常用的核函数有:

  • 线性核: x i T x j x_i^Tx_j xiTxj
  • 多项式核: ( x i T x j ) d (x_i^Tx_j)^d (xiTxj)d
  • 高斯核: e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 2 σ 2 ) {\rm exp}(-\frac{||x_i-x_j||^2}{2\sigma^2}) exp(2σ2∣∣xixj2)

等等。

软间隔与正则化

以上内容假定样本在特征空间中是线性可分的,然而,在现实情况中:

  • 往往难以确定合适的核函数使得训练样本在特征空间中线性可分
  • 即使找到了核函数,也难以确定结果是否由过拟合造成的

处理办法是:允许某些样本不满足约束

( w T x i + b ) y i ≥ 1 (\boldsymbol{w}^T \boldsymbol{x}_i +b)y_i \geq 1 (wTxi+b)yi1

这样做称为“软间隔”,将间隔放入某个损失函数 L ( ⋅ ) \mathcal{L}(\cdot) L() 中,构成了一个正则化项,加入目标函数中:

m i n      1 2 ∣ ∣ w ∣ ∣ 2 + λ ∑ i = 1 m L ( ( w T x i + b ) y i − 1 ) {\rm min} \;\; \frac{1}{2}||\boldsymbol{w}||^2 + \lambda\sum_{i=1}^{m} \mathcal{L}\big((\boldsymbol{w}^T \boldsymbol{x}_i +b)y_i - 1\big) min21∣∣w2+λi=1mL((wTxi+b)yi1)

直观地看, λ \lambda λ 越大,最小化上式越接近最小化正则项式,就要求间隔越“硬”,取一个有限值 λ \lambda λ,允许一些样本不满足约束。这样,就能适当缓解过拟合的问题。类似基本 SVM 的解法,可以用拉格朗日乘子法构造对偶问题,再用迭代方法求解。

常用的损失函数 L ( ⋅ ) \mathcal{L}(\cdot) L() 有:

  • 0-1 损失: I ( ⋅ ) \mathbb{I}(\cdot) I()
  • Hinge 损失: m a x ( 0 , 1 − z ) {\rm max} (0,1-z) max(0,1z)
  • 指数损失: e x p ( − z ) {\rm exp} (-z) exp(z)
  • 对率损失: log ⁡ ( 1 + e x p ( − z ) ) \log (1+{\rm exp} (-z)) log(1+exp(z))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值