【周志华机器学习】支持向量机

第六章 支持向量机

  • 间隔与支持向量
  • 对偶问题
  • 核函数
  • 软间隔与正则化
  • 支持向量回归

间隔与支持向量

分类学习最基本的想法就是基于训练集在样本空间中找到一个划分超平面,将不同类别的样本分开。但能将训练样本分开的划分超平面可能有很多,应该找哪一个呢?

最直观的应该找正中间的超平面,它容忍度最高,鲁棒性最强。

在样本空间中,划分超平面可以通过如下方程式来描述:

其中,W为法向量,决定超平面的方向。b为位移项,决定了超平面与原点的距离。样本空间中任意点X到超平面的距离可写为:
在这里插入图片描述
【周志华机器学习】支持向量机_第1张图片
距离超平面最近的这几个训练样本使得(6.3)成立,他们被称为支持向量,两个异类支持向量到超平面的距离之和被称为间隔
在这里插入图片描述
【周志华机器学习】支持向量机_第2张图片
欲找到最大间隔的超平面,也就是最大化
在这里插入图片描述
这就是支持向量机SVM的基本型。
在这里插入图片描述

对偶问题

因此问题的关键在于求解上述式子。此问题本身是一个凸二次规划问题,能直接用现成的优化计算包求解,但有更高效的办法。

对式子使用拉格朗日乘子法可得到其对偶问题
在这里插入图片描述
求解出a后,求出w与b即可得到模型:
【周志华机器学习】支持向量机_第3张图片
上述过程还需满足KKT条件:
【周志华机器学习】支持向量机_第4张图片
于是,对任意训练样本总有a=0或yf(x)=1。若a=0,则该样本不会对f(x)有影响。若a>0,所对应样本位于最大间隔边界,是一个支持向量。
因此,训练完成后,大部分训练样本都不需要保留,最终模型仅与支持向量有关。

求解a的一个高效算法是SMO。他的思路是先固定除a之外的所有参数,然后求a上的极值。由于存在约束在这里插入图片描述
,若固定a之外的其他变量,则a可由其他变量导出。于是, SMO 每次选择两个变量ai和ai,并固定其他参数.这样,在参数初始化
后, SMO不断执行如下两个步骤直至收敛:

1、选取一对需要更新的变量ai和aj。
2、固定其他参数,求解ai和aj。

核函数

在本章前面的讨论中,我们假设训练样本是线性可分的,即存在一个划超平面将训练样本正确分。然而在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面
对于这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分
若原始空间是有限维,那么一定存在一个高维特征空间使得样本可分。
【周志华机器学习】支持向量机_第5张图片
【周志华机器学习】支持向量机_第6张图片
这里的k()就是核函数。式6.24显示出模型的最优解可通过训练样本的核函数展开,这一展式亦称为支持向量展式

软间隔与正则化

在前面的讨论中,我们一直假定训练样本在样本空间或特征空间中是线性可分的。即存在一个超平面能将不同类的样本完全划分开 ,在现实任务往往很难确定合适的核函数使得训练样本在特征空间中线性可分;退一步说即使恰好找到了某个核函数使 练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合所造成的。

缓解该问题的一个办法是允许支持向量机在一些样本上出错,为此要引入软间隔
【周志华机器学习】支持向量机_第7张图片
软间隔允许某些样本不满足约束:
在这里插入图片描述
在最大化间隔的同时,不满足约束的样本应尽可能少,于是优化目标写为:
【周志华机器学习】支持向量机_第8张图片
这就是常用的软间隔支持向量机

支持向量回归

传统回归是直接计算模型输出与真实输出之间的差别来计算损失。**支持向量回归(SVR)**假设我们能容忍两者之前有e的偏差,即他们之间偏差大于e才计算损失。若样本落入隔离带,则认为预测正确。
【周志华机器学习】支持向量机_第9张图片

你可能感兴趣的:(周志华机器学习,机器学习,支持向量机,人工智能)