1、简介
SVM:支持向量机(Support Vector Machines),通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
目的:SVM 是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开
2、关键名词
- 函数间隔(Functional margin):实际上是人为定义的一个间隔度量
- 几何间隔(Geometrical margin):是直观上点到平面的距离
- 最大间隔分类器(Maximum Margin Classifier):
- 对于数据点进行分类,当超平面离数据点的“间隔”越大,分类的确信度(confidence)也就越大
- 为了使分类的确信度尽量高,需要让所选择的超平面能够最大化这个“间隔”值
- 函数间隔不适合作用来最大化间隔值,因为在超平面固定以后,可以等比列地缩放w的长度和b的值
- 最大间隔分类超平面的“间隔”指的是几何间隔,因为缩放w和b的时候,它只是随着超平面的变动而变动,函数值是不变的
- 线性可分
- 通过求解对偶问题得到最优解,线性可分条件下支持向量机的对偶算法;
- 采用对偶算法优点:一者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推广到非线性分类问题”
- 线性不可分
- 实际情况中大部分数据都不是线性可分的,这个时候满足最大间隔分类的超平面不存在
- 一则一个核函数(kernel)κ(⋅,⋅),通过将数据映射到高维空间,来解决原始空间中线性不可分的情况
- 具体来说,在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开
- 建立非线性学习器步骤
- 首先使用一个非线性映射将数据变换到一个特征空间F
- 然后在特征空间使用线性学习器分类
- 核函数的本质
- 实际中,我们会经常遇到线性不可分的样例,此时,我们常用做法是把特征映射到高维空间中去
- 但进一步,若果凡是遇到线性不可分的样例,一律映射到高维空间,那么这个维度大小是会高到可怕
- 此时,核函数就隆重登场了,核函数的价值在于它虽然也是将特征进行从低维到高维的转化,但是核函数的绝就绝在它事先在低维进行计算,而将实质上的分类效果表现在了高维上,也就是如上文所说的避免了直接在高维空间中的复杂计算。