基于数据隐私保护的机器学习模型特征筛选方法及装置转让专利

申请号 : CN201911195304.7

文献号 : CN111062487B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈超超王力周俊

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供用于基于数据隐私保护的机器学习模型特征筛选的方法。机器学习模型具有模型特征集,并且机器学习模型的特征数据被垂直切分地分布在第一数据拥有方和至少一个第二数据拥有方处,每个数据拥有方具有与模型特征集的模型特征子集对应的特征数据。第一数据拥有方具有待筛选模型特征的特征数据,第二数据拥有方不具有待筛选模型特征的特征数据。第一数据拥有方和至少一个第二数据拥有方协同来使用各自的特征数据进行多方安全计算,以训练出待筛选模型特征的预测模型。在第一数据拥有方处,基于待筛选模型特征的预测差值确定待筛选模型特征的方差膨胀因子,以进行模型特征筛选处理。

权利要求 :

1.一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征Xi的特征数据,第二数据拥有方不具有所述待筛选模型特征Xi的特征数据,所述方法由第一数据拥有方执行,所述方法包括:使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征Xi的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征Xi的预测值 以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及按照下述公式确定所述待筛选模型特征Xi的方差膨胀因子VIFi,以用于模型特征筛选处理:

2

其中,Ri是所述待筛选模型特征Xi的样本可决系数,N为数据样本数目,以及yk是数据样本的样本标记值,k=1,……,N。

2.如权利要求1所述的方法,还包括:根据所述待筛选模型特征Xi的方差膨胀因子VIFi,对所述待筛选模型特征Xi进行模型特征筛选处理。

3.如权利要求2所述的方法,其中,根据所确定出的待筛选模型特征Xi的方差膨胀因子VIFi,对所述待筛选模型特征Xi进行模型特征筛选处理包括:在所述待筛选模型特征Xi的方差膨胀因子VIFi大于预定阈值时,从所述模型特征集中筛除所述待筛选模型特征Xi。

4.如权利要求1所述的方法,还包括:将所述待筛选模型特征Xi的方差膨胀因子VIFi提供给模型特征筛选方来进行模型特征筛选。

5.如权利要求1所述的方法,其中,所述待筛选模型特征Xi的预测差值是所述预测模型的训练过程中的最后一次循环过程中得到的预测差值。

6.如权利要求1所述的方法,还包括:根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征Xi的预测值以及预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征Xi对应的特征值后的特征数据。

7.如权利要求1所述的方法,其中,所述多方安全计算包括秘密共享、混淆电路和同态加密中的一种。

8.如权利要求7所述的方法,其中,所述秘密共享包括秘密共享矩阵乘法和秘密共享矩阵加法。

9.如权利要求8所述的方法,其中,所述多方安全计算所采用的秘密共享的类型是根据第二数据拥有方的数目确定的。

10.如权利要求8所述的方法,其中,所述秘密共享矩阵乘法包括有可信初始化方秘密共享矩阵乘法或者无可信初始化方秘密共享矩阵乘法。

11.如权利要求1到10中任一所述的方法,其中,所述机器学习模型的特征数据包括基于图像数据、语音数据或文本数据确定的特征数据,或者所述机器学习模型的特征数据包括用户特征数据。

12.一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征Xi的特征数据,第二数据拥有方不具有所述待筛选模型特征Xi的特征数据,所述方法由第二数据拥有方执行,所述方法包括:使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征Xi的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征Xi的预测值,以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型,其中,所述预测模型的预测值被使用来确定所述待筛选模型特征Xi的预测差值和方差膨胀因子VIFi,所述方差膨胀因子VIFi用于对所述待筛选模型特征Xi进行模型特征筛选处理,

其中,所述方差膨胀因子VIFi按照下述公式确定出:2

其中,Ri是所述待筛选模型特征Xi的样本可决系数,N为数据样本数目, 是所述待筛选模型特征Xi的预测值,以及yk是数据样本的样本标记值,k=1,……,N。

13.如权利要求12所述的方法,还包括:根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征Xi的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的特征值后的特征数据。

14.如权利要求12或13所述的方法,其中,所述多方安全计算包括秘密共享、混淆电路和同态加密中的一种。

15.如权利要求14所述的方法,其中,所述秘密共享包括秘密共享矩阵乘法和秘密共享矩阵加法。

16.如权利要求15所述的方法,其中,所述多方安全计算所采用的秘密共享的类型是根据第二数据拥有方的数目确定的。

17.一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征Xi的特征数据,第二数据拥有方不具有所述待筛选模型特征Xi的特征数据,所述装置应用于第一数据拥有方,所述装置包括:模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征Xi的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征Xi的预测值,以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及

方差膨胀因子确定单元,按照下述公式确定所述待筛选模型特征Xi的方差膨胀因子VIFi,以用于模型特征筛选处理:2

其中,Ri是所述待筛选模型特征Xi的样本可决系数,N为数据样本数目,以及yk是数据样本的样本标记值,k=1,……,N。

18.如权利要求17所述的装置,还包括:模型特征筛选单元,根据所述待筛选模型特征Xi的方差膨胀因子VIFi,对所述待筛选模型特征Xi进行模型特征筛选处理。

19.如权利要求17所述的装置,还包括:提供单元,将所述待筛选模型特征Xi的方差膨胀因子VIFi提供给模型特征筛选方来进行模型特征筛选。

20.如权利要求17所述的装置,还包括:模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征Xi的预测值和预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征Xi对应的特征值后的特征数据。

21.一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征Xi的特征数据,第二数据拥有方不具有所述待筛选模型特征Xi的特征数据,所述装置应用于第二数据拥有方,所述装置包括:模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征Xi的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征Xi的预测值,以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型,

其中,所述预测模型的预测值被使用来确定所述待筛选模型特征Xi的预测差值和方差膨胀因子VIFi,所述方差膨胀因子VIFi用于对所述待筛选模型特征Xi进行模型特征筛选处理,

其中,所述方差膨胀因子VIFi按照下述公式确定出:2

其中,Ri是所述待筛选模型特征Xi的样本可决系数,N为数据样本数目, 是所述待筛选模型特征Xi的预测值,以及yk是数据样本的样本标记值,k=1,……,N。

22.如权利要求21所述的装置,还包括:模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征Xi的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征Xi对应的特征值后的特征数据。

23.一种电子设备,包括:

一个或多个处理器,以及

与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1到11中任一项所述的方法。

24.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到11中任一项所述的方法。

25.一种电子设备,包括:

一个或多个处理器,以及

与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求12到16中任一所述的方法。

26.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求12到16中任一所述的方法。

说明书 :

基于数据隐私保护的机器学习模型特征筛选方法及装置

技术领域

[0001] 本说明书的实施例通常涉及计算机领域,更具体地,涉及基于数据隐私保护的机器学习模型特征筛选方法及装置。

背景技术

[0002] 在公司或企业进行业务运营时,通常会使用机器学习模型来进行模型预测,以例如确定业务类别、业务运营风险或者进行业务运营决策。机器学习模型例如可以包括业务
风险识别模型、业务分类模型、业务决策模型等等。机器学习模型通常会使用大量的模型特
征作为模型输入特征,例如,机器学习模型可能会使用多达上万个模型特征。模型特征的数
量越多,机器学习模型的运算量越大,从而需要花费更多的计算资源和时间成本。
[0003] 机器学习模型的模型特征通常根据经验选择,例如,由有经验的行业人员来人工选择。然而,在根据这种方式确定出的模型特征中,可能会存在对机器学习模型的模型效果
影响不大的模型特征,这些模型特征的引入会增加机器学习模型的计算量,但不会提升机
器学习模型的预测精度,由此,如何进行机器学习模型的模型特征筛选,成为亟待解决的问
题。

发明内容

[0004] 鉴于上述问题,本说明书的实施例提供了一种基于数据隐私保护的机器学习模型特征筛选方法及装置,其能够在保证多个数据拥有方的各自隐私数据安全的情况下实现模
型特征筛选。
[0005] 根据本说明书的实施例的一个方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据
被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的
模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数
据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,
第二数据拥有方不具有所述待筛选模型特征的特征数据,所述方法由第一数据拥有方执
行,所述方法包括:使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模
型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛
选模型特征的预测值,以及所述预测模型的输入特征是所述模型特征集中的剩余模型特
征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以
及基于所述待筛选模型特征的预测差值,确定所述待筛选模型特征的方差膨胀因子,以用
于模型特征筛选处理。
[0006] 可选地,在上述方面的一个示例中,所述方法还可以包括:根据所述待筛选模型特征的方差膨胀因子,对所述待筛选模型特征进行模型特征筛选处理。
[0007] 可选地,在上述方面的一个示例中,根据所确定出的待筛选模型特征的方差膨胀因子,对所述待筛选模型特征进行模型特征筛选处理可以包括:在所述待筛选模型特征的
方差膨胀因子大于预定阈值时,从所述模型特征集中筛除所述待筛选模型特征。
[0008] 可选地,在上述方面的一个示例中,所述方法还可以包括:将所述待筛选模型特征的方差膨胀因子提供给模型特征筛选方来进行模型特征筛选。
[0009] 可选地,在上述方面的一个示例中,所述待筛选模型特征的预测差值是所述预测模型的训练过程中的最后一次循环过程中得到的预测差值。
[0010] 可选地,在上述方面的一个示例中,所述方法还可以包括:根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征的预测值和
预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特
征对应的特征值后的特征数据。
[0011] 可选地,在上述方面的一个示例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。
[0012] 可选地,在上述方面的一个示例中,所述秘密共享可以包括秘密共享矩阵乘法和秘密共享矩阵加法。
[0013] 可选地,在上述方面的一个示例中,所述多方安全计算所采用的秘密共享的类型可以根据第二数据拥有方的数目确定。
[0014] 可选地,在上述方面的一个示例中,所述秘密共享矩阵乘法可以包括有可信初始化方秘密共享矩阵乘法或者无可信初始化方秘密共享矩阵乘法。
[0015] 可选地,在上述方面的一个示例中,所述机器学习模型的特征数据可以包括基于图像数据、语音数据或文本数据确定的特征数据,或者所述机器学习模型的特征数据可以
包括用户特征数据。
[0016] 根据本说明书实施例的另一方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被
垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模
型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据
拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,第
二数据拥有方不具有所述待筛选模型特征的特征数据,所述方法由第二数据拥有方执行,
所述方法包括:使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型
特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选
模型特征的预测值,以及所述预测模型的输入特征是模型特征集中的剩余模型特征,所述
预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型,其中,所述
预测模型的预测值被使用来确定所述待筛选模型特征的预测差值和方差膨胀因子,所述方
差膨胀因子用于对所述待筛选模型特征进行模型特征筛选处理。
[0017] 可选地,在上述方面的一个示例中,所述方法还可以包括:根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征的预测值,
所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的
特征值后的特征数据。
[0018] 可选地,在上述方面的一个示例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。
[0019] 可选地,在上述方面的一个示例中,所述秘密共享可以包括秘密共享矩阵乘法和秘密共享矩阵加法。
[0020] 可选地,在上述方面的一个示例中,所述多方安全计算所采用的秘密共享的类型可以根据第二数据拥有方的数目确定。
[0021] 根据本说明书的实施例的另一方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据
被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的
模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数
据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,
第二数据拥有方不具有所述待筛选模型特征的特征数据,所述装置应用于第一数据拥有
方,所述装置包括:模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来
训练出待筛选模型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的
输出是所述待筛选模型特征的预测值,以及所述预测模型的输入特征是模型特征集中的剩
余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测
子模型;以及方差膨胀因子确定单元,基于所述待筛选模型特征的预测差值,确定所述待筛
选模型特征的方差膨胀因子,以用于模型特征筛选处理。
[0022] 可选地,在上述方面的一个示例中,所述装置还可以包括:模型特征筛选单元,根据所述待筛选模型特征的方差膨胀因子,对所述待筛选模型特征进行模型特征筛选处理。
[0023] 可选地,在上述方面的一个示例中,所述装置还可以包括:提供单元,将所述待筛选模型特征的方差膨胀因子提供给模型特征筛选方来进行模型特征筛选。
[0024] 可选地,在上述方面的一个示例中,所述装置还可以包括:模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型
特征的预测值和预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所
述待筛选模型特征对应的特征值后的特征数据。
[0025] 根据本说明书的实施例的另一方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据
被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的
模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数
据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,
第二数据拥有方不具有所述待筛选模型特征的特征数据,所述装置应用于第二数据拥有
方,所述装置包括:模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来
训练出待筛选模型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的
输出是所述待筛选模型特征的预测值,以及所述预测模型的输入特征是模型特征集中的剩
余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测
子模型,其中,所述预测模型的预测值被使用来确定待筛选模型特征的预测差值和方差膨
胀因子,所述方差膨胀因子用于对所述待筛选模型特征进行模型特征筛选处理。
[0026] 可选地,在上述方面的一个示例中,所述装置还可以包括:模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型
特征的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模
型特征对应的特征值后的特征数据。
[0027] 根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述
一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的在第一数据拥有方
处执行的方法。
[0028] 根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的在第一数据拥有方处执行的方
法。
[0029] 根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述
一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述在第二数据拥有方处
执行的方法。
[0030] 根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述在第二数据拥有方处执行的方
法。

附图说明

[0031] 通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
[0032] 图1示出了根据本公开的实施例的机器学习模型的一个示例的示意图;
[0033] 图2示出了根据本公开的实施例的经过垂直切分的特征数据的示例的示意图;
[0034] 图3示出了根据本公开的实施例的模型特征筛选系统的架构图;
[0035] 图4示出了根据本说明书的实施例的模型特征筛选方法的流程图;
[0036] 图5示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的一个示例的流程图;
[0037] 图6示出了根据本公开的实施例的预测子模型转换过程的一个示例的流程图;
[0038] 图7示出了根据本公开的实施例的特征数据转换过程的一个示例的流程图;
[0039] 图8示出了根据本公开的实施例的预测值获取过程的流程图;
[0040] 图9示出了根据本公开的实施例的有可信初始化方秘密共享矩阵乘法的一个示例的流程图;
[0041] 图10示出了根据本公开的实施例的无可信初始化方秘密共享矩阵乘法的一个示例的流程图;
[0042] 图11示出了根据本说明书的实施例的用于经由多个数据拥有方来协同确定模型特征的预测值的过程的一个示例的流程图;
[0043] 图12示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的另一示例的流程图;
[0044] 图13示出了根据本公开的实施例的用于经由多个数据拥有方来协同确定模型特征的预测值的过程的另一示例的流程图;
[0045] 图14示出了根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选装置的方框图;
[0046] 图15示出了根据本说明书的实施例的模型训练单元的一个示例的方框图;
[0047] 图16示出了根据本说明书的实施例的模型训练单元的另一示例的方框图;
[0048] 图17示出了根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选装置的方框图;
[0049] 图18示出了根据本说明书的实施例的模型训练单元的一个示例的方框图;
[0050] 图19示出了根据本说明书的实施例的模型训练单元的另一示例的方框图;
[0051] 图20示出了根据本说明书的实施例的用于实现基于隐私保护的机器学习模型特征筛选过程的电子设备的方框图;和
[0052] 图21示出了根据本说明书的实施例的用于实现基于隐私保护的机器学习模型特征筛选过程的电子设备的方框图。

具体实施方式

[0053] 现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求
书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书的实施例内容的
保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省
略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺
序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在
其它例子中也可以进行组合。
[0054] 如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施
例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不
同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明
确地指明,否则一个术语的定义在整个说明书中是一致的。
[0055] 在公司或企业进行业务运营时,通常会使用机器学习模型来进行模型预测,以例如确定业务类别、业务运营风险或者进行业务运营决策。机器学习模型例如可以包括业务
风险识别模型、业务分类模型、业务决策模型等等。机器学习模型通常会使用大量的模型特
征作为模型输入特征。机器学习模型的模型特征通常是根据经验选择的。然而,在根据这种
方式确定出的模型特征中,可能会存在对机器学习模型影响不大的模型特征,这些模型特
征的引入会增加机器学习模型的计算量,但不会提升机器学习模型的预测精度,从而需要
使用机器学习模型的特征数据来进行模型特征筛选,以从机器学习模型的模型特征集中筛
除对机器学习模型影响不大的模型特征。
[0056] 机器学习模型的特征数据可以来自于多个数据拥有方,例如,针对电子商务相关的机器学习模型,多个数据拥有方可以包括电子商务公司、快递公司和银行等等。各个数据
拥有方拥有机器学习模型的特征数据中的部分数据。对于数据拥有方而言,数据是非常重
要的资产。该多个数据拥有方希望共同使用彼此的特征数据来进行模型特征筛选,但又不
想把各自的隐私数据提供给其它各个数据拥有方以防止自己的隐私数据泄露。
[0057] 鉴于上述,本说明书的实施例提供了一种用于机器学习模型的模型特征筛选的方法。在该方法中,针对机器学习模型的模型特征集{X1,X2,......,Xn}中的每个模型特征Xi,
使用各个数据拥有方的特征数据来利用多方安全计算训练出对应的预测模型,所述预测模
型是线性回归模型,该预测模型的输出是模型特征Xi的预测值,以及该预测模型的输入特
征是模型特征集{X1,X2,......,Xn}中的剩余模型特征Xj,所训练出的预测模型被垂直切分
为多个预测子模型,每个数据拥有方具有一个预测子模型。然后,利用所训练出的预测模
型,得到模型特征Xi的预测值和预测差值,基于预测差值来计算出模型特征Xi的方差膨胀因
子VIF(Variance Inflation Factor),并且基于所计算出的VIF来确定是否需要筛除模型
特征Xi。按照这种方式,由于模型特征Xi的VIF是采用多方安全计算来确定出的,从而可以确
保各个数据拥有方的特征数据免遭泄露。在本说明书中,各个数据拥有方的特征数据是通
过对机器学习模型所需特征数据进行垂直切分而得到的。
[0058] 在本说明书的实施例中,机器学习模型所使用的特征数据例如可以包括基于图像数据、语音数据或文本数据确定的特征数据。相应地,机器学习模型可以应用于基于图像数
据、语音数据或者文本数据的业务风险识别、业务分类、或者业务决策等等。或者,机器学习
模型所使用的特征数据可以包括用户特征数据。相应地,机器学习模型可以应用于基于用
户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
[0059] 图1示出了根据本公开的实施例的机器学习模型的一个示例的示意图。
[0060] 如图1所示,机器学习模型110具有模型特征1到模型特征7,即,模型特征集{X1,X2,X2,X3,X4,X5,X6,X7},其中,模型特征X1到模型特征X3的特征数据来源于数据拥有方A 120,模
型特征X4和模型特征X5的特征数据来源于数据拥有方B 120,以及模型特征X6和模型特征X7
的特征数据来源于数据拥有方C 120。机器学习模型110利用来自于数据拥有方A、B和C的特
征数据来进行模型预测,以得到预测值Y。这里,数据拥有方A、B和C各自具有与机器学习模
型110的模型特征集的模型特征子集对应的特征数据,所述模型特征子集是通过对模型特
征集进行垂直切分而得到。换言之,数据拥有方A、B和C的特征数据是通过对机器学习模型
110所使用的特征数据进行垂直切分而得到。
[0061] 图2示出了根据本公开的实施例的经过垂直切分的特征数据的示例的示意图。图2中示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob
拥有机器学习模型所使用的数据样本集中的每条数据样本的部分特征数据,对于每条数据
样本,数据拥有方Alice和Bob拥有的部分特征数据组合在一起,可以构成该数据样本的完
整内容。比如,假设某条数据样本包括标签y0和属性特征 则经过垂直切分后,数据
拥有方Alice拥有该数据样本的y0和属性特征 以及数据拥有方Bob拥有该数据样本的属
性特征
[0062] 图3示出了根据本公开的实施例的模型特征筛选系统1的架构图。为了描述简单,下文中仅仅针对模型特征Xi的模型特征筛选来进行说明。
[0063] 如图3所示,模型特征筛选系统1包括第一数据拥有方设备10(下文中简称为“第一数据拥有方”)以及2个第二数据拥有方设备20(下文中简称为“第二数据拥有方”)。第一数
据拥有方10以及第二数据拥有方20可以通过例如但不局限于互联网或局域网等的网络30
相互通信。在本说明书中,第一数据拥有方10和第二数据拥有方20的特征数据是通过对机
器学习模型所使用的特征数据进行垂直切分而得到的。此外,第一数据拥有方10具有待筛
选模型特征Xi的特征数据,以及第二数据拥有方20不具有模型特征Xi的特征数据。
[0064] 在本说明书中,第一数据拥有方10以及第二数据拥有方20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌
面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电
话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
[0065] 图4示出了根据本说明书的实施例的模型特征筛选方法400的流程图。图4中所示的模型特征筛选方法是针对第一数据拥有方A具有的模型特征Xi的模型特征筛选过程。
[0066] 如图4所示,在块410,在各个数据拥有方处,使用各个数据拥有方(第一数据拥有方A以及第二数据拥有方B和C)的特征数据,经由各个数据拥有方协同来利用多方安全计算
训练出模型特征Xi的预测模型。
[0067] 这里,所训练出的预测模型是线性回归模型。预测模型的输出是模型特征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj。例如,假设模型特征集
包括m个模型特征,则可以针对模型特征X1构建出线性回归模型,例如,针对模型特征X1构建
出最小二乘模型X1=α2X2+α3X3+α4X4+......+αmXm+α0+e。
[0068] 假设剩余模型特征Xj构成预测模型的模型特征矩阵xT=(x1;x2;…;xj),其中,xj是预测模型的第j个模型特征和T表示转置,并且j≠i,那么线性回归模型为Y=Wx,其中,Y是
预测值,以及W是线性回归模型的模型参数(即,本说明书中的预测模型),W是所有预测子模
型WP级联而成,WP是本说明书的实施例中的各个数据拥有方P处的预测子模型。
[0069] 此外,各个数据拥有方处的预测子模型是通过对预测模型进行垂直切分而得到,每个数据拥有方具有一个预测子模型。而且,在进行预测模型训练时,每个数据拥有方所拥
有的预测子模型以及对应的特征数据是该数据拥有方的秘密,不能被其他数据拥有方完整
地获悉。关于如何利用多方安全计算来训练出模型特征Xi的预测模型,将在下文参照附图
详细说明。
[0070] 在本说明书的实施例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。此外,所述秘密共享可以包括秘密共享矩阵乘法或者秘密共享矩阵加法。
[0071] 此外,可选地,在使用秘密共享来实现多方安全计算时,所采用的秘密共享的类型可以根据第二数据拥有方的数目确定。例如,在仅仅存在一个第二数据拥有方的情况下,所
采用的秘密共享可以是秘密共享矩阵乘法。在存在至少两个第二数据拥有方的情况下,所
采用的秘密共享可以是秘密共享矩阵乘法或者秘密共享加法。
[0072] 此外,可选地,所述秘密共享矩阵乘法可以包括有可信初始化方秘密共享矩阵乘法或者无可信初始化方秘密共享矩阵乘法。
[0073] 在如上训练出模型特征Xi的预测模型后,在块420,在各个数据拥有方处,经由各个数据拥有方协同来根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全
计算,以得到模型特征Xi的预测值,并且在第一数据拥有方处,基于所得到的预测值以及对
应的标记值来确定出模型特征Xi的预测差值。这里,要说明的是,在使用所训练出的预测模
型进行模型预测时,各个数据拥有方使用第一特征数据,并且第一特征数据是从各个数据
拥有方的特征数据中去除与模型特征Xi对应的特征值后的特征数据。具体地,在第一数据
拥有方处,需要从所具有的原始特征数据中去除与模型特征Xi对应的特征值而得到第一数
据拥有方的第一数据特征。而在各个第二数据拥有方处,由于不具有与模型特征Xi对应的
特征值,从而各个第二数据拥有方处的第一特征数据是各个第二数据拥有方的原始特征数
据。
[0074] 在得到模型特征Xi的预测差值后,在块430,在第一数据拥有方A 10处,基于模型特征Xi的预测差值,确定模型特征Xi的方差膨胀因子VIF。
[0075] 具体地,假设存在N条数据样本,针对每条数据样本,在第一数据拥有方A处具有与模型特征Xi对应的特征值,即,样本标记值yk。而且,对于每条数据样本,可以使用所训练出
的预测模型来计算对应的预测值
[0076] 然后,按照下述公式,计算出模型特征Xi的样本可决系数Ri2:
[0077]
[0078]
[0079] 在如上计算出模型特征Xi的样本可决系数Ri2后,可以按照下述公式计算出模型特征Xi的方差膨胀因子VIFi:
[0080]
[0081] 在本说明书中,术语“方差膨胀因子”VIFi可以是指模型特征Xi与模型特征集中的剩余模型特征Xj之间存在多重共线性时的方差与不存在多重共线性时的方差之比。VIFi用
于指示模型特征Xi与模型特征集中的剩余模型特征Xj之间的相关性。VIFi的值越大,则说明
模型特征Xi与剩余模型特征Xj之间的相关性(多重共线性)越大,从而对预测模型的贡献越
小,由此可以从预测模型的模型特征集中筛除该模型特征。
[0082] 在如上确定出模型特征Xi的方差膨胀因子后,在块440,在第一数据拥有方A 10处,根据模型特征Xi的方差膨胀因子,对模型特征Xi进行模型特征筛选处理。
[0083] 例如,在一个示例中,在模型特征Xi的方差膨胀因子大于预定阈值时,从模型特征集{X1,X2,......,Xn}中筛除模型特征Xi。根据经验表明,在0<VIF<10时,模型特征Xi与剩
余模型特征Xj之间不存在多重共线性。在10≤VIF<100时,模型特征Xi与剩余模型特征Xj之
间存在较强的多重共线性。在VIF≥100时,模型特征Xi与剩余模型特征Xj之间存在严重的多
重共线性。由此,在一个示例中,预定阈值可以设置为100。在本说明书的其它示例中,预定
阈值也可以选择其它合适的数值。
[0084] 此外,可选地,在第一数据拥有方A 10处存在多个模型特征的VIF时,例如,在第一数据拥有方A 10处存在所具有的部分或全部模型特征的VIF时,可以根据各个模型特征的
VIF的值来进行排序,并且筛除排序Top K的模型特征。这里,K可以是预定数值。
[0085] 此外,可选地,在本说明书的其它实施例中,块440的操作也可以替换为下述操作:在第一数据拥有方A 10处,将模型特征Xi的方差膨胀因子提供给模型特征筛选方来进行模
型特征筛选。这里,模型特征筛选方可以是第三方筛选机构或者用户,或者,也可以是多个
数据拥有方中的指定数据拥有方。在接收到部分或全部数据拥有方的模型特征的VIF后,根
据各个模型特征的VIF来进行模型特征筛除处理。例如,筛除VIF大于预定阈值的模型特征,
或者,根据各个模型特征的VIF的值来进行排序,并且筛除排序Top K的模型特征。
[0086] 此外,要说明的是,在图4中示出的示例中,在训练出模型特征Xi的预测模型后,需要在块420,使用该预测模型来预测模型特征Xi的预测值并计算出对应的预测差值。在本说
明书的其它实施例中,也可以不包括块420的操作。在这种情况下,在块430中被使用来计算
VIF的预测差值是预测模型的训练过程中的最后一次循环过程中得到的预测差值。
[0087] 此外,在本说明书的其它实施例中,也可以不包括块440的操作。在这种情况下,可以计算出各个模型特征的VIF,以用于后续模型特征筛选。
[0088] 此外,要说明的是,图4中示出的仅仅是针对机器学习模型的模型特征集{X1,X2,......,Xn}中的一个模型特征Xi的模型特征筛选处理。针对机器学习模型的模型特征集
{X1,X2,......,Xn}中的其它模型特征,也可以采用相同的模型特征筛选方法来执行模型特
征筛选处理,由此完成针对机器学习模型的模型特征集{X1,X2,......,Xn}的模型特征筛
除。
[0089] 图5示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的一个示例的流程图。
[0090] 在图5中示出的预测模型训练方法中,第一数据拥有方Alice具有模型特征Xi的预测模型的预测子模型WA,第二数据拥有方Bob具有预测模型的预测子模型WB,以及第二数据
拥有方Charlie具有预测模型的预测子模型WC。第一数据拥有方Alice具有特征数据XA(对应
于权利要求书中的第一特征数据,即,去除了与模型特征Xi对应的特征值后的特征数据)和
标记值Y(即,与模型特征Xi对应的特征值),第二数据拥有方Bob具有特征数据XB,以及第二
数据拥有方Charlie具有特征数据XC。特征数据XA、XB和XC是通过机器学习模型所使用的特
征数据样本X进行垂直切分获得的。
[0091] 如图5所示,首先,在块501,第一数据拥有方Alice、第二数据拥有方Bob和Charlie初始化其预测子模型的子模型参数,即,权重子向量WA、WB和WC,以获得其预测子模型参数的
初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行
预定次数训练循环,例如,执行T次训练循环。
[0092] 在如上初始化后,在块502,经由各个数据拥有方Alice、Bob和Charlie协同来对各自的初始预测子模型进行模型转换处理,以得到转换预测子模型。
[0093] 图6示出了根据本公开的实施例的模型转换过程的一个示例的流程图。
[0094] 如图6所示,在块610,在Alice、Bob和Charlie处,分别将各自具有的预测子模型分解为三个部分预测子模型。具体地,将Alice所具有的子模型WA分解为WA1、WA2和WA3。这里,在
对子模型WA进行的分解过程中,针对子模型WA中的每个元素,将该元素的属性值分解为3个
部分属性值,并且利用分解后的部分属性值得到3个新的元素。然后,将所得到的3个新的元
素分别分配到WA1、WA2和WA3,由此得到WA1、WA2和WA3。此外,按照相同的方式对Bob和Charlie处
的预测子模型WB和WC进行分解,以分别得到WB1、WB2和WB3以及WC1、WC2和WC3。
[0095] 接着,在块620,Alice将WA2和WA3分别发送给Bob和Charlie,在块630,Bob将WB1和WB3分别发送给Alice和Charlie,以及在块640,Charlie将WC1和WC2分别发送给Alice和Bob。
[0096] 接着,在块650,在Alice处,分别对WA1、WB1和WC1进行拼接,以得到转换后子模型WA'。所得到的转换后的预测子模型WA'的维度与用于预测模型训练的特征数据的维度相等。
在Bob处,分别对WA2、WB2和WC2进行拼接,以得到转换后子模型WB'。在Charlie处,分别对WA3、
WB3和WC3进行拼接,以得到转换后子模型WC'。同样,所得到的转换后的预测子模型WB'和WC'
的维度与用于预测模型训练的特征数据的维度相等。
[0097] 回到图5,在如上完成预测子模型转换后,循环执行块503到块513的操作,直到满足循环结束条件。
[0098] 具体地,在块503,经由各个数据拥有方Alice、Bob和Charlie协同来对特征数据XA、XB和XC进行垂直切分‑水平切分转换,以得到转换特征样本子集XA'、XB'和XC'。所得到的
转换特征样本子集XA'、XB'和XC'中的每个特征样本具有每条训练样本的完特征整内容,即,
类似于对特征样本集进行水平切分而得到的特征样本子集。
[0099] 图7示出了根据本公开的实施例的特征数据转换过程的流程图。
[0100] 如图7所示,在块710,在Alice处,将特征数据XA分解为XA1、XA2和XA3。在Bob处,将特征数据XB分解为XB1、XB2和XB3。在Charlie处,将特征数据XC分解为XC1、XC2和XC3。针对特征数据
XA、XB和XC的分解过程与上面针对子模型的分解过程完全相同。然后,在块720,Alice将XA2和
XA3分别发送给Bob和Charlie。在块730,Bob分别将XB1和XB3发送给Alice和Charlie。在块
740,Charlie分别将XC1和XC2发送给Alice和Bob。
[0101] 接着,在块750,在Alice处,对XA1、XB1和XC1进行拼接,以得到转换特征数据XA'。在Bob处,对XA2、XB2和XC2进行拼接,以得到转换特征数据XB'。在Charlie处,对XA3、XB3和XC3进行
拼接,以得到转换特征数据XC'。所得到的转换特征数据XA'、XB'和XC'的维度与用于预测模
型训练的特征数据的维度相等。
[0102] 在块504,基于各个数据拥有方的当前转换子模型WA'、WB'和WC'以及各个数据拥有方各自的转换特征数据XA'、XB'和XC',使用秘密共享矩阵乘法来获得待训练的预测模型的
当前预测值 如何使用秘密共享矩阵乘法来获得待训练的预测模型的当前预测值 将在
下面参照图8到图10进行说明。
[0103] 在得到当前预测值 后,在块505,在第一数据拥有方Alice处,确定当前预测值 与对应的标记值Y之间的预测差值 这里,E是一个列向量,Y是一个表示第一数据拥
有方Alice处的标记值的列向量,以及,是表示数据样本XA的当前预测值的列向量。如果数
据样本XA仅包含单个训练样本,则E、Y和 都是仅具有单个元素的列向量。如果数据样本XA
包含多个数据样本,则E、Y和 都是具有多个元素的列向量,其中,中的每个元素是该多个
数据样本中的对应数据样本的当前预测值,Y中的每个元素是该多个数据样本中的对应数
据样本的标记值,以及E中的每个元素是该多个数据样本的对应数据样本的标记值与当前
预测值的差值。
[0104] 然后,在块506,在Alice处,使用预测差值E和转换特征数据XA'确定第一模型更新量TMP1=XA'*E。然后,在块507,在Alice处,将第一模型更新量TMP1分解为TMP1=TMP1A+
TMP1B+TMP1C。这里,针对TMP1的分解过程与上面描述的分解过程相同,在此不再描述。随后,
在块508,Alice将TMP1B发送给Bob以及将TMP1C发送给Charlie。
[0105] 然后,在块509,Alice分别与Bob和Charlie对预测差值E和转换特征数据XB'和XC'执行秘密共享矩阵乘法来计算出第二模型更新量TMP2=XB'*E以及TMP3=XC'*E。然后,在块
510,在Bob处,将第二模型更新量TMP2分解为TMP2=TMP2A+TMP2B+TMP2C,以及在Charlie处,
将第二模型更新量TMP3分解为TMP3=TMP3A+TMP3B+TMP3C。随后,在块511,Bob将TMP2A发送
给Alice,以及将TMP2C发送给Charlie。Charlie将TMP3A发送给Alice,以及将TMP3B发送给
Bob。
[0106] 接着,在块512,在Alice处,基于TMP1A、TMP2A和TMP3A来对Alice处的当前转换子模型WA'进行更新。具体地,首先,计算出TMPA=TMP1A+TMP2A+TMP3A,然后,使用TMPA来更新当前
转换子模型WA',例如,可以采用下述公式(1)来进行子模型更新:
[0107]
[0108] 其中,WA'(n)是Alice处的当前转换预测子模型,WA'(n+1)是Alice处的更新后的转换预测子模型,α是学习率(learning rate),以及S是该轮模型训练过程所使用的训练样本
数量,即,该轮模型训练过程的批处理大小(batch size)。
[0109] 同样,在Bob处,基于TMP1B、TMP2B和TMP3B来对Bob处的当前转换子模型WB’进行更新。具体地,首先,计算出TMPB=TMP1B+TMP2B+TMP3B,然后,使用TMPB来更新当前转换子模型
WB’,例如,可以采用下述公式(2)来进行子模型更新:
[0110]
[0111] 其中,WB’(n)是Bob处的当前转换预测子模型,WB’(n+1)是Bob处的更新后的转换预测子模型,α是学习率,以及S是该轮模型训练过程所使用的训练样本数量,即,该轮模型训
练过程的批处理大小。
[0112] 在Charlie处,基于TMP1C、TMP2C和TMP3C来对Charlie处的当前转换子模型WC’进行更新。具体地,首先,计算出TMPC=TMP1C+TMP2C+TMP3C,然后,使用TMPC来更新当前转换子模
型WC’,例如,可以采用下述公式(3)来进行子模型更新:
[0113]
[0114] 其中,WC’(n)是Charlie处的当前转换预测子模型,WC’(n+1)是Charlie处的更新后的转换预测子模型,α是学习率,以及S是该轮模型训练过程所使用的训练样本数量,即,该
轮模型训练过程的批处理大小。
[0115] 然后,在块513,判断是否达到预定循环次数,即,判断是否达到循环结束条件。如果达到预定循环次数(例如,T),则进入块514。如果未达到预定循环次数,则流程返回到块
503的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个数据拥有方在
当前循环过程所获得的更新后的预测子模型被用作下一训练循环过程的当前预测子模型。
[0116] 在块514,分别在Alice、Bob和Charlie处,基于Alice、Bob和Charlie的更新后的转换预测子模型,确定Alice、Bob和Charlie处的预测子模型(即,经过训练后的预测子模型)。
[0117] 具体地,在如上训练出WA'、WB'和WC',Alice将WA'[|A|:][:|C|]发送给Bob,以及将WA'[|A|+|B|:|A|+|B|+|C|]发送给Charlie,Bob将WB'[0:|A|]发送给Alice,以及将WB'[|A|
+|B|:|A|+|B|+|C|]发送给Charlie,Charlie将WC'[0:|A|]发送给Alice,以及将WC'[|A|:]
[:|C|]发送给Bob。这里,WA'[|A|:][:|C|]和WC'[|A|:][:|C|]分别是指WA'和WC'中|A|维
(即,|A|)以后且在|C|维之前的向量分量,WA'[|A|+|B|:|A|+|B|+|C|]和WB'[|A|+|B|:|A|+
|B|+|C|]是指WA'和WB'中的从|A|+|B|维之后的向量分量,以及WB'[0:|A|]和WC'[0:|A|]分
别是指WB'和WC'中的|A|维之前的向量分量,即,从0到|A|之间的向量分量。例如,假设W=
[0,1,2,3,4],如果|A|是2,|B|是1,以及|C|是2,则W[0:|A|]=[0,1],W[|A|:][:|C|]=
[2],以及W[|A|+|B|:|A|+|B|+|C|]=[3,4]。接着,在Alice处,计算出WA=WA'[0:|A|]+WB'
[0:|A|]+WC'[0:|A|],在Bob处,计算出WB=WA'[|A|:][:|C|]+WB'[|A|:][:|C|]+WC'[|A|:]
[:|C|],在Charlie处,计算出WC=WA'[|A|+|B|:|A|+|B|+|C|]+WB'[|A|+|B|:|A|+|B|+|C|]
+WC'[|A|+|B|:|A|+|B|+|C|],由此得到Alice、Bob和Charlie处的经过训练后的子模型WA、
WB和WC。
[0118] 这里要说明的是,在上述的示例中,训练循环过程的结束条件是达到预定循环次数。在本公开的其它示例中,训练循环过程的结束条件也可以是所确定出的预测差值位于
预定范围内,即,预测差值E中的每个元素Ei都位于预定范围内,预测差值E中的各个元素Ei
之和小于预定阈值,或者预测差值E的均值小于预定阈值。相应地,图5中的块513的操作可
以在块505的操作之后执行。
[0119] 这里要说明的是,在X是单个特征样本时,X是由多个属性组成的特征向量(列向量或行向量),以及E是单个预测差值。在X是多个特征样本时,Xi是特征矩阵,每个特征样本的
属性构成特征矩阵Xi的一列元素/一行元素,以及E是预测差值向量。在计算X·E时,与E中
的各个元素相乘的是矩阵X的某个特征所对应的各个样本的特征值。例如,假设E是列向量,
则每次相乘时,E与矩阵X中的一个行相乘,该行中的元素表示的是各个样本所对应的某一
个特征的特征值。
[0120] 图8示出了根据本说明书的实施例的预测值获取过程的流程图。
[0121] 如图8所示,首先,在块801,在Alice处,使用转换特征数据XA'和当前转换预测子模型WA',计算出ZA1=XA'*WA'。在Bob处,使用转换特征数据XB'和当前转换预测子模型WB',
计算出ZB1=XB'*WB'。在Charlie处,使用转换特征数据XC'和当前转换预测子模型WC',计算
出ZC1=XC'*WC'。
[0122] 然后,在块802,Alice、Bob和Charlie使用秘密共享矩阵乘法来计算出Z2=XA'*(WB'+WC'),Z3=XB'*(WA'+WC')以及Z4=XC'*(WA'+WB')。例如,针对Z2=XA'*(WB'+WC'),可以通
过Alice和Bob之间执行秘密共享矩阵乘法来计算出XA'*WB',以及通过Alice和Charlie之间
执行秘密共享矩阵乘法来计算出XA'*WC',然后,在Alice处求和以得到Z2。对于Z3和Z4,可以
采用相同的方式计算出。这里,秘密共享矩阵乘法可以使用有可信初始化方秘密共享矩阵
乘法和无可信初始化方秘密共享矩阵乘法。关于有可信初始化方秘密共享矩阵乘法和无可
信初始化方秘密共享矩阵乘法将在下面参照图9和图10分别进行说明。
[0123] 接着,在块803,在Alice处,将Z2分解为ZA2、ZB2和ZC2。在块804,在Bob处,将Z3分解为ZA3、ZB3和ZC3。在块805,在Charlie处,将Z4分解为ZA4、ZB4和ZC4。这里,针对Z2、Z3和Z4的分解过
程与上述针对特征数据的分解过程相同,在此不再描述。
[0124] 然后,在块806,Alice将ZB2发送给Bob,以及将ZC2发送给Charlie。在块807,Bob将ZA3发送给Alice,以及将ZC3发送给Charlie。在块808,Charlie将ZA4发送给Alice,以及将ZB4
发送给Bob。
[0125] 接着,在块809,在Alice处,计算ZA=ZA1+ZA2+ZA3+ZA4。在Bob处,计算ZB=ZB1+ZB2+ZB3+ZB4。在Charlie处,计算ZC=ZC1+ZC2+ZC3+ZC4。然后,在块810,Alice将ZA发送给Bob和
Charlie。在块811,Bob将ZB发送给Alice和Charlie,以及在块812,Charlie将ZC发送给Alice
和Bob。
[0126] 然后。在块812,在Alice、Bob和Charlie处,获取预测值
[0127] 图9示出了根据本说明书实施例的有可信初始化方秘密共享矩阵乘法的一个示例的流程图。图9中示出的有可信初始化方秘密共享矩阵乘法以计算Z2=XA'*WB'为例进行说
明,其中,XA'是Alice处的转换特征数据(下文中称为特征矩阵),WB'是Bob处的转换预测子
模型(下文中称为权重向量)。
[0128] 如图9所示,首先,在可信初始化方30处,生成2个随机权重向量WR,1和WR,2,2个随机特征矩阵XR,1、XR,2以及2个随机标记值向量YR,1、YR,2,其中, 这
里,随机权重向量的维度与各个数据拥有方的转换子模型(权重向量)的维度相同,随机特
征矩阵的维度与转换样本子集(特征矩阵)的维度相同,以及随机标记值向量的维度与标记
值向量的维度相同。
[0129] 然后,在块901,可信初始化方30将所生成的WR,1、XR,1和YR,1发送给Alice,以及在块902,将所生成的WR,2、XR,2和YR,2发送给Bob。
[0130] 接着,在块903,在Alice处,将特征矩阵XA'分解成2个特征子矩阵,即,特征子矩阵XA1'和XA2'。
[0131] 例如,假设特征矩阵XA'包括两个特征样本S1和S2,特征样本S1和S2各自包括3个1 1 1 2 2 2
属性值,其中,S1=[a1 ,a2 ,a3 ]和S2=[a1 ,a2 ,a3],那么,在将特征矩阵XA'分解成2个特
1 1 1
征子矩阵XA1'和XA2'之后,第一特征子矩阵XA1'包括特征子样本[a11 ,a21 ,a31 ]和特征子样
2 2 2 1 1 1 2
本[a11 ,a21 ,a31],第二特征子矩阵XA2'包括特征子样本[a12 ,a22 ,a32]和特征子样本[a12 ,
2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2
a22 ,a32],其中,a11+a12=a1 ,a21 +a22=a2 ,a31+a32=a3 ,a11+a12 =a1,a21+a22=a2和
2 2 2
a31+a32=a3。
[0132] 然后,在块904,Alice将所分解出的特征子矩阵XA2'发送给Bob。
[0133] 在块905,在Bob处,将权重向量WB'分解成2个权重子向量WB1'和WB2'。权重向量的分解过程与上面描述的分解过程相同。在块906,Bob将权重子向量WB1'发送给Alice。
[0134] 然后,在各个数据拥有方处,基于各个数据拥有方的权重子向量、对应的特征子矩阵以及所接收的随机权重向量和随机特征矩阵,确定该数据拥有方处的权重子向量差值E
和特征子矩阵差值D。例如,在块907,在Alice处,确定出其权重子向量差值E1=WB1'‑WR,1以
及特征子矩阵差值D1=XA1'‑XR,1。在块908,在Bob处,确定出其权重子向量差值E2=WB2'‑
WR,2以及特征子矩阵差值D2=XA2'‑XR,2。
[0135] 在各个数据拥有方确定出各自的权重子向量差值Ei和特征子矩阵差值Di后,在块909,Alice将D1和E1分别发送给Bob。在块910,Bob将D2和E2发送给Alice。
[0136] 然后,在块911,在各个数据拥有方处,分别对所述各个数据拥有方处的权重子向量差值和特征子矩阵差值进行求和,以得到权重子向量总差值E和特征子矩阵总差值D。例
如,如图9中所示,D=D1+D2,以及E=E1+E2。
[0137] 然后,在各个数据拥有方处,基于所接收的随机权重向量WR,i、随机特征矩阵XR,i、随机标记值向量YR,i、权重子向量总差值E、特征子矩阵总差值D计算各自对应的预测值向量
Zi。
[0138] 在本公开的一个示例中,在各个数据拥有方处,可以对该数据拥有方的随机标记值向量、权重子向量总差值与该数据拥有方的随机特征矩阵之积以及特征子矩阵总差值与
该数据拥有方的随机权重向量之积进行求和,以得到对应的预测值向量(第一种计算方
式)。或者,可以对该数据拥有方的随机标记值向量、权重子向量总差值与该数据拥有方的
随机特征矩阵之积、特征子矩阵总差值与该数据拥有方的随机权重向量之积、以及权重子
向量总差值与特征子矩阵总差值之积进行求和,以得到对应的预测值矩阵(第二种计算方
式)。
[0139] 这里要说明的是,在各个数据拥有方处的预测值矩阵计算时,仅仅只有一个数据拥有方处计算出的预测值矩阵中包含权重子向量总差值与特征子矩阵总差值之积。换言
之,针对各个数据拥有方,仅仅只有一个数据拥有方的预测值向量是按照第二种计算方式
计算出的,而其余的数据拥有方按照第一种计算方式来计算出对应的预测值向量。
[0140] 例如,在块912,在Alice处,计算出对应的预测值向量Z1=YR,1+E*XR,1+D*WR,1+D*E。在块913,在Bob处,计算出对应的预测值向量Z2=YR,2+E*XR,2+D*WR,2。
[0141] 这里要说明的,在图9中示出的是在Alice处计算出的Z1中包含D*E。在本公开的其它示例中,也可以在Bob所计算出的Zi中包含D*E,相应地,在Alice处计算出的Z1中不包含
D*E。换言之,在各个数据拥有方处所计算出的Zi中,仅仅只有一个包含D*E。
[0142] 然后,在块914,Alice将Z1发送给Bob。在块915,Bob将Z2发送给Alice。
[0143] 然后,在块916和917,各个数据拥有方进行求和Z=Z1+Z2,以得到秘密共享矩阵乘法结果。
[0144] 图10示出了根据本说明书实施例的无可信初始化方秘密共享矩阵乘法的一个示例的流程图。在图10中,以数据拥有方Alice和Bob之间的XA'*WB'的计算过程为例进行说明。
[0145] 如图10所示,首先,在块1001,如果Alice处的XA'(下文中称为第一特征矩阵)的行数不是偶数,和/或Bob处的当前子模型参数WB'(下文中称为第一权重子矩阵)的列数不为
偶数,则对第一特征矩阵XA'和/或第一权重子矩阵WB'进行维度补齐处理,以使得第一特征
矩阵XA'的行数是偶数和/或第一权重子矩阵WB'的列数为偶数。例如,将第一特征矩阵XA'的
行末尾增加一行0值和/或将第一权重子矩阵WB'的列末尾多增加一列0值来进行维度补齐
处理。在下面的描述中,假设第一权重子矩阵WB'的维度为I*J,以及第一特征矩阵XA'的维度
为J*K,其中,J为偶数。
[0146] 然后,在Alice处执行块1002到1004的操作,以得到随机特征矩阵X1、第二和第三特征矩阵X2和X3。具体地,在块1002,生成随机特征矩阵X1。这里,随机特征矩阵X1的维度与
第一特征矩阵XA'的维度相同,即,随机特征矩阵X1的维度为J*K。在块1003,将随机特征矩
阵X1减去第一特征矩阵XA',以得到第二特征矩阵X2。第二特征矩阵X2的维度为J*K。在块
1004,将随机特征矩阵X1的偶数行子矩阵X1_e减去随机特征矩阵X1的奇数行子矩阵X1_o,
以得到第三特征矩阵X3。第三特征矩阵X3的维度为j*K,其中j=J/2。
[0147] 此外,在Bob处执行块1005到1007的操作,以得到随机权重子矩阵WB1、第二和第三权重子矩阵WB2和WB3。具体地,在块1005,生成随机权重子矩阵Wi1。这里,随机权重子矩阵WB1
的维度与第一权重子矩阵WB'的维度相同,即,随机权重子矩阵Wi1的维度为I*J。在块1006,
对第一权重子矩阵WB'和随机权重子矩阵WB1进行求和,以得到第二权重子矩阵WB2。第二权重
子矩阵WB2的维度为I*J。在块1007,将随机权重子矩阵WB1的奇数列子矩阵WB1_o加上随机权重
子矩阵WB1的偶数列子矩阵WB1_e而得到第三权重子矩阵WB3。第三权重子矩阵WB3的维度为I*
j,其中j=J/2。
[0148] 然后,在块1008,Alice将所生成的第二特征矩阵X2和第三特征矩阵X3发送给Bob,以及在块1009,Bob将第二权重子矩阵WB2和第三权重子矩阵WB3发送给Alice。
[0149] 接着,在块1010,在Alice处,基于等式Y1=WB2*(2*XA'‑X1)‑WB3*(X3+X1_e)进行矩阵计算,以得到第一矩阵乘积Y1,并且在块1012,将第一矩阵乘积Y1发送给Bob。
[0150] 在块1011,在Bob处,基于等式Y2=(WB'+2*WB1)*X2+(WB3+WB1_o)*X3计算出第二矩阵乘积Y2,并且在块1013,将第二矩阵乘积Y2发送给Alice。
[0151] 然后,在块1014和1015,分别在Alice和Bob处,对第一矩阵乘积Y1和第二矩阵乘积Y2进行求和,以得到XA'*WB'=YB=Y1+Y2。
[0152] 利用图5到图10中公开的预测模型训练方法,能够在不泄漏该多个数据拥有方的秘密数据的情况下训练得到预测模型的模型参数,并且由此得到预测差值。
[0153] 这里要说明的是,图5到图10中示出的预测模型训练方法仅仅是本说明书的一个实施例,在本说明书的其它实施例中,可以采用其它合适的预测模型训练方法来实现。
[0154] 图11示出了根据本说明书的实施例的用于经由多个数据拥有方来协同确定模型特征Xi的预测值的过程的一个示例的流程图。
[0155] 如图1所示,在块1110,经由各个数据拥有方协同来对各个数据拥有方的预测子模型进行模型转换处理,以得到各个数据拥有方的转换预测子模型。
[0156] 在块1120,经由各个数据拥有方协同来对各个数据拥有方的特征数据进行垂直‑水平切分转换,以得到各个数据拥有方处的转换特征数据。
[0157] 在块1130,基于各个数据拥有方的转换预测子模型和转换特征数据,使用秘密共享矩阵乘法来获得模型特征Xi的预测值。
[0158] 图12示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的另一示例的流程图。
[0159] 如图12所示,在块1210,第一数据拥有方Alice、第二数据拥有方Bob和Charlie初始化其预测子模型的子模型参数,即,权重子向量WA、WB和WC,以获得其子模型参数的初始
值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定
次数训练循环,例如,执行T次训练循环。
[0160] 在如上初始化后,在块1220,基于各个数据拥有方的当前预测子模型WA、WB和WC以及各个数据拥有方各自的特征数据XA、XB和XC,使用秘密共享矩阵加法来获得待训练的预测
模型的当前预测值 如何使用秘密共享矩阵加法来获得待训练的预测模型的当前预测值
将在下面参照图13进行说明。
[0161] 在得到当前预测值 后,在块1230,在第一数据拥有方Alice处,确定当前预测值与对应的标记值Y之间的预测差值
[0162] 然后,在块1240,将所确定出的预测差值e分别发送给第二数据拥有方Bob和Charlie。
[0163] 然后,在块1250,在各个数据拥有方处,基于该数据拥有方的当前预测子模型以及预测差值e与该数据拥有方的特征数据之积来更新该数据拥有处的当前预测子模型。例如,
第一数据拥有方Alice使用当前子模型WA以及预测差值e与特征样本集XA之积来更新第一数
据拥有方Alice处的当前子模型,第二数据拥有方Bob使用当前子模型WB以及预测差值e与
特征样本集XB之积来更新第二数据拥有方Bob处的当前子模型,以及第二数据拥有方
Charlie使用当前子模型WC以及预测差值e与特征样本集XC之积来更新第二数据拥有方
Charlie处的当前子模型。
[0164] 在本说明书的一个示例中,基于数据拥有方的当前子模型以及预测差值与该数据拥有方的特征样本子集之积来更新该数据拥有方处的当前子模型可以按照以下等式更新
数据拥有方处的当前子模型Wn+1=Wn‑α·Xi·e,其中,Wn+1表示该数据拥有方处的更新后的
当前子模型,Wn表示该数据拥有方处的当前子模型,α表示学习率,Xi表示该数据拥有方处的
特征样本子集,以及e表示所述预测差值。
[0165] 在如上在各个数据拥有方完成各自的子模型更新后,在块1260,判断是否达到预定循环次数,即,判断是否达到预定条件。如果达到预定循环次数,则各个数据拥有方将各
自的子模型参数的当前更新值,存储为其子模型参数的最终值,从而得到各自的训练后的
子模型,然后流程结束。如果未达到预定循环次数,则流程返回到块1220的操作来执行下一
训练循环过程,其中,在该下次训练循环过程中,各个数据拥有方在当前循环过程所获得的
更新后的当前子模型被用作下一训练循环过程的当前子模型。此外,在本说明书的其它示
例中,训练循环过程的结束条件也可以是所确定出的预测差值位于预定范围内,即,预测差
值e中的每个元素ei都位于预定范围内,例如,预测差值e中的每个元素ei都小于预定阈值。
相应地,图12中的块1260的操作可以在块1230的操作之后执行。
[0166] 图13示出了根据本公开的实施例的用于经由多个数据拥有方来协同确定模型特征的预测值的过程的另一示例的流程图。
[0167] 如图13所示,在块1301,在第一数据拥有方Alice处,计算Alice所拥有的当前子模型WA和对应的特征样本子集XA的乘积,以得到第一数据拥有方Alice的预测值向量YA=WA*
XA。在第二数据拥有方Bob处,计算Bob所拥有的当前子模型WB和对应的特征样本子集XB的乘
积,以得到第二数据拥有方Bob的预测值向量YB=WB*XB。在第二数据拥有方Charlie处,计算
Charlie所拥有的当前子模型WC和对应的特征样本子集XC的乘积,以得到第二数据拥有方
Charlie的预测值向量YC=WC*XC。
[0168] 然后,在块1302,在第一数据拥有方Alice处,将所计算出的预测值向量YA分解为3个预测值子向量YA1、YA2和YA3,其中,YA=YA1+YA2+YA3。在第二数据拥有方Bob处,将所计算出
的预测值向量YB分解为3个预测值子向量YB1、YB2和YB3,其中,YB=YB1+YB2+YB3。在第二数据拥
有方Charlie处,将所计算出的预测值向量YC分解为3个预测值子向量YC1、YC2和YC3,其中,YC
=YC1+YC2+YC3。
[0169] 然后,在块1303,Alice将所得到的预测值子向量YA2发送给第二数据拥有方Bob,以及将所得到的预测值子向量YA3发送给第二数据拥有方Charlie。在块1304,Bob将所得到的
预测值子向量YB1发送给第一数据拥有方Alice,以及将所得到的预测值子向量YB3发送给第
二数据拥有方Charlie。在块1305,Charlie将所得到的预测值子向量YC2发送给第二数据拥
有方Bob,以及将所得到的预测值子向量YC1发送给第一数据拥有方Alice。
[0170] 接着,在块1306,在第一数据拥有方Alice处,对所得到的各个数据拥有方的预测值子向量进行求和,以得到第一数据拥有方Alice处的预测值子向量和值Y1=YA1+YB1+YC1。
在第二数据拥有方Bob处,对所得到的各个数据拥有方的预测值子向量进行求和,以得到第
二数据拥有方Bob处的预测值子向量和值Y2=YA2+YB2+YC2。在第二数据拥有方Charlie处,对
所得到的各个数据拥有方的预测值子向量进行求和,以得到第二数据拥有方Charlie处的
预测值子向量和值Y3=YA3+YB3+YC3。
[0171] 然后,在块1307,Alice将所得到的预测值子向量和值Y1分别发送给第二数据拥有方Bob和Charlie,以及在块1308,Bob将所得到的预测值子向量和值Y2分别发送给第一数据
拥有方Alice和第二数据拥有方Charlie。在块1309,Charlie将所得到的预测值子向量和值
Y3分别发送给第二数据拥有方Bob和第一数据拥有方Alice。
[0172] 在块1310,在各个数据拥有方处,对所得到的各个数据拥有方的预测值子向量和值进行求和Y=Y1+Y2+Y3,以得到预测模型的当前预测值。
[0173] 如上参照图1到图13,对根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选方法进行了描述。
[0174] 利用该机器学习模型特征筛选方法,可以通过多方安全计算来计算出机器学习模型的模型特征的方差膨胀因子,从而使得能够在确保各个数据拥有方的数据隐私得到保护
的情况下,实现机器学习模型的模型特征筛选。
[0175] 此外,通过根据第二数据拥有方的数目来确定所采用的秘密共享的具体实现方案,可以在第二数据拥有方的数目包括两个以上时,选择使用秘密共享矩阵加法来实现多
方安全计算,由此可以降低多方安全计算的复杂度,从而提升多方安全计算效率,进而提升
模型特征筛选效率。
[0176] 图14示出了根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选装置(下文中简称为“模型特征筛选装置”)1400的方框图。模型特征筛选装置1400应用于
第一数据拥有方A 10处。
[0177] 如图14所示,模型特征筛选装置1400包括模型训练单元1410、模型预测单元1420、方差膨胀因子确定单元1430和模型特征筛选单元1440。
[0178] 模型训练单元1410被配置为使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi的预测模型。该预测模型的输出是模型特征Xi的预测值,以及预测模型
的输入特征是模型特征集中的剩余模型特征Xj。此外,该预测模型被垂直切分为多个预测
子模型,每个数据拥有方具有一个预测子模型。模型训练单元1410的操作可以参考上面参
照图4描述的块410的操作。
[0179] 模型预测单元1420被配置为根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到模型特征Xi的预测值和预测差值,所述第一特征数据是从各
个数据拥有方的特征数据中去除与模型特征Xi对应的特征值后的特征数据。模型预测单元
1420的操作可以参考上面参照图4描述的块420的操作。
[0180] 方差膨胀因子确定单元1430被配置为基于模型特征Xi的预测差值,确定模型特征Xi的方差膨胀因子,以用于对模型特征Xi进行模型特征筛选处理。方差膨胀因子确定单元
1430的操作可以参考上面参照图4描述的块430的操作。
[0181] 模型特征筛选单元1440被配置为根据模型特征Xi的方差膨胀因子,对模型特征Xi进行模型特征筛选处理。模型特征筛选单元1440的操作可以参考上面参照图4描述的块440
的操作。
[0182] 此外,可选地,在本说明书的其它实施例中,模型特征筛选装置1400也可以不包括模型预测单元1420和/或模型特征筛选单元1440。在模型特征筛选装置1400不包括模型训
练单元1420的情况下,方差膨胀因子确定单元1430使用模型训练单元1410在最后一次循环
训练时所得到的预测差值来计算VIF。
[0183] 此外,可选地,在本说明书的其它实施例中,可以使用提供单元来替换模型特征筛选单元1440。所述提供单元被配置为将模型特征Xi的方差膨胀因子提供给模型特征筛选方
来进行模型特征筛选。这里,模型特征筛选方可以是第三方筛选机构或者用户,或者,也可
以是多个数据拥有方中的指定数据拥有方。在接收到所有数据拥有方的所有模型特征的
VIF后,根据各个模型特征的VIF来进行模型特征筛除处理。例如,筛除VIF大于预定阈值的
模型特征,或者,根据各个模型特征的VIF的值来进行排序,并且筛除排序Top K的模型特
征。
[0184] 图15示出了根据本说明书的实施例的模型训练单元的一个示例(模型训练单元1500)的方框图。
[0185] 如图15所示,模型训练单元1500包括模型转换模块1510、样本转换模块1520、预测值获取模块1530、预测差值确定模块1540、模型更新量确定模块1550、模型更新量分解模块
1560、模型更新量发送/接收模块1570、模型更新模块1580和模型确定模块1590。
[0186] 模型转换模块1510被配置为对各个数据拥有方的预测子模型进行模型转换处理,以得到各个数据拥有方的转换预测子模型。模型转换模块1510的操作可以参考上面参照图
3描述的块502的操作以及参照图6描述的操作。
[0187] 在进行模型训练时,样本转换模块1520、预测值获取模块1530、预测差值确定模块1540、模型更新量确定模块1550、模型更新量分解模块1560、模型更新量发送/接收模块
1570和模型更新模块1580被配置为循环执行操作,直到满足循环结束条件。所述循环结束
条件可以包括:达到预定循环次数;或者所确定出的预测差值位于预定范围内。在循环过程
未结束时,更新后的各个数据拥有方的转换预测子模型被用作下一循环过程的当前转换预
测子模型。
[0188] 具体地,在每次循环过程中,样本转换模块1520被配置为对特征数据进行垂直‑水平切分转换,以得到各个数据拥有方处的转换特征数据。样本转换模块1520的操作可以参
考上面参照图7描述的过程。
[0189] 预测值获取模块1530被配置为基于各个数据拥有方的当前转换预测子模型和转换特征数据,使用秘密共享矩阵乘法来获得预测模型的当前预测值。预测值获取模块1530
的操作可以参考上面参照图5描述的块504的操作以及参照图8‑图10描述的操作。
[0190] 预测差值确定模块1540被配置为确定当前预测值与对应的标记值之间的预测差值。预测差值确定模块1540的操作可以参考上面参照图5描述的块505的操作。
[0191] 模型更新量确定模块1550被配置为使用预测差值和第一数据拥有方处的转换特征数据确定第一模型更新量。模型更新量确定模块1550的操作可以参考上面参照图5描述
的块506的操作。
[0192] 模型更新量分解模块1560被配置为将第一模型更新量分解为第一数目个第一部分模型更新量。这里,第一数目是参与模型训练的数据拥有方的数目。模型更新量分解模块
1560的操作可以参考上面参照图5描述的块507的操作。
[0193] 模型更新量发送/接收模块1570被配置为将第二数目个第一部分模型更新量中的每个分别发送给各个第二数据拥有方;以及从每个第二数据拥有方接收一个第二部分模型
更新量,所述第二部分模型更新量是在第二数据拥有方处对第二模型更新量进行分解而得
到的第一数目个第二部分模型更新量中的一个,所述第二模型更新量通过对所述预测差值
和所述第二数据拥有方处的第一转换特征数据执行秘密共享矩阵乘法而得到。这里,第二
数目等于第一数目减一。模型更新量发送/接收模块1570的操作可以参照上面参照图5描述
的块511的操作。
[0194] 模型更新模块1580被配置为基于剩余的第一部分模型更新量和所接收的各个第二部分模型更新量来更新第一数据拥有方处的当前转换预测子模型。模型更新模块1580的
操作可以参考上面参照图5描述的块512的操作。
[0195] 模型确定模块1590被配置为在满足循环结束条件时,基于第一数据拥有方和各个第二数据拥有方的转换预测子模型,确定第一数据拥有方的预测子模型。模型确定模块
1590的操作可以参考上面参照图5描述的块514的操作。
[0196] 图16示出了根据本说明书的实施例的模型训练单元1600的另一示例的方框图。
[0197] 如图16所示,模型训练单元1600包括预测值获取模块1610、预测差值确定模块1620、预测差值发送模块1630和模型更新模块1640。
[0198] 在进行模型训练时,预测值获取模块1610、预测差值确定模块1620、预测差值发送模块1630以及模型更新模块1640被配置为循环执行操作,直到满足预定条件。所述预定条
件可以包括:达到预定循环次数;或者所确定出的预测差值位于预定范围内。
[0199] 具体地,在每次循环程中,预测值获取模块1610被配置为基于各个数据拥有方的当前预测子模型以及对应的特征数据,使用秘密共享矩阵加法来获得预测模型的当前预测
值。预测值获取模块1610的操作可以参考上面参照图12描述的块1220的操作以及图13中示
出的第一数据拥有方侧执行的操作。
[0200] 预测差值确定模块1620被配置为确定当前预测值与对应的标记值之间的预测差值。预测差值确定模块1620的操作可以参考上面参照图12描述的块1230的操作。
[0201] 预测差值发送模块1630被配置为将所确定出的预测差值发送给各个第二数据拥有方,以供在各个第二数据拥有方处,基于该第二数据拥有方的当前预测子模型以及该第
二数据拥有方的特征样本与所确定出的预测差值之积来更新该第二数据拥有方的当前预
测子模型。预测差值发送模块1630的操作可以参考上面参照图12描述的块1240的操作。
[0202] 模型更新模块1240被配置为基于第一数据拥有方的当前预测子模型以及第一数据拥有方的特征数据与所确定出的预测差值之积来更新第一数据拥有方的当前预测子模
型,其中,在循环过程未结束时,更新后的第一数据拥有方和各个第二数据拥有方的当前预
测子模型被用作下一训练过程的当前预测子模型。模型更新模块1640的操作可以参考上面
参照图12描述的块1250的操作。
[0203] 图17示出了根据本说明书的实施例的基于隐私保护的机器学习模型特征筛选装置(下文中简称为“模型特征筛选装置”)1700的方框图。模型特征筛选装置1700应用于第二
数据拥有方。如图17所示,模型特征筛选装置1700包括模型训练单元1710和模型预测单元
1720。
[0204] 模型训练单元1710被配置为使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi的预测模型。预测模型是线性回归模型,该预测模型的输出是模型特
征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj,预测模型被垂
直切分为多个预测子模型,每个数据拥有方具有一个预测子模型。
[0205] 模型预测单元1720被配置为根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到模型特征Xi的预测值以及预测差值。这里,第一特征数据是从
各个数据拥有方的特征数据中去除与模型特征Xi对应的特征值后的特征数据。
[0206] 在本说明书的另一示例中,模型特征筛选装置1700也可以不包括模型预测单元1720。
[0207] 图18示出了根据本说明书的实施例的模型训练单元1800的一个示例的方框图。
[0208] 如图18所示,模型训练单元1800包括模型转换模块1810、样本转换模块1820、预测值获取模块1830、模型更新量接收模块1840、模型更新量确定模块1850、模型更新量分解模
块1860、模型更新量发送模块1870、模型更新模块1880和模型确定模块1890。
[0209] 模型转换模块1810被配置为对各个数据拥有方的预测子模型进行模型转换处理,以得到各个数据拥有方的转换预测子模型。模型转换模块1810的操作可以参考上面参照图
5描述的块502的操作以及参照图6描述的操作。
[0210] 在进行模型训练时,样本转换模块1820、预测值获取模块1830、模型更新量接收模块1840、模型更新量确定模块1850、模型更新量分解模块1860、模型更新量发送模块1870和
模型更新模块1880被配置为循环执行操作,直到满足循环结束条件。在循环过程未结束时,
更新后的各个数据拥有方的转换预测子模型被用作下一循环过程的当前转换预测子模型。
[0211] 具体地,在每次循环过程中,样本转换模块1820被配置为对各个数据拥有方的特征数据进行垂直‑水平切分转换,以得到各个数据拥有方处的转换特征数据。样本转换模块
1820的操作可以参考上面参照图7描述的过程。
[0212] 预测值获取模块1830被配置为基于各个数据拥有方的当前转换预测子模型和转换特征数据,使用秘密共享矩阵乘法来获得预测模型的当前预测值。这里,预测值获取模块
1830可以被配置为使用有可信初始化方秘密共享矩阵乘法或无可信初始化方秘密共享矩
阵乘法来获得当前预测值。预测值获取模块1830的操作可以参考上面参照图5描述的块504
的操作。
[0213] 模型更新量接收模块1840被配置为从第一数据拥有方接收一个第一部分模型更新量以及从每个其余第二数据拥有方接收一个第二部分模型更新量。从各个其余第二数据
拥有方接收的第二部分模型更新量是在该第二数据拥有方处对自有第二模型更新量进行
分解而得到的第一数目个第二部分模型更新量中的一个,所述自有第二模型更新量是在该
第二数据拥有方处对所述预测差值和该第二数据拥有方处的第一转换特征数据执行秘密
共享矩阵乘法得到的。模型更新量接收模块1840的操作可以参考上面参照图5描述的块
508/511的操作。
[0214] 模型更新量确定模块1850被配置为对预测差值和第二数据拥有方处的转换特征数据执行秘密共享矩阵乘法,以得到第二模型更新量。第二模型更新量确定模块1850的操
作可以参考上面参照图5描述的块509的操作。模型更新量确定单元1850可以被配置为使用
有可信初始化方秘密共享矩阵乘法或无可信初始化方秘密共享矩阵乘法来得到第二模型
更新量。
[0215] 模型更新量分解模块1860被配置为将第二模型更新量分解为第一数目个第二部分模型更新量。模型更新量分解模块1860的操作可以参考上面参照图3描述的块310的操
作。
[0216] 模型更新量发送模块1870被配置为将一个第二部分模型更新量发送给第一数据拥有方,以及向其余每个第二数据拥有方中的每个发送一个第二部分模型更新量。模型更
新量发送模块1870的操作可以参考上面参照图5描述的块511的操作。
[0217] 模型更新模块1880被配置为基于剩余的第二部分模型更新量和所接收的第一部分模型更新量和第二部分模型更新量来更新第二数据拥有方的当前转换预测子模型。模型
更新模块1880的操作可以参考上面参照图5描述的块512的操作。
[0218] 模型确定模块1890被配置为在满足循环结束条件时,基于各个数据拥有方的转换预测子模型,确定第二数据拥有方的预测子模型。模型确定模块1890的操作可以参考上面
参照图5描述的块514的操作。
[0219] 图19示出了根据本说明书的实施例的模型训练单元1900的另一示例的方框图。如图19所示,模型训练单元1900包括预测值获取模块1910、预测差值接收模块1920和模型更
新模块1930。
[0220] 在模型训练时,预测值获取模块1910、预测差值接收模块1920以及模型更新模块1930被配置为循环执行操作,直到满足循环结束条件。
[0221] 具体地,在每次循环过程中,预测值获取模块1910被配置为基于各个数据拥有方的当前预测子模型以及对应的特征样本,使用秘密共享矩阵加法来获得预测模型的当前预
测值。预测值获取模块1910的操作可以参考上面参照图12描述的块1220的操作以及图13中
示出的任一第二数据拥有方侧执行的操作。
[0222] 预测差值接收模块1920被配置为从第一数据拥有方接收预测差值。预测差值接收模块1920的操作可以参考上面参照图12描述的块1240的操作
[0223] 模型更新模块1930被配置为基于第二数据拥有方的当前预测子模型以及所接收的预测差值与第二数据拥有方的特征数据之积来更新第二数据拥有方的当前预测子模型。
模型更新模块1930的操作可以参考上面参照图12描述的块1250的操作。
[0224] 这里要说明的是,模型特征筛选装置1400和1500可以在同一数据拥有方处实现。换言之,各个数据拥有方既可以充当第一数据拥有方,也可以充当第二数据拥有方。
[0225] 如上参照图1到图19,对根据本说明书的实施例的模型特征筛选方法及模型特征筛选装置的实施例进行了描述。上面的模型特征筛选装置可以采用硬件实现,也可以采用
软件或者硬件和软件的组合来实现。
[0226] 图20示出了根据本说明书的实施例的用于实现基于数据隐私保护的机器学习模型特征筛选的电子设备2000的结构框图。
[0227] 如图20所示,电子设备2000可以包括至少一个处理器2010、存储器(例如,非易失性存储器)2020、内存2030、通信接口2040以及内部总线2060,并且至少一个处理器2010、存
储器2020、内存2030和通信接口2040经由总线2060连接在一起。该至少一个处理器2010执
行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式
实现的元素)。
[0228] 在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器2010:使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi
的预测模型,其中,预测模型是线性回归模型,预测模型的输出是模型特征Xi的预测值,以
及预测模型的输入特征是模型特征集中的剩余模型特征Xj,所述预测模型被垂直切分为多
个预测子模型,每个数据拥有方具有一个预测子模型;以及基于模型特征Xi的预测差值,确
定模型特征Xi的方差膨胀因子,以用于模型特征筛选处理。
[0229] 应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器2010执行在本说明书的各个实施例中如上结合图1‑19描述的各种操作和功能。
[0230] 图21示出了根据本说明书的实施例的用于实现基于神经网络模型的模型预测的电子设备2100的结构框图。
[0231] 如图21所示,电子设备2100可以包括至少一个处理器2110、存储器(例如,非易失性存储器)2120、内存2130、通信接口2140以及内部总线2160,并且至少一个处理器2110、存
储器2120、内存2130和通信接口2140经由总线2160连接在一起。该至少一个处理器2110执
行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式
实现的元素)。
[0232] 在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器2110:使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi
的预测模型,其中,预测模型是线性回归模型,预测模型的输出是模型特征Xi的预测值,以
及预测模型的输入特征是模型特征集中的剩余模型特征Xj,预测模型被垂直切分为多个预
测子模型,每个数据拥有方具有一个预测子模型,其中,预测模型的预测值被使用来确定模
型特征Xi的预测差值和方差膨胀因子,所述方差膨胀因子用于对模型特征Xi进行模型特征
筛选处理。
[0233] 应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器2110执行在本说明书的各个实施例中如上结合图1‑19描述的各种操作和功能。
[0234] 在本说明书的实施例中,电子设备2000/2100可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电
话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、可佩戴计算设备、消费电子设备
等等。
[0235] 根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使
得机器执行本说明书的各个实施例中如上结合图1‑19描述的各种操作和功能。
[0236] 具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或
处理器读出并执行存储在该可读存储介质中的指令。
[0237] 在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部
分。
[0238] 可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD‑ROM、CD‑R、CD‑RW、DVD‑ROM、DVD‑RAM、DVD‑RW、DVD‑RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网
络从服务器计算机上或云上下载程序代码。
[0239] 本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
[0240] 需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需
要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有
些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以
由多个独立设备中的某些部件共同实现。
[0241] 以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或
ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或
其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体实现方式(机械方
式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0242] 上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意
味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对
所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的
情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公
知的结构和装置以框图形式示出。
[0243] 本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见
的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应
用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开
的原理和新颖性特征的最广范围相一致。