Python3入门机器学习之9.4RBF核函数

Python3入门机器学习

9.4 RBF核函数

1.什么是高斯核函数:
Python3入门机器学习之9.4RBF核函数
Python3入门机器学习之9.4RBF核函数
2.多项式特征为什么可以处理非线性的问题?
添加多项式的特征使得原本线性不可分的数据变成线性可分,其实是依靠升维使得原本线性不可分的数据变成线性可分。
如下图,比如原本的数据就是一维数据,很显然这组数据是线性不可分的。
Python3入门机器学习之9.4RBF核函数
但是,我们添加上多项式特征的话,相当于是在升维,不但让这个数据点有一个横轴x值,还有第二个维度的值,我们假设为x的平方。如下图,这些数据点在x轴上的位置是不变的,不过在y轴上也相应的有一个取值了,这个取值就是x的平方。一旦这样做了,数据就变成了线性可分的。这就是升维的意义。
Python3入门机器学习之9.4RBF核函数
其实高斯核做的事情本质也是这样的。
为了方便可视化,首先对核函数进行一个改变:将y的值固定一下(y的值不取样本点,而取固定的点),取两个点当固定点(l1、l2(乘坐地标))。高斯核函数做的升维过程是:对于原本的每一个x值,如果有两个地标的话,就将它升维成二维的样本点。这个二维的样本点每一个样本的取值如下:

Python3入门机器学习之9.4RBF核函数
这样我们就将原本一维的样本点映射到了二维的空间。

Python3入门机器学习之9.4RBF核函数
Python3入门机器学习之9.4RBF核函数

当我们使用高斯核函数的时候计算开销是非常大的,但尽管如此还是存在一些应用很适合高斯核函数,最典型的应用就是样本维度非常高,但是样本数据量可能并不多。换句话说,如果数据有m<n的特点的话,使用高斯核函数就很划算了。典型的应用是自然语言处理领域。
3.RBF核函数中的参数gamma:
Python3入门机器学习之9.4RBF核函数