文章目录
1 支持向量机(Support Vector Machine, SVM)
1.1 背景介绍
支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。SVM 被提出于 1964 年,在二十世纪 90 年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中得到应用。
1.1.1 线性可分
在二维空间上,两类点被一条直线完全分开叫做线性可分。严格的数学定义:D0 和 D 是 n 维欧式空间中的两个点集,如果存在 n 维向量 w 和实数 b,使得所有属于 D0 的点 xi都有 wxi+b>0,而对于多有属于 D1 的点 xj则有 wxj+b<0,则称 D0 和 D1 线性可分。
1.1.3 最大间隔超平面
从二维扩展到多维空间中时,将 D0 和 D1 完全正确地划分开的 wx+b=0 就成了一个超平面。为了使这个超平面更具鲁棒性,我们会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。两类样本分别分割在该超平面的两侧;两侧距离超平面最近的样本点到超平面的距离被最大化了。
1.1.4 支持向量
在支持向量机中,距离超平面最近的几个点,而且满足一定的条件,这些点就叫做支持向量
1.2 支持向量机问题描述
主要用于解决模式识别领域中的数据分类问题,属于有监督学习算法的一种。SVM 要解决的问题可以用一个经典的二分类问题加以描述。如图 所示,红色和蓝色的二维数据点显然是可以被一条直线分开的,在模式识别领域称为线性可分问题。然而将两类数据点分开的直线显然不止一条。图 3(b)和©分别给出了 A、B 两种不同的分类方案,其中黑色实线为分界线,术语称为“决策面”。每个决策面对应了一个线性分类器。虽然在目前的数据上看,这两个分类器的分类结果是一样的,但如果考虑潜在的其他数据,则两者的分类性能是有差别的.
SVM 算法认为图 中的分类器 A 在性能上优于分类器 B,其依据是 A 的分类间隔比 B 要大。这里涉及到第一个 SVM 独有的概念“分类间隔”。在保证决策面方向不变且不会出现错分样本的情况下移动决策面,会在原来的决策面两侧找到两个极限位置(越过该位置就会产生错分现象),如虚线所示。虚线的位置由决策面的方向和距离原决策面最近的几个样本的位置决定。而这两条平行虚线正中间的分界线就是在保持当前决策面方向不变的前提下的最优决策面。两条虚线之间的垂直距离就是这个最优决策面对应的分类间隔。显然每一个可能把数据集正确分开的方向都有一个最优决策面(有些方向无论如何移动决策面的位置也不可能将两类样本完全分开),而不同方向的最优决策面的分类间隔通常是不同的,那个具有“最大间隔”的决策面就是 SVM 要寻找的最优解。而这个真正的最优解对应的两侧虚线所穿过的样本点,就是
SVM 中的支持样本点,称为“支持向量”。对于图中的数据,A 决策面就是 SVM 寻找的最优解,而相应的三个位于虚线上的样本点在坐标系中对应的向量就叫做支持向量。
1.3 线性SVM的算法的数学建模
一个最优化问题通常有两个最基本的因素&#x