背景

上一讲从对偶问题的角度描述了SVM问题,但是始终需要计算原始数据feature转换后的数据。这一讲,通过一个kernel(核函数)技巧,可以省去feature转换计算,但是仍然可以利用feature转换的特性。

 

什么是kernel

Kernel的其实就是将向量feature转换与点积运算合并后的运算,如下,

概念上很简单,但是并不是所有的feature转换函数都有kernel的特性。

 

Kernel化的SVM

在对偶化的SVM解中,有三个地方会使用到kernel

  • 计算截距b
  • 计算QP中的Q矩阵
  • 预测分类

使用了kernel,w的具体值都无需计算,因为没有地方会直接使用w。这也是为什么上一讲花了那么大的精力描述对偶化的SVM解。

 

常见kernel

常见kernel有多项式,高斯和线性,各有利弊。

 

线性kernel

不做feature转换,直接使用。不需要使用对偶技巧,直接使用linear hard SVM解。

优点:计算效率高;结果解释性好。

缺点:需要数据线性可分

 

多项kernel

对x进行多项式展开,一般的形式为

其中a,b,Q为常量。

优点:相比线性kernel,对数据要求没有那么严格

缺点:需要选择的系数较多;Q太大会超出一些计算机的精度,一般Q<=3。

 

高斯Kernel

有些资料也称为RBF(Radial Base Function),一般形式为

其中a(>0)是常量。高斯kernel厉害的地方是可以将原始数据x映射到无线维度空间中,x下面取a=1的例子

上面的变化采用了Taylor展开,接着

其中特征转化为

这样,就完成了向无线维度转换,RBF是不是很厉害!

优点:调试的系数较少;比线性和多项式更强大,几乎可以适应所有数据;不容易出现计算精度问题

缺点:无线维度无法解释;太强大,容易过拟合;计算开销大。

 

总结

个人感觉,核函数是SVM画龙点睛之笔,真的很佩服发现kernel的科学家。在实际使用SVM的过程中,很大一部分精力可能就是选择kernel和相关系数。Kernel还可以自定义,但是需要满足一些条件,具体可以参考讲义相关部分。

机器学习技法--学习笔记03--Kernel技巧的更多相关文章

  1. 机器学习技法--学习笔记04--Soft SVM

    背景 之前所讨论的SVM都是非常严格的hard版本,必须要求每个点都被正确的区分开.但是,实际情况时很少出现这种情况的,因为噪声数据时无法避免的.所以,需要在hard SVM上添加容错机制,使得可以容 ...

  2. 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试

    机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...

  3. OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓

    本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...

  4. OpenCV 学习笔记03 findContours函数

    opencv-python   4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...

  5. TensorFlow机器学习框架-学习笔记-001

    # TensorFlow机器学习框架-学习笔记-001 ### 测试TensorFlow环境是否安装完成-----------------------------```import tensorflo ...

  6. 《软件调试的艺术》学习笔记——GDB使用技巧摘要

    <软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. ...

  7. C++ GUI Qt4学习笔记03

    C++ GUI Qt4学习笔记03   qtc++spreadsheet文档工具resources 本章介绍创建Spreadsheet应用程序的主窗口 1.子类化QMainWindow 通过子类化QM ...

  8. SaToken学习笔记-03

    SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一 ...

  9. Redis:学习笔记-03

    Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动 ...

随机推荐

  1. Oracle 游标使用

    今天看到一篇很帮的游标,所以强烈转一下 http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html -- 声明游标:CURSOR curs ...

  2. 21: Arithmetic Sequence--HZAU(dp)

    http://acm.hzau.edu.cn/problem.php?id=21 题目大意: 给你一个序列问在数字最多的等比数列 分析:  刚开始看到题就知道是一个dp但是我dp实在是渣到不行 后来发 ...

  3. imageNamed、imageWithContentsOfFile、imageWithData

    [UIImage imageNamed:ImageName]; 1.加载图片占据的内存较大 2.相同的图片只会加载一份到内存中,如果同时使用,使用同一个对象即可 3.当对象销毁,图片对象不会随着一起销 ...

  4. mysql基本命令(转)

    连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空 ...

  5. Linux内核分析之扒开系统调用的三层皮(上)

    一.原理总结 本周老师讲的内容主要包括三个方面,用户态.内核态和中断,系统调用概述,以及使用库函数API获取系统当前时间.系统调用是操作系统为用户态进程与硬件设备进行交互提供的一组接口,也是一种特殊的 ...

  6. 【整理】--VC 编译整理

    .h用于编译阶段的审核,如在math.h中有函数声明:int abs(int);但是在使用中写为#include <math.h>...abs(3,5);编译器阶段就会检测出错误. .dl ...

  7. WCF的一点补充-Restful相关

    参考 配置WCF心得 对REST架构 风格下WCF的一点补充 Securing WCF REST Service with Azure AppFabric Access Control Service ...

  8. C#设计模式(18)——中介者模式(Mediator Pattern)

    一.引言 在现实生活中,有很多中介者模式的身影,例如QQ游戏平台,聊天室.QQ群和短信平台,这些都是中介者模式在现实生活中的应用,下面就具体分享下我对中介者模式的理解. 二. 中介者模式的介绍 2.1 ...

  9. [.NET 即时通信SignalR] 认识SignalR (一)

    ASP .NET SignalR[1] 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知 ...

  10. 微软MSDN订阅用户已可提前手工下载Windows 10安装包

    在Windows 10发布之夜,当全世界都在翘首以盼Windows 10免费发布推送的到来,MSDN订阅用户可以立马享受一项令人项目的特殊待遇:手工下载Windows 10完整安装包+免费使用的激活密 ...