加速决策树训练的新方法
梯度提升决策树是一种常用于大规模在线搜索应用的机器学习模型,因其高准确性和高效率而受到青睐。然而,维持这种效率意味着需要限制决策时考虑的数据特征数量。当训练数据包含大量潜在特征(如数千个),而模型最终仅使用其中一小部分(如数百个)时,训练过程会变得低效,因为大部分评估的特征最终被证明是无关的。
在国际人工智能与统计会议(AISTATS 2020)的一篇论文中,提出了一种新的梯度提升树训练方法。在总特征集大于必要特征集的情况下,该方法比最高效的现有技术更加高效。
性能提升
通过使用三个流行基准数据集与其他三种梯度提升决策树实现进行比较测试:
- 相对于最高效的现有技术(梯度提升特征选择),新方法将训练时间减少了50%至99%
- 在保持模型准确性的同时显著提升效率
- 特别适合多任务训练场景
多任务训练优势
在多任务训练实验中(同时执行三个任务):
- 相比单任务训练,在每个任务上都表现更好
- 相比标准多任务训练方法,在所有三个任务上都有性能提升
技术实现原理
该方法通过调整常见的二分搜索算法来解决效率问题:
- 预处理阶段:将每个特征的值归一化到0-1范围
- 特征分组:随机将特征分为两组,创建两个伪特征(其值为单个特征归一化值的总和)
- 迭代过程:重复此过程多次,产生多对均匀划分特征集的伪特征
在训练过程中,每个决策点评估一对伪特征,选择分割点,然后取预测效果更好的伪特征,随机分成两个新伪特征再次测试。此过程重复直到收敛到单个特征作为决策标准。
实验验证
在三个标准机器学习基准测试中验证方法有效性:
- 手写数字识别数据集
- 航班信息预测延误数据集
- 图像识别任务
结果表现:
- 性能与最佳基线相差不到一个百分点
- 训练时间大幅降低:航班数据约2倍加速,手写识别约10倍加速,图像识别约100倍加速
理论保证
虽然该方法仅是近似算法,但理论分析表明,给定足够训练数据,该近似仍能收敛到最优决策树集。
这种方法通过评估数量等于特征数对数的伪特征,而非评估每个特征,实现了显著的效率提升。