前两节介绍了支持向量机的线性分类,若遇到非线性的样本分布(如下图),线性分类就不能解决了。 支持向量机有两种方法可以完成非线性分类:一种是坐标映射,一种是核函数转换。 1. 坐标映射 若我们有坐标映射函数 如上图的二维空间,支持向量机不能线性分类。若我们将二维空间映射为五维空间,则能进行线性分类。 目标函数的表达式在样本内积之前,先对样本进行高尺度映射。 这种方法的缺点是:若原始数据的特征是二维的,那么映射的特征空间是五维;原始数据的特征空间是五维的,映射的特征空间是19维的,当原始数据的特征空间是上千维度的,映射的特征维度是爆炸性增长,计算样本内积时,计算量大大的增加。 2. 核函数 在低维度的尺度下,样本间的核函数k(x,z))相当于映射为高维度下的样本内积,即: 较常用的核函数有:线性核函数,多项式核函数和高斯核函数。核函数比较抽象,若自己定义一个的话比较难,一般情况下是调用已知的核函数。本节主要介绍高斯核函数,也是用的最多的一种。 高斯核函数 公式: 含高斯核函数的目标函数可写成: 计算每个样本的参数 最后得到包含高斯核函数的分类超平面: 根据分类超平面的表达式,我们可以大概知道核函数的含义。 含义:计算每一个样本与其他样本的相似度,再乘以系数α,计算sign函数内的值是否大于0,连接sign函数内等于0的所有样本点,就是我们要求的分类超平面。 若用核函数进行非线性分类,相比于特征映射,分类超平面不会那么有规则。以第一节的例子作为对比,核函数的分类超平面如下图: 与第一节的坐标映射相比,最优超平面不再那么有规则了。 |
|
来自: taotao_2016 > 《AI》