建模支持、指标和验证 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

建模支持、指标和验证

Amazon SageMaker 自动驾驶仪支持三种类型的机器学习算法来解决机器学习问题,报告各种质量和客观指标,并在需要时自动使用交叉验证。

Autopilot 算法支持

自动驾驶仪支持的三种机器学习算法:

  • 线性学习器算法:用于求解分类或回归问题的监督式学习算法。

  • XGBoost 算法:一种指导式学习算法,它尝试将一组较简单且较弱模型的一系列估计值结合在一起,从而准确地预测目标变量。

  • 深度学习算法:一种多层感知器 (MLP),一种前馈人工神经网络,可处理不线性分离的数据。

注意

您无需指定用于计算机学习问题的算法。Autopilot 会自动选择适当的算法来训练。

Autopilot 候选项指标

Amazon SageMaker 自动导航仪生成的指标用于衡量机器学习模型候选项的预测质量。为候选项计算的衡量指标使用MetricDatum类型。以下列表包含当前可用指标的名称。

  • MSE:均方误差 (MSE) 是预测值与实际值之间的平方差值的平均值。它用于回归。MSE 值始终是正值:模型预测实际值越好,MSE 值越小。

  • Accuracy:正确分类项目数量与(正确和错误)分类项目总数之比。它用于二进制和多类分类。它测量预测类值与实际值的接近程度。精度值在零到 1 之间变化:一个表示完美的精度,零表示完美的不准确度。

  • F1:F1 分数是查准率和查全率的调和平均数。它用于二进制分类,传统上称为正反分类。当他们匹配他们的实际(正确)类时,预测被认为是真实的,当他们不匹配时,它们是假的。精度是数据集中真正正预测值与所有正预测值(包括误报)的比率,用于在预测正类时测量预测质量。召回(或敏感度)是真正正预测值与所有实际正实例的比率,并测量模型预测数据集中实际类成员的完全程度。标准 F1 分数的重量精确度和召回相同。但是,哪个衡量标准至关重要,通常取决于问题的具体方面。F1 分数在 0 和 1 之间变化:一个表示最佳的表现,零最差。

  • AUC:曲线 (AUC) 度量下面的区域用于通过算法(如返回概率的 Logistic 回归)比较和评估二进制分类。需要一个阈值来将概率映射到分类中。相关曲线是接收器工作特征曲线,该曲线将预测(或召回)的真正正速率(TPR)绘制为阈值的函数,超过该阈值的预测被认为是正值。增加阈值会导致误报数量减少,但更多的误负值。AUC 是接收器工作特征曲线下的区域,因此提供了模型性能在所有可能的分类阈值范围内的汇总度量。AUC 得分在零到 1 之间变化:一分表示完美的准确性,一半的分数表示预测不比随机分类器好。

  • F1macro:F1 宏分数将 F1 评分应用于多类分类。在这种情况下,您需要预测多个类。您只需计算每个类的精度和召回,就像在二进制分类中对正类所做的那样。然后,使用这些值计算每个班级的 F1 分数,并对它们进行平均以获得 F1Macro 分数。F1 宏分数在 0 和 1 之间变化:一个表示最佳性能,零最差。

为候选模型自动计算的衡量指标取决于正在解决的问题的类型。

  • 回归:MSE

  • 二进制分类:AccuracyF1AUC

  • 多类别分类:AccuracyF1macro

自动驾驶仪交叉验证

Autopilot 在需要时自动使用 K 折交叉验证方法。您可以使用此方法评估在数据集上训练的模型预测从同一总体绘制的看不见验证数据集的值的程度。例如,在训练具有有限数量训练实例的数据集时,此方法尤其重要。它可以防止过拟合和选择偏差等问题,这些问题可能会阻止模型更普遍地适用于采样的总体。

例如,波士顿住房公司数据集仅包含 861 个样本。如果您尝试使用此数据集构建一个模型来预测房屋销售价格而不进行交叉验证,那么您可能会在dataset这是不是波士顿住房存量的代表。通常,您只需将数据拆分为训练和验证子集。如果训练折叠碰巧包含主要来自不代表城市其他地区的郊区的数据,那么您可能会对此偏差选择进行过度调整。交叉验证通过充分和随机地使用可用数据进行培训和验证,降低了这些错误的风险。

K 折交叉验证将训练数据集随机分割为k等大小的子样本或折叠。然后对模型进行培训k-1折叠并根据剩余的折叠进行测试,该折叠保留为验证数据集。该过程重复k次,使用每个折叠一次作为验证数据集。自动驾驶仪将交叉验证方法应用于具有 50,000 个或更少训练实例的数据集。它使用k值为 5,用于对数据集进行建模的候选算法。多个模型在不同的分割上进行训练,模型分别存储。培训过程完成后,将对每个模型的验证度量进行平均化,以生成单个估计度量。当自动驾驶仪将交叉验证应用于较小的数据集时,训练时间平均增加 20%。如果数据集很复杂,训练时间可能会显著增加。对于预测,自动驾驶仪使用试验中的交叉验证模型集合和最佳验证指标。

您可以查看每个折叠的训练和验证指标,在/aws/sagemaker/TrainingJobsCloudWatch Logs。有关 CloudWatch Logs 的更多信息,请参阅使用 Amazon CloudWatch 记录亚马逊 SageMaker 活动。自动驾驶仪训练模型的验证指标在模型领导板中作为目标指标提出。除非另有指定,否则自动导航仪对其处理的每种问题类型使用默认验证指标。有关 Autopilot 使用指标的更多信息,请参阅AutoMLJobObjective. 您可以部署使用交叉验证构建的自动驾驶仪模型,就像部署任何其他自动驾驶仪或 SageMaker 模型一样。