相关输入数据是否会导致神经网络过度拟合?

机器算法验证 相关性 神经网络 过拟合
2022-03-03 02:38:45

在我看来,相关的输入数据一定会导致神经网络过度拟合,因为网络会学习相关性,例如数据中的噪声。

它是否正确?

2个回答

其实没有。

这样的问题有点笼统,并且混合了两个并不真正相关的事情。过度拟合通常意味着与泛化描述相反的性质。从某种意义上说,过度拟合(或过度训练)的网络将具有较少的泛化能力。这种质量主要取决于网络架构、训练和验证程序。数据及其属性仅作为“训练过程发生的东西”输入。这或多或少是“课本知识”;你可以试试 James、Witten、Hastie 和 Tibshirani 的“统计学习简介”。或者 Bishop 的“模式识别”(我最喜欢的关于一般主题的书)。或者“模式识别和机器学习”,也是 Bishop 的。

对于相关性本身:考虑具有一定维度的输入空间。无论您使用什么变换,维数都将保持不变——线性代数就是这样说的。在一种情况下,给定的基数将完全不相关——这就是你得到的,当你去相关变量,或者简单地应用 PAT(主轴变换)。拿任何线性代数书来做这件事。

由于具有适当架构的神经网络可以对任何(!)函数进行建模,您可以放心地假设,它也可以首先对 PAT 进行建模,然后执行它也应该执行的任何操作——例如分类、回归等。

您还可以将相关性视为一个特征,它应该是神经网络描述的一部分,因为它是数据的一个属性。相关性的性质并不重要,除非它不应该成为数据的一部分。这实际上是一个不同的主题——您应该对输入中的噪声等进行建模或量化,并对其进行解释。

所以,总而言之,没有。相关数据意味着您应该更加努力地使数据处理在技术上更简单、更有效。过度拟合可能会发生,但不会发生,因为存在相关数据。

cherub 关于他关于过度拟合的陈述是正确的。然而,我认为高度相关的特征和 ANN 的讨论过度简化了这个问题。

是的,理论上 ANN 可以逼近任何函数。然而,在实践中,包含许多高度相关的特征并不是一个好主意。这样做会在模型中引入许多冗余。包含此类冗余将引入不必要的复杂性,这样做可能会增加局部最小值的数量。鉴于 ANN 的损失函数本质上不是平滑的,引入不必要的粗糙度并不是一个好主意。