使用Bin Model来回答Machine Learning机制的合理性

本文深入探讨了机器学习的核心理念,解释了如何通过有限的训练数据集预测整体数据的规律,以及模型逼近真实数据产生机制的过程。利用二元模型概念,结合Hoeffding's Inequality,量化了训练数据误差与总体误差之间的关系。

Motivation

Machine leanring的核心思想是:通过大量的数据来拟合出模型(hypothesis)的参数,进而使用参数齐全的模型来做出预测。模型的本质是用数学的形式来描述你对数据的一种偏见、看法和主观感受。它以数学的方式阐述了:“你认为”这堆数据是按照什么样的规则被产生的。

那么既然是“主观认为”,要将其变成令人信服的相对客观的规律,就需要你使用各种方式来证明你的这种“认为”是合情合理的。

最直观的“证明”当然是:对给出的数据集(training data)我的模型都能够做到完美预测。但这种证明的一个强有力的反例是:只需要构建一个模型将所有training data的结果记住,而在其它数据点做任意的预测,也能满足。

显然,这样的模型毫无意义,等同于:只掌握了课程考试需要的题目,并不意味着你掌握了这门课程。

那么,更广泛地讲,你所能得到的数据集,永远只能是一个局部。模型是产生数据的机制,它可以产生无数的数据,而training data只是一个模型产生出来的一个特定的、小的结果集合。一系列直指核心的问题是:

  • 为什么可以通过局部(training data)来获得全局的运转机制(模型)?
  • 这样的预测,其准确度是多少?
  • 有精确的“数量关系”来描述局部样本预测全局机制准确性吗?

无法回答这些问题,machine learning就没有了存在的意义,所有模型参数拟合将变为一厢情愿的瞎忙。而bin model的引入,便是为了系统性地回答这些根本性的问题。

构建Bin Model

在详细地讨论之前,我们首先需要区分"真正的"模型和"假设的"(hypothesis)模型。所谓真实的模型,就是这堆数据真正产生的机制。这只是一个理想中的存在物,如同上帝的存在。引入它,仅仅是为了方便讨论,将不确定性控制在一个概念中。而hypothesis,就是我们根据数据所得出的一种偏见,即我们认为这堆数据会按照什么样的机制来被产出。

不妨假设那个如同上帝般存在的真实模型为fff,即一个函数 f:X→Yf: X \rarr Yf:XY 。我们的偏见所构成的模型为hhh,即函数 h:X→Yh: X \rarr Yh:XY。我们要做的便是找到足够好的hhh,使得它能够尽可能地逼近fff。什么叫做尽可能地逼近f呢?就是在对于 fff 定义域XXX上的点xxx,使其能够满足 h(x)=f(x)h(x) = f(x)h(x)=f(x) ,这样的点越多,则说明 hhh 越是逼近 fff

如此一来,对于 ∀x∈X\forall x \in XxX ,只有关于模型 fff 和假设 hhh 只有两种结果:

  • h(x)=f(x)h(x) = f(x)h(x)=f(x)
  • h(x)≠f(x)h(x) \neq f(x)h(x)̸=f(x) .

如果把整个XXX看作是bin里面的所有弹珠,那么,可以把满足 h(x)≠f(x)h(x) \neq f(x)h(x)̸=f(x)xxx 当做桔色弹珠,把满足 h(x)=f(x)h(x) = f(x)h(x)=f(x) 的点当做是绿色弹珠。

(为什么要把 h(x)≠f(x)h(x) \neq f(x)h(x)̸=f(x) 当做主体——桔色弹珠?因为我们对误差更感兴趣,也即是通过样本的误差,来考察总体的误差。)

那么,我们要回答的核心列表中问题便可以转换为:通过training data,即从bin里抽取出来的一部分弹珠颜色的结果,我们能够对整个bin里的弹珠颜色成什么样的分布说些什么呢?

在这里插入图片描述

通常,直接考察这个bin中桔色弹珠的比例是困难和不切实际的。在工业生产中的做法当然是取一部分的小样,即通过样本,来倒推整个总体的分布。

在这里插入图片描述

此时,引入数学变量:

  • 设整个bin中(即真实的总体)桔色弹珠的比例为 μ\muμ ,那么相应的绿色弹珠的比例就为 1−μ1-\mu1μ
  • 设取出来的样本中(training data)中桔色弹珠的比例为 ν\nuν ,那么相应的绿色弹珠的比例为 1−ν1-\nu1ν

回顾我们间接要回答的核心问题,即是:通过小样本的 ν\nuν (即通过在training data中看到的 hhhfff 的误差),我们能够对真实的总体 μ\muμ (即在 fff 整个定义域上 hhhfff 的误差 )说些什么呢?

在数学上,有 Hoeffding’s Inequality 给出的一个结论:

P[∣μ−ν∣>ϵ]≤2exp⁡(−2ϵ2⋅N)\mathcal{P} [|\mu -\nu |\gt \epsilon] \leq 2 \exp{(-2\epsilon^2 \cdot N)}P[μν>ϵ]2exp(2ϵ2N)

这即是说,当样本足够多时, hhhfff 在"training data上的误差"( ν\nuν )将会同它们在"总体上的误差"( μ\muμ )非常接近。并且,这个接近程度可由上述不等式来做数值上的度量。

下面使用更形式化的语言来说明:

  • 假设数据产生的真实机制为:f:X→Yf: X\rarr Yf:XY
  • 一个待探讨的、确定的假设为:h:X→Yh: X \rarr Yh:XY
  • training data按照定义在XXX上的概率分布 P\mathcal{P}PXXX 中被取出。
  • 在training data上 (known),hhhfff 的误差期望定义为 EinE_{in}Ein ,表示in training data的误差。
  • 在非training data上 (unknown),hhhfff 的误差期望定义为 EoutE_{out}Eout ,表示out of training data的误差

EinE_{in}EinEoutE_{out}Eout 满足:

在这里插入图片描述

那么,根据 Hoeffding’s Inequality 我们有:

P[∣Ein(h)−Eout(h)∣>ϵ]≤2exp⁡(−2ϵ2⋅N)\mathcal{P} [|E_{in}(h) -E_{out}(h) |\gt \epsilon] \leq 2 \exp{(-2\epsilon^2 \cdot N)}P[Ein(h)Eout(h)>ϵ]2exp(2ϵ2N)

即,当样本数量足够大时, hhhfff 在整个XXX 上的误差,便能够由 hhhfff 在training data上的误差来体现。如此,也就回答了最开始的根本性的问题,为什么我们只需要考察在training data上 hhh 的表现,便能够知晓它在整个 XXX 上的表现:只要training data的数量足够大。并且,对于不同的精度,这个training data的数量需要有多大?这同样可以由 Hoeffding’s Inequality 来回答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值