硬件制造技术

技术编号:39717055 阅读:8 留言:0更新日期:2023-12-17 23:24
本发明专利技术公开了硬件

【技术实现步骤摘要】
硬件XGBoost模型的构建方法及基于硬件XGBoost模型的数据预测方法


[0001]本专利技术涉及集成电路设计
,尤其涉及到一种硬件
XGBoost
模型的构建方法及基于硬件
XGBoost
模型的数据预测方法


技术介绍

[0002]XGBoost
是一种基于决策树的集成机器学习算法,它在大规模数据集上表现出了高效率和准确性的优点

然而,由于
XGBoost
需要进行大量的计算,这限制了其在实时性和低延迟方面的应用

为了解决这个问题,研究人员提出了对
XGBoost
进行硬件优化加速的方案

[0003]在
XGBoost
算法硬件优化加速时,常见的方法包括使用
SIMD
指令集优化计算

使用
GPU
加速计算等等

其中使用
SIMD
指令集优化计算时,需要保证数据的连续性,即要求数据在内存中是按照一定的顺序排列的,这对于不规则的数据结构会带来一定的挑战;使用
GPU
加速计算时,需要将数据从主机内存传输到
GPU
设备内存,这个过程需要一定的时间和带宽,如果数据量较小,这种数据传输的开销可能会抵消
GPU
的计算优势

此外,
GPU
加速计算也需要考虑到线程同步和数据一致性等问题,实现起来较为复杂

[0004]因此,如何提高
XGBoost
算法的计算效率,降低运算资源消耗成为亟待解决的问题


技术实现思路

[0005]有鉴于此,本专利技术提供了一种在硬件平台上,且在其中的多个硬件子模块内构建
XGBoost
模型的方法,以提高构建得到的
XGBoost
模型的计算效率,运算资源消耗;并对应提供了该
XGBoost
模型的泛型使用方法

[0006]根据第一方面,本专利技术提供了一种硬件
XGBoost
模型的构建方法,包括如下步骤:
[0007]根据待构建
XGBoost
决策树的深度和硬件处理器内硬件子模块可执行的最大判断节点层数,确定参与决策树构建的硬件子模块的数量以及每个硬件子模块对应的子决策树中的判断节点层数;
[0008]构建各个硬件子模块内的子决策树;
[0009]构建各个硬件子模块之间的信号传递链路,以使各个硬件子模块依次通过使能信号传递特征向量直至最后一个硬件子模块,完成
XGBoost
决策树的构建;最后一个硬件子模块中的子决策树为具有最大判断节点层数且包含所有枝干和叶子节点的通用树

[0010]在可选的实施方式中,构建各个硬件子模块内的子决策树的步骤之前,还包括如下步骤:
[0011]对应于最大判断节点层数的所有类型的决策树,进行硬件处理器中的头文件的编写;头文件内包含若干个
function
函数,每一个
function
函数对应一种决策树类型;
[0012]构建各个硬件子模块内的子决策树的步骤,具体包括:
[0013]调用头文件中的
function
函数构建各个硬件子模块内的子决策树

[0014]在可选的实施方式中,硬件处理器为
FPGA
处理器,每个硬件子模块均为
FPGA
处理器中的一个状态机

[0015]在可选的实施方式中,最大判断节点层数位3层,
function
函数的数量为
26


[0016]根据第二方面,本专利技术还提供了一种基于硬件
XGBoost
模型的数据预测方法,包括如下步骤:
[0017]获取待预测数据对应的待预测特征向量,并根据上述第一方面任一实施方式中的方法构建得到的
XGBoost
决策树中的通用树在待预测特征向量中增加冗余参数,得到模拟向量;
[0018]将模拟向量输入
XGBoost
决策树中,得到待预测特征向量对应的预测结果

[0019]在可选的实施方式中,冗余参数为根据待预测特征向量对应的实际决策树和
XGBoost
决策树之间的区别设置

[0020]在可选的实施方式中,基于硬件
XGBoost
模型的数据预测方法还包括如下步骤:
[0021]将预测结果输入
sigmoid
函数,得到预测概率值

[0022]本专利技术提供的技术方案,具有如下优点:
[0023]1、
本专利技术提供的硬件
XGBoost
模型的构建方法,通过直接在硬件平台上构建
XGBoost
模型,并根据硬件处理器内的资源限制将
XGBoost
模型构建于其内的多个硬件子模块内,能够充分发挥硬件处理器的性能,提高
XGBoost
模型的计算效率;同时,通过将特征向量传递链路上的最后一个硬件子模块中的子决策树为通用树,能够为该件
XGBoost
模型的泛型应用提供基础

[0024]2、
本专利技术提供的硬件
XGBoost
模型的构建方法,通过在硬件处理器的头文件中编写
function
函数,使得对于各个硬件子模块内的子决策树的构建可以直接通过调用头文件中的
function
函数进行,同时便于对
XGBoost
模型进行修改,提高了构建得到的
XGBoost
模型的代码可读性和可维护性

[0025]3、
本专利技术提供的基于硬件
XGBoost
模型的数据预测方法,在待预测特征向量中增加冗余参数,得到模拟向量,进而使得该模拟向量在输入通用树后,在通用树上模拟出具体的决策树,实现
XGBoost
模型的泛型使用,减少了
XGBoost
模型设计的复杂性和重复性,提高了算法设计的效率,同时可以减少
XGBoost
模型构建过程中的剪枝工作量,降低硬件算法的运算资源消耗

附图说明
[0026]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0027]图1为本专利技术实施例1提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种硬件
XGBoost
模型的构建方法,其特征在于,包括如下步骤:根据待构建
XGBoost
决策树的深度和硬件处理器内硬件子模块可执行的最大判断节点层数,确定参与所述决策树构建的硬件子模块的数量以及每个所述硬件子模块对应的子决策树中的判断节点层数;构建各个所述硬件子模块内的子决策树;构建各个所述硬件子模块之间的信号传递链路,以使各个所述硬件子模块依次通过使能信号传递特征向量直至最后一个所述硬件子模块,完成
XGBoost
决策树的构建;最后一个所述硬件子模块中的子决策树为具有所述最大判断节点层数且包含所有枝干和叶子节点的通用树
。2.
根据权利要求1所述的硬件
XGBoost
模型的构建方法,其特征在于,所述构建各个所述硬件子模块内的子决策树的步骤之前,还包括如下步骤:对应于所述最大判断节点层数的所有类型的决策树,进行硬件处理器中的头文件的编写;所述头文件内包含若干个
function
函数,每一个
function
函数对应一种决策树类型;所述构建各个所述硬件子模块内的子决策树的步骤,具体包括:调用所述头文件中的
function
函数构建各个所述硬件子模块内的子决策树
。3.
根据权利要求2所述的硬件
XGBoost
模型的构建方法,其特征在于,所述硬件处理...

【专利技术属性】
技术研发人员:曾琳梁志远朱家鑫尚禹宏兰军何滇张野宋子奇查梦凡
申请(专利权)人:西安电子科技大学芜湖研究院
类型:发明
国别省市:

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

1