当前课程知识点:机器学习概论 > 第七章 支持向量机(I) > 7.2 线性支持向量机 > 线性支持向量机(5)
现在我们就有了一个新的公式
这个公式是前面的这一项是线性可分的那个情况 在这个上面
我们引入了一个 引入了松弛变量 就是使得它的训练样例可以有错
然后在这里面我们现在用了Hinge loss
就是这个铰链损失 Hinge loss 然后前面乘一个系数c来去描述
然后其中这个z就是 它的定义就是等于y乘以f(x)
那么在这个里面你会看到 事实上我们有 这个是大家了解一下就行了
就是事实上我们要让(Hinge loss)最小的那个的时候
事实上你是希望 把它等价于 你是希望找到一个最小的ε
然后使得ε大于等于1-z 就是我们这个上面 就是最小的ε大于等于1-z
就是让你这个1-z小于一个ε
引入了这个松弛变量之后 就是我们把这个ε
把它叫做松弛变量 然后这个ε我们把它 这个ε的定义
就是等于maximum的(0,1-z) 就是这个Hinge loss 就是我们的这个loss
我们把它写成ε 然后我们是ε它是大于等于0的
如果它等于0的时候 就是之前线性可分的情况
然后这个问题就变成了让它minimize一个前面的原来的这个部分
就是我们的法向量的模的这个部分
再加上 c的系数乘以一个 我们现在的松弛变量
就是你的Hinge loss 同时约束条件也有点变化
约束条件是y乘以f(x) 它是大于等于1-ε
所谓松弛变量就是它不是要完全要大于等于1了
它是要让大于等于1减去一个ε 就是它比1小一点没关系
你可以有一些错误 它比1小一点是可以接受的
所以它是1-ε的这样的值
然后这个里面我们就引入了一个和ε相关的松弛变量
这个就是在解决线性不可分的问题 和原来的做对比
就主要是后面的这个松弛变量的这个部分
是什么意思呢 我们其实就在这里看一下
我们也把这种情况下叫做soft margin 就是之前是hard margin
就是一个硬的margin 它就是这个间隔
在这个间隔内是没有任何点的 间隔两边也很干净
正例的都在一边 反例的都在另外的 一条线的另外一边
那么现在我们在这种带有松弛变量的情况下
我们把这种margin叫做Soft margin 叫做软的间隔
这个软间隔我们会看到 这里 这个宽度仍然是 是跟原来的一样
那么就是这个宽度的间隔没变
只是我们现在会引入了一个松弛变量
和它的前面这个系数 那么这个 在这次我们除了要找到
最大margin的这个平面之外 我们是允许有一些样例点
被分错了 就是它原来是负例到另外一边 这个正例到了另外一边
也允许有一些样例点 它们落在了margin的区域内
落在了间隔的区域内 那么这个就是我们的
现在要找的soft margin的这样一个问题
那么这个soft margin的时候 它是什么意义呢
就是我们看一看 这个soft margin 这个代表的就是一个
你找到的是一个soft margin 它是什么含义
就是当我的ε这个松弛变量等于0的时候
就意味着你只有前面这一部分 就找对了
找对了就意味着你所有的点其实就是 在这个boundary的上面的点
以及在boundary以外的点 它们都是在自己正确的位置上 都是对的
这是ε等于0的情况 也就是我们线性可分的那种情况
这些点是都做对了的
这些点要么是在margin上 要不是在你的boundary上
边界上 要么在边界外面 如果ε在0到1之间 ε在0到1之间
那事实上就是说 我们的这个 它在区域内 但是它没错
它是对的 就是跟你的决策面
比如说这个上面的这个点 这个点它其实在margin里面了
所以这个ε是在0到1之间 它在区域里 但是它没错 它是对的
因为你的那个分界面是等于0的这条线 所以你还是能分对的
只是说它只是落在了这个之间 它有一个很小的一个loss
如果ε大于1 就是这两个点了 如果ε大于1 就表示它们做错了
它们跑到错误的那一边去了 因此ε它应该是大于等于0的
但是等于0和在0到1之间和大于1 代表的是不一样的情况
有在落到了margin里面 但是做对的 以及落在了margin外面的地方
并且就是 不一定是margin外面 以及它做错了的
走到错误的那一边的时候
所以其实我们看着这个图和这样的表达式 其实我们会看
我们事实上是要求这两个的和 是最小的
它其实也仍然代表了一种tradeoff 就是代表了一种取得平衡的意思
前面这一项代表的是你的margin是不是足够大 代表你这个算法
它是不是有足够强的描述能力 margin越大 它的泛化能力越强
泛化能力就是说来新的时候 你有足够多的余地是能够做的对
你能够把它们分得足够开 所以你的泛化能力越强
我们由这一部分描述的就是 描述的是我们把它叫做结构风险
后面这一部分 描述的是我们希望有足够大的margin
然后我们还希望有足够少的错误的分类的(点) 就是误分类的错误率
那么希望足够小的误分类的误差的话
那其实我们把它叫做经验风险 就是你的这个loss
你做错的这个要尽量少 比如说这个 因为你如果不是两个都考虑
你有可能会得到一些奇奇怪怪的点 比如说你看刚才的这个例子
你说我可以得到这样的一个margin 你要是嫌这个margin不够大
你说好 我可以给他这么大的一个margin 这个margin够大的吧
非常好对吧 但是你分错的就会更多了
就是你的 loss错误的就会更多
所以事实上 这个margin看上去小一点 但是分错的少一些 只错三个点
所以说其实前面的这个margin的部分 是用来描述结构风险的
后面这部分描述的是你的经验的风险
把两个融合到一起是一个balance的话
那我们当然会希望边界又比较大 错误又比较小的这种情况
所以这个是在 我觉得这个应该是
大家听到这里会有一些似曾相识的感觉
就是我们其实在前些课里面跟大家提到过MDL
我们说我们希望一个不要过于复杂的模型
就是那个模型的描述长度比较短 另外呢 它做错的比较少
其实那个也是描述结构风险和经验风险的部分
还有我们之前也提到过 我们说不是严格的说法
有一个叫做Occam's Razor这样的法则 就是简单的比较好 简单的好在哪呢
好在它的结构风险小 但是它的错误
有的时候可能会比较大 所以你需要找到一个
一个不是最简单的是最好的 而是又简单
然后错误又少一些的会比较好 也同时我们再回过头去想一想
我们当时的过拟合问题 过拟合问题就有点类似于
我们这找到的这个曲面了 它的经验风险很小 就是基本上没什么错
但是呢它模型太复杂了 所以它的结构风险比较大
所以大家一定要经过我们的这么多的每堂课下来
要有这样的一个概念在里面
那么同样 其实我们会发现 在这个问题上面
我们解决的对偶问题只改了一个地方 就是这个αi
原来的αi只是大于等于0就行了
现在在解决这个非线性可分问题上
我的这个是要让它小于等于c 就可以了
然后同样我们说仍然是 就是由support vectors来决定
而这个support vectors它既包括那些在区域内
也包括做错了的那部分 但是做对的没在边界上面
那些是不叫support vectors
然后那这个问题我们就同样的可以解出来
法向量是这个表达 Bias是这个表达
唯一有变化的是Bias这里有一个上界的有一个c
然后Hyperplane看起来跟原来也是一样的 所以线性不可分的问题
我们也解决了 目前为止 我们解决方式就是通过
引入一个松弛变量 然后给了他αi这个系数
是给了他一个上界c的这个系数
好 那么这个东西有人把它用在各种各样的问题上
我这只是举了一个简单的例子 就是有人用这种low level的features 就是底层的向量
然后和SVM来去做图像分类 当时的效果还是可以的
就是它的效果在 如果每个category用15个分类train的话
它的最后的正确率是70% 然后每category找30个image来分类的话
错误率 不是错误率 就是它的精度能够达到73%
这个只是其中的一个例子 大家看一看就行
第三个部分看起来好像是还挺复杂的
那么我们其实在这里给大家提一点点概念
但是在下课之前跟大家简单说一下
我们事实上刚才都说是线性可分的问题
但是有的时候太线性不可分了怎么办呢 我们有一个想法是说
我们是不是可以把一个东西 从我的输入空间
映射到一个特征空间上 那这样呢 我们其实就可以
把一个线性不可分的问题 加一维 就变成了线性可分的
比如说这个点它不是一个线性可分的 它虽然可以分隔出来
它不是线性可分 我们把它做一个映射 映射到了高维空间上
映射到了这样的三维空间上 每一维分别等于原来x1的平方
另外一个是x2平方 第三维是根号2的x1x2
我发现映射到高维空间上 它俩就可分了 这个问题其实特别简单
是吧 就是如果三个点 中间的是另外一个点
你分不出来怎么办呢 我往上提一个空间 把这俩点往上挪
这个点不变 那你就变成一个线性可分的问题了
所以SVM有一个特别漂亮的扩展 就是 好
所以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聚类
-第八章作业




