定义
SVM是一种二类分类模型,他的基本模型是定义在特征空间上的间隔最大的线性分类器。
模型分类
- 线性可分支持向量机
当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机。 - 线性支持向量机
当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性分类器,即线性支持向量机。 - 非线性支持向量机
当训练数据线性不可分时,通过使用核技巧及软间隔最大化。学习非线性支持向量机
1. 线性可分支持向量机
1.1 基本思想
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类,也就是说不仅将正负实例点分开,而且对离超平面最近的点,也有足够大的确信度将它们分开。
求最大间隔分离超平面实际上是求一个凸二次规划问题。
凸二次规划问题是指约束最优化问题。
1.2 最大间隔算法
*构造并求解约束最优化问题,求的最优解 w,b.
*由此得到分离超平面
1.3 学习的对偶算法
为了求解线性可分支持向量机的最优化问题,将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是线性可分支持向量机的对偶算法。这样做的优点是对偶问题往往更容易求解;二是自然引入核函数,进而推广到非线性分类问题。
1.4 线性可分支持向量机学习算法
*先求对偶问题的解a
*再求原始问题的解w,b
*从而得到分离超平面及分类决策函数。
2. 线性支持向量机与软间隔最大化
2.1基本概念
线性不可分意味着某些样本点不能满足函数间隔大于等于1的约束条件,为了解决这个问题,可以对每个样本点引进一个松弛变量,是函数间隔加上松弛变量大于等于1.
这样模型称为训练样本线性不可分时的线性支持向量机,简称为线性支持向量机。显然,线性支持向量机包含线性可分支持向量机。由于现实中训练数据集往往是线性不可分的,线性支持向量机具有更广泛的适用性。’
3. 非线性支持向量机与核函数
3.1基本思想
通过一个非线性变换将输入空间对应于一个特征空间,使得在输入空间中的超曲面模型对应于特征空间的超平面模型(支持向量机)。这样,分类问题的学习任务通过在特征空间中求解线性支持向量机就可以完成。
3.2常用的核函数
*多项式核函数
*高斯核函数
*字符串核函数