模型复杂性的度量

机器算法验证 模型选择
2022-01-22 22:56:24

我们如何比较具有相同参数数量的两个模型的复杂性?

编辑 09/19:澄清一下,模型复杂性是衡量从有限数据中学习的难易程度。当两个模型同样适合现有数据时,复杂度较低的模型将对未来数据产生较低的误差。当使用近似值时,这在技术上可能并不总是正确的,但如果它在实践中往往是正确的,那就没问题了。不同的近似值给出不同的复杂度度量

4个回答

除了最小描述长度的各种度量(例如,归一化最大似然、Fisher 信息近似)之外,还有两种其他方法值得一提:

  1. 参数引导它比要求苛刻的 MDL 措施更容易实施。Wagenmaker 及其同事撰写了一篇不错的论文:
    Wagenmakers, E.-J., Ratcliff, R., Gomez, P., & Iverson, GJ (2004)。使用参数引导评估模型模仿数学心理学杂志,48,28-50。
    摘要:

    我们提出了一个通用的采样程序来量化模型模仿,定义为模型解释竞争模型生成的数据的能力。这种抽样过程称为参数引导交叉拟合方法 (PBCM; cf. Williams (JR Statist. Soc. B 32 (1970) 350; Biometrics 26 (1970) 23)),生成拟合优度差异的分布预期在每个竞争模型下。在 PBCM 的数据通知版本中,生成模型具有通过拟合所考虑的实验数据获得的特定参数值。可以将数据通知的差异分布与观察到的拟合优度差异进行比较,以量化模型的充分性。在 PBCM 的数据不知情版本中,生成模型基于先验知识具有相对广泛的参数值范围。通过几个示例说明了数据知情和数据未知情 PBCM 的应用。

    更新:用简单的英语评估模型模仿。您采用两个竞争模型中的一个,并为该模型随机选择一组参数(无论是否通知数据)。然后,您使用所选参数集从该模型生成数据。接下来,让两个模型拟合生成的数据,并检查两个候选模型中的哪一个更适合。如果两个模型同样灵活或复杂,则生成数据的模型应该更适合。但是,如果另一个模型更复杂,它可以提供更好的拟合,尽管数据是从另一个模型生成的。您对两个模型重复此操作数次(即,让两个模型生成数据并查看两个模型中哪一个更适合)。“过拟合”另一个模型产生的数据的模型是更复杂的模型。

  2. 交叉验证:它也很容易实现。请参阅此问题的答案但是,请注意,它的问题在于样本切割规则(留一法、K-折叠等)中的选择是无原则的。

我认为这将取决于实际的模型拟合程序。对于普遍适用的度量,您可以考虑Ye 1998中描述的广义自由度——本质上是模型估计变化对观测扰动的敏感性——它作为模型复杂性的度量非常有效。

最小描述长度(MDL)和最小消息长度(MML)当然值得一试。

就 MDL 而言,一篇说明归一化最大似然 (NML) 过程以及渐近近似的简单论文是:

S. de Rooij 和 P. Grünwald。具有无限参数复杂度的最小描述长度模型选择的实证研究。数学心理学杂志, 2006, 50, 180-192

在这里,他们研究了几何分布与泊松分布的模型复杂性。可以在此处找到有关 MDL 的优秀(免费)教程。

或者,可以在此处找到一篇关于使用 MML 和 MDL 检查的指数分布复杂性的论文。不幸的是,没有关于 MML 的最新教程,但这本书是一本极好的参考书,强烈推荐。

最小描述长度可能是一个值得追求的途径。