【吃瓜教程】第六章 支持向量机

第六章 支持向量机

6.1 间隔与支持向量

支持向量机是一种分类学习的思想,想象在一个平面上分布着一些样本,我们划一条线,就能将不同的样本分开
在这里插入图片描述

上面只是对于部分数据而言,划出的一些能够将他们分开的线,但是对于一些线来讲,可能不能很好的划分新的数据,所以我们要计算这个线应该如何去划分。得到一条最好的线,称之为超平面

假设这条线形式如下 w T x + b = 0 w^Tx+b=0 wTx+b=0
那么任意点到该线的距离为 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=∣∣w∣∣wTx+b
单拿上图的纵坐标 x 2 x_2 x2,横坐标 x 1 x_1 x1,可以视作一条数据的两个特征,两个特征可以在坐标轴上表示出一个点来,我们用下面的公式来表示
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ + 1 , y i = − 1 \begin{cases} w^Tx_i+b\geq+1,y_i=+1\\ w^Tx_i+b\leq+1,y_i=-1\\ \end{cases} {wTxi+b+1,yi=+1wTxi+b+1,yi=1
为何 y i y_i yi是正负1呢?

因为对于上面这个任务来讲,就是一个二分类任务, y i y_i yi的意义只是标签,不代表其他数值,所以对于上面这个方程组来讲,你不觉得它更像是一个决策树的结点吗, w T x i + b ≥ + 1 w^Tx_i+b\geq+1 wTxi+b+1的数据,让其标签 y i = + 1 y_i=+1 yi=+1,反之则是 , y i = − 1 ,y_i=-1 ,yi=1,至于中间 − 1 ∼ + 1 -1\sim+1 1+1的点,下面来解释

我们知道根据上面的方程组,离超平面最近的平行线到超平面的距离应当是
1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1
我们称之为支持向量

计算涉及到高中知识,也就是计算两条平行线之间的距离( w T x i + b = 1 w^Tx_i+b=1 wTxi+b=1 w T x i + b = 0 w^Tx_i+b=0 wTxi+b=0的距离)

那么两侧距离加起来就是间隔的距离,是上面的两倍 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2

显然这两条支持向量到超平面的距离应该是相等的,并且间隔距离要最大化,这延伸为一个优化问题
m i n 1 2 ∣ ∣ w ∣ ∣ 2 min \frac{1}{2}||w||^2 min21∣∣w2
s . t . y i ( w T x i + b ) ≥ 1. i = 1 , 2... s.t. y_i(w^Tx_i+b)\geq1.i=1,2... s.t.yi(wTxi+b)1.i=1,2...

6.2 对偶问题

使用拉格朗日乘子法来得到优化问题的对偶问题,求解对偶问题来得到原问题的解。

具体就是,对上面这个优化问题函数添加拉格朗日乘子 α i ≥ 0 \alpha_i\geq 0 αi0,那么拉格朗日问题就可以表示如下 L ( w , b , α ) = 1 2 ∣ ∣ α ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(w,b,\alpha) = \frac{1}{2}||\alpha||^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)) L(w,b,α)=21∣∣α2+i=1mαi(1yi(wTxi+b))
w w w b b b求偏导得 w = ∑ i = 1 m α i y i x i w=\sum_{i=1}^m\alpha_iy_ix_i w=i=1mαiyixi
0 = ∑ i = 1 m α i y i 0=\sum_{i=1}^m\alpha_iy_i 0=i=1mαiyi
代入解出 α \alpha α,求出 w 、 b w、b wb即可得到模型

著名算法有SMO,通过固定其他参数后,仅仅优化两个参数,来减小计算量,使得算法高效

6.3 核函数

上面讨论的问题是线性可分的,然而现实问题中大多都不是线性可分,可以将远始样本映射到更高维的空间,进而可以进行分类,比如二维的点映射到三维
在这里插入图片描述

如果样本属性有限,那么一定存在一个高维特征空间使得样本可分

首先来一个映射 ϕ ( x ) \phi(x) ϕ(x)将x映射到高维,那么高维空间中的超平面可表示如下 f ( x ) = w T ϕ ( x ) + b f(x)=w^T\phi(x)+b f(x)=wTϕ(x)+b
类似低维的优化问题一样,只是把 x x x变为 ϕ ( x ) \phi(x) ϕ(x),这样最后得到优化问题的对偶问题
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α 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}^m\alpha_i\alpha_jy_iy_j\phi(x_i)^T\phi(x_j) αmaxi=1mαi21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)
s . t . ∑ i = 1 m α i y i = 0 s.t.\sum_{i=1}^m\alpha_iy_i=0 s.t.i=1mαiyi=0
上面这个式子涉及到高维特征空间的内积运算,由于维数可能很高,所以计算很难,因此引入了核函数,这个函数使得 ϕ ( x i ) T ϕ ( x j ) \phi(x_i)^T\phi(x_j) ϕ(xi)Tϕ(xj)变为 k ( x i , x j ) k(x_i,x_j) k(xi,xj),也就是说不用先去计算高维空间的特征函数了

满足什么要求才是核函数?

一个对称函数所对应的核矩阵半正定

什么样的核函数是适合的?

并不知道,我们需要为svm去选择合适当前任务的核函数

常用核函数

  • 线性核
  • 多项式核
  • 高斯核
  • 拉普拉斯核
  • Sigmoid核

同时核函数之间的线性组合、直积,与普通函数的乘积也都是核函数

6.4 软间隔

前面我们说一定存在一个超平面可以将数据完全分类,但是那是在拥有合适核函数的情况下,有时候我们可能找不到这样的核函数,而且即使偶然分对了,那只是训练集,我们也没有办法判断它是否过拟合

缓解这些问题的一个办法是允许一些样本出错,为此提出软间隔
在这里插入图片描述

也就是所,我们不一定要全部分类成功,只要正确率在一定范围就足够好了,也就是局部最优

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值