6.1 间隔与支持向量
在样本空间中划分超平面的线性方程:(*)
其中w = (w1;w2;w3;w4;...;wd)为法向量,决定超平面的方向,b是位移项,决定了超平面与原点之间的距离。
可以用(w,b)来表示样本空间中的一个超平面。
样本空间中任一点到超平面的距离:
令y表示分类结果的正确与否。
若,则表示分类正确。y = 1
若,则表示分类错误。y = -1
不妨设当*>=1时,结果正确。*<=-1,结果错误。
则距离超平面最近的几个点使得上式的等号成立,我们称之为【支持向量】
两个异类支持向量到超平面的距离之和为 它就是【间隔】
为了最大化间隔,可以令尽可能的小。支持向量机的基本型?
6.2 对偶问题
主要是为了最大化间隔,为了求解式子
这是一个凸二次规划问题,使用拉格朗日乘子法。可以得到它的“对偶问题”。
列出拉格朗日函数,然后求偏导,得到对偶式,解方程,解出,后面还涉及到二次规划问题,SMO算法,KKT条件又用了一系列的方法去求解等式里面的w,b。
6.3 核函数
在实际问题中,训练样本大概率不是线性可分的。对于这样的问题,可以将样本空间映射到一个更高维的特征空间。使得样本在这个特征空间内线性可分。比如将原来属于二维平面的样本空间,映射到三维空间,它也许就可以实现线性可分了。
若原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使得样本可分。
令 表示将x映射后的特征向量。那么在特征空间中划分超平面所对应的模型变为
之后的计算,求参数过程与之前大同小异。但是涉及到一个问题:由于特征空间的维数可能很高,甚至可能是无穷维,因此直接计算通常是困难的,为了避开这个障碍,可以设想这样一个函数:
即xi与xj在特征空间的内积等于它们在原始样本空间中通过函数计算的结果。这样就不用再去计算高维特征空间的内积。此处的就是核函数。
任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”的特征空间。
“核函数选择是支持向量机的最大变数”
核函数的线性组合、直积、函数还是核函数。
6.4 软间隔与正则化
现实任务中往往很难找到合适的核函数使训练集在特征空间中线性可分,即使找到了也可能是过拟合造成的。缓解该问题的方法:引入“软间隔”概念,允许支持向量机在一些样本上出错。
软间隔:支持向量机的形式允许某些样本不满足约束
硬间隔:支持向量机的形式要求所有样本均满足约束。
使用软间隔的话,优化目标的模型需要在原有基础上加一个损失函数。这个损失函数是0/1损失函数,它的数学性质不好,不利于研究。因此我们通常会做一个替代。常用如下三种函数:
这就是常用的软间隔支持向量机。
在此基础上引入“松弛变量”,每个样本都对应一个松弛变量,用以表征该样本不满足约束的程度。
接下来的处理与之前类似,是一个二次规划的问题。需要用到拉格朗日乘子法。转换成为一个对偶问题。
6.5 支持向量回归(SVR)
传统回归模型通常基于模型输出与真实值之间的差值来计算损失而SVR假设我们能容忍f(x)与y之间最多存在的偏差。也就是说只有当f(x)与y之间的差距大于时才去计算损失。
6.6 核方法
参考文献
周志华《机器学习》
谢文睿《机器学习公式详解》
哔哩哔哩吃瓜教程