6.1 间隔与支持向量
- 分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面。
- 划分超平面的线性方程:
为法向量,决定了超平面的方向。b为位移项,决定了超平面与原点之间的距离。
- 样本空间中任意点x到超平面(w,b)的距离可写为:
- 距离超平面最近的训练样本点使(6.3)成立,它们被称为“支持向量(support vector)”,连个异类支持向量到超平面的距离之和为:
,称之为“间隔(margin)”。
- 支持向量机的目的是找到具有最大间隔的划分超平面,
等价于,
这就是支持向量机(Support Vector Machine ,SVM)的基本型。
6.2 对偶问题
- 求解SVM的最优解w、b值,可以转化为对偶问题,使用拉格朗日乘子法可得到“对偶问题”:
上述过程需满足KKT条件,即要求:
- 支持向量机重要性质:模型最终结果只与支持向量有关,大部分训练样本都不需要保留。
- 求解对偶问题的算法,著名的代表算法SMO:
6.3 核函数
- 对于非线性可分的数据,需要将数据映射到更高维度的空间内,从而找到线性可分的超平面。
- 核函数可以将样本从原始空间映射到一个更高维的特征空间,任意一个核函数都隐式地定义了一个称为“再生核希尔波特空间”的特征空间。
6.4 软间隔与正则化
为了防止过拟合,允许支持向量机在一些样本上出错,引入软间隔
优化目标为:
C用来调节损失的权重,显然当C→+oo时,会迫使所有样本的损失为0,进而退化为严格执行的约束条件,退化为硬间隔,因此,本式子可以看作支持向量机的一般化形式。总之,C越大,表示第二项影响值越小,样本犯错很难,C越小,表示第二项影响值越大,更容易允许样本犯错。
这就是常用的“软间隔支持向量机”
6.5 支持向量回归
对样本(x, y),传统回归模型通常直接基于模型输出f(x)与真实输出y之间的差别来计算损失,当且仅当f(x)与y 完全相同时,损失才为零.
与此不同,支持向量回归(Support Vector Regression,简称SVR)假设我们能容忍f(x)与y之间最多有的偏差,即仅当f(x)与y之间的差别绝对值大于时才计算损失.如图6.6所示,这相当于以f(x)为中心,构建了一个宽度为2的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.
于是,SVR问题可形式化为