机器学习基石 4 Feasibility of Learning
机器学习基石 4 Feasibility of Learning
Learning is Impossible?
机器学习:通过现有的训练集 \(D\) 学习,得到预测函数 \(h(x)\) 使得它接近于目标函数 \(f(x)\)。
问题:这种预测是可能的么?其泛化性的本质是什么?是什么保证了 \(h(x) \approx f(x)\) ?
Probability to the Rescue
情景:有一个装有很多很多珠子的罐子,珠子的颜色是橙色和绿色,那么我们可以通过抽样的方法来估计橙色珠子的比例。

Hoeffding's inequality:
采样次数 \(N\) 足够大时,\(v\) 和 \(\mu\) 有如下关系:

于是可以说 \(v\) 和 \(\mu\) 大概近似相等(probably approximately correct,PAC)。
因此,选择合适的 \(N\) 以及 \(\epsilon\),就可以通过 \(v\) 预测 \(\mu\)。
Connection to Learning
可以将以上的情景与机器学习问题对应起来,如下图所示:

- 橙色:\(h(x) \neq f(x)\)
- 绿色:\(h(x) = f(x)\)
- 橙色珠子概率 \(\mu\):\(h(x) \neq f(x)\) 的概率
- 抽到橙色珠子:在某个样本点 \(x_n\) 上,\(h(x_n) \neq f(x_n) = y_n\)
- 抽到绿色珠子:在某个样本点 \(x_n\) 上,\(h(x_n) = f(x_n) = y_n\)
- 抽样动作:判断 \(h(x_n)\) 与 \(f(x_n)=y_n\) 是否相等
于是在一定条件下,我们可以通过测试 \(h(x_n) \neq y_n\) 的比例来推断 \(h(x) \neq f(x)\) 的概率。
这里需要注意的是,\(x_n\) 需要是独立同分布的,但是我们并不需要知道具体的分布函数。
完善学习流程图:


公式如下:

上面的公式保证了在一定条件下,\(E_{in}(h)\) 与 \(E_{out}(h)\) 不会相差太远,那么只要我们能选择合适的 \(h\) 使得 \(E_{in}(h)\) 比较小,那么 \(E_{out}(h)\) 也会比较小,我们就完成了学习。
算法的目的:在假设集 \(H\) 中选择合适的 \(h\),并且通过验证,判断 \(E_{in}(h)\) 是否真的合适。
验证的过程:

同理,需要保证测试样本与训练样本是独立同分布的,但是不需要知道具体的分布函数。
Connection to Real Learning
以上的分析是对于一个 \(h\) 来说的,下面考虑多个 \(h\) 的情况。
引入一个 BAD Data 的概念,对于一个 \(h\) 这种情况,BAD Data 指的是在这个数据集下,\(E_{in}(h)\) 与 \(E_{out}(h)\) 相差很大;对于一个 \(h\) 这种情况,BAD Data 指的是在这个数据集下,存在某个 \(h\),\(E_{in}(h)\) 与 \(E_{out}(h)\) 相差很大。
如果数据集是 BAD Data,那么即使我们通过机器学习,得到一个 \(h(x)\),并且 \(E_{in}(h)\) 很小,我们也无法保证说(PAC) \(E_{out}(h)\) 很小,于是学习失败了,因此我们希望 BAD data 出现的概率越小越好。
对于一个 \(h\) 这种情况,BAD data 出现的概率(前面已经说过了):

对于多个 \(h\) 这种情况,BAD data 出现的概率(Union Bound):

其中 \(M\) 表示的是假设集中 \(h\) 的个数。
如果 \(M\) 的值是有限的,那么 \(N\) 足够大的情况下,BAD data 出现的概率很小,即无论哪个 \(h\),都有 \(E_{in}(h) \approx E_{out}(h)\) (PAC),那么我们通过合适的算法选择一个 \(E_{in}\) 小的 \(h\),就能保证 \(E_{out}\) 小(PAC),于是学习成功了。
完善学习流程图:


浙公网安备 33010602011771号