机器学习——第六章 支持向量机

1 间隔与支持向量

分类学习最基本想法是基于训练集在样本你空间中找到一个划分超平面。
在样本空间中,划分超平面可以通过如下线性方程来描述:
w T x + b = 0 w^Tx+b=0 wTx+b=0
其中 w = ( w 1 , w 2 , . . . . w d ) w=(w_1,w_2,....w_d) w=(w1,w2,....wd)为法向量,b为位移项。

样本空间中任意点x道超平面 ( w , b ) (w,b) (w,b)的距离可以写为
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=∣∣w∣∣wTx+b.

距离超平面最佳的几个训练点使 w T x i + b = + ( − 1 ) w^Tx_i+b=+(-1) wTxi+b=+(1)成立,这几个训练点就称为支持向量,两个异类支持向量道超平面的距离之和为:
γ = 2 ∣ ∣ w ∣ ∣ \gamma=\frac{2}{||w||} γ=∣∣w∣∣2
这个距离被称为间隔。

找到具有最大间隔的划分超平面,就是找到约束下的参数w和b,使得 γ \gamma γ最大,即
m a x 2 ∣ ∣ w ∣ ∣ max\frac{2}{||w||} max∣∣w∣∣2
s . t . y i ( w T x i + b ) ≥ 1 s.t. y_i(w^Tx_i+b)\ge1 s.t.yi(wTxi+b)1

也可以写为
m i n ∣ ∣ w ∣ ∣ 2 2 min\frac{||w||^2}{2} min2∣∣w2
s . t . y i ( w T x i + b ) ≥ 1 s.t. y_i(w^Tx_i+b)\ge1 s.t.yi(wTxi+b)1

2 对偶问题

可以使用拉格朗日乘子发得到对偶问题
该问题的拉格朗日函数可以写为:
在这里插入图片描述
令L(w,b,a)对w和b的偏导为零得到
在这里插入图片描述
回带到L(w,b,a)中消去w和b,得到对偶问题
在这里插入图片描述
在这里插入图片描述
解出a后,求出w和b得到最终模型
在这里插入图片描述
注意,上述过程需要满足KKT条件,即

在这里插入图片描述
对于如何求解对偶问题,这是一个二次规划问题,可使用通用的二次规划算法来求解;然而,该问题的规模正比于训练样本数,这会在实际任务中造成很大的开销。因此,提出了SMO算法
基本思路先固定 a i a_i ai之外的所有参数,然后求 a i a_i ai上的极值。
步骤如下:
1.选取一对需要更新的变量 a i 和 a j a_i和a_j aiaj
2.固定 a i 和 a j a_i和a_j aiaj以外的参数,求解获得更新后的 a i 和 a j a_i和a_j aiaj
以上步骤不断执行直到收敛。

3 核函数

由于在现实任务中,原始样本空间内可能并不存在一个能正确划分两类样本的超平面。
对于这个问题,可以将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
在这里插入图片描述
ϕ ( x ) \phi(x) ϕ(x)表示将x映射后的特征向量,则模型表示为:
在这里插入图片描述
求解涉及到计算 ϕ ( x i ) T ϕ ( x i ) \phi(x_i)^T\phi(x_i) ϕ(xi)Tϕ(xi),由于特征空间维数可能很高,直接计算 ϕ ( x i ) T ϕ ( x i ) \phi(x_i)^T\phi(x_i) ϕ(xi)Tϕ(xi)会很困难,可以设想这样一个函数
κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x i ) \kappa (x_i,x_j)=\phi(x_i)^T\phi(x_i) κ(xi,xj)=ϕ(xi)Tϕ(xi),
有了这样的函数,就不必直接去计算高位甚至无穷维特征空间中的内积,最后求解得到:
在这里插入图片描述
κ ( . , . ) \kappa(.,.) κ(.,.)就是核函数,现实中通常不知道 ϕ ( . ) \phi(.) ϕ(.)的形式,所有相应核函数也不知道了。
如果函数符合下列定理,则可以作为核函数
定理:令 χ \chi χ为输入空间 κ ( ⋅ , ⋅ ) κ(·,·) κ(⋅,⋅)是定义在 χ ∗ χ \chi *\chi χχ上的对称函数,则 κ κ κ是核函数当且仅当对于任意数据 D = x 1 , x 2 , … . . , x m D={x_1,x_2,…..,x_m} D=x1,x2,..,xm,“核矩阵”(kernel matrix)K 总是半正定的。
只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用.事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射φ.换言之,任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”的特征空间。

常用核函数如下:
在这里插入图片描述

4 软间隔与正则化

硬间隔:所有样本都必须划分正确。
软间隔:允许某些样本不满足约束, y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\ge1 yi(wTxi+b)1
优化目标写为:在这里插入图片描述
其中C>0是一个常数, l 0 / 1 l_{0/1} l0/1是0/1损失函数。
在这里插入图片描述
该损失函数的非凸,非连续,数学性质不好,通常用其他一些函数来代替该损失函数,称为替代损失。如下三种常用替代损失函数:
hinge 损失: ℓ hinge  ( z ) = max ⁡ ( 0 , 1 − z ) \ell_{\text {hinge }}(z)=\max (0,1-z) hinge (z)=max(0,1z) ;
指数损失(exponential loss): ℓ exp ⁡ ( z ) = exp ⁡ ( − z ) \ell \exp (z)=\exp (-z) exp(z)=exp(z) ;
对率损失(logistic loss): ℓ l o g ( z ) = log ⁡ ( 1 + exp ⁡ ( − z ) ) \ell log (z)=\log (1+\exp (-z)) log(z)=log(1+exp(z))
在这里插入图片描述
软硬间隔下的对偶问题唯一的差别就在于对偶变量的约束不同,软间隔是 0 ≤ a i ≤ C 0\le a_i\le C 0aiC,硬间隔是 0 ≤ a i 0\le a_i 0ai。软间隔支持向量机的最终模型仅与支持向量有关,即通过采用 hinge 损失函数仍保持了稀疏性。

5 支持向量回归

给定训练样本D,希望学得一个形如 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b的回归模型,使得 f ( x ) f(x) f(x)与y尽可能接近。
支持向量回归(SVR)假设能容忍 f ( x ) 与 y f(x)与y f(x)y之间最多有 ϵ \epsilon ϵ的偏差,即仅当 f ( x ) 与 y f(x)与y f(x)y之间的差别绝对值大于 ϵ \epsilon ϵ才计算损失。
在这里插入图片描述
SVR问题形式化为
在这里插入图片描述
在这里插入图片描述
引入松弛变量后得到SVR的对偶问题
在这里插入图片描述
上述过程满足KKT条件,要求
在这里插入图片描述
SVR最终可表示为:
在这里插入图片描述

6 核方法

若不考虑偏移项b,SVM和SVR学得的模型总能表示为核函数的线性组合。
表示定理:令H为核函数 k k k对应的再生核希尔伯特空间, ∣ ∣ h ∣ ∣ H ||h||_H ∣∣hH表示H空间中关于h的范数,对于任意单调递增函数 Ω : [ 0 , + ∞ ] ⟼ R 和任意非损失函数 l : R m ⟼ [ 0 , + ∞ ] ,优化问题 \Omega:[0,+\infty]\longmapsto R和任意非损失函数l:R^m\longmapsto [0,+\infty],优化问题 Ω[0,+]R和任意非损失函数lRm[0,+],优化问题
在这里插入图片描述
的解可写为
在这里插入图片描述
该定理对损失函数没有限制,对正则化 Ω \Omega Ω仅要求单调递增。
核方法中最常见的是通过核化来将线性学习器拓展为非线性学习器。
核线性判别分析(KLDA)的学习目标是
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值