统计学习方法(六)支持向量机

6 支持向量机

SVM是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。
支持向量机还包括核技巧,这使它成为实质上的非线性分类器。
支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机、线性支持向量机、非线性支持向量机。

6.1 线性可分支持向量机与硬间隔最大化

支持向量是训练数据集的样本点中与分离超平面距离最近的样本点的实例。
决定分离超平面时只有支持向量起作用,移动支持向量将改变所求解。

6.2 线性支持向量机与软间隔最大化

引入一个松弛变量,使函数间隔加上松弛变量大于等于1,同时每个松弛变量支付一个代价,目标函数加上这个代价。含义是使间隔尽量大同时使误分类点的个数尽量小。对应于硬间隔最大化,叫做软间隔最大化。

6.3 非线性支持向量机与核函数

如果能用Rn中的超曲面将正负实例分开,则称问题为非线性可分问题。
通过一个非线性变换,可以将非线性问题变换为线性问题。
核技巧的想法是之定义核函数,而不显式地定义映射函数,计算比较容易。
常用的核函数:多项式核函数,高斯核函数,字符串核函数。

6.4 序列最小最优化算法

支持向量机的学习问题可以形式化为 求解凸二次规划问题。
SMO算法是一种启发式算法,基本思路是:如果所有变量的解都满足此最优化问题的KKT条件,那么这个最优化问题的解就得到了。因为KKT条件是该最优化问题的充分必要条件,否则,选择两个变量,固定其他变量,针对这两个变量构建一个二次规划问题,这个二次规划问题关于这两个变量的解应该更接近原始二次规划问题的解,因为这会使原始二次规划问题的目标函数值变得更小。最重要的是子问题可以解析求解,提高了算法的计算速度,子问题的两个变量一个是违反KKT条件最严重的的那一个,另一个由约束条件确定。
SMO算法包括两个部分:求解两个变量二次规划的解析方法和选择变量的启发式方法。

猜你喜欢

转载自blog.csdn.net/tianyouououou/article/details/96498168