概述
目录
一 算法概述
1 点到超平面的几何距离公式
2 算法核心思想
3 算法中几个重要概念
1)线性可分
2)线性不可分
3)间隔
4)划分超平面
5)支持向量
二 算法理论
1 线性可分SVM
1)硬间隔SVM算法流程
2)软间隔SVM算法流程
2 线性不可分SVM
1)线性不可分SVM的核心思想
2)核函数
3)线性不可分SVM算法流程(SVM软间隔模型)
3 SVR(不推荐使用)
三 SMO算法
一 算法概述
1 点到超平面的几何距离公式
注意:分母为点到超平面的函数距离
2 算法核心思想
- 第一点:在数据中找到一个超平面,让尽可能多的数据分布在超平面两侧
- 第二点:距离超平面比较近的点近可能的远离这个超平面
注意:第一点感知器模型也可以做到,但是第二点才是SVM算法的最核心思想
3 算法中几个重要概念
1)线性可分
可以在数据中找到一个超平面将尽可能多的数据二元分开(目标属性标记+1或者-1)
2)线性不可分
无法在数据中找到一个超平面将尽可能多的数据二元分开
注意:但是可以通过低维映射高维空间,使之成为线性可分
3)间隔
样本距离超平面的距离
4)划分超平面
将数据划分开的超平面
5)支持向量
一般认为是距离超平面最近的样本(默认函数距离为1)
二 算法理论
1 线性可分SVM
1)硬间隔SVM算法流程
注意:硬间隔要求样本到分割超平面的函数距离大于等于1,对于异常数据很敏感
第一步:假定条件(超平面、支持向量、支持向量距离)
- 第一点:超平面
- 第二点:支持向量
- 第三点:支持向量的间隔
第二步:目标函数
第三步:对于有条件约束的目标函数采用泛拉格朗日乘子法进行凸优化
- 第一点:构建泛拉格朗日函数(泛拉格朗日乘子),并将原始问题转化为对偶问题
- 第二点:
- 第三点:
第四步:使用SMO算法得到最优解
第五步:根据关系以及支持向量集合(S个),更新
第六步:构建最终分类器
2)软间隔SVM算法流程
注意:软间隔要求每个样本都引入松弛因子,使得样本的函数距离加上松弛因子之后大于等于1,样本的函数距离要求放松了,对异常样本敏感度下降
第一步:假定条件(超平面、支持向量、支持向量距离、松弛因子、惩罚项)
- 第一点:超平面
- 第二点:支持向量(松弛因子)
- 第三点:支持向量的间隔
- 第四点:松弛因子
松弛因子越大,意味者样本的函数距离越小(越接近超平面,甚至越过超平面),但是过大的松弛因子会导致分类错误可能性上升,松弛因子的引入是有代价的,需要对其进行惩罚
- 第五点:惩罚项
- 对松弛因子进行L1惩罚,加入惩罚系数C(超参C>0)
- 惩罚系数越小,意味者松弛因子越大,分类准确性越低,反之,松弛因子越小,分类准确性越高
第二步:目标函数
第三步:对于有条件约束的目标函数采用泛拉格朗日乘子法进行凸优化
- 第一点:构建泛拉格朗日函数(泛拉格朗日乘子),并将原始问题转化为对偶问题
- 第二点:
- 第三点:
第四步:使用SMO算法得到最优解
第五步:根据关系以及支持向量集合(S个)