我们在学习机器学习的时候,总是会看到一个概念——核,然后看到一堆公式。但是为什么要核呢?核到底是啥玩意?云里雾里。接下来,我们将要把“核”这个东西的神秘面纱一点点揭开。

一、什么是“核函数”

我们都知道,机器学习(神经网络)的一个很重要的目的,就是将数据分类。我们想象下面这个数据(图1),在二维空间(特征表示为)中随机分布的两类数据(用圆圈和叉叉表示)。

如果我们想要将这两类数据进行分类,那么分类的边界将会是一个椭圆:

但是如果我们可以通过一个映射,将数据的特征通过某个非线性映射映射到三维空间,其特征表示为,并且映射关系为,那么我们是不是就可以用一个平面来将其分类,也即是将上述椭圆的x特征换成z特征:

其实这个映射,就是将一个空间中的特征转换到另外一个空间,这就是空间转换(映射)的意义,即可以将原来线性不好分的数据转换到另外一个空间,在这个空间中可以用一个超平面线性可分。

在机器学习中,我们要用到内积运算。而在映射后的高维空间中,内积往往是很不好求解的。所以,我们能不能找到在低维空间中的某个运算,恰好等于高维空间中的内积运算呢?

设在原空间中有两个点,映射到高维空间中变成,我们来看这个例子中的高维空间的内积运算:

我们就将低维空间中的这个对于内积的运算定义为核函数。换句话说,核函数就是低维空间中的内积的某个函数,或者写成,因为在别的例子中,有可能不是内积的平方。即核函数就等于就是高维空间的内积。

二、为什么要用核函数

因为在机器学习中,我们求解的过程要用到内积,而变换后的高维空间的内积我们不好求,所以我们定义了这个核函数,可以把高维空间的内积运算转化成内为空间的某些运算,这样求起来不是很简单吗?

换句话说,如果我们有了核函数,我们就不再需要知道那个映射到底是个什么鬼,我们就可以直接通过核函数,就可以求导高维空间的内积了,从而可以计算出高维空间中两个数据点之间的距离和角度。

三、怎么用?(一个简单的分类例子)

现在我们假设,有N个数据{},其中是第i个数据的p维特征,是第i个数据的分类标签,现将其映射到高维空间变成,而在这个空间中,有两个类别,所以标签可以假定为+和-,其中每一类的样本个数为。正样本的中心点,负样本的中心点,从有一条差向量,而w的中心点为C,所以在C点垂直于w的超平面就是两类的分类边界。

而想要把某个数据分类为+的依据为:从C点到样本点的向量差与w向量的夹角应该小于90°,也即:;反之,。即,当内积为正,那就说明在分类1,内积为负,就说明在分类2。即:

于是我们来的表达式:

(PS:说到这,你应该知道为什么分类需要内积了吧?因为内积的正负代表了数据点是位于分类边界的正方向还是负方向,从而实现分类。)

其中:

后面的就不继续写了,化简形式都一样,即:我们就可以把高维空间的内积,改写成低维空间的核函数的形式,这样在不知道映射是个什么鬼的情况下吗,也可以轻松地进行分类工作了。

四、补充一点

1. 有限半正半定:给定任意有限 n个点(x1~xn),求解其矩阵是正定的:

五. 核函数与机器学习的关系

我们在机器学习中,经常看到,而我们看上面的公式,是不是感觉到很熟悉?

机器学习中的核函数与核方法(是什么?为什么?怎么做?)相关推荐

  1. 机器学习中的核函数与核方法(好!)

    原文见:https://blog.csdn.net/qq_34099953/article/details/84316905 我们在学习机器学习的时候,总是会看到一个概念--核,然后看到一堆公式.但是 ...

  2. 机器学习中的特征——特征选择的方法以及注意点

    机器学习中的特征--特征选择的方法以及注意点 https://blog.csdn.net/google19890102/article/details/40019271 关于机器学习中的特征我有话要说 ...

  3. 一文介绍机器学习中的三种特征选择方法

    作者 | luanhz 来源 | 小数志 导读 机器学习中的一个经典理论是:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.也正因如此,特征工程在机器学习流程中占有着重要地位.广义的特征 ...

  4. 应用在机器学习中的聚类数据集产生方法

    简 介: 本文根据 机器学习中常用的聚类数据集生成方法 中的内容进行编辑实验和整理而得.并在之后对于聚类数据库生成进行不断的补充. 关键词: 机器学习,聚类算法,数据集合 §01 直接生成   这类方 ...

  5. 机器学习中防止过拟合的方法总结

    来自机器学习成长之路公众号 在对模型进行训练时,有可能遇到训练数据不够,即训练数据无法对整个数据的分布进行估计的时候,或者在对模型进行过度训练(overtraining)时,常常会导致模型的过拟合(o ...

  6. 机器学习中数据预处理——标准化/归一化方法(scaler)

    由于工作问题比较忙,有两周没有总结一下工作学习中遇到的问题. 这篇主要是关于机器学习中的数据预处理的scaler变化. 工作中遇到的问题是:流量预测问题,拿到的数据差距非常大,凌晨的通话流量很少几乎为 ...

  7. 【超全面】机器学习中的超参优化方法总结

    目录 1. 什么是超参数 2. 超参数类型 3. 主流超参优化方法 (1)手动调参 缺点: python代码:(例子) 手动调参 参数的重要性顺序 超参具体如何影响模型性能 超参合适的范围 (2)网格 ...

  8. 10个机器学习中常用的距离度量方法

    转载:Deephub Imba 距离度量是有监督和无监督学习算法的基础,包括k近邻.支持向量机和k均值聚类等. 距离度量的选择影响我们的机器学习结果,因此考虑哪种度量最适合这个问题是很重要的.因此,我 ...

  9. 机器学习中四种调参方法总结

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨AI公园 编辑丨极市平台 导读 ML工作流中最困难的部分之一是 ...

  10. 机器学习中对核函数的理解

    http://mp.weixin.qq.com/s?__biz=MzIxNDIwMTk2OQ==&mid=2649077019&idx=1&sn=e0c4a6c502e3668 ...

最新文章

  1. 返回Json数据浏览器带上<pre></pre>标签解决方法
  2. java解压obb_Bundle包转apk(.obb格式转.apk)
  3. python多进程间通信_python多进程间通信代码实例
  4. vc++深入详解学习-NO.3
  5. solidity 十六进制字符串转十六进制bytes
  6. 操作es_ES打野皇子操作看呆Uzi:这哥们肯定是深得Lucky真传
  7. php秒杀框架,yii框架redis结合php实现秒杀效果(实例代码)
  8. 关于Fedora8中DNS配置问题解决
  9. Winform界面中实现菜单列表的动态个性化配置管理
  10. Jay Simons谈Atlassian收购Trello
  11. linux 集成 3g 模块 串口 option,华为等 3G、4G模块拨号上网过程分析
  12. python入门教程pdf-《python基础教程第三版》高清版PDF免费下载
  13. 大数据基础和硬件介绍
  14. 微弱光信号检测MATLAB,基于数字锁相放大器的微弱光电信号检测研究
  15. 2022-2028全球针织捆包网行业调研及趋势分析报告
  16. 64位系统装32位计算机,64位电脑装32位系统,教您64位电脑怎么装32位系统
  17. layui结合json viewer实现代码格式化
  18. 阿里云-印刷文字识别-营业执照识别
  19. 重置域管理员密码_如何在Server 2008 R2上重置忘记的域管理员密码
  20. Mapbox GL JS 表达式概述

热门文章

  1. 基于django的实验室网站管理平台设计与实现(二)
  2. 【Multisim】关于Multisim仿真“运放积分器”出现的问题以及解决方法
  3. ibus 五笔输入法 极点五笔6.1词库hack
  4. Pyltp的安装使用笔记
  5. win10本地计算机策略进不去,win10系统gpedit.msc打不开怎么处理 win10本地安全策略打不开...
  6. Captin for mac(大小写切换悬浮窗提示)
  7. java毕业设计高校多媒体设备报修管理系统源码+系统+数据库+lw文档+调试运行
  8. 三调 图斑地类面积_关于三调,国土空间规划中至少需要这些知识
  9. 微信小程序服务器.net,微信小程序登陆 .net 后端实现
  10. Python项目如何打包成whl文件