CN111062487B - 基于数据隐私保护的机器学习模型特征筛选方法及装置 - Google Patents
基于数据隐私保护的机器学习模型特征筛选方法及装置 Download PDFInfo
- Publication number
- CN111062487B CN111062487B CN201911195304.7A CN201911195304A CN111062487B CN 111062487 B CN111062487 B CN 111062487B CN 201911195304 A CN201911195304 A CN 201911195304A CN 111062487 B CN111062487 B CN 111062487B
- Authority
- CN
- China
- Prior art keywords
- model
- data
- feature
- screened
- characteristic
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Pure & Applied Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Medical Informatics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供用于基于数据隐私保护的机器学习模型特征筛选的方法。机器学习模型具有模型特征集,并且机器学习模型的特征数据被垂直切分地分布在第一数据拥有方和至少一个第二数据拥有方处,每个数据拥有方具有与模型特征集的模型特征子集对应的特征数据。第一数据拥有方具有待筛选模型特征的特征数据,第二数据拥有方不具有待筛选模型特征的特征数据。第一数据拥有方和至少一个第二数据拥有方协同来使用各自的特征数据进行多方安全计算,以训练出待筛选模型特征的预测模型。在第一数据拥有方处,基于待筛选模型特征的预测差值确定待筛选模型特征的方差膨胀因子,以进行模型特征筛选处理。
Description
技术领域
本说明书的实施例通常涉及计算机领域,更具体地,涉及基于数据隐私保护的机器学习模型特征筛选方法及装置。
背景技术
在公司或企业进行业务运营时,通常会使用机器学习模型来进行模型预测,以例如确定业务类别、业务运营风险或者进行业务运营决策。机器学习模型例如可以包括业务风险识别模型、业务分类模型、业务决策模型等等。机器学习模型通常会使用大量的模型特征作为模型输入特征,例如,机器学习模型可能会使用多达上万个模型特征。模型特征的数量越多,机器学习模型的运算量越大,从而需要花费更多的计算资源和时间成本。
机器学习模型的模型特征通常根据经验选择,例如,由有经验的行业人员来人工选择。然而,在根据这种方式确定出的模型特征中,可能会存在对机器学习模型的模型效果影响不大的模型特征,这些模型特征的引入会增加机器学习模型的计算量,但不会提升机器学习模型的预测精度,由此,如何进行机器学习模型的模型特征筛选,成为亟待解决的问题。
发明内容
鉴于上述问题,本说明书的实施例提供了一种基于数据隐私保护的机器学习模型特征筛选方法及装置,其能够在保证多个数据拥有方的各自隐私数据安全的情况下实现模型特征筛选。
根据本说明书的实施例的一个方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,第二数据拥有方不具有所述待筛选模型特征的特征数据,所述方法由第一数据拥有方执行,所述方法包括:使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征的预测值,以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及基于所述待筛选模型特征的预测差值,确定所述待筛选模型特征的方差膨胀因子,以用于模型特征筛选处理。
可选地,在上述方面的一个示例中,所述方法还可以包括:根据所述待筛选模型特征的方差膨胀因子,对所述待筛选模型特征进行模型特征筛选处理。
可选地,在上述方面的一个示例中,根据所确定出的待筛选模型特征的方差膨胀因子,对所述待筛选模型特征进行模型特征筛选处理可以包括:在所述待筛选模型特征的方差膨胀因子大于预定阈值时,从所述模型特征集中筛除所述待筛选模型特征。
可选地,在上述方面的一个示例中,所述方法还可以包括:将所述待筛选模型特征的方差膨胀因子提供给模型特征筛选方来进行模型特征筛选。
可选地,在上述方面的一个示例中,所述待筛选模型特征的预测差值是所述预测模型的训练过程中的最后一次循环过程中得到的预测差值。
可选地,在上述方面的一个示例中,所述方法还可以包括:根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征的预测值和预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的特征值后的特征数据。
可选地,在上述方面的一个示例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。
可选地,在上述方面的一个示例中,所述秘密共享可以包括秘密共享矩阵乘法和秘密共享矩阵加法。
可选地,在上述方面的一个示例中,所述多方安全计算所采用的秘密共享的类型可以根据第二数据拥有方的数目确定。
可选地,在上述方面的一个示例中,所述秘密共享矩阵乘法可以包括有可信初始化方秘密共享矩阵乘法或者无可信初始化方秘密共享矩阵乘法。
可选地,在上述方面的一个示例中,所述机器学习模型的特征数据可以包括基于图像数据、语音数据或文本数据确定的特征数据,或者所述机器学习模型的特征数据可以包括用户特征数据。
根据本说明书实施例的另一方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,第二数据拥有方不具有所述待筛选模型特征的特征数据,所述方法由第二数据拥有方执行,所述方法包括:使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征的预测值,以及所述预测模型的输入特征是模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型,其中,所述预测模型的预测值被使用来确定所述待筛选模型特征的预测差值和方差膨胀因子,所述方差膨胀因子用于对所述待筛选模型特征进行模型特征筛选处理。
可选地,在上述方面的一个示例中,所述方法还可以包括:根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的特征值后的特征数据。
可选地,在上述方面的一个示例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。
可选地,在上述方面的一个示例中,所述秘密共享可以包括秘密共享矩阵乘法和秘密共享矩阵加法。
可选地,在上述方面的一个示例中,所述多方安全计算所采用的秘密共享的类型可以根据第二数据拥有方的数目确定。
根据本说明书的实施例的另一方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,第二数据拥有方不具有所述待筛选模型特征的特征数据,所述装置应用于第一数据拥有方,所述装置包括:模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征的预测值,以及所述预测模型的输入特征是模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及方差膨胀因子确定单元,基于所述待筛选模型特征的预测差值,确定所述待筛选模型特征的方差膨胀因子,以用于模型特征筛选处理。
可选地,在上述方面的一个示例中,所述装置还可以包括:模型特征筛选单元,根据所述待筛选模型特征的方差膨胀因子,对所述待筛选模型特征进行模型特征筛选处理。
可选地,在上述方面的一个示例中,所述装置还可以包括:提供单元,将所述待筛选模型特征的方差膨胀因子提供给模型特征筛选方来进行模型特征筛选。
可选地,在上述方面的一个示例中,所述装置还可以包括:模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征的预测值和预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的特征值后的特征数据。
根据本说明书的实施例的另一方面,提供一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征的特征数据,第二数据拥有方不具有所述待筛选模型特征的特征数据,所述装置应用于第二数据拥有方,所述装置包括:模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征的预测值,以及所述预测模型的输入特征是模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型,其中,所述预测模型的预测值被使用来确定待筛选模型特征的预测差值和方差膨胀因子,所述方差膨胀因子用于对所述待筛选模型特征进行模型特征筛选处理。
可选地,在上述方面的一个示例中,所述装置还可以包括:模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的特征值后的特征数据。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的在第一数据拥有方处执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的在第一数据拥有方处执行的方法。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述在第二数据拥有方处执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述在第二数据拥有方处执行的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本公开的实施例的机器学习模型的一个示例的示意图;
图2示出了根据本公开的实施例的经过垂直切分的特征数据的示例的示意图;
图3示出了根据本公开的实施例的模型特征筛选***的架构图;
图4示出了根据本说明书的实施例的模型特征筛选方法的流程图;
图5示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的一个示例的流程图;
图6示出了根据本公开的实施例的预测子模型转换过程的一个示例的流程图;
图7示出了根据本公开的实施例的特征数据转换过程的一个示例的流程图;
图8示出了根据本公开的实施例的预测值获取过程的流程图;
图9示出了根据本公开的实施例的有可信初始化方秘密共享矩阵乘法的一个示例的流程图;
图10示出了根据本公开的实施例的无可信初始化方秘密共享矩阵乘法的一个示例的流程图;
图11示出了根据本说明书的实施例的用于经由多个数据拥有方来协同确定模型特征的预测值的过程的一个示例的流程图;
图12示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的另一示例的流程图;
图13示出了根据本公开的实施例的用于经由多个数据拥有方来协同确定模型特征的预测值的过程的另一示例的流程图;
图14示出了根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选装置的方框图;
图15示出了根据本说明书的实施例的模型训练单元的一个示例的方框图;
图16示出了根据本说明书的实施例的模型训练单元的另一示例的方框图;
图17示出了根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选装置的方框图;
图18示出了根据本说明书的实施例的模型训练单元的一个示例的方框图;
图19示出了根据本说明书的实施例的模型训练单元的另一示例的方框图;
图20示出了根据本说明书的实施例的用于实现基于隐私保护的机器学习模型特征筛选过程的电子设备的方框图;和
图21示出了根据本说明书的实施例的用于实现基于隐私保护的机器学习模型特征筛选过程的电子设备的方框图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书的实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在公司或企业进行业务运营时,通常会使用机器学习模型来进行模型预测,以例如确定业务类别、业务运营风险或者进行业务运营决策。机器学习模型例如可以包括业务风险识别模型、业务分类模型、业务决策模型等等。机器学习模型通常会使用大量的模型特征作为模型输入特征。机器学习模型的模型特征通常是根据经验选择的。然而,在根据这种方式确定出的模型特征中,可能会存在对机器学习模型影响不大的模型特征,这些模型特征的引入会增加机器学习模型的计算量,但不会提升机器学习模型的预测精度,从而需要使用机器学习模型的特征数据来进行模型特征筛选,以从机器学习模型的模型特征集中筛除对机器学习模型影响不大的模型特征。
机器学习模型的特征数据可以来自于多个数据拥有方,例如,针对电子商务相关的机器学习模型,多个数据拥有方可以包括电子商务公司、快递公司和银行等等。各个数据拥有方拥有机器学习模型的特征数据中的部分数据。对于数据拥有方而言,数据是非常重要的资产。该多个数据拥有方希望共同使用彼此的特征数据来进行模型特征筛选,但又不想把各自的隐私数据提供给其它各个数据拥有方以防止自己的隐私数据泄露。
鉴于上述,本说明书的实施例提供了一种用于机器学习模型的模型特征筛选的方法。在该方法中,针对机器学习模型的模型特征集{X1,X2,......,Xn}中的每个模型特征Xi,使用各个数据拥有方的特征数据来利用多方安全计算训练出对应的预测模型,所述预测模型是线性回归模型,该预测模型的输出是模型特征Xi的预测值,以及该预测模型的输入特征是模型特征集{X1,X2,......,Xn}中的剩余模型特征Xj,所训练出的预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型。然后,利用所训练出的预测模型,得到模型特征Xi的预测值和预测差值,基于预测差值来计算出模型特征Xi的方差膨胀因子VIF(Variance Inflation Factor),并且基于所计算出的VIF来确定是否需要筛除模型特征Xi。按照这种方式,由于模型特征Xi的VIF是采用多方安全计算来确定出的,从而可以确保各个数据拥有方的特征数据免遭泄露。在本说明书中,各个数据拥有方的特征数据是通过对机器学习模型所需特征数据进行垂直切分而得到的。
在本说明书的实施例中,机器学习模型所使用的特征数据例如可以包括基于图像数据、语音数据或文本数据确定的特征数据。相应地,机器学习模型可以应用于基于图像数据、语音数据或者文本数据的业务风险识别、业务分类、或者业务决策等等。或者,机器学习模型所使用的特征数据可以包括用户特征数据。相应地,机器学习模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
图1示出了根据本公开的实施例的机器学习模型的一个示例的示意图。
如图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所使用的特征数据进行垂直切分而得到。
图2示出了根据本公开的实施例的经过垂直切分的特征数据的示例的示意图。图2中示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob拥有机器学习模型所使用的数据样本集中的每条数据样本的部分特征数据,对于每条数据样本,数据拥有方Alice和Bob拥有的部分特征数据组合在一起,可以构成该数据样本的完整内容。比如,假设某条数据样本包括标签y0和属性特征则经过垂直切分后,数据拥有方Alice拥有该数据样本的y0和属性特征以及数据拥有方Bob拥有该数据样本的属性特征
图3示出了根据本公开的实施例的模型特征筛选***1的架构图。为了描述简单,下文中仅仅针对模型特征Xi的模型特征筛选来进行说明。
如图3所示,模型特征筛选***1包括第一数据拥有方设备10(下文中简称为“第一数据拥有方”)以及2个第二数据拥有方设备20(下文中简称为“第二数据拥有方”)。第一数据拥有方10以及第二数据拥有方20可以通过例如但不局限于互联网或局域网等的网络30相互通信。在本说明书中,第一数据拥有方10和第二数据拥有方20的特征数据是通过对机器学习模型所使用的特征数据进行垂直切分而得到的。此外,第一数据拥有方10具有待筛选模型特征Xi的特征数据,以及第二数据拥有方20不具有模型特征Xi的特征数据。
在本说明书中,第一数据拥有方10以及第二数据拥有方20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
图4示出了根据本说明书的实施例的模型特征筛选方法400的流程图。图4中所示的模型特征筛选方法是针对第一数据拥有方A具有的模型特征Xi的模型特征筛选过程。
如图4所示,在块410,在各个数据拥有方处,使用各个数据拥有方(第一数据拥有方A以及第二数据拥有方B和C)的特征数据,经由各个数据拥有方协同来利用多方安全计算训练出模型特征Xi的预测模型。
这里,所训练出的预测模型是线性回归模型。预测模型的输出是模型特征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj。例如,假设模型特征集包括m个模型特征,则可以针对模型特征X1构建出线性回归模型,例如,针对模型特征X1构建出最小二乘模型X1=α2X2+α3X3+α4X4+......+αmXm+α0+e。
假设剩余模型特征Xj构成预测模型的模型特征矩阵xT=(x1;x2;…;xj),其中,xj是预测模型的第j个模型特征和T表示转置,并且j≠i,那么线性回归模型为Y=Wx,其中,Y是预测值,以及W是线性回归模型的模型参数(即,本说明书中的预测模型),W是所有预测子模型WP级联而成,WP是本说明书的实施例中的各个数据拥有方P处的预测子模型。
此外,各个数据拥有方处的预测子模型是通过对预测模型进行垂直切分而得到,每个数据拥有方具有一个预测子模型。而且,在进行预测模型训练时,每个数据拥有方所拥有的预测子模型以及对应的特征数据是该数据拥有方的秘密,不能被其他数据拥有方完整地获悉。关于如何利用多方安全计算来训练出模型特征Xi的预测模型,将在下文参照附图详细说明。
在本说明书的实施例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。此外,所述秘密共享可以包括秘密共享矩阵乘法或者秘密共享矩阵加法。
此外,可选地,在使用秘密共享来实现多方安全计算时,所采用的秘密共享的类型可以根据第二数据拥有方的数目确定。例如,在仅仅存在一个第二数据拥有方的情况下,所采用的秘密共享可以是秘密共享矩阵乘法。在存在至少两个第二数据拥有方的情况下,所采用的秘密共享可以是秘密共享矩阵乘法或者秘密共享加法。
此外,可选地,所述秘密共享矩阵乘法可以包括有可信初始化方秘密共享矩阵乘法或者无可信初始化方秘密共享矩阵乘法。
在如上训练出模型特征Xi的预测模型后,在块420,在各个数据拥有方处,经由各个数据拥有方协同来根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到模型特征Xi的预测值,并且在第一数据拥有方处,基于所得到的预测值以及对应的标记值来确定出模型特征Xi的预测差值。这里,要说明的是,在使用所训练出的预测模型进行模型预测时,各个数据拥有方使用第一特征数据,并且第一特征数据是从各个数据拥有方的特征数据中去除与模型特征Xi对应的特征值后的特征数据。具体地,在第一数据拥有方处,需要从所具有的原始特征数据中去除与模型特征Xi对应的特征值而得到第一数据拥有方的第一数据特征。而在各个第二数据拥有方处,由于不具有与模型特征Xi对应的特征值,从而各个第二数据拥有方处的第一特征数据是各个第二数据拥有方的原始特征数据。
在得到模型特征Xi的预测差值后,在块430,在第一数据拥有方A 10处,基于模型特征Xi的预测差值,确定模型特征Xi的方差膨胀因子VIF。
然后,按照下述公式,计算出模型特征Xi的样本可决系数Ri 2:
在如上计算出模型特征Xi的样本可决系数Ri 2后,可以按照下述公式计算出模型特征Xi的方差膨胀因子VIFi:
在本说明书中,术语“方差膨胀因子”VIFi可以是指模型特征Xi与模型特征集中的剩余模型特征Xj之间存在多重共线性时的方差与不存在多重共线性时的方差之比。VIFi用于指示模型特征Xi与模型特征集中的剩余模型特征Xj之间的相关性。VIFi的值越大,则说明模型特征Xi与剩余模型特征Xj之间的相关性(多重共线性)越大,从而对预测模型的贡献越小,由此可以从预测模型的模型特征集中筛除该模型特征。
在如上确定出模型特征Xi的方差膨胀因子后,在块440,在第一数据拥有方A 10处,根据模型特征Xi的方差膨胀因子,对模型特征Xi进行模型特征筛选处理。
例如,在一个示例中,在模型特征Xi的方差膨胀因子大于预定阈值时,从模型特征集{X1,X2,......,Xn}中筛除模型特征Xi。根据经验表明,在0<VIF<10时,模型特征Xi与剩余模型特征Xj之间不存在多重共线性。在10≤VIF<100时,模型特征Xi与剩余模型特征Xj之间存在较强的多重共线性。在VIF≥100时,模型特征Xi与剩余模型特征Xj之间存在严重的多重共线性。由此,在一个示例中,预定阈值可以设置为100。在本说明书的其它示例中,预定阈值也可以选择其它合适的数值。
此外,可选地,在第一数据拥有方A 10处存在多个模型特征的VIF时,例如,在第一数据拥有方A 10处存在所具有的部分或全部模型特征的VIF时,可以根据各个模型特征的VIF的值来进行排序,并且筛除排序Top K的模型特征。这里,K可以是预定数值。
此外,可选地,在本说明书的其它实施例中,块440的操作也可以替换为下述操作:在第一数据拥有方A 10处,将模型特征Xi的方差膨胀因子提供给模型特征筛选方来进行模型特征筛选。这里,模型特征筛选方可以是第三方筛选机构或者用户,或者,也可以是多个数据拥有方中的指定数据拥有方。在接收到部分或全部数据拥有方的模型特征的VIF后,根据各个模型特征的VIF来进行模型特征筛除处理。例如,筛除VIF大于预定阈值的模型特征,或者,根据各个模型特征的VIF的值来进行排序,并且筛除排序Top K的模型特征。
此外,要说明的是,在图4中示出的示例中,在训练出模型特征Xi的预测模型后,需要在块420,使用该预测模型来预测模型特征Xi的预测值并计算出对应的预测差值。在本说明书的其它实施例中,也可以不包括块420的操作。在这种情况下,在块430中被使用来计算VIF的预测差值是预测模型的训练过程中的最后一次循环过程中得到的预测差值。
此外,在本说明书的其它实施例中,也可以不包括块440的操作。在这种情况下,可以计算出各个模型特征的VIF,以用于后续模型特征筛选。
此外,要说明的是,图4中示出的仅仅是针对机器学习模型的模型特征集{X1,X2,......,Xn}中的一个模型特征Xi的模型特征筛选处理。针对机器学习模型的模型特征集{X1,X2,......,Xn}中的其它模型特征,也可以采用相同的模型特征筛选方法来执行模型特征筛选处理,由此完成针对机器学习模型的模型特征集{X1,X2,......,Xn}的模型特征筛除。
图5示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的一个示例的流程图。
在图5中示出的预测模型训练方法中,第一数据拥有方Alice具有模型特征Xi的预测模型的预测子模型WA,第二数据拥有方Bob具有预测模型的预测子模型WB,以及第二数据拥有方Charlie具有预测模型的预测子模型WC。第一数据拥有方Alice具有特征数据XA(对应于权利要求书中的第一特征数据,即,去除了与模型特征Xi对应的特征值后的特征数据)和标记值Y(即,与模型特征Xi对应的特征值),第二数据拥有方Bob具有特征数据XB,以及第二数据拥有方Charlie具有特征数据XC。特征数据XA、XB和XC是通过机器学习模型所使用的特征数据样本X进行垂直切分获得的。
如图5所示,首先,在块501,第一数据拥有方Alice、第二数据拥有方Bob和Charlie初始化其预测子模型的子模型参数,即,权重子向量WA、WB和WC,以获得其预测子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,在块502,经由各个数据拥有方Alice、Bob和Charlie协同来对各自的初始预测子模型进行模型转换处理,以得到转换预测子模型。
图6示出了根据本公开的实施例的模型转换过程的一个示例的流程图。
如图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。
接着,在块620,Alice将WA2和WA3分别发送给Bob和Charlie,在块630,Bob将WB1和WB3分别发送给Alice和Charlie,以及在块640,Charlie将WC1和WC2分别发送给Alice和Bob。
接着,在块650,在Alice处,分别对WA1、WB1和WC1进行拼接,以得到转换后子模型WA'。所得到的转换后的预测子模型WA'的维度与用于预测模型训练的特征数据的维度相等。在Bob处,分别对WA2、WB2和WC2进行拼接,以得到转换后子模型WB'。在Charlie处,分别对WA3、WB3和WC3进行拼接,以得到转换后子模型WC'。同样,所得到的转换后的预测子模型WB'和WC'的维度与用于预测模型训练的特征数据的维度相等。
回到图5,在如上完成预测子模型转换后,循环执行块503到块513的操作,直到满足循环结束条件。
具体地,在块503,经由各个数据拥有方Alice、Bob和Charlie协同来对特征数据XA、XB和XC进行垂直切分-水平切分转换,以得到转换特征样本子集XA'、XB'和XC'。所得到的转换特征样本子集XA'、XB'和XC'中的每个特征样本具有每条训练样本的完特征整内容,即,类似于对特征样本集进行水平切分而得到的特征样本子集。
图7示出了根据本公开的实施例的特征数据转换过程的流程图。
如图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。
接着,在块750,在Alice处,对XA1、XB1和XC1进行拼接,以得到转换特征数据XA'。在Bob处,对XA2、XB2和XC2进行拼接,以得到转换特征数据XB'。在Charlie处,对XA3、XB3和XC3进行拼接,以得到转换特征数据XC'。所得到的转换特征数据XA'、XB'和XC'的维度与用于预测模型训练的特征数据的维度相等。
在块504,基于各个数据拥有方的当前转换子模型WA'、WB'和WC'以及各个数据拥有方各自的转换特征数据XA'、XB'和XC',使用秘密共享矩阵乘法来获得待训练的预测模型的当前预测值如何使用秘密共享矩阵乘法来获得待训练的预测模型的当前预测值将在下面参照图8到图10进行说明。
在得到当前预测值后,在块505,在第一数据拥有方Alice处,确定当前预测值与对应的标记值Y之间的预测差值这里,E是一个列向量,Y是一个表示第一数据拥有方Alice处的标记值的列向量,以及,是表示数据样本XA的当前预测值的列向量。如果数据样本XA仅包含单个训练样本,则E、Y和都是仅具有单个元素的列向量。如果数据样本XA包含多个数据样本,则E、Y和都是具有多个元素的列向量,其中,中的每个元素是该多个数据样本中的对应数据样本的当前预测值,Y中的每个元素是该多个数据样本中的对应数据样本的标记值,以及E中的每个元素是该多个数据样本的对应数据样本的标记值与当前预测值的差值。
然后,在块506,在Alice处,使用预测差值E和转换特征数据XA'确定第一模型更新量TMP1=XA'*E。然后,在块507,在Alice处,将第一模型更新量TMP1分解为TMP1=TMP1A+TMP1B+TMP1C。这里,针对TMP1的分解过程与上面描述的分解过程相同,在此不再描述。随后,在块508,Alice将TMP1B发送给Bob以及将TMP1C发送给Charlie。
然后,在块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。
接着,在块512,在Alice处,基于TMP1A、TMP2A和TMP3A来对Alice处的当前转换子模型WA'进行更新。具体地,首先,计算出TMPA=TMP1A+TMP2A+TMP3A,然后,使用TMPA来更新当前转换子模型WA',例如,可以采用下述公式(1)来进行子模型更新:
其中,WA'(n)是Alice处的当前转换预测子模型,WA'(n+1)是Alice处的更新后的转换预测子模型,α是学习率(learning rate),以及S是该轮模型训练过程所使用的训练样本数量,即,该轮模型训练过程的批处理大小(batch size)。
同样,在Bob处,基于TMP1B、TMP2B和TMP3B来对Bob处的当前转换子模型WB’进行更新。具体地,首先,计算出TMPB=TMP1B+TMP2B+TMP3B,然后,使用TMPB来更新当前转换子模型WB’,例如,可以采用下述公式(2)来进行子模型更新:
其中,WB’(n)是Bob处的当前转换预测子模型,WB’(n+1)是Bob处的更新后的转换预测子模型,α是学习率,以及S是该轮模型训练过程所使用的训练样本数量,即,该轮模型训练过程的批处理大小。
在Charlie处,基于TMP1C、TMP2C和TMP3C来对Charlie处的当前转换子模型WC’进行更新。具体地,首先,计算出TMPC=TMP1C+TMP2C+TMP3C,然后,使用TMPC来更新当前转换子模型WC’,例如,可以采用下述公式(3)来进行子模型更新:
其中,WC’(n)是Charlie处的当前转换预测子模型,WC’(n+1)是Charlie处的更新后的转换预测子模型,α是学习率,以及S是该轮模型训练过程所使用的训练样本数量,即,该轮模型训练过程的批处理大小。
然后,在块513,判断是否达到预定循环次数,即,判断是否达到循环结束条件。如果达到预定循环次数(例如,T),则进入块514。如果未达到预定循环次数,则流程返回到块503的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个数据拥有方在当前循环过程所获得的更新后的预测子模型被用作下一训练循环过程的当前预测子模型。
在块514,分别在Alice、Bob和Charlie处,基于Alice、Bob和Charlie的更新后的转换预测子模型,确定Alice、Bob和Charlie处的预测子模型(即,经过训练后的预测子模型)。
具体地,在如上训练出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。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是达到预定循环次数。在本公开的其它示例中,训练循环过程的结束条件也可以是所确定出的预测差值位于预定范围内,即,预测差值E中的每个元素Ei都位于预定范围内,预测差值E中的各个元素Ei之和小于预定阈值,或者预测差值E的均值小于预定阈值。相应地,图5中的块513的操作可以在块505的操作之后执行。
这里要说明的是,在X是单个特征样本时,X是由多个属性组成的特征向量(列向量或行向量),以及E是单个预测差值。在X是多个特征样本时,Xi是特征矩阵,每个特征样本的属性构成特征矩阵Xi的一列元素/一行元素,以及E是预测差值向量。在计算X·E时,与E中的各个元素相乘的是矩阵X的某个特征所对应的各个样本的特征值。例如,假设E是列向量,则每次相乘时,E与矩阵X中的一个行相乘,该行中的元素表示的是各个样本所对应的某一个特征的特征值。
图8示出了根据本说明书的实施例的预测值获取过程的流程图。
如图8所示,首先,在块801,在Alice处,使用转换特征数据XA'和当前转换预测子模型WA',计算出ZA1=XA'*WA'。在Bob处,使用转换特征数据XB'和当前转换预测子模型WB',计算出ZB1=XB'*WB'。在Charlie处,使用转换特征数据XC'和当前转换预测子模型WC',计算出ZC1=XC'*WC'。
然后,在块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分别进行说明。
接着,在块803,在Alice处,将Z2分解为ZA2、ZB2和ZC2。在块804,在Bob处,将Z3分解为ZA3、ZB3和ZC3。在块805,在Charlie处,将Z4分解为ZA4、ZB4和ZC4。这里,针对Z2、Z3和Z4的分解过程与上述针对特征数据的分解过程相同,在此不再描述。
然后,在块806,Alice将ZB2发送给Bob,以及将ZC2发送给Charlie。在块807,Bob将ZA3发送给Alice,以及将ZC3发送给Charlie。在块808,Charlie将ZA4发送给Alice,以及将ZB4发送给Bob。
接着,在块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。
图9示出了根据本说明书实施例的有可信初始化方秘密共享矩阵乘法的一个示例的流程图。图9中示出的有可信初始化方秘密共享矩阵乘法以计算Z2=XA'*WB'为例进行说明,其中,XA'是Alice处的转换特征数据(下文中称为特征矩阵),WB'是Bob处的转换预测子模型(下文中称为权重向量)。
如图9所示,首先,在可信初始化方30处,生成2个随机权重向量WR,1和WR,2,2个随机特征矩阵XR,1、XR,2以及2个随机标记值向量YR,1、YR,2,其中,这里,随机权重向量的维度与各个数据拥有方的转换子模型(权重向量)的维度相同,随机特征矩阵的维度与转换样本子集(特征矩阵)的维度相同,以及随机标记值向量的维度与标记值向量的维度相同。
然后,在块901,可信初始化方30将所生成的WR,1、XR,1和YR,1发送给Alice,以及在块902,将所生成的WR,2、XR,2和YR,2发送给Bob。
接着,在块903,在Alice处,将特征矩阵XA'分解成2个特征子矩阵,即,特征子矩阵XA1'和XA2'。
例如,假设特征矩阵XA'包括两个特征样本S1和S2,特征样本S1和S2各自包括3个属性值,其中,S1=[a1 1,a2 1,a3 1]和S2=[a1 2,a2 2,a3 2],那么,在将特征矩阵XA'分解成2个特征子矩阵XA1'和XA2'之后,第一特征子矩阵XA1'包括特征子样本[a11 1,a21 1,a31 1]和特征子样本[a11 2,a21 2,a31 2],第二特征子矩阵XA2'包括特征子样本[a12 1,a22 1,a32 1]和特征子样本[a12 2,a22 2,a32 2],其中,a11 1+a12 1=a1 1,a21 1+a22 1=a2 1,a31 1+a32 1=a3 1,a11 2+a12 2=a1 2,a21 2+a22 2=a2 2和a31 2+a32 2=a3 2。
然后,在块904,Alice将所分解出的特征子矩阵XA2'发送给Bob。
在块905,在Bob处,将权重向量WB'分解成2个权重子向量WB1'和WB2'。权重向量的分解过程与上面描述的分解过程相同。在块906,Bob将权重子向量WB1'发送给Alice。
然后,在各个数据拥有方处,基于各个数据拥有方的权重子向量、对应的特征子矩阵以及所接收的随机权重向量和随机特征矩阵,确定该数据拥有方处的权重子向量差值E和特征子矩阵差值D。例如,在块907,在Alice处,确定出其权重子向量差值E1=WB1'-WR,1以及特征子矩阵差值D1=XA1'-XR,1。在块908,在Bob处,确定出其权重子向量差值E2=WB2'-WR,2以及特征子矩阵差值D2=XA2'-XR,2。
在各个数据拥有方确定出各自的权重子向量差值Ei和特征子矩阵差值Di后,在块909,Alice将D1和E1分别发送给Bob。在块910,Bob将D2和E2发送给Alice。
然后,在块911,在各个数据拥有方处,分别对所述各个数据拥有方处的权重子向量差值和特征子矩阵差值进行求和,以得到权重子向量总差值E和特征子矩阵总差值D。例如,如图9中所示,D=D1+D2,以及E=E1+E2。
然后,在各个数据拥有方处,基于所接收的随机权重向量WR,i、随机特征矩阵XR,i、随机标记值向量YR,i、权重子向量总差值E、特征子矩阵总差值D计算各自对应的预测值向量Zi。
在本公开的一个示例中,在各个数据拥有方处,可以对该数据拥有方的随机标记值向量、权重子向量总差值与该数据拥有方的随机特征矩阵之积以及特征子矩阵总差值与该数据拥有方的随机权重向量之积进行求和,以得到对应的预测值向量(第一种计算方式)。或者,可以对该数据拥有方的随机标记值向量、权重子向量总差值与该数据拥有方的随机特征矩阵之积、特征子矩阵总差值与该数据拥有方的随机权重向量之积、以及权重子向量总差值与特征子矩阵总差值之积进行求和,以得到对应的预测值矩阵(第二种计算方式)。
这里要说明的是,在各个数据拥有方处的预测值矩阵计算时,仅仅只有一个数据拥有方处计算出的预测值矩阵中包含权重子向量总差值与特征子矩阵总差值之积。换言之,针对各个数据拥有方,仅仅只有一个数据拥有方的预测值向量是按照第二种计算方式计算出的,而其余的数据拥有方按照第一种计算方式来计算出对应的预测值向量。
例如,在块912,在Alice处,计算出对应的预测值向量Z1=YR,1+E*XR,1+D*WR,1+D*E。在块913,在Bob处,计算出对应的预测值向量Z2=YR,2+E*XR,2+D*WR,2。
这里要说明的,在图9中示出的是在Alice处计算出的Z1中包含D*E。在本公开的其它示例中,也可以在Bob所计算出的Zi中包含D*E,相应地,在Alice处计算出的Z1中不包含D*E。换言之,在各个数据拥有方处所计算出的Zi中,仅仅只有一个包含D*E。
然后,在块914,Alice将Z1发送给Bob。在块915,Bob将Z2发送给Alice。
然后,在块916和917,各个数据拥有方进行求和Z=Z1+Z2,以得到秘密共享矩阵乘法结果。
图10示出了根据本说明书实施例的无可信初始化方秘密共享矩阵乘法的一个示例的流程图。在图10中,以数据拥有方Alice和Bob之间的XA'*WB'的计算过程为例进行说明。
如图10所示,首先,在块1001,如果Alice处的XA'(下文中称为第一特征矩阵)的行数不是偶数,和/或Bob处的当前子模型参数WB'(下文中称为第一权重子矩阵)的列数不为偶数,则对第一特征矩阵XA'和/或第一权重子矩阵WB'进行维度补齐处理,以使得第一特征矩阵XA'的行数是偶数和/或第一权重子矩阵WB'的列数为偶数。例如,将第一特征矩阵XA'的行末尾增加一行0值和/或将第一权重子矩阵WB'的列末尾多增加一列0值来进行维度补齐处理。在下面的描述中,假设第一权重子矩阵WB'的维度为I*J,以及第一特征矩阵XA'的维度为J*K,其中,J为偶数。
然后,在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。
此外,在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。
然后,在块1008,Alice将所生成的第二特征矩阵X2和第三特征矩阵X3发送给Bob,以及在块1009,Bob将第二权重子矩阵WB2和第三权重子矩阵WB3发送给Alice。
接着,在块1010,在Alice处,基于等式Y1=WB2*(2*XA'-X1)-WB3*(X3+X1_e)进行矩阵计算,以得到第一矩阵乘积Y1,并且在块1012,将第一矩阵乘积Y1发送给Bob。
在块1011,在Bob处,基于等式Y2=(WB'+2*WB1)*X2+(WB3+WB1_o)*X3计算出第二矩阵乘积Y2,并且在块1013,将第二矩阵乘积Y2发送给Alice。
然后,在块1014和1015,分别在Alice和Bob处,对第一矩阵乘积Y1和第二矩阵乘积Y2进行求和,以得到XA'*WB'=YB=Y1+Y2。
利用图5到图10中公开的预测模型训练方法,能够在***漏该多个数据拥有方的秘密数据的情况下训练得到预测模型的模型参数,并且由此得到预测差值。
这里要说明的是,图5到图10中示出的预测模型训练方法仅仅是本说明书的一个实施例,在本说明书的其它实施例中,可以采用其它合适的预测模型训练方法来实现。
图11示出了根据本说明书的实施例的用于经由多个数据拥有方来协同确定模型特征Xi的预测值的过程的一个示例的流程图。
如图1所示,在块1110,经由各个数据拥有方协同来对各个数据拥有方的预测子模型进行模型转换处理,以得到各个数据拥有方的转换预测子模型。
在块1120,经由各个数据拥有方协同来对各个数据拥有方的特征数据进行垂直-水平切分转换,以得到各个数据拥有方处的转换特征数据。
在块1130,基于各个数据拥有方的转换预测子模型和转换特征数据,使用秘密共享矩阵乘法来获得模型特征Xi的预测值。
图12示出了根据本公开的实施例的用于经由多个数据拥有方来协同训练模型特征的预测模型的过程的另一示例的流程图。
如图12所示,在块1210,第一数据拥有方Alice、第二数据拥有方Bob和Charlie初始化其预测子模型的子模型参数,即,权重子向量WA、WB和WC,以获得其子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环过程的结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,在块1220,基于各个数据拥有方的当前预测子模型WA、WB和WC以及各个数据拥有方各自的特征数据XA、XB和XC,使用秘密共享矩阵加法来获得待训练的预测模型的当前预测值如何使用秘密共享矩阵加法来获得待训练的预测模型的当前预测值将在下面参照图13进行说明。
然后,在块1240,将所确定出的预测差值e分别发送给第二数据拥有方Bob和Charlie。
然后,在块1250,在各个数据拥有方处,基于该数据拥有方的当前预测子模型以及预测差值e与该数据拥有方的特征数据之积来更新该数据拥有处的当前预测子模型。例如,第一数据拥有方Alice使用当前子模型WA以及预测差值e与特征样本集XA之积来更新第一数据拥有方Alice处的当前子模型,第二数据拥有方Bob使用当前子模型WB以及预测差值e与特征样本集XB之积来更新第二数据拥有方Bob处的当前子模型,以及第二数据拥有方Charlie使用当前子模型WC以及预测差值e与特征样本集XC之积来更新第二数据拥有方Charlie处的当前子模型。
在本说明书的一个示例中,基于数据拥有方的当前子模型以及预测差值与该数据拥有方的特征样本子集之积来更新该数据拥有方处的当前子模型可以按照以下等式更新数据拥有方处的当前子模型Wn+1=Wn-α·Xi·e,其中,Wn+1表示该数据拥有方处的更新后的当前子模型,Wn表示该数据拥有方处的当前子模型,α表示学习率,Xi表示该数据拥有方处的特征样本子集,以及e表示所述预测差值。
在如上在各个数据拥有方完成各自的子模型更新后,在块1260,判断是否达到预定循环次数,即,判断是否达到预定条件。如果达到预定循环次数,则各个数据拥有方将各自的子模型参数的当前更新值,存储为其子模型参数的最终值,从而得到各自的训练后的子模型,然后流程结束。如果未达到预定循环次数,则流程返回到块1220的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个数据拥有方在当前循环过程所获得的更新后的当前子模型被用作下一训练循环过程的当前子模型。此外,在本说明书的其它示例中,训练循环过程的结束条件也可以是所确定出的预测差值位于预定范围内,即,预测差值e中的每个元素ei都位于预定范围内,例如,预测差值e中的每个元素ei都小于预定阈值。相应地,图12中的块1260的操作可以在块1230的操作之后执行。
图13示出了根据本公开的实施例的用于经由多个数据拥有方来协同确定模型特征的预测值的过程的另一示例的流程图。
如图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。
然后,在块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。
然后,在块1303,Alice将所得到的预测值子向量YA2发送给第二数据拥有方Bob,以及将所得到的预测值子向量YA3发送给第二数据拥有方Charlie。在块1304,Bob将所得到的预测值子向量YB1发送给第一数据拥有方Alice,以及将所得到的预测值子向量YB3发送给第二数据拥有方Charlie。在块1305,Charlie将所得到的预测值子向量YC2发送给第二数据拥有方Bob,以及将所得到的预测值子向量YC1发送给第一数据拥有方Alice。
接着,在块1306,在第一数据拥有方Alice处,对所得到的各个数据拥有方的预测值子向量进行求和,以得到第一数据拥有方Alice处的预测值子向量和值Y1=YA1+YB1+YC1。在第二数据拥有方Bob处,对所得到的各个数据拥有方的预测值子向量进行求和,以得到第二数据拥有方Bob处的预测值子向量和值Y2=YA2+YB2+YC2。在第二数据拥有方Charlie处,对所得到的各个数据拥有方的预测值子向量进行求和,以得到第二数据拥有方Charlie处的预测值子向量和值Y3=YA3+YB3+YC3。
然后,在块1307,Alice将所得到的预测值子向量和值Y1分别发送给第二数据拥有方Bob和Charlie,以及在块1308,Bob将所得到的预测值子向量和值Y2分别发送给第一数据拥有方Alice和第二数据拥有方Charlie。在块1309,Charlie将所得到的预测值子向量和值Y3分别发送给第二数据拥有方Bob和第一数据拥有方Alice。
在块1310,在各个数据拥有方处,对所得到的各个数据拥有方的预测值子向量和值进行求和Y=Y1+Y2+Y3,以得到预测模型的当前预测值。
如上参照图1到图13,对根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选方法进行了描述。
利用该机器学习模型特征筛选方法,可以通过多方安全计算来计算出机器学习模型的模型特征的方差膨胀因子,从而使得能够在确保各个数据拥有方的数据隐私得到保护的情况下,实现机器学习模型的模型特征筛选。
此外,通过根据第二数据拥有方的数目来确定所采用的秘密共享的具体实现方案,可以在第二数据拥有方的数目包括两个以上时,选择使用秘密共享矩阵加法来实现多方安全计算,由此可以降低多方安全计算的复杂度,从而提升多方安全计算效率,进而提升模型特征筛选效率。
图14示出了根据本说明书的实施例的基于数据隐私保护的机器学习模型特征筛选装置(下文中简称为“模型特征筛选装置”)1400的方框图。模型特征筛选装置1400应用于第一数据拥有方A 10处。
如图14所示,模型特征筛选装置1400包括模型训练单元1410、模型预测单元1420、方差膨胀因子确定单元1430和模型特征筛选单元1440。
模型训练单元1410被配置为使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi的预测模型。该预测模型的输出是模型特征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj。此外,该预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型。模型训练单元1410的操作可以参考上面参照图4描述的块410的操作。
模型预测单元1420被配置为根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到模型特征Xi的预测值和预测差值,所述第一特征数据是从各个数据拥有方的特征数据中去除与模型特征Xi对应的特征值后的特征数据。模型预测单元1420的操作可以参考上面参照图4描述的块420的操作。
方差膨胀因子确定单元1430被配置为基于模型特征Xi的预测差值,确定模型特征Xi的方差膨胀因子,以用于对模型特征Xi进行模型特征筛选处理。方差膨胀因子确定单元1430的操作可以参考上面参照图4描述的块430的操作。
模型特征筛选单元1440被配置为根据模型特征Xi的方差膨胀因子,对模型特征Xi进行模型特征筛选处理。模型特征筛选单元1440的操作可以参考上面参照图4描述的块440的操作。
此外,可选地,在本说明书的其它实施例中,模型特征筛选装置1400也可以不包括模型预测单元1420和/或模型特征筛选单元1440。在模型特征筛选装置1400不包括模型训练单元1420的情况下,方差膨胀因子确定单元1430使用模型训练单元1410在最后一次循环训练时所得到的预测差值来计算VIF。
此外,可选地,在本说明书的其它实施例中,可以使用提供单元来替换模型特征筛选单元1440。所述提供单元被配置为将模型特征Xi的方差膨胀因子提供给模型特征筛选方来进行模型特征筛选。这里,模型特征筛选方可以是第三方筛选机构或者用户,或者,也可以是多个数据拥有方中的指定数据拥有方。在接收到所有数据拥有方的所有模型特征的VIF后,根据各个模型特征的VIF来进行模型特征筛除处理。例如,筛除VIF大于预定阈值的模型特征,或者,根据各个模型特征的VIF的值来进行排序,并且筛除排序Top K的模型特征。
图15示出了根据本说明书的实施例的模型训练单元的一个示例(模型训练单元1500)的方框图。
如图15所示,模型训练单元1500包括模型转换模块1510、样本转换模块1520、预测值获取模块1530、预测差值确定模块1540、模型更新量确定模块1550、模型更新量分解模块1560、模型更新量发送/接收模块1570、模型更新模块1580和模型确定模块1590。
模型转换模块1510被配置为对各个数据拥有方的预测子模型进行模型转换处理,以得到各个数据拥有方的转换预测子模型。模型转换模块1510的操作可以参考上面参照图3描述的块502的操作以及参照图6描述的操作。
在进行模型训练时,样本转换模块1520、预测值获取模块1530、预测差值确定模块1540、模型更新量确定模块1550、模型更新量分解模块1560、模型更新量发送/接收模块1570和模型更新模块1580被配置为循环执行操作,直到满足循环结束条件。所述循环结束条件可以包括:达到预定循环次数;或者所确定出的预测差值位于预定范围内。在循环过程未结束时,更新后的各个数据拥有方的转换预测子模型被用作下一循环过程的当前转换预测子模型。
具体地,在每次循环过程中,样本转换模块1520被配置为对特征数据进行垂直-水平切分转换,以得到各个数据拥有方处的转换特征数据。样本转换模块1520的操作可以参考上面参照图7描述的过程。
预测值获取模块1530被配置为基于各个数据拥有方的当前转换预测子模型和转换特征数据,使用秘密共享矩阵乘法来获得预测模型的当前预测值。预测值获取模块1530的操作可以参考上面参照图5描述的块504的操作以及参照图8-图10描述的操作。
预测差值确定模块1540被配置为确定当前预测值与对应的标记值之间的预测差值。预测差值确定模块1540的操作可以参考上面参照图5描述的块505的操作。
模型更新量确定模块1550被配置为使用预测差值和第一数据拥有方处的转换特征数据确定第一模型更新量。模型更新量确定模块1550的操作可以参考上面参照图5描述的块506的操作。
模型更新量分解模块1560被配置为将第一模型更新量分解为第一数目个第一部分模型更新量。这里,第一数目是参与模型训练的数据拥有方的数目。模型更新量分解模块1560的操作可以参考上面参照图5描述的块507的操作。
模型更新量发送/接收模块1570被配置为将第二数目个第一部分模型更新量中的每个分别发送给各个第二数据拥有方;以及从每个第二数据拥有方接收一个第二部分模型更新量,所述第二部分模型更新量是在第二数据拥有方处对第二模型更新量进行分解而得到的第一数目个第二部分模型更新量中的一个,所述第二模型更新量通过对所述预测差值和所述第二数据拥有方处的第一转换特征数据执行秘密共享矩阵乘法而得到。这里,第二数目等于第一数目减一。模型更新量发送/接收模块1570的操作可以参照上面参照图5描述的块511的操作。
模型更新模块1580被配置为基于剩余的第一部分模型更新量和所接收的各个第二部分模型更新量来更新第一数据拥有方处的当前转换预测子模型。模型更新模块1580的操作可以参考上面参照图5描述的块512的操作。
模型确定模块1590被配置为在满足循环结束条件时,基于第一数据拥有方和各个第二数据拥有方的转换预测子模型,确定第一数据拥有方的预测子模型。模型确定模块1590的操作可以参考上面参照图5描述的块514的操作。
图16示出了根据本说明书的实施例的模型训练单元1600的另一示例的方框图。
如图16所示,模型训练单元1600包括预测值获取模块1610、预测差值确定模块1620、预测差值发送模块1630和模型更新模块1640。
在进行模型训练时,预测值获取模块1610、预测差值确定模块1620、预测差值发送模块1630以及模型更新模块1640被配置为循环执行操作,直到满足预定条件。所述预定条件可以包括:达到预定循环次数;或者所确定出的预测差值位于预定范围内。
具体地,在每次循环程中,预测值获取模块1610被配置为基于各个数据拥有方的当前预测子模型以及对应的特征数据,使用秘密共享矩阵加法来获得预测模型的当前预测值。预测值获取模块1610的操作可以参考上面参照图12描述的块1220的操作以及图13中示出的第一数据拥有方侧执行的操作。
预测差值确定模块1620被配置为确定当前预测值与对应的标记值之间的预测差值。预测差值确定模块1620的操作可以参考上面参照图12描述的块1230的操作。
预测差值发送模块1630被配置为将所确定出的预测差值发送给各个第二数据拥有方,以供在各个第二数据拥有方处,基于该第二数据拥有方的当前预测子模型以及该第二数据拥有方的特征样本与所确定出的预测差值之积来更新该第二数据拥有方的当前预测子模型。预测差值发送模块1630的操作可以参考上面参照图12描述的块1240的操作。
模型更新模块1240被配置为基于第一数据拥有方的当前预测子模型以及第一数据拥有方的特征数据与所确定出的预测差值之积来更新第一数据拥有方的当前预测子模型,其中,在循环过程未结束时,更新后的第一数据拥有方和各个第二数据拥有方的当前预测子模型被用作下一训练过程的当前预测子模型。模型更新模块1640的操作可以参考上面参照图12描述的块1250的操作。
图17示出了根据本说明书的实施例的基于隐私保护的机器学习模型特征筛选装置(下文中简称为“模型特征筛选装置”)1700的方框图。模型特征筛选装置1700应用于第二数据拥有方。如图17所示,模型特征筛选装置1700包括模型训练单元1710和模型预测单元1720。
模型训练单元1710被配置为使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi的预测模型。预测模型是线性回归模型,该预测模型的输出是模型特征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj,预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型。
模型预测单元1720被配置为根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到模型特征Xi的预测值以及预测差值。这里,第一特征数据是从各个数据拥有方的特征数据中去除与模型特征Xi对应的特征值后的特征数据。
在本说明书的另一示例中,模型特征筛选装置1700也可以不包括模型预测单元1720。
图18示出了根据本说明书的实施例的模型训练单元1800的一个示例的方框图。
如图18所示,模型训练单元1800包括模型转换模块1810、样本转换模块1820、预测值获取模块1830、模型更新量接收模块1840、模型更新量确定模块1850、模型更新量分解模块1860、模型更新量发送模块1870、模型更新模块1880和模型确定模块1890。
模型转换模块1810被配置为对各个数据拥有方的预测子模型进行模型转换处理,以得到各个数据拥有方的转换预测子模型。模型转换模块1810的操作可以参考上面参照图5描述的块502的操作以及参照图6描述的操作。
在进行模型训练时,样本转换模块1820、预测值获取模块1830、模型更新量接收模块1840、模型更新量确定模块1850、模型更新量分解模块1860、模型更新量发送模块1870和模型更新模块1880被配置为循环执行操作,直到满足循环结束条件。在循环过程未结束时,更新后的各个数据拥有方的转换预测子模型被用作下一循环过程的当前转换预测子模型。
具体地,在每次循环过程中,样本转换模块1820被配置为对各个数据拥有方的特征数据进行垂直-水平切分转换,以得到各个数据拥有方处的转换特征数据。样本转换模块1820的操作可以参考上面参照图7描述的过程。
预测值获取模块1830被配置为基于各个数据拥有方的当前转换预测子模型和转换特征数据,使用秘密共享矩阵乘法来获得预测模型的当前预测值。这里,预测值获取模块1830可以被配置为使用有可信初始化方秘密共享矩阵乘法或无可信初始化方秘密共享矩阵乘法来获得当前预测值。预测值获取模块1830的操作可以参考上面参照图5描述的块504的操作。
模型更新量接收模块1840被配置为从第一数据拥有方接收一个第一部分模型更新量以及从每个其余第二数据拥有方接收一个第二部分模型更新量。从各个其余第二数据拥有方接收的第二部分模型更新量是在该第二数据拥有方处对自有第二模型更新量进行分解而得到的第一数目个第二部分模型更新量中的一个,所述自有第二模型更新量是在该第二数据拥有方处对所述预测差值和该第二数据拥有方处的第一转换特征数据执行秘密共享矩阵乘法得到的。模型更新量接收模块1840的操作可以参考上面参照图5描述的块508/511的操作。
模型更新量确定模块1850被配置为对预测差值和第二数据拥有方处的转换特征数据执行秘密共享矩阵乘法,以得到第二模型更新量。第二模型更新量确定模块1850的操作可以参考上面参照图5描述的块509的操作。模型更新量确定单元1850可以被配置为使用有可信初始化方秘密共享矩阵乘法或无可信初始化方秘密共享矩阵乘法来得到第二模型更新量。
模型更新量分解模块1860被配置为将第二模型更新量分解为第一数目个第二部分模型更新量。模型更新量分解模块1860的操作可以参考上面参照图3描述的块310的操作。
模型更新量发送模块1870被配置为将一个第二部分模型更新量发送给第一数据拥有方,以及向其余每个第二数据拥有方中的每个发送一个第二部分模型更新量。模型更新量发送模块1870的操作可以参考上面参照图5描述的块511的操作。
模型更新模块1880被配置为基于剩余的第二部分模型更新量和所接收的第一部分模型更新量和第二部分模型更新量来更新第二数据拥有方的当前转换预测子模型。模型更新模块1880的操作可以参考上面参照图5描述的块512的操作。
模型确定模块1890被配置为在满足循环结束条件时,基于各个数据拥有方的转换预测子模型,确定第二数据拥有方的预测子模型。模型确定模块1890的操作可以参考上面参照图5描述的块514的操作。
图19示出了根据本说明书的实施例的模型训练单元1900的另一示例的方框图。如图19所示,模型训练单元1900包括预测值获取模块1910、预测差值接收模块1920和模型更新模块1930。
在模型训练时,预测值获取模块1910、预测差值接收模块1920以及模型更新模块1930被配置为循环执行操作,直到满足循环结束条件。
具体地,在每次循环过程中,预测值获取模块1910被配置为基于各个数据拥有方的当前预测子模型以及对应的特征样本,使用秘密共享矩阵加法来获得预测模型的当前预测值。预测值获取模块1910的操作可以参考上面参照图12描述的块1220的操作以及图13中示出的任一第二数据拥有方侧执行的操作。
预测差值接收模块1920被配置为从第一数据拥有方接收预测差值。预测差值接收模块1920的操作可以参考上面参照图12描述的块1240的操作
模型更新模块1930被配置为基于第二数据拥有方的当前预测子模型以及所接收的预测差值与第二数据拥有方的特征数据之积来更新第二数据拥有方的当前预测子模型。模型更新模块1930的操作可以参考上面参照图12描述的块1250的操作。
这里要说明的是,模型特征筛选装置1400和1500可以在同一数据拥有方处实现。换言之,各个数据拥有方既可以充当第一数据拥有方,也可以充当第二数据拥有方。
如上参照图1到图19,对根据本说明书的实施例的模型特征筛选方法及模型特征筛选装置的实施例进行了描述。上面的模型特征筛选装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图20示出了根据本说明书的实施例的用于实现基于数据隐私保护的机器学习模型特征筛选的电子设备2000的结构框图。
如图20所示,电子设备2000可以包括至少一个处理器2010、存储器(例如,非易失性存储器)2020、内存2030、通信接口2040以及内部总线2060,并且至少一个处理器2010、存储器2020、内存2030和通信接口2040经由总线2060连接在一起。该至少一个处理器2010执行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器2010:使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi的预测模型,其中,预测模型是线性回归模型,预测模型的输出是模型特征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及基于模型特征Xi的预测差值,确定模型特征Xi的方差膨胀因子,以用于模型特征筛选处理。
应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器2010执行在本说明书的各个实施例中如上结合图1-19描述的各种操作和功能。
图21示出了根据本说明书的实施例的用于实现基于神经网络模型的模型预测的电子设备2100的结构框图。
如图21所示,电子设备2100可以包括至少一个处理器2110、存储器(例如,非易失性存储器)2120、内存2130、通信接口2140以及内部总线2160,并且至少一个处理器2110、存储器2120、内存2130和通信接口2140经由总线2160连接在一起。该至少一个处理器2110执行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器2110:使用各个数据拥有方的特征数据,利用多方安全计算来训练出模型特征Xi的预测模型,其中,预测模型是线性回归模型,预测模型的输出是模型特征Xi的预测值,以及预测模型的输入特征是模型特征集中的剩余模型特征Xj,预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型,其中,预测模型的预测值被使用来确定模型特征Xi的预测差值和方差膨胀因子,所述方差膨胀因子用于对模型特征Xi进行模型特征筛选处理。
应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器2110执行在本说明书的各个实施例中如上结合图1-19描述的各种操作和功能。
在本说明书的实施例中,电子设备2000/2100可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中如上结合图1-19描述的各种操作和功能。
具体地,可以提供配有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (26)
1.一种用于基于数据隐私保护的机器学习模型特征筛选的方法,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征Xi的特征数据,第二数据拥有方不具有所述待筛选模型特征Xi的特征数据,所述方法由第一数据拥有方执行,所述方法包括:
使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征Xi的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征Xi的预测值以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及
按照下述公式确定所述待筛选模型特征Xi的方差膨胀因子VIFi,以用于模型特征筛选处理:
其中,Ri 2是所述待筛选模型特征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按照下述公式确定出:
13.如权利要求12所述的方法,还包括:
根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征Xi的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征对应的特征值后的特征数据。
14.如权利要求12或13所述的方法,其中,所述多方安全计算包括秘密共享、混淆电路和同态加密中的一种。
15.如权利要求14所述的方法,其中,所述秘密共享包括秘密共享矩阵乘法和秘密共享矩阵加法。
16.如权利要求15所述的方法,其中,所述多方安全计算所采用的秘密共享的类型是根据第二数据拥有方的数目确定的。
17.一种用于基于数据隐私保护的机器学习模型特征筛选的装置,所述机器学习模型具有模型特征集,所述机器学习模型的特征数据被垂直切分地分布在第一数目个数据拥有方处,每个数据拥有方具有与所述模型特征集的模型特征子集对应的特征数据,所述数据拥有方包括第一数据拥有方和第二数目个第二数据拥有方,第二数目等于第一数目减一,第一数据拥有方具有待筛选模型特征Xi的特征数据,第二数据拥有方不具有所述待筛选模型特征Xi的特征数据,所述装置应用于第一数据拥有方,所述装置包括:
模型训练单元,使用各个数据拥有方的特征数据,利用多方安全计算来训练出待筛选模型特征Xi的预测模型,其中,所述预测模型是线性回归模型,所述预测模型的输出是所述待筛选模型特征Xi的预测值,以及所述预测模型的输入特征是所述模型特征集中的剩余模型特征,所述预测模型被垂直切分为多个预测子模型,每个数据拥有方具有一个预测子模型;以及
方差膨胀因子确定单元,按照下述公式确定所述待筛选模型特征Xi的方差膨胀因子VIFi,以用于模型特征筛选处理:
其中,Ri 2是所述待筛选模型特征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按照下述公式确定出:
22.如权利要求21所述的装置,还包括:
模型预测单元,根据各个数据拥有方的第一特征数据以及预测子模型进行多方安全计算,以得到所述待筛选模型特征Xi的预测值,所述第一特征数据是从各个数据拥有方的特征数据中去除与所述待筛选模型特征Xi对应的特征值后的特征数据。
23.一种电子设备,包括:
一个或多个处理器,以及
与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1到11中任一项所述的方法。
24.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到11中任一项所述的方法。
25.一种电子设备,包括:
一个或多个处理器,以及
与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求12到16中任一所述的方法。
26.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求12到16中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911195304.7A CN111062487B (zh) | 2019-11-28 | 2019-11-28 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911195304.7A CN111062487B (zh) | 2019-11-28 | 2019-11-28 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062487A CN111062487A (zh) | 2020-04-24 |
CN111062487B true CN111062487B (zh) | 2021-04-20 |
Family
ID=70299413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911195304.7A Active CN111062487B (zh) | 2019-11-28 | 2019-11-28 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062487B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523134B (zh) * | 2020-07-03 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | 基于同态加密的模型训练方法、装置及*** |
CN111523143B (zh) * | 2020-07-03 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 针对多方的隐私数据进行聚类的方法和装置 |
CN111737756B (zh) * | 2020-07-31 | 2020-11-24 | 支付宝(杭州)信息技术有限公司 | 经由两个数据拥有方进行的xgb模型预测方法、装置及*** |
CN111738453B (zh) * | 2020-07-31 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于样本加权的业务模型训练方法、装置及*** |
CN111737337B (zh) * | 2020-08-14 | 2020-12-08 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的多方数据转换方法、装置及*** |
CN111931241B (zh) * | 2020-09-23 | 2021-04-09 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的线性回归特征显著性检验方法、装置 |
CN112597540B (zh) * | 2021-01-28 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的多重共线性检测方法、装置及*** |
CN112948885B (zh) * | 2021-03-25 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 实现隐私保护的多方协同更新模型的方法、装置及*** |
CN113095514A (zh) * | 2021-04-26 | 2021-07-09 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备、存储介质及程序产品 |
CN114638376B (zh) * | 2022-03-25 | 2024-06-04 | 支付宝(杭州)信息技术有限公司 | 一种复合样本场景中的多方联合模型训练方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015192339A1 (zh) * | 2014-06-18 | 2015-12-23 | 中山大学 | 一种嵌合载体及其制备方法和应用 |
CN106874286A (zh) * | 2015-12-11 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种筛选用户特征的方法及装置 |
CN108363478A (zh) * | 2018-01-09 | 2018-08-03 | 北京大学 | 针对可穿戴设备深度学习应用模型分载***及方法 |
CN109327421A (zh) * | 2017-08-01 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置及电子设备 |
CN110287456A (zh) * | 2019-06-30 | 2019-09-27 | 张家港宏昌钢板有限公司 | 基于数据挖掘的大盘卷轧制表面缺陷分析方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10516650B2 (en) * | 2017-09-13 | 2019-12-24 | Netabstraction, Inc. | Dynamic, user-configurable virtual private network |
CN109783614B (zh) * | 2019-01-25 | 2020-11-24 | 北京信息科技大学 | 一种社交网络待发布文本的差分隐私泄露检测方法及*** |
CN110190946B (zh) * | 2019-07-12 | 2021-09-03 | 之江实验室 | 一种基于同态加密的隐私保护多机构数据分类方法 |
-
2019
- 2019-11-28 CN CN201911195304.7A patent/CN111062487B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015192339A1 (zh) * | 2014-06-18 | 2015-12-23 | 中山大学 | 一种嵌合载体及其制备方法和应用 |
CN106874286A (zh) * | 2015-12-11 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种筛选用户特征的方法及装置 |
CN109327421A (zh) * | 2017-08-01 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置及电子设备 |
CN108363478A (zh) * | 2018-01-09 | 2018-08-03 | 北京大学 | 针对可穿戴设备深度学习应用模型分载***及方法 |
CN110287456A (zh) * | 2019-06-30 | 2019-09-27 | 张家港宏昌钢板有限公司 | 基于数据挖掘的大盘卷轧制表面缺陷分析方法 |
Non-Patent Citations (2)
Title |
---|
Carotid Artery Intima–Media Thickness Could Predict the Presence of Coronary Artery Lesions;Vasilios T. Kotsis 等;《AJH》;20051231;第601-606页 * |
基于多时相遥感影像的北京平原人工林树种分类;王二丽 等;《北京工业大学学报》;20170531;第43卷(第5期);第710-718页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111062487A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111523673B (zh) | 模型训练方法、装置及*** | |
CN110942147B (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
CN110929870B (zh) | 图神经网络模型训练方法、装置及*** | |
CN112052942B (zh) | 神经网络模型训练方法、装置及*** | |
CN111061963B (zh) | 基于多方安全计算的机器学习模型训练及预测方法、装置 | |
CN112000991B (zh) | 多方数据联合处理方法、装置及*** | |
CN111210003B (zh) | 纵向联邦学习***优化方法、装置、设备及可读存储介质 | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及*** | |
CN111738438B (zh) | 图神经网络模型训练方法、装置及*** | |
CN111523556A (zh) | 模型训练方法、装置及*** | |
CN111368983A (zh) | 业务模型训练方法、装置及业务模型训练*** | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及*** | |
CN110837653A (zh) | 标签预测方法、装置以及计算机可读存储介质 | |
CN114925786A (zh) | 基于秘密分享的纵向联邦线性支持向量分类方法 | |
CN110874481B (zh) | 一种基于gbdt模型的预测方法和装置 | |
CN112183757B (zh) | 模型训练方法、装置及*** | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及*** | |
CN112183759A (zh) | 模型训练方法、装置及*** | |
CN111523675B (zh) | 模型训练方法、装置及*** | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及*** | |
CN112966809B (zh) | 基于隐私保护的两方模型预测方法、装置及*** | |
CN112183565B (zh) | 模型训练方法、装置及*** | |
CN112183566A (zh) | 模型训练方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028946 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |