机器学习中的假设空间到底是什么?

机器算法验证 机器学习 术语 定义
2022-01-20 01:47:30

虽然我从概念上理解这个术语,但我很难从操作上理解它。任何人都可以通过提供一个例子来帮助我吗?

3个回答

假设一个具有四个二进制特征和一个二进制输出变量的示例。以下是一组观察结果:

x1 x2 x3 x4 | y
---------------
 0  0  0  1 | 0
 0  1  0  1 | 0
 1  1  0  0 | 1
 0  0  1  0 | 1

机器学习 (ML) 算法可以使用这组观察结果来学习f能够预测来自输入空间y的任何输入的值的函数的值的函数。

我们正在寻找以正确方式解释所有可能输入之间f(x) = y关系的基本事实。xy

该函数f必须从假设空间中选择。

为了更好地理解:输入空间在上面给出的示例中24,它的可能输入的数量。假设空间为224=65536因为对于输入空间的每组特征,两个结果(01)是可能的。

ML算法帮助我们从相对较大的假设空间中找到一个函数,有时也称为假设。

参考

假设空间与所谓的最大似然偏差方差权衡的主题非常相关。如果模型中的参数数量(假设函数)太少,模型无法拟合数据(表明欠拟合,假设空间太有限),则偏差高;而如果您选择的模型包含的参数过多,超出了拟合数据所需的参数,则方差会很高(表明过度拟合并且假设空间过于富有表现力)。

So S的回答中所述,如果参数是离散的,我们可以轻松具体地计算假设空间中有多少可能性(或它有多大),但通常在现实生活中,参数是连续的。因此通常假设空间是不可数的。

这是我从经典机器学习教科书的相关部分借用和修改的一个例子:模式识别和机器学习来适应这个问题:

我们正在为一个隐藏在训练数据中的未知函数选择一个假设函数,该函数由生活在河外行星上的第三个人 CoolGuy 提供。假设CoolGuy知道函数是什么,因为数据案例是他提供的,他只是使用函数生成数据。让我们把它(我们只有有限的数据,CoolGuy 有无限的数据和生成它们的函数)称为基本事实函数,并表示为y(x,w).

在此处输入图像描述

绿色曲线是y(x,w),而蓝色的小圆圈是我们拥有的案例(它们实际上并不是 CoolGuy 传输的真实数据案例,因为它会被一些传输噪声污染,例如黄斑或其他东西)。

我们认为隐藏函数会非常简单,然后我们尝试使用线性模型(在非常有限的空间内做出假设):g1(x,w)=w0+w1x 只有两个参数:w0w1,我们使用我们的数据训练模型,我们得到:

在此处输入图像描述

我们可以看到,无论我们使用多少数据来拟合假设,它都不起作用,因为它不够表达。

所以我们尝试了一个更具表现力的假设:g9=j9wjxj有十个自适应参数w0,w1,w9,我们也训练模型,然后我们得到:

在此处输入图像描述

我们可以看到它的表现力太强了,适合所有的数据案例。我们看到一个更大的假设空间(因为g2可以表示为g9通过设置w2,w3,,w9因为所有的 0 ) 比一个简单的假设更强大。但泛化也很糟糕。也就是说,如果我们从 CoolGuy 接收到更多数据并进行参考,那么经过训练的模型很可能在那些看不见的情况下失败。

那么对于训练数据集来说,假设空间有多大呢?我们可以从上述教科书中找到答案:

有时提倡的一种粗略启发式方法是,数据点的数量应不少于模型中自适应参数数量的某个倍数(例如 5 或 10)。

你会从教科书中看到,如果我们尝试使用 4 个参数,g3=w0+w1x+w2x2+w3x3, 训练后的函数对于底层函数来说足够表达y=sin(2πx). 在这种情况下,找到数字 3(适当的假设空间)是一种魔法。

然后我们可以粗略地说,假设空间是衡量你的模型对训练数据的表达能力的度量。对训练数据足够表达的假设是具有表达假设空间的好假设。为了测试假设是好是坏,我们进行交叉验证以查看它在验证数据集中是否表现良好。如果它既不是欠拟合(太有限)也不是过度拟合(太有表现力),那么空间就足够了(根据奥卡姆剃刀,更简单的更可取,但我离题了)。

假设您有一个未知的目标函数f:XY你试图通过学习来捕捉。为了捕获目标函数,您必须提出一些假设,或者您可以将其称为候选模型,用 H 表示h1,...,hn在哪里hH. 这里,H 因为所有候选模型的集合称为假设类假设空间假设集

有关更多信息,请浏览 Abu-Mostafa 的演示幻灯片:https ://work.caltech.edu/textbook.html