基于参数服务器的梯度提升决策树的实现方法及相关设备技术

技术编号:19547735 阅读:15 留言:0更新日期:2018-11-24 21:17
本发明专利技术公开了一种基于参数服务器的梯度提升决策树的实现方法,包括:通过预设的参数服务器获取最佳分裂点的接口,分别向P个参数服务器节点发送最佳分裂点获取请求;其中,参数服务器包括P个参数服务器节点,每个参数服务器节点各自存储有M/P个特征;接收P个参数服务器节点分别发送的最佳分裂点的信息,得到P个最佳分裂点的信息;其中P个最佳分裂点为P个参数服务器节点通过预设的GBDT优化算法从各自存储的M/P个特征中计算出的最佳分裂点;比较P个最佳分裂点的目标函数增益,并选取目标函数增益最大的分裂点作为全局最佳分裂点。本发明专利技术还公开了一种计算节点设备、参数服务器节点设备和基于参数服务器的梯度提升决策树的实现系统。

Implementation Method and Related Equipment of Gradient Lifting Decision Tree Based on Parameter Server

The invention discloses an implementation method of gradient lifting decision tree based on parameter server, which includes: obtaining the interface of the best splitting point through the preset parameter server and sending the request of the best splitting point to P parameter server nodes respectively; and the parameter server includes P parameter server nodes, each parameter node. Server nodes each store M/P characteristics; receive the information of the best splitting points sent by P parameter server nodes, and get the information of the P best splitting points; among them, P best splitting points are P parameter server nodes, which calculate the best splitting points from the M/P characteristics stored by the preset GBDT optimization algorithm. The objective function gain of P optimal splitting points is compared, and the splitting point with the maximum objective function gain is selected as the global optimal splitting point. The invention also discloses an implementation system of calculating node equipment, parameter server node equipment and gradient lifting decision tree based on parameter server.

【技术实现步骤摘要】
基于参数服务器的梯度提升决策树的实现方法及相关设备
本专利技术涉及计算机领域,尤其涉及基于参数服务器的梯度提升决策树的实现方法、计算节点设备、参数服务器节点、参数服务器以及基于参数服务器的梯度提升决策树的实现系统。
技术介绍
机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。近年来,机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、脱氧核糖核酸(Deoxyribonucleicacid,DNA)序列测序、语音和手写识别、战略游戏和机器人运用。在当前的大数据时代,单个机器已经远远无法满足存储和计算需求,因此分布式机器学习技术的重要性日益显现。现有的大规模数据集常常是高维数据集,每个训练数据有多达百万甚至数亿的特征,在分布式环境下处理高维数据集,带来的通信开销很大,对分布式机器学习系统带来挑战。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供基于参数服务器的梯度提升决策树的实现方法、计算节点设备、参数服务器节点、参数服务器以及基于参数服务器的梯度提升决策树的实现系统,解决现有技术中在处理大维度训练数据时存在的单点瓶颈问题增量融合逻辑复杂,并大大减少通信开销。为了解决上述技术问题,本专利技术实施例第一方面公开了一种基于参数服务器的梯度提升决策树的实现方法,包括:通过预设的参数服务器获取最佳分裂点的接口,分别向P个参数服务器节点发送最佳分裂点获取请求;其中,所述参数服务器包括P个参数服务器节点,每个参数服务器节点各自存储有M/P个特征,所述M为训练数据的特征数量;接收所述P个参数服务器节点分别发送的最佳分裂点的信息,得到P个最佳分裂点的信息;其中所述P个最佳分裂点为所述P个参数服务器节点通过预设的梯度提升决策树GBDT优化算法从各自存储的M/P个特征中计算出的最佳分裂点;根据所述P个最佳分裂点的信息,比较所述P个最佳分裂点的目标函数增益,并选取目标函数增益最大的分裂点作为全局最佳分裂点。本专利技术实施例第二方面公开了一种基于参数服务器的梯度提升决策树的实现方法,包括:参数服务器节点通过预设的参数服务器获取最佳分裂点的接口,接收计算节点发送的最佳分裂点获取请求;所述参数服务器节点根据所述最佳分裂点获取请求,通过预设的梯度提升决策树GBDT优化算法从存储的M/P个特征中计算出最佳分裂点;所述M为训练数据的特征数量,所述P为所述参数服务器包括的参数服务器节点的数量;所述参数服务器节点将所述最佳分裂点的信息发送给所述计算节点。本专利技术实施例第三方面公开了一种计算节点设备,包括处理器、存储器、输入模块和输出模块,所述存储器存储多条指令,所述指令由所述处理器加载并执行:通过预设的参数服务器获取最佳分裂点的接口,通过所述输出模块分别向P个参数服务器节点发送最佳分裂点获取请求;其中,所述参数服务器包括P个参数服务器节点,每个参数服务器节点各自存储有M/P个特征,所述M为训练数据的特征数量;通过所述输入模块接收所述P个参数服务器节点分别发送的最佳分裂点的信息,得到P个最佳分裂点的信息;其中所述P个最佳分裂点为所述P个参数服务器节点通过预设的梯度提升决策树GBDT优化算法从各自存储的M/P个特征中计算出的最佳分裂点;根据所述P个最佳分裂点的信息,比较所述P个最佳分裂点的目标函数增益,并选取目标函数增益最大的分裂点作为全局最佳分裂点。本专利技术实施例第四方面公开了一种参数服务器节点设备,包括处理器、存储器、输入模块和输出模块,所述存储器存储多条指令,所述指令由所述处理器加载并执行:通过预设的参数服务器获取最佳分裂点的接口,通过所述输入模块接收计算节点发送的最佳分裂点获取请求;根据所述最佳分裂点获取请求,通过预设的梯度提升决策树GBDT优化算法从存储的M/P个特征中计算出最佳分裂点;所述M为训练数据的特征数量,所述P为所述参数服务器包括的参数服务器节点的数量;通过所述输出模块将所述最佳分裂点的信息发送给所述计算节点。本专利技术实施例第五方面公开了一种参数服务器,包括P个参数服务器节点设备,所述P大于1;所述参数服务器节点设备为上述的参数服务器节点设备。本专利技术实施例第六方面公开了一种基于参数服务器的梯度提升决策树的实现系统,包括参数服务器和至少一个计算节点设备;其中,所述参数服务器为上述的参数服务器;所述计算节点设备为上述的计算节点设备。实施本专利技术实施例,计算节点在寻找最佳分裂点时,通过预设的参数服务器获取最佳分裂点的接口,分别向P个参数服务器节点发送最佳分裂点获取请求,在获取到每个参数服务器节点通过GBDT优化算法从各自存储的M/P个特征中计算出的最佳分裂点后,比较P个最佳分裂点的目标函数增益,并选取目标函数增益最大的分裂点作为全局最佳分裂点。每个计算节点无需获取完整的全局梯度直方图,只需要比较参数服务器节点返回的候选最佳分裂点的信息,大大减少了通信开销。并且通过将全局梯度直方图切分到多个参数服务器节点上存储,解决了在处理大维度训练数据时遇到的单点瓶颈问题,加速了汇总局部梯度直方图的速度。另外,可以在指定一个计算节点来选取出最佳分裂点后,将该最佳分裂点存储在参数服务器,由该参数服务器将该全局最佳分裂点发送给其他计算节点,能够避免其他计算节点重复计算,大大节省了计算节点的计算量。并且,本专利技术实施例的计算节点以及参数服务器节点的数量可以按照用户的需求进行扩展,为可扩展的PS架构,解决了现有技术中Spark和XGBoost的在处理大维度训练数据时存在的单点瓶颈,以及可扩展性受限的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的基于参数服务器的梯度提升决策树的实现系统的架构图;图2是本专利技术实施例提供的基于参数服务器的梯度提升决策树的实现方法的流程示意图;图3a是本专利技术提供的基于参数服务器的梯度提升决策树的实现方法的另一实施例的流程示意图;图3b是本专利技术提供的决策树的原理示意图;图4是本专利技术提供的基于参数服务器的梯度提升决策树的实现方法的另一实施例的流程示意图;图5是本专利技术提供的基于参数服务器的梯度提升决策树的实现方法的另一实施例的流程示意图;图6是本专利技术实施例提供的参数服务器的参数存储的原理示意图;图7是本专利技术提供的基于参数服务器的梯度提升决策树的实现方法的另一实施例的流程示意图;图8是本专利技术实施例提供的梯度直方图的原理示意图;图9是基于映射-归约(Map-Reduce)实现的梯度提升决策树(Gradientboostingdecisiontree,GBDT)的分布式架构;图10是基于多点接口(MultiPointInterface,MPI)的全-归约(All-Reduce)实现的GBDT的分布式架构;图11是本专利技术实施例提供本文档来自技高网...

【技术保护点】
1.一种基于参数服务器的梯度提升决策树的实现方法,其特征在于,包括:通过预设的参数服务器获取最佳分裂点的接口,分别向P个参数服务器节点发送最佳分裂点获取请求;其中,所述参数服务器包括P个参数服务器节点,每个参数服务器节点各自存储有M/P个特征,所述M为训练数据的特征数量;接收所述P个参数服务器节点分别发送的最佳分裂点的信息,得到P个最佳分裂点的信息;其中所述P个最佳分裂点为所述P个参数服务器节点通过预设的梯度提升决策树GBDT优化算法从各自存储的M/P个特征中计算出的最佳分裂点;根据所述P个最佳分裂点的信息,比较所述P个最佳分裂点的目标函数增益,并选取目标函数增益最大的分裂点作为全局最佳分裂点。

【技术特征摘要】
1.一种基于参数服务器的梯度提升决策树的实现方法,其特征在于,包括:通过预设的参数服务器获取最佳分裂点的接口,分别向P个参数服务器节点发送最佳分裂点获取请求;其中,所述参数服务器包括P个参数服务器节点,每个参数服务器节点各自存储有M/P个特征,所述M为训练数据的特征数量;接收所述P个参数服务器节点分别发送的最佳分裂点的信息,得到P个最佳分裂点的信息;其中所述P个最佳分裂点为所述P个参数服务器节点通过预设的梯度提升决策树GBDT优化算法从各自存储的M/P个特征中计算出的最佳分裂点;根据所述P个最佳分裂点的信息,比较所述P个最佳分裂点的目标函数增益,并选取目标函数增益最大的分裂点作为全局最佳分裂点。2.如权利要求1所述的方法,其特征在于,还包括:针对每个待处理树节点,根据自身节点的训练数据分别计算各自对应的局部梯度直方图,并将每个局部梯度直方图分成P个分块局部梯度直方图;其中,P个分块局部梯度直方图与P个参数服务器节点一一对应;通过预设的参数服务器更新梯度直方图的接口,将每个待处理树节点的每个分块局部梯度直方图发送给对应的参数服务器节点。3.如权利要求1所述的方法,其特征在于,每个最佳分裂点的信息包括分裂特征、分裂特征值以及目标函数增益;所述选取目标函数增益最大的分裂点作为全局最佳分裂点包括:将目标函数增益最大的分裂点中的分裂特征和分裂特征值作为全局最佳分裂点。4.如权利要求1-3任一项所述的方法,其特征在于,所述选取目标函数增益最大的分裂点作为全局最佳分裂点之后,还包括:将所述全局最佳分裂点发送给所述参数服务器,以使所述参数服务器将所述全局最佳分裂点发送给所有的计算节点。5.一种基于参数服务器的梯度提升决策树的实现方法,其特征在于,包括:参数服务器节点通过预设的参数服务器获取最佳分裂点的接口,接收计算节点发送的最佳分裂点获取请求;所述参数服务器节点根据所述最佳分裂点获取请求,通过预设的梯度提升决策树GBDT优化算法从存储的M/P个特征中计算出最佳分裂点;所述M为训练数据的特征数量,所述P为所述参数服务器包括的参数服务器节点的数量;所述参数服务器节点将所述最佳分裂点的信息发送给所述计算节点。6.如权利要求5所述的方法,其特征在于,还包括:所述参数服务器节点通过预设的参数服务器更新梯度直方图的接口,接收计算节点发送的分块局部梯度直方图;其中,所述分块局部梯度直方图为所述计算节点针对每个待处理树节点,根据自身节点的训练数据分别计算各自对应的局部梯度直方图,并将每个局部梯度直方图分成P个分块的局部梯度直方图;且P个分块的局部梯度直方图与P个参数服务器节点一一对应;所述参数服务器节点将所述分块局部梯度直方图累加到对应的全局梯度直方图上。7.一种计算节点设备,包括处理器、存储器、输入模块和输出模块,其特征在于,所述存储器存储多条指令,所述指令由所述处理器加载并执行:通过预设的参数服务器获取最佳分裂点的接口,通过所述输出模块分别向P个参数服务器节点发送最佳分裂点获取请求;其中,所述参数服务器包括P个参数服务器节点,每个参数服务器节点各自存储有M/P个特征,所述M为训...

【专利技术属性】
技术研发人员:江佳伟崔斌肖品
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1