博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kernel function
阅读量:5020 次
发布时间:2019-06-12

本文共 1053 字,大约阅读时间需要 3 分钟。

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

我们现在考虑核函数K(v_1,v_2) = <v_1,v_2>^2,即“内积平方”。
这里面v_1=(x_1,y_1), v_2=(x_2,y_2)是二维空间中的两个点。
这个核函数对应着一个二维空间到三维空间的映射,它的表达式是:
P(x,y)=(x^2,\sqrt{2}xy,y^2)
可以验证,
<P(v_1),P(v_2)> &= &<(x_1^2,\sqrt{2}x_1y_1,y_1^2),(x_2^2,\sqrt{2}x_2y_2,y_2^2)> \\ &= &x_1^2x_2^2 + 2x_1x_2y_1y_2+y_1^2y_2^2 \\ &= &(x_1x_2 + y_1y_2)^2 \\ &= &<v_1,v_2>^2 \\ &= &K(v_1,v_2)
在P这个映射下,原来二维空间中的图在三维空间中的像是这个样子:
(前后轴为x轴,左右轴为y轴,上下轴为z轴)
注意到绿色的平面可以完美地分割红色和紫色,也就是说,两类数据在三维空间中变成线性可分的了。
而三维中的这个判决边界,再映射回二维空间中是这样的:
这是一条双曲线,它不是线性的。
================================================
如上面的例子所说,核函数的作用就是隐含着一个从低维空间到高维空间的映射,而这个映射可以把低维空间中线性不可分的两类点变成线性可分的。
当然,我举的这个具体例子强烈地依赖于数据在原始空间中的位置。
事实中使用的核函数往往比这个例子复杂得多。它们对应的映射并不一定能够显式地表达出来;它们映射到的高维空间的维数也比我举的例子(三维)高得多,甚至是无穷维的。这样,就可以期待原来并不线性可分的两类点变成线性可分的了。
================================================
在机器学习中常用的核函数,一般有这么几类,也就是LibSVM中自带的这几类:
1) 线性:K(v_1,v_2)=<v_1,v_2>
2) 多项式:K(v_1,v_2)=(\gamma<v_1,v_2>+c)^n
3) Radial basis function:K(v_1,v_2)=\exp(-\gamma||v_1-v_2||^2)
4) Sigmoid:K(v_1,v_2)=\tanh(\gamma<v_1,v_2>+c)
我举的例子是多项式核函数中\gamma=1, c=0, n=2的情况。
在实用中,很多使用者都是盲目地试验各种核函数,并扫描其中的参数,选择效果最好的。至于什么样的核函数适用于什么样的问题,大多数人都不懂。很不幸,我也属于这大多数人,所以如果有人对这个问题有理论性的理解,还请指教。
================================================
核函数要满足的条件称为。
由于我以应用SVM为主,对它的理论并不很了解,就不阐述什么了。
使用SVM的很多人甚至都不知道这个条件,也不关心它;有些不满足该条件的函数也被拿来当核函数用。

转载于:https://www.cnblogs.com/lmsj918/p/4035415.html

你可能感兴趣的文章
文件操作
查看>>
Python:GUI之tkinter学习笔记3事件绑定(转载自https://www.cnblogs.com/progor/p/8505599.html)...
查看>>
jquery基本选择器
查看>>
hdu 1010 dfs搜索
查看>>
搭建wamp环境,数据库基础知识
查看>>
android中DatePicker和TimePicker的使用
查看>>
SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
查看>>
Android中获取应用程序(包)的大小-----PackageManager的使用(二)
查看>>
BZOJ 3714 PA2014 Kuglarz
查看>>
ES6中声明变量 let和const特点
查看>>
多线程
查看>>
团队第三次作业
查看>>
MySQL 索引与 B+ 树
查看>>
idea 取消代码下波浪线
查看>>
Hibernate之CRUD操作
查看>>
hibernate创建本地查询后进行查询的时候报错: could not execute query;列名无效
查看>>
参考ArcGIS10自定义实现要素附件管理(FeatureAttachmentManager)
查看>>
5.8 上午
查看>>
dedecms开启报错
查看>>
phpredis 订阅者模式
查看>>