标签:机器学习基石
本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记。所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解。(https://class.coursera.org/ntumlone-002/lecture)
第3讲-------Types of Learning
上一节讲到如果要回答YES/NO的是非问题,我们可以使用像PLA(感知机)这样的算法,他会在无数多条线里面帮我们找出一个符合训练数据的合适的超平面。那本讲主要探讨在机器学习里面,除了是非问题还有哪些其它的问题,它们与是非问题又有哪些不一样?主要从如下的四个角度来分析:输出空间y、数据标签y(n)、真实的target f以及输入空间x。
一、不同的输出空间y
二、不同的数据标签y(n)
三、不同的Protocal/Target f
四、不同的输入空间x
第4讲-------Feasibility of Learning
本讲主要来探讨一下Learning到底是不是可行的。通过上一节知道我们主要focused on使用a batch of supervised 数据,数据都是concrete feature,来做二元分类以及回归分析。但是即使是在这样核心的条件下,有可能Learning也是做不到的。如果做不到,那么我们能否再加入一些假设或者用些什么方法让它大部分的时候是做得到的。
一、Learning是否可行
如下图中的学习问题,根据学习规则的不同,g(x)有可能是+1也可能是-1。如果不加入一些限制的话,无论你说哪一个答案,我总是可以说你学习的结果是错误的。如此看来,好像Learning是一个不可行的方式。
那我们不禁要问了,从一些局部的抽样数据D来推断未知的target这件事情到底在数学上是否可行呢?如下图所示的例子,我们不知道罐子里orange/green珠子数量具体的占比,那么我们通过随机的抽样选一定的珠子并计算样本中orange/green的占比。那么问题来了,样本中计算的占比与真实的占比可以约等于吗?
数学上已经证明了,在样本量足够大的时候,样本中的占比与真实的占比是非常接近的,也就是所谓的probably approximately correct(PAC)。
二、与真实的Learning的联系
上面讲了一堆跟弹珠相关的东西,这跟Learning有什么关系呢?我们又不是来学概率课的。那我们接下来看这个例子跟我们Learning中比较熟悉的符号有啥联系。
我们现在想象罐子里的一颗一颗弹珠就是Learning中一个一个的输入x。对于某一个h(x)来说,orange弹珠代表其与真实的f(x)不一样,green弹珠代表其与真实的f(x)一样。那么,在罐子中我们未知的是orange弹珠的概率,映射过来则是对于某一个h(x),与真实的f(x)不一致的错误率。
这样映射有什么好处?如果我从罐子中抓了100个弹珠出来,也就是说我有100个输入x以及其相对应的y(supervised式Learning中)的数据。那么,我们只要判断h在这个数据上与真实的f是否一致就能知道Learning的这100个输入数据——这一把弹珠orange的比例是多少。这个比例用来做什么?用来估计我们未知的那件事情是什么。
Hoeffding不等式告诉我们,对于某一个h,在输入数据足够大的时候,训练数据的错误率约等于h对于所有数据的错误率。也就是说,在训练数据的错误率很小的时候,就约等于h对于所有数据的错误率很小。那么我们是否可以claim ‘good learning‘,我们是否可以说我们已经学到东西了呢,是否可以说g 跟f 是很接近的呢?
值得注意的是(这里的理解是一个难点),我们刚刚的推导一直都是对于某一个hypothesis的h来说,而真实的Learning算法则是从众多的hypothesis set中选择出g,对于不同的数据,选择出来的g肯定会不一样,也就是返回的超平面会不一样。而这时如果强制Learning的算法返回固定的h,由于不是Learning算法选择出来的g,那么抽样中的错误率通常都不会很小,也就是说这个h通常都不会和f 约等于。
既然这样,那么对于不是固定h的情况呢,也就是说对于hypothesis set会怎样?首先考虑,在Learning问题中如果有10个hypothesis,如果学习算法找到了一个hypothesis在你所看到的数据中全对,你要不要选它当你最后的g?
先考虑另外一个问题,如果有150个学生同时丢5次硬币,至少有1个学生丢出5个人头的概率是:1 - (31/32)^150 > 99%。而如果只有1个学生丢5次硬币,它丢出5个人头的概率是1/32。这说明了什么?丢出5次硬币可以理解为就是在所看到的数据中全对,而只要有一个学生丢出了这个h,Learning的算法就会选择它。。这是我们不愿看到的情形,有选择的时候便有了偏见。
Hoeffding不等式告诉我们,我取样出来的和我罐子里的错误率大部分的时候是一样的,只有小部分的时候是不一致的。那,我们现在发现,有选择的时候Learning算法的选择会恶化这一小部分不一致情形的概率。那究竟恶化到一个什么程度了呢?
在样本量足够大的时候,Hoeffding不等式能够保证的是我们做很多次抽样,出现样本与总体情况不一致时小概率事件。如上图所示,对于h1来说,标记为BAD的则为小概率事件。所以对于总共M中选择的hypothesis set,每一个抽样只要有一个h(n)是BAD的,我就认为这次抽样对于整个hypothesis set是BAD的。因此有选择的时候恶化的程度即为hypothesis set整体BAD的概率,如下推导所示:
因此,也就证明了“最合理”的学习算法(譬如PLA)选出hypothesis set中错误率最小的h作为最后的g,从某种角度来说也就说明了g会在总体的表现中错误率也很小。于是,我们现在终于可以做到一点点的Learning了。什么意思呢?如果hypothesis set是有有限种选择,训练样本够多,那么不管学习算法A怎么选择,样本的判别结果都会与总体的一致。那么,如果学习算法设计为寻找样本中错误率最小的,那么刚刚的推论PAC就能保证选出来的g与f是约等于的。
不过仍然有一个遗留问题,刚刚的推论是在hypothesis set有限的前提下,那类似于PLA的hypothesis set是无穷的又如何呢?不用紧张,以后会证明这个问题。现在至少在有限的情形下证明了,这是一个很好的出发点。
关于Machine Learning Foundations更多的学习资料将继续更新,敬请关注本博客和新浪微博Sheridan。
原创文章如转载,请注明本文链接:
http://imsheridan.com/mlf_3rd_lecture.html
机器学习基石——第3-4讲.Types of Learning
标签:机器学习基石
原文地址:http://blog.csdn.net/xyd0512/article/details/43484735