Kernel Methods (1) 从简单的例子开始
一个简单的分类问题, 如图左半部分所示. 很明显, 我们需要一个决策边界为椭圆形的非线性分类器.
我们可以利用原来的特征构造新的特征: \((x_1, x_2) \to (x_1^2, \sqrt 2 x_1x_2, x_2^2)\), 如此一来, 原来的数据从二维空间被映射到了三维. 这个时候, 原来线性不可分的数据已经线性可分了:
\[\frac {x_1^2}{a^2} + 0*\sqrt 2 x_1x_2 + \frac {x_2^2}{b^2} = 1\]
在二维空间里, 它是一个椭圆;在三维空间里它是一个平面: \(A x + Bz = 1\), 其中\(A = \frac 1{a^2}, B = \frac 1{b^2}\).
为方便描述, 现在我们来给出一些要用到的定义:
- 原始输入(raw input): 直接输入分类器的特征数据:\(x = (x_1, x_2, \dots, x_n)\). 它们所在的空间被称为输入空间(input space): \(\chi \in R^n\)
- 特征映射函数\(\Phi\):\(R^n \to R^d\), \(\Phi(x) = z = (z_1, z_2, \dots, z_d)\), 它将原始输入映射到一个\(d\)维空间, 称为特征空间(feature space):\(H \in R^d\). \(d\)一般要大于\(n\)
再看一个例子. 这个特征空间\(H\)是一个二维空间, 数据样本是线性可分的. 现在我们根据一种简单的分类原则来求出一个线性分类器.
分类原则如下:
- 特征空间中有正(+)负(o)两类样本, 它的中心点分别为\(c_+ = \frac {1}{m_+}\sum_{y_i = 1}z_i\), \(c_- = \frac {1}{m_-}\sum_{y_i = -1}z_i\), \(m_+, m_-\)分别为正负样本的个数.
- \(c_+, c_-\)两点的中点为\(c = \frac {c_+ + c_-}{2}\)
- 测试样本\(x\)在特征中空间中的表达为\(z=\Phi(x)\).
- 若向量\(z - c\)与向量\(c_+ - c_-\)之间的夹角小于\(90^\circ\), 则\(z\)为正类, 否则为负类.
Kernel Methods (1) 从简单的例子开始的更多相关文章
- PRML读书会第六章 Kernel Methods(核函数,线性回归的Dual Representations,高斯过程 ,Gaussian Processes)
主讲人 网络上的尼采 (新浪微博:@Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:16:05 今天的主要内容:Kernel的基本知识,高斯过程.边思考边打字,有点慢, ...
- Kernel Methods - An conclusion
Kernel Methods理论的几个要点: 隐藏的特征映射函数\(\Phi\) 核函数\(\kappa\): 条件: 对称, 正半定; 合法的每个kernel function都能找到对应的\(\P ...
- Kernel methods on spike train space for neuroscience: a tutorial
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 时序点过程:http://www.tensorinfinity.com/paper_154.html Abstract 在过去的十年中,人 ...
- Kernel Methods (2) Kernel function
几个重要的问题 现在已经知道了kernel function的定义, 以及使用kernel后可以将非线性问题转换成一个线性问题. 在使用kernel 方法时, 如果稍微思考一下的话, 就会遇到以下几个 ...
- 核方法(Kernel Methods)
核方法(Kernel Methods) 支持向量机(SVM)是机器学习中一个常见的算法,通过最大间隔的思想去求解一个优化问题,得到一个分类超平面.对于非线性问题,则是通过引入核函数,对特征进行映射(通 ...
- 简单的例子了解自定义ViewGroup(一)
在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...
- CSharpGL(1)从最简单的例子开始使用CSharpGL
CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- Kernel Methods (4) Kernel SVM
(本文假设你已经知道了hard margin SVM的基本知识.) 如果要为Kernel methods找一个最好搭档, 那肯定是SVM. SVM从90年代开始流行, 直至2012年被deep lea ...
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
随机推荐
- 在Docker中运行web应用
启动一个简单的web 应用 使用社区提供的模板,启动一个简单的web应用,熟悉下各种Docker命令的使用: # docker run -d -P training/webapp python app ...
- nginx 入门
1.nginx 如何处理一个请求 IP,域名的处理 server { listen 80 default_server; //添加 default_server就是一个默认的server ...
- 创建简单的机器人模型smartcar
前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人 smartcar,为后面建立复杂机器人打下基础. 一.创建硬件描述包. cd ~/catkin_ws/srcroscr ...
- RPM方式编译升级centos内核
[root@iZ2893wjzgyZ ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@iZ2893wjzgyZ ...
- 关于调试日志Log
__VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持).宏前面加上##的作用在于,当可变参数的个数为0时,这里的## ...
- html中label宽度设置、非替换元素和替换元素
<label ></label> 单独对label设置一个width:100px的属性石不起作用的,和float:left或者display:inline-block配合的话 ...
- xhEditor用法
xhEditor是一个基于jQuery开发的简单迷你并且高效的在线可视化HTML编辑器,而且兼容很多浏览器,所以就选它了,具体使用如下: 1 .下载xhEditor 最新版本 下载地址:http:// ...
- typeof关键字简介 -rtti
typeof关键字是C语言中的一个新扩展.只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别: 声明 函数声明符中的参数类型链表和返回类 ...
- HoloLens开发手记 - Unity development overview 使用Unity开发概述
Unity Technical Preview for HoloLens最新发行版为:Beta 24,发布于 09/07/2016 开始使用Unity开发HoloLens应用之前,确保你已经安装好了必 ...
- 系统升级日记(2)- 升级到SharePoint Server 2013
最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...