小样本中的神经网络与回归

机器算法验证 回归 机器学习 神经网络 多重回归 小样本
2022-04-12 17:49:01

我有一个包含 20 个观察值和 30 个变量的小型数值数据集。我想将 Y 近似为其余 29 个 Xs(x1,x2,x3...x29) 的函数。我已经测试过:

  1. 具有 1 个隐藏层和 7 个节点的神经网络 (NN)

  2. 具有 0 个隐藏层的 NN(相当于没有交互的回归)

测试 NN 的原因是因为 NN 将自动捕获的 29 个变量之间极有可能存在交互作用。

交叉验证后,第一个选项的 MAPE 和 MPE 错误百分比低于第二个选项。因此,我得出结论,它更适合。用这么少的数据使用神经网络安全吗?

编辑:我计划通过使用拟合模型的近似值来创建新的数据点。我可以控制和改变所有的 X。新的数据点将迭代地反馈到观测值中(第 21 个观测值->重新拟合模型->第 22 个观测值-> 重新拟合模型...->第 100 个观测值...)。我面临一个冷启动问题,我必须以某种方式克服。

3个回答

在绝大多数情况下,神经网络需要大量数据。如果你有 20 个观察值,神经网络显然是一个糟糕的选择。有了这么小的样本量,网络很容易记住数据并过拟合。即使是小样本量的交叉验证也是有争议的,因为您一次只验证几个样本的结果。

对于这个小样本,您应该针对简单、稳健的模型,例如(正则化)线性回归。还检查标记为的其他问题.

在您的第一种情况下,您将有 30 * 7 + 1 个参数来解释 30 * 20 个数据点。使用如此复杂的模型,您一定会过度拟合并在一定程度上记住您的训练数据。

由于样本量如此之小,您的验证结果也可能不可靠,这仅仅是由于偶然性。我可能会尝试留一法交叉验证,以至少获得验证分数的一些分布。这使得比较更合理一些。

我会进行回归,甚至可能会进行一些特征消除以使模型更简单一些。

样本量如此之低,变量与观察值之比如此之高,以至于必须使建模框架更加“适度”,超越线性回归。某种形式的正则化很可能会提高样本外估计模型的性能。尝试套索岭回归最小角度回归这些方法的一个很好的资源是第 3 章

Hastie, T.、Tibshirani, R. 和弗里德曼, JH (2008)。统计学习的要素:数据挖掘、推理和预测。纽约:斯普林格。