线性可分支持向量机
- 这个系列的博客可视为读李航老师的《统计学习方法》支持向量机一节的读后感,目标是由浅到深,清楚的复述描述支持向量机相关内容
目录:
基本概念
下面引用书本的原话:
支持向量机(support vector machines)是一种二类分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大化使其有别于感知机。支持向量机还包括核技巧,这使它成为本质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题(convex quadratic programming),也等价于正则化的合页损失函数最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。
名词简单介绍:
特征空间:在机器学习中,指的是数据被特征化以后形成的多维空间。例如,训练一个拥有100个维度的数据集,则特征空间就是100维的
线性分类器:模型是参数的线性函数,这样,模型可以表示为
y=wx
,线性空间的特点是可训练的,这为机器学习提供了方便。
感知机:根据线性条件,将空间一分为二的超平面
凸二次规划:组合优化科学的基本方法,有较为复杂的定义
线性可分支持向量机
线性可分支持向量机(liner support vector machine in linearly separable case)是支持向量机中最简单的一类,也是最特殊的一类,更多的SVM是其特殊情况。
线性可分支持向量机指的是训练数据线性可分,这个时候,我们使其硬间隔最大化(hard margin maximization),来进行学习。因此线性可分支持向量机又称硬间隔支持向量机
线性可分的定义
给定一个数据集:
其中, xi∈χ=Rn , yi∈Y={+1,−1}, i=1,2,⋯,N , 如果存在某个超平面S
能够将数据集的正实例点和负实例点完全正确地划分到超平面两侧,即对所有 yi=+1 的实例 i ,有
对于一个训练集是线性可分的情况,
xi
为
i
的第
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的分类,分离超平面对应于方程
w⋅x+b=0
,它由法向量
w
和截距
线性可分支持向量机利用间隔最大化的方法,求得每个点到超平面的距离之和最大的唯一分离超平面。对于测试数据,即可由分离超平面来进行分类。
线性可分支持向量机的数学定义
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到分离超平面为
以及相应的分类决策函数
称为线性可分支持向量机
考虑如图所示分类问题
我们认为,离分离平面越远,则越确信其分类是正确的。如图,A的确信度最差,C的最高,而B介于A和C之间。
一般来说,一个点距离分离超平面的远近可以表示预测的确信程度。在超平面
w⋅x+b=0
确定的情况下,
|w⋅x+b|
能够相对地表示点
x
距离超平面的远近,而
函数间隔的定义
对于给定的训练数据集
T
和超平面
定义超平面 (w,b) 关于训练集 T 的函数间隔为超平面
函数间隔可以表示预测的正确性及确信度。但是选择分离超平面时,只有函数间隔还不够。因为只要成比例地改变 w 和
下图给出了超平面
(w,b)
及其法向量
w
,点
其中
||w||
为
w
的
一般地,当样本点 (xi,yi) 被超平面 (w,b) 正确分类时,点 xi 与超平面 (w,b) 的距离是
这就是样本点的 几何间隔,而超平面关于训练集的几何间隔即为所有样本点中的最小值,即
超平面 (w,b) 关于样本点 (xi,yi) 的几何间隔一般是实例点到超平面的带符号的距离(signed distance),当样本点被超平面正确分类时就是实例点到超平面的距离。
从函数间隔和几何间隔的定义可知,函数间隔和几何间隔有下面的关系:
如果 ||w||=1 ,那么函数间隔和几何间隔相等,如果超平面参数 w 和
间隔最大化
支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化(与将要讨论的训练数据集近似线性可分时的软间隔最大化相对应)。
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不进将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将他们分开。这样的超平面应该对未知的新实例有很好的分类预测能力。
最大间隔分离超平面
下面考虑如何求得一个几何间隔最大的分离超平面,即最大间隔分离超平面,具体地,这个问题可以表示为下面的约束最优化问题:
即我们希望最大化超平面 (w,b) 关于训练数据集的几何间隔 γ ,约束条件表示的是超平面 (w,b) 关于每个训练样本点的几何间隔至少是 γ
考虑几何间隔和函数间隔的关系式,可将这个问题改写为
函数间隔 γ^ 的取值并不影响最优化问题的解,事实上,假设将 w 和
这是一个凸二次规划问题(convex quadratic programming)。
凸二次规划
凸二次规划问题是指约束最优化问题
其中,目标函数 f(w) 和约束函数 gi(w) 都是 Rn 上的连续可微的凸函数,约束函数 hl(w) 是 Rn 上的仿射函数仿射函数。
仿射函数
f(x) 称为仿射函数,如果它满足 f(x)=a⋅x+b, a∈Rm, b∈R, x∈Rm 它表达了一种从m维到一维的空间变换,类似的也可以变化到m到n维
当目标函数 f(w) 是二次函数且约束函数 gi(w) 是仿射函数时,上述凸最优化问题成为凸二次规划问题。
如果求出了约束最优化问题(1) ~ (2)的解 w∗,b∗ ,那么就可以得到最大间隔分离超平面 w∗⋅x+b∗=0 及分类决策函数 f(x)=sign(w∗⋅x+b∗) ,即线性可分支持向量机模型。
综上所述,就有下面的线性可分支持向量机的学习算法——最大间隔法(maximum margin method)。
线性可分支持向量机的学习算法——最大间隔法
输入:线性可分训练数据集 T={(x1,y1),(x2y2),⋯,(xNyN)} ,其中, xi∈χ=Rn , yi∈Y={+1,−1}, i=1,2,⋯,N ;
输出:最大间隔分离超平面和分类决策函数。