Learning From Data 笔记

2019-12-09  本文已影响0人  泡沫与周期_白羊Jerry

这几天跟着B站的视频教程读了《Learning From Data》这本书,找个地方总结下自己的理解。

为什么可以学习

做机器学习需要解决的第一个问题就是为什么机器学习是可行的?这个直觉上看起来没啥可讨论的问题,细化分析之后可以得出不少有趣的结论。

假设集合H,测试集误差Ein和实际误差Eout

机器学习的过程抽象起来就是从一个假设集合H中,根据测试数据上的误差Ein,选取最合适的假设h的过程,这中间就涉及两个主要问题:

如何保证Eout好像直觉上很简单,如果保证测试数据是在真实数据中独立随机采样到的,那么在测试数据上Ein和真实数据上的Eout的大小就有一个概率关系,也就是霍夫丁不等式:


霍夫丁不等式

是吧,看起来很简单,Ein保证了,Eout就有保证了。但是我们忽略了一个过程,选择最终的假设h时,我们是在H集合里选的,一般都是选择Ein最小的那一个,这个过程会干扰Eout。
怎么理解呢,我们举一个例子,假设我们需要预测一个有无限个球的罐子里,各种颜色球(红黄蓝)的比例,然后球一共有3种颜色,实际上各种颜色球的比例是1:1:1,实验方法是从罐子里取出3个球,来看哪种假设符合。

我们的假设集合本来只有两个假设,红黄蓝1:1:1和全蓝,全蓝命中的概率只有(1/3)^3,很明显全蓝是个错误的假设。
现在我们为了“更好的训练”,扩充了假设集合,把全红,全黄都加了进来。结果呢反而导致出错的概率从(1/3)^3到了 (1/3)^3 * 3。

细品一下,测试数据总是有可能出现一些极端分布,会使得一些错误假设Ein特别低,当假设集合特别大的时候,每一个错误假设都可能撞上对它来说match的数据分布,最终:

假设集合的增大,可以让我们找到更低的Ein,但同时也导致Eout的范围扩大

VC维

实际上,Eout的扩大和H的大小是正比的,这样对于我们通常大小是无限的H来说,机器学习似乎失去了意义,当假设集合太大时,我们总是可能选到一个正好在测试数据上表现特别好的“错误假设”。为了解决这个问题,我们对假设进行了分类,引入了VC维的概念。

VC维从某种程度上描述了某一个假设的“变化能力”,还是继续刚才那个拿球的例子,因为“全黄,全红”的假设加入,导致我们出错概率变大,那么有一个做法就是继续拿球,拿n个球,出错概率会变成 (1/3)^n * 3,随着n变大,出错概率也会变小。但是如果我们的假设还包含“n-1:1:0", "n-2:1:1"这种呢?结果就是无论我们拿多少个球,总会有一个莫名其妙的假设正好撞上,最后稀里糊涂成为我们的最终假设。

所以虽然H是无限的,但我们仍然要限制假设的实际能力,比如我们规定,假设只能估计10个球内红黄蓝的分布,这样虽然10个球以内怎么拿都会有一个奇葩假设能match,但是如果拿了10+K个球,多的K个球,每个球都是对假设集合的一个检验。

限制假设的能力,有几个办法

上一篇 下一篇

猜你喜欢

热点阅读