当前课程知识点:机器学习概论 > 第八章 支持向量机(II)和无监督学习 > 8.4 支持向量机总结 > 支持向量机总结
那么接下来给大家了解一下 有一些软件 这个software 包括有Libsvm
然后是台湾的研究者提供了很好用 或者是Liblinear SVMlight
这个并不是唯一的三个工具包 还有很多其他的
但这是比较常用的一些 我们接下来讨论一下核函数的学习
更通用一点 我们来看一下核函数的学习有什么样的好处
什么叫做 如果说有一个函数K 它能够把我们在实数空间上面的
Rn乘以Rn实数空间上的值 把它映射为这个R
就原来n为实数空间上的Rn乘以Rn 把它映射为一个实数值R
那么我们就把这个函数K称作n维的实数空间上的一个Kernel
如果存在这样的一个映射 能够把这个input空间 N维的输入空间
映射到函数空间f来 而且这个映射是使得我在原始空间上的
这个函数K它的取值 等于我映射之后函数空间的两个点的内积
那么我们就把这样的函数叫做核函数 这是它的一些正式的定义
我们刚才已经提到了很多次 事实上我们是说
我们经常的用Kernel的这种方式是说如果你的问题涉及到了x和x′
你原来不是那么好算 然后你需要把它替换
你可以把它替换成一个Kernel(x,x′)
然后这样就使得你相当于是在一个函数空间上去来做一个操作了
这个函数 如果你的这种映射本身是线性映射的话
那么我们就把这个函数叫做核函数 就是线性核函数
但是我们其实并不需要真的把这个函数计算出来
在这种Kernel方法里面 我们其实主要给大家介绍了Kernel SVM
其实还有很多 比如说Kernel logistic regression还有Kernel SVD、Kernel PCA
什么的这些 那作为一些扩充的
大家只要了解一些Kernel的这种方式不是只有在SVM里面能用
还在很多其他地方也可以用就好了
所以我们来总结一下 事实上我们基本上是说
原来的线性的支持向量级 我们的目的是去要找到一个线性把它
如果是线性可分的问题 我们就要找到一个最大的间隔
把它们两个分开 然后我们通过求原问题和对偶问题的方式来去计算
如果是对于线性不可分的问题
我们其实可以在容忍一定的分类错误的条件下 引入松驰变量
然后仍然把它当成一个线性可分的问题来做
仍然是可以有一个对偶问题来去解决
另外当我们使用了 刚才说是线性的SVM
线性SVM仍然受到一些使用的局限 于是我们把它
我们今天的课上学习的Kernel SVM 就是基于核的SVM
在基于核的SVM里面 我们就是通过一个函数的映射
把原来的空间 输入空间上的 数据映射到了函数空间上
使得使用了我们这个Kernel的计算
在原来的空间上计算Kernel 函数的取值
它等于我们函数空间上的两个映射值之间的内积
这一点我们把它叫做Kernel trick然后我们说有三种不同的方式去构造
尤其是在第三种里面 我们可以通过一些已知的
有效的Kernel 来构造出新的Kernel来
那最后在在slides上面给大家一些补充的信息 比如说优化理论
就是我们那个对偶问题是怎么回事
我们只是简单的给了一些slides
如果感兴趣的同学 可能你还需要再去多读一些
和优化理论相关的信息 另外我们推荐大家有几个特别感兴趣
背后的原理和想进一步深入分析的同学 有一些可以读的东西
比如说这个是有一个tutorial 就是一个讲习班的一个slide 是1998年的
就是关于SVM for pattern recognition 这个就是模式识别中的支持向量机可以了解一下
还有Joachims 他是机器学习领域一个非常活跃的
一个很著名的研究者 学者 他是有这么一篇就是Learning with many relevant features
这个也可以读一下 也是1998年 基本上在1998年左右的时候
会研究比较多 还有这个是Vapnik自己的An overview of statistical learning theory因为大家通常会觉得SVM
就是 Vapnik是统计学习理论的先驱者之一
也是使得它有极大发展的一个有贡献的人
甚至有人甚为Vapnik因为他在SVM和统计学习上面的贡献
有人认为他是应该迟早能够获得图灵奖的 还有这个A tutorial on support vector regression
如果感兴趣的话也可以看一下 一般我会比较倾向于建议大家
对于大家现在这个阶段来说 可能先从读tutorial做起
就是tutorial相当于是在一些大的会议上面 花半天或一天的时间
有一个研究者 由浅入深的去总结目前这个领域在这个方向上的
从基本的概念 一直到现在的发展阶段 所以难度不会很难
但是信息比较全 所以大家感兴趣的还可以先读这两个tutorial
然后再读一些相关的paper就可以了 但是我们补充一句说
SVM并不是万能的 其实它有自己的缺点 它的好处
我希望大家 当然现在为止我们强调很多次
它的最巧妙的地方就是把一个低维空间线性不可分的问题
把它映射到了一个高维的空间
然后在这个高维空间上面把它变成一个线性可分的问题
这是它最巧妙的地方 另一个巧妙的地方是说
你不需要知道这个映射是什么 你不需要在高维空间上去求解
你只要回到你的低维空间上求解 求Kernel函数的解就行了
但是它有一个很大的缺点 缺点就是它的核心 Kernel这个部分
就是因为你怎么映射不确定 因为不是唯一的
你可以有很多种不同的映射的方法 当然不同的映射的方法
它的复杂度是不一样的 所以我们目前还没有一个办法说
在什么样的情况如何映射是最优的办法 没有这样的
所以我们基本上在这一点上你只能凭经验的去选或者试
所以很多人在拿SVM去做的时候 就变成了调参的一部分
我试试高斯核看看结果 再试一试多项式核看看结果
再试一试别的核看一看怎么样 所以通常这个是一个
目前没有一个非常好的有证明的解说 怎么样最好的一个办法
而且它本身也不是一个有唯一解的问题
-1.1 课程介绍
--课程介绍(1)
--课程介绍(2)
-1.2 机器学习的背景
--机器学习的背景
-1.3 什么是机器学习
--什么是机器学习
-1.4 机器学习系统设计
-第一章作业
-2.1 决策树的基本概念
--决策树的基本概念
-2.2 决策树的实例和发展历史
-2.3 经典决策树算法ID3
-2.4 过拟合和前剪枝
--过拟合和前剪枝
-第二章作业
-3.1 下午茶时间:勒索软件
-3.2 后剪枝
--后剪枝
-3.3 决策树的改进和归纳学习假设
-3.4 贝叶斯学习的背景
--贝叶斯学习的背景
-3.5 极大似然假设、朴素贝叶斯和最小描述长度
-第三章作业
-4.1 下午茶时间:微博的垃圾检测
-4.2 马尔可夫模型
--马尔可夫模型
-4.3 隐马尔可夫模型
--隐马尔可夫模型
-4.4 评估问题
--评估问题(1)
--评估问题(2)
-4.5 解码问题
--解码问题
-4.6 隐马尔可夫模型的应用
-第四章作业
-5.1 下午茶时间:图灵奖
-5.2 假设评估
--假设评估(1)
--假设评估(2)
--假设评估(3)
-5.3 置信度和置信区间
-5.4 有限数据下的比较
--有限数据下的比较
-第五章作业
-6.1 下午茶时间:黑洞照片
-6.2 基于实例的学习的基本概念
-6.3 最近邻算法
--最近邻算法
-6.4 K邻近算法
--K近邻算法
-6.5 KD树
--KD树
-6.6 距离加权的K近邻算法
-第六章考试
-7.1 支持向量机的背景
--支持向量机的背景
-7.2 线性支持向量机
-第七章作业
-8.1 核函数支持向量机
-8.4 支持向量机总结
--支持向量机总结
-8.5 无监督学习简介
-8.6 层次聚类
--层次聚类
-8.7 K-means聚类和K-medoids聚类
-第八章作业




