Lecture 4: Feasibility of Learning 机器学习的可行性
4.1 Learning is impossible 学习是不可能的
- 这一小节的主要内容是,既然假设函数是未知的,那么我们怎么能保证我们在数据样本中学到的,是越来越接近的呢?在没有任何限定的情况下,很有可能我们在中学到的知识没有任何意义,即我们不能够利用我们学到的知识在之外的数据中做预测。如果是这样的话,机器学习就没有可行性了。
- 林教授举了两个例子来论证,机器学习没有可行性的问题。
- 第一个例子,
输入样本是六张图片,上面三张输出是,下面三张输出是,请问你能根据这六张的输入输出规律,推断右边那张输出是什么吗?
这其实是一个无解的问题。因为如果我们根据上面三张左上角方格为黑色这条规律,推出未知图片输出为,出题者会说,其实规律是对称性,未知图片输出应为;如果我们根据对称性,推出未知图片为,出题者会说,其实规律是左上方格的颜色,所以正确答案是。
这就是说,我们无法保证,在数据样本上学到的假说,它在别的数据上也有很好的分类情况,因为我们在上学到的规律,可能它就不是真正的规律,即使它在上有非常好的分类效果。
说句题外话,这就有点像《三体》中的“射手与农场主”理论。
射手”假说:有一名神枪手,在一个靶子上每隔十厘米打一个洞.设想这个靶子的平面上生活着一种二维智能生物,它们中的科学家在 对自己的宇宙进行观察后,发现了一个伟大的定律:“宇宙每隔十厘米,必然会有一个洞.”它们把这个神枪手一时兴起的随意行为,看成了自己宇宙中的铁律。
“农场主假说”:一个农场里有一一群火鸡,农场主每天中午十一点来给它们喂食.火鸡中的一名科学家观察这个现象,一直观察了近一年都没有例外,于是它也发现了自己宇宙中的伟大定律:“每天上午十一点,就有食物降临.”它在感恩节早晨向火鸡们公布了这个定律,但这天上午十一点食物没有降临,农场主进来把它们都捉去杀了。
总结起来,就是我们无法保证,在数据样本中学到的,具有良好分类效果的,它是接近于理想化函数的。
- 第二个例子,更数学一点。
是一个简单的二元分类问题。
输入有3位,每位有两种情况,可以想象到共种情况;
输出为二元的,分别用圈圈和叉叉表示。
可以计算出,假设空间中共有种假设函数,其中,可以完美分类训练样本的有如下几种:
这么多中,而且都在训练样本上表现很好,我们怎么知道哪个是最靠近理想化函数的假设函数呢? - 所以,机器学习只能保证在上有良好的分类效果,无法保证训练好的在外接近。这就是机器学习NO FREE LUNCH定理。
- 如果机器学习无法保证在外也有良好的训练效果,实际上机器学习就是没有意义的一件事情,也就不存在可行性。
4.2 Probability to the Rescue 救援的可能性
- 上一小节说到了,机器学习在那种严格的场景下,是没有学习的可能性的。但是,有没有一些方法,可以帮助我们把未知的目标,弄得已知一点,从而给机器学习一条活路呢?
- 林老师举了个例子。
- portion 份 || probability 几率、概率 || fraction 分数、分
- 考虑一个情景,我们有一个桶,桶内有很多橘色的和绿色的小球,橘色的小球在所有小球中的比率(portion/probability)未知,有什么方法能帮我们推理出橘色小球的比率呢?
- 最直观的操作就是抽样统计。
- 假设实际上橘色小球的比率为,抽样得到的橘色小球比率为,在样本足够的情况下,是比较接近的。
- 下面引入 Hoeffding’s Inequality 霍夫丁不等式
设样本数为,当足够大时,和的接近程度是
使我们定义的一个容忍程度。- 该不等式对任意和都是成立的
- 该不等式不用提前知道
4.3 Connection to Learning 和学习的联系
- 上一小节讲的是抓球的案例,它和机器学习有什么联系呢?
上图左方是桶抓球案例的相关参数
- 有一个未知的橘色球比例。在学习中,目标函数是未知的,更进一步,系统从假设空间中选择的与的关系也是未知的。
- 我们将抓到橘色球事件标记为橘色。在学习中,我们将系统选到的与不一致标记为橘色,意味h is wrong 。更通俗一点,就是对采样到的,若我们通过预测到的与实际的不一致,标记为橘色。
- 我们将绿色球事件标记为绿色。在学习中,我们将系统选到的与一致标记为绿色,意味h is right
- 从桶中抽样出的个样本,和桶中的总体样本,是相互独立的,而且是同分布的;在学习中,训练样本集和所有样本,也是独立同分布的。
如果足够大,且是独立同分布的,我们就可以根据观察到的的概率,来推出在我们未知的空间中,的概率
- 林教授在机器学习的流程中加入了橘色线代表的新的组件。在训练集上误差越小,可以概率性地推出在实际空间上误差也越小。
- “unknown P on X” 这个组件,代表的真实分布,根据这个分布生成了很多作为训练示例。(解释左上虚线)
- 假设hypothesis set 中有合适的,我们将这个拿出来做个验证,看看(解释右边实线)。
- 理论上说我们需要使用分布生成的所有进行验证,但是实际上我们使用的是训练数据来验证(解释剩下的那条虚线和实线)。
-
所以,对任意合适的,我们根据计算出来的
(与的误差)
来概率性地推出
-代替,代替 ,我们可以根据图片这样代入霍夫丁不等式。
同理,上述等式: 对所有和成立。
- 不需提前知道值
- 是Probably Approximately correct(PAC)。
所以,如果,且足够小,我们就可以得到也是足够小的,即在P的分布下
考虑一个问题
对任意一个已经选定好的,我们得到了,那么我们可以宣称我们拿到了一个良好的学习假设函数吗?
如果我们足够幸运,足够小,那我们可以使用该;
但是大部分情况下我们不是那么幸运的,这个并不小,这个时候’’PAC!
所以我们一般用这个流程来做验证!
4.4 Connection to Real Learning 和真实学习的联系
- 真实的学习中肯定不会只有一个,我们有多个。
- 在第二小节的抽样实验中,我们肯定会遇到一种情况,那就是抽样得到的样本分布和真实情况相去甚远,我们把这种样本叫做Bad Sample。
- 同理,在机器学习的领域上,也有Bad Data。对于某个而言,如果在一个上发现和相去甚远,我们认为这个对于这个是不好的。(这里深入的解释一下,我们在已知的训练数据上跑着跑着,觉得得到了一个挺小的误差,然后把这个丢进测试集里一跑,发现误差陡然大了好多,这里对于而言,训练数据就是Bad Data)
-
这张图林教授想告诉我们的是,根据霍夫丁不等式,其实训练样本不好的几率是很小的(存疑)
如果,我们有很多个呢?
上文讲到,之所以要有很多个,是因为我们需要给演算法以选择性,但是多了,碰到不好的训练样本的几率也增大了。
我们假设,对于抽样,只要有一个,使得是的,是的。
那么这个不好的资料发生的几率到底是多少呢?
根据霍夫丁不等式的联结上限,我们得到上限是
- 如果是有限的,且N足够大我们求得了上限,这个上限就是有界的。如果是这样,我们就有理由认为,我们的演算法在检索的过程中,存在一个好的。
- 最可能的,就是最小的。
-
所以当假设空间有限时,机器学习是可行的。
这个问题很有意思,
首先1是不对的,因为和是相互独立的,这两个假设函数本身就不一样,所以不能说和的BAD DATA是一样的。
然后2是对的,因为和的输入样本只有符号的区别。
3,4根据霍夫丁不等式都是对的,很显然吗,因为4是对的,3肯定也是对的。