本文对核方法(kernel method)进行简要的介绍。

核方法的主要思想是基于这样一个假设:“在低维空间中不能线性分割的点集,通过转化为高维空间中的点集时,很有可能变为线性可分的” ,例如下图

左图的两类数据要想在一维空间上线性分开是不可能的,然而通过F(x)=(x-a)(x-b)把一维空间上的点转化为右图上的二维空间上,就是可以线性分割的了。

然而,如果直接把低维度的数据转化到高维度的空间中,然后再去寻找线性分割平面,会遇到两个大问题,一是由于是在高维度空间中计算,导致curse of dimension问题;二是非常的麻烦,每一个点都必须先转换到高维度空间,然后求取分割平面的参数等等;怎么解决这些问题?答案是通过核戏法(kernel trick)。

(pku, shinningmonster, sewm)

Kernel Trick: 定义一个核函数K(x1,x2) = <\phi(x1), \phi(x2)>, 其中x1和x2是低维度空间中点(在这里可以是标量,也可以是向量),\phi(xi)是低维度空间的点xi转化为高维度空间中的点的表示,< , > 表示向量的内积。

这里核函数K(x1,x2)的表达方式一般都不会显式地写为内积的形式,即我们不关心高维度空间的形式。核函数巧妙地解决了上述的问题,在高维度中向量的内积通过低维度的点的核函数就可以计算了。这种技巧被称为Kernel trick。这里还有一个问题:“为什么我们要关心向量的内积?”,一般地,我们可以把分类(或者回归)的问题分为两类:参数学习的形式和基于实例的学习形式。

参数学习的形式就是通过一堆训练数据,把相应模型的参数给学习出来,然后训练数据就没有用了,对于新的数据,用学习出来的参数即可以得到相应的结论;

而基于实例的学习(又叫基于内存的学习)则是在预测的时候也会使用训练数据,如KNN算法。而基于实例的学习一般就需要判定两个点之间的相似程度,一般就通过向量的内积来表达。从这里可以看出,核方法不是万能的,它一般只针对基于实例的学习。

紧接着,我们还需要解决一个问题,即核函数的存在性判断和如何构造? 既然我们不关心高维度空间的表达形式,那么怎么才能判断一个函数是否是核函数呢?

Mercer 定理:任何半正定的函数都可以作为核函数。所谓半正定的函数f(xi,xj),是指拥有训练数据集合(x1,x2,...xn),我们定义一个矩阵的元素aij = f(xi,xj),这个矩阵式n*n的,如果这个矩阵是半正定的,那么f(xi,xj)就称为半正定的函数。这个mercer定理不是核函数必要条件,只是一个充分条件,即还有不满足mercer定理的函数也可以是核函数。常见的核函数有高斯核,多项式核等等,在这些常见核的基础上,通过核函数的性质(如对称性等)可以进一步构造出新的核函数。SVM是目前核方法应用的经典模型。

上述是目前我所理解到的核方法的主要精神。

核方法(kernel method)的主要思想相关推荐

  1. 【优化】核方法(kernel method)超简说明

    本文不做数学推导,仅从最简单的概念上讲解核方法. 问题 有训练样本 x i x_i xi​,其标定 y i y_i yi​, i=1,2-N. 欲求解一个回归函数 f ( z ) f(z) f(z), ...

  2. Kernel Method核方法—应用与理解

    前一篇主要梳理了几个基本概念以及相关关系,这一篇主要针对核方法的应用进行讨论,并理解核方法的思想,了解为什么要引入核方法. 核方法在机器学习中是一种灵活的技术,主要归结为两个方面: 非线性问题转换为高 ...

  3. Kernel Method核方法—基本概念

    这里只是简单叙述了核方法中运用到的几个概念和相互的关系,包括什么是核函数Kernel function.正定函数Positive definite function.再生核希尔伯特空间Reproduc ...

  4. 机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)

    Note 6 核, 核方法与核函数 到目前为止,我们所讨论的机器学习算法的成功都依赖于对输入数据分布的假设.例如,PCA的效果越好,数据围绕线性子空间分布.或者在线性判别分析中,我们假设类的高斯分布, ...

  5. matlab求logistics映射 的le_高维映射 与 核方法(Kernel Methods)

    高维映射跟核方法的概念很容易混淆. 高维映射通过将样本从原始空间映射到一个更高维的特征空间,从而解决了低纬下难以解决的问题. 核方法往往跟高维映射配合使用,可以看做是一种技巧,可以通过它来避免这种映射 ...

  6. DNN盛行的当下,老旧的核(kernel)方法或能打开神经网络的魔盒

    ©作者 | 杜伟 来源 | 机器之心 重新思考「老旧的」核(kernel)方法,或许可以破解深度学习的奥秘. 在机器学习(ML)的世界,人工神经网络(ANN)越来越大的演化趋势以及超大规模网络取得的成 ...

  7. paper 6:支持向量机系列三:Kernel —— 介绍核方法,并由此将支持向量机推广到非线性的情况。...

    前面我们介绍了线性情况下的支持向量机,它通过寻找一个线性的超平面来达到对数据进行分类的目的.不过,由于是线性方法,所以对非线性的数据就没有办法处理了.例如图中的两类数据,分别分布为两个圆圈的形状,不论 ...

  8. 关系抽取论文整理,核方法、远程监督的重点都在这里

    来源 | CSDN 博客 作者 | Matt_sh,编辑 | Carol 来源 | CSDN云计算(ID:CSDNcloud) 本文是个人阅读文章的笔记整理,没有涉及到深度学习在关系抽取中的应用. 笔 ...

  9. Kernel Method的理解

    kernel method是针对低维线性不可分而提出的一种解决方法,在PRML中有一章节的介绍,对其理解,也是迭代更进的过程. 简单来说,kernel method是一种低维和高维特征空间映射的方法, ...

最新文章

  1. select初始化默认选项
  2. 爬虫 - HDU题目信息
  3. C语言 结构体 struct Cat cat1;
  4. 云服务器php版本修改,云服务器 更改php版本
  5. python 内置数据类型之数字
  6. Python中MD5加密
  7. 摩托罗拉linux专属游戏,摩托罗拉E680软件以及游戏应用大全
  8. Android 读取按键及Touch Panel
  9. 关于消息队列的一些思考
  10. C语言函数中的3个点 ...有什么作用
  11. 尚硅谷谷粒商城第九天 模板引擎-Thymeleaf
  12. 数字化波形声音的wav文件浅析
  13. Python游戏开发-02-生成日志写入文件
  14. Python - 计算复杂算式和分式
  15. Mahout0.9—Hadoop2.20—FPG关联规则算法
  16. 对 Nginx 的初步了解
  17. matlab实验之简单识别手写0-9数字程序
  18. 2023年2月浙江省中小企业协会与各专委会大事记
  19. FP6296锂电池升压 5V9V12V内置 MOS 大功率方案原理图
  20. 【难得偷闲win7主题】_7.26

热门文章

  1. 用计算机弹雅俗共赏,聊聊雅俗共赏:钢琴、饺子和面
  2. PHP利用memcache缓存技术提高响应速度
  3. java判断一个月间隔_如何检查间隔列表(Joda-Time)是否完全涵盖Java中的一个月
  4. install mysql 5.6.22 source code
  5. mysql5.7版本的新特性_MySQL 5.7版本新特性(一)
  6. opencv转单通道python_在OpenCv(Python)中查找单通道图像的目录
  7. mysql数据没有同步更新_MySQL数据库主从没有同步的两种解决方案
  8. virtualbox使用手记
  9. physx选择显卡还是cpu_3D建模和渲染吃CPU还是显卡?专业显卡和游戏显卡的区别...
  10. java过滤集合数量,java – 使用lambdaj过滤集合