机器学习与深度学习

16、如何评估机器学习算法

2019-02-23  本文已影响75人  攻城狮笔记

一旦定义了问题准备好数据,就需要将机器学习算法应用于数据以解决问题。

您可以花费大量时间选择,运行和调整算法。您希望确保有效利用时间来更接近目标。

在这篇文章中,您将逐步完成一个过程,快速测试算法并发现问题中是否存在用于学习算法以及哪些算法有效的结构。

image.png

测试线束
照片归属于NASA Webb望远镜,保留了一些权利

测试线束

您需要定义测试工具。测试工具是您将训练和测试算法的数据,以及您将用于评估其性能的性能测量。重要的是要很好地定义测试工具,以便您可以专注于评估不同的算法并深入思考问题。

测试工具的目标是能够快速一致地测试算法,以反映正在解决的问题的公平表示。针对线束测试多种算法的结果将是对各种算法如何针对所选性能度量对问题执行的估计。您将知道哪些算法可能值得调整问题,哪些算法不应该进一步考虑。

结果还将告诉您问题的可学习性。如果各种不同的学习算法大学在这个问题上表现不佳,那么可能表明缺乏可用于学习算法的结构。这可能是因为在所选数据中实际上缺乏可学习的结构,或者它可能是尝试不同变换以将结构暴露给学习算法的机会。

性能指标

性能度量是您希望评估问题解决方案的方式。它是您对测试数据集上受过训练的模型所做的预测所做的测量。

性能度量通常专用于您正在使用的问题类,例如分类,回归和聚类。许多标准性能指标将为您提供对您的问题域有意义的分数。例如,分类的分类准确性(总校正校正除以总预测数乘以100将其变为百分比)。

您可能还需要更详细的性能细分,例如,您可能想知道垃圾邮件分类问题的误报,因为好的电子邮件将被标记为垃圾邮件并且无法读取。

有许多标准的性能指标可供选择。您很少需要自己设计一个新的性能指标,因为您通常可以找到或调整一个能够最好地捕获所解决问题要求的指标。查看您发现的类似问题以及用于查看是否可以采用的性能指标。

测试和训练数据集

从转换后的数据中,您需要选择一个测试集和一个训练集。将在训练数据集上训练算法,并将针对测试集进行评估。这可能就像选择随机数据分割一样简单(66%用于训练,34%用于测试)或者可能涉及更复杂的采样方法。

训练期间训练的模型不会暴露于测试数据集,并且对该数据集进行的任何预测都被设计为通常指示模型的性能。因此,您需要确保选择数据集代表您正在解决的问题。

交叉验证

比使用测试和训练数据集更复杂的方法是使用整个变换数据集来训练和测试给定算法。您可以在测试工具中使用的方法执行此操作称为交叉验证。

它首先涉及将数据集分成多个大小相等的实例组(称为折叠)。然后对所有折叠进行训练,除了遗漏之外的所有折叠,并且在遗漏折叠处测试所准备的模型。重复该过程,以便每个折叠都有机会被遗漏并充当测试数据集。最后,在所有折叠中对性能度量进行平均,以估计算法对问题的能力。

例如,3次交叉验证将涉及3次训练和测试模型:

折叠数量可能因数据集的大小而异,但常见数字为3,5,7和10倍。目标是在列车和测试集中的数据大小和表示之间取得良好的平衡。

当您刚入门时,坚持使用简单的列车和测试数据(例如66%/ 34%)并在您更有信心后进行交叉验证。

测试算法

当您遇到问题并定义了测试工具时,您很满意,现在是时候检查各种机器学习算法了。抽样检查很有用,因为它可以让您快速查看数据中是否有任何可学习的结构,并估计哪些算法可能对问题有效。

抽样检查还可以帮助您解决测试工具中的任何问题,并确保所选的性能测量是合适的。

最好的第一种抽样检查算法是随机的。插入随机数生成器以生成适当范围内的预测。这应该是您实现的最差的“算法结果”,并且将成为评估所有改进的措施。

选择适合您的问题的5-10种标准算法,并通过测试工具运行它们。通过标准算法,我的意思是流行的方法没有特殊配置。适合您的问题意味着如果您有回归问题,算法可以处理回归。

从我们已经审查过的算法分组中选择方法。我喜欢包含多种混合,并且有多种算法类型的10-20种不同的算法。根据我使用的库,我可能会检查50多种流行的方法来快速清除有前景的方法。

如果要运行许多方法,可能必须重新访问数据准备并减小所选数据集的大小。这可能会降低您对结果的信心,因此请使用各种数据集大小进行测试。您可能希望使用较小尺寸的数据集进行算法点检查,并使用更完整的数据集进行算法调整。

摘要

在这篇文章中,您了解了设置值得信赖的测试工具的重要性,该测试工具涉及选择测试和培训数据集以及对您的问题有意义的性能测量。

您还了解了使用测试工具对您的问题进行各种机器学习算法的现场检查策略。您发现此策略可以快速突出显示数据集中是否存在可学习的结构(如果不是,您可以重新访问数据准备)以及哪些算法在问题上表现良好(可能是进一步调查和调整的候选者)。

资源

如果您希望深入了解此主题,可以从以下资源中了解更多信息。

上一篇下一篇

猜你喜欢

热点阅读