35、用于大规模分类的自动优化梯度提升树研究

用于大规模分类的自动优化梯度提升树研究

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 ,进一步了解和使用该模型。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值