在mgdzt核函数之前的博客中详细介绍了核函数是什么,主要以多项式核函数为例。 在这个博客中,主要学习特殊的内核函数。 它也是SVM算法中使用最多的内核函数。mgdzt核函数
核函数通常表示为:
mgdzt内核函数的定义如下:
其中只有一个超参数。 那么为什么把这样的核函数称为mgdzt核函数呢?
相信很多伙伴都听说过正态分布,其实正态分布是mgdzt函数。
其实我们仔细观察了mgdzt核函数和正态分布之间的形式大致一致。
mgdzt内核函数有时也被称为RBF内核,在中文中有时被翻译为镜像基函数。mgdzt核函数的本质是将每一个样本点映射到一个无穷维的特征空间听起来很抽象。
让我们用一个简单的例子来模拟mgdzt核函数在做什么。
回想一下为什么可以使用多项式的特征来处理非线性的数据问题。 其基本原理其实是依靠升维使得原本线性不可分的数据变得线性可分。
例如,以下一维数据位于坐标轴上: 我们现在不能用直线把这些样本点分成两类。
但是,添加多项式特征时,每个数据点不仅有x-x值,还有纵轴,而且还有第二次元的值。 在此示例中,如果第二个维的值为x 2 x^2 x2,则所有数据点将为:
这些数据点在xx轴上的位置不会改变。 但是,yy轴上也有取值的东西。 取这个值就是x 2 x^2 x2。 现在这些数据点本来在一维空间中不能线性分离,但现在到了二维空间就可以线性分离了。
其实mgdzt核本质上在做的事情也是如此。 mgdzt内核函数如下:
在此,为了便于可视化,将mgdzt核函数的式子中的y、y、y固定的2个点L2L2、L2L2 (称为地标。 即使现在我们的数据也是线性的。
mgdzt核将原始一维采样x x x映射到一个二维数据点(如果存在一些地标,则为多维) :
首先,用程序模拟mgdzt核的映射过程。
很明显,上图是直线的,容易找到直线,将这些采样点分为两类。
但实际上,我们的mgdzt核函数如下:
这个y y y的位置实际上是所有的数据点。 换句话说,mgdzt核和以前做过的一样,只是取了更多的标点,我们有多少个样本就有多少个标点。 换句话说,尝试使每一个xx、每一个样本yy计算核函数成为与新的高维数据相对应的某种维度的元素。 因此,mgdzt核函数是将mnm*nMn的数据映射到mmm*mmm的数据上的函数。
具体代码见76 mgdzt核函数. ipynb