英语轻松读发新版了,欢迎下载、更新

正确完成机器学习实验

2024-12-02 19:24:59 英文原文

作者:Nura Kawa

设计机器学习实验以产生可靠、可重复结果的详细指南。

Nura Kawa

Towards Data Science

摄影:韦德拉纳·菲利波维 (Vedrana Filipovi)未飞溅

机器学习 (ML) 从业者通过实验来比较特定应用和一般类型问题的方法的有效性。实验结果的有效性取决于实践者如何设计、运行和分析他们的实验。不幸的是,许多机器学习论文缺乏有效的结果。最近的研究[5] [6]揭示了已发表的实验缺乏可重复性,将此归因于以下实践:

  • 数据污染:工程训练数据集包含语义上与测试数据集相似或直接来自测试数据集的数据
  • 择优挑选:选择性地选择有利于呈现方法的实验设置或结果
  • 误报:包括 – 不正确地使用统计数据来分析结果,例如在没有适当的统计测试的情况下声称显着性或使用错误的统计测试[6]

此类做法不一定是有意为之——从业者可能面临着快速取得成果的压力或缺乏足够的资源。然而,持续使用不良的实验实践不可避免地会导致代价高昂的结果。那么,我们应该如何进行机器学习实验才能获得可重复且可靠的结果呢?在这篇文章中,我们提出了设计和执行严格的机器学习实验的指南

实验涉及一个具有输入、过程和输出的系统,如下图所示。以花园为例:球茎是输入,发芽是过程,花朵是输出。在机器学习系统中,数据被输入到学习函数中,该函数输出预测。

实践者的目标是最大化一些响应函数输出 - 在我们的花园示例中,这可能是盛开的花朵的数量,而在 ML 系统中,这通常是模型精度。该响应函数取决于可控因素和不可控因素。园丁可以控制土壤质量和日常浇水,但无法控制天气。机器学习从业者可以控制机器学习系统中的大多数参数,例如训练过程、参数和预处理步骤,而随机性则来自数据选择。

实验图,基于 [2]

实验的目标是找到可控因素的最佳配置,最大化响应函数,同时最小化不可控因素的影响。精心设计的实验需要两个关键要素:测试可控因素不同组合的系统方法,以及解释不可控因素的随机性的方法。

基于这些原则,清晰且有组织的框架对于有效设计和进行实验至关重要。下面,我们提供了一个清单,指导从业者规划和执行机器学习实验。

计划并执行严格的 ML 实验:

  1. 说明客观的你的实验
  2. 选择响应函数,或者你想要测量的东西
  3. 确定哪些因素发生变化,哪些因素保持不变
  4. 描述一个跑步实验的内容,应定义:
    (a) 实验的单一配置
    (b) 使用的数据集
  5. 选择一个实验设计,它应该定义:
    (a) 我们如何探索因子空间以及
    (b) 我们如何重复测量(交叉验证)
  6. 进行实验
  7. 分析数据
  8. 得出结论和建议

1. 陈述实验目的

目标应该清楚地说明为什么要进行实验。同样重要的是指定有意义的效应大小。例如,如果实验的目标是“确定使用数据增强技术是否可以提高模型的准确性”,那么我们必须添加“显着改进大于或等于 5”%.—

2. 选择响应函数,或者您想要测量的内容

机器学习实验的响应函数通常是与学习函数的任务相关的精度度量,例如分类精度、平均精度或均方误差。它也可以是可解释性、稳健性或复杂性的衡量标准——只要指标定义明确。

3. 确定哪些因素发生变化,哪些因素保持不变

机器学习系统有模型设计、数据预处理、训练策略、特征选择等多个可控因素。在此步骤中,我们决定哪些因素保持不变,哪些因素可以在运行过程中发生变化。例如,如果目标是“确定使用数据增强技术是否可以提高模型的准确性”,我们可以选择改变数据增强策略及其参数,但在所有数据中保持模型相同运行。

4. 描述一次实验

一个跑步是实验的单个实例,其中将过程应用于单个因素配置。在我们的示例实验中,目的是确定使用数据增强技术是否可以提高模型的准确性,单次运行将是:使用一种数据增强在训练数据集上训练模型技术并在保留的测试集上测量其准确性。 –

在此步骤中,我们还选择实验数据。在选择数据集时,我们必须考虑我们的实验是特定领域的应用还是通用的。特定领域的实验通常需要代表该领域的单个数据集,而旨在显示通用结果的实验​​应该评估具有不同数据类型的多个数据集的方法[1]。

在这两种情况下,我们都必须专门定义训练、验证和测试数据集。如果我们要分割一个数据集,我们应该记录数据分割。这是避免意外污染的重要步骤!

5. 选择实验设计

实验设计是我们将执行的运行的集合。实验设计描述:

  • 哪些因素和级别(因素的类别或值)将被研究
  • 随机化方案(交叉验证)

如果我们正在运行一个实验来测试训练数据集大小对生成模型的稳健性的影响,我们将测试哪个大小范围,以及我们应该得到多细的粒度?当改变多个因素时,测试所有因素/水平配置的所有可能组合是否有意义?如果我们计划进行统计检验,遵循特定的实验设计可能会有所帮助,例如析因设计或随机区组设计(参见[3] 了解更多信息)。

交叉验证对于机器学习实验至关重要,因为这可以减少因选择数据集分割而导致的结果差异。为了确定所需的交叉验证样本数量,我们返回到步骤 1 中的目标陈述。如果我们计划执行统计分析,我们需要确保为我们的特定统计测试生成足够的数据。

这一步的最后一部分是思考资源限制。一次运行需要多少时间和计算?我们是否有足够的资源来按照我们设计的方式进行这个实验?也许必须改变设计才能满足资源限制。

6. 进行实验

为了确保实验顺利进行,必须有一个严格的系统来组织数据、跟踪实验运行和分析资源分配。有几个开源工具可用于此目的(请参阅很棒的机器学习实验管理)。

7. 分析数据

根据实验的目标和领域,查看结果的交叉验证平均值(和误差线!)就足够了。然而,验证结果的最佳方法是通过统计假设检验, 这严格地表明,在给定数据的情况下获得结果的概率不是偶然的。如果实验的目的是显示因果关系,则必须进行统计检验。

8. 得出结论

根据上一步的分析,我们现在可以陈述我们从实验中得出的结论。我们能否根据我们的结果提出任何主张,或者我们是否需要查看更多数据?可靠的结论得到了结果数据的支持并且是可重复的。任何不熟悉该实验的从业者都应该能够从头到尾运行该实验,获得相同的结果,并从结果中得出相同的结论。

机器学习实验有两个关键因素:用于测试不同因素组合的系统设计,以及用于控制随机性的交叉验证方案。在整个实验的规划和执行过程中遵循本文的 ML 实验清单可以帮助从业者或从业者团队确保所得实验的可靠性和可重复性。

感谢您的阅读!如果您觉得这篇文章有用,请考虑关注我中等的,或者查看我的网站

[1] Joris Guerin — 设计严格的机器学习实验的快速指南。 —走向数据科学。在线提供

[2] 机器学习实验的设计与分析 – 机器学习 – 2016 年春季 – Kogan 教授。Youtube 视频

[3] 约翰·劳森。使用 R 进行实验设计和分析。 在线提供

[4] 机器学习中的可疑实践。ArXiv 预印本

[5] 提高机器学习研究的可重复性。机器学习研究杂志,2022 年。在线提供

[6] 迈向量化独立可重复机器学习研究的一步。ArXiv 预印本

关于《正确完成机器学习实验》的评论


暂无评论

发表评论

摘要

提出了设计机器学习实验的详细指南,以确保可靠性和可重复性。本文重点介绍了机器学习研究中的常见问题,例如数据污染、挑选结果和错误报告统计数据。它提供了一个清单,涵盖目标设置、响应函数的选择、变量因素的识别、实验运行的描述、实验设计的选择(包括交叉验证、执行、分析和结论得出)。强调系统方法来管理可控因素并解释不可控因素的随机性对于可信的机器学习实验至关重要。