当前位置:主页 > 管理论文 > 领导决策论文 >

梯度提升决策树性能优化研究

发布时间:2021-04-04 12:25
  梯度提升决策树是一种以决策树为弱学习器的集成学习方法,可以用于分类、回归和排序任务,得益于其易于训练、可解释性高等优点,梯度提升决策树被广泛应用于垃圾邮件检测、广告投放、销售预测、医疗数据分析等各种数据分析任务。然后,在面对大规模数据集时,梯度提升决策树的训练和预测过程在时间和空间上的计算代价极高,模型的性能优化仍然存在多个方面的挑战。因此,本研究主要聚焦梯度提升决策树方法在训练时间、内存消耗以及增量式学习方面的性能优化研究。主要研究工作概述如下:(1)针对梯度提升决策树方法在面向大规模数据训练时存在内存消耗大和训练时间长等问题,开展了基于多GPU的梯度提升决策树性能优化研究,对梯度计算、分裂点增益值计算、最佳分裂点寻找、决策树更新、模型预测等训练过程在GPU上进行了优化,并基于此实现了基于多GPU的梯度提升决策树优化系统。(2)针对梯度提升决策树方法容易产生不规则内存访问和不支持增量式学习的不足,提出一种可增量式学习的梯度提升决策树模型框架,允许用户预先设计和选择合适的树形结构,将领域知识集成到模型中,使其支持并行化训练和支持可增量式学习。(3)在公开数据集上设计和开展了多个实验对所... 

【文章来源】:广东外语外贸大学广东省

【文章页数】:68 页

【学位级别】:硕士

【部分图文】:

梯度提升决策树性能优化研究


寻找GBDT的最佳分裂点示例

结构图,结构图,内存,计算资源


11成。图2-2真实GPU结构图一个GPU内会含有多个核,这些核被称为SM(StreamMultiprocessor),SM内包含多个负责完成指令和任务的SP(StreamProcessor)及其他一些GPU资源,如共享内存、寄存器等,SM中包含的SP个数是与GPU架构有关的,例如NvidiaGeForce中是32个,GeForce10x是48个,SP的个数从一定层度上反映了GPU的运算能力。一般使用CUDA(ComputeUnifiedDeviceArchitecture)来实现GPU编程,图2-3显示了CUDA中GPU编程概念架构,其中Device端表示GPU上的计算资源,而Host端则表示主存、CPU等非GPU计算资源。在图2-3中,Thead表示GPU内的一个线程,多个GPU线程则组成了一个Block,而多个Block则组成了一个Grid,CUDA将一个GPU内的线程进行了这3层划分,但在同一时间戳内,一个SM只能执行在一个Block内的指令。虽然GPU的计算效率极高,但是,相比于计算机的主存,GPU的内存一般较小,例如,在TitanX上有12G内存,这一特性是GPU称为稀缺计算资源的重要原因之一。另一方面,设计和实现基于GPU的高性能计算程序的过程中,影响程序效率的一个主要因素GPU全局内存的访问,这个操作的代价会比在GPU上进行计算的代价要大的多,因此,需要尽量避免访问GPU的全局内存。CPU和GPU之间的连接是通过PCI-e来达成的,CPU和GPU之间数据的交换也是高性能计算程序的瓶颈之一。总得来说,要设计基于GPU的高效GBDT系统,就需要让系统提高GPU内存的利用效率,同时减少系统在CPU和GPU之间的内存交换。

架构图,概念,背景知识,决策树


12图2-3CUDA编程概念架构图2.4本章小结本章主要对与本文研究相关的背景知识进行了梳理。首先,本章介绍了梯度提升决策树的相关概念与理论知识,包括如何用提升方法来训练GBDT,随后本章比较了数据的稠密和稀疏存储方法的各自优势与不足,最后,介绍GPU架构的相关背景知识。


本文编号:3118028

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/lindaojc/3118028.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户ed8ee***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com