作者:Nura Kawa
机器学习 (ML) 从业者通过实验来比较特定应用和一般类型问题的方法的有效性。实验结果的有效性取决于实践者如何设计、运行和分析他们的实验。不幸的是,许多机器学习论文缺乏有效的结果。最近的研究[5] [6]揭示了已发表的实验缺乏可重复性,将此归因于以下实践:
此类做法不一定是有意为之——从业者可能面临着快速取得成果的压力或缺乏足够的资源。然而,持续使用不良的实验实践不可避免地会导致代价高昂的结果。那么,我们应该如何进行机器学习实验才能获得可重复且可靠的结果呢?在这篇文章中,我们提出了设计和执行严格的机器学习实验的指南。
实验涉及一个具有输入、过程和输出的系统,如下图所示。以花园为例:球茎是输入,发芽是过程,花朵是输出。在机器学习系统中,数据被输入到学习函数中,该函数输出预测。
实践者的目标是最大化一些响应函数输出 - 在我们的花园示例中,这可能是盛开的花朵的数量,而在 ML 系统中,这通常是模型精度。该响应函数取决于可控因素和不可控因素。园丁可以控制土壤质量和日常浇水,但无法控制天气。机器学习从业者可以控制机器学习系统中的大多数参数,例如训练过程、参数和预处理步骤,而随机性则来自数据选择。
实验的目标是找到可控因素的最佳配置,最大化响应函数,同时最小化不可控因素的影响。精心设计的实验需要两个关键要素:测试可控因素不同组合的系统方法,以及解释不可控因素的随机性的方法。
基于这些原则,清晰且有组织的框架对于有效设计和进行实验至关重要。下面,我们提供了一个清单,指导从业者规划和执行机器学习实验。
计划并执行严格的 ML 实验:
目标应该清楚地说明为什么要进行实验。同样重要的是指定有意义的效应大小。例如,如果实验的目标是“确定使用数据增强技术是否可以提高模型的准确性”,那么我们必须添加“显着改进大于或等于 5”%.—
机器学习实验的响应函数通常是与学习函数的任务相关的精度度量,例如分类精度、平均精度或均方误差。它也可以是可解释性、稳健性或复杂性的衡量标准——只要指标定义明确。
机器学习系统有模型设计、数据预处理、训练策略、特征选择等多个可控因素。在此步骤中,我们决定哪些因素保持不变,哪些因素可以在运行过程中发生变化。例如,如果目标是“确定使用数据增强技术是否可以提高模型的准确性”,我们可以选择改变数据增强策略及其参数,但在所有数据中保持模型相同运行。
一个跑步是实验的单个实例,其中将过程应用于单个因素配置。在我们的示例实验中,目的是确定使用数据增强技术是否可以提高模型的准确性,单次运行将是:使用一种数据增强在训练数据集上训练模型技术并在保留的测试集上测量其准确性。 –
在此步骤中,我们还选择实验数据。在选择数据集时,我们必须考虑我们的实验是特定领域的应用还是通用的。特定领域的实验通常需要代表该领域的单个数据集,而旨在显示通用结果的实验应该评估具有不同数据类型的多个数据集的方法[1]。
在这两种情况下,我们都必须专门定义训练、验证和测试数据集。如果我们要分割一个数据集,我们应该记录数据分割。这是避免意外污染的重要步骤!
实验设计是我们将执行的运行的集合。实验设计描述:
如果我们正在运行一个实验来测试训练数据集大小对生成模型的稳健性的影响,我们将测试哪个大小范围,以及我们应该得到多细的粒度?当改变多个因素时,测试所有因素/水平配置的所有可能组合是否有意义?如果我们计划进行统计检验,遵循特定的实验设计可能会有所帮助,例如析因设计或随机区组设计(参见[3] 了解更多信息)。
交叉验证对于机器学习实验至关重要,因为这可以减少因选择数据集分割而导致的结果差异。为了确定所需的交叉验证样本数量,我们返回到步骤 1 中的目标陈述。如果我们计划执行统计分析,我们需要确保为我们的特定统计测试生成足够的数据。
这一步的最后一部分是思考资源限制。一次运行需要多少时间和计算?我们是否有足够的资源来按照我们设计的方式进行这个实验?也许必须改变设计才能满足资源限制。
为了确保实验顺利进行,必须有一个严格的系统来组织数据、跟踪实验运行和分析资源分配。有几个开源工具可用于此目的(请参阅很棒的机器学习实验管理)。
根据实验的目标和领域,查看结果的交叉验证平均值(和误差线!)就足够了。然而,验证结果的最佳方法是通过统计假设检验, 这严格地表明,在给定数据的情况下获得结果的概率不是偶然的。如果实验的目的是显示因果关系,则必须进行统计检验。
根据上一步的分析,我们现在可以陈述我们从实验中得出的结论。我们能否根据我们的结果提出任何主张,或者我们是否需要查看更多数据?可靠的结论得到了结果数据的支持并且是可重复的。任何不熟悉该实验的从业者都应该能够从头到尾运行该实验,获得相同的结果,并从结果中得出相同的结论。
机器学习实验有两个关键因素:用于测试不同因素组合的系统设计,以及用于控制随机性的交叉验证方案。在整个实验的规划和执行过程中遵循本文的 ML 实验清单可以帮助从业者或从业者团队确保所得实验的可靠性和可重复性。