西瓜书学习笔记6-SVM

chapter 6 支持向量机

6.1 间隔与支持向量

分类学习的基本思想就是在样本空间中找到一个划分超平面,将不同类别的样本分开。
这个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强。
西瓜书学习笔记6-SVM_第1张图片
w为法向量,决定了超平面的方向,b为位移项,决定了超平面与原点的距离。
样本空间中任一点到超平面的距离为:
在这里插入图片描述
西瓜书学习笔记6-SVM_第2张图片
注意:使等号成立,等号成立时最近样本离超平面的距离就是1/|w|

间隔:两个异类支持向量到超平面的距离之和
支持向量:距离超平面最近的几个训练样本点
西瓜书学习笔记6-SVM_第3张图片
欲找到具有最大间隔的划分超平面,也就是找到满足max(间隔)的超平面参数w和b。求取w的最小值。
西瓜书学习笔记6-SVM_第4张图片

6.2 对偶问题

式6.6本身是一个凸二次规划问题,能直接用现成的优化计算包求解,但有更高效的算法。
西瓜书学习笔记6-SVM_第5张图片
对6.6使用拉格朗日乘子法可得到其“对偶问题”,对6.6的约束项(s.t.)添加拉格朗日乘子αi>=0,则该问题的拉格朗日函数可写为:
在这里插入图片描述
令L对w和b的偏导为0:
西瓜书学习笔记6-SVM_第6张图片
将式6.9带入6.8,即可将L中的w和b消去,再考虑6.10的约束,就得到式6.6的对偶问题
西瓜书学习笔记6-SVM_第7张图片
西瓜书学习笔记6-SVM_第8张图片
西瓜书学习笔记6-SVM_第9张图片
从6.11解出的αi是式6.8中的拉格朗日乘子,它对应着训练样本(xi,yi),注意到式6.6中有不等式约束,因此上述过程需满足KKT条件,即要求:
西瓜书学习笔记6-SVM_第10张图片

式6.11的求解是一个二次规划问题,可使用通用的二次规划算法来求解。但该问题的规模正比于训练样本数,这会造成很大的开销。为了解决这一问题,人们提出很多高效算法,如SMO
步骤是:1、选取一对需要更新的变量αi和αj 2、固定αi和αj以外的参数,求解6.11获得更新后的αi和αj。
只要选取的αi和αj中有一个不满足KKT条件,目标函数就会在迭代后缩小。违背KKT条件的程度越大,目标函数减幅越大,SMO选取的两个样本的间隔最大,直观上看就是样本间的差异最大,这样的更新会对目标函数 产生更大的变化。
SMO算法高效的原因在于固定其它参数后,仅优化两个参数的过程能做到非常高效

6.3 核函数

前面的讨论假设样本是线性可分的,然而现实任务中,原始样本可能并不存在超平面能正确划分,例如异或问题:
西瓜书学习笔记6-SVM_第11张图片
此时需要将原始样本映射到更高维的特征空间,使得样本在这个空间内线性可分。如果原始空间是有限维,那么一定存在一个高维特征空间使样本可分
通过选择合适的核函数,来使得高维特征空间线性可分:
西瓜书学习笔记6-SVM_第12张图片

6.4 软间隔与正则化

在现实任务中,往往很难确定合适的核函数使得训练样本在特征空间中线性可分,即使找到了某个核函数,也不能确认这个结果是不是由过拟合造成的。
缓解该问题的一个办法是允许向量机在一些样本上出错,为此引入“软间隔”的概念:
西瓜书学习笔记6-SVM_第13张图片
前面介绍的支持向量机格式要求所有样本均满足约束6.3:
西瓜书学习笔记6-SVM_第14张图片
这称为硬间隔。软间隔允许某些样本不满足约束:
在这里插入图片描述
不满足约束的样本应尽可能少,于是优化目标变为:
在这里插入图片描述
西瓜书学习笔记6-SVM_第15张图片
(之前的优化目标和限制条件如下,这里不再有这个限制条件)
西瓜书学习笔记6-SVM_第16张图片

由于0/1损失函数非凸,6.29不易求解,于是人们用其它函数替代01函数,称为“替代损失”。三种替代损失:
西瓜书学习笔记6-SVM_第17张图片
西瓜书学习笔记6-SVM_第18张图片
使用这些替代损失函数的支持向量机称为“软间隔支持向量机”。
它们也会产生相应的对偶问题
西瓜书学习笔记6-SVM_第19张图片
对比6.11
西瓜书学习笔记6-SVM_第20张图片
唯一区别是对偶变量的约束不同。
软间隔的最终模型仅与支持向量有关,即通过采用hinge损失函数仍保持了稀疏性。

将优化函数表示为更一般的形式:
西瓜书学习笔记6-SVM_第21张图片
第一项称为“结构风险”,描述模型f的某些性质,第二项称为“经验风险”,用于描述模型与训练数据的契合程度;C用于对二者进行折中(相当于正则化项的λ)。

5.6 支持向量回归

给定训练样本D,希望学得一个fx,使得fx与y尽可能接近,w和b是待确定的模型参数。
传统的回归模型是基于fx和y之间的差别来计算损失,当且仅当fx与y完全相同,损失才为零。
而SVR容忍fx与y之间最多有α的偏差,当偏差大于α时,才计算损失,这相当于以fx为中心,构建一个宽度为2α的间隔带,若训练样本落入此间隔带,则认为是分类正确的。
西瓜书学习笔记6-SVM_第22张图片
西瓜书学习笔记6-SVM_第23张图片
然后和上面几个类似,引入松弛变量:
西瓜书学习笔记6-SVM_第24张图片
西瓜书学习笔记6-SVM_第25张图片
引入拉格朗日乘子,得到拉格朗日函数:
西瓜书学习笔记6-SVM_第26张图片
令偏导为零,得到SVR的对偶问题。
上述过程需要满足KKT条件。最终利用核函数求得fx。

6.6核方法

给定训练样本,若不考虑偏移项b,则无论SVM还是SVR,学得的模型总能表示成核函数的线性组合
通过“核化”(引入核函数),来将线性学习器拓展为非线性学习器。

你可能感兴趣的:(西瓜书)