支持向量机SVM
支持向量机的学习策略是间隔最大化, 学习算法是求解凸二此规划的最优化算法.
- 线性可分支持向量机 :
- 硬间隔最大化 (hard margin maximization)
- 硬间隔支持向量机
- 线性支持向量机 :
- 软间隔最大化 (soft margin maximization)
- 软间隔支持向量机
- 非线性支持向量机 :
- 核函数 (kernel function)
- 核方法
线性可分支持向量机
输入: 线性可分训练集 , 其中
函数间隔
- 分离超平面:
- 一个点到分离超平面的距离为:
- 分类是否正确: 的符号与 的符号是否一致
- 分类的正确性及确信度 :
- 超平面 关于样本点 的函数间隔:
- 超平面 关于训练数据集 的函数间隔:
几何间隔
- 超平面 关于样本点 的几何间隔:
- 超平面 关于训练数据集 的几何间隔:
PS
: 若 成比例地改变(即超平面不变), 函数间隔也会按此比例改变, 几何间隔不变.
线性可分支持向量机学习算法
一. 间隔最大化
1.求几何间隔最大的分离超平面:
2.换成函数间隔
3.函数间隔的取值不影响最优化问题的解, 因此取 :
4.等价于
这就是最终要求解的凸二次规划问题, 求解最优解
二. 对偶算法
5.对应的Lagrange函数
其中, 拉格朗日乘子向量为
6.原问题(primal problem):
7.原问题的对偶问题(dual problem):
先对求偏导:
得到:
- 再求对的极大:
三. 最大分离超平面
8.存在, 是对偶问题的最优解, 此时 是原问题的最优解.
9.最大分离超平面: , 即:
10.分类决策函数:
线性可分的支持向量
支持向量(support vector) :
训练数据集的样本点钟与分离超平面距离最近的样本点, 即满足:
- 对于, 支持向量在超平面:
- 对于, 支持向量在超平面:
间隔距离 :
- 间隔边界:
- 间隔距离: 之间的距离, 等于: