前言
支持向量机(support vector machine, SVM)是一种二分类模型。是定义在特征空间上的间隔最大化线性分类器,同时还包括核技巧,能解决非线性问题 。
求解过程 主要通过SMO (序列最小最优算法)
目录:
- 线性可分支持向量机
- 函数间隔几何间隔
- 间隔最大化
- 对偶算法
- 拉格朗日对偶性
一 线性可分支持向量机
给定线性可分训练数据集,通过间隔最大化,得到的分离超平面为
以及对应的决策函数:
二 函数间隔和几何间隔
2.1 函数间隔
超平面(w,b)关于训练数据集的函数间隔为超平面关于训练集中所有样本点函数间隔最小值
如果w,b成比例增加,r也会成比例增加,所以引入几何间隔加以约束
2.2 几何间隔
b也可以看作, 当w,b成比例增加,其范数也成比例增加
所以几何间隔不变。
三 间隔最大化
3.1 间隔最大化
一个几何间隔最大化的分离超平面,可表示为下面的约束问题:
转化为函数间隔问题:
取 带入,得到线性可分支持向量机最优化问题:
,
3.3 凸优化问题
f(w) ,g(w) 都是凸函数,h(w) 是仿射函数。其中
仿射函数满足: h(x) =ax+b
3.2 间隔边界
对正例点,支持向量在超平面
对负例点, 支持向量在超平面
之间的几何间隔为
支持向量个数很少,所以支持向量由很重要的点决定
四 对偶算法
m个样本,根据约束条件, 定义拉格朗日函数()
对w,b 分别求偏导数,则
重新带入上式
转化为对偶最优化问题:
根据KKT 条件:
求解b:
当 时, 因为
带入
由此分离超平面的参数都可以求出来了。
五 拉格朗日对偶性
在约束最优化问题中,常常利用拉格朗日对偶性,将原始问题转换为对偶问题。
通过求解对偶问题,得到原始问题的解。
5.1 原始问题
C.1
原始约束条件:
........... C.2, C.3
引入拉格朗日函数
.................C.4
是拉格朗日乘子,, 考虑x的函数
....................... C.5
下标P: 表示原始问题
假设若某个x,违反原始的约束条件(C.2, C.3) or
则 C.6
如果满足
不满足原始越苏条件 ............................C.7
所以考虑极小化问题
定义原始问题最优值
5.2 对偶问题
...................C.10
再考虑极大化问题
C.11
可以将广义拉格朗日函数的极大值极小值问题表示为约束最优化问题:
...............C1.2
.............C1.3
定义对偶问题最优值
5.3 原始问题和对偶问题关系
定理C.1 若原始问题和对偶问题都有最优值,则
证明:
由于原始问题和对偶问题都有最优解,所以
5.4 KKT 条件(karush-kuhn-Tucker)
参考文档:
《统计学习方法》