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

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

使用亚马逊进行模型支持、指标和验证 SageMaker Autopilot

亚马逊 SageMaker Autopilot 支持三种类型的机器学习算法,以解决机器学习问题、报告质量和客观指标,并在需要时自动使用交叉验证。

支持 Autopilot 算法

以下是 Autopilot 支持的三种类型的机器学习算法:

  • 线性学习器算法— 用于求解分类或回归问题的指导式学习算法。

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

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

注意

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

Autopilot 候选项指标

亚马逊 SageMaker Autopilot 生成衡量机器学习模型候选项的预测质量的指标。为候选人计算的指标是使用数组指定的MetricDatum类型。以下列表包含当前可用的指标的名称。

  • Accuracy:分类正确的商品数量与分类商品总数之比。它用于二进制分类和多类分类。准确度衡量预测的班级值与实际值的接近程度。准确度值介于零 (0) 和一 (1) 之间。值 1 表示完美的准确性,0 表示完美的不准确性。

  • AUC:曲线 (AUC) 指标下的面积用于通过返回概率的算法比较和评估二进制分类,例如逻辑回归。为了将概率映射到分类中,请将它们与阈值进行比较。相关曲线是接收器的运行特征曲线(ROC 曲线)。ROC 曲线将预测(或召回)的真正正率(TPR)与假阳性率 (FPR) 作为阈值的函数绘制,超过该阈值的预测被视为正值。提高阈值会减少误报,但是误报更多。AUC 是该接收器运行特征曲线下的区域。因此,AUC 提供了对所有可能分类阈值的模型性能的综合度量。AUC 分数在 0 和 1 之间不等。分数为 1 表示完美的准确性,分数为一半(0.5)表示预测不比随机分类器更好。

  • BalancedAccuracy:平衡准确度是衡量准确预测与所有预测的比率的指标。该比率是在按正值 (P) 和负值 (N) 的总数对真正值 (TP) 和真负值 (TN) 进行标准化后计算的。它用于二进制和多类分类,定义如下:0.5* ((TP/P) + (TN/N)),值在 0 到 1 之间。当不平衡数据集中的正值或负值的数量相互差异很大时,均衡准确度可以更好地衡量准确度。例如,只有 1% 的电子邮件是垃圾邮件。

  • F1:F1 分数是精度和召回率的调和平均值。它用于二进制分类,分为传统上称为正和负的类。据说预测与实际(正确)等级匹配时是真的,如果不匹配,则是错误的。精度是真正的正面预测与所有正面预测的比率,它包括数据集中的误报。当预测积极等级时,精确度量预测的质量。召回(或敏感度)是真正的积极预测与所有实际积极实例的比率。回想衡量模型预测数据集中实际班级成员的完整程度。标准 F1 分数重量精确度并且能够同样召回。确定哪个指标至关重要通常取决于问题的具体方面。F1 分数在 0 和 1 之间不等。分数为 1 表示尽可能最好的表现,0 表示最差的表现。

  • F1macro:F1Macroo 分数将 F1 评分应用于多类分类问题。它通过计算精度和召回率来实现这一目标,然后用他们的谐波均值计算每个班级的 F1 分数。最后,F1Macroo 将个人分数平均值以获得 F1Macroo 分数。F1Mack 分数在 0 和 1 之间有所不同。分数为 1 表示尽可能最好的表现,0 表示最差的表现。

  • LogLoss:对数损失也称为交叉熵损失,是用于评估概率输出质量的指标,而不是输出本身。它用于二进制和多类分类、神经网络,也是逻辑回归的成本函数。日志丢失是一个重要的指标,用于指示模型何时以高概率进行错误的预测。值的范围从 0 到无限大。值 0 表示完美预测数据的模型。

  • MAE:平均绝对误差 (MAE) 是衡量预测值和实际值之间的差异的度量,平均值与所有值相比。它通常用于回归分析来了解模型预测误差。在线性回归的情况下,MAE 表示从预测线到实际值的平均距离。MAE 被定义为绝对误差之和除以观测值数。值范围从 0 到无穷大,数字越小,表示模型更适合数据。

  • MSE:均方误差 (MSE) 是预测值和实际值之间的平方差的平均值。它用于回归。MSE 值总是积极的。模型在预测实际值方面越好,MSE 值就越小。

  • Precision:精确度衡量算法在其识别的所有正值中预测真正阳性(TP)的程度。其定义如下所示:精度 = TP/ (TP+FP),值范围从零 (0) 到 1 (1),用于二进制分类。当误报的成本很高时,精度是一个重要的指标。例如,假阳性的成本非常高,如果被错误地认为飞机安全系统可以安全飞行。误报 (FP) 反映了数据中实际上是负面的积极预测。

  • PrecisionMacro:精度宏计算多类分类问题的精度。它通过计算每个班级的精度并平均分数以获得多个班级的精度来实现这一目标。 PrecisionMacro 分数范围从零 (0) 到一 (1)。较高的分数反映了该模型在其识别的所有积极值中预测真实阳性(TP)的能力,以及多个班级的平均值。

  • R2R:2也称为确定系数,用于量化模型可以解释依赖变量方差的程度。值范围从 1 (1) 到负值 (-1)。数字越高表示解释的变异比例越高,接近零 (0) 的数字表示模型能够解释的相关变量很少。它用于回归。负值表示拟合不佳,且模型的表现超过了常量函数,在线性回归的情况下,常量函数的表现优于水平线。

  • Recall:回想衡量算法在多大程度上正确预测数据集中的所有真正阳性 (TP)。真正的积极预测是积极的预测,也是数据中的实际正值。召回的定义如下:召回 = TP/ (TP+FN),值介于 0 到 1 之间。分数越高反映了模型更好地预测数据中真正阳性 (TP) 的能力,并在二进制分类中使用。当查找所有真正阳性非常重要时,召回是一个重要的指标,例如癌症检测的情况。误报 (FP) 反映了数据中实际上是负面的积极预测。仅衡量召回通常是不够的,因为将每项产出预测为真正的正值将产生完美的召回分数。

  • RecallMacro: 该 RecallMacro 通过计算每个班级的召回和平均分数以获得多个班级的召回来计算多类分类问题的召回情况。 RecallMacro 分数范围是 0 到 1。较高的分数反映了模型在数据集中预测真正阳性 (TP) 的能力,而真正的正反映了积极预测,该预测也是数据中的实际正值。仅衡量召回通常是不够的,因为将每项产出预测为真正的正值将产生完美的召回分数。

  • RMSE:均方根误差 (RMSE) 测量预测值和实际值之间的平方差的平方根,在所有值上的平均值。它用于回归分析来了解模型预测误差,它是指示存在大型模型误差和异常值的重要指标。值的范围从零 (0) 到无穷大,数字越小,表示模型更适合数据。RMSE 取决于规模,不应用于比较不同大小的数据集。

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

  • 回归:MAEMSER2, RMSE

  • 二进制分类:AccuracyAUCBalancedAccuracyF1LogLossPrecisionRecall

  • 多类别分类:AccuracyBalancedAccuracyF1macroLogLossPrecisionMacroRecallMacro

自动驾驶仪交叉验证

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

例如,波士顿房屋数据集只包含 861 个样本。如果您尝试在没有交叉验证的情况下使用此数据集构建模型来预测房屋销售价格,则可能会对不代表波士顿房屋存量的数据集进行培训。通常,您只需将数据拆分一次到训练和验证子集中。如果培训计划恰好包含主要来自郊区的数据,而这些数据并不代表城市其他地区,那么你可能会过分适应这种偏见的选择。交叉验证通过充分和随机地使用可用数据进行训练和验证,降低了这些错误的风险。

K-fold 交叉验证随机将训练数据集拆分为k同样大小的子样本或折叠。然后对模型进行训练k-1折叠并根据剩余折叠进行测试,剩余折叠保留为验证数据集。重复这个过程k次数,使用每个折叠一次作为验证数据集。Autopilot 将交叉验证方法应用于具有 50,000 个或更少训练实例的数据集。它使用了k用于建模数据集的候选算法的值为 5。在不同的拆分上训练多个模型,模型分开存储。训练过程结束后,将对每个模型的验证指标进行平均值,以生成单个估计指标。当 Autopilot 将交叉验证应用于较小的数据集时,训练时间平均增加 20%。如果你的数据集很复杂,训练时间可能会更大地增加。为了进行预测,Autopilot 使用试验中具有最佳验证指标的交叉验证模型组合。

你可以在你的中查看每折中的训练和验证指标/aws/sagemaker/TrainingJobs CloudWatch 日志。有关 的更多信息 CloudWatch 日志,请参阅使用 Amazon CloudWatch 记录 Amazon SageMaker 事件. Autopilot 训练的模型的验证指标作为模型排行榜中的客观指标呈现。除非您另有指定,否则自动驾驶仪会对其处理的每种问题类型使用默认验证指标。有关 Autopilot 使用的指标的更多信息,请参阅AutoMLJobObjective. 您可以像使用交叉验证构建的 Autopilot 模型一样,部署使用交叉验证构建的 Autopilot 模型,就像 SageMaker 模型。