《机器学习》阅读心得——六、支持向量机

来源:互联网 发布:凯云水利软件 编辑:程序博客网 时间:2024/05/17 00:16

      • 六支持向量机
        • 1 间隔与支持向量
        • 2 核函数
        • 3 软间隔与正则化
        • 4 支持向量回归

六、支持向量机

6.1 间隔与支持向量

  给定训练样本集D={(x1,y1),(x2,y2),...,(xm,ym)},分类学习的思路是在样本空间中找到一个划分超平面,将不同类别的样本分开。在样本空间中,划分超平面可通过以下方程来描述:

ωTx+b=0(6.1)

  其中ω=(ω1;ω2;...;ωd)为法向量。样本空间中任一点x到超平面的距离可写为
r=|ωTx+b|||ω||(6.2)

  假定超平面可以将样本正确分类,即对于(xi,yi)D,若yi=+1,则有ωTx+b>0;若有yi=1,则有ωTx+b<0。令
{ωTxi+b+1,ωTxi+b1,yi=+1yi=1(6.3)

  如下图所示,距离超平面最近的这些训练样本使得上式的等号成立,它们被称为“支持向量”。两个异类支持向量到超平面的距离之和为
γ=2||ω||(6.4)

  它被称为“间隔”。




                        支持向量与间隔
  要找到具有最大间隔的超平面,需要找到符合条件的ωb使得γ最大。经简单转换我们可以得到支持向量机的基本公式
{min12||ω||2s.t.yi(ωTxi+b)1(6.5)

  当使用拉格朗日乘子法对式(6.5)进行求解后,可以得到式(6.5)的对偶问题如下:

{maxmi=1αi12mi=1mj=1αiαjyiyjxTixjs.t.mi=1αiyi=0(6.6)

  其中αi是拉格朗日乘子。
  解出式(6.6)可以得出支持向量机的重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关

6.2 核函数

  当训练样本不是线性可分的,如“异或”问题,可将样本从当前空间映射到一个更高维的特征空间,使得样本在这个空间中线性可分。如果原始空间是有限维,那么一定存在一个合适的高维特征空间使得样本可分。
  令ϕ(x)表示将x映射后的特征向量,在特征空间中划分超平面的模型可表示为

f(x)=ωTϕ(x)+b(6.7)

  类似式(6.5),可以得到
{min12||ω||2s.t.yi(ωTϕ(xi)+b)1(6.8)

  该式的对偶问题是
{maxmi=1αi12mi=1mj=1αiαjyiyjϕ(xi)Tϕ(xj)s.t.mi=1αiyi=0(6.9)

  由于高维空间的维度可能很大,直接计算ϕ(xi)Tϕ(xj)通常是困难的。为了避开这个问题,可以设想这样一个函数
κ(xi,xj)=ϕ(xi)Tϕ(xj)(6.10)

  由此,式(6.9)可以进行简化,进行求解后可以得到
f(x)=ωTϕ(x)+b=mi=1αiyiϕ(xi)Tϕ(xj)+b=mi=1αiyiκ(xi,yi)+b(6.11)

  该式显示模型最优解可以通过训练样本的核函数展开,这个式子也被称为“支持向量展式”。只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。核函数的选择对于支持向量机的性能非常重要,如果核函数选择不合适,很可能导致支持向量机性能不佳。

6.3 软间隔与正则化

  在现实任务中,往往很难确定合适的核函数使得训练样本在特征空间中线性可分,退一步说,即使找到了核函数使得训练集线性可分,也很难断定这个结果是不是由于过拟合造成的。
  缓解该问题的一个方法是允许支持向量机在一些样本上出错,即允许一部分样本不满足约束

yi(ωTxi+b)1(6.12)

  在最大化间隔的同时,不满足约束的样本应当尽可能少,所以优化目标可以写为
min12||ω2||+Ci=1mL0/1(yi(ωTxi+b)1)(6.13)

  其中C>0是一个常数,L0/1是“0/1损失函数”
L0/1(z)={1,0,ifz<0otherwise(6.14)

  由于L0/1(z)非凸,非连续,使得式(6.14)不容易直接求解,所以通常使用其他一些函数代替L0/1(z),称为“替代损失”。以下是三种替代损失函数
Lhinge(z)Lexp(z)Llog(z)=max(0,1z)=ez=log(1+ez)

  当我们采用hinge函数进行求解后可知,此时软间隔向量机的最终模型仅与支持向量有关,即仍保持了稀疏性。一般地,当我们用别的函数替换0/1损失函数时,可以得到一个通用的目标公式
minΩ(f)+Ci=1mL(f(xi),yi)(6.15)

  其中Ω(f)称为“结构风险”,用来描述划分超平面的“间隔”大小。第二项称为“经验风险”,描述训练集的误差。

6.4 支持向量回归

  给定训练样本D={(x1,y1),(x2,y2),...(xm,ym)}。对样本(x,y),支持向量回归(SVR)能够容忍f(x)与y之间最多有ε的偏差,即仅当f(x)与y之间的差别绝对值大于ε时才计算损失。这相当于以f(x)为中心,构建一个宽度为2ε的隔离带。若样本落入此隔离带内,则被认为是预测正确的。


隔离带

  于是,SVR问题可化为
min12||ω||2+Ci=1mLε(f(xi)yi)(6.16)

  其中C为正则化常数,Lεε-不敏感损失函数
Lε(z)={0,|z|ε,if|z|εotherwise(6.17)

  引入拉格朗日乘子法可解得SVR的支持向量是落在ε隔离带之外的样本,因此它的解具有稀疏性。SVR可表示为
f(x)=i=1m(αi^αi)κ(xxi)+b(6.18)

  其中κ(xi,xj)=ϕ(xi)Tϕ(xj)为核函数。