机器学习基石机器学习的可行性
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−μ∣>ε)≤2e−2ε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)∣>ε)≤2e−2ε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 g≈f,此时机器学习就是可行的。
∙ \\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