核函数核技巧(Kernel Trick)白话简介
核函数是为了解决分类问题而引入的方法。
有些数据并不是那么容易线性分割,比如我们很容易用一根线条(红色)来分割下图中的黑白点:
但是无法用直线来分割下图中的蓝红数据点:
为了能用简单的直线(或者多维空间的超平面)来分割如上图中的数据集,我们需要“升维”来观察和思考问题。
比如通过一定的映射,把数据映射成如下三维空间这样的分布:
那么显然在新的维度空间中,蓝红色点可以被一个线性平面来分割。
核方法的主要思想是基于这样一个假设:
“在低维空间中不能线性分割的点集,通过转化为高维空间中的点集时,很有可能变为线性可分的”。
然而,如果直接把低维度的数据转化到高维度的空间中,然后再去寻找线性分割平面,会导致计算复杂化。
怎么解决这些问题?答案是通过核技巧(Kernel Trick)。比如原始二维空间两个点P1_ori(x1,y1)和P2_ori(x2,y2),经过映射后变为了三维空间两个点P1(x1,y1,z1)和P2(x2,y2,z1),接下来需要进行相似度计算(也就是计算内积<P1,P2>,内积的几何意义是一个矢量在另外一个矢量上的投影,越相近取值越大),来进一步进行分类任务。为了偷懒(避免高维度空间的内积(点积)计算),我们投机取巧的寻找出一个核函数(Kernel Function)用来简便的计算映射到高维空间之后的内积,这就是所谓的核技巧。
最后放一个人话版在线视频,帮助理解核方法的基本思想。


- 相关文章
2019年NodeJS框架Koa和Express选型比较
Koa和Express都是NodeJS的主流应用开发框架。
Express是一个完整的nodejs应用框架。Koa是由Express团队开发的,但是它有不同的关注点。Koa致力于核心中间件...html5跨平台实战-第一周-水平测验-新闻列表页面
这是一个DIV+CSS布局页面的一个实例,主要介绍POSITION定位、导航UL LI的制作、利用浮动原理对页面分栏、分列的页面布局。新闻页面的效果图
CentOS6 Apache2.2用域名配置多虚拟机
在CentOS下使用域名配置多虚拟机的步骤如下:
1. 使用WebGL、Asm.js和WebAssembly概念简介
随着HTML技术的发展,网页要解决的问题已经远不止是简单的文本信息,而包括了更多的高性能图像处理和3D渲染方面。这正是要引入WebGL、Asm.js和WebAssembly这些技...
CSS3属性选择器特性使用详解
CSS3除了引入动画、滤镜(用于特效)以及新的布局技术外,在选择器(selector)方面也有增强。属性选择器根据元素的属性(attributes)来匹配。这可以是一个单独...
WebGL Roadmap
Unity 5.0 shipped with a working preview of our WebGL technology in March this year. Since then, Google has disabled (by default) NPAPI support in the...
ES6小知识:动态对象键(Dynamic Object Keys)语法简介
在ES5,对象的键(key)总是被解释为字符串。ES6允许我们使用计算的值作为对象的键,使用方括号:[myKey]const
深入理解CSS3滤镜(filter)功能和实例详解
CSS3滤镜功能源自SVG滤镜规范,SVG滤镜最早用来给矢量图添加类似PS中像素图的一些特效。
把这个滤镜功能引入到普通HTML元素中可以带来很有趣的效果(模糊、...HTTP/2背景和新特性简介
Three.js入门教程6 - 创建全景图和纹理
全景图非常酷。使用Three.js做一个属于自己的全景图并不是那么困难。要做一个全景图,你需要一个软件用来做一张全景图片。我使用了iPhone上的Microsoft Photosyn...
如何基于Canvas来模拟真实雨景Part2:重力掉落和雨滴融合
如何使用CSS3实现一个3D商品标签
使用3D缎带形状的标签是常见的一个设计模式,用在商品折扣、文章标题或网站推荐信息上,来突出显示重点内容,吸引用户视觉焦点。实现的方法有2种,一种是使用背...
更多...