假设空间和表征能力有什么区别?

人工智能 机器学习 术语 计算学习理论 假设类 容量
2021-10-27 01:43:28

我正在阅读Goodfellow 等人的 Deeplearning Book我发现很难理解假设空间的定义和模型的表示能力之间的区别。

第 5 章中,它是关于假设空间的:

控制学习算法容量的一种方法是选择其假设空间,即允许学习算法选择作为解决方案的一组函数。

关于代表能力:

该模型指定了学习算法在改变参数以减少训练目标时可以选择的函数族。这称为模型的表示能力。

如果我们以线性回归模型为例,让我们的输出y为了接受多项式输入,我将假设空间理解为接受输入的二次函数的集合x, IEy=a0+a1x+a2x2.

它与表征能力的定义有何不同,其中参数是a0,a1a2?

3个回答

假设空间被定义为函数集H可以通过学习算法选择以最小化损失(通常)。

H={h1,h2,....hn}

假设类可以是有限的或无限的,例如包围输入空间的特定部分的离散形状集是有限的假设空间,而参数化函数(如神经网络和线性回归器)的假设空间是无限的。

虽然术语表征能力并不流行,但粗略的定义是:模型的表征能力,是其假设空间 逼近复杂函数的能力,误差为 0,只能由无限多个假设空间逼近其表示能力等于或超过逼近复函数所需的表示能力。

代表能力最流行的衡量标准是V C模型的尺寸VC 维度的上限 (d) 的模型是:

dlog2|H|
在哪里|H|是假设空间集的基数。

假设空间/类学习算法在选择一个函数以最小化某些风险/损失函数时考虑的一组函数。

假设空间容量是量化假设空间的大小(或丰富度)的数字界限,即假设空间可以表示的函数的数量(和类型)。所以假设空间容量。容量的两个最著名的度量是 VC 维度和 Rademacher 复杂性。

换句话说,假设类是对象,容量是这个对象的一个属性(可以测量或量化),但是假设类和它的容量并没有太大的区别,假设类自然定义了一个容量,但两个(不同的)假设类可能具有相同的容量。

请注意,表示容量(不是容量,这是常见的!)不是计算学习理论中的标准术语,而假设空间/类是常用的。例如,这本关于机器学习和学习理论的名著在很多地方都使用了假设类这个术语,但它从未使用过表征能力这个术语。

你的书对表征能力的定义不好,在我看来,如果表征能力应该是能力的同义词,鉴于该定义也与假设类的定义相吻合,所以你的困惑是可以理解的。

考虑一个目标函数f:xf(x).

假设是指近似f. 假设空间是指算法可以创建的一组可能的近似值f. 假设空间由模型限制学习的一组函数组成。例如,线性回归可以限制为线性函数作为其假设空间,或者可以扩展为学习多项式。

模型的表示能力同时决定了它的灵活性,它适应各种功能的能力(即模型能够学习哪些功能)。它指定了学习算法可以选择的函数族。