VC维度用于测量神经网络的复杂性的替代方法是什么?


16

我遇到了一些测量神经网络复杂性的基本方法:

还有其他选择吗?

首选:

  • 如果复杂性度量可用于在相同规模上测量来自不同范式的神经网络(以测量反向传播,动力学神经网络,级联相关性等)。例如,VC维度可用于网络(甚至是神经网络以外的其他事物)上的不同类型,而神经元的数量仅在激活函数,信号(基本和尖峰)以及其他函数非常特定的模型之间有用。网络的属性是相同的。
  • 如果它与网络可学习的功能复杂性的标准度量有很好的对应关系
  • 如果很容易在特定网络上计算度量标准(尽管这不是必须的)。

笔记

该问题基于对CogSci.SE 的更一般的问题


3
难道难道难道还取决于学习算法吗?VC维通常应用于具有凸损失函数的方法。如果您有非凸损失,则可能会遇到这样的情况,您的模型可以分离一些点,但是您的学习算法永远找不到这种解决方案。因此,我觉得很难利用网络的结构来限制范围。我同意@tdc的观点,归纳错误是解决之道。瓦普尼克(Vapnik)关于统计学习理论的论文可能是开始对此进行学习的好地方。
Andreas Mueller

Answers:


8

您可能想看看John Langford和Rich Caruana撰写的论文“(No​​t)Bounding the True Error”(NIPS,2001年)

摘要指出:

我们提出了一种基于PAC-Bayes边界界定连续值分类器真实错误率的新方法。该方法首先通过确定模型中每个参数对噪声的敏感程度来构建分类器上的分布。然后,可以使用PAC-Bayes约束来严格限制在敏感性分析中找到的随机分类器的真实错误率。在本文中,我们演示了在人工神经网络上的方法,与最佳确定性神经网络界限相比,改进了2 3个数量级。

他们表明,您可以将PAC-Bayes样式范围应用于随机神经网络。但是,该分析仅适用于具有S型传递函数的2层前馈神经网络。在这种情况下,复杂度项仅取决于节点数和权重的方差。他们表明,对于此设置,界限有效地预测了何时会发生过度训练。不幸的是,它实际上并没有达到您的任何“首选”属性!


+1看起来很酷-谢谢,我来看一下。但是我同意它不适合任何首选属性,并且乍一看似乎并不能真正衡量网络的复杂性和性能……但是我想那是不可分割的。
Artem Kaznatcheev

它正在查看的是Generalization Error。创建的边界通常具有基于训练误差的项,以及基于模型复杂度的惩罚项。您只对复杂性一词感兴趣,但它几乎是所有范围的要素。这个视频比我能更好地解释它!
tdc 2012年

认为这个方向是不正确的。错误与网络复杂性有很大不同。尽管现有的理论可能会使两者模糊。一个简单的例子就是误差过低但复杂度高的过拟合。同样,错误可能会以违反直觉的方式表现出来,而导致复杂性。例如偏见。似乎小型网络可能会低估错误。诸如此类

@vzn,但是泛化错误是将来数据的错误-即,如果您的训练错误少且复杂度高,则错误范围将很松散。
tdc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.