关于功能数量与实例数量的任何“经验法则”?(小数据集)

数据挖掘 特征选择 模型选择
2021-09-20 23:26:56

我想知道,是否有关于特征数量与观察数量的启发式方法。显然,如果特征的数量等于观察的数量,模型就会过拟合。通过使用稀疏方法(LASSO、弹性网络),我们可以删除几个特征来减少模型。

我的问题是(理论上):我们使用指标来评估模型选择之前,是否有任何经验观察将最佳特征数量与观察数量联系起来?

例如:对于每个类有 20 个实例的二元分类问题,使用的特征数量是否有上限?

4个回答

多篇论文认为

只有在极少数情况下,才会有已知的误差分布作为特征数量和样本大小的函数。

给定的一组实例和特征的误差表面是特征之间相关性(或缺乏)的函数。

本文提出以下建议:

  • 对于不相关的特征,最优的特征尺寸是 ñ-1 (在哪里 ñ 是样本量)
  • 随着特征相关性的增加,最佳特征大小与 ñ 对于高度相关的特征。

可以采取的另一种(经验)方法是从同一数据集中绘制不同样本大小的学习曲线,并使用它来预测不同样本大小的分类器性能。这是论文的链接

根据我自己的经验:在一个案例中,我使用了一个非常小的真实数据库(300 张图像),有很多类,严重的数据不平衡问题,我最终使用了 9 个特征:SIFT、HOG、Shape context、SSIM、GM和 4 个基于 DNN 的特征。在另一种情况下,我使用非常大的数据库(> 1 M 图像)并最终只使用 HOG 功能。我认为实例数量与实现高精度所需的特征数量之间没有直接关系。但是:类的数量、类之间的相似性和同一类内的变异(这三个参数)可能会影响特征的数量。当拥有包含许多类的大型数据库以及类之间的大相似性和同一类内的大变化时,您需要更多特征来实现高精度。记住:

这取决于......但当然,这个答案让你无处可去。

他是模型复杂性的一些经验法则: Learning from data - VC dimension

“非常粗略地”每个模型参数需要 10 个数据点。并且模型参数的数量可以类似于特征的数量。

派对迟到了,但这里有一些启发式方法。

每个类有 20 个实例的二元分类问题,使用的特征数量有上限吗?

  • 对于线性分类器的训练,建议每个类和特征 3 - 5 个独立案例。此限制为您提供可靠稳定的模型,但不能保证模型良好(这是不可能的:您可能拥有无信息的数据,而没有模型可以实现良好的泛化性能)

  • 但是,对于与您的场景一样小的样本量,验证(验证)而不是训练是瓶颈,并且验证取决于测试用例的绝对数量而不是与模型复杂性相关的案例:根据经验,您需要 ≈ 100 个测试分母中的案例来估计置信区间不超过 10% 点宽的比例。

    不幸的是,这也意味着您基本上无法获得应用程序的经验学习曲线:您无法足够精确地测量它,并且在实践中您无论如何都很难推断它,因为为了进行训练,您会通过限制模型来对小样本量做出反应复杂性——你会随着样本量的增加而放松这一点。

    有关详细信息,请参阅我们的论文:Beleites, C. 和 Neugebauer, U. 和 Bocklitz, T. 和 Krafft, C. 和 Popp, J.:分类模型的样本量规划。Anal Chim Acta, 2013, 760, 25-33。
    DOI: 10.1016/j.aca.2012.11.007

    arXiv 上接受的手稿: 1211.1323

  • 我从来没有任何接近这些建议的东西(光谱数据,也用于医疗应用)。然后我要做的是:作为建模和验证过程的一部分,我非常密切地测量模型稳定性。