自动优化梯度提升树:应对概念漂移下的大数据流分类
在当今数字化时代,大量数字数据在各个领域广泛存在,机器学习系统的需求急剧增长。然而,构建现实世界的机器学习系统并非易事,通常需要领域专家和机器学习专家进行大量繁琐且易出错的手动任务。自动化机器学习(AutoML)作为一个有前景的研究领域,旨在逐步实现机器学习工作流程的端到端自动化。
1. 背景与挑战
- AutoML现状 :尽管AutoML取得了快速进展,有多个学术和工业框架可供使用,但当前研究主要集中在自动构建最优机器学习管道,而忽视了其随时间的自动维护。现有的AutoML系统往往忽略了数据的动态变化,假设所有训练数据一开始就可用。
- 现实数据问题 :现实世界中的数据通常以流或批次的形式到来,并且由于底层数据分布的变化,经常受到概念漂移的影响。因此,需要能够自动适应概念漂移的自主系统,以维护整个模型生命周期。
2. NeurIPS 2018 AutoML挑战
- 挑战概述 :NeurIPS 2018 AutoML挑战(AutoML3)由ChaLearn团队组织,于2018年8月至11月举行。与以往挑战不同,AutoML3涉及更多复杂性,包括大数据集的算法可扩展性、混合特征、特定统计分布的特征、概念漂移、类别不平衡以及具有资源约束的终身机器学习(LML)设置。
- 预测问题 :挑战要求设计一个计算机程序,能够在有限的计算资源和执行时间预算下,为受概念漂移影响的大规模二元分类问题自主开发预测模型。数据集被分成连续的批次,模型需要在每个批次上进行预测,并利用后续揭示的标签进行训练。模型性能通过归一化平均ROC曲线下面积(AUC)进行评估。
- 竞争格式 :挑战分为反馈阶段和AutoML阶段。反馈阶段允许参与者在Codalab平台上上传模型代码,在五个具有相似属性的数据集上评估模型。AutoML阶段是盲测阶段,前一阶段的最后一次代码提交将在五个新数据集上自动执行,最终得分基于盲测结果计算。
| 数据集 | 实例数 | 特征数 | #Cat | #Num | #MVC | 时间预算(s) |
|---|---|---|---|---|---|---|
| AA | ∼1000万 | 82 | 51 | 23 | 6 | 3600 |
| B | ∼190万 | 25 | 17 | 7 | 1 | 600 |
| C | ∼200万 | 79 | 44 | 20 | 9 | 1200 |
| D | ∼150万 | 76 | 17 | 55 | 0 | 4 |
| E | ∼1700万 | 34 | 25 | 6 | 1 | 2 |
3. 相关工作
- AutoML框架 :AutoML的各个方面,如特征选择、模型选择和超参数调整,已经得到了广泛研究。一些流行的AutoML框架包括Auto - WEKA、Auto - sklearn等。Auto - sklearn将AutoML视为一个组合算法选择和超参数优化(CASH)问题,并使用贝叶斯优化(BO)技术进行优化。
- LML研究 :终身机器学习(LML)专注于在学习机器的整个生命周期内从一个或多个领域学习多个任务,以提高未来学习的效率。一些LML框架已经成功应用于解决实际问题,如视频游戏中的任务。
- 概念漂移处理 :对于概念漂移,有主动和被动两种处理方法。主动方法通过变化检测器明确检测概念漂移并触发模型适应机制,被动方法则在不明确检测变化的情况下持续更新模型。
| 方面 | PoSH Auto - sklearn | LML Auto - sklearn | AutoGBT |
|---|---|---|---|
| 多样化模型组合 | ✓ | ✓ | ✗ |
| 显式漂移检测 | ✗ | ✓(FHDDM) | ✗ |
| 自动管道优化 | ✓(SMAC) | ✓(SMAC) | ✓(SMBO - TPE) |
| 支持#Cat和#MVC特征 | ✗ | ✗ | ✓ |
| 支持大数据量 | ✗ | ✗ | ✓ |
| 支持LML | ✗ | ✓ | ✓ |
4. AutoGBT方法
- 总体架构 :AutoGBT是一种自适应自优化的端到端机器学习工作流程,适用于受慢概念漂移影响的LML设置。其机器学习管道包括数据预处理和特征工程、自动超参数调整、模型学习和适应等步骤。
-
提出的模型
- 数据处理 :使用流处理器维护分类、多值分类和日期时间特征的运行统计信息,并采用多级采样策略克服数据集偏斜和处理大数据集。
- 学习算法 :采用LightGBM实现的梯度提升决策树(GBDT)作为学习算法。
- 超参数调整 :使用hyperopt库中的Tree - of - Parzen - Estimators(TPE)算法进行自动超参数调整。
- 特征转换 :对于高基数分类和多值分类特征,使用在线频率编码器将其转换为数值特征,同时保留批次间的语义相似性。对于日期时间特征,通过生成额外的日历特征和时间差特征来增强特征空间。
| 超参数 | 值 | 默认值 | 对数尺度 |
|---|---|---|---|
| 提升类型 | GBDT | GBDT | |
| 提升迭代次数 | [550, 600, 650] | 600 | |
| 学习率 | [0.005–0.015] | 0.01 | ✓ |
| 叶子数量 | [40, 50, 60, 70, 80] | 60 | |
| 特征分数 | [0.5–0.7] | 0.6 | ✓ |
| 装袋分数 | [0.5–0.7] | 0.6 | ✓ |
| 装袋频率 | [1, 2, 3] | 2 | |
| 指标 | AUC | AUC | |
| 目标 | 二元 | 二元 |
graph LR
A[数据] --> B[预处理]
B --> C[特征工程]
C --> D[超参数调整]
D --> E[模型学习]
E --> F[模型适应]
F --> G[预测]
G --> H[评估]
H --> I[反馈]
I --> B
5. 概念架构与算法
- 概念架构 :AutoGBT的概念架构包括预处理器、两级采样器和模型训练部分。预处理器维护特征的运行统计信息,第一级采样器纠正类别不平衡并保存历史数据,第二级采样器在资源约束和启发式检查下进行特征空间转换。
-
算法流程
:算法1展示了AutoGBT的LML - AutoML过程,主要步骤如下:
- 取一批数据,进行预处理并保存第一级采样样本。
-
循环处理后续批次数据:
- 更新运行统计信息。
- 从缓冲区采样训练数据。
- 提取特征向量和标签。
- 如果没有最优超参数,则使用SMBO搜索。
- 如果时间花费小于总时间预算的80%,则使用最优超参数训练模型,并更新缓冲区;否则,使用最近训练的模型。
- 进行预测并更新时间。
# 伪代码表示Algorithm 1
Data: D(X, y) samples, total time budget T
Take a batch D′t with n instances, s.t D′t(X′, y′) ∈D(X, y);
running_statistics = Preprocess(X′);
phase1_samples = MajorityUnderSample(X′ ,y′);
Save phase1_samples to Buffer
optimal_hyperparams = ∅
while there is data in D do
Take next batch D′t+1(X′, y′);
running_statistics = Update(running_statistics ,Preprocess(X′));
training_data = Sample(Buffer ,constraints);
feature_vectors, labels = FeatureExtractor(training_data ,running_statistics);
if optimal_hyperparams is ∅ then
optimal_hyperparams = SMBO(feature_vectors ,labels ,constraints);
end
if time spent < 0.8*T then
Mt = Train(feature_vectors ,labels ,optimal_hyperparams);
phase1_samples = MajorityUnderSample(X′ ,y′);
Append phase1_samples to Buffer
else
Mt = Most recently trained model
end
ˆy′ = Predict(Mt, FeatureExtractor(X′, running_statistics));
t = t + 1
end
通过以上方法,AutoGBT在处理受概念漂移影响的大数据流分类问题上展现出了有效性,为解决实际应用中的机器学习挑战提供了一种可行的方案。后续我们将进一步探讨其在不同场景下的性能表现和优化方向。
自动优化梯度提升树:应对概念漂移下的大数据流分类
6. 实验结果与分析
为了验证AutoGBT的有效性,我们在NeurIPS 2018 AutoML挑战数据集以及多个受概念漂移影响的基准数据集上进行了实验,并与挑战基线模型和Auto - sklearn进行了比较。
| 数据集 | AutoGBT性能 | 挑战基线模型性能 | Auto - sklearn性能 |
|---|---|---|---|
| 挑战数据集1 | [具体性能指标1] | [具体性能指标1] | [具体性能指标1] |
| 挑战数据集2 | [具体性能指标2] | [具体性能指标2] | [具体性能指标2] |
| 基准数据集1 | [具体性能指标3] | [具体性能指标3] | [具体性能指标3] |
| 基准数据集2 | [具体性能指标4] | [具体性能指标4] | [具体性能指标4] |
从实验结果来看,AutoGBT在处理受慢概念漂移影响的大数据集时表现出色。在多个数据集上,其归一化平均AUC指标明显高于挑战基线模型和Auto - sklearn。这表明AutoGBT的自适应自优化机制、对高基数分类和多值分类特征的有效处理以及对大数据量的良好扩展性,使其能够更好地适应数据的动态变化,保持较高的分类性能。
graph LR
A[AutoGBT] --> B[挑战数据集]
A --> C[基准数据集]
B --> D[性能评估]
C --> D
E[挑战基线模型] --> B
E --> C
F[Auto - sklearn] --> B
F --> C
D --> G[结果比较]
7. 优势与特点总结
- 处理大数据量 :通过两级采样策略和高效的GBDT实现(LightGBM),AutoGBT能够有效处理大规模数据集,克服了传统方法在处理大数据时的性能瓶颈。
- 应对概念漂移 :利用在线频率编码器和对日期时间特征的处理,AutoGBT能够保留批次间的语义相似性,更好地应对慢概念漂移问题,确保模型在数据分布变化时仍能保持稳定性能。
- 自动优化 :采用SMBO(TPE算法)进行自动超参数调整,能够在短时间内找到最优超参数组合,提高模型的性能和效率。
- 支持多特征类型 :能够处理分类、多值分类和日期时间等多种特征类型,并通过特征工程将其转换为适合模型学习的形式。
| 优势 | 具体说明 |
|---|---|
| 大数据处理能力 | 两级采样策略和LightGBM实现 |
| 概念漂移应对 | 在线频率编码器和日期时间特征处理 |
| 自动优化 | SMBO(TPE算法)超参数调整 |
| 多特征支持 | 处理多种特征类型并进行特征工程 |
8. 实际应用场景
AutoGBT的特性使其在多个实际应用场景中具有广泛的应用前景:
-
金融预测
:在金融市场中,数据分布随时间不断变化,概念漂移较为常见。AutoGBT可以用于预测股票价格走势、信用风险评估等,通过自动适应数据变化,提高预测的准确性。
-
点击流分析
:在互联网领域,用户的点击行为数据以流的形式不断产生,且数据分布可能随时间和用户行为的变化而改变。AutoGBT可以用于分析用户点击流数据,预测用户的购买意向、行为偏好等。
-
交通流量预测
:交通流量数据受到多种因素的影响,如时间、天气、事件等,数据分布具有动态性。AutoGBT可以用于预测交通流量,为交通管理和规划提供支持。
9. 总结与展望
AutoGBT作为一种自适应自优化的端到端机器学习工作流程,在处理概念漂移下的大数据流分类问题上取得了显著的成果。通过实验验证,其在多个数据集上的性能优于挑战基线模型和Auto - sklearn。
然而,AutoGBT仍有一些可以改进的地方。例如,在处理快速概念漂移时,其性能可能会受到一定影响。未来的研究可以进一步探索更有效的漂移检测和适应机制,以提高模型在快速变化环境下的性能。此外,还可以考虑将AutoGBT与其他机器学习技术相结合,进一步拓展其应用范围和性能表现。
总体而言,AutoGBT为解决现实世界中机器学习系统面临的数据动态变化和大数据处理问题提供了一种有效的解决方案,具有广阔的应用前景和研究价值。
AutoGBT:应对概念漂移的自动优化
超级会员免费看
687

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



