你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
AutoML 中的模型扫描和预测选择
本文重点介绍 AutoML 如何搜索和选择预测模型。 有关 AutoML 中的预测方法的更多常规信息,请参阅方法概述文章。 有关在 AutoML 中训练预测模型的说明和示例,请参阅为时序预测设置 AutoML 一文。
模型扫描
AutoML 的核心任务是训练和评估若干个模型,并针对给定的主要指标选择一个最佳模型。 这里的“模型”一词既指模型类(如 ARIMA 或随机林),也指用于区分类中模型的特定超参数设置。 例如,ARIMA 是指共享数学模板和一组统计假设的一类模型。 训练或拟合 ARIMA 模型需要一个正整数的列表,用于指定模型的精确数学形式;这些是超参数。 ARIMA(1, 0, 1) 和 ARIMA(2, 1, 2) 有相同的类,但具有不同的超参数,因此,可以分别与训练数据进行拟合,并相互评估。 AutoML 通过改变超参数,对不同的模型类和在类的内部进行搜索或扫描。
下表显示了 AutoML 用于不同模型类的各种超参数扫描方法:
模型类组 | 模型类型 | 超参数扫描方法 |
---|---|---|
Naive、Seasonal Naive、Average、Seasonal Average | 时序 | 由于模型很简单,无类内扫描 |
指数平滑,ARIMA(X) | 时序 | 类内扫描的网格搜索 |
Prophet | 回归 | 类内无扫描 |
Linear SGD、LARS LASSO、弹性网络、K 最近的邻域、决策树、随机林、极端随机树、梯度提升树、LightGBM、XGBoost | 回归 | AutoML 的模型建议服务动态地探索超参数空间 |
ForecastTCN | 回归 | 模型静态列表,然后是网络大小、丢弃率和学习率的随机搜索。 |
有关不同模型类型的说明,请参阅方法概述一文的预测模型部分。
AutoML 执行的扫描量确实取决于预测作业配置。 可以将停止条件指定为时间限制或试用次数的限制,或者等同于模型的数量。 在这两种情况下,如果主要指标没有改进,则可以使用提前终止逻辑来停止扫描。
模型选择
AutoML 预测模型的搜索和选择分以下三个阶段进行:
- 扫描时序模型,并使用惩罚似然方法从每个类中选择最佳模型。
- 扫描回归模型,并根据验证集中的主要指标值,对模型以及阶段 1 中的最佳时序模型进行排名。
- 从排名靠前的模型生成一个集成模型,计算其验证指标,并将其与其他模型一起排名。
在第 3 阶段结束时,指标值排名靠前的模型被指定为最佳模型。
重要
AutoML 模型选择的最终阶段始终计算样本外数据的指标。 也就是没有用于拟合模型的数据。 这有助于防止过度拟合。
AutoML 有两种验证配置 - 交叉验证和显式验证数据。 在交叉验证情况下,AutoML 使用输入配置创建数据拆分,拆分为训练折叠和验证折叠。 必须保留这些拆分中的时间顺序,因此 AutoML 使用了所谓的滚动原点交叉验证,它使用原始时间点将系列数据划分为训练和验证数据。 在时间内滑动原点会生成交叉验证折叠。 每个验证折叠包含紧跟在给定折叠的原点位置之后的下一个观测范围。 此策略保留了时序数据完整性,并降低了信息泄露风险。
AutoML 遵循惯常的交叉验证过程,在每个折叠上训练单独的模型,并计算所有折叠中的验证指标的平均值。
通过设置交叉验证折叠数和(可选)两个连续交叉验证折叠之间的时间段数来配置预测作业的交叉验证。 有关详细信息以及配置交叉验证进行预测的示例,请参阅自定义交叉验证设置指南。
你也可以自带验证数据。 有关详细信息,请参阅在 AutoML 中配置数据拆分和交叉验证 (SDK v1) 一文。
后续步骤
- 详细了解如何设置 AutoML 来训练时序预测模型。
- 浏览 AutoML 预测常见问题解答。
- 了解 AutoML 中时序预测的日历功能。
- 了解 AutoML 如何使用机器学习生成预测模型。