需要多大的训练集?

机器算法验证 分类
2022-02-10 09:26:09

是否有一种常用方法来确定需要多少训练样本来训练分类器(在这种情况下为 LDA)以获得最小阈值泛化精度?

我之所以这么问,是因为我想尽量减少脑机接口通常所需的校准时间。

2个回答

您正在寻找的搜索词是“学习曲线”,它给出了(平均)模型性能作为训练样本大小的函数。

学习曲线取决于很多东西,例如

  • 分类法
  • 分类器的复杂度
  • 类的分离程度。

(我认为对于两类 LDA,您可能能够推导出一些理论功率计算,但关键事实始终是您的数据是否真正满足“相等 COV 多元正态”假设。我会为两个 LDA 进行一些模拟对现有数据的假设和重新采样)。

在有限样本量上训练的分类器的性能有两个方面n(照常),

  • 偏差,即平均而言,一个分类器受过训练n训练样本比训练的分类器差n=培训案例(这通常是指学习曲线),以及
  • 方差:给定的训练集n案例可能会导致完全不同的模型性能。
    即使很少有案例,您也可能很幸运并获得良好的结果。或者你运气不好,得到了一个非常糟糕的分类器。
    像往常一样,这种方差随着训练样本量的增加而减小n.

您可能需要考虑的另一个方面是,训练一个好的分类器通常是不够的,但您还需要证明分类器是好的(或足够好的)。因此,您还需要计划以给定精度进行验证所需的样本量。如果您需要在这么多测试用例(例如生产者或消费者的准确度/精度/灵敏度/阳性预测值)中将这些结果作为成功的一部分给出,并且基础分类任务相当容易,这可能需要更多独立的案例而不是训练一个很好的模型。

根据经验,对于训练,样本量通常与模型复杂度(案例数:变量数)相关来讨论,而测试样本量的绝对界限可以给出性能测量所需的精度。

这是一篇论文,我们在其中更详细地解释了这些事情,并讨论了如何构建学习曲线:
Beleites, C. and Neugebauer, U. and Bocklitz, T. and Krafft, C. and Popp, J.:样本量规划用于分类模型。Anal Chim Acta, 2013, 760, 25-33。
DOI: 10.1016/j.aca.2012.11.007
arXiv 上接受的手稿: 1211.1323

这是“预告片”,展示了一个简单的分类问题(实际上,在我们的分类问题中,我们有一个类似这样的简单区分,但其他类的区分要困难得多): 预告样本大小规划文件

我们没有尝试外推到更大的训练样本量来确定需要多少训练案例,因为测试样本量是我们的瓶颈,更大的训练样本量会让我们构建更复杂的模型,所以外推是有问题的。对于我拥有的那种数据集,我会反复处理,测量一堆新案例,显示改进了多少,测量更多案例等等。

这对您来说可能有所不同,但本文包含对使用外推到更高样本量的论文的参考文献,以估计所需的样本数量。

询问训练样本大小意味着您将保留数据以进行模型验证。这是一个不稳定的过程,需要大量样本。使用引导程序进行强大的内部验证通常是首选。如果您选择该路径,您只需要计算一个样本大小。正如@cbeleites 所说,这通常是“每个候选变量的事件”评估,但是即使没有要检查的特征,您也需要至少 96 次观察才能准确预测二元结果的概率[这是为了实现在估计 Y=1 的实际边际概率时,0.95 的置信度误差为 0.1]。

为准确度评估考虑适当的评分规则很重要(例如,Brier 评分和对数似然/偏差)。还要确保您确实想要对观察结果进行分类,而不是估计成员概率。后者几乎总是更有用,因为它允许灰色区域。