小型训练集的良好分类器

机器算法验证 分类 小样本
2022-03-29 13:49:17

在连续自变量(特征)和小训练集(特别是训练样例数约等于自变量数的情况下)的情况下,有哪些好的分类方法?在这里,小意味着大约 50。我对能够知道哪些变量是“重要的”特别感兴趣。理想情况下,我正在寻找一种训练步骤计算效率高的方法;我不太关心实际分类任务的计算成本。

2个回答

首先,您可能想看一下《统计学习要素》他们在第 3 章中讨论了变量选择以及不同的正则化技术(不要介意它是关于回归的)。

如果您认为您的变量基本上不相关,并且应该进入模型或不进入模型,那么您可能想看看随机森林。他们试图通过从略有不同的数据子集(案例和变量的子集)构建大量模型来解决小样本量问题。此外,它们可以告诉您有多少决策树使用了哪个变量,这有助于您选择变量。

但是,如果您认为您的变量可能是相关的,则 PCA-LDA 或 PLS-LDA 等方法可能更合适。如果正确链接它们,您甚至可以导出系数,告诉您有多少原始变量进入了 LD 函数。(如果有帮助,你可以向我索要 R 代码)。我会在这里选择 LDA 而不是逻辑回归,因为 LR 往往需要更多的训练案例。

你想让你的模型尽可能简单,这样它就不会过拟合。这通常意味着对数据的分布做出简单的假设。

一些可能性是朴素贝叶斯、逻辑回归、某种类型的决策树,也许是线性 SVM(没有过多地使用外部参数)。

此外,您应该尝试使用非常少量的功能。您可以尝试各种特征选择方法,但如果您想了解原始特征的重要性,请尽量不要扭曲特征空间(例如没有 PCA)。