我是否正确理解您想要衡量 C1 是比 C2 更快/更慢的学习者?
有了无限的训练数据,我会明确地构建(测量)学习曲线。这使您可以讨论您提出的两个问题。
正如 Dikran 已经暗示的那样,学习曲线确实具有方差和偏差成分:在较小数据上的训练给出了系统性较差的模型,但在使用较小数据训练的不同模型之间也存在较大的方差。ntrain我还会在讨论中讨论哪个分类器更好。
确保您使用足够大的测试样本量进行测试:计数比例(例如分类器准确性)会受到高方差的影响,这可能会弄乱您的结论。由于您拥有无限的数据源,因此您处于非常舒适的境地,实际上可以测量学习曲线,而不会对其产生太多额外的测试错误。
我刚收到一篇论文,总结了关于分类模型的样本量规划的一些想法和发现。DOI 还没有起作用,但无论如何这里是 arXiv 接受的手稿。
当然,计算时间现在是您的考虑因素。对此的一些想法
您愿意花多少计算机时间取决于您需要比较的内容。
如果只是为了找到一个实际可行的设置,我也会务实地做出决定。
如果这是一个科学问题,我会引用我的老主管“计算机时间不是科学论证”。这意味着通过妥协您可以得出的结论来节省几天甚至几周的服务器时间并不是一个好主意*。
更重要的是,因为有更好的计算并不一定需要更多的时间:无论是在训练样本大小的精细网格还是粗略网格上进行计算,或者是否您可以通过 1000 次迭代或仅通过 10 次迭代来测量方差。这意味着您可以按照允许非常快速地对结果进行“预览”的顺序进行计算,然后您可以绘制结果,最后拉入细粒度的数字。
(*) 我可能会补充一点,我来自一个实验领域,在那里您很容易花费数月或数年的时间来收集样本,并进行数周或数月的测量,而这些测量与在服务器上运行的模拟方式不同,也不是。
关于引导/交叉验证的更新
当然可以使用(迭代/重复)交叉验证或自举测试来测量学习曲线。如果您处于小样本量的情况下,使用重采样方案而不是适当的独立测试集是明智的,即您没有足够的独立样本来训练一个好的分类器并正确测量其性能。根据问题,这里不是这种情况。
数据驱动的模型优化
更一般的一点:从学习曲线中选择一个“工作点”(即此处的训练样本大小)是一个数据驱动的决策。这意味着您需要使用另一个独立的测试集对“最终”模型(使用该样本大小进行训练)进行另一次独立验证。但是,如果您用于测量学习曲线的测试数据是独立的并且具有巨大(非常大)的样本量,那么您过度拟合该测试集的风险很小。即,如果您发现最终测试数据的性能下降,则表明测试样本量太小而无法确定学习曲线或数据分析设置存在问题(数据不独立,训练数据泄漏到测试数据中)。
更新 2:有限的测试样本量
是一个真正的问题。比较许多分类器(每个ntrain您评估最终会导致一个分类器!)从统计学的角度来看,这是一个多重测试问题。这意味着,通过相同的测试集判断“撇去”测试的方差不确定性。这会导致过拟合。
(这只是表达 Dikran 评论的摘樱桃的危险的另一种方式)
如果您希望能够说明最终选择的模型的准确性,您确实需要为最终评估保留一个独立的测试集。
虽然很难过拟合包含数百万个实例的测试集,但过拟合到每个类 350 个样本要容易得多。
因此,我在上面链接的论文可能比我最初想象的更让您感兴趣:它还展示了如何计算您需要多少测试样本来显示,例如一个分类器(具有固定超参数)相对于另一个分类器的优越性。由于您可以使用相同的测试集测试所有模型,因此您可能很幸运,通过在此处进行配对测试,您可以在一定程度上减少所需的测试样本量。对于 2 个分类器的配对比较,McNemar 测试将是一个关键字。