机器学习有不少关于核函数的说法,核函数的定义和做用是什么?

2022年01月13日 阅读数:7
这篇文章主要向大家介绍机器学习有不少关于核函数的说法,核函数的定义和做用是什么?,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。


做者:王赟 Maigo机器学习

著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。ide



我来举一个核函数把低维空间映射到高维空间的例子。函数

下面这张图位于第1、二象限内。咱们关注红色的门,以及“北京四合院”这几个字下面的紫色的字母。咱们把红色的门上的点当作是“+”数据,紫色字母上的点当作是“-”数据,它们的横、纵坐标是两个特征。显然,在这个二维空间内,“+”“-”两类数据不是线性可分的。学习

<img src="https://pic1.zhimg.com/50/19fa4052ea4f20651d25a1249f1e372d_hd.jpg?source=1940ef5c" data-rawwidth="720" data-rawheight="342" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic2.zhimg.com/19fa4052ea4f20651d25a1249f1e372d_r.jpg?source=1940ef5c"/>ui

机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_数据

 

咱们如今考虑核函数机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_二维_02,即“内积平方”。spa

这里面机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_f5_03是二维空间中的两个点。blog

这个核函数对应着一个二维空间到三维空间的映射,它的表达式是:ci

机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_f5_04

能够验证,element

机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_核函数_05

在P这个映射下,原来二维空间中的图在三维空间中的像是这个样子:get

<img src="https://pic3.zhimg.com/50/c5a7b1b83b844fc5fff033c9a0d5d601_hd.jpg?source=1940ef5c" data-rawwidth="720" data-rawheight="342" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic4.zhimg.com/c5a7b1b83b844fc5fff033c9a0d5d601_r.jpg?source=1940ef5c"/>

机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_数据_06

(先后轴为x轴,左右轴为y轴,上下轴为z轴)

注意到绿色的平面能够完美地分割红色和紫色,也就是说,两类数据在三维空间中变成线性可分的了。

而三维中的这个判决边界,再映射回二维空间中是这样的:

<img src="https://pic3.zhimg.com/50/8f4a0d456fd9daf934c373024bf15a32_hd.jpg?source=1940ef5c" data-rawwidth="720" data-rawheight="329" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/8f4a0d456fd9daf934c373024bf15a32_r.jpg?source=1940ef5c"/>

机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_2d_07

这是一条双曲线,它不是线性的。

================================================

如上面的例子所说,核函数的做用就是隐含着一个从低维空间到高维空间的映射,而这个映射能够把低维空间中线性不可分的两类点变成线性可分的。

固然,我举的这个具体例子强烈地依赖于数据在原始空间中的位置。

事实中使用的核函数每每比这个例子复杂得多。它们对应的映射并不必定可以显式地表达出来;它们映射到的高维空间的维数也比我举的例子(三维)高得多,甚至是无穷维的。这样,就能够期待原来并不线性可分的两类点变成线性可分的了。

================================================

在机器学习中经常使用的核函数,通常有这么几类,也就是LibSVM中自带的这几类:

1) 线性:机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_2d_08

2) 多项式:机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_f5_09

3) Radial basis function:机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_2d_10

4) Sigmoid:机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_核函数_11

我举的例子是多项式核函数中机器学习有不少关于核函数的说法,核函数的定义和做用是什么?_二维_12的状况。

在实用中,不少使用者都是盲目地试验各类核函数,并扫描其中的参数,选择效果最好的。至于什么样的核函数适用于什么样的问题,大多数人都不懂。很不幸,我也属于这大多数人,因此若是有人对这个问题有理论性的理解,还请指教。

================================================

核函数要知足的条件称为​​Mercer's condition​​。

因为我以应用SVM为主,对它的理论并不很了解,就不阐述什么了。

使用SVM的不少人甚至都不知道这个条件,也不关心它;有些不知足该条件的函数也被拿来当核函数用。


做者:柒月