用于大规模分类的自动优化梯度提升树研究
1. AutoML3 最终结果分析
1.1 竞赛情况概述
在自动机器学习(AutoML)领域,AutoML3 竞赛的最终阶段采用了盲测的方式,对反馈阶段的最后一次提交模型,在五个与反馈阶段数据集性质相似的新数据集上进行自主评估。
1.2 排名结果分析
| Set 1 rank | Set 2 rank | Set 3 rank | Set 4 rank | Set 5 rank | Bundle | Team name | Avg. rank | Duration (s) |
|---|---|---|---|---|---|---|---|---|
| 2 | 4 | 1 | 2 | 2 | Py3 | autodidact.ai | 2.2 | 5882.13 |
| 3 | 1 | 2 | 1 | 5 | Py3 | harryfootball | 2.4 | 8700.47 |
| 4 | 6 | 4 | 3 | 4 | Py3 | fanqiechaodan | 4.2 | 7912.14 |
| 1 | 3 | 6 | 10 | 1 | Py3 | MI - intelligence | 4.2 | 9426.68 |
| 6 | 5 | 5 | 4 | 3 | Py3 | linc326 | 4.6 | 8843.15 |
从排名结果来看,AutoGBT 以 2.2 的平均排名获得第一名,并且在排名前五的团队中执行时间最短,约为 5883 秒。虽然 AutoGBT 并非在所有数据集上都是表现最佳的模型,但在五个数据集上的排名较为稳定,这体现了其鲁棒性和泛化能力。不过,盲测阶段使用的私有数据集尚未发布,Codalab 平台上也没有 AutoML 阶段的日志。待私有数据集发布后,将对 AutoGBT 与其他有前景的模型以及基线模型进行全面比较分析。
2. 离线实验
2.1 实验方法
- 基线模型 :以 AutoML3 入门套件中的默认模型作为基线模型,它基于 scikit - learn 库中的梯度提升机(GBM)实现。使用 GradientBoostingClassifier 训练初始模型,提升阶段设置为 10。后续批次训练时,从之前训练的模型进行热启动,并增加提升阶段,以在终身机器学习(LML)设置下运行。训练数据以矩阵形式输入,使用入门套件中摄取程序提供的所有编码特征,但仅使用 5%(随机采样)的训练数据进行模型训练。
- AS - recent :对基线模型进行修改,每次传入一批新数据时,训练一个 Auto - sklearn 分类器,仅使用最新一批数据进行训练,丢弃之前训练的模型。为了为每批数据的学习分配足够的时间预算,将总时间预算平均分配给各批次,设置参数 time_left_for_task 和 per_run_time_limit。
- AS - all :与 AS - recent 类似,但训练数据会跨批次累积,每次传入新数据时,使用到目前为止累积的所有训练数据来训练 Auto - sklearn 分类器。
2.2 基准数据集
为了模拟现实世界中数据集属性的可变性,实验除了使用 AutoML3 反馈阶段的数据集外,还考虑了多个与概念漂移和 AutoML 领域相关的基准数据集,并将每个基准数据集划分为五个大小相等的子集,以与 AutoML3 反馈阶段的数据集保持一致。
| Dataset | Instances | Features | #Cat | #Num | #MVC | Time Budget (s) |
|---|---|---|---|---|---|---|
| Ada | ∼0.17 million | 48 | 0 | 48 | 0 | 600 |
| Amazon | ∼0.03 million | 9 | 8 | 1 | 0 | 600 |
| Avazu | ∼40.42 million | 22 | 21 | 0 | 0 | 7200 |
| Bank | ∼0.04 million | 20 | 10 | 10 | 0 | 600 |
| Gina | ∼0.03 million | 970 | 0 | 970 | 0 | 1200 |
| RL | ∼0.05 million | 22 | 14 | 8 | 0 | 1200 |
这些数据集包括:
-
Ada
:基于 UCI 机器学习库中的成人数据库,来源于人口普查数据,也曾用于 2015/2016 年 AutoML 挑战赛的第 0 轮。
-
Amazon
:包含历史上对员工访问资源的决策数据,预测任务是根据角色信息和访问代码预测员工的访问需求。
-
Avazu
:属于在线广告领域,预测任务是判断移动广告是否会被点击。
-
Bank
:与葡萄牙银行机构的直接营销活动相关,预测任务是判断客户是否会认购银行定期存款。
-
Gina
:来自 AutoML2 挑战赛,使用 MNIST 数据集的实例创建。
-
RL
:来自 AutoML2 挑战赛,从内容推荐领域编译而来。
2.3 实验流程
实验使用 Codalab docker 镜像(Py3)在配备 20 核和 64GB RAM 的工作站上执行。将基准数据集划分为五个大小相等的子集,为了自动评估概念漂移下模型的 LML 能力,首先提供第一个子集及其标签进行初始模型训练,然后依次提供测试数据批次让模型进行预测,根据随后发布的真实标签进行性能评估和模型更新。
2.4 评估指标
使用归一化的 ROC 曲线下面积(AUC)作为模型质量的评估指标,计算公式为:Normalized AUC = 2 ∗ AUC - 1.0。标准 AUC 的取值范围是 [0.0, 1.0],而归一化 AUC 的取值范围是 [-1.0, 1.0]。同时,分析模型的执行时间以研究其时间效率。
graph LR
A[划分数据集] --> B[初始模型训练]
B --> C[依次提供测试数据]
C --> D[模型预测]
D --> E[根据真实标签评估性能]
E --> F[模型更新]
3. 实验结果
3.1 AutoML3 离线阶段数据集结果
3.1.1 平均归一化 AUC 得分
| Dataset | Baseline | AS - recent | AS - all | AutoGBT |
|---|---|---|---|---|
| AA | 0.3417 | 0.3285 | Out - of - memory | 0.5141 |
| B | 0.1321 | 0.0865 | 0.1082 | 0.3006 |
| C | 0.2028 | - 0.0525 | 0.1464 | 0.5222 |
| D | 0.2556 | 0.2142 | 0.1843 | 0.4695 |
| E | 0.5079 | 0.4252 | 0.5169 | 0.7398 |
从平均归一化 AUC 得分来看,基线模型相对简单,时间要求低,能够处理大数据量且 AUC 合理,表现较为强劲。除了在数据集 E 上 AS - all 以较小优势超过基线模型外,基线模型在其他情况下均优于 Auto - sklearn 的两个变体。对于大数据集,如 AA,Auto - sklearn 模型会出现内存不足的问题,这表明在这种情况下需要提高模型的可扩展性。而 AutoGBT 在所有模型中表现显著更优。
3.1.2 模型执行时间
| Dataset | Baseline | AS - recent | AS - all | AutoGBT |
|---|---|---|---|---|
| AA | 368.49 | 2030.95 | Out - of - memory | 728.23 |
| B | 22.35 | 353.45 | 304.74 | 105.30 |
| C | 97.19 | 626.10 | 599.40 | 239.19 |
| D | 23.62 | 286.51 | 267.04 | 177.29 |
| E | 248.86 | 1090.97 | 1086.28 | 470.43 |
在模型执行时间方面,AutoGBT 同样具有明显的时间效率优势。
3.2 公共数据集结果
3.2.1 平均归一化 AUC 得分
| Dataset | Baseline | AS - recent | AS - all | AutoGBT |
|---|---|---|---|---|
| Ada | 0.5578 | 0.6877 | 0.7126 | 0.8177 |
| Amazon | 0.0265 | 0.0280 | 0.0640 | 0.5912 |
| Avazu | 0.0756 | Timeout | Timeout | 0.4586 |
| Bank | 0.6009 | 0.7021 | 0.7103 | 0.7412 |
| Gina | 0.3928 | 0.5098 | 0.6581 | 0.9575 |
| RL | 0.2533 | 0.3845 | 0.4920 | 0.5801 |
在公共数据集上,对于小数据集,Auto - sklearn 变体的表现明显优于基线模型。这可能是因为在处理有限样本时,仔细的特征工程、超参数调整和模型选择非常重要,而 Auto - sklearn 能够在相对较高的时间预算内成功完成这些任务。而基线模型对数据集进行下采样,导致用于学习的样本较少,从而降低了性能。对于大数据集,如 Avazu,Auto - sklearn 变体出现超时问题。此外,AS - all 的表现通常优于 AS - recent,这表明在这种情况下保留历史数据具有重要意义,但这也取决于数据集的属性。总体而言,AutoGBT 在公共数据集上表现出色,且时间效率高。
3.2.2 模型执行时间
| Dataset | Baseline | AS - recent | AS - all | AutoGBT |
|---|---|---|---|---|
| Ada | 0.06 | 225.16 | 222.29 | 47.64 |
| Amazon | 0.31 | 222.31 | 223.97 | 50.64 |
| Avazu | 718.57 | Timeout | Timeout | 1544.42 |
| Bank | 0.53 | 102.05 | 222.91 | 45.9 |
| Gina | 0.58 | 512.59 | 502.23 | 247.78 |
| RL | 0.52 | 543.22 | 553.99 | 51.13 |
综合来看,AutoGBT 在各种数据集上都展现出了良好的性能和时间效率,在处理概念漂移和大规模分类问题上具有很大的优势。其自适应的端到端机器学习管道、有效的预处理策略以及智能的启发式检查和近似方法,使其成为在资源受限环境下开发现实世界 LML - AutoML 系统的有效解决方案。AutoGBT 的源代码已在开源许可证下发布在:https://github.com/flytxtds/AutoGBT 。
4. 总结与展望
4.1 研究成果总结
- 性能优势显著 :AutoGBT 在 AutoML3 竞赛和离线实验中都展现出了卓越的性能。在 AutoML3 最终排名中获得第一,平均排名 2.2 且执行时间最短。在离线实验的多个数据集上,无论是 AutoML3 离线阶段数据集还是公共数据集,AutoGBT 的平均归一化 AUC 得分都表现出色,远超基线模型和 Auto - sklearn 的变体。同时,在模型执行时间方面,AutoGBT 也具有明显的时间效率优势。
- 鲁棒性与泛化能力强 :AutoGBT 在不同数据集上的排名较为稳定,体现了其强大的鲁棒性和泛化能力。即使面对概念漂移和不同属性的数据集,依然能够保持良好的性能。
- 有效应对挑战 :通过自适应的端到端机器学习管道、专门的预处理策略以及智能的启发式检查和近似方法,AutoGBT 能够有效处理高基数分类和多值分类特征,应对缓慢的概念漂移,并且在资源受限的环境下也能正常工作。
4.2 方法特点分析
- 自适应优化 :AutoGBT 采用自适应的优化策略,能够根据不同的数据集和任务自动调整模型参数,实现自我优化。这种自适应能力使得模型在不同场景下都能达到较好的性能。
- 预处理策略 :针对高基数分类和多值分类特征,AutoGBT 采用了专门的预处理策略,避免了可扩展性问题。同时,通过保存 - 重新训练策略和频率编码,能够有效应对缓慢的概念漂移,而无需显式的漂移检测。
- 启发式检查与近似 :智能的启发式检查和近似方法在 AutoGBT 中发挥了重要作用。这些方法能够在保证模型性能的前提下,减少计算资源的消耗,提高模型的时间效率,使其更适合在资源受限的环境下运行。
4.3 应用前景与挑战
- 应用前景广阔 :AutoGBT 在自动机器学习领域具有广泛的应用前景。它可以应用于各种分类问题,特别是在处理大规模数据和概念漂移的场景下,能够为企业和研究机构提供高效、准确的解决方案。例如,在金融领域的风险评估、广告领域的点击率预测、医疗领域的疾病诊断等方面都有潜在的应用价值。
- 面临的挑战 :尽管 AutoGBT 取得了显著的成果,但仍然面临一些挑战。例如,在处理极端复杂的数据集和快速变化的概念漂移时,模型的性能可能会受到一定的影响。此外,如何进一步提高模型的可解释性,也是未来需要解决的问题之一。
4.4 未来研究方向
- 模型改进 :未来可以进一步研究如何改进 AutoGBT 的模型结构和算法,提高其在复杂数据集和快速概念漂移场景下的性能。例如,探索更有效的预处理策略、优化自适应优化算法等。
- 可解释性研究 :提高模型的可解释性是自动机器学习领域的一个重要研究方向。未来可以研究如何让 AutoGBT 的决策过程更加透明,以便用户更好地理解和信任模型的输出。
- 多领域应用拓展 :将 AutoGBT 应用到更多的领域,探索其在不同场景下的性能和适用性。通过与其他领域的专家合作,开发出更具针对性的解决方案。
graph LR
A[研究成果总结] --> B[性能优势显著]
A --> C[鲁棒性与泛化能力强]
A --> D[有效应对挑战]
E[方法特点分析] --> F[自适应优化]
E --> G[预处理策略]
E --> H[启发式检查与近似]
I[应用前景与挑战] --> J[应用前景广阔]
I --> K[面临的挑战]
L[未来研究方向] --> M[模型改进]
L --> N[可解释性研究]
L --> O[多领域应用拓展]
综上所述,AutoGBT 是一种非常有潜力的自动机器学习方法,在大规模分类问题和概念漂移场景下具有显著的优势。未来,随着研究的不断深入和技术的不断发展,AutoGBT 有望在更多领域得到广泛应用,并为自动机器学习领域的发展做出更大的贡献。感兴趣的读者可以访问其开源代码仓库:https://github.com/flytxtds/AutoGBT ,进一步了解和使用该模型。
超级会员免费看
1403

被折叠的 条评论
为什么被折叠?



