【技术实现步骤摘要】
在可信执行环境中训练GBDT模型的方法、装置及设备
本说明书一个或多个实施例涉及计算机
,尤其涉及一种在可信执行环境中训练GBDT模型的方法、装置及设备。
技术介绍
在互联网技术快速发展的背景下,对互联网中的数据挖掘工作变得越来越重要。通常,在数据挖掘中,通过机器学习基于标定数据进行建模,从而可使用训练好的模型处理待预测的数据。在多种机器学习算法中,GBDT(Gradientboostingdecisiontree,梯度提升决策树)算法由于其优异的学习性能,得到越来越广泛的应用。GBDT算法是一种用于回归、分类、排序等任务的机器学习技术,其通过结合多个弱学习器(通常为决策树)而获得强预测模型,也称GBDT模型。然而在训练GBDT模型的过程中,会存在数据泄露的风险。因此,如何保证GBDT模型训练过程中数据的安全性就成为要解决的问题。
技术实现思路
本说明书一个或多个实施例描述了一种在可信执行环境中训练GBDT模型的方法、装置及设备,可以确保在模型训练过程中数据的安全性。第一方面,提供了一种在可信执行环境中训练GBDT模型的方法,包括:对于当前决策树中的当前节点,将所述D维特征中的每项特征依次作为当前特征,并基于当前特征对当前节点进行节点分割判断,所述节点分割判断包括:将当前特征对应的N个加密数组从所述非可信内存区域加载到所述可信内存区域中,在所述可信内存区域中对其进行解密,得到N个原始数组;将所述N个原始数组中的各个数组依次作为当前数组,基于所述当前数组 ...
【技术保护点】
1.一种在可信执行环境中训练GBDT模型的方法,所述可信执行环境中包括可信内存区域,所述可信执行环境所在的服务器还包括非可信内存区域,所述非可信内存区域中存储有针对N个具有D维特征的样本,按照特征维度整理的D*N个加密数组;其中,D维特征中每项特征对应N个加密数组,每个加密数组包括经过加密的一个样本的样本序号以及该样本对应于该项特征的特征值;所述GBDT模型包括多棵决策树;所述方法包括:/n对于当前决策树中的当前节点,将所述D维特征中的每项特征依次作为当前特征,并基于当前特征对当前节点进行节点分割判断,所述节点分割判断包括:/n将当前特征对应的N个加密数组从所述非可信内存区域加载到所述可信内存区域中,在所述可信内存区域中对其进行解密,得到N个原始数组;/n将所述N个原始数组中的各个数组依次作为当前数组,基于所述当前数组中的当前特征值,对当前节点对应的样本集进行假定分割,并基于假定分割结果,确定当前节点的当前最佳分裂特征和当前最佳特征阈值;/n在基于所述D维特征中每项特征进行所述节点分割判断之后,将所述当前节点对应的当前最佳分裂特征和当前最佳特征阈值作为其分裂特征和特征阈值,对当前节点对 ...
【技术特征摘要】
1.一种在可信执行环境中训练GBDT模型的方法,所述可信执行环境中包括可信内存区域,所述可信执行环境所在的服务器还包括非可信内存区域,所述非可信内存区域中存储有针对N个具有D维特征的样本,按照特征维度整理的D*N个加密数组;其中,D维特征中每项特征对应N个加密数组,每个加密数组包括经过加密的一个样本的样本序号以及该样本对应于该项特征的特征值;所述GBDT模型包括多棵决策树;所述方法包括:
对于当前决策树中的当前节点,将所述D维特征中的每项特征依次作为当前特征,并基于当前特征对当前节点进行节点分割判断,所述节点分割判断包括:
将当前特征对应的N个加密数组从所述非可信内存区域加载到所述可信内存区域中,在所述可信内存区域中对其进行解密,得到N个原始数组;
将所述N个原始数组中的各个数组依次作为当前数组,基于所述当前数组中的当前特征值,对当前节点对应的样本集进行假定分割,并基于假定分割结果,确定当前节点的当前最佳分裂特征和当前最佳特征阈值;
在基于所述D维特征中每项特征进行所述节点分割判断之后,将所述当前节点对应的当前最佳分裂特征和当前最佳特征阈值作为其分裂特征和特征阈值,对当前节点对应的样本集进行分割,生成当前节点对应的子节点,直至到达叶子节点。
2.根据权利要求1所述的方法,所述基于所述当前数组中的当前特征值,对当前节点对应的样本集进行假定分割,包括:
判断所述当前数组中的当前样本序号是否落入当前节点对应的样本集中;
如果是,则基于所述当前数组中的当前特征值,对当前节点对应的样本集进行假定分割。
3.根据权利要求1所述的方法,所述假定分割结果包括两个子样本集;所述基于假定分割结果,确定当前节点的当前最佳分裂特征和当前最佳特征阈值,包括:
基于所述样本集以及所述两个子样本集,计算方差减少值;
若所述方差减少值大于当前节点的当前方差减少值,则将当前方差减少值更新为计算得到的方差减少值,以及将所述当前特征作为当前节点的当前最佳分裂特征,将所述当前数组中的当前特征值作为当前节点的当前最佳特征阈值。
4.根据权利要求3所述的方法,所述基于所述样本集以及所述两个子样本集,计算方差减少值,包括:
基于所述样本集中的样本序号对应的样本的残差,计算第一方差;
分别基于所述两个子样本集中的样本序号对应的样本的残差,计算与所述两个子样本集各自对应的两个第二方差;
对所述两个第二方差求和,以得到方差和;
将所述第一方差与所述方差和之间的差值作为所述方差减少值。
5.根据权利要求1所述的方法,所述对当前节点对应的样本集进行分割,包括:
将当前节点的分裂特征对应的N个加密数组从所述非可信内存区域加载到所述可信内存区域中,在所述可信内存区域中对其进行解密,得到分裂特征对应的N个原始数组;
对于当前节点对应的样本集中的每个样本序号,从分裂特征对应的N个原始数组中查找包括该样本序号的目标数组;
将所述目标数组中的特征值与当前节点对应的特征阈值进行比较,并基于比较结果将该样本序号分割到当前节点对应的子节点中,以生成当前节点对应的子节点。
6.根据权利要求1所述的方法,还包括:
对于当前决策树的每个叶子节点,基于该叶子节点对应的样本集中的各样本序号对应的样本的标签值以及残差,确定该叶子节点的目标值。
7.根据权利要求6所述的方法,所述样本的残差基于所述样本的标签值以及所述样本在已完成训练的各棵决策树中对应的叶子节点的目标值的累加和确定。
8.根据权利要求6或7所述的方法,所述非可信内存区域中还存储有所述N个样本各自的加密标签值;所述样本的标签值通过以下步骤获得:
将所述N个样本各自的加密标签值加载到所述可信内存区域中,在所述可信内存区域中对其进行解密,得到解密后的N个标签值;
将所述解密后的N个标签值保存在所述可信内存区域中。
9.一种在可信执行环境中训练GBDT模型的装置,设置于服务器;所述可信执行环境中包括可信内存区域,所述服务器还包括非可信内存区域,所述非可信内存区域中存储有针对N个具有D维特征的样本,按照特征维度整理的D*N个加密数组;其中,D维特征中每项特征对应N个加密数组,每个加密数组包括经过加密的一个样本的样本序号以及该样本对应于该项特征的特征值;所述GBDT模型包括多棵决策树;所述装置包括:
判断单元,用于对于当前决策树中的当前节点,将所述D维特征中的每项特征依次作为当前特征,并基于当前特征对当前节点进行节点分割判断;
所述判断单元具体包括:
解密子单元,用于将当前特征对应的N个加密数组从所...
【专利技术属性】
技术研发人员:赵原,殷山,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。