[模式识别复习笔记] 第4章 SVM

1. SVM 简介

1.1 SVM 支持向量机

给定如图所示的线性可分训练集,能够将两类样本正确分开的直线很多。 感知机算法可以找到一条直线,且找到的直线不唯一。

然而感知机无法确定哪一条直线最优,但是 SVM 可以。 SVM 可以找到能够将训练样本正确分类的直线中 具有最大间隔 的那条直线。


1.2 间隔

  • 点到超平面的垂直距离

    给定一个分割超平面 wTx+b=0,线性判别函数 g(x)=wTx+b=0 将整个特征空间分为两个决策域:g(x)>0g(x)<0

  • 间隔

    给定一个训练数据集 {(x1,y1),(x2,y2),,(xN,yN)}xiRd, yi{+1,1}

    超平面 wTx+b=0 关于 样本点 (xi,yi) 间隔

    ri=wTx+b||w||

    超平面 wTx+b=0 关于训练集间隔

    rmin=mini=1,,Nri

    所有样本点的间隔中的最小间隔


2. 线性 SVM (硬间隔)

2.1 问题描述

SVM 思想: 寻找能够 正确划分训练数据集 并且 在训练数据集上具有最大间隔 的超平面。

PS:上图中左图的间隔小于右图中的间隔,所以右图的超平面更优。


间隔最大化,即将训练集中距离超平面最近的样本点,能够以最大的置信度分类。(最小间隔最大化)。 训练集中具有 最小间隔的样本点 称为 支持向量


2.2 形式化描述

SVM 形式化描述

  • 假设训练数据集线性可分

  • 找到一个划分超平面 wTx+b=0,满足:

    1. 正确划分训练样本。即 i=1,,N,有 yi(wTxi+b)>0

    2. 最大化训练集上的间隔(最小间隔最大化

      maxw,b(mini=1,,N|wTxi+b|||w||)

  • |wTxi+b|=yi(wTxi+b),则:

    maxw,b(mini=1,,N|wTxi+b|||w||)=maxw,b(1||w||mini=1,,Nyi(wTxi+b))

  • mini=1,,Nyi(wTxi+b)=1,则:

    i, yi(wTxi+b)1

  • 原优化问题等价于:

    maxw,b1||w||s.t. yi(wTxi+b)1,i=1,,N

  • 由于:

    argmaxw1||w||=argminw12||w||2

    原问题等价于:

    minw,b12||w||2s.t. yi(wTxi+b)1,i=1,,N

    此问题为凸二次规划问题。由此得到 硬间隔最大化 的表达式。


求解上述优化问题得到最优解 w, b。划分超平面为 wTx+b=0,分类决策函数 f(x)=sign(wTx+b)

训练集中具有 最小间隔的样本点 称为 支持向量。满足:

yi(wTx+b)=1

故支持向量到划分超平面的距离为 1||w||

  • 对于正类(yi=+1)的支持向量,有:

    wTx+b=1

  • 对于负类(yi=1)的支持向量,有:

    wTx+b=1

在决定分类决策超平面的位置时,只有支持向量起作用,其它样本点不起作用,即使删除这些样本点,也不影响分类决策边界。所以这种分类模型称为“支持向量机”。


2.3 对偶优化问题

  • SVM 原始优化问题:

    minw,b12||w||2s.t. yi(wTxi+b)1,i=1,,N

  • 推导出其 对偶优化问题

    引入拉格朗日乘子 α0,定义拉格朗日函数:

    L(w,b,α)=12||w||2+i=1Nαi(1yi(wTxi+b))

    对偶优化目标函数为:

    θD(α)=minw,bL(w,b,α)

    L(w,b,α) 关于 wb 的偏导数分别为 0:

    wL(w,b,α)=0w=i=1Nαiyixi

    bL(w,b,α)=0i=1Nαiyi=0

    带入拉格朗日函数 得:

    θD(α)=12(i=1Nαiyixi)T(i=1Nαiyixi)+i=1Nαi(i=1Nαiyixi)T(i=1Nαiyixi)i=1Nαiyib

    化简得到:

    θD(α)=12i=1Nj=1NαiαjyiyjxiTxj+i=1Nαi

    由于 argmaxαθD(α) 等价于 argminαθD(α),故 SVM 的对偶优化问题为:

    minα12i=1Nj=1NαiαjyiyjxiTxji=1Nαis.t. αi0, i=1,,Ni=1Nαiyi=0

  • 通过上述对偶问题求解出 α,由此构造出划分超平面的 wb

    α 带入得:

    w=i=1Nαiyixi

    i=1Nαiyi=0

    KKT 条件得到:

    • 对偶互补条件

      αi(1yi(wTxi+b))=0, i=1,,N

    • 原问题约束

      yi(wTxi+b)1, i=1,,N

    • 对偶约束

      i=1Nαiyi=0

      αi0, i=1,,N


    根据上述的 KKT 条件可得,至少有一个拉格朗日乘子 αj>0

    若所有拉格朗日乘子都满足 αi=0,则 w=0,这不是问题的可行解,故矛盾。

    αj0,得 1yj(wTxi+b)=0,结合 yj2=1 可得:

    b=yjwTxj=yji=1NαyixiTxj

  • 综上,若 SVM 对偶问题得最优解为 α=(α1,,αN),则存在 αj>0,由此求得最优解:

w=i=1Nαiyixi

b=yji=1NαiyixiTxj

最后,得到划分超平面 wTx+b=0,分类决策函数为 f(x)=sign(wTx+b)


3. 线性 SVM (软间隔)

3.1 问题描述

数据集中存在少量的噪声/异常样本点,导致数据集线性不可分。


3.2 形式化描述

数据集中存在少量样本点 (xi,yi),不能满足 yi(wTxi+b)1。因此,可以对每个样本引入一个 松弛变量 ξi0,使得 yi(wTxi+b)1ξi,同时 最小化 松弛变量 ξi 的取值。由此优化问题变为:

minw,b,ξ12||w||2+Ci=1Nξis.t. yi(wTx+b)1ξi, i=1,,Nξi0, i=1,,N

也就是 软间隔最大化 的表达式。

C>0 是一个预定义的常数,称为 惩罚系数C 值越大表明对误分类的惩罚越大。

C 越大,意味着要求更多样本以足够大的置信度被正确分类;C 越小(C0),意味着允许更多的样本被错误分类。

对于近似线性可分的数据集,绝大部分样本点对应的松弛变量 ξi=0,少部分异常点 ξi>0


3.3 对偶优化问题

  • 原始优化问题:

    minw,b,ξ12||w||2+Ci=1Nξis.t. yi(wTxi+b)1ξi, i=1,,Nξi0, i=1,,N

  • 推导出 对偶优化问题

    1. 定义拉格朗日函数,引入拉格朗日乘子 α0, β0

    L(w,b,ξ,α,β)=12||w||2+Ci=1Nξi+i=1Nαi(1ξiyi(wTxi+b))i=1Nβiξi

    1. 对偶优化目标函数:

    θD(α,β)=minw,b,ξL(w,b,ξ,α,β)

    L 关于 w,b,ξi 的偏导数分别为 0:

    wL(w,b,ξ,α,β)=0w=i=1Nαiyixi

    bL(w,b,ξ,α,β)=0i=1Nαiyi=0

    ξiL(w,b,ξ,α,β)=0C=αi+βi, i=1,,N

    带入拉格朗日函数 得:

    θD(α,β)=12(i=1Nαiyixi)T(i=1Nαiyixi)+Ci=1Nξi+i=1Nαii=1Nαiξi(i=1Nαiyixi)T(i=1Nαiyixi)bi=1Nαiyii=1Nβiξi

    整理得到:

    θD(α,β)=12i=1Nj=1NαiαjyiyjxiTxj+i=1Nαi

    (可以发现和线性SVM一样的表达式)

    由于 argmaxα,βθD(α,β) 等价于 argminα,βθD(α,β),故 SVM 的对偶优化问题为:

    minα12i=1Nj=1NαiαjyiyjxiTxji=1Nαis.t. αi0, βi0,  i=1,,Ni=1Nαiyi=0αi+βi=C,  i=1,,N

    去掉有关 β 的信息,由 Cαi=βi0,可以将对偶优化问题化简如下:

    minα12i=1Nj=1NαiαjyiyjxiTxji=1Nαis.t. 0αiC,  i=1,,Ni=1Nαiyi=0


  • 通过上述对偶问题求解出 α,由此构造出划分超平面的 wb

    α 带入得:

    w=i=1Nαiyixi

    i=1Nαiyi=0

    αi+βi=C, i=1,,N

    KKT 条件得到:

    • 对偶互补条件

      αi(1ξiyi(wTxi+b))=0, i=1,,N

      βiξi=0, i=1,,N

    • 原问题约束

      yi(wTxi+b)1ξi, i=1,,N

      ξi0, i=1,,N

    • 对偶约束

      i=1Nαiyi=0

      0αiC, i=1,,N


    根据上述条件可得:

    • αj>0,则 yj(wTxj+b)=1ξi

    • αj<C,则 βj>0,故 ξj=0

    故当 0<αj<C 时,有 yj(wTxj+b)=1

  • 综上,若 SVM 对偶问题得最优解为 α=(α1,,αN),则存在 0<αj<C,由此求得最优解:

w=i=1Nαiyixi

b=yji=1NαiyixiTxj

最后,得到划分超平面 wTx+b=0,分类决策函数为 f(x)=sign(wTx+b)


3.4 推论

  • αi=0,则 βi=Cξi=0yi(wTxi+b)1

    此时 αi 对应的 (xi,yi) 能以充分的置信度被正确分类。

  • 0<αi<C,则 yi(wTxi+b)=1

    对应的 (xi,yi) 是支持向量,在间隔边界上。

  • αi=C,则 βi=0ξi0

    • 0<ξi<1,则 yi(wTxi+b)1ξi>0,表明 可以被正确分类,但没有充分的置信度

    • ξi1,则 yi(wTxi+b)1ξi,1ξi0,此时对应的样本点被 错误分类


4. 核函数 SVM

4.1 问题描述

有时候问题本质上就线性不可分,原本的样本空间不存在一个可以正确划分两类样本的划分超平面。而需要一个超曲面才可以将样本分开。

对于 线性不可分 问题,可以将样本空间映射到一个 更高维度 的空间,使得样本在此特征空间内线性可分。(广义线性化)


4.2 对偶优化问题

将原始空间样本 xi 经过映射后变为 Φ(xi)

其对应的 对偶问题 为:

minα12i=1nj=1nαiαjyiyjΦ(xi)TΦ(xj)i=1nαis.t.i=1nαiyi=0,0αiC, i=1,...,N

综上,若 SVM 对偶问题得最优解为 α=(α1,,αN),则存在 0<αj<C,由此求得最优解:

w=i=1NαiyiΦ(xi)

b=yji=1NαiyiΦ(xi)TΦ(xj)

最后,得到划分超平面 wTΦ(x)+b=0,分类决策函数为 f(x)=sign(wTΦ(x)+b)

式中涉及到计算 Φ(xi)TΦ(xj),由于特征空间维数可能很高,计算往往会非常困难。

所以这里可以设想一个函数:

κ(xi,xj)=Φ(xi),Φ(xj)=Φ(xi)TΦ(xj)

xixj特征空间的内积等于它们在原始的样本空间中通过 函数 κ 计算得出的结果。这就避免了高维度的计算,也就是采用了 核技巧

由此 对偶问题 可以重写为:

minα12i=1nj=1nαiαjyiyjκ(xi,xj)i=1nαis.t.i=1nαiyi=0,0αiC, i=1,...,N

由此求得最优解:

w=i=1NαiyiΦ(xi)

b=yji=1Nαiyiκ(xi,xj)

分类决策函数为:

f(x)=sign(wTΦ(x)+b)=sign(i=1Nαiyiκ(xi,x)+b)


4.3 常用核函数

然而一般情况下,我们不知道 Φ 的具体形式。我们有如下定理:

χ 为输入空间,κ 为定义在 χ×χ 的对称函数,则 κ核函数 当且仅当 对于任意数据 D={x1,x2,...,xn}核矩阵 (kernel matrix) K 总是半正定的:

K=[κ(x1,x1)κ(x1,xn)κ(xn,x1)κ(xn,xn)]

只要一个对称函数对应的核矩阵半正定,其可作为 核函数 使用。

常用核函数:

  • 线性核函数

κ(xi,xj)=xiTxj

  • 多项式核函数

κ(xi,xj)=(xiTxj)d,d1

  • 高斯核函数(也称径向基RBF函数)

κ(xi,xj)=exp(||xixj||222σ2),σ>0

  • 拉普拉斯核函数*

κ(xi,xj)=exp(||xixj||1σ),σ>0

  • sigmoid 核函数*

κ(xi,xj)=tanh(βxiTxj+θ),β>0,θ>0

上述的核函数,也可以通过线性组合等方式,组成新的核函数。

posted @   MarisaMagic  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示