用于XGBoost联邦学习模型训练的数据处理方法和装置与流程

文档序号:37240584发布日期:2024-03-06 17:07阅读:16来源:国知局
用于XGBoost联邦学习模型训练的数据处理方法和装置与流程

本技术涉及计算机领域,具体而言,涉及一种用于xgboost联邦学习模型训练的数据处理方法和装置。


背景技术:

1、随着人工智能技术的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,联邦学习本质上是一种分布式机器学习框架,其做到了在保障数据隐私安全及合法合规的基础上,实现数据共享,共同建模。它的核心思想是在多个数据源共同参与模型训练时,不需要进行原始数据流转的前提下,仅通过交互模型中间参数进行模型联合训练,原始数据可以不出本地。这种方式实现数据隐私保护和数据共享分析的平衡,即“数据可用不可见”的数据应用模式。

2、联邦学习中的发起方和参与方作为成员方,在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避免数据隐私泄露的问题。由于联邦学习过程需要大量的数据来支持,而数据又大都分布于不同的数据持有方,所以需要联合各个数据持有方来进行模型构建。

3、xgboost(exterme gradient boosting)全称为极限梯度提升树模型,是一种基于决策树的集成机器学习算法,因其模型预测能力强,在工业界被广泛使用,比如应用在广告推荐、金融风控等业务场景。

4、发明人发现,在进行联邦学习的多方xgboost模型训练时,为了保证数据隐私安全,采用对发起方特征数据矩阵分桶稀疏化然后直接与参与方进行多方安全计算乘法,在计算过程中产生大量的数据计算开销,且效率较低,难以在大数据样本场景下执行。

5、因此,在机器学习时,如何在确保数据隐私安全的情况下,同时降低模型训练过程中数据计算开销,成为本领域技术人员亟待解决的问题。


技术实现思路

1、本技术的主要目的在于提供一种用于xgboost联邦学习模型训练的数据处理方法和装置,以解决现有技术如何在确保数据隐私安全的情况下,同时降低模型训练过程中数据计算开销的问题,降低模型训练过程中的数据计算开销,提高模型训练效率。

2、为了实现上述目的,本技术的第一方面,提出了一种用于xgboost联邦学习模型训练的数据处理方法,应用于至少一个发起方与至少一个参与方之间数据共享场景中,所述数据处理方法包括:

3、获取待训练样本数据,其中,所述待训练样本数据为所述至少一个发起方和所述至少一个参与方的样本数据;

4、对所述样本数据进行基于数据特征提取的预处理,得到第一特征矩阵和第二特征矩阵,其中,所述第一特征矩阵为用于表示发起方样本数据特征的矩阵,所述第二特征矩阵为用于表示参与方样本数据特征对应的矩阵;

5、对所述第二特征矩阵中的每个特征进行随机预聚类压缩的处理,得到聚类矩阵和聚类索引;

6、根据所述聚类矩阵进行稀疏矩阵构建处理,得到稀疏矩阵;根据所述聚类索引对所述第一特征矩阵进行预聚合计算得到聚合矩阵;

7、对所述稀疏矩阵进行碎片化处理得到第一碎片矩阵,对所述聚合矩阵进行碎片化处理得到第二碎片矩阵;

8、对所述第一碎片矩阵和所述第二碎片矩阵进行基于数据加密的矩阵乘法处理,得到梯度直方图数据;

9、根据所述梯度直方图数据对xgboost树模型进行模型训练,得到目标xgboost树模型。

10、进一步地,对所述第二特征矩阵中的每个特征进行随机预聚类压缩的处理,得到聚类矩阵和聚类索引包括:

11、在所述第二特征矩阵中的每个特征中随机选取预设数量的特征值作为特征对应的聚类中心,并得到待聚类特征数据,其中,所述待聚类特征数据为所述第二特征矩阵中除聚类中心外的特征值;

12、根据所述聚类中心和预设聚类规则对所述待聚类特征数据进行聚类处理,得到与所述聚类中心对应的聚类矩阵和聚类索引。

13、进一步地,根据所述聚类矩阵进行稀疏矩阵构建处理,得到稀疏矩阵包括:

14、根据所述聚类中心和预设分桶数对所述聚类矩阵中的特征进行分桶处理,得到子稀疏矩阵;

15、将所述子稀疏矩阵进行拼接处理,得到所述稀疏矩阵。

16、进一步地,根据所述聚类索引对所述第一特征矩阵进行预聚合计算得到聚合矩阵包括:

17、对所述第一特征矩阵进行识别处理,得到一阶梯度矩阵和二阶梯度矩阵;

18、根据所述聚类索引对所述一阶梯度矩阵进行预聚合处理,得到一阶聚合矩阵;

19、根据所述聚类索引对所述二阶梯度矩阵进行预聚合处理,得到二阶聚合矩阵;

20、对所述一阶聚合矩阵和所述二阶聚合矩阵进行组合优化处理,得到所述聚合矩阵。

21、进一步地,对所述一阶聚合矩阵和所述二阶聚合矩阵进行组合优化处理,得到所述聚合矩阵包括:

22、对一阶聚合矩阵进行扩展处理,得到第一聚合矩阵;对二阶聚合矩阵进行扩展处理,得到第二聚合矩阵;

23、对所述第一聚合矩阵和所述第二聚合矩阵进行梯度合并的组合处理,得到过程聚合矩阵数据;

24、对所述过程聚合矩阵数据进行密态化处理,得到所述聚合矩阵。

25、进一步地,对所述第一碎片矩阵和所述第二碎片矩阵进行基于数据加密的矩阵乘法处理,得到梯度直方图数据包括:

26、基于每个特征对应的第一碎片矩阵和第二碎片矩阵进行点乘处理,得到过程梯度直方图数据;

27、对所述过程梯度直方图数据进行基于同桶特征聚类中心求和的梯度直方图计算处理,得到一阶梯度直方图数据和二阶梯度直方图数据;

28、对所述一阶梯度直方图数据和所述二阶梯度直方图数据进行拼接处理,得到所述梯度直方图数据。

29、进一步地,根据所述梯度直方图数据对xgboost树模型进行模型训练,得到目标xgboost树模型包括:

30、根据所述梯度直方图数据进行xgboost树模型的最优分割点计算处理,得到最优分割点数据,其中,所述最优分割点数据为用于表示xgboost树模型最优分割点的数据;

31、根据所述最优分割点数据对所述xgboost树模型进行基于树结构更新的模型训练处理,得到所述目标xgboost树模型。

32、进一步地,在根据所述梯度直方图数据对xgboost树模型进行模型训练,得到目标xgboost树模型之后,所述数据处理方法包括:

33、获取待预测样本数据,其中,所述待预测样本数据为所述至少一个发起方和所述至少一个参与方需要进行样本预测的数据;

34、根据所述的目标xgboost树模型对所述待预测样本数据进行预测处理,得到预测结果数据。

35、根据本技术的第二方面,提出了一种用于xgboost联邦学习模型训练的数据处理装置,应用于至少一个发起方与至少一个参与方之间数据共享场景中,所述数据处理装置包括:

36、训练样本获取模块,用于获取待训练样本数据,其中,所述待训练样本数据为所述至少一个发起方和所述至少一个参与方的样本数据;

37、预处理模块,用于对所述样本数据进行基于数据特征提取的预处理,得到第一特征矩阵和第二特征矩阵,其中,所述第一特征矩阵为用于表示发起方样本数据特征的矩阵,所述第二特征矩阵为用于表示参与方样本数据特征对应的矩阵;

38、预聚类压缩模块,用于对所述第二特征矩阵中的每个特征进行随机预聚类压缩的处理,得到聚类矩阵和聚类索引;

39、矩阵计算模块,用于根据所述聚类矩阵进行稀疏矩阵构建处理,得到稀疏矩阵;根据所述聚类索引对所述第一特征矩阵进行预聚合计算得到聚合矩阵;

40、碎片化模块,用于对所述稀疏矩阵进行碎片化处理得到第一碎片矩阵,对所述聚合矩阵进行碎片化处理得到第二碎片矩阵;

41、梯度直方图计算模块,用于对所述第一碎片矩阵和所述第二碎片矩阵进行基于数据加密的矩阵乘法处理,得到梯度直方图数据;

42、模型训练模块,用于根据所述梯度直方图数据对xgboost树模型进行模型训练,得到目标xgboost树模型。

43、根据本技术的第三方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述的用于xgboost联邦学习模型训练的数据处理方法。

44、根据本技术的第四方面,提出了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行上述的用于xgboost联邦学习模型训练的数据处理方法。

45、本技术的实施例提供的技术方案可以包括以下有益效果:

46、在本技术中,通过在至少一个发起方与至少一个参与方之间数据共享场景中,获取待训练样本数据,其中,所述待训练样本数据为所述至少一个发起方和所述至少一个参与方的样本数据;对所述样本数据进行基于数据特征提取的预处理,得到第一特征矩阵和第二特征矩阵,其中,所述第一特征矩阵为用于表示发起方样本数据特征的矩阵,所述第二特征矩阵为用于表示参与方样本数据特征对应的矩阵;对所述第二特征矩阵中的每个特征进行随机预聚类压缩的处理,得到聚类矩阵和聚类索引;根据所述聚类矩阵进行稀疏矩阵构建处理,得到稀疏矩阵;根据所述聚类索引对所述第一特征矩阵进行预聚合计算得到聚合矩阵;对所述稀疏矩阵进行碎片化处理得到第一碎片矩阵,对所述聚合矩阵进行碎片化处理得到第二碎片矩阵;对所述第一碎片矩阵和所述第二碎片矩阵进行基于数据加密的矩阵乘法处理,得到梯度直方图数据;根据所述梯度直方图数据对xgboost树模型进行模型训练,得到目标xgboost树模型。通过对联邦学习模型训练计算梯度直方图的过程中,对特征进行聚类压缩实现在稀疏矩阵上的运算加速,降低模型训练过程中的数据计算量及传输量等,在保证联邦学习数据隐私安全的情况下,降低模型训练过程中数据计算开销,提高模型训练的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1