SVM算法总结

SVM

1. 算法概念

支持向量机(Support Vector Machine, SVM)从数据中找出一个数据的分割超平面,将两个类别的数据完全分割开,并且在模型构建的过程中,保证分割区间最大化。

1.线性可分(Linearly Separable):在数据集中,如果可以找出一个超平面,将两组数据分开,那么这个数据集叫做线性可分数据。
2.线性不可分(Linear Inseparable):在数据集中,没法找出一个超平面,能够将两组数据分开,那么这个数据集就叫做线性不可分数据。
3.分割超平面(Separating Hyperplane):将数据集分割开来的直线/平面叫做分割超平面。
4.支持向量(Support Vector):离分割超平面最近的那些点叫做支持向量。
5.间隔(Margin):支持向量数据点到分割超平面的距离称为间隔

6.KKT条件:KKT条件是泛拉格朗日乘子法的一种形式;主要应用在当我们的优化函数存在不等值约束的情况下的一种最优化求解方式;KKT条件即满足不等式约束情况下的。拉格朗日取得可行解的充要条件。
 

2.算法分类:

一般SVM有下面三种:

  • 硬间隔支持向量机(线性可分支持向量机):当训练数据线性可分时,可以认为线性划分SVM中的距离度量就是硬间隔,在线性划分SVM中,要求函数距离一定是大于1的,最大化硬间隔条件为:

SVM算法总结

硬间隔优化后的目标函数:

SVM算法总结

  • 软间隔支持向量机:当训练数据近似线性可分时,SVM对于训练集中的每个样本都引入一个松弛因子(ξ),使得函数距离加
    上松弛因子后的值是大于等于1;这表示相对于硬间隔,对样本到超平面距离的要求放松了。

SVM算法总结

软间隔优化后的目标函数:

SVM算法总结

  • 非线性支持向量机:当训练数据线性不可分时,可通过核方法以及软间隔最大化学得一个非线性支持向量机

3.核函数

1.概念:假设函数Ф是一个从低维特征空间到高维特征空间的一个映射,那么如果存在函数K(x,z), 对于任意的低维特征向量x和z,都有:

SVM算法总结

称函数K(x,z)为核函数(kernal function);在低维空间上的计算量等价于特征做维度扩展后的点乘的结果。

2.常用核函数

SVM算法总结

3.核函数作用:将非线性可分的数据映射到高维度,使其线性可分