CN112818290A - 多方联合确定隐私数据中对象特征相关性的方法及装置 - Google Patents
多方联合确定隐私数据中对象特征相关性的方法及装置 Download PDFInfo
- Publication number
- CN112818290A CN112818290A CN202110084215.6A CN202110084215A CN112818290A CN 112818290 A CN112818290 A CN 112818290A CN 202110084215 A CN202110084215 A CN 202110084215A CN 112818290 A CN112818290 A CN 112818290A
- Authority
- CN
- China
- Prior art keywords
- matrix
- feature
- central
- correlation coefficient
- fragmentation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 239000011159 matrix material Substances 0.000 claims abstract description 727
- 238000013467 fragmentation Methods 0.000 claims abstract description 95
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 95
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 239000012634 fragment Substances 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 30
- 238000000926 separation method Methods 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 13
- 230000002194 synthesizing effect Effects 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 abstract description 12
- 230000000875 corresponding effect Effects 0.000 description 61
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000005267 amalgamation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种多方联合确定隐私数据中对象特征相关性的方法及装置。隐私数据分布在多个持有方中,第一持有方针对第一原始矩阵中多项特征的特征值进行零均值化,得到第一中心矩阵;利用多方安全计算,基于第一中心矩阵以及其他持有方各自的中心矩阵,确定协方差矩阵的第一分片矩阵。针对第一持有方中的第i特征与第二持有方中的第j特征,第一持有方从本地的协方差矩阵分片、本地存储的特征数据中获取数据,并利用多方安全计算,基于第二持有方的本地特征数据,确定第i特征与第j特征之间的第一相关性系数分片。
Description
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及多方联合确定隐私数据中对象特征相关性的方法及装置。
背景技术
在现实领域构建线性模型的过程中,会出现一些样本特征与其他样本特征相关的情况,即特征或变量的多重共线性,也就是样本特征之间存在较高的相关性。当这种情况较严重时,会增大模型中回归系数的方差,使回归模型的结果变得不稳定。而在多平台联合建模场景中,由于多方共同建模,所使用的样本数据产生于相似场景,其难免会产生命名不同的共线特征,因此在构建线性模型之前对特征之间的相关性进行检验并处理,是十分必要的。而各平台中的样本数据往往存在较强的隐私保护需求,不会以明文或者简单的密文形式传输。当前存在对不同平台中样本数据的特征之间的相关性进行评估的需求。
因此,希望能有改进的方案,可以更加安全、有效地确定多方隐私数据中特征之间的相关性,同时保证隐私数据的安全不泄露。
发明内容
本说明书一个或多个实施例描述了多方联合确定隐私数据中对象特征相关性的方法及装置,以更加安全、有效地确定多方隐私数据中特征之间的相关性,同时保证隐私数据的安全不泄露。具体的技术方案如下。
第一方面,一种多方联合确定隐私数据中对象特征之间相关性的方法,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有n个业务对象针对若干个特征的特征值构成的第一原始矩阵;所述方法通过所述第一持有方执行,包括:
针对所述第一原始矩阵中多项特征的特征值进行零均值化,得到第一中心矩阵;
利用多方安全计算(Secure Multi-party Computation,MPC),基于所述第一中心矩阵以及其他持有方各自的中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
在一种实施方式中,方法还包括:在需要确定所述第i特征与所述第j特征之间完整的相关性系数时,从所述第二持有方获取对应的第二相关性系数分片,基于所述第一相关性系数分片和所述第二相关性系数分片的和,得到所述第i特征与所述第j特征之间完整的相关性系数。
在一种实施方式中,方法还包括:在得到所述相关性系数之后,根据所述相关性系数与预设阈值的比较,确定针对所述第i特征和所述第j特征的处理操作,所述处理操作包括以下之一:删除特征、融合特征。
在一种实施方式中,方法还包括:对所述第一原始矩阵中所述第i特征对应的特征值执行所述处理操作,得到更新后的业务数据矩阵,用以通过机器学习的方式对业务对象进行业务预测分析。
在一种实施方式中,多个持有方的原始矩阵中所述n个业务对象的数据按照预定顺序排列,不同持有方存储有多个业务对象的不同特征的特征值;所述业务对象为以下之一:用户、商铺、商品、事件。
在一种实施方式中,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
利用秘密分享矩阵乘法(Secret matrix multiplication,SMM),基于所述第一中心矩阵以及其他持有方各自的中心矩阵进行乘操作,确定协方差矩阵的第一分片矩阵。
在一种实施方式中,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
本地计算所述第一中心矩阵与其转置矩阵的乘积,得到第一子矩阵;利用所述SMM,将所述第一中心矩阵分别与多个持有方各自的中心矩阵进行乘操作,得到多个第二子矩阵,基于所述第一子矩阵和多个第二子矩阵,拼接形成所述协方差矩阵的第一分片矩阵。
在一种实施方式中,所述拼接形成所述协方差矩阵的第一分片矩阵的步骤,包括:
将所述联合矩阵与其转置矩阵的乘积结果划分成:与所述第一中心矩阵相关的第一子块,与所述第一中心矩阵和其他中心矩阵相关的第二子块,与所述其他中心矩阵相关的第三子块;
采用所述第一子矩阵填充所述第一子块,基于多个第二子矩阵填充所述第二子块,采用预设的0矩阵填充所述第三子块,基于填充后的矩阵与预设系数的乘积得到所述第一分片矩阵。
在一种实施方式中,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
基于本地生成的第一随机矩阵与所述第一中心矩阵的差,得到第一隐秘矩阵,通过与其他持有方进行的隐秘矩阵交换,得到多个隐秘矩阵,并将其拼接形成第一合并矩阵,基于获取的第一拆分矩阵、第二拆分矩阵与所述第一合并矩阵之间的预设矩阵运算,得到所述协方差矩阵的第一分片矩阵;
其中,多个持有方的拆分矩阵在假定分别重构的情况下,构成第一全矩阵和第二全矩阵,并满足:所述第一全矩阵与其转置矩阵的乘积等于所述第二全矩阵。
在一种实施方式中,所述得到所述协方差矩阵的第一分片矩阵的步骤,具体包括:
利用多方安全计算,通过与其他持有方之间的交互,获取所述第一拆分矩阵和第二拆分矩阵;
在本地生成第一随机矩阵,并将其与所述第一中心矩阵进行求差操作,得到第一隐秘矩阵,分别与其他持有方进行隐秘矩阵交换,将得到的其他持有方的隐秘矩阵与所述第一隐秘矩阵,按照预定顺序拼接形成第一合并矩阵;
基于所述第一合并矩阵与所述第一拆分矩阵的差,得到第一分离矩阵,并分别与其他持有方进行分离矩阵交换,基于得到的其他持有方的分离矩阵与所述第一分离矩阵的差,得到第一矩阵;
基于所述第一拆分矩阵、第二拆分矩阵和第一矩阵之间的叠加,得到所述协方差矩阵的第一分片矩阵。
在一种实施方式中,所述确定所述第i特征与所述第j特征之间的第一相关性系数分片的步骤,包括:利用SMM,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,确定所述第i特征与所述第j特征之间的第一相关性系数分片。
在一种实施方式中,所述确定所述第i特征与所述第j特征之间的第一相关性系数分片的步骤,包括:
从所述第一分片矩阵中获取与所述第i特征和所述第j特征对应的协方差分片项;
利用SMM,基于所述第一中心矩阵中所述第i特征的特征值,以及所述第二中心矩阵中所述第j特征的特征值,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数;
基于所述协方差分片项与所述倒数的乘积,得到所述第i特征与所述第j特征之间的第一相关性系数分片。
在一种实施方式中,所述确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数的步骤,包括:
基于所述第一中心矩阵中所述第i特征对应的特征值计算第一方差;
利用所述SMM与安全根号逆算法的结合,并基于所述第一方差与第二方差的乘操作,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果;其中,所述第二方差由所述第二持有方,基于所述第二中心矩阵中所述第j特征对应的特征值计算得到。
在一种实施方式中,所述确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果的步骤,包括:
对所述第一方差进行初始化变换,得到第一数值;
针对安全根号逆迭代公式中的乘积项,利用所述SMM,基于所述第一方差、第一数值以及所述第二方差、第二数值计算所述乘积项,在迭代次数满足预设次数时,基于所述安全根号迭代公式的取值得到所述乘积结果;
所述第二数值由所述第二持有方对所述第二方差进行初始化变换得到。
在一种实施方式中,所述第一原始矩阵中一行对应一个业务对象,一列对应一个特征;所述联合矩阵为,假定多个持有方各自对应的原始矩阵进行横向拼接所形成的矩阵。
第二方面,实施例提供了一种多方联合确定隐私数据中对象特征之间相关性的方法,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有若干个业务对象针对预定的D个特征的特征值构成的第一原始矩阵;所述方法通过所述第一持有方执行,包括:
通过多方安全计算,与其他持有方协同针对所述第一原始矩阵中的D项特征的特征值进行零均值化,得到第一中心矩阵;
基于所述第一中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
在一种实施方式中,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
基于所述第一中心矩阵与其转置矩阵,确定所述协方差矩阵的第一分片矩阵。
在一种实施方式中,所述第一原始矩阵中一行对应一个业务对象,一列对应一个特征;所述联合矩阵为,假定多个持有方各自对应的原始矩阵进行纵向拼接所形成的矩阵。
第三方面,实施例提供了一种多方联合确定隐私数据中对象特征之间相关性的装置,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有n个业务对象针对若干个特征的特征值构成的第一原始矩阵,包括:
第一均值模块,配置为,针对所述第一原始矩阵中多项特征的特征值进行零均值化,得到第一中心矩阵;
第一分片模块,配置为,利用多方安全计算,基于所述第一中心矩阵以及其他持有方各自的中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
分片确定模块,配置为,针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
第四方面,实施例提供了一种多方联合确定隐私数据中对象特征之间相关性的装置,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有若干个业务对象针对预定的D个特征的特征值构成的第一原始矩阵;所述装置部署在所述第一持有方中,包括:
第二均值模块,配置为,通过多方安全计算,与其他持有方协同针对所述第一原始矩阵中的D项特征的特征值进行零均值化,得到第一中心矩阵;
第二分片模块,配置为,基于所述第一中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
分片确定模块,配置为,针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
第五方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第二方面中任一项所述的方法。
第六方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第二方面中任一项所述的方法。
在本说明书实施例提供的方法及装置中,多个持有方可以利用多方安全计算分别确定特征之间的协方差矩阵的分片矩阵,在确定不同持有方之间的两个特征的相关性系数分片时,不同持有方可以利用本地协方差矩阵分片中的数据,以及本地存储的特征值,利用多方安全计算,分别确定两个特征之间的相关性系数分片,不需要对协方差矩阵的信息进行重构,利用协方差矩阵的分片以及本地数据即能安全、有效地计算相关性系数的分片。在需要完整的相关性系数时,将两个分片合成即可。上述处理过程利用的多方安全计算能很好地保护隐私数据不泄露。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2所示为数据垂直切分场景的示意图;
图3所示为数据水平切分场景的示意图;
图4为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的方法的流程示意图;
图5所示为秘密分享矩阵乘法的一种计算流程示意图;
图6所示为利用SMM计算分片矩阵的一种流程示意图;
图7为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的方法的流程示意图;
图8为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的装置的示意性框图;
图9为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,在共享学习场景下,数据集由多个持有方1,2,…,M共同提供(M为自然数),每个持有方拥有数据集中的一部分数据,构成该持有方的原始矩阵。该数据集可以是用于训练神经网络模型的训练数据集,也可以是用于测试神经网络模型的测试数据集,或者是待预测的数据集。数据集可以包括业务对象的特征数据,业务对象可以是用户、商铺、商品、事件等各种业务上有待分析的对象。
这里可以存在至少两种数据分布。一种是,各个持有方拥有全部业务对象的不同特征的数据。例如,每个持有方都有同样的100个对象的样本,每个样本的隐私数据中包含20个特征,这些特征分布在4个持有方中,每个持有方拥有5个特征。每个持有方拥有的特征不同,其数量可以相同,也可以不同。此为数据垂直切分的场景,图2所示为数据垂直切分场景的示意图。例如,两个平台有相同的一批用户,但其用户特征是不同的。
另一种是,各个持有方拥有不同对象样本的全部特征数据。例如,共有100个对象的样本,每个样本的隐私数据中包含20项特征,这些数据分布在4个持有方中,每个持有方拥有全部100个样本中的一部分对象样本,每个样本数据的特征相同。不同持有方存储的对象样本的数量可以相同,也可以不同。此为数据水平切分的场景,图3所示为数据水平切分场景的示意图。例如,有两个银行,它们都拥有用户的信贷特征,但其服务的用户群体不同。
持有方所拥有的隐私数据可以包括很多种属性特征。在一具体例子中,业务对象为商铺。某一个电商平台,拥有N个商铺的部分属性特征,这些属性特征包括商铺id、经营时长等。而另一电商平台,拥有上述N个商铺的另一部分属性特征,这些属性特征包括商铺类别和累积销量等等。这样,相同商铺的不同特征的特征数据分布于不同的持有方。
在另一个例子中,业务对象为用户。多个数据持有方(以下简称持有方)中的某一个社交平台,拥有多个N1用户的用户基本属性特征,这些属性特征包括用户id、年龄、性别、职业和地区。多个持有方中的另一持有方为另一社交平台,该社交平台拥有另外的N2个用户的上述用户基本属性特征。这样,不同用户的相同属性项的特征数据分布于不同的数据持有方。
在其他实施例中,业务对象还可以是有待分析的商品、事件等等,其中事件可以包括交易事件、登录事件、购买事件和社交事件等等。
不管是哪种数据分布方式,其业务对象的属性特征数据都属于隐私数据,可存储为隐私数据矩阵。为了隐私数据的安全,各个持有方需要将其隐私数据留在本地,不输出明文数据,不进行明文聚合。
参见图1,在本说明书的实施例中,各个持有方存储有各自的原始矩阵,各个持有方分别将原始矩阵处理为中心矩阵,中心矩阵为处理后的隐私数据矩阵。多个持有方,分别基于中心矩阵可以得到协方差矩阵中在本持有方中对应的分片矩阵,基于分片矩阵可以得到特征之间的相关性系数分片。其中,多个持有方各自对应的中心矩阵在假定相拼接的情况下构成联合矩阵,多个持有方各自的分片矩阵在假定重构的情况下,构成协方差矩阵。协方差矩阵基于联合矩阵得到。下面结合具体实施例,依次针对数据垂直切分场景和数据水平切分场景,对本发明实施例进行说明。
在数据垂直切分场景下,各个持有方之间分别针对各自的原始矩阵中多项特征的特征值进行零均值化,得到各自的中心矩阵;各个持有方利用多方安全计算MPC,基于各自的中心矩阵以及其他持有方各自的中心矩阵,分别确定协方差矩阵在本持有方中的分片矩阵。在确定两个持有方中的特征之间的相关性系数分片时,利用本地的协方差矩阵的分片以及本地的中心矩阵、另一持有方的中心矩阵,利用MPC,确定这两个特征之间的相关性系数分片。在需要确定完整的相关性系数时,通过对两个持有方中的相关性系数分片求和即可。下面通过图4所示实施例进行详细说明。
图4为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的方法的流程示意图。隐私数据分布在多个持有方中,持有方的数量可以是两个或两个以上。为了描述方便,下面举例中多以两个持有方为例进行说明。例如,两个持有方分别为第一持有方A和第二持有方B。各个持有方,均可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来实现。
第一持有方A存储有n个业务对象针对pA个特征的特征值构成的第一原始矩阵XA,第二持有方B存储有该n个业务对象针对pB个特征的特征值构成的第二原始矩阵XB。多个持有方中的n个业务对象是相同的,多个持有方的原始矩阵中的n个业务对象的数据按照相同的预定顺序排列,不同持有方存储有该n个业务对象的不同特征的特征值。其中,n、pA和pB均为自然数。第一原始矩阵XA和第二原始矩阵XB的行可以表示业务对象,列表示特征;也可以是,第一原始矩阵和第二原始矩阵的列表示业务对象,行表示特征。为了描述简洁清楚,以下均采用前者的方式举例进行描述。
该方法包括以下步骤S410~S430。
步骤S410,第一持有方A针对第一原始矩阵XA中多项特征的特征值进行零均值化,得到第一中心矩阵XA,第二持有方B针对第二原始矩阵XB中多项特征的特征值进行零均值化,得到第二中心矩阵XB。每个持有方均按照本步骤对其原始矩阵进行零均值化,得到中心矩阵。下面以第一持有方A为例说明零均值化的具体实施方式。
由于各个持有方拥有所有业务对象的部分特征,因此针对每项特征的零均值化处理可以在持有方本地进行。在第一原始矩阵XA(n*pA)中的列表示特征项,行表示样本的情况下,可以分别基于每一列的特征值计算列均值μ=(μ1,μ2,…,μpA),将每一列的特征值分别减去该列的均值,得到的矩阵即为第一中心矩阵XA。
零均值化处理又叫做中心化处理。零均值化处理的目的是使得,针对任意一项特征,所有业务对象在该特征上的特征值的均值为0。
各个持有方对原始矩阵进行零均值化处理后得到的中心矩阵,可以作为多方联合计算协方差矩阵时的基础,其可以简化数据,降低计算量。但是在隐私保护方面,由于对原始矩阵的零均值化处理比较简单,容易被破解,因此中心矩阵仍然被认为是隐私数据。
步骤S420,第一持有方A利用多方安全计算,基于第一中心矩阵XA以及其他持有方各自的中心矩阵(例如包括第二持有方B的第二中心矩阵XB),确定协方差矩阵Cov的第一分片矩阵。此处的其他持有方,包括多个持有方中除了该第一持有方之外的持有方,其他持有方也分别确定对应的分片矩阵。例如,第二持有方A利用MPC,基于第二中心矩阵XB以及第一中心矩阵XA,确定协方差矩阵Cov的第二分片矩阵。
其中,MPC可以包括多种实现方式,例如包括同态加密、混淆电路、不经意传输、秘密分享等技术。下面以秘密分享技术为例,说明本步骤的具体实施方式。
第一持有方A可以利用SMM,基于第一中心矩阵XA以及其他持有方各自的中心矩阵(例如包括第二持有方B的第二中心矩阵XB)进行乘操作,确定协方差矩阵Cov的第一分片矩阵<Cov>A。第二持有方B也可以得到协方差矩阵Cov的第二分片矩阵<Cov>B。并且,在仅有两个持有方的例子中,Cov=<Cov>A+<Cov>B。
在多个持有方各自的分片矩阵在假定重构的情况下,构成协方差矩阵。重构可以基于将各方的分片矩阵加起来实现,具体的重构可以是在相加的基础上加入其它的矩阵变换操作,矩阵变换例如包括乘以预设数值等。协方差矩阵是包含隐私数据的矩阵,各个持有方不直接进行该隐私数据的明文聚合,该协方差矩阵仅是一种假设情况下的表示,实际中不会将持有方的分片矩阵直接拼接在一起。
在后续的描述中,采用“<>”来表示分片,其右下角的字母代表对应的持有方,例如<Cov>A表示协方差矩阵Cov在第一持有方A中的分片。
其中,多个持有方各自对应的中心矩阵在相拼接的情况下,构成联合矩阵X。当第一原始矩阵XA中一行对应一个业务对象,一列对应一个特征时,联合矩阵为,假定多个持有方各自对应的原始矩阵进行横向拼接所形成的矩阵。例如按照图2所示的方式拼接起来。当仅有两个持有方A和B时,联合矩阵可以表示为X=(XA,XB)。
由于各个持有方不直接进行隐私数据的明文聚合,该联合矩阵仅是一种假设情况下的表示,实际中处于隐私保护考虑不会将持有方的中心矩阵直接拼接在一起。
协方差矩阵Cov具体可以基于联合矩阵X及其转置矩阵XT的乘积得到。例如,协方差矩阵Cov的计算公式可以表示为
其中,n为总的样本数量,T为转置符号。
下面分别介绍实施步骤S420中,基于SMM确定协方差矩阵的分片矩阵的两种不同的实施方式,一种是基于SMM的分块矩阵乘法,一种是秘密分享转置矩阵乘法。下面先对基于SMM的分块矩阵乘法的实施方式进行说明。
将X=(XA,XB)代入公式(1)并展开,可以得到
通过式(2)可以看出,将Cov展开后,左上角和右下角的矩阵分别进包含A方数据和B方数据,即(XA)T(XA)可以在第一持有方A本地计算,(XB)T(XB)可以在第二持有方B本地计算。而右上角和左下角的矩阵同时包含XA和XB,可以采用秘密分享矩阵乘法SMM进行计算分片,例如右上角矩阵的分片<(XA)T(XB)>,其中
<(XA)T(XB)>A+<(XA)T(XB)>B=(XA)T(XB) (3)
上式表示,<(XA)T(XB)>A分片存在于A方,<(XA)T(XB)>B存在于B方。
并且,仅通过SMM计算式(2)中右上角或左下角的矩阵即可,因为两者可以通过以下公式进行转换
<(XB)T(XA)>=<(XA)T(XB)>T (4)
A方和B方分别在本地,基于右上角矩阵的分片计算左下角矩阵的分片,或者,在本地基于左下角矩阵的分片计算右上角矩阵的分片,可以减少各方之间的通信量。对于A方来说,式(2)右下角矩阵填充0矩阵;对于B方来说,式(2)左上角矩阵填充0矩阵。此时,A方和B方分别得到的Cov矩阵分片为
可以验证,第一持有方A中的Cov矩阵分片与第二持有方B中的Cov矩阵分片的和为式(2)中的协方差矩阵Cov。
从上述内容可以看出,在基于SMM的分块矩阵乘法中,第一持有方A可以本地计算第一中心矩阵XA与其转置矩阵的乘积,得到第一子矩阵(XA)T(XA)。并且,利用SMM,将第一中心矩阵XA分别与多个持有方各自的中心矩阵进行乘操作,可以得到多个第二子矩阵,该矩阵为A方得到的分片,例如包括得到<(XA)T(XB)>A,基于第一子矩阵和多个第二子矩阵,拼接形成协方差矩阵Cov的第一分片矩阵<Cov>A。
同样的,第二持有方B可以在本地计算第二中心矩阵XB与其转置矩阵的乘积,得到第一子矩阵(XB)T(XB)。并且,利用SMM,将第二中心矩阵XB分别与多个持有方各自的中心矩阵进行乘操作,可以得到多个第二子矩阵,例如包括得到<(XA)T(XB)>B,基于第一子矩阵和多个第二子矩阵,拼接形成协方差矩阵Cov的第二分片矩阵<Cov>B。
并且,在第一子矩阵和多个第二子矩阵,拼接形成协方差矩阵Cov的第一分片矩阵<Cov>A时,可以将联合矩阵X与其转置矩阵的乘积结果划分成:与第一中心矩阵XA相关的第一子块,例如式(2)的左上角矩阵;与第一中心矩阵XA和其他中心矩阵相关的第二子块,例如式(2)的右上角和左下角矩阵;与其他中心矩阵相关的第三子块,例如式(2)的右下角矩阵。
然后,采用第一子矩阵填充第一子块,基于多个第二子矩阵填充第二子块,采用预设的0矩阵填充第三子块,基于填充后的矩阵与预设系数的乘积得到所述第一分片矩阵。预设系数例如可以为1/(n-1)。
SMM方法是一种已知的隐私保护的矩阵相乘方法,可以在双方不泄露原始矩阵数据的情况下,完成两方矩阵相乘的运算,并使得各方均得到矩阵乘法结果的分片,双方分片的和即为矩阵乘法的结果。图5所示为秘密分享矩阵乘法的一种计算流程示意图。下面结合图5简单描述这一过程。
假定Alice方拥有矩阵X,Bob方拥有矩阵Y。
第1步,借助于第三方随机生成矩阵三元组(triple)U、V、W,并分别将其拆分成两个矩阵,得到U1、V1、W1,U2、V2、W2,这里的U1和U2与X维度相同,V1和V2与Y维度相同,且满足(U1+U2)*(V1+V2)=(W1+W2),使得Alice和Bob分别拥有U1、V1、W1和U2、V2、W2。
第2步,Alice随机生成矩阵X1,并得到分片X2=X-X1,将X2发送至Bob。同时,Bob也随机生成矩阵Y2,并得到分片Y1=Y-Y2,将Y1发送至Alice。这样,Alice和Bob分别拥有X1、Y1和X2、Y2。
第3步,在有限域下计算D、E。Alice按照以下公式计算:D1=X1-U1,E1=Y1-V1。Bob按照以下公式计算,D2=Y2-U2,E2=Y2-V2。双方交换D1、E1和D2、E2。
第4步,Alice通过计算以下公式,得到分片Z1:
D=D1+D2,E=E1+E2
Z1=W1+E·U1+D·V1+D·E
Bob通过计算以下公式,得到分片Z2:
D=D1+D2,E=E1+E2
Z2=W2+E·U2+D·V2
可以验证,Z1+Z2=X·Y。
于是,两个持有方在不暴露原始矩阵X和Y的情况下,分别得到矩阵乘法的分片Z1和Z2。
上述第二子矩阵可以使用以上图5所示的SMM方法计算得到。例如,在计算第一中心矩阵XA和第二中心矩阵XB的矩阵乘法结果分片时,将第一中心矩阵XA和第二中心矩阵XB分别作为图5所示的SMM方法中的原始矩阵X和Y即可。
在图5所示的SMM方法的基础上加以改进,还可以得到另一种确定第一分片矩阵<Cov>A和第二分片矩阵<Cov>B的方法,即秘密分享转置矩阵乘法。步骤S420中确定协方差矩阵的第一分片矩阵时可以按照以下步骤执行:
第一持有方A,基于本地生成的第一随机矩阵<XA>A与第一中心矩阵XA的差,得到第一隐秘矩阵<XA>B,通过与其他持有方进行的隐秘矩阵交换,得到多个隐秘矩阵,并将其拼接形成第一合并矩阵<X>A,基于获取的第一拆分矩阵<U>A、第二拆分矩阵<Z>A与第一合并矩阵<X>A之间的预设矩阵运算,得到协方差矩阵Cov的第一分片矩阵<Cov>A。
同样的,第二持有方B,基于本地生成的第二随机矩阵<XB>B与第二中心矩阵XB的差,得到第二隐秘矩阵<XB>A,通过与其他持有方进行的隐秘矩阵交换,得到多个隐秘矩阵,并将其拼接形成第二合并矩阵<X>B,基于获取的第一拆分矩阵<U>B、第二拆分矩阵<Z>B与第二合并矩阵<X>B之间的预设矩阵运算,得到协方差矩阵Cov的第二分片矩阵<Cov>B。
其中,多个持有方的拆分矩阵在假定分别重构的情况下,构成第一全矩阵U和第二全矩阵Z,并满足:第一全矩阵U与其转置矩阵的乘积等于第二全矩阵Z。重构的含义同上文说明。
第一全矩阵U的维数可以是n*p,第二全矩阵Z的维数可以是p*p,n是业务对象的总数,p为多个持有方所拥有的特征项总数。第一全矩阵U和第二全矩阵Z之间可以满足以下关系
在一种实施方式中,步骤S420具体可以包括以下4个步骤,参见图6所示为利用SMM计算分片矩阵的一种流程示意图。
第1步,第一持有方A利用多方安全计算,通过与其他持有方之间的交互,获取第一拆分矩阵<U>A和第二拆分矩阵<Z>A,第二持有方B则获取第一拆分矩阵<U>B和第二拆分矩阵<Z>B。此处的第一拆分矩阵和第二拆分矩阵分别表示两类矩阵,每个持有方均可以获取到这两类矩阵。多个持有方的第一拆分矩阵在假定重构的情况下构成第一全矩阵,多个持有方的第二拆分矩阵在假定重构的情况下构成第二全矩阵。
图6以持有方有两个为例进行说明,第一全矩阵U分别对应于第一拆分矩阵<U>A和<U>B,第二全矩阵Z分别对应于第二拆分矩阵<Z>A和<Z>B,并分别由A方和B方获取到。
第2步,第一持有方A在本地生成第一随机矩阵<XA>A,并将其与第一中心矩阵XA进行求差操作,得到第一隐秘矩阵<XA>B,分别与其他持有方进行隐秘矩阵交换,将得到的其他持有方的隐秘矩阵与第一隐秘矩阵<XA>B,按照预定顺序拼接形成第一合并矩阵<X>A。
例如,第一隐秘矩阵<XA>B可以按照<XA>B=XA-<XA>A来计算得到,第一合并矩阵<X>A可以按照<X>A=(<XA>A,<XB>A)方式来拼接。
预定顺序可以是预定的左右位置顺序等。
同样的,第二持有方B在本地生成第二随机矩阵<XB>B,并将其与第二中心矩阵XB进行求差操作,得到第二隐秘矩阵<XB>A。分别与其他持有方进行隐秘矩阵交换,将得到的其他持有方的隐秘矩阵与第二隐秘矩阵<XB>A,按照预定顺序拼接形成第一合并矩阵<X>B。
例如,第二隐秘矩阵<XB>A可以按照<XB>A=XB-<XB>B来计算得到,第二合并矩阵<X>B可以按照<X>B=(<XA>B,<XB>B)方式来拼接。
其中,持有方生成的随机矩阵的数量,与持有方的数量相关。例如,当持有方的数量为m时,随机矩阵的数量为m-1。例如,第一持有方生成的第一随机矩阵的数量可以为m-1。
第3步,第一持有方A基于第一合并矩阵<X>A与第一拆分矩阵<U>A的差,得到第一分离矩阵<D>A,并分别与其他持有方进行分离矩阵交换,基于得到的其他持有方的分离矩阵与第一分离矩阵<D>A的差,得到第一矩阵D。
例如,第一分离矩阵<D>A,可以按照<D>A=<X>A-<U>A来计算得到,并将<D>A发送至B方。第一矩阵D可以采用D=<D>A-<D>B来计算得到。
第二持有方B可以基于第二合并矩阵<X>B与第一拆分矩阵<U>B的差,得到第二分离矩阵<D>B,并分别与其他持有方进行分离矩阵交换,基于得到的其他持有方的分离矩阵与第二分离矩阵<D>B的差,得到第一矩阵D。
例如,第二分离矩阵<D>B,可以按照<D>B=<X>B-<U>B来计算得到,并将<D>B发送至A方。第一矩阵D可以采用D=<D>A-<D>B来计算得到。
第4步,第一持有方A可以基于第一拆分矩阵<U>A、第二拆分矩阵<Z>A和第一矩阵D之间的叠加,得到协方差矩阵Cov的第一分片矩阵<Cov>A。此处的叠加可以包括矩阵求和。具体的,第一分片矩阵<Cov>A。可以采用以下矩阵运算公式计算
<Y>A=<Z>A+<U>T AD+DT<U>A+DTD (7)
其中,基于<Y>A可以得到第一分片矩阵<Cov>A。
第二持有方B可以基于第一拆分矩阵<U>B、第二拆分矩阵<Z>B和第一矩阵D之间的叠加,得到协方差矩阵Cov的第二分片矩阵<Cov>B。在计算第二分片矩阵<Cov>B时,可以采用以下矩阵运算公式计算
<Y>B=<Z>B+<U>T BD+DT<U>B (8)
其中,基于<Y>B可以得到第二分片矩阵<Cov>B。可以验证
<Y>A+<Y>B=(XA,XB)T p*n(XA,XB)p*n (9)
即,利用SMM对第一中心矩阵XA和第二中心矩阵XB进行的乘操作,其结果可以得到两个中心矩阵的拼接矩阵与其转置矩阵的乘积的分片,将分片<Y>A乘以预设系数即可以得到第一分片矩阵<Cov>A,将分片<Y>B乘以预设系数即可以得到第二分片矩阵<Cov>B。
步骤S430,针对第一持有方中的第i特征与第二持有方中的第j特征,
第一持有方A可以基于第一分片矩阵<Cov>A、第一中心矩阵XA以及第二持有方B的第二中心矩阵XB,利用多方安全计算,确定第i特征与第j特征之间的第一相关性系数分片。该第一相关性系数分片可以用于与第二持有方B确定的第二相关性系数分片合成完整的相关性系数。
同样的,第二持有方B可以基于第二分片矩阵<Cov>B、第二中心矩阵XB以及第一持有方A的第一中心矩阵XA,利用多方安全计算,确定第i特征与第j特征之间的第二相关性系数分片。
其中,第二中心矩阵由第二持有方确定。第i特征可以与第j特征相同,也可以不同,只要这两个特征对应的特征数据存储在不同持有方中即可。
在具体的实施方式中,第一持有方和第二持有方可以利用多方安全计算中的SMM,分别基于上述提到的数据,确定第一相关性系数分片和第二相关性系数分片。下面具体说明基于SMM的实施过程。
第一持有方A可以从本地的第一分片矩阵<Cov>A中获取与第i特征与第j特征对应的协方差分片项,例如第一分片矩阵<Cov>A中第ij项;利用SMM,基于第一中心矩阵XA中第i特征对应的特征值,以及第二中心矩阵XB中第j特征对应的特征值,确定第i特征的标准差与第j特征的标准差之间乘积的倒数,基于协方差分片项与该倒数的乘积,得到第i特征与第j特征之间的第一相关性系数分片。
同样的,第二持有方B可以从本地的第二分片矩阵<Cov>B中获取两特征对应的协方差分片项,例如第二分片矩阵<Cov>B中第ij项;利用SMM,基于第一中心矩阵XA中第i特征对应的特征值,以及第二中心矩阵XB中第j特征对应的特征值,确定第i特征的标准差与第j特征的标准差之间乘积的倒数,基于协方差分片项与该倒数的乘积,得到第i特征与第j特征之间的第二相关性系数分片。
可见,在本步骤中,在确定相关性系数分片时,使用了协方差矩阵在本地的分片数据以及本地的特征值数据,并没有对协方差矩阵中的数据进行重构,因此很好地保护了隐私数据的安全性。
本实施例中,在计算相关性系数矩阵时,采用的是以下皮尔逊相关系数,其定义为两个变量X和Y之间的协方差Cov和标准差σ的商,公式为
将上述公式转换到本实施例的场景中,并表示成第i个特征与第j个特征之间的相关性系数的形式,具体为
对于第一持有方A来说,上述ρX,Yij可以表示第一相关性系数分片,此时式(11)中的分子从第一分片矩阵<Cov>A中取,取第ij个元素的值。分母部分的Cov(XA,XB)ii为本地第i特征的特征值对应的方差,Cov(XA,XB)jj为第二持有方B的第j特征的特征值对应的方差。已知的是,方差等于标准差的平方。
于是,现在的计算重点在于如何计算式(11)中的根号逆,也就是这部分:
一种方式是,采用安全根号逆算法与SMM的结合,下面详细介绍如何实施。在步骤S430中确定第i特征的标准差与第j特征的标准差之间乘积的倒数时,具体包括:
第一持有方A,基于第一中心矩阵XA中第i特征对应的特征值计算第一方差[y]A,利用SMM与安全根号逆算法的结合,并基于第一方差[y]A与第二方差[y]B的乘操作,确定第一方差的根号逆与第二方差的根号逆的乘积结果,该结果即为第i特征的标准差与第j特征的标准差之间乘积的倒数的值。
其中,第二持有方B,基于第二中心矩阵XB中第j特征对应的特征值计算得到第二方差[y]B。
具体的,第一持有方A可以对第一方差[y]A进行初始化变换,得到第一数值[m0]A;第二持有方B对第二方差[y]B进行初始化变换,得到第二数值[m0]B。
然后,针对安全根号逆迭代公式中的乘积项,利用SMM,基于第一方差、第一数值以及第二方差、第二数值计算所述乘积项,在迭代次数满足预设次数时,基于安全根号迭代公式的取值得到上述乘积结果。
下面结合具体公式来说明。将式(11)变形为
令[y]A=Cov(XA,XB)ii,[y]B=Cov(XA,XB)jj
对与第一持有方A来说,[y]A是本地计算的;对于第二持有方来说,[y]B是本地计算的。第一持有方A和B分别在本地对[y]A和[y]B进行初始化变换,具体包括,将64位浮点数的存储值[y]A按照64位整数的存储方式进行读取,并右移一位(除以2以下取整),记为intA;计算0x5fe6eb50c7b537a9-intA,并按照64位浮点数的存储方式进行读取,得到第一数值[m0]A。对[y]B也进行上述初始化变换,可以得到第二数值[m0]B。
安全根号迭代公式如下
其中,[mk]A×[mk]B项,[y]A[mk]A 2×[y]B[mk]B 2项均是需要利用第一方差、第一数值、第二方差、第二数值进行计算的乘积项。初始值[m0]A和[m0]B分别由两个持有方拥有,且[m0]=[m0]A×[m0]B。
迭代中使用两次秘密分享矩阵乘法,共迭代1次,第一持有方和第二持有方分别得到64位浮点数存储的<z>A和<z>B。
为了计算式(12)中的这部分根号逆,还可以先将A方的第一方差和B方的第二方差进行安全标准化,之后通过线性近似计算得到迭代初始值,最后基于Goldschmidt算法进行迭代。在该实施方式中,可以基于A方的第一方差和B方的第二方差进行秘密分享矩阵乘法运算,再执行其他操作。
在本说明书实施例中,所提及的针对矩阵的操作,例如加减乘除、根号求逆等操作,都可以是在有限域或环条件下进行。
综上,本实施例不需要对协方差矩阵的信息进行重构,利用协方差矩阵的分片以及本地数据即能安全、有效地计算相关性系数的分片。上述处理过程利用的多方安全计算能很好地保护隐私数据不泄露。
在需要确定第i特征与第j特征之间完整的相关性系数时,第一持有方A可以从第二持有方B中获取对应的第二相关性系数分片,第二持有方B可以发送第二相关性系数分片至第一持有方A;第一持有方A基于第一相关性系数分片和第二相关性系数分片的和,得到第i特征与第j特征之间完整的相关性系数。具体的,将第一相关性系数分片和第二相关性系数分片的和,确定为第i特征与第j特征之间的相关性系数。
在第二持有方B需要确定第i特征与第j特征之间完整的相关性系数时,也可以从第一持有方A中获取第一相关性系数分片,将第一相关性系数分片和第二相关性系数分片的和,确定为第i特征与第j特征之间完整的相关性系数。
在得到完整的相关性系数之后,第一持有方A根据该相关性系数与预设阈值的比较,确定针对第i特征和所述第j特征的处理操作,所述处理操作包括以下之一:删除特征、融合特征。
基于皮尔逊相关性系数公式确定的相关性系数,可以是取值范围在[0,1]的值,当相关性系数取值越大,表示相关性越大。预设阈值可以根据经验值设定。例如,预设阈值可以设置为0.9,当相关性系数大于0.9时,说明两个特征高度相关,可以删除第一原始矩阵中该特征所在列,也可以将第i特征与第j特征进行融合,例如依据权重相加,得到新的特征。
同样的,第二持有方B也可以执行对相关性系数的判断、处理操作。
对第一原始矩阵中第i特征对应的特征值执行上述处理操作之后,可以得到更新后的业务数据矩阵,该业务数据矩阵用以通过机器学习的方式对业务对象进行业务预测分析。其中,业务预测分析包括:预测业务对象的分类或回归值等。
以上内容是在数据垂直切分场景下对方法的描述。下面针对数据水平切分的场景进行说明。
图7为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的方法的流程示意图。本实施例在描述方法的流程时,可以参考图1流程图。本实施例与图4实施例的相同或相似之处会简略地说明,详细说明可以参见图4所示实施例。
本实施例对应数据水平切分的场景。隐私数据分布在多个持有方中,其中任意的第一持有方A存储有nA个业务对象针对预定的D个特征的特征值构成的第一原始矩阵XA,第二持有方B存储有nB个业务对象针对D个特征的特征值构成的第二原始矩阵XB。其中,nA、nB和D均为自然数。多个持有方共计存储有n个业务对象的D个特征的特征值。为了描述方便,下面举例中多以两个持有方为例进行说明。例如,两个持有方分别为第一持有方A和第二持有方B。各个持有方,均可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来实现。所述方法包括步骤S710~S730。
步骤S710,第一持有方A通过多方安全计算,与其他持有方协同针对第一原始矩阵中的D项特征的特征值进行零均值化,得到第一中心矩阵。第二持有方B通过多方安全计算,与其他持有方协同针对第二原始矩阵中的D项特征的特征值进行零均值化得到第二中心矩阵。
在数据水平切分场景下,每个持有方存储有部分业务对象的全部特征项的特征值。在对每项特征的特征值进行零均值化时,需要对各个持有方进行联合零均值化。具体的,针对每个特征项,可以通过秘密分享,确定该特征项在每个持有方的特征值的均值以及确定各个持有方中的业务对象的总数目N。其中,Si代表该特征项在第i个持有方中的多个特征值的和值,M是多个持有方对应的总数量。
在步骤S710中,多个持有方可以借助中间方来完成零均值化。中间方可以是多个持有方中的任意有一个,也可以是可信第三方,还可以是除此之外的其他的任意方。下面针对D项特征中任意的第一特征,说明对该特征的特征值进行零均值化的过程。每个持有方在本地将第一特征的各个属性值求和,得到子特征值,并以子特征值为原始值,将该原始值划分为随机数,并将随机数发送至其他持有方,其他持有方也基于其本地的原始值生成随机数,各持有方均将随机数发送至该中间方,中间方将各个持有方发送的随机数相加,即得到所有业务对象的第一特征的总特征值S。业务对象的数目可以是各持有方明文发送至中间方,也可以通过秘密分享使得中间方得到业务对象的总数目N,或者可以某个持有方直接将总数目N发送至中间方。中间方根据求得第一特征的总均值,并将该总均值广播至每个持有方。每个持有方,在接收到该第一特征的总均值时,将该第一特征中的每个特征值减去该总均值,得到均值化处理后的结果。
步骤S720,第一持有方A基于第一中心矩阵,确定协方差矩阵的第一分片矩阵。其中,协方差矩阵基于联合矩阵得到。同样的,其他持有方,例如第二持有方B基于第二中心矩阵,确定协方差矩阵的第二分片矩阵。
在具体实施方式中,第一持有方A可以基于第一中心矩阵与其转置矩阵的乘积,确定协方差矩阵的第一分片矩阵。第二持有方B可以基于第二中心矩阵与其转置矩阵的乘积,确定协方差矩阵的第二分片矩阵。
在具体确定分片矩阵时,各个持有方可以将上述乘积与预设系数相乘后的值作为对应的分片矩阵。
其中,协方差矩阵具体可以基于联合矩阵及其转置矩阵的乘积得到。多个持有方各自对应的中心矩阵在相拼接的情况下,构成联合矩阵。当第一原始矩阵中一行对应一个业务对象,一列对应一个特征时,该联合矩阵为,假定多个持有方各自对应的原始矩阵进行纵向拼接所形成的矩阵。例如按照图3所示的方式拼接起来。当仅有两个持有方A和B时,联合矩阵可以表示为
在本实施例中,第一持有方A在确定协方差矩阵的第一分片矩阵时,具体可以将第一中心矩阵与其转置矩阵、预设系数的乘积结果,确定为协方差矩阵的第一分片矩阵。
通过式(15)可以看出,将Cov展开后,仅得到一项,并且第一中心矩阵与第二中心矩阵之间是加和的关系。因此,第一持有方仅在本地计算(XA)T(XA)并乘以预设系数1/(n-1),得到第一分片矩阵。第二持有方B在本地计算(XB)T(XB)并乘以预设系数1/(n-1),得到第二分片矩阵。
步骤S730,针对所述第一持有方中的第i特征与第二持有方中的第j特征,第一持有方A基于第一分片矩阵、第一中心矩阵以及第二持有方的第二中心矩阵,利用多方安全计算,确定第i特征与第j特征之间的第一相关性系数分片。同样的,第二持有方B基于第二分片矩阵、第二中心矩阵以及第一持有方的第一中心矩阵,利用多方安全计算,确定第i特征与第j特征之间的第二相关性系数分片。
在具体的实施方式中,第一持有方和第二持有方可以利用多方安全计算中的SMM,分别基于上述提到的数据,确定第一相关性系数分片和第二相关性系数分片。
例如,第一持有方A从第一分片矩阵中获取与第i特征与第j特征对应的协方差分片项;利用SMM,基于所述第一中心矩阵中所述第i特征对应的特征值,以及第二中心矩阵中所述第j特征对应的特征值,确定所述第i特征的标准差与第j特征的标准差之间乘积的倒数,基于所述协方差分片项与所述倒数的乘积,得到所述第i特征与所述第j特征之间的第一相关性系数分片。
第二中心矩阵由所述第二持有方确定。同样的,第二持有方B可以从本地的第二分片矩阵中获取与第i特征与第j特征对应的协方差分片项;利用SMM,基于第一中心矩阵中第i特征对应的特征值,以及第二中心矩阵中第j特征对应的特征值,确定第i特征的标准差与第j特征的标准差之间乘积的倒数,基于协方差分片项与该倒数的乘积,得到第i特征与第j特征之间的第二相关性系数分片。
在一种实施方式中,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数,可以包括,基于所述第一中心矩阵中所述第i特征对应的特征值计算第一方差;利用所述SMM与安全根号逆算法的结合,并基于所述第一方差与第二方差的乘操作,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果;其中,所述第二方差由第二持有方,基于所述第二中心矩阵中所述第j特征对应的特征值计算得到。
具体的,在确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果时,第一持有方A可以对所述第一方差进行初始化变换,得到第一数值;针对安全根号逆迭代公式中的乘积项,利用所述SMM,基于所述第一方差、第一数值以及所述第二方差、第二数值计算所述乘积项,在迭代次数满足预设次数时,基于所述安全根号迭代公式的取值得到所述乘积结果。同样的,第二持有方A也进行上述操作。
在需要确定第i特征与所述第j特征之间完整的相关性系数时,第一持有方A从第二持有方获取对应的第二相关性系数分片,第二持有方B可以发送第二相关性系数分片至第一持有方。第一持有方A基于第一相关性系数分片和第二相关性系数分片的和,得到所述第i特征与所述第j特征之间完整的相关性系数。
在得到所述相关性系数之后,根据所述相关性系数与预设阈值的比较,确定针对所述第i特征和第j特征的处理操作,该处理操作包括以下之一:删除特征、融合特征。
之后,还可以对第一原始矩阵中第i特征对应的特征值执行上述处理操作,得到更新后的业务数据矩阵,用以通过机器学习的方式对业务对象进行业务预测分析。其中,业务预测分析包括:预测业务对象的分类或回归值。
本实施例中,步骤S730与步骤S430完全相同,具体实施方式可以参照图4部分的说明,此处不再赘述。
上述各个实施例中,第一持有方、第一原始矩阵、第一中心矩阵等中的“第一”,以及下文中相应的“第二”,仅仅是为了区分和描述方便,并不具有任何限定意义。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图8为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的装置的示意性框图。隐私数据分布在多个持有方中,其中任意的第一持有方存储有n个业务对象针对若干个特征的特征值构成的第一原始矩阵。该装置800与图4所示方法实施例相对应。该装置800部署在所述第一持有方中,包括:
第一均值模块810,配置为,针对所述第一原始矩阵中多项特征的特征值进行零均值化,得到第一中心矩阵;
第一分片模块820,配置为,利用多方安全计算,基于所述第一中心矩阵以及其他持有方各自的中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
分片确定模块830,配置为,针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
在一种实施方式中,该装置800还包括:
系数确定模块840,配置为,在需要确定所述第i特征与所述第j特征之间完整的相关性系数时,从所述第二持有方获取对应的第二相关性系数分片,基于所述第一相关性系数分片和所述第二相关性系数分片的和,得到所述第i特征与所述第j特征之间完整的相关性系数。
在一种实施方式中,该装置800还包括:
操作确定模块(图中未示出),配置为,在得到所述相关性系数之后,根据所述相关性系数与预设阈值的比较,确定针对所述第i特征和所述第j特征的处理操作,所述处理操作包括以下之一:删除特征、融合特征。
在一种实施方式中,该装置800还包括:
特征处理模块(图中未示出),配置为,对所述第一原始矩阵中所述第i特征对应的特征值执行所述处理操作,得到更新后的业务数据矩阵,用以通过机器学习的方式对业务对象进行业务预测分析。
在一种实施方式中,多个持有方的原始矩阵中所述n个业务对象的数据按照预定顺序排列,不同持有方存储有多个业务对象的不同特征的特征值;所述业务对象为以下之一:用户、商铺、商品、事件。
在一种实施方式中,所述第一分片模块820具体配置为:
本地计算所述第一中心矩阵与其转置矩阵的乘积,得到第一子矩阵;利用所述SMM,将所述第一中心矩阵分别与多个持有方各自的中心矩阵进行乘操作,得到多个第二子矩阵,基于所述第一子矩阵和多个第二子矩阵,拼接形成所述协方差矩阵的第一分片矩阵。
在一种实施方式中,所述第一分片模块820,拼接形成所述协方差矩阵的第一分片矩阵时,包括:
将所述联合矩阵与其转置矩阵的乘积结果划分成:与所述第一中心矩阵相关的第一子块,与所述第一中心矩阵和其他中心矩阵相关的第二子块,与所述其他中心矩阵相关的第三子块;
采用所述第一子矩阵填充所述第一子块,基于多个第二子矩阵填充所述第二子块,采用预设的0矩阵填充所述第三子块,基于填充后的矩阵与预设系数的乘积得到所述第一分片矩阵。
在一种实施方式中,所述第一分片模块820,具体配置为:
基于本地生成的第一随机矩阵与所述第一中心矩阵的差,得到第一隐秘矩阵,通过与其他持有方进行的隐秘矩阵交换,得到多个隐秘矩阵,并将其拼接形成第一合并矩阵,基于获取的第一拆分矩阵、第二拆分矩阵与所述第一合并矩阵之间的预设矩阵运算,得到所述协方差矩阵的第一分片矩阵;
其中,多个持有方的拆分矩阵在假定分别重构的情况下,构成第一全矩阵和第二全矩阵,并满足所述第一全矩阵与其转置矩阵的乘积等于所述第二全矩阵。
在一种实施方式中,所述第一分片模块820,得到所述协方差矩阵的第一分片矩阵时,包括:
利用多方安全计算,通过与其他持有方之间的交互,获取所述第一拆分矩阵和第二拆分矩阵;
在本地生成第一随机矩阵,并将其与所述第一中心矩阵进行求差操作,得到第一隐秘矩阵,分别与其他持有方进行隐秘矩阵交换,将得到的其他持有方的隐秘矩阵与所述第一隐秘矩阵,按照预定顺序拼接形成第一合并矩阵;
基于所述第一合并矩阵与所述第一拆分矩阵的差,得到第一分离矩阵,并分别与其他持有方进行分离矩阵交换,基于得到的其他持有方的分离矩阵与所述第一分离矩阵的差,得到第一矩阵;
基于所述第一拆分矩阵、第二拆分矩阵和第一矩阵之间的叠加,得到所述协方差矩阵的第一分片矩阵。
在一种实施方式中,所述分片确定模块830具体配置为:
利用SMM,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,确定所述第i特征与所述第j特征之间的第一相关性系数分片。
在一种实施方式中,所述分片确定模块830具体配置为:
从所述第一分片矩阵中获取与所述第i特征和所述第j特征对应的协方差分片项;
利用SMM,基于所述第一中心矩阵中所述第i特征的特征值,以及所述第二中心矩阵中所述第j特征的特征值,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数;
基于所述协方差分片项与所述倒数的乘积,得到所述第i特征与所述第j特征之间的第一相关性系数分片。
在一种实施方式中,所述分片确定模块830,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数时,包括:
基于所述第一中心矩阵中所述第i特征对应的特征值计算第一方差;
利用SMM与安全根号逆算法的结合,并基于所述第一方差与第二方差的乘操作,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果;其中,所述第二方差由第二持有方,基于所述第二中心矩阵中所述第j特征对应的特征值计算得到。
在一种实施方式中,所述分片确定模块830,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果时,包括:
对所述第一方差进行初始化变换,得到第一数值;
针对安全根号逆迭代公式中的乘积项,利用SMM,基于所述第一方差、第一数值以及所述第二方差、第二数值计算所述乘积项,在迭代次数满足预设次数时,基于所述安全根号迭代公式的取值得到所述乘积结果。
在一种实施方式中,所述第一原始矩阵中一行对应一个业务对象,一列对应一个特征;所述联合矩阵为,假定多个持有方各自对应的原始矩阵进行横向拼接所形成的矩阵。
图9为实施例提供的一种多方联合确定隐私数据中对象特征之间相关性的装置的示意性框图。所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有若干个业务对象针对预定的D个特征的特征值构成的第一原始矩阵,多个持有方共计存储有n个业务对象的所述D个特征的特征值。该装置实施例与图7所示方法实施例相对应。该装置900部署在第一持有方中,包括:
第二均值模块910,配置为,通过多方安全计算,与其他持有方协同针对所述第一原始矩阵中的D项特征的特征值进行零均值化,得到第一中心矩阵;
第二分片模块920,配置为,基于所述第一中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
分片确定模块930,配置为,针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
在一种实施方式中,该装置900还包括:
系数确定模块940,配置为,在需要确定所述第i特征与所述第j特征之间完整的相关性系数时,从所述第二持有方获取对应的第二相关性系数分片,基于所述第一相关性系数分片和所述第二相关性系数分片的和,得到所述第i特征与所述第j特征之间完整的相关性系数。
在一种实施方式中,该装置900还包括:
操作确定模块(图中未示出),配置为,在得到所述相关性系数之后,根据所述相关性系数与预设阈值的比较,确定针对所述第i特征和所述第j特征的处理操作,所述处理操作包括以下之一:删除特征、融合特征。
在一种实施方式中,该装置900还包括:
特征处理模块(图中未示出),配置为,对所述第一原始矩阵中所述第i特征对应的特征值执行所述处理操作,得到更新后的业务数据矩阵,用以通过机器学习的方式对业务对象进行业务预测分析。
在一种实施方式中,所述业务对象为以下之一:用户、商铺、商品、事件;所述业务预测分析包括:预测业务对象的分类或回归值。
在一种实施方式中,所述第二分片模块920,具体配置为:
基于所述第一中心矩阵与其转置矩阵的乘积,确定所述协方差矩阵的第一分片矩阵。
在一种实施方式中,所述分片确定模块930具体配置为:
利用SMM,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,确定所述第i特征与所述第j特征之间的第一相关性系数分片。
在一种实施方式中,所述分片确定模块930具体配置为:
从所述第一分片矩阵中获取与所述第i特征和所述第j特征对应的协方差分片项;
利用SMM,基于所述第一中心矩阵中所述第i特征的特征值,以及所述第二中心矩阵中所述第j特征的特征值,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数;
基于所述协方差分片项与所述倒数的乘积,得到所述第i特征与所述第j特征之间的第一相关性系数分片。
在一种实施方式中,所述分片确定模块930,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数时,包括:
基于所述第一中心矩阵中所述第i特征对应的特征值计算第一方差;
利用所述SMM与安全根号逆算法的结合,并基于所述第一方差与第二方差的乘操作,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果;其中,所述第二方差由所述第二持有方,基于所述第二中心矩阵中所述第j特征对应的特征值计算得到。
在一种实施方式中,所述分片确定模块930,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果的步骤,包括:
对所述第一方差进行初始化变换,得到第一数值;
针对安全根号逆迭代公式中的乘积项,利用所述SMM,基于所述第一方差、第一数值以及所述第二方差、第二数值计算所述乘积项,在迭代次数满足预设次数时,基于所述安全根号迭代公式的取值得到所述乘积结果。
在一种实施方式中,所述第一原始矩阵中一行对应一个业务对象,一列对应一个特征;所述联合矩阵为,假定多个持有方各自对应的原始矩阵进行纵向拼接所形成的矩阵。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图7任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图7任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (22)
1.一种多方联合确定隐私数据中对象特征之间相关性的方法,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有n个业务对象针对若干个特征的特征值构成的第一原始矩阵;所述方法通过所述第一持有方执行,包括:
针对所述第一原始矩阵中多项特征的特征值进行零均值化,得到第一中心矩阵;
利用多方安全计算,基于所述第一中心矩阵以及其他持有方各自的中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
2.根据权利要求1所述的方法,还包括:
在需要确定所述第i特征与所述第j特征之间完整的相关性系数时,从所述第二持有方获取对应的第二相关性系数分片,基于所述第一相关性系数分片和所述第二相关性系数分片的和,得到所述第i特征与所述第j特征之间完整的相关性系数。
3.根据权利要求1所述的方法,还包括:
在得到所述相关性系数之后,根据所述相关性系数与预设阈值的比较,确定针对所述第i特征和所述第j特征的处理操作,所述处理操作包括以下之一:删除特征、融合特征。
4.根据权利要求3所述的方法,还包括:
对所述第一原始矩阵中所述第i特征对应的特征值执行所述处理操作,得到更新后的业务数据矩阵,用以通过机器学习的方式对业务对象进行业务预测分析。
5.根据权利要求1所述的方法,多个持有方的原始矩阵中所述n个业务对象的数据按照预定顺序排列,不同持有方存储有多个业务对象的不同特征的特征值;所述业务对象为以下之一:用户、商铺、商品、事件。
6.根据权利要求1所述的方法,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
利用秘密分享矩阵乘法SMM,基于所述第一中心矩阵以及其他持有方各自的中心矩阵进行乘操作,确定协方差矩阵的第一分片矩阵。
7.根据权利要求6所述的方法,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
本地计算所述第一中心矩阵与其转置矩阵的乘积,得到第一子矩阵;利用所述SMM,将所述第一中心矩阵分别与多个持有方各自的中心矩阵进行乘操作,得到多个第二子矩阵,基于所述第一子矩阵和多个第二子矩阵,拼接形成所述协方差矩阵的第一分片矩阵。
8.根据权利要求7所述的方法,所述拼接形成所述协方差矩阵的第一分片矩阵的步骤,包括:
将所述联合矩阵与其转置矩阵的乘积结果划分成:与所述第一中心矩阵相关的第一子块,与所述第一中心矩阵和其他中心矩阵相关的第二子块,与所述其他中心矩阵相关的第三子块;
采用所述第一子矩阵填充所述第一子块,基于多个第二子矩阵填充所述第二子块,采用预设的0矩阵填充所述第三子块,基于填充后的矩阵与预设系数的乘积得到所述第一分片矩阵。
9.根据权利要求6所述的方法,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
基于本地生成的第一随机矩阵与所述第一中心矩阵的差,得到第一隐秘矩阵,通过与其他持有方进行的隐秘矩阵交换,得到多个隐秘矩阵,并将其拼接形成第一合并矩阵,基于获取的第一拆分矩阵、第二拆分矩阵与所述第一合并矩阵之间的预设矩阵运算,得到所述协方差矩阵的第一分片矩阵;
其中,多个持有方的拆分矩阵在假定分别重构的情况下,构成第一全矩阵和第二全矩阵,并满足:所述第一全矩阵与其转置矩阵的乘积等于所述第二全矩阵。
10.根据权利要求9所述的方法,所述得到所述协方差矩阵的第一分片矩阵的步骤,具体包括:
利用多方安全计算,通过与其他持有方之间的交互,获取所述第一拆分矩阵和第二拆分矩阵;
在本地生成第一随机矩阵,并将其与所述第一中心矩阵进行求差操作,得到第一隐秘矩阵,分别与其他持有方进行隐秘矩阵交换,将得到的其他持有方的隐秘矩阵与所述第一隐秘矩阵,按照预定顺序拼接形成第一合并矩阵;
基于所述第一合并矩阵与所述第一拆分矩阵的差,得到第一分离矩阵,并分别与其他持有方进行分离矩阵交换,基于得到的其他持有方的分离矩阵与所述第一分离矩阵的差,得到第一矩阵;
基于所述第一拆分矩阵、第二拆分矩阵和第一矩阵之间的叠加,得到所述协方差矩阵的第一分片矩阵。
11.根据权利要求1所述的方法,所述确定所述第i特征与所述第j特征之间的第一相关性系数分片的步骤,包括:
利用SMM,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,确定所述第i特征与所述第j特征之间的第一相关性系数分片。
12.根据权利要求11所述的方法,所述确定所述第i特征与所述第j特征之间的第一相关性系数分片的步骤,包括:
从所述第一分片矩阵中获取与所述第i特征和所述第j特征对应的协方差分片项;
利用SMM,基于所述第一中心矩阵中所述第i特征的特征值,以及所述第二中心矩阵中所述第j特征的特征值,确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数;
基于所述协方差分片项与所述倒数的乘积,得到所述第i特征与所述第j特征之间的第一相关性系数分片。
13.根据权利要求12所述的方法,所述确定所述第i特征的标准差与所述第j特征的标准差之间乘积的倒数的步骤,包括:
基于所述第一中心矩阵中所述第i特征对应的特征值计算第一方差;
利用所述SMM与安全根号逆算法的结合,并基于所述第一方差与第二方差的乘操作,确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果;其中,所述第二方差由所述第二持有方,基于所述第二中心矩阵中所述第j特征对应的特征值计算得到。
14.根据权利要求13所述的方法,所述确定所述第一方差的根号逆与所述第二方差的根号逆的乘积结果的步骤,包括:
对所述第一方差进行初始化变换,得到第一数值;
针对安全根号逆迭代公式中的乘积项,利用所述SMM,基于所述第一方差、第一数值以及所述第二方差、第二数值计算所述乘积项,在迭代次数满足预设次数时,基于所述安全根号迭代公式的取值得到所述乘积结果;
所述第二数值由所述第二持有方对所述第二方差进行初始化变换得到。
15.根据权利要求1所述的方法,所述第一原始矩阵中一行对应一个业务对象,一列对应一个特征;
所述联合矩阵为,假定多个持有方各自对应的原始矩阵进行横向拼接所形成的矩阵。
16.一种多方联合确定隐私数据中对象特征之间相关性的方法,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有若干个业务对象针对预定的D个特征的特征值构成的第一原始矩阵;所述方法通过所述第一持有方执行,包括:
通过多方安全计算,与其他持有方协同针对所述第一原始矩阵中的D项特征的特征值进行零均值化,得到第一中心矩阵;
基于所述第一中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
17.根据权利要求16所述的方法,所述确定协方差矩阵的第一分片矩阵的步骤,包括:
基于所述第一中心矩阵与其转置矩阵的乘积,确定所述协方差矩阵的第一分片矩阵。
18.根据权利要求17所述的方法,所述第一原始矩阵中一行对应一个业务对象,一列对应一个特征;
所述联合矩阵为,假定多个持有方各自对应的原始矩阵进行纵向拼接所形成的矩阵。
19.一种多方联合确定隐私数据中对象特征之间相关性的装置,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有n个业务对象针对若干个特征的特征值构成的第一原始矩阵,包括:
第一均值模块,配置为,针对所述第一原始矩阵中多项特征的特征值进行零均值化,得到第一中心矩阵;
第一分片模块,配置为,利用多方安全计算,基于所述第一中心矩阵以及其他持有方各自的中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
分片确定模块,配置为,针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
20.一种多方联合确定隐私数据中对象特征之间相关性的装置,所述隐私数据分布在多个持有方中,其中任意的第一持有方存储有若干个业务对象针对预定的D个特征的特征值构成的第一原始矩阵;所述装置部署在所述第一持有方中,包括:
第二均值模块,配置为,通过多方安全计算,与其他持有方协同针对所述第一原始矩阵中的D项特征的特征值进行零均值化,得到第一中心矩阵;
第二分片模块,配置为,基于所述第一中心矩阵,确定协方差矩阵的第一分片矩阵;其中,所述协方差矩阵基于联合矩阵得到;多个持有方各自对应的中心矩阵在假定相拼接的情况下,构成所述联合矩阵;多个持有方各自的分片矩阵在假定重构的情况下,构成所述协方差矩阵;
分片确定模块,配置为,针对所述第一持有方中的第i特征与第二持有方中的第j特征,基于所述第一分片矩阵、所述第一中心矩阵以及所述第二持有方的第二中心矩阵,利用多方安全计算,确定所述第i特征与所述第j特征之间的第一相关性系数分片,以用于与所述第二持有方确定的第二相关性系数分片合成完整的相关性系数。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-18中任一项所述的方法。
22.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110084215.6A CN112818290B (zh) | 2021-01-21 | 2021-01-21 | 多方联合确定隐私数据中对象特征相关性的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110084215.6A CN112818290B (zh) | 2021-01-21 | 2021-01-21 | 多方联合确定隐私数据中对象特征相关性的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112818290A true CN112818290A (zh) | 2021-05-18 |
CN112818290B CN112818290B (zh) | 2023-11-14 |
Family
ID=75858646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110084215.6A Active CN112818290B (zh) | 2021-01-21 | 2021-01-21 | 多方联合确定隐私数据中对象特征相关性的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112818290B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407987A (zh) * | 2021-05-24 | 2021-09-17 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN113434886A (zh) * | 2021-07-01 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 联合生成用于安全计算的数据元组的方法及装置 |
CN113836595A (zh) * | 2021-09-26 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 两方安全比较的方法、装置和系统 |
CN114282076A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114444106A (zh) * | 2022-02-07 | 2022-05-06 | 百度在线网络技术(北京)有限公司 | 相关系数获取方法、装置、电子设备和存储介质 |
CN114781000A (zh) * | 2022-06-21 | 2022-07-22 | 支付宝(杭州)信息技术有限公司 | 针对大规模数据的对象特征之间相关性的确定方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509771A (zh) * | 2018-03-27 | 2018-09-07 | 华南理工大学 | 一种基于稀疏匹配的多组学数据关联关系发现方法 |
WO2019227588A1 (zh) * | 2018-05-29 | 2019-12-05 | 平安科技(深圳)有限公司 | 语音增强方法、装置、计算机设备及存储介质 |
US20200014537A1 (en) * | 2018-07-03 | 2020-01-09 | Royal Bank Of Canada | System and method for an electronic identity brokerage |
CN111401479A (zh) * | 2020-04-17 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行降维处理的方法和装置 |
CN111506922A (zh) * | 2020-04-17 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行显著性检验的方法和装置 |
-
2021
- 2021-01-21 CN CN202110084215.6A patent/CN112818290B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509771A (zh) * | 2018-03-27 | 2018-09-07 | 华南理工大学 | 一种基于稀疏匹配的多组学数据关联关系发现方法 |
WO2019227588A1 (zh) * | 2018-05-29 | 2019-12-05 | 平安科技(深圳)有限公司 | 语音增强方法、装置、计算机设备及存储介质 |
US20200014537A1 (en) * | 2018-07-03 | 2020-01-09 | Royal Bank Of Canada | System and method for an electronic identity brokerage |
CN111401479A (zh) * | 2020-04-17 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行降维处理的方法和装置 |
CN111506922A (zh) * | 2020-04-17 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行显著性检验的方法和装置 |
Non-Patent Citations (2)
Title |
---|
何明;常盟盟;吴小飞;: "一种基于差分隐私保护的协同过滤推荐方法", 计算机研究与发展, no. 07 * |
姚亦飞;黄刘生;徐维江;荆巍巍;: "保护私有信息的回归关系推断", 小型微型计算机系统, no. 11 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407987A (zh) * | 2021-05-24 | 2021-09-17 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN113407987B (zh) * | 2021-05-24 | 2023-10-20 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN113434886A (zh) * | 2021-07-01 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 联合生成用于安全计算的数据元组的方法及装置 |
CN113434886B (zh) * | 2021-07-01 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 联合生成用于安全计算的数据元组的方法及装置 |
CN113836595A (zh) * | 2021-09-26 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 两方安全比较的方法、装置和系统 |
CN113836595B (zh) * | 2021-09-26 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 两方安全比较的方法、装置和系统 |
CN114444106A (zh) * | 2022-02-07 | 2022-05-06 | 百度在线网络技术(北京)有限公司 | 相关系数获取方法、装置、电子设备和存储介质 |
EP4224779A1 (en) * | 2022-02-07 | 2023-08-09 | Baidu Online Network Technology (Beijing) Co., Ltd. | Correlation coefficient acquisition method and apparatus, electronic device, non-transitory computer readable storage medium, and computer program product |
CN114282076A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114282076B (zh) * | 2022-03-04 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114781000A (zh) * | 2022-06-21 | 2022-07-22 | 支付宝(杭州)信息技术有限公司 | 针对大规模数据的对象特征之间相关性的确定方法及装置 |
CN114781000B (zh) * | 2022-06-21 | 2022-09-20 | 支付宝(杭州)信息技术有限公司 | 针对大规模数据的对象特征之间相关性的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112818290B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818290B (zh) | 多方联合确定隐私数据中对象特征相关性的方法及装置 | |
CN111400766B (zh) | 针对隐私数据进行多方联合降维处理的方法及装置 | |
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN110889139B (zh) | 针对用户隐私数据进行多方联合降维处理的方法及装置 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN110889447B (zh) | 基于多方安全计算检验模型特征显著性的方法和装置 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111401479B (zh) | 多方联合对隐私数据进行降维处理的方法和装置 | |
Polat et al. | Privacy-preserving collaborative filtering on vertically partitioned data | |
CN113407987A (zh) | 保护隐私的确定业务数据特征有效值的方法及装置 | |
WO2021227959A1 (zh) | 保护数据隐私的多方联合训练对象推荐模型 | |
CN113987559B (zh) | 保护数据隐私的双方联合进行数据处理的方法及装置 | |
JP6632959B2 (ja) | 検証システム、検証方法及び検証プログラム | |
Friesen et al. | A phase transition for the limiting spectral density of random matrices | |
CN116957112A (zh) | 联合模型的训练方法、装置、设备及存储介质 | |
CN111177740A (zh) | 数据混淆处理方法、系统及计算机可读介质 | |
Ben Horin et al. | Privacy preserving collaborative filtering by distributed mediation | |
CN110443061B (zh) | 一种数据加密方法和装置 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
US20170302437A1 (en) | Nondecreasing sequence determining device, method and program | |
CN113407988A (zh) | 控制通信量的确定业务数据特征有效值的方法及装置 | |
CN111523675A (zh) | 模型训练方法、装置及系统 | |
KR102271983B1 (ko) | 고객정보와 가상화폐 구매이력을 기반으로 한 기계학습 수행을 통해 사용자 맞춤의 가상화폐 추천을 제공하는 가상화폐 거래 플랫폼 서버 및 그 동작 방법 | |
JP2019114053A (ja) | 推薦装置、推薦方法及び推薦プログラム | |
CN113657685A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |