支持向量机概述
支持向量机的基础是定义在特征空间上的间隔最大的线性分类器。
当训练数据线性可分时,通过硬间隔最大化学习一个线性分类器;当训练数据近似线性可分时,通过软间隔最大化学习一个线性分类器;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
符号定义
考虑二分类问题。
训练数据集:
其中, xi∈Rn,yi∈{+1,−1},i=1,2,...,N ,假设训练集是线性可分的。
超平面公式:
其中, w 是法向量,
硬间隔支持向量机
此文假设读者已经了解硬间隔支持向量机,如不了解,可参考支持向量机笔记-硬间隔支持向量机。
软间隔支持向量机
当训练样本近似线性可分时,即大部分样本线性可分,少数样本线性不可分时,就用到软间隔支持向量机。
对应的最优化问题
回顾硬间隔支持向量机的优化问题
硬间隔支持向量机对应的最优化问题最终形式为:
如不了解来由,可参考 支持向量机笔记-硬间隔支持向量机。
改进以获得软间隔支持向量机优化问题
上面两个式子中,限制条件 yi(w⋅xi+b)−1⩾0 中的 yi(w⋅xi+b) 含义为样本 (xi,yi) 到超平面 (w,b) 的函数距离,此限制条件的意思是要求所有样本点到超平面的函数距离都得 大于等于1;
这在存在少量线性不可分样本的情况下做不到,因此作出改进。
既然有样本做不到,那就放宽要求,每个样本
(xi,yi)
加一个松弛变量
ξi⩾0
,要求所有样本不必大于等于
1
,只需要大于等于
每个样本都有一个松弛变量,那么这些松弛变量应该取什么值?这些值并非人工指定的,而是需要求解的,那么必须在代价函数中对这些变量加以限制,限制方式是:
其中 C>0 被称为惩罚参数, C 越大对错分类样本的惩罚越大,惩罚越大错分样本数量倾向于减少。
在上面式子中,
优化问题最终形式
学习超平面的算法
分3步:
1. 选定惩罚参数
C
,构造并求解:
求得最优解 α∗=(α∗1,α∗2,...,α∗N)T 。
2. 用以下公式计算
选择 α∗ 的一个正分量 0<α∗j<C ,找到 yj
3. 获得超平面方程以及决策函数
分类决策函数:
算法的原理
首先,原始问题是:
这是个约束优化问题,可以使用拉格朗日对偶性来求解。
首先构建拉格朗日函数:
其中, αi⩾0,μi⩾0 。
原始问题的对偶问题是拉格朗日函数的极大极小问题。
可以通过求解这个问题来获得原始问题的解:
- 求
minw,b,ξL(w,b,ξ,α,μ)
将 L(w,b,α) 分别对 w,b,ξ 求偏导并令其等于0。
▽wL(w,b,ξ,α,μ)=w−∑i=1Nαiyixi=0
得:
将它们代入拉格朗日函数
L(w,b,ξ,α,μ)
,得:
2. 求 maxαminw,b,ξL(w,b,ξ,α,μ)
后3个限制条件可以用:
等效替换。
最终形式
然后就去解吧。。。各种代入和求导取零,解 α 就是了,解出来 α 再利用步骤1求导数置0得到的的结论求 w,b 。
软间隔支持向量机的支持向量
对分类超平面的选取没有任何影响的样本点不叫“支持向量”。
对分类超平面的选取有影响的样本点叫“支持向量”。
软间隔的支持向量包括:
1. “间隔边界”上的样本。
2. “间隔边界”之间的样本。
3. 错分的样本。
“间隔边界”是指:
距离超平面函数距离为
1
(几何距离为
说明
如有错误,敬请指正。