

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

# 训练模式和算法支持
<a name="autopilot-model-support-validation"></a>

Autopilot 支持不同的训练模式和算法来解决机器学习问题，报告质量和客观指标，并在需要时自动使用交叉验证。

## 模型训练
<a name="autopilot-training-mode"></a>

SageMaker Autopilot 可以根据数据集大小自动选择训练方法，也可以手动选择。选项如下所示：
+ E@@ **nsembling** — Autopilot 使用[AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html)库来训练多个基础模型。为了找到最适合您的数据集的组合，组合模式使用不同的模型和元参数设置运行 10 次试验。然后，Autopilot 使用堆叠组合方法，将这些模型组合在一起，以创建最优预测模型。有关 Autopilot 在组合模式下对表格数据支持的算法列表，请参阅下文的**算法支持**部分。
+ **超参数优化 (HPO)** – Autopilot 在数据集上运行训练作业时，使用贝叶斯优化或多保真优化来调整超参数，从而找到模型的最佳版本。HPO 模式选择与您的数据集最相关的算法，并选择最佳的超参数范围来调整您的模型。为了调整模型，HPO 模式最多可运行 100 次试验（默认），以找到选定范围内的最佳超参数设置。如果您的数据集大小小于 100 MB，Autopilot 将使用贝叶斯优化。如果您的数据集大于 100 MB，Autopilot 会选择多保真优化。

  在多保真优化中，训练容器会连续发出指标。在选定的目标指标上表现不佳的试验会提前停止。系统向表现良好的试验分配更多资源。

  有关 Autopilot 在 HPO 模式下支持的算法列表，请参阅下文的**算法支持**部分。
+ **自动** – Autopilot 会根据您的数据集大小自动选择组合模式或 HPO 模式。如果您的数据集大于 100 MB，Autopilot 会选择 HPO。否则，它会选择组合模式。在以下情况下，Autopilot 可能无法读取数据集的大小。
  + 您为 AutoML 作业启用虚拟私有云 (VPC) 模式，但包含数据集的 S3 存储桶仅允许从 VPC 进行访问。
  + 数据集DataType的输入 [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType) 是`ManifestFile`。
  + 输入 [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri) 包含超过 1000 个项目。

  如果 Autopilot 无法读取您的数据集大小，则默认为选择 HPO 模式。

**注意**  
要获得最佳运行时间和性能，请对小于 100 MB 的数据集使用组合训练模式。

## 算法支持
<a name="autopilot-algorithm-support"></a>

在 **HPO 模式下**，Autopilot 支持以下类型的机器学习算法：
+  [线性学习器](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html) – 一种有监督学习算法，可以解决分类或回归问题。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— 一种监督学习算法，它试图通过组合来自一组更简单和更弱的模型的估计值来准确预测目标变量。
+ 深度学习算法 – 多层感知器 (MLP) 和前馈人工神经网络。此算法可以处理线性不可分的数据。

**注意**  
您无需指定一个算法来解决机器学习问题。Autopilot 会自动选择合适的算法进行训练。

在**组合模式下**，Autopilot 支持以下类型的机器学习算法：
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) – 一种经过优化的框架，使用基于树的算法和梯度提升。此算法使用在广度而不是深度上增长的树，并且针对速度进行了高度优化。
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— 使用基于树的算法和梯度提升的框架。针对处理分类变量进行了优化。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— 一种使用基于树的算法的框架，其梯度提升是深度而不是广度增加的。
+ [随机森林](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) – 一种基于树的算法，在数据的随机子样本上使用多个决策树并进行替换。树在每个级别上拆分到最佳节点。对每个树的决策一起求平均值，以防止过度拟合并改善预测。
+ [额外的树](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) – 基于树的算法，在整个数据集上使用多个决策树。树在每个级别上随机拆分。对每个树的决策进行求平均值，以防止过度拟合并改善预测。与随机森林算法相比，额外的树会增加一定程度的随机化。
+ [线性模型](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) – 一种使用线性方程对所观测数据中两个变量之间的关系进行建模的框架。
+ 神经网络 torch – 使用 [Pytorch](https://pytorch.org/) 实施的神经网络模型。
+ 神经网络 fast.ai – 使用 [fast.ai](https://www.fast.ai/) 实施的神经网络模型。