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