CN110728317A - 决策树模型的训练方法、系统、存储介质及预测方法 - Google Patents
决策树模型的训练方法、系统、存储介质及预测方法 Download PDFInfo
- Publication number
- CN110728317A CN110728317A CN201910944121.4A CN201910944121A CN110728317A CN 110728317 A CN110728317 A CN 110728317A CN 201910944121 A CN201910944121 A CN 201910944121A CN 110728317 A CN110728317 A CN 110728317A
- Authority
- CN
- China
- Prior art keywords
- node
- feature
- sub
- processing
- processing node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/2163—Partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/24765—Rule-based classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Abstract
本申请公开了一种决策树模型的训练方法、系统、存储介质及预测方法,涉及人工智能技术,利用人工智能中机器学习技术对决策树模型进行训练,所述方法包括:每个子处理节点分别针对当前训练的树节点,获取当前训练的树节点的节点训练特征集和梯度数据,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点;每个子处理节点分别针对当前训练的树节点;主处理节点从每个子处理节点确定出的局部最佳分裂规则中,选出当前训练的树节点对应的分裂规则。这样可以减少训练过程中各处理节点间传输的数据量,降低系统资源开销。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种决策树模型的训练方法、系统、存储介质及预测方法。
背景技术
随着人工智能技术研究和进步,人工智能技术在越来越多的领域展开了研究和应用。人工智能技术在具体应用中的一项重要任务是模型训练,为了提高模型训练的效率,目前通常采用数据并行的分布式训练系统训练模型,即训练数据被划分到多个子处理节点上,每个子处理节点分别根据分配到的训练数据迭代训练模型。
当采用上述数据并行的分布式训练系统训练决策树模型时,将样本数据进行划分到每个子处理节点上,每个子处理节点上仅存储部分样本的样本数据,每个子处理节点基于分配到的样本数据统计得到局部梯度直方图,然后,汇总所有子处理节点得到的局部梯度直方图,确定出全部样本数据对应的全局梯度直方图,基于全局梯度直方图确定出最佳分裂规则。但是,传输梯度直方图需耗费大量通信资源,且存储全局梯度直方图需耗费大量内存开销。
发明内容
本申请实施例提供一种决策树模型的训练方法、系统、存储介质及预测方法,以减少分布式训练过程中各处理节点间传输的数据量,降低对系统资源开销。
一方面,本申请一实施例提供了一种决策树模型的训练方法,包括:
每个子处理节点分别针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据,其中,所述梯度数据为所述决策树模型的特征矩阵的梯度数据,所述节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的,所述特征子集中包含多个特征列Tj,特征列Tj中包含所有样本的特征j的特征值,所述子处理节点包括N个,N个子处理节点各自的特征子集组成所述特征矩阵,且N个子处理节点的特征子集互不相交;
每个子处理节点分别针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点,所述局部最佳分裂规则包括使目标函数的增益最大的特征和特征值;
所述主处理节点从每个子处理节点确定出的局部最佳分裂规则中,选出所述当前训练的树节点对应的分裂规则。
一方面,本申请一实施例提供了一种决策树模型的训练系统,包括:多个子处理节点和一个主处理节点;
每个子处理节点,用于针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据,其中,所述梯度数据为所述决策树模型的特征矩阵的梯度数据,所述节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的,所述特征子集中包含多个特征列Tj,特征列Tj中包含所有样本的特征j的特征值,所述子处理节点包括N个,N个子处理节点各自的特征子集组成所述特征矩阵,且N个子处理节点的特征子集互不相交;
每个子处理节点,还用于针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点,所述局部最佳分裂规则包括使目标函数的增益最大的特征和特征值;
所述主处理节点,用于从每个子处理节点确定出的局部最佳分裂规则中,选出所述当前训练的树节点对应的分裂规则。
可选地,所述子处理节点,还用于在针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据之前,获取本子处理节点的特征子集和梯度数据,针对根节点,根据获取的特征子集和梯度数据确定出所述根节点的局部最佳分裂规则并发送给所述主处理节点。
相应地,所述主处理节点从每个子处理节点确定出的所述根节点的局部最佳分裂规则中,选出所述根节点对应的分裂规则,并将所述根节点对应的分裂规则发送给各个子处理节点。
可选地,所述子处理节点,具体用于:
从所述特征矩阵中获取与本子处理节点对应的指定行数的数据,所述特征矩阵中第i行第j列存储的是第i个样本的特征j对应的特征值;
按预设切分方式,将获取的指定行数的数据按列切分为N个子特征矩阵;
保留本子处理节点的子特征矩阵,并将N-1个子特征矩阵分别发送给对应的其他子处理节点;
接收其他N-1个子处理节点发送给本子处理节点的子特征矩阵;
合并本子处理节点对应的所有子特征矩阵,得到本子处理节点的特征子集。
可选地,所述主处理节点,还用于将所述当前训练的树节点对应的父节点的分裂规则发送给父子处理节点,所述父子处理节点为所述父节点的分裂规则中的特征所对应的子处理节点;
所述父子处理节点,用于根据所述父节点的分裂规则,将父子处理节点对应的所述父节点的节点训练特征集中包含的样本划分到所述父节点的两个子节点上,得到所述父节点的分裂结果并发送给其他子处理节点;
所述子处理节点,还用于根据所述父节点的分裂结果,确定被划分到所述当前训练的树节点上的样本,从子处理节点的特征子集中获取所述被划分到所述当前训练的树节点上的样本对应的特征列,得到所述当前训练的树节点的节点训练特征集。
可选地,所述父子处理节点,还用于在将所述父节点的分裂结果并发送给其他子处理节点之前,采用二进制编码的方式对所述父节点的分裂结果进行压缩编码处理。
可选地,子处理节点,具体用于:
获取所述当前训练的树节点的节点训练特征集中每个特征对应的梯度直方图,所述梯度直方图的横轴为候选特征值,所述梯度直方图的纵轴为特征值在相邻两个候选特征值之间的样本的梯度数据之和;
分别针对每个特征对应的每个候选特征值,以该候选分征值为分裂点,将该特征对应的梯度直方图划分成左梯度直方图和右梯度直方图,根据所述左梯度直方图的梯度数据之和所述右梯度直方图的梯度数据之和,确定该候选特征值对目标函数的增益;
取使所述目标函数的增益最大的特征和候选特征值,确定为局部最佳分裂规则。
可选地,所述子处理节点,具体用于:
获取所述当前训练的树节点的父节点的每个特征对应的梯度直方图,以及所述父节点的另一个子节点的每个特征对应的梯度直方图;
分别针对每个特征,将所述父节点的该特征的梯度直方图和所述另一个子节点的该特征的梯度直方图之差,确定为所述当前训练的树节点的节点训练集中的每个特征对应的梯度直方图。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种基于决策树模型的预测方法,包括:
获取待预测对象的特征向量;
将所述特征向量输入根据上述任一种方法训练得到的决策树模型,得到针对待预测对象的预测结果。
可选地,所述预测结果为待预测对象对应的类别或预测数值。
本申请实施例提供的决策树模型的训练方法、系统、存储介质及预测方法,按列的方式读取样本的特征值,即按特征的方式划分特征矩阵,使得每个子处理节点内的特征子集中包含多个特征对应的所有样本的特征值,为此,每个子处理节点能够基于其获取的特征子集确定出局部最佳分裂规则并传输给主处理节点,由于局部最佳分裂规中仅包含确定出的一个特征和一个特征值,因此子处理节点发送给主处理节点的数据量非常小,降低了系统的通信开销。此外,子处理节点无需存储全局梯度直方图,每个子处理节点上仅存储了特征矩阵中的一部分(即特征子集),且子处理节点上存储的特征子集之间不存在重叠部分,大大降低了系统的内存开销。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为基于特征矩阵和梯度数据得到梯度直方图的一个示例;
图1B为现有的利用分布式训练系统训练决策树模型的原理图;
图2为本申请实施例提供的分布式训练系统的示意图;
图3为用于训练决策树模型的样本数据的存储格式示意图;
图4为本申请一实施例提供的每个子处理节点分别获取子处理节点的特征子集的流程示意图;
图5为本申请一实施例提供的通过分布式训练系统对特征矩阵进行切分的示意图;
图6为本申请一实施例提供的决策树模型的训练方法的流程示意图;
图7A为本申请一实施例提供的确定每个子处理节点的当前训练的树节点的节点训练特征集的流程示意图;
图7B为本申请一实施例提供的确定每个子处理节点的当前训练的树节点的节点训练特征集的示意图;
图8为本申请一实施例提供的各个子处理节点确定局部最佳分裂规则的流程示意图;
图9A为本申请一实施例提供的决策树模型的训练方法的流程示意图;
图9B为本申请一实施例提供的一个决策树模型的示例;
图10为本申请一实施例提供的通过主处理节点确定决策树的根节点的分裂规则的流程示意图;
图11为本申请一实施例提供的通过并行处理的方式确定根节点的分裂规则的流程示意图;
图12为本申请一实施例提供的决策树模型的训练系统的结构示意图;
图13为本申请一实施例提供的一种基于决策树模型的预测方法的流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
分布式机器学习,将机器学习任务在分布式环境中执行。例如,将训练数据切分到多个子处理节点,每个子处理节点用分配的训练数据迭代地训练模型。
GBDT(Gradient boosting decision tree),梯度提升决策树,GBDT算法使用决策树模型作为弱分类器,依次训练多棵决策树,通过boosting(提升方法)等策略提高误判数据的重要程度,从而不断提升决策树模型的精度。一个决策数据模型中可包含多个决策树,每棵决策树包括两种树节点:内部树节点和叶子节点。内部树节点给出一个分裂规则,将数据分到该内部树节点的左子节点或右子节点,分裂规则可以是连续特征的范围,也可以是类别特征。经过内部树节点的逐层处理,直至将数据划分到叶子节点,可得到一棵决策树对该数据的预测值,通过同样的方式得到其他决策树对该数据的预测值,累加所有决策树给出的预测值,得到该数据最终的预测值。
类似传统的线性模型或者深度模型,GBDT的目的是最小化真实值和预测值之间的误差,因此也被形式化为一个优化问题,它的目标函数被定义为:
其中,l是代价函数(例如logistic loss或者RMSE),Ω是正则项,一般取值为:
其中,L是一棵决策树中的叶子节点的数量,ω是叶子节点的预测值组成的向量,γ和λ是超参数。
LogitBoost算法使用了二阶近似,引入了梯度,gi代表一阶梯度,hi代表二阶梯度,则
如果用Ij={i|xi∈leafj}表示第j个叶子节点上的样本,用ωj来代替ft(xi),同时删去常数项(代价函数),就可以得到F(t)的近似:
上述公式有wj一次项和二次项,可以很容易得到使得取得最小值的ωj:
上面给出了严格的理论推导,但是这是基于一个假设:知道树结构,同时知道每个样本属于的叶子节点。然而,现实中树结构是未知的,要求得最优解,需要遍历所有可能的树结构,这样的计算复杂度显然是不可行的。因此GBDT使用了一种贪心方法来训练决策树从而得到树结构:从根节点开始不断地向下分裂树节点,其中,分裂树节点是指,确定树节点的分裂规则,按分裂规则将树节点上的样本划分到该树节点的两个子节点上;针对每个树节点,基于该树节点上的样本的特征值和梯度数据,选择使得最小的特征以及特征值作为分裂规则,从而得到决策树的树结构。
梯度直方图,其横轴是样本的特征值,纵轴是样本的梯度和。其中,特征矩阵中第i行第j列存储的是第i个样本的特征j对应的特征值,梯度数据中第i行第1列存储的是第i个样本的对应的一阶梯度,梯度数据中第i行第2列存储的是第i个样本的对应的二阶梯度。首先,针对每个特征选择K个候选特征值,然后,扫描树节点上所有的数据样本,使用样本的梯度数据,为每个特征建立梯度直方图,例如,Gm是第m个特征的一阶梯度直方图,如果样本第m个特征的特征值大于第k-1个候选特征值sm,(k-1)和第k个候选特征值sm,k之间,我们将其一阶梯度加到Gm,k上,通过同样的操作得到二阶梯度直方图Hm。经过这样的处理,每个树节点上分别建立了m个大小为k的一阶梯度直方图,以及m个大小为k的二阶梯度直方图。参考图1A,其给出了基于样本的特征矩阵和梯度数据,得到每个特征的梯度直方图(包括一阶梯度直方图和二阶梯度直方图)的方法的一个示例。
当采用数据并行的分布式训练系统来训练决策树模型时,将样本数据按行划分到每个子处理节点上,每个子处理节点上仅存储部分样本的样本数据,每个子处理节点基于分配到的样本数据统计得到局部梯度直方图,然后,汇总所有子处理节点得到的局部梯度直方图,确定出全部样本数据对应的全局梯度直方图,基于全局梯度直方图确定出最佳分裂规则。
参考图1B,其给出了一个用分布式训练系统来训练决策树模型的示例。假设通过购两个子处理节点并行进行训练,按图1B所示的按行划分的方式,将特征矩阵划分成两个子特征矩阵T1和T2,同时将梯度数据也划分成两部分G1和G2,将T1和G1发送给子处理节点1,将T2和G2发送给子处理节点2。子处理节点1根据T1和G1得到每个特征j对应的局部梯度直方图H1,j并发送给主处理节点,子处理节点2根据T2和G2得到每个特征j对应的局部梯度直方图H2,j并发送给主处理节点。主处理节点合并每个特征j的局部梯度直方图H1,j和局部梯度直方图H2,j,得到每个特征j的全局梯度直方图Hj,基于所有特征的全局梯度直方图确定出最佳分裂规则(最佳分裂特征和最佳分裂特征值)作为当前处理的树节点的分裂规则。
实际应用中,梯度直方图的大小与树的高度、特征数量、类别数量等因素有关。针对决策树的每个树节点上的每个特征,都要建立一个全局梯度直方图,树节点的数量与树的高度呈二次方增长,因此,决策树越高需建立的全局梯度直方图越多,特征数量越多,需要建立的局部梯度直方图和全局梯度直方图越多。假设决策树的最大高度是L=10,特征数量是D=100000,类别数量是C=10,一个梯度直方图中候选分裂特征值的数量是q=20,则梯度直方图的总大小是2×2(L-2)×D×C×q×8=82GB,其中,决策树的叶子节点不需要建立对应的梯度直方图,因此是L-2。因此,当树的高度较大、特征数量较多、类别数量较多时,各子处理节点生成的局部梯度直方图的数量较大,且最终生成的全局梯度直方图会非常大,这导致需要耗费大量通信资源来传输局部梯度直方图,并且存储全局梯度直方图需耗费大量内存开销。
为此,本申请的发明人考虑到,将样本的特征矩阵按列划分成多个特征子集,每个特征子集中包含多个特征列Tj,特征列Tj中包含所有样本的特征j的特征值,所有特征子集组成决策树模型的特征矩阵,且任意两个特征子集互不相交。若采用N个子处理节点并行处理,则将样本的特征矩阵按列划分成N个特征子集,每个子处理节点对应一个特征子集,即N个子处理节点各自的特征子集组成特征矩阵,且N个子处理节点的特征子集互不相交。具体地,训练时,分布式训练系统通过如下方式依次确定每个树节点对应的分裂规则,直至满足停止条件:每个子处理节点分别针对当前训练的树节点,获取当前训练的树节点的节点训练特征集和梯度数据,其中,节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的;每个子处理节点分别针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点,局部最佳分裂规则包括使目标函数的增益最大的特征和特征值;主处理节点从每个子处理节点确定出的局部最佳分裂规则中,选出当前训练的树节点对应的分裂规则。这样,子处理节点和主处理节点间只需要传输局部最佳分裂规则,网络通信量很小,且主处理节点无需存储全局梯度直方图,降低了系统的内存开销。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图2,其为本申请实施例提供的分布式训练系统的结构示意图。该分布式训练系统包括多个子处理节点201(包括子处理节点201-1、子处理节点201-2、……子处理节点201-n)、主处理节点202、数据存储服务器203。其中,子处理节点201、主处理节点202、数据存储服务器203之间通过通信网络连接,任意两个设备之间可通过通信网络之间通信。子处理节点201、主处理节点202、数据存储服务器203均可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
数据存储服务器203中存储有用于多个训练任务的样本数据,这些样本数据已预先经过清洗、处理、标注,能够直接用于训练。用户也可以根据某一训练任务的需求自行向分布式训练系统提交符合要求的样本数据,分布式训练系统将用户提交的样本数据存储到数据存储服务器203中,供该训练任务使用。
参考图3,数据存储服务器203可通过数据矩阵的方式存储任一训练任务的样本数据。每个训练任务的样本数据包括两部分:一部分是特征矩阵,用于存储所有样本的所有特征的特征值,特征矩阵中第i行第j列存储的是第i个样本的特征j对应的特征值,即特征矩阵的每一行存储的是一个样本的所有特征的特征值,每一列存储的是所有样本的同一特征的特征值,为方便描述,将特征矩阵中的一列数据特征为一个特征列,例如,特征列Tj中包含所有样本的特征j的特征值;另一部分是梯度数据,梯度数据中包含每个样本的一阶梯度和二阶梯度,梯度数据也可以按照矩阵的方式存储,参考图3,在梯度数据对应的矩阵中,第i行第1列存储的是第i个样本的一阶梯度,第i行第2列存储的是第i个样本的二阶梯度。
本申请实施例中,特征矩阵中的特征是样本自身的属性中与训练任务特相关的属性,需根据具体的训练任务预先确定。例如,训练任务是女性商品推荐,特征可以是学历、收入、工作类型、身高、体重、年龄等信息。具体地,可以获取大量女性的购买记录,将一个购买者作为一个样本,从获取的购买记录中提取每个购买者的学历、收入、工作类型、身高、体重、年龄等信息作为特征值,从而构建特征矩阵。构建特征矩阵的方式为现有技术,不再赘述。
本申请实施例中,决策树模型中包含至少一个决策树。当决策树模型中包含多个决策树时,训练第一个决策树之后,继续训练下一个决策树,直至训练完所有的决策树,然后将训练出的各决策树集成为一个模型,作为训练结果。
具体实施时,样本数据中的每个样本还标记有该样本对应的真实值,例如,分类任务中,真实值为样本对应的真实类别,回归任务中真实值为样本对应的真实数值。训练过程中,每训练出一个决策树之后,可以根据样本的真实值和该决策树给出的预测值,通过代价函数计算每个样本的梯度数据(包括一阶梯度和二阶梯度),更新原有的梯度数据,然后基于特征矩阵和更新后的梯度数据训练下一个决策树。
本申请实施例中,主处理节点202的功能包括但不限于用于控制各子处理节点执行分布式训练任务,汇总每个子处理节点201确定出的局部最佳分裂规则并确定出全局最佳分裂规则等。子处理节点201的功能包括但不限于读取样本数据,划分样本数据,建立梯度直方图,确定局部最佳分裂规则,计算分裂结果等。后续在训练过程中将详细介绍主处理节点202和子处理节点201的各种功能。
下面结合图2所示的分布式训练系统,介绍决策树模型的训练过程。
首先,各子处理节点需要从数据存储服务器中获取其对应的特征子集,用于训练决策树模型。具体可通过如下任一方式实现特征子集的获取:
第一种方式、单个节点切分特征矩阵。
具体地,可以由主处理节点从数据存储服务器中获取本次训练所用的特征矩阵,确定参与训练任务的N个子处理节点,然后,将特征矩阵按列划分成N个特征子集,每个特征子集中包含多个特征列,其中,划分得到的所有特征子集组成特征矩阵,且任意两个特征子集互不相交,将N个特征子集分别发送给N个子处理节点,每个子处理节点获取到一个特征子集。
具体实施时,主处理节点可根据特征矩阵包含的特征数量I(即列数)和子处理节点处理的数据量,确定子处理节点的数量N。例如,子处理节点最多可处理M个特征列,则计算I/M,若I/M为整数,则N=I/M,若I/M不为整数,则N=I/M+1。
具体实施时,也可以由主处理节点控制任一子处理节点将特征矩阵的划分为N个特征子集,并将各个特征子集分别发送给对应的子处理节点。
第二种方式、分布式切分特征矩阵。
具体地,参考图4,每个子处理节点分别通过如下方式获取子处理节点的特征子集:
S401、从特征矩阵中获取与本子处理节点对应的指定行数的数据。
本申请实施例中,为方便描述,可将各子处理节点从特征矩阵中获取的与该子处理节点对应的指定行数的数据集合称为样本子集,样本子集也按照数据矩阵的格式存储,参考特征矩阵的格式,不再赘述。
具体实施时,每个子处理节点中预先存储有统一的数据切分策略,该数据切分策略中规则了各个子处理节点对应的指定行数,每个子处理节点对应的指定行数不重复,且所有子处理节点的指定行数覆盖了特征矩阵的所有行数,保证每个子处理节点从特征矩阵中获取到不重复的样本,且特征矩阵的每一行数据均被一个子处理节点获取到。
在一种可能的实施方式中,可根据特征矩阵的行数和子处理节点的数量,确定每个子处理节点对应的指定行数。例如,特征矩阵的行数为98,子处理节点的数量为10,则可以约定子处理节点201-1的指定行数为1-10,子处理节点201-2的指定行数为11-20,……,子处理节点201-9的指定行数为81-90,子处理节点201-10的指定行数为90-98。
在另一种可能的实施方式中,可以通过如下方式确定每个子处理节点对应的指定行数:子处理节点的数量为N,每个子处理节点计算特征矩阵中的每个行数I对N的余数;子处理节点201-N将余数为N-1的行数确定为指定行数,即获取特征矩阵中余数为N-1的行数的数据,得到子处理节点201-N的样本子集;子处理节点201-N-1将特征矩阵中余数为N-2的行数确定为对应的指定行数,得到子处理节点201-N-1的样本子集;……子处理节点201-2将特征矩阵中余数为1的行数确定为对应的指定行数,得到子处理节点201-2的样本子集;子处理节点201-1将特征矩阵中余数为0的行数确定为对应的指定行数,得到子处理节点201-1的样本子集。这样,在特征矩阵的行数较大的情况下,可以快速确定出每个子处理节点对应的指定行数,且保证不会出现指定行数重复的情况。
例如,特征矩阵的总行数为98,子处理节点的数量N=10,则子处理节点201-1获取特征矩阵中余数为0的行数的数据,即第10,20,30,……90行的数据,得到子处理节点201-0的样本子集;子处理节点201-2获取特征矩阵中余数为1的行数的数据,即第1,11,21,31,……91行的数据,得到子处理节点201-2的样本子集;……子处理节点201-10获取特征矩阵中余数为9的行数的数据,即第9,19,29,……89行的数据,得到子处理节点201-10的样本子集。
当然,各子处理节点也可以采用其他的方式获取一定行数的数据,只要保证每个处理节点获取到的行数不重复,且特征矩阵中的任一行数据具备一个处理节点获取。
具体实施时,数据切分策略可由主处理节点确定,并发送给各个子处理节点。
S402、按预设切分方式,将获取的指定行数的数据按列切分为N个子特征矩阵。
具体实施时,每个子处理节点中的数据切分策略中还包括切分方式,通过切分方式可确定每个子特征矩阵包含的特征列,以及每个子特征矩阵对应的子处理节点。
在一种可能的实施方式中,可根据特征矩阵的总列数和子处理节点的数量N,确定切分方式。例如,特征矩阵的总列数为98,子处理节点的数量N=10,则切分方式可以是:每个子处理节点将样本子集中每10列数据切分为一个子特征矩阵,即第一子特征矩阵包含样本子集中第1-10个的特征列,第二子特征矩阵包含样本子集中第11-20个的特征列,以此类推,第十子特征矩阵包含样本子集中第91-98个的特征列,且规定每个子处理节点切分获得的第一子特征矩阵发送给子处理节点201-1,第二个特征矩阵发送给子处理节点201-2,以此类推,第十子特征矩阵发送给子处理节点201-10。
在另一种可能的实施方式中,每个子处理节点可通过如下切分方式将获取的样本子集按列切分为N个子特征矩阵:子处理节点的数量为N,计算特征矩阵中的每个列数J对N的余数,将余数为0的特征列划分到第一子特征矩阵中并发送给子处理节点201-1,将余数为1的特征列划分到第二子特征矩阵中并发送给子处理节点201-2,以此类推,将余数为N-1的特征列划分到第N子特征矩阵中并发送给子处理节点201-N。这样,在特征矩阵的行数较大的情况下,可以快速实现对样本子集进行切分。
例如,样本子集的列数为98,子处理节点的数量为10,则将样本子集中余数为0的特征列,即第10,20,30,……90列,划分到第一子特征矩阵,并发送给子处理节点201-1;将样本子集中余数为1的特征列,即第1,11,21,31,……91列,划分到第二子特征矩阵,并发送给子处理节点201-2;以此类推,将样本子集中余数为9的特征列,即第9,19,29,……89列,划分到第十子特征矩阵,并发送给子处理节点201-10。
当然,子处理节点也可以采用其他方式将样本子集切分为N个子特征矩阵,但需要保证每个处理子节点采用的切分方式完全相同。
S403、保留本子处理节点的子特征矩阵,并将N-1个子特征矩阵分别发送给对应的其他子处理节点。
S404、接收其他N-1个子处理节点发送给本子处理节点的子特征矩阵,合并本子处理节点对应的所有子特征矩阵,得到本子处理节点的特征子集。
以子处理节点201-1为例,子处理节点201-1在收到其他子处理节点发送给子处理节点201-1的第一子特征矩阵后,按图5所示的方式,对齐所有第一特征子矩阵(包括子处理节点201-1确定出的第一特征子矩阵和其他N-1个子处理节点发送给子处理节点201-1的第一子特征矩阵)的列,将所有第一特征子矩阵合并为一个特征子集。每个子处理节点均可采用图5所示的方式得到各自对应的特征子集。
此外,每个子处理节点还需要从数据存储服务器中获取特征矩阵对应的梯度数据。每个子处理节点获取到各自对应的特征子集和完整的梯度数据后,即可开始对决策树模型进行训练。
实际应用中,通常一个决策树模型中包含多个决策树,每个决策树的训练过程类似,因此,本申请仅以一个决策树的训练过程为例进行说明。
具体实施时,从根节点开始不断地向下分裂树节点,针对每个树节点分裂出两个子节点,并依次确定每个树节点对应的分裂规则。
下面先以训练决策树中的一个树节点为例,说明决策树模型的训练方法。参考图6,本申请实施例提供的一种决策树模型的训练方法,包括以下步骤:
S601、每个子处理节点分别针对当前训练的树节点,获取当前训练的树节点的节点训练特征集和梯度数据,其中,梯度数据为决策树模型的特征矩阵的梯度数据,节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的。
参考图7A,具体实施时,可通过如下方式确定每个子处理节点的当前训练的树节点的节点训练特征集:
S701、主处理节点将当前训练的树节点对应的父节点的分裂规则发送给父子处理节点,父子处理节点为父节点的分裂规则中的特征所对应的子处理节点。
例如,步骤S701中的父节点的分裂规则中的特征存储在子处理节点201-m上,则此处的父子处理节点为子处理节点201-m。
S702、父子处理节点根据父节点的分裂规则,将父子处理节点对应的父节点的节点训练特征集中包含的样本划分到该父节点的两个子节点上,得到该父节点的分裂结果并发送给其他N-1个子处理节点。
其中,将父节点的两个子节点分别称为左子节点和右子节点。
由于一个子处理节点上只存有一部分特征,即树节点的分裂规则对应的特征只存在一个子处理节点上,也就是说,只有存有分裂规则对应的特征的子处理节点(即父子处理节点)才可以确定出分裂结果,因此,主处理节点需要将树节点的分裂规则发送给父子处理节点,通过父子处理节点确定出该分裂规则对应的分裂结果,分裂出该树节点的左子节点和右子节点。
具体实施时,若步骤S701中的父节点的分裂规则中包含特征j和特征值sj,k,则获取父子处理节点上该父节点的节点训练特征集中的特征列Tj,将特征列Tj中特征值小于sj,k的样本划到该父节点的左子节点上,将特征列Tj中特征值不小于sj,k的样本划分到该父节点的右子节点上,得到该父节点的分裂结果。
由于本申请实施例中按列切分特征矩阵,分裂结果的传输通信量只与样本数量有关,因此,在相同通信量的数据的前提下,本申请实施例提供的决策树模型的训练方法能够训练更深的决策树。
S703、每个其他子处理节点分别根据该父节点的分裂结果,确定被划分到当前训练的树节点上的样本,从本子处理节点的特征子集中获取被划分到当前训练的树节点上的样本对应的特征列,得到当前训练的树节点的节点训练特征集。
参考图7B,步骤S701中的父节点的分裂规则中包含特征3和特征值0.3,则将父子处理节点上该父节点的节点训练特征集A中特征3的特征值小于0.3的样本2、10划分到该父节点的左子节点,将节点训练特征集A中特征2的特征值不小于0.3的样本6、8、9划分到父节点的右子节点,将分裂结果发送给其他子处理节点。
以一个子处理节点201-N为例,若当前训练的树节点为步骤S701中的父节点的左子节点,该子处理节点的特征子集如图7B所示,按照父节点的分裂结果,将特征子集中的第2行和第10行数据作为该父节点的左子节点的节点训练特征集;若当前训练的树节点为步骤S701中的父节点的右子节点,将特征子集中的第6、8、9行数据作为该父节点的右子节点的节点训练特征集。同样,父子处理节点也按照该父节点的分裂结果,将父子处理节点对应的父节点的节点训练特征集中每一行数据分别划分到该父节点的左子节点和右子节点上,得到左子节点和右子节点分别对应的节点训练特征集。
具体实施时,在步骤S601中,若当前训练的树节点为其父节点的左子节点,则获取其父节点的左子节点的节点训练特征集;若当前训练的树节点为其父节点的右子节点,则获取其父节点的左子节点的节点训练特征集。
如果用整型数传输分裂结果,通信开销较大,尤其是在样本数量较多时。考虑到分裂结果只有两种可能(左子节点和右子节点),因此,为方便传输分裂结果,可采用二进制编码的方式对父节点的分裂结果进行压缩编码处理,则分裂结果可以表示为(0,1,1,1,0,……),其中,第i位数为“0”表示该父节点的节点训练特征集中的第i行对应的样本在父节点的左子节点上,第i位数为“1”表示该父节点的节点训练特征集中第i行对应的样本在父节点的右子节点上。上述示例中,第一个“0”表示该父节点的节点训练特征集中的第1行对应的样本在父节点的左子节点上,第二个“1”表示该父节点的节点训练特征集中的第2行对应的样本在父节点的左子节点上,以此类推。
需要说明的是,节点训练特征集中的第i行对应的样本不一定是样本i,这是因为,每个子处理节点中,树节点(除根节点外)对应的节点训练特征集仅包含特征子集中的部分行数据。对于同一树节点,所有子处理节点中的节点训练特征集的行对应的样本完全一致,只是各自的列不同,例如,子处理节点201-1中的树节点A的节点训练特征集包含3行数据,且第1行对应样本6,第2行对应样本8,第3行对应样本9,则其他子处理节点中树节点A的节点训练特征集也都包含3行数据,且节点训练特征集的第1行均对应样本6,第2行均对应样本8,第3行均对应样本9。这样,能够保证所有的子处理节点在拿到二进制编码的分裂结果后,可以准确地确定被划分到左子节点和右子节点上的样本。
具体地,子处理节点基于二进制编码的分裂结果和当前训练的树节点的父节点对应的节点训练特征集(或者被划分到父节点上的样本),确定被划分到当前训练的树节点上的样本,从子处理节点的特征子集(或者该父节点对应的节点训练特征集)中获取被划分到当前训练的树节点上的样本对应的特征列,得到当前训练的树节点的节点训练特征集。
通过上述二进制编码的方式传输分裂结果,可减少分裂结果的大小,从而降低网络传输开销,例如,当样本数据有1亿,传输的分裂结果大约10MB。
S602、每个子处理节点分别针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点,局部最佳分裂规则包括使目标函数的增益最大的特征和特征值。
具体实施时,每个子处理节点将其对应的特征子集中的特征作为候选特征,并为每个候选特征指定多个候选特征值。
在一种可能的实施方式中,每个子处理节点可通过的如下方式确定局部最佳分裂规则:针对该子处理节点选取的每个候选特征对应的每个候选特征值,以候选特征j的候选特征值sj,k为分裂点,将获取的节点训练特征集中特征j的特征值小于特征值sj,k的样本划分到左集合中,将特征i的特征值不小于特征值sj,k的样本划分到右集合中,根据左集合中所有样本的梯度数据之和,和右集合中所有样本的梯度数据之和,确定该候选特征值sj,k对目标函数的增益;得到每个候选特征对应的每个候选特征值对目标函数的增益后,取使目标函数的增益最大的特征和候选特征值,确定为当前训练的树节点的局部最佳分裂规则。
具体实施时,可通过如下公式计算候选特征值sj,k对目标函数的增益:
其中,IL代表左集合,IR代表左集合,I为IL和IR的合集,gi为样本的一阶梯度,hi为样本的二阶梯度。
具体实施时,各子处理节点可以分别统计每个特征对应的梯度直方图,针对每个候选特征值,基于梯度直方图可快速确定落入左集合的所有样本的梯度数据之和,以及落入右集合中所有样本的梯度数据之和。
在另一种可能的实施方式中,如图8所示,每个子处理节点可通过的如下方式确定局部最佳分裂规则:
S801、获取当前训练的树节点的节点训练特征集中每个特征对应的梯度直方图。
其中,梯度直方图的横轴为候选特征值,梯度直方图的纵轴为特征值在相邻两个候选特征值之间的样本的梯度数据之和。
在一种可能的实施方式中,可参考图1A的方式,通过统计节点训练特征集中的数据获的每个特征对应的梯度直方图。
在另一种可能的实施方式中,还可以通过如下方式获取当前训练的树节点的节点训练集中的每个特征对应的梯度直方图:获取当前训练的树节点的父节点的每个特征对应的梯度直方图,以及父节点的另一个子节点的每个特征对应的梯度直方图;分别针对每个特征,将该父节点的该特征的梯度直方图和另一个子节点的该特征的梯度直方图之差,确定为当前训练的树节点的节点训练集中的每个特征对应的梯度直方图。
在已经获得当前训练的树节点的父节点的另一个子节点的梯度直方图的前提下,可采用上述梯度直方图约减的方法获取当前训练的树节点的梯度直方图,这样能降低建立直方图的计算开销。
S802、分别针对每个特征对应的每个候选特征值,以该候选分征值为分裂点,将该特征对应的梯度直方图划分成左梯度直方图和右梯度直方图,根据左梯度直方图的梯度数据之和右梯度直方图的梯度数据之和,确定该候选特征值对目标函数的增益。
具体计算方式,可参考目标函数的增益公式。
S803、取使目标函数的增益最大的特征和候选特征值,确定为局部最佳分裂规则。
S603、主处理节点从每个子处理节点确定出的局部最佳分裂规则中,选出当前训练的树节点对应的分裂规则。
具体实施时,每个子处理节点可同时将各自确定出的局部最佳分裂规则对应的增益发送给主处理节点,主处理节点从每个子处理节点确定出的局部最佳分裂规则中,选出增益最大的局部最佳分裂规则,作为当前训练的树节点对应的分裂规则。
本申请实施例提供的决策树模型的训练方法,按列的方式读取样本的特征值,即按特征的方式划分特征矩阵,使得每个子处理节点内的特征子集中包含多个特征对应的所有样本的特征值,为此,每个子处理节点能够基于其获取的特征子集确定出局部最佳分裂规则并传输给主处理节点,由于局部最佳分裂规中仅包含确定出的一个特征和一个特征值,因此子处理节点发送给主处理节点的数据量非常小,降低了系统的通信开销。此外,子处理节点无需存储全局梯度直方图,每个子处理节点上仅存储了特征矩阵中的一部分(即特征子集),且子处理节点上存储的特征子集之间不存在重叠部分,大大降低了系统的内存开销。
下面以训练一棵决策树为例,说明决策树模型的训练方法。
参考图9A,本申请实施例提供的一种决策树模型的训练方法,包括以下步骤:
S901、确定决策树的根节点A1的分裂规则。
S902、根据根节点A1的分裂规则,确定各子处理节点的根节点的子节点对应的节点训练特征集。
参考图9B,通过步骤S902可以将根节点的样本分裂到根节点的两个子节点(左子节点A21和右子节点A22)上,该过程即为分裂根节点的过程,得到决策树第2层的树节点A21和A22。
S903、判断是否满足停止条件,若是,则执行停止训练,若否,则n的值加1,并执行S904。
其中,n的初始值为1。
具体实施时,停止条件包含但不限于决策树达到预设的最大深度、决策树的树节点达到预设的最大节点数等。
S904、将第n层的树节点作为当前训练的树节点,参考图6所示的方法确定第n层的每个树节点对应的分裂规则。
S905、根据第n层的树节点对应的分裂规则,参考图7A所示的方法得到第n+1层的每个树节点对应的节点特征训练集,并返回S903。
参考图9B,根据A21对应的分裂规则,A21分裂为两个树节点A31和A32,根据A22对应的分裂规则A22分裂为两个树节点A33和A34,A31、A32、A33和A34为分裂出的第3层的树节点。
在一种可能的实施方式中,可通过主处理节点确定决策树的根节点的分裂规则。参考图10,步骤S901具体包括:
S1001、主处理节点获取特征矩阵和梯度数据,将特征矩阵中的特征作为根节点的候选特征,并为每个候选特征指定多个候选特征值。
S1002、主处理节点分别针对根节点的每个候选特征对应的每个候选特征值,确定该候选特征值对目标函数的增益。
具体地,针对候选特征j的候选特征值sj,k为分裂点,主处理节点将特征矩阵中特征j的特征值小于特征值sj,k的样本划分到左集合中,将特征i的特征值不小于特征值sj,k的样本划分到右集合中,根据左集合中所有样本的梯度数据之和,和右集合中所有样本的梯度数据之和,确定该候选特征值sj,k对目标函数的增益。
具体实施时,可通过如下公式计算候选特征值sj,k对目标函数的增益:
具体实施时,可以分别统计每个特征对应的梯度直方图,针对每个候选特征值,基于梯度直方图可快速确定落入左集合的所有样本的梯度数据之和,以及落入右集合中所有样本的梯度数据之和。
S1003、主处理节点取使目标函数的增益最大的特征和候选特征值,确定为根节点的分裂规则。
参考图10,步骤S902具体包括:
S1004、主处理节点根据根节点的分裂规则,将特征矩阵中包含的样本划分到根节点的左子节点和右子节点上,得到根节点的分裂结果并发送各个子处理节点。
具体实施时,根节点的分裂规则中包含特征j和特征值sj,k,则获取特征矩阵中特征列Tj,将特征列Tj中特征值小于sj,k的样本划到左子节点上,将特征列Tj中特征值不小于sj,k的样本划到右子节点上,得到根节点的分裂结果。分裂结果可以表示为(0,1,1,1,0,……),其中,第i位数为“0”表示样本i在根节点的左子节点上,第i位数为“1”表示样本i在根节点的右子节点上,例如,上述示例中,第一个“0”表示样本1在根节点的左子节点上,第二个“1”表示样本2在根节点的左子节点上,以此类推。通过上述二进制编码的方式传输分裂结果,可减少分裂结果的大小,从而降低网络传输开销。
S1005、每个子处理节点分别根据根节点的分裂结果和本子处理节点的特征子集,确定在本子处理节点中,根节点的左子节点和右子节点分别对应的节点训练特征集。
具体地,每个子处理节点确定左子节点和右子节点分别对应的节点训练特征集的处理流程包括:该子处理节点根据根节点的分裂结果,确定被划分到根节点的左子节点和右子节点上的样本,从该子处理节点的特征子集中获取被划分到左子节点上的样本对应的特征列,得到根节点的左子节点的节点训练特征集,从该子处理节点的特征子集中获取被划分到右子节点上的样本对应的特征列,得到根节点的右子节点的节点训练特征集。具体实施方式可参考图7A和图7B,不再赘述。
具体实施时,也可以由主处理节点控制任一子处理节点执行上述步骤,以确定决策树的根节点的分裂规则。
在另一种可能的实施方式中,为了提高处理效率,可通过并行处理的方式确定根节点的分裂规则。参考图11,步骤S901具体包括如下步骤:
S1101、每个子处理节点分别针对根节点,根据获取本子处理节点的特征子集和梯度数据确定出根节点的局部最佳分裂规则并发送给主处理节点。
其中,局部最佳分裂规则包括使目标函数的增益最大的特征和特征值。
具体实施时,每个子处理节点将其对应的特征子集中的特征作为候选特征,并为每个候选特征指定多个候选特征值。子处理节点可参考步骤S1002的方式,从候选特征和候选特征值中,选取使目标函数的增益最大的特征和特征值,作为根节点的局部最佳分裂规则。
S1102、主处理节点从每个子处理节点确定出的根节点的局部最佳分裂规则中,选出根节点对应的分裂规则。
具体实施时,每个子处理节点可同时将各自确定出的局部最佳分裂规则对应的增益发送给主处理节点,主处理节点从每个子处理节点确定出的根节点的局部最佳分裂规则中,选出增益最大的局部最佳分裂规则,作为根节点对应的分裂规则。
参考图11,步骤S902具体包括:
S1103、主处理节点将根节点的分裂规则发送给父子处理节点,该父子处理节点为根节点的分裂规则中的特征所对应的子处理节点。
例如,根节点的分裂规则中的特征存储在子处理节点201-m上,即该分裂规则是子处理节点201-m发送给主处理节点的,则父子处理节点为子处理节点201-m。
S1104、父子处理节点根据根节点的分裂规则,将父子处理节点对应的特征子集中包含的样本划分根节点的左子节点和右子节点上,得到根节点的分裂结果并发送其他N-1个子处理节点。
步骤S1104的具体实施方式可参考步骤S1004。
S1105、每个子处理节点分别根据根节点的分裂结果和本子处理节点的特征子集,确定在本子处理节点中,根节点的左子节点和右子节点分别对应的节点训练特征集。
具体地,每个子处理节点确定左子节点和右子节点分别对应的节点训练特征集的处理流程包括:该子处理节点根据根节点的分裂结果,确定被划分到根节点的左子节点和右子节点上的样本,从子处理节点的特征子集中获取被划分到左子节点上的样本对应的特征列,得到根节点的左子节点的节点训练特征集,从子处理节点的特征子集中获取被划分到右子节点上的样本对应的特征列,得到根节点的右子节点的节点训练特征集。
步骤S1105的具体实施方式可参考步骤S1005。
本申请实施例提供的分布式训练系统以及决策树模型训练方法,可用于训练任一种基于决策树的模型,训练好的决策树模型可用于解决分类任务、回归任务等,例如,具体可用于广告推荐、用户性别预测、图片分类等机器学习分类任务,以及用户年龄预测、用户消费预测等用于预测数值的机器学习回归任务。用户只需要向分布式训练系统提交训练任务,分布式训练系统可自动基于训练任务从数据存储服务器获取该训练任务对应的样本数据,由主处理节点控制各子处理节点并行完成训练任务,用户无需进行过多的操作,即可快速获取到训练好的决策树模型,提高了训练效率。
如图12所示,基于与上述决策树模型的训练方法相同的发明构思,本申请实施例还提供了一种决策树模型的训练系统120,该决策树模型的训练系统120包括多个子处理节点1201和一个主处理节点1202。
具体实施时,子处理节点1201和主处理节点1202之间通过通信网络连接。每一子处理节点1201均可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。主处理节点1202可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
具体实施时,决策树模型的训练系统120也可以是区块链,一个子处理节点1201对应区块链中的一个节点,并从区块链中指定一个节点作为主处理节点1202。
子处理节点1201,用于针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据。其中,梯度数据为决策树模型的特征矩阵的梯度数据,节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的,特征子集中包含多个特征列Tj,特征列Tj中包含所有样本的特征j的特征值,参与训练的子处理节点1201包括N个,N个子处理节点各自的特征子集组成特征矩阵,且N个子处理节点的特征子集互不相交。
子处理节点1201,还用于针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点1202,局部最佳分裂规则包括使目标函数的增益最大的特征和特征值。
主处理节点1202,用于从每个子处理节点1201确定出的局部最佳分裂规则中,选出当前训练的树节点对应的分裂规则。
可选地,子处理节点1201,还用于在针对当前训练的树节点,获取当前训练的树节点的节点训练特征集和梯度数据之前,获取本子处理节点的特征子集和梯度数据,针对根节点,根据获取的特征子集和梯度数据确定出根节点的局部最佳分裂规则并发送给主处理节点1202。
相应地,主处理节点1202从每个子处理节点1201确定出的根节点的局部最佳分裂规则中,选出根节点对应的分裂规则,并将根节点对应的分裂规则发送给各个子处理节点1201。
可选地,子处理节点1201具体用于:
从所述特征矩阵中获取与本子处理节点对应的指定行数的数据,特征矩阵中第i行第j列存储的是第i个样本的特征j对应的特征值;
按预设切分方式,将获取的指定行数的数据按列切分为N个子特征矩阵;
保留本子处理节点的子特征矩阵,并将N-1个子特征矩阵分别发送给对应的其他子处理节点;
接收其他N-1个子处理节点发送给本子处理节点的子特征矩阵;
合并本子处理节点对应的所有子特征矩阵,得到本子处理节点的特征子集。
可选地,主处理节点1202还用于将当前训练的树节点对应的父节点的分裂规则发送给父子处理节点,该父子处理节点为父节点的分裂规则中的特征所对应的子处理节点。
相应地,父子处理节点,用于根据父节点的分裂规则,将父子处理节点对应的父节点的节点训练特征集中包含的样本划分到父节点的两个子节点上,得到父节点的分裂结果并发送给其他子处理节点。
子处理节点1201,还用于根据父节点的分裂结果,确定被划分到当前训练的树节点上的样本,从子处理节点的特征子集中获取被划分到所述当前训练的树节点上的样本对应的特征列,得到当前训练的树节点的节点训练特征集。
可选地,父子处理节点,还用于在将父节点的分裂结果并发送给其他子处理节点之前,采用二进制编码的方式对父节点的分裂结果进行压缩编码处理。
可选地,子处理节点1201具体用于:
获取当前训练的树节点的节点训练特征集中每个特征对应的梯度直方图,梯度直方图的横轴为候选特征值,梯度直方图的纵轴为特征值在相邻两个候选特征值之间的样本的梯度数据之和;
分别针对每个特征对应的每个候选特征值,以该候选分征值为分裂点,将该特征对应的梯度直方图划分成左梯度直方图和右梯度直方图,根据左梯度直方图的梯度数据之和右梯度直方图的梯度数据之和,确定该候选特征值对目标函数的增益;
取使目标函数的增益最大的特征和候选特征值,确定为局部最佳分裂规则。
可选地,子处理节点1201具体用于:
获取当前训练的树节点的父节点的每个特征对应的梯度直方图,以及父节点的另一个子节点的每个特征对应的梯度直方图;
分别针对每个特征,将父节点的该特征的梯度直方图和另一个子节点的该特征的梯度直方图之差,确定为当前训练的树节点的节点训练集中的每个特征对应的梯度直方图。
本申请实施例提的决策树模型的训练系统与上述决策树模型的训练方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述任一实施例中方法的程序。
参考图13,基于与上述决策树模型的训练方法相同的发明构思,本申请一实施例提供了一种基于决策树模型的预测方法,包括如下步骤:
S1301、获取待预测对象的特征向量。
其中,特征向量中包含待预测对象对应的多个特征的特征值。
具体实施时,待预测对象的特征向量根据决策数据模型对应的预测任务确定。具体地,待预测对象的特征向量与决策数据模型中各树节点的分裂规则中的特征有关,例如,决策数据模型中树节点的分裂规则中包含特征1、特征2、特征3,则待预测对象的特征向量中需包含特征1、特征2、特征3分别对应的特征值。
S1301、将待预测对象的特征向量输入决策树模型,得到针对待预测对象的预测结果。
其中,步骤S1301中的决策树模型为根据本申请实施例提供的任一种决策树模型的训练方法训练得到的模型。
具体实施时,针对待预测对象的预测结果的类型根据决策数据模型的预测任务确定。例如,当决策数据模型为分类任务时,预测结果为待预测对象对应的类别;当决策数据模型为回归任务时,预测结果为待预测数据对应的预测数值。
进一步地,在获得预测结果的基础上,向待预测对象推送与预测结果对应的信息。
例如,当预测任务为预测用户喜爱的商品时,待预测用户的特征向量中的特征可包括学历、收入、工作类型、身高、体重、年龄等。预测时,从待预测用户的信息中获取学历、收入、工作类型、身高、体重、年龄等信息,将这些信息输入决策树模型,得到针对该用户的预测结果,该预测结果表示用户可能喜爱的商品类别,然后,基于预测结果向用户推荐其喜爱的商品。
例如,当预测任务为预测用户年龄时,待预测用户的特征向量中的特征可包括购物记录、收入、身高、体重、面部特征等。预测时,获取待预测用户的购物记录、收入、身高、体重、面部特征等信息,将这些信息输入决策树模型,预测出用户的年龄,然后,基于用户的年龄推荐该年龄段喜爱的商品、音乐、医疗保健信息等。
基于与上述基于决策树模型的预测方法相同的发明构思,本申请实施例还提供了一种基于决策树模型的预测装置,包括:数据获取模块和预测模块。
数据获取模块,用于获取待预测对象的特征向量。
预测模块,用于将待预测对象的特征向量输入已训练的决策树模型,得到针对所述待预测对象的预测结果。其中,决策树模型为根据本申请实施例提供的任一种决策树模型的训练方法训练得到的模型。
基于与上述基于决策树模型的预测方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。该电子设备可以包括处理器和存储器。
处理器可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述基于决策树模型的预测方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (11)
1.一种决策树模型的训练方法,其特征在于,包括:
每个子处理节点分别针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据,其中,所述梯度数据为所述决策树模型的特征矩阵的梯度数据,所述节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的,所述特征子集中包含多个特征列Tj,特征列Tj中包含所有样本的特征j的特征值,所述子处理节点包括N个,N个子处理节点各自的特征子集组成所述特征矩阵,且N个子处理节点的特征子集互不相交;
每个子处理节点分别针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点,所述局部最佳分裂规则包括使目标函数的增益最大的特征和特征值;
所述主处理节点从每个子处理节点确定出的局部最佳分裂规则中,选出所述当前训练的树节点对应的分裂规则。
2.根据权利要求1所述的方法,其特征在于,所述每个子处理节点分别针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据之前,还包括:
每个子处理节点分别获取本子处理节点的特征子集和梯度数据;
每个子处理节点分别针对根节点,根据获取的特征子集和梯度数据确定出所述根节点的局部最佳分裂规则并发送给所述主处理节点;
所述主处理节点从每个子处理节点确定出的所述根节点的局部最佳分裂规则中,选出所述根节点对应的分裂规则,并将所述根节点对应的分裂规则发送给各个子处理节点。
3.根据权利要求2所述的方法,其特征在于,所述每个子处理节点分别获取本子处理节点的特征子集和梯度数据中,每个子处理节点获取本子处理节点的特征子集,具体包括:
从所述特征矩阵中获取与本子处理节点对应的指定行数的数据,所述特征矩阵中第i行第j列存储的是第i个样本的特征j对应的特征值;
按预设切分方式,将获取的指定行数的数据按列切分为N个子特征矩阵;
保留本子处理节点的子特征矩阵,并将N-1个子特征矩阵分别发送给对应的其他子处理节点;
接收其他N-1个子处理节点发送给本子处理节点的子特征矩阵;
合并本子处理节点对应的所有子特征矩阵,得到本子处理节点的特征子集。
4.根据权利要求1至3任一所述的方法,其特征在于,通过如下方式确定每个子处理节点的所述当前训练的树节点的节点训练特征集:
所述主处理节点将所述当前训练的树节点对应的父节点的分裂规则发送给父子处理节点,所述父子处理节点为所述父节点的分裂规则中的特征所对应的子处理节点;
所述父子处理节点根据所述父节点的分裂规则,将所述父子处理节点对应的所述父节点的节点训练特征集中包含的样本划分到所述父节点的两个子节点上,得到所述父节点的分裂结果并发送给其他子处理节点;
每个其他子处理节点分别根据所述父节点的分裂结果,确定被划分到所述当前训练的树节点上的样本,从子处理节点的特征子集中获取所述被划分到所述当前训练的树节点上的样本对应的特征列,得到所述当前训练的树节点的节点训练特征集。
5.根据权利要求4所述的方法,其特征在于,在将所述父节点的分裂结果并发送给其他子处理节点之前,还包括:
采用二进制编码的方式对所述父节点的分裂结果进行压缩编码处理。
6.根据权利要求1至3任一所述的方法,其特征在于,所述根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则,具体包括:
获取所述当前训练的树节点的节点训练特征集中每个特征对应的梯度直方图,所述梯度直方图的横轴为候选特征值,所述梯度直方图的纵轴为特征值在相邻两个候选特征值之间的样本的梯度数据之和;
分别针对每个特征对应的每个候选特征值,以该候选分征值为分裂点,将该特征对应的梯度直方图划分成左梯度直方图和右梯度直方图,根据所述左梯度直方图的梯度数据之和所述右梯度直方图的梯度数据之和,确定该候选特征值对目标函数的增益;
取使所述目标函数的增益最大的特征和候选特征值,确定为局部最佳分裂规则。
7.根据权利要求6所述的方法,其特征在于,所述获取所述当前训练的树节点的节点训练特征集中每个特征对应的梯度直方图,具体包括:
获取所述当前训练的树节点的父节点的每个特征对应的梯度直方图,以及所述父节点的另一个子节点的每个特征对应的梯度直方图;
分别针对每个特征,将所述父节点的该特征的梯度直方图和所述另一个子节点的该特征的梯度直方图之差,确定为所述当前训练的树节点的节点训练集中的每个特征对应的梯度直方图。
8.一种决策树模型的训练系统,其特征在于,包括多个子处理节点和一个主处理节点;
每个子处理节点,用于针对当前训练的树节点,获取所述当前训练的树节点的节点训练特征集和梯度数据,其中,所述梯度数据为所述决策树模型的特征矩阵的梯度数据,所述节点训练特征集是之前已训练的树节点的分裂规则和子处理节点的特征子集确定的,所述特征子集中包含多个特征列Tj,特征列Tj中包含所有样本的特征j的特征值,所述子处理节点包括N个,N个子处理节点各自的特征子集组成所述特征矩阵,且N个子处理节点的特征子集互不相交;
每个子处理节点,还用于针对当前训练的树节点,根据获取的节点训练特征集和梯度数据确定出局部最佳分裂规则并发送给主处理节点,所述局部最佳分裂规则包括使目标函数的增益最大的特征和特征值;
所述主处理节点,用于从每个子处理节点确定出的局部最佳分裂规则中,选出所述当前训练的树节点对应的分裂规则。
9.根据权利要求8所述的系统,其特征在于,所述子处理节点,具体用于:
从所述特征矩阵中获取与本子处理节点对应的指定行数的数据,所述特征矩阵中第i行第j列存储的是第i个样本的特征j对应的特征值;
按预设切分方式,将获取的指定行数的数据按列切分为N个子特征矩阵;
保留本子处理节点的子特征矩阵,并将N-1个子特征矩阵分别发送给对应的其他子处理节点;
接收其他N-1个子处理节点发送给本子处理节点的子特征矩阵;
合并本子处理节点对应的所有子特征矩阵,得到本子处理节点的特征子集。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
11.一种基于决策树模型的预测方法,其特征在于,包括:
获取待预测对象的特征向量;
将所述特征向量输入根据权利要求1至7任一所述方法训练得到的决策树模型,得到针对待预测对象的预测结果。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910944121.4A CN110728317A (zh) | 2019-09-30 | 2019-09-30 | 决策树模型的训练方法、系统、存储介质及预测方法 |
PCT/CN2020/115203 WO2021063171A1 (zh) | 2019-09-30 | 2020-09-15 | 决策树模型的训练方法、系统、存储介质及预测方法 |
US17/163,343 US20210150372A1 (en) | 2019-09-30 | 2021-01-29 | Training method and system for decision tree model, storage medium, and prediction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910944121.4A CN110728317A (zh) | 2019-09-30 | 2019-09-30 | 决策树模型的训练方法、系统、存储介质及预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110728317A true CN110728317A (zh) | 2020-01-24 |
Family
ID=69218702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910944121.4A Pending CN110728317A (zh) | 2019-09-30 | 2019-09-30 | 决策树模型的训练方法、系统、存储介质及预测方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210150372A1 (zh) |
CN (1) | CN110728317A (zh) |
WO (1) | WO2021063171A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340147A (zh) * | 2020-05-22 | 2020-06-26 | 四川新网银行股份有限公司 | 基于决策树的决策行为生成方法及系统 |
CN111340121A (zh) * | 2020-02-28 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 目标特征的确定方法及装置 |
CN111353606A (zh) * | 2020-02-29 | 2020-06-30 | 中国电子科技集团公司第五十二研究所 | 一种基于模糊决策树的深度强化学习空战博弈解释方法和系统 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN111738360A (zh) * | 2020-07-24 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
CN111797000A (zh) * | 2020-05-27 | 2020-10-20 | 中汽数据有限公司 | 一种基于梯度提升决策树模型的场景复杂度评估方法 |
CN112348583A (zh) * | 2020-11-04 | 2021-02-09 | 贝壳技术有限公司 | 用户偏好生成方法与生成系统 |
WO2021063171A1 (zh) * | 2019-09-30 | 2021-04-08 | 腾讯科技(深圳)有限公司 | 决策树模型的训练方法、系统、存储介质及预测方法 |
CN113240100A (zh) * | 2021-07-12 | 2021-08-10 | 深圳市永达电子信息股份有限公司 | 基于离散Hopfield神经网络的并行计算方法及系统 |
CN113781134A (zh) * | 2020-07-28 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 物品推荐方法、装置及计算机可读存储介质 |
CN114266601A (zh) * | 2021-12-24 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 营销策略确定方法、装置、终端设备及存储介质 |
CN114386533A (zh) * | 2022-01-28 | 2022-04-22 | 华控清交信息科技(北京)有限公司 | 一种gbdt模型的横向训练方法、装置、电子设备及系统 |
CN114510911A (zh) * | 2022-02-16 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备及存储介质 |
CN115611393A (zh) * | 2022-11-07 | 2023-01-17 | 中节能晶和智慧城市科技(浙江)有限公司 | 一种多端协同的多水厂混凝剂投放方法和系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7035827B2 (ja) * | 2018-06-08 | 2022-03-15 | 株式会社リコー | 学習識別装置および学習識別方法 |
CN113344074B (zh) * | 2021-06-02 | 2023-09-05 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备及存储介质 |
CN113657495B (zh) * | 2021-08-17 | 2023-06-30 | 平安科技(深圳)有限公司 | 基于概率预测模型的保险产品推荐方法、装置、设备 |
CN113688999B (zh) * | 2021-08-23 | 2022-05-17 | 神州融安数字科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
CN113722739B (zh) * | 2021-09-06 | 2024-04-09 | 京东科技控股股份有限公司 | 梯度提升树模型的生成方法、装置、电子设备和存储介质 |
CN113792889B (zh) * | 2021-09-17 | 2023-10-31 | 支付宝(杭州)信息技术有限公司 | 一种模型的更新方法、装置及设备 |
CN113553514B (zh) * | 2021-09-22 | 2022-08-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象推荐方法、装置及电子设备 |
CN114118312B (zh) * | 2022-01-29 | 2022-05-13 | 华控清交信息科技(北京)有限公司 | 一种gbdt模型的纵向训练方法、装置、电子设备及系统 |
CN115796305B (zh) * | 2023-02-03 | 2023-07-07 | 富算科技(上海)有限公司 | 一种纵向联邦学习的树模型训练方法及装置 |
CN115828650B (zh) * | 2023-02-24 | 2023-04-25 | 广东仁懋电子有限公司 | 一种用于实现氮化镓的电路高频封装方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156701A (zh) * | 2014-07-26 | 2014-11-19 | 佳都新太科技股份有限公司 | 一种基于决策树和svm的车牌相似字符识别方法 |
CN104965846A (zh) * | 2014-12-31 | 2015-10-07 | 深圳市华傲数据技术有限公司 | MapReduce平台上的虚拟人建立方法 |
CN106485915A (zh) * | 2015-08-26 | 2017-03-08 | 高德信息技术有限公司 | 一种交通信息处理方法、装置及MapReduce平台 |
CN106789324A (zh) * | 2017-01-09 | 2017-05-31 | 上海轻维软件有限公司 | 基于MapReduce的FTP分布式采集方法 |
CN107506394A (zh) * | 2017-07-31 | 2017-12-22 | 武汉工程大学 | 一种消除大数据规范关系连接冗余的优化方法 |
CN108334951A (zh) * | 2017-01-20 | 2018-07-27 | 微软技术许可有限责任公司 | 针对决策树的节点的数据的预统计 |
CN108694599A (zh) * | 2017-04-07 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 确定商品价格的方法、装置、电子设备和存储介质 |
CN108875955A (zh) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 基于参数服务器的梯度提升决策树的实现方法及相关设备 |
CN109299728A (zh) * | 2018-08-10 | 2019-02-01 | 深圳前海微众银行股份有限公司 | 联邦学习方法、系统及可读存储介质 |
CN109408622A (zh) * | 2018-10-31 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 语句处理方法及其装置、设备和存储介质 |
CN109657977A (zh) * | 2018-12-19 | 2019-04-19 | 重庆誉存大数据科技有限公司 | 一种风险识别方法和系统 |
CN110147389A (zh) * | 2019-03-14 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 帐号处理方法和装置、存储介质及电子装置 |
CN110232448A (zh) * | 2019-04-08 | 2019-09-13 | 华南理工大学 | 提高梯度提升树模型的特征值作用和防止过拟合的方法 |
CN110263061A (zh) * | 2019-06-17 | 2019-09-20 | 郑州阿帕斯科技有限公司 | 一种数据查询方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546B (zh) * | 2010-12-13 | 2013-07-10 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
US20180314971A1 (en) * | 2017-04-26 | 2018-11-01 | Midea Group Co., Ltd. | Training Machine Learning Models On A Large-Scale Distributed System Using A Job Server |
CN108629685A (zh) * | 2018-05-09 | 2018-10-09 | 平安普惠企业管理有限公司 | 贷款产品属性确定方法及服务器 |
CN109446251A (zh) * | 2018-09-04 | 2019-03-08 | 北京睿企信息科技有限公司 | 分布式人工智能应用开发的系统及方法 |
CN110728317A (zh) * | 2019-09-30 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 决策树模型的训练方法、系统、存储介质及预测方法 |
-
2019
- 2019-09-30 CN CN201910944121.4A patent/CN110728317A/zh active Pending
-
2020
- 2020-09-15 WO PCT/CN2020/115203 patent/WO2021063171A1/zh active Application Filing
-
2021
- 2021-01-29 US US17/163,343 patent/US20210150372A1/en active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156701A (zh) * | 2014-07-26 | 2014-11-19 | 佳都新太科技股份有限公司 | 一种基于决策树和svm的车牌相似字符识别方法 |
CN104965846A (zh) * | 2014-12-31 | 2015-10-07 | 深圳市华傲数据技术有限公司 | MapReduce平台上的虚拟人建立方法 |
CN106485915A (zh) * | 2015-08-26 | 2017-03-08 | 高德信息技术有限公司 | 一种交通信息处理方法、装置及MapReduce平台 |
CN106789324A (zh) * | 2017-01-09 | 2017-05-31 | 上海轻维软件有限公司 | 基于MapReduce的FTP分布式采集方法 |
CN108334951A (zh) * | 2017-01-20 | 2018-07-27 | 微软技术许可有限责任公司 | 针对决策树的节点的数据的预统计 |
CN108694599A (zh) * | 2017-04-07 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 确定商品价格的方法、装置、电子设备和存储介质 |
CN108875955A (zh) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 基于参数服务器的梯度提升决策树的实现方法及相关设备 |
CN107506394A (zh) * | 2017-07-31 | 2017-12-22 | 武汉工程大学 | 一种消除大数据规范关系连接冗余的优化方法 |
CN109299728A (zh) * | 2018-08-10 | 2019-02-01 | 深圳前海微众银行股份有限公司 | 联邦学习方法、系统及可读存储介质 |
CN109408622A (zh) * | 2018-10-31 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 语句处理方法及其装置、设备和存储介质 |
CN109657977A (zh) * | 2018-12-19 | 2019-04-19 | 重庆誉存大数据科技有限公司 | 一种风险识别方法和系统 |
CN110147389A (zh) * | 2019-03-14 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 帐号处理方法和装置、存储介质及电子装置 |
CN110232448A (zh) * | 2019-04-08 | 2019-09-13 | 华南理工大学 | 提高梯度提升树模型的特征值作用和防止过拟合的方法 |
CN110263061A (zh) * | 2019-06-17 | 2019-09-20 | 郑州阿帕斯科技有限公司 | 一种数据查询方法及系统 |
Non-Patent Citations (5)
Title |
---|
DATACRUISER: "LightGBM算法梳理", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/78293497》 * |
JESSICA涯关注: "LightGBM", 《HTTPS://WWW.JIANSHU.COM/P/6B38DC961F9A》 * |
JIAWEI JIANG 等: "DimBoost: Boosting Gradient Boosting Decision Tree to Higher Dimensions", 《SIGMOD "18: PROCEEDINGS OF THE 2018 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA》 * |
宋婷颖: "基于集成方法的共享单车使用量预测", 《工业控制计算机》 * |
江佳伟 等: "面向高维特征和多分类的分布式梯度提升树", 《软件学报》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021063171A1 (zh) * | 2019-09-30 | 2021-04-08 | 腾讯科技(深圳)有限公司 | 决策树模型的训练方法、系统、存储介质及预测方法 |
CN111340121B (zh) * | 2020-02-28 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 目标特征的确定方法及装置 |
CN111340121A (zh) * | 2020-02-28 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 目标特征的确定方法及装置 |
CN111353606A (zh) * | 2020-02-29 | 2020-06-30 | 中国电子科技集团公司第五十二研究所 | 一种基于模糊决策树的深度强化学习空战博弈解释方法和系统 |
CN111353606B (zh) * | 2020-02-29 | 2022-05-03 | 中国电子科技集团公司第五十二研究所 | 一种基于模糊决策树的深度强化学习空战博弈方法和系统 |
CN111340147A (zh) * | 2020-05-22 | 2020-06-26 | 四川新网银行股份有限公司 | 基于决策树的决策行为生成方法及系统 |
CN111797000A (zh) * | 2020-05-27 | 2020-10-20 | 中汽数据有限公司 | 一种基于梯度提升决策树模型的场景复杂度评估方法 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN111738360B (zh) * | 2020-07-24 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
CN111738360A (zh) * | 2020-07-24 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
CN113781134A (zh) * | 2020-07-28 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 物品推荐方法、装置及计算机可读存储介质 |
CN112348583A (zh) * | 2020-11-04 | 2021-02-09 | 贝壳技术有限公司 | 用户偏好生成方法与生成系统 |
CN112348583B (zh) * | 2020-11-04 | 2022-12-06 | 贝壳技术有限公司 | 用户偏好生成方法与生成系统 |
CN113240100A (zh) * | 2021-07-12 | 2021-08-10 | 深圳市永达电子信息股份有限公司 | 基于离散Hopfield神经网络的并行计算方法及系统 |
CN114266601A (zh) * | 2021-12-24 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 营销策略确定方法、装置、终端设备及存储介质 |
CN114386533A (zh) * | 2022-01-28 | 2022-04-22 | 华控清交信息科技(北京)有限公司 | 一种gbdt模型的横向训练方法、装置、电子设备及系统 |
CN114510911A (zh) * | 2022-02-16 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备及存储介质 |
CN115611393A (zh) * | 2022-11-07 | 2023-01-17 | 中节能晶和智慧城市科技(浙江)有限公司 | 一种多端协同的多水厂混凝剂投放方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210150372A1 (en) | 2021-05-20 |
WO2021063171A1 (zh) | 2021-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110728317A (zh) | 决策树模型的训练方法、系统、存储介质及预测方法 | |
CN109919316B (zh) | 获取网络表示学习向量的方法、装置和设备及存储介质 | |
US20210256403A1 (en) | Recommendation method and apparatus | |
CN110659678B (zh) | 一种用户行为分类方法、系统及存储介质 | |
CN111667022A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
CN111611488B (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
WO2022166115A1 (en) | Recommendation system with adaptive thresholds for neighborhood selection | |
CN114579584B (zh) | 数据表处理方法、装置、计算机设备和存储介质 | |
WO2021208535A1 (zh) | 基于自动特征分组的推荐方法及装置 | |
CN114329029A (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN114417058A (zh) | 一种视频素材的筛选方法、装置、计算机设备和存储介质 | |
CN114358109A (zh) | 特征提取模型训练、样本检索方法、装置和计算机设备 | |
CN112131261A (zh) | 基于社区网络的社区查询方法、装置和计算机设备 | |
US11538048B1 (en) | Predictively identifying activity subscribers | |
CN112800253B (zh) | 数据聚类方法、相关设备及存储介质 | |
CN113609337A (zh) | 图神经网络的预训练方法、训练方法、装置、设备及介质 | |
CN116975743A (zh) | 行业信息分类方法、装置、计算机设备和存储介质 | |
CN111935259B (zh) | 目标帐号集合的确定方法和装置、存储介质及电子设备 | |
CN113569130A (zh) | 内容推荐方法、装置、设备及可读存储介质 | |
CN113705071A (zh) | 设备识别方法、装置、设备及存储介质 | |
CN112927810A (zh) | 基于大数据的智慧医疗响应方法及智慧医疗云计算系统 | |
CN111897943A (zh) | 会话记录搜索方法、装置、电子设备及存储介质 | |
CN112417260A (zh) | 本地化推荐方法、装置及存储介质 | |
KR102650574B1 (ko) | 트랜드 및 이슈 데이터 수집 및 분석을 기반으로 한 기업 관련 언론 보도 및 홍보 자료 기획 및 생성 방법, 장치 및 시스템 | |
CN114359649B (zh) | 图像处理方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021044 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200124 |