机器学习基石机器学习的可行性

Posted 桃陉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习基石机器学习的可行性相关的知识,希望对你有一定的参考价值。


写在前面

本节主要介绍了机器学习结果的多样性,以及通过引入霍夫丁不等式迁移到机器学习中,通过增加假设使得机器学习结果变得准确,可行性更高。

本文整理自台湾大学林轩田的《机器学习基石》


1. 机器学习结果的多样性

∙ \\bullet 首先引入一个例子,我们看下面的六幅图片,每幅图片都是由 3 × 3 3×3 3×3 的网格组成,每个格子中被涂为黑色或者白色。现在按照一定规律把它们分为两类,如下所示:

然后请你找出规律并判断下面这副图片属于哪一类:

首先我们可以认为 -1 类中的图形不对称,而 +1 类图形对称,按照这个规则,可以把下面的图形划分为 +1 类。但是也可以认为 -1 类图形左上角方块为黑色,而 +1 类图形左上角方块为白色,按这个标准可以把下面图形分为 -1 类。所以根据不同的规则会产生不同的结果,当我们给机器输入这六幅图片时,机器会产生不同的演算法,我们无法直接进行评判哪个正确哪个错误(按照产生的演算法来说每种假设都成立)。

∙ \\bullet 上面那个例子可能有点抽象,下面来看一个具体的、数字化的例子。

现有输入特征 x x x,它有三个维度,每个维度都输入二进制的 0或1,现在有五个标记好的样本数据,有输入以及输出特征图形。机器由此产生不同的假设,是后面的 f1~ f8,我们可以看到每个假设在已知数据集上都是完全正确的,但是在剩下三个未知结果的数据上产生的输出各不相同,而我们也无法判断哪一个结果更优。机器学习的目的恰恰体现在对于训练集 D D D 以外数据处理上。

∙ \\bullet 通过上面两个例子,我们可以发现机器学习可以对数据进行很好的分类,但是我们不能确定哪一个分类结果更接近我们的预期,这种现象被叫做 N F L NFL NFL(Not Free Lunch) 定理。如果想要进一步优化,使其得到我们预期的分类结果的话,还需要对其添加一些其他的假设结果。


2. 霍夫丁不等式(Hoeffding’s inequality)

下面我们引入统计学中的定理来对上面提到的问题进行解决,从而得到准确的预测分类。

现在下面有一个罐子,里面放有许多橙色和绿色的两种小球。如果我们想要知道罐子中橙色小球的概率 μ μ μ,那么就会从罐子内部随机取出一些小球(样本),计算样本中橙色小球的概率 v v v 然后用此来估计罐子中橙色小球的概率。


那么样本中的橙色小球概率 v v v 一定可以准确的预测总体中橙色小球的概率 μ μ μ 吗?答案显然是否定的,但是从概率的角度来分析的话,概率 v v v 有很大的可能是接近概率 μ μ μ 的。

霍夫丁不等式告诉我们,当我们选取一个大的样本 N时, v v v 很有可能时接近 μ μ μ 的(误差范围 ε \\varepsilon ε),不等式如下:
P ( ∣ v − μ ∣ > ε ) ≤ 2 e − 2 ε 2 N P(\\left | v - μ \\right |>\\varepsilon )≤2e^{-2\\varepsilon ^{2}N} P(vμε)2e2ε2N

N N N 越大, v v v μ μ μ 的差值就越小,而且被限定在 ε \\varepsilon ε 内。我们把最好的结果 v = μ v = μ v=μ 时叫做 probably approximately correct(PAC)。


3. 将不等式与ML进行关联

通过对上面不等式的学习,我们尝试将该内容迁移到机器学习中来。

∙ \\bullet 首先罐子中未知橙色球的概率对应机器学习中的未知目标函数;罐子中的球对应输入特征 x x x;橙色小球对应于假设中的函数错误 ( h ( x ) ≠ f ) (h(x)≠f) (h(x)=f);绿色小球对应假设中的正确函数 ( h ( x ) = f ) (h(x)=f) (h(x)=f);罐子中选取的样本 N N N 对应数据集 D D D

∙ \\bullet 根据上面一一对应,所以样本中橙球的概率对应 M L ML ML h ( x ) h(x) h(x) 的错误概率,我们想要让假设中的函数 h ( x ) h(x) h(x) 错误概率尽可能的小(准确率尽可能的高),因为样本与总体间存在的对应关系,这样总体的错误概率也会降低。

∙ \\bullet 接下来我们引入两个值 E i n ( h ) E_{in}(h) Ein(h) E o u t ( h ) E_{out}(h) Eout(h),其中 E i n ( h ) E_{in}(h) Ein(h) 表示样本中 h ( x ) h(x) h(x) 判断错误的概率 ( h ( x ) ≠ y n ) (h(x)≠y_{n}) (h(x)=yn) E o u t ( h ) E_{out}(h) Eout(h)表示总体中 h ( x ) h(x) h(x) 判断错误的概率 ( h ( x ) ≠ f ( x ) ) (h(x)≠f(x)) (h(x)=f(x))。它们的 H o e f f d i n g Hoeffding Hoeffding 不等式可以表示为:
P ( ∣ E i n ( h ) − E o u t ( h ) ∣ > ε ) ≤ 2 e − 2 ε 2 N P(\\left | E_{in}(h) - E_{out}(h) \\right |>\\varepsilon )≤2e^{-2\\varepsilon ^{2}N} P(Ein(h)Eout(h)ε)2e2ε2N

不等式说明,它们两个也满足 P A C PAC PAC,当 E i n ( h ) E_{in}(h) Ein(h) 很小的时候,可以推断 E o u t ( h ) E_{out}(h) Eout(h) 也很小,那么就是 h h h f f f 非常接近,机器学习选择的模型比较准确。 所以从这个角度来说,我们只需要通过演算法选择最好的 h h h,使得 E i n ( h ) E_{in}(h) Ein(h) 很小,从而提高模型的准确率。


4. 其他补充内容

上面只提到了一个罐子,也就是说只有一个假设,这显然与实际情况时不符合的。接下来我们进行实际的推广。

∙ \\bullet 假设我们有 M M M 个罐子,也就是对应机器学习里面的 M M M 个假设。但是随着假设的增多,还会出现另一种情况,因为假设增多了,那么小概率事件也会有更大的几率出现,比如说我们罐子里面有一半橙球一半绿球,选择变多以后可能会会出现样本中全为绿球的情况,这时 E i n ( h ) E_{in}(h) Ein(h) 很小,但是 E i n ( h ) E_{in}(h) Ein(h) E o u t ( h ) E_{out}(h) Eout(h) 的差别很大,这时产生的这个函数对于整体预测的准确度就会很低。

∙ \\bullet 但是当 M 是有限个时,并且 N 足够大,坏情况出现的概率也就更低了,这时选择最小的 E i n ( h ) E_{in}(h) Ein(h) 一般能保证 函数 g ≈ f g≈f gf,此时机器学习就是可行的。

∙ \\bullet 对于每一个 h h h B A D   e v e n t s BAD \\ events BAD events 的概率 B m B_{m} Bm ∣ E i n ( h m ) − E o u t ( h m ) ∣ > ε \\left | E_{in}(h_{m})-E_{out}(h_{m}) \\right | >\\varepsilon Ein(hm)Eout(hm)>ε,将所有的 h h h 起来的话产生的概率为: P ( B 1   o r   B 2   o r   . . .   B M ) P(B_{1}\\ or\\ B_{2}\\ or\\ ...\\ B_{M}) P(B1 or B2 or ... 机器学习基石:04 Feasibility of Learning

机器学习基石笔记15——机器可以怎样学得更好

林轩田《机器学习基石》 简介

机器学习基石笔记1

机器学习基石笔记1——在何时可以使用机器学习

机器学习基石--The Learning Problem