林轩田之机器学习课程笔记(when can machines learn之feasibility of learning)(32之4)

来源:互联网 发布:php权限管理建表思路 编辑:程序博客网 时间:2024/04/27 13:46

  • 概要
  • 机器学习是做不到的
  • 通过概率来拯救机器学习
  • 概率和机器学习的联系
  • 概率和真实机器学习的联系

欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen

概要

上节课讲到了机器学习各种各样的类型,本节课会介绍机器学习到底是否可行。

机器学习是做不到的?

举一个简单例子,如下图
这里写图片描述
这就是最简单的智力测试之类的题目,一般考公务员还有这样的题目,哈哈哈哈。
回归正题,那么给到下面的图片,到底是 +1 还是-1?

如果你的答案是+1,哈哈哈,你答错了,其实是-1。因为-1的左上角都是黑色,而给定的图片左上角也是黑色,所以是-1。

如果你的答案是+1,哈哈哈,你答错了,其实是+1。因为+1的都是对称的,给定的图片是对称的。所以是+1。

所以是不是懵逼了,哈哈哈。这样看是不是机器学习是没用用的?
这里写图片描述
这里再举一个简单例子进行说明。如上图,假设给定5条数据,每条数据都有三个维度,分别用0和1表示。同时给定该条数据的标签。那么我们能够根据这六条数据学习到东西呢?就是我们需要怎么知道那个g来使得和f接近呢?

我们知道,在给定的x中包含三个维度,每个维度只有两种可能,这样x其实最多只有八条记录。2*2*2=8。

同时我们的假设空间H 中,最多可以有 28=256中假设,因为每条记录其实就只有两种可能,要么对要么错。

如果我们从这256种假设中,选取一些假设,使得完全满足我们给定的资料信息,那么这样的假设g是不是我们想要的呢?

这里写图片描述

那么这样我们知道了8种f,那么到底哪个是g呢?我们的目的是什么?我们其实是想在拿着我们的g使得在资料外的地方能够和f保持一致,而不是在已有的资料保持一致。

这个就是天下没有免费的午餐理论。因为我们不知道f到底是什么,在没有其他假设情况下,我们没法学到g。使得g趋向于f.

所以,在我们不提供任何假设,在不知道f是什么的情况下,机器学习是学习不到东西的。

通过概率来拯救机器学习

由于我们假设了f是未知的,所以学习不到东西。但是我们可不可以根据已有的东西做一些推论。

比如给你一个大大的罐子,罐子里面有很多弹珠,要来估计弹珠里面的比例。如果我们对罐子一无所知,根据上面的结论,这个是没法做到的。如下图
这里写图片描述
假设罐子里面实际橙色的概率是:u,那么绿色的概率就是1u.,这两个值是不知道的。。同时进行了抽样,假设橙色的概率是v,绿色的概率就是1v,这两个值我们是可以得到的。
那么uv有什么关系呢?这个就要用到霍夫丁不等式喽。

这里写图片描述
霍夫丁不等式告诉我们,uv到底有多接近。在抽取了部分样本之后,我们可以认为uv 大概是对的
根据公式

P[|vu|>ϵ]2e2ϵ2N

当我们抽取的样本越多,u和v就越接近。
当我们的设定uv之间的差异度ϵ越大,说明我们越能容忍样本和实际情况的差异。

所以N越大,ϵ越大那么可以认为uv差不多一样。
霍夫丁不等式只是给定uv接近的一个上限。

概率和机器学习的联系

那么上面的霍夫丁不等式怎么联系到机器学习呢?我们可以对照下两边的关系:
这里写图片描述
假设大罐子里面的弹珠就是一个个的样本。整个大罐子就是输入空间X。我们来一一对照下:
1)罐子里的橙色弹珠的概率u是不知道的————机器学习中的资料产生函数f
2)罐子里的弹珠————机器学习的输入空间X
3)找到一个固定的h,就是假设空间中的一个。橙色的弹珠————h(x)f(x)。就是找到的那个函数和生成函数不一致。就是犯错了。
4)绿色的弹珠————正确的概率。
5)抽取的样本量————资料量的大小。

换一种简单的描述:f(x)我们是不知道的,但是在已有资料上的表现我们是知道的。h(x)使我们根据已有资料学习得到的,在已有资料上,可能和f(x)一致也可能不一致。机器学习的目的就是使得h(x)趋向于f(x)
如果h(x)f(x)不一样,我们就把弹珠涂成橙色的,一样的话,我们就把弹珠涂成绿色的。那么我们就可以通过橙色的概率来反应h(x)f(x)接近程度,或者称之为h(x)在资料上的错误率。那这样的话,我们求得罐子里面的橙色的弹珠的概率满足霍夫丁不等式,同理,f(x)h(x)之间的接近程度也可以用霍夫丁不等式表示。

所以就通过概率和机器学习联系起来了
整个流程可以表示如下:
这里写图片描述
黄色的线条就是在原有的基础上添加的。虚线表示不知道的过程,实线表示已知的过程。
这里

Eout(h)=ε(XP)[h(x)f(x)]

Ein(h)=1Nn=1N[h(x)f(x)]

我们在做学习的时候,核心就是在未知的资料中,使我们的h(x)f(x)表现趋于一致。而现在只有f(x)在已知资料的表现,计算f(x)h(x)的一致性。
根据霍夫丁不等式我们有:
P[|f(x)h(x)|>ϵ]2e2ϵ2N

所以就可以通过在已知的数据得到错误率去估计未知数据的错误率。

机器学习是要从一个H中选择一个h作为g。而上面的推论中是对任何的h都是正确的。所以现在还需要演算法去寻找g。上面的流程可以看做只是对一个固定的h的验证,如下图所示:
这里写图片描述

概率和真实机器学习的联系

上面讲到了固定的一个h和机器学习之间的联系,现在还有的问题就是如何从一个大大的H中挑选一个h作为最后的g.
同样适用弹珠作为例子:
这里写图片描述
现在有很多h,假设出现了一个h,它在罐子的的表现全对,我们要不要选择这个h作为最后的g呢?
用铜板的例子讲讲,假设有150个人同时丢铜板,丢了5次,那么这个时候有一人的铜板连续5次出现正面,那么是否认为这个铜板牛逼呢,还是这个人运气好?
我们计算下:1(3132)150=0.9999。所以这个情况基本是肯定会发生的。
就像那个铜板,实际的Eout=12,但是出现了Ein=0。这样的数据,我们就称为差的样本。使得在已经看到的样本表现和未知样本表现差异很大。

霍夫丁告诉我们,对于一个固定的h,差的资料是很少的。满足不等式,如下图:
这里写图片描述
当存在很多的h的时候:
这里写图片描述
那么出现坏资料的概率就是:
这里写图片描述

就像扔了150个人同时扔铜板,基本总是有一个人会出现连续出现正面向上。

这样在有限的h中,足够大的样本,选择一个最低误差的h,霍夫丁不等式总是会保证EinEout差不多一样的。

所以这样就证明机器学习是可行的。

但是我们的假设空间一般都会无限的的,比如,PLA,是整个直线组成的线性空间。那么怎么证明是可以学习的呢?

下节课讲解。

欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen

阅读全文
0 0
原创粉丝点击