机器学习笔记04——支持向量机

支持向量机是一种二分类算法,通过在高维空间中构造超平面实现对样本的分类。最简单的情形是训练数据线性可分的情况,此时的支持向量机就被弱化为线性可分支持向量机,这可以视为广义支持向量机的一种特例。

线性可分的数据集可以简化为二维平面上的点集。在平面直角坐标系中,如果有若干个点全部位于 x 轴上方,另外若干个点全部位于 x 轴下方,这两个点集就共同构成了一个线性可分的训练数据集,而 x 轴就是将它们区分开来的一维超平面,也就是直线。就好比是一刀切开两堆芝麻。

如果在上面的例子上做进一步的假设,假定 x 轴上方的点全部位于直线 y=1 上及其上方,x 轴下方的点全部位于直线 y=−2 上及其下方。如此一来,任何平行于 x 轴且在 (-2, 1) 之间的直线都可以将这个训练集分开。那么问题来了:在这么多划分超平面中,哪一个是最好的呢?

直观看来,最好的分界线应该是直线 y=−0.5,因为这条分界线正好位于两个边界的中间,与两个类别的间隔可以同时达到最大。当训练集中的数据因噪声干扰而移动时,这个最优划分超平面的划分精确度所受的影响最小,因而具有最强的泛化能力。在高维的特征空间上,划分超平面可以用简单的线性方程描述
在这里插入图片描述
式中的 n 维向量 w 为法向量,决定了超平面的方向;b 为截距,决定了超平面和高维空间中原点的距离。划分超平面将特征空间分为两个部分。位于法向量所指向一侧的数据被划分为正类,其分类标记 y=+1;位于另一侧的数据被划分为负类,其分类标记 y=−1。

线性可分支持向量机就是在给定训练数据集的条件下,根据间隔最大化学习最优的划分超平面的过程。给定超平面后,特征空间中的样本点 xi​ 到超平面的距离可以表示为
在这里插入图片描述
显然,这个距离是个归一化的距离,因而被称为几何间隔。结合前文的描述,通过合理设置参数 w 和 b,可以使每个样本点到最优划分超平面的距离都不小于 -1,即满足以下关系
在这里插入图片描述
需要注意的是,式中的距离是非归一化的距离,被称为函数间隔。函数间隔和几何间隔的区别就在于未归一化和归一化的区别。

在特征空间中,距离划分超平面最近的样本点能让上式取得等号,这些样本被称为“支持向量”,两个异类支持向量到超平面的距离之和为 2/∣∣w∣∣。因而对于线性可分支持向量机来说,其任务就是在满足上面不等式的条件下,寻找 2/∣∣w∣∣ 的最大值。由于最大化 ∣∣w∣∣−1 等效于最小化 ∣∣w∣∣2,因而上述问题可以改写为求解 21​∣∣w∣∣2 的最小值。

线性支持向量机的通用性体现在将原始的硬间隔最大化策略转变为软间隔最大化。在线性不可分的训练集中,导致不可分的只是少量异常点,只要把这些异常点去掉,余下的大部分样本点依然满足线性可分的条件。

从数学上看,线性不可分意味着某些样本点距离划分超平面的函数间隔不满足不小于 1 的约束条件,因而需要对每个样本点引入大于零的松弛变量 ξ≥0,使得函数间隔和松弛变量的和不小于 1。这样一来,软间隔最大化下的约束条件就变成
在这里插入图片描述
相应地,最优化问题中的目标函数就演变为 21​∣∣w∣∣2+Ci=1∑N​ξi​,其中 C>0 被称为惩罚参数,表示对误分类的惩罚力度。这个最小化目标函数既使函数间隔尽量大,也兼顾了误分类点的个数。

前文中涉及的分类问题都假定两类数据点可以用原始特征空间上的超平面区分开来,这类问题就是线性问题;

如果原始空间中不存在能够正确划分的超平面,问题就演变成了非线性问题。在二维平面直角坐标系中,如果按照与原点之间的距离对数据点进行分类的话,分类的模型就不再是一条直线,而是一个圆,也就是超曲面。

这个问题就是个非线性问题,与距离的平方形式相呼应。不论是线性可分支持向量机还是线性支持向量机,都只能处理线性问题,对于非线性问题则无能为力。

可如果能将样本从原始空间映射到更高维度的特征空间之上,在新的特征空间上样本就可能是线性可分的。如果样本的属性数有限,那么一定存在一个高维特征空间使样本可分。将原始低维空间上的非线性问题转化为新的高维空间上的线性问题,这就是核技巧的基本思想。

当核技巧应用到支持向量机中时,原始空间与新空间之间的转化是通过非线性变换实现的。假设原始空间是低维欧几里得空间X,新空间为高维希尔伯特空间H,则从 X 到 H 的映射可以用函数 ϕ(x):X→H 表示。核函数可以表示成映射函数内积的形式,即
在这里插入图片描述
核函数有两个特点。第一,其计算过程是在低维空间上完成的,因而避免了高维空间(可能是无穷维空间)中复杂的计算;第二,对于给定的核函数,高维空间 H 和映射函数 ϕ 的取法并不唯一。一方面,高维空间的取法可以不同;另一方面,即使在同一个空间上,映射函数也可以有所区别。

在支持向量机的应用中,核函数的选择是一个核心问题。不好的核函数会将样本映射到不合适的特征空间,从而导致分类性能不佳。常用的核函数包括以下几种:

在这里插入图片描述

支持向量机的一个重要性质是当训练完成后,最终模型只与支持向量有关,这也是“支持向量机”这个名称的来源。正如发明者瓦普尼克所言:支持向量机这个名字强调了这类算法的关键是如何根据支持向量构建出解,算法的复杂度也主要取决于支持向量的数目。

猜你喜欢

转载自blog.csdn.net/david2000999/article/details/124849029
今日推荐