您当前的位置: 首页 >  机器学习

凌云时刻

暂无认证

  • 0浏览

    0关注

    1437博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

机器学习笔记(二十八):高斯核函数

凌云时刻 发布时间:2020-07-20 18:44:47 ,浏览量:0

凌云时刻 · 技术

导读:核函数是机器学习算法中一个重要的概念。简单来讲,核函数就是样本数据点的转换函数。这一节我们来看看应用非常广泛的一个核函数,高斯核函数。

作者 | 计缘

来源 | 凌云时刻(微信号:linuxpk)

高斯核函数

高斯核函数的名称比较多,以下名称指的都是高斯核函数:

  • 高斯核函数。

  • RBF(Radial Basis Function Kernel)。

  • 径向基函数。

对于多项式核函数而言,它的核心思想是将样本数据进行升维,从而使得原本线性不可分的数据线性可分。那么高斯核函数的核心思想是将每一个样本点映射到一个无穷维的特征空间,从而使得原本线性不可分的数据线性可分。

我们先来回顾一下多项式特征,如下图所示,有一组一维数据,两个类别,明显是线性不可分的情况:

然后通过多项式将样本数据再增加一个维度,假设就是   ‍‍,样本数据就变成这样了:

此时原本线性不可分的样本数据,通过增加一个维度后就变成线性可分的状态。这就是多项式升维的意义。

下面我们先来认识一下高斯核函数的公式:

   

上面公式中的   ‍‍就是高斯核函数的超参数。然后我们再来看看高斯核函数使线性不可分的数据线性可分的原理。

为了方便可视化,我们将高斯核函数中的   ‍‍取两个定值‍‍   ‍‍核   ‍‍,这类点称为地标(Land Mark)。那么高斯核函数升维过程就是假如有两个地标点,那么就将样本数据转换为二维,也就是将原本的每个   ‍‍值通过高斯核函数和地标,将其转换为2个值,既:

   

下面我们用程序来实践一下这个过程:

 

import numpy as np
import matplotlib.pyplot as plt

# 构建样本数据,x值从-4到5,每个数间隔为1
x = np.arange(-4, 5, 1)
x

# 结果
array([-4, -3, -2, -1,  0,  1,  2,  3,  4])

# y构建为0,1向量,且是线性不可分的
y = np.array((x >= -2) & (x             
关注
打赏
1663816507
查看更多评论
0.0891s