高级模型构建配置 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

高级模型构建配置

Amazon SageMaker Canvas 支持各种高级设置,您可以在构建模型时配置这些设置。下一页列出了所有高级设置以及有关其选项和配置的其他信息。

注意

目前,仅数值、类别和时间序列预测模型类型支持以下高级设置。

高级数值和分类预测模型设置

Canvas 支持以下针对数值和分类预测模型类型的高级设置。

目标指标

目标指标是您希望 Canvas 在构建模型时优化的指标。如果您没有选择指标,Canvas 会默认为您选择一个指标。有关可用指标的描述,请参阅指标参考

训练方法

Canvas 可以根据数据集大小自动选择训练方法,也可以手动选择。以下训练方法可供您选择:

  • 组合 — SageMaker 利用 AutoGluon 库训练多个基础模型。为了找到最适合您的数据集的组合,集成模式使用不同的模型和元参数设置运行 5-10 次试验。然后,使用堆叠集成方法将这些模型组合在一起,以创建最优预测模型。有关集合模式支持的表格数据的算法列表,请参阅以下算法部分。

  • 超参数优化 (HPO)-在数据集上运行训练作业时,通过使用贝叶斯优化或多保真度优化来调整超参数,从而 SageMaker 找到模型的最佳版本。HPO 模式选择与您的数据集最相关的算法,并选择最佳的超参数范围来调整您的模型。为了调整模型,HPO 模式最多可运行 100 次试验(默认),以找到选定范围内的最佳超参数设置。如果您的数据集大小小于 100 MB,则 SageMaker 使用贝叶斯优化。 SageMaker 如果您的数据集大于 100 MB,则选择多保真度优化。

    有关 HPO 模式支持的表格数据算法列表,请参阅以下算法部分。

  • 自动 — 根据您的数据集大小 SageMaker 自动选择组合模式或 HPO 模式。如果您的数据集大于 100 MB,请 SageMaker 选择 HPO 模式。否则,它会选择组合模式。

算法

在 E nsembling 模式下,Canvas 支持以下机器学习算法:

  • LightGBM – 一种经过优化的框架,使用基于树的算法和梯度提升。此算法使用在广度而不是深度上增长的树,并且针对速度进行了高度优化。

  • CatBoost— 一种使用基于树的算法和梯度提升的框架。针对处理分类变量进行了优化。

  • XGBoost – 使用基于树的算法的框架,其梯度提升在深度而不是广度上增长。

  • 随机森林 – 一种基于树的算法,在数据的随机子样本上使用多个决策树并进行替换。树在每个级别上拆分到最佳节点。对每个树的决策一起求平均值,以防止过度拟合并改善预测。

  • 额外的树 – 基于树的算法,在整个数据集上使用多个决策树。树在每个级别上随机拆分。对每个树的决策进行求平均值,以防止过度拟合并改善预测。与随机森林算法相比,额外的树会增加一定程度的随机化。

  • 线性模型 – 一种使用线性方程对所观测数据中两个变量之间的关系进行建模的框架。

  • 神经网络 torch – 使用 Pytorch 实施的神经网络模型。

  • 神经网络 fast.ai – 使用 fast.ai 实施的神经网络模型。

HPO 模式下,Canvas 支持以下机器学习算法:

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

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

数据拆分

您可以选择指定如何在训练集(数据集中用于构建模型的部分)和验证集(数据集中用于验证模型精度的部分)之间拆分数据集。例如,常见的拆分比率是 80% 的训练和 20% 的验证,其中 80% 的数据用于构建模型,而 20% 的数据用于衡量模型性能。如果您未指定自定义比例,Canvas 会自动拆分您的数据集。

最大候选人数

注意

此功能仅在 HPO 训练模式下可用。

您可以指定 Canvas 在构建模型时生成的最大候选模型数量。我们建议您使用默认的候选人数(100)来构建最准确的模型。您可以指定的最大数字为 250。减少候选模型的数量可能会影响模型的准确性。

最大作业运行时间

您可以指定任务的最大运行时间,或者 Canvas 构建模型所花费的最大时间。时间限制过后,Canvas 停止构建并选择最佳候选模型。

您可以指定的最长时间为 720 小时。我们强烈建议您将最大作业运行时间保持在 30 分钟以上,以确保 Canvas 有足够的时间生成候选模型并完成模型的构建。

高级时间序列预测模型设置

对于时间序列预测模型,Canvas 支持目标指标,该指标已在上一节中列出。

时间序列预测模型还支持以下高级设置:

算法选择

在构建时间序列预测模型时,Canvas 使用统计和机器学习算法的集合(或组合)来提供高度准确的时间序列预测。默认情况下,Canvas 会根据数据集中的时间序列选择所有可用算法的最佳组合。但是,您可以选择为预测模型指定一种或多种算法。在这种情况下,Canvas 仅使用您选择的算法来确定最佳混合。如果您不确定选择哪种算法来训练模型,我们建议您选择所有可用的算法。

注意

仅标准版本支持算法选择。如果您未在高级设置中选择任何算法,则默认情况下会 SageMaker 运行快速构建,并使用基于树的学习算法训练候选模型。有关快速生成和标准生成之间区别的更多信息,请参阅构建自定义模型

Canvas 支持以下时间序列预测算法:

  • 自回归综合移动平均线 (ARIMA) — 一种简单的随机时间序列模型,它使用统计分析来解释数据并做出未来的预测。此算法适用于时间序列少于 100 的简单数据集。

  • 卷积神经网络——分位数回归 (CNN-QR) — 一种专有的监督学习算法,它从大量时间序列中训练一个全局模型,并使用分位数解码器进行预测。CNN-QR 最适合处理包含数百个时间序列的大型数据集。

  • Deepar+ — 一种专有的监督学习算法,用于预测标量时间序列,使用循环神经网络 (RNN) 在所有时间序列上联合训练单个模型。DeepAR+ 最适合处理包含数百个特征时间序列的大型数据集。

  • 非参数时间序列 (NPTS) — 一种可扩展的概率基线预测器,它通过从过去的观测中抽样来预测给定时间序列的未来值分布。NPTS 在处理稀疏或间歇性时间序列时很有用(例如,在时间序列有许多 0 或低计数的情况下,预测对单个项目的需求)。

  • 指数平滑 (ETS) — 一种预测方法,可生成预测值,这些预测是过去观测值的加权平均值,其中较早观测值的权重呈指数级下降。该算法适用于时间序列少于 100 的简单数据集和具有季节性模式的数据集。

  • P@@ ro phet — 一种加法回归模型,最适用于具有强烈季节效应的时间序列和多个季节的历史数据。该算法对于具有接近极限的非线性增长趋势的数据集非常有用。

Forecast 分位数

对于时间序 SageMaker 列预测,使用您的目标时间序列训练 6 个候选模型。然后,使用堆叠集成方法 SageMaker 组合这些模型,为给定的目标指标创建最佳预测模型。每个预测模型都通过生成介于 P1 和 P99 之间的分位数的预测来生成概率预测。这些分位数用于解释预测的不确定性。默认情况下,会生成 0.1 (p10)、0.5 (p50) 和 0.9 (p90) 的预测。您可以选择在 0.01 () 到 0.99 (p1p99) 之间最多指定五个自己的分位数,增量为 0.01 或更高。