基于支持向量机的分类预测
1.简介
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机,其决策边界是对学习样本求解的最大边距超平面。
SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,*即从决策边界到各个数据集的距离越大,分类操作出错率越小。*可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
- 当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机。
- 当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机。
- 当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机。
2. 学习重点
3.基本原理
3.1 支持向量
3.1.1 线性可分性
什么是线性可分?
- 决策边界:在具有两个类的统计分类问题中,决策边界或决策表面是超曲面,其将基础向量空间划分为两个集合。如果决策表面是超平面,那么分类问题是线性的,并且类是线性可分的。
- 超平面:超平面是n维欧氏空间中余维度等于一的线性子空间,也就是必须是(n-1)维度。
换一种简单的说法,就是在二分空间上,有两类点被一条直线完全分开叫做线性可分。
3.1.2 最大间隔超平面
简单点说:
为了使这个超平面更具鲁棒性,会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。
- 两类样本分别分割在该超平面的两侧;
- 两侧距离超平面最近的样本点到超平面的距离被最大化了。
3.1.3 支持向量
样本中距离超平面最近的一些点就叫作支持向量,如下图所示
3.1.3 SVM最优化
SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。任意超平面可以用下面这个线性方程来描述:
如上图所示:
- 根据支持向量的定义知道,支持向量到超平面的距离为 d,其他点到超平面的距离大于 d。
- 而在超平面两边的点,一类是为正类,一类为负类,各自离超平面距离大于d则可表示为:
注:这里的“s.t.”意为 subject to,使满足。
3.2 对偶问题
3.2.1 拉格朗日乘数法
在数学最优问题中,拉格朗日乘数法是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。这种方法引入了一种新的标量未知数,即拉格朗日乘数:约束方程的梯度(gradient)的线性组合里每个向量的系数。
A.等式约束优化问题:
B. 不等式约束优化问题
现在面对的是不等式优化问题,针对这种情况其主要思想是将不等式约束条件转变为等式约束条件,引入松弛变量,将松弛变量也是为优化变量,即
不等式约束优化⇒ 引入松弛变量(优化变量)⇒ 等式约束优化 ⇒ 引入Lagrange乘子(优化变量)⇒ 无约束优化(将Lagrange函数对所有优化变量求偏导令其值为零)