CN111400766A - 针对隐私数据进行多方联合降维处理的方法及装置 - Google Patents

针对隐私数据进行多方联合降维处理的方法及装置 Download PDF

Info

Publication number
CN111400766A
CN111400766A CN202010220436.7A CN202010220436A CN111400766A CN 111400766 A CN111400766 A CN 111400766A CN 202010220436 A CN202010220436 A CN 202010220436A CN 111400766 A CN111400766 A CN 111400766A
Authority
CN
China
Prior art keywords
matrix
party
kth
dimension reduction
attribute
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
Application number
CN202010220436.7A
Other languages
English (en)
Other versions
CN111400766B (zh
Inventor
刘颖婷
陈超超
王力
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010220436.7A priority Critical patent/CN111400766B/zh
Publication of CN111400766A publication Critical patent/CN111400766A/zh
Priority to PCT/CN2021/081962 priority patent/WO2021190424A1/zh
Application granted granted Critical
Publication of CN111400766B publication Critical patent/CN111400766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种针对隐私数据进行多方联合降维的方法和装置。其中多方中的各个数据持有方,对其本地拥有的隐私数据矩阵进行转置相乘运算,得到乘积矩阵后,使用第三方的公钥对乘积矩阵进行同态加密,然后,汇总到某个运算平台中进行同态加和操作,将同态加和结果发至第三方。第三方对同态加和结果解密,可得到主成分分析所需的协方差矩阵,进而确定出降维变换矩阵,广播给各个持有方。于是,各个持有方可以利用该降维变换矩阵进行降维处理。通过这样的方式,确保了各个持有方中隐私数据的安全。

Description

针对隐私数据进行多方联合降维处理的方法及装置
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及针对隐私数据进行多方联合降维的方法和装置。
背景技术
机器学习所需要的数据往往会涉及到多个平台、多个领域。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,如何在保证数据不泄露的前提下将分散在各个平台的数据整合在一起成为一项挑战。
另一方面,随着数据量的增多,各种训练数据的维度变得越来越大。高维度的大量数据尽管可以丰富机器学习的训练样本数据,但是实际上,这些高维数据往往存在一些冗余信息。冗余信息对机器学习效果的帮助十分有限,但是造成的高维特征数据有可能引起“维度爆炸”,使得机器学习模型难以处理,影响模型的训练效率。因此,在进行模型训练和使用时,常常对高维样本特征进行降维处理,在尽量不损失信息量的情况下,将其转化为低维特征。
主成分分析PCA(Principal component analysis)方法,是一种统计分析、简化数据集的方法,它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分。主成分分析可以用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。因此,实践中,常常采用PCA方法对高维特征进行降维。
然而,主成分分析PCA方法一般需要针对全部数据进行统一的变换和主成分提取。在多方共同拥有部分训练数据,希望联合进行模型训练的情况下,如何在不泄露隐私数据的前提下,采用PCA方法进行特征降维,成为有待解决的问题。
因此,希望能有改进的方案,可以针对隐私数据进行多方联合降维,同时保证隐私数据的安全不泄露。
发明内容
本说明书一个或多个实施例描述了针对隐私数据进行多方联合降维的方法,使得多方共同进行特征降维,同时保证各自隐私数据的安全不泄露。
根据第一方面,提供了一种针对隐私数据进行多方联合降维处理的方法,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述方法通过所述M个持有方之外的第三方执行,包括:
接收对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;其中第k持有方提供的第k加密矩阵乘积,是使用所述第三方的公钥,对第k中心矩阵及其转置矩阵的乘积进行同态加密得到的;所述第k中心矩阵是对第k原始矩阵中各项属性进行M个持有方之间的全局零均值化后得到的;
利用所述公钥对应的私钥,对同态加和结果进行解密,得到协方差矩阵;
基于所述协方差矩阵和降维的目标维度d,确定出降维变换矩阵;
将所述降维变换矩阵广播至所述M个持有方,使得各个持有方利用所述降维变换矩阵处理其原始矩阵,得到对应的降维矩阵;所述降维矩阵用以通过机器学习的方式对所述业务对象进行业务预测分析。
根据一种实施方式,在上述步骤之后,第三方还接收所述M个持有方分别提供的M个降维矩阵;并基于所述M个降维矩阵,确定对全部业务对象的D项属性进行降维处理后的总降维矩阵。
在不同实施例中,业务对象可以为以下之一:用户,商户,商品,事件;所述业务预测分析包括,预测所述业务对象的分类或回归值。
根据一种实施方式,第三方在获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果之前,还可以执行以下步骤,辅助各个持有方进行全局零均值化:
对于所述D项属性中的任意属性i,接收针对该属性i的加密总和,所述加密总和是对所述M个持有方提供的M个加密属性和值进行同态加和操作得到的,其中第k个加密属性和值,是所述第k持有方利用所述第三方的公钥,对第k原始矩阵中该属性i的属性值的求和结果进行同态加密得到的;
利用所述私钥解密所述加密总和,得到该属性i的全局和值;
根据所述全局和值,确定该属性i的全局均值;
将所述全局均值广播至所述M个持有方,使其各自对其中的原始矩阵中的属性i进行全局零均值化。
在上述实施方式的不同实施例中,上述接收针对该属性i的加密总和可以是,从所述M个持有方之一,接收所述加密总和;或者,从所述M个持有方和所述第三方之外的另一方,接收所述加密总和。
根据不同实施例,第三方接收前述同态加和结果可以包括,从所述M个持有方之一接收所述同态加和结果;或者,从所述M个持有方和所述第三方之外的另一方,接收所述同态加和结果。
在一个实施例中,所述第k原始矩阵中一行对应一项属性,一列对应一个业务对象;在这样的情况下,所述协方差矩阵为,假定所述M个持有方各自对应的中心矩阵进行横向拼接所形成的联合矩阵与其转置矩阵的乘积;所述总降维矩阵为,将所述M个降维矩阵进行横向拼接,得到的矩阵。
在另一实施例中,所述第k原始矩阵中一行对应一个业务对象,一列对应一项属性;在这样的情况下,所述协方差矩阵为,假定所述M个持有方各自对应的中心矩阵进行纵向拼接所形成的联合矩阵与其转置矩阵的乘积;所述总降维矩阵为,将所述M个降维矩阵进行纵向拼接,得到的矩阵。
根据一种实施方式,第三方通过以下方式确定出降维变换矩阵:确定所述协方差矩阵的多个本征值和对应的多个本征向量;从所述多个本征值中,确定出值较大的目标维度d个本征值作为d个目标本征值;基于所述d个目标本征值对应的d个本征向量,形成所述降维变换矩阵。
根据第二方面,提供了一种针对隐私数据进行多方联合降维处理的方法,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述方法通过该第k持有方执行,包括:
对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,得到第k中心矩阵;
计算第k中心矩阵及其转置矩阵的乘积矩阵,并使用所述M个持有方之外的第三方的公钥,对所述乘积矩阵进行同态加密,得到第k加密矩阵乘积;
提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;
从所述第三方接收降维变换矩阵;
用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵,用以通过机器学习的方式对所述业务对象进行业务预测分析。
根据一种实施方式,在得到第k降维矩阵后,第k持有方还将所述第k降维矩阵提供给所述第三方,使其确定对全部业务对象的D项属性进行降维处理后的总降维矩阵。
在一个实施例中,对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,具体包括:
对于所述D项属性中的任意属性i,计算所述第k原始矩阵中该属性i的属性值的求和结果;
使用所述公钥,对所述求和结果进行同态加密,得到第k加密属性和值;
提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果;
从所述第三方接收基于所述同态加和结果确定的该属性i的全局均值;
将所述第k原始矩阵中该属性i对应的元素,均减去所述全局均值,以对该属性i进行全局零均值化。
进一步地,在一个具体例子中,第k持有方将所述第k加密属性和值,发送至运算执行方,使得所述运算执行方对所述M个加密属性和值进行同态加和,并将同态加和结果发送至所述第三方;其中,所述运算执行方为所述M个持有方中该第k持有方之外的一方,或者,所述运算执行方为所述M个持有方和所述第三方之外的另一方。
在另一个具体例子中,第k持有方从所述M个持有方中M-1个其他持有方分别接收对应的M-1个加密属性和值;对所述第k加密属性和值,和所述M-1个加密属性和值进行同态加和,将同态加和结果发送至所述第三方。
通过以上多种方式,第k持有方提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果。
在一个实施例中,第k持有方将所述第k加密矩阵乘积,发送至运算执行方,使得所述运算执行方对所述M个加密矩阵乘积进行同态加和,并将同态加和结果发送至所述第三方;其中,所述运算执行方为所述M个持有方中该第k持有方之外的一方,或者,所述运算执行方为所述M个持有方和所述第三方之外的另一方。
在另一实施例中,第k持有方从所述M个持有方中M-1个其他持有方分别接收对应的M-1个加密矩阵乘积;对所述第k加密乘积,和所述M-1个加密矩阵乘积进行同态加和,将同态加和结果发送至所述第三方。
通过以上多种方式,第k持有方提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果。
在一个实施例中,第k原始矩阵中一行对应一项属性,一列对应一个业务对象;在这样的情况下,通过用所述降维变换矩阵乘以所述第k原始矩阵,进行降维处理。
在另一实施例中,第k原始矩阵中一行对应一个业务对象,一列对应一项属性;在这样的情况下,通过用所述第k原始矩阵乘以所述降维变换矩阵,进行降维处理。
根据第三方面,提供了一种针对隐私数据进行多方联合降维处理的装置,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述装置部署在所述M个持有方之外的第三方中,包括:
接收单元,配置为接收对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;其中第k持有方提供的第k加密矩阵乘积,是使用所述第三方的公钥,对第k中心矩阵及其转置矩阵的乘积进行同态加密得到的;所述第k中心矩阵是对第k原始矩阵中各项属性进行M个持有方之间的全局零均值化后得到的;
解密单元,配置为利用所述公钥对应的私钥,对同态加和结果进行解密,得到协方差矩阵;
确定单元,配置为基于所述协方差矩阵和降维的目标维度d,确定出降维变换矩阵;
广播单元,配置为将所述降维变换矩阵广播至所述M个持有方,使得各个持有方利用所述降维变换矩阵处理其原始矩阵,得到对应的降维矩阵;所述降维矩阵用以通过机器学习的方式对所述业务对象进行业务预测分析。
根据第四方面,提供了一种针对隐私数据进行多方联合降维处理的装置,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述装置部署在第k持有方中,包括:
均值化单元,配置为对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,得到第k中心矩阵;
加密单元,配置为计算第k中心矩阵及其转置矩阵的乘积矩阵,并使用所述M个持有方之外的第三方的公钥,对所述乘积矩阵进行同态加密,得到第k加密矩阵乘积;
提供单元,配置为提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;
接收单元,配置为从所述第三方接收降维变换矩阵;
降维处理单元,配置为用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵,用以通过机器学习的方式对所述业务对象进行业务预测分析。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,为了保证各个持有方隐私数据安全,引入中立的第三方,通过同态加密的方式,由第三方汇总各个持有方的矩阵乘积得到协方差矩阵,从而确定出用于降维处理的降维变换矩阵。如此,各个持有方可以基于降维变换矩阵对本地数据进行降维,并最终形成总体的降维后的数据。通过这样的方式,确保了隐私数据的安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出主成分分析PCA方法的执行过程;
图3示出在一个实施例中多方共同进行零均值化处理的示意图;
图4示出在一个实施例中多方基于其中心矩阵进行联合降维的过程示意图;
图5示出根据一个实施例的部署在第三方中用于联合降维的装置的示意性框图;
图6示出根据一个实施例的部署在第k持有方中用于联合降维的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,在共享学习场景下,训练数据由多个持有方1,2,…,M共同提供,每个持有方拥有训练数据的一部分。训练数据可以是业务对象的属性特征数据,业务对象可以是用户,商户,商品,事件(例如交易事件,登录事件)等各种业务上有待分析的对象。在一种分布情况下,各个持有方拥有不同对象样本的相同属性项的数据。这些业务对象的属性特征数据属于隐私数据,可存储为隐私数据矩阵。为了隐私数据的安全,各个持有方需要将其隐私数据留在本地,不输出明文数据,不进行明文聚合。
在本说明书一个实施例的场景下,以上多个持有方采用主成分分析PCA方法,联合进行训练数据的降维。如本领域技术人员所知,PCA方法的核心步骤是基于待降维的数据矩阵形成协方差矩阵,并求解该协方差矩阵的本征值和本征向量。在本说明书的实施例中,为了保证各个持有方隐私数据安全,引入中立的第三方设备。各个持有方k本地对其隐私数据矩阵进行运算,得到乘积矩阵Ck后,通过同态加密的方式,汇总到第三方,由第三方实施协方差矩阵的运算,得到降维变换矩阵。于是,各个持有方可以基于该降维变换矩阵对其本地的隐私矩阵进行降维处理,实现安全的联合数据降维。
为了更清楚地描述以上过程,首先结合图2,描述主成分分析PCA方法的执行过程。
在图2中,假定存在N个样本的D维特征数据,每维特征数据可以对应样本的一项属性的属性值。假定希望将D维特征降维为d维,其中d<D。
那么首先在步骤201,可以基于上述N个样本的D维特征数据,形成D*N维的原始矩阵Y。例如,可以用一行表示一项属性,用一列表示一个样本,如此形成D行N列的原始矩阵Y。
接着在步骤202,对该原始矩阵进行零均值化处理,或称为中心化处理,得到中心矩阵X。中心化处理的目标是使得,针对D维属性中任意一项属性,所有N个样本在该属性上的属性值的均值为0。操作上,对于属性i,可以先求得所有N个样本对于属性i的属性值的均值,然后在原始矩阵中将与该属性i对应的元素减去该均值。例如,在一行表示一项属性的情况下,对于原始矩阵的每一行,求得该行的均值,然后将该行的每个元素减去对应均值,即得到零均值化的中心矩阵X。
然后,在步骤203,计算协方差矩阵A,具体地,A=XXT,其中XT为矩阵X的转置。
接着,在步骤204,求解协方差矩阵A的本征值λ(eigen value)和本征向量ν(eigenvector)。数学上,协方差矩阵A的本征值λ和本征向量ν满足:
Aν=λν (1)
协方差矩阵为对称矩阵,存在多个本征值和对应的多个本征向量,这多个本征向量之间彼此正交。可以通过多种算法,例如本征值分解的方法,求解出协方差矩阵的本征值和本征向量。多个本征向量可以构成本征矩阵。
基于以上得出的多个本征值和多个本征向量,在步骤205,确定出降维变换矩阵T。
需要理解,在物理含义上,一个本征向量意味着在原始D维空间中的一个投影方向。多个本征向量之间彼此正交,意味着该多个投影方向之间彼此正交。而PCA特征降维的本质即为,在原始D维空间中找出d个彼此正交的投影方向作为d个坐标方向,将原始样本点投影到该d个坐标方向构成的d维映射空间中,使得投影后样本点的方差尽可能大。在各个方向投影后的方差可以通过本征值体现。
基于这样的思想,对于得到的多个本征值,可以按照从大到小的顺序排序,取出前d个本征值作为目标本征值,进而可以确定出与该d个目标本征值对应的d个本征向量。该d个本征向量即对应于降维选定的d个坐标方向。上述d个本征向量构成降维变换矩阵T。
于是,在步骤205,通过对原始矩阵Y施加降维变换矩阵T,就可以得到降维后的矩阵Y′,该矩阵Y′为d*N维。如此,将原始矩阵Y变换为矩阵Y′,相当于将原本的D维特征降维为d维。
以上描述了PCA方法中,通过对协方差矩阵分解本征值,而将原始矩阵进行降维的过程。然而,在图1所示的共享学习的场景下,各个数据持有方各自持有一部分样本数据,且无法进行明文聚合,因此无法直接形成表示全部样本数据的矩阵,也就难以直接获得协方差矩阵,进而对其进行求解。
为此,在本说明书的实施例中,在M个持有方之外引入第三方,该第三方可以不必是可信计算设备,但是需要是中立的第三方,即,不会与任何持有方联合进行数据反推。基于该第三方,通过同态加密的方式,确定出各个持有方隐私数据共同形成的协方差矩阵,进而得到降维变换矩阵,从而进行安全的联合降维。
下面描述联合降维的具体实施过程。
需要说明,本实施例的方案针对数据横向分布的情况而设计,即,各个持有方存储有不同业务对象的相同项目的隐私数据。具体的,如图1所示,假定存在M个数据持有方。在数据横向分布的情况下,每个持有方拥有不同业务对象的相同属性项的特征数据。
例如,在一个具体例子中,业务对象为用户。M个数据持有方中的某一个为一个社交平台,拥有n个用户的用户基本属性特征,这些属性例如包括,用户i d,年龄,性别,职业,地区。M个数据持有方的另一持有方例如为另一社交平台,该平台拥有另外的m个用户的上述用户基本属性特征。如此,不同用户的相同属性项的特征数据横向分布于不同的数据持有方。
在另一具体例子中,业务对象为商户。M个数据持有方中的某一个为一个电商平台,拥有n个商户的属性特征,这些属性例如包括,商户i d,经营时长,商户类别,累积销量,等等。M个数据持有方的另一持有方例如为另一电商平台,该平台拥有另外的m个商户的上述属性特征。如此,不同商户的相同属性项的特征数据横向分布于不同的数据持有方。
在其他实施例中,业务对象还可以是,有待分析的商品,事件,等等,其中事件可以包括交易事件,登录事件,购买事件,社交事件,等等。针对各种的业务对象,各个持有方存储有相应项目的属性特征。以下描述中,还将业务对象称为样本。
各个持有方拥有的样本的属性特征数据为隐私数据,这些隐私数据可以以矩阵的形式存储。例如,假定M个数据持有方中任意一个持有方,例如第k持有方,存储有Nk个样本的D项属性的属性值,那么,该Nk个样本的D维属性值可以构成一个原始矩阵Yk。其他持有方分别存储有其他样本的上述D项属性的属性值,形成对应的原始矩阵。
需要理解,由于各个持有方拥有不同样本的相同属性项数据,为了便于后续处理,在进行联合降维之前的预备阶段中,各个持有方需要在属性的维度上进行对齐,也就是统一属性的顺序,均按照预定的属性顺序来排布样本数据。因此,通过属性对齐,各个持有方的原始矩阵中,D个属性项按照相同的顺序排布。
在一个实施例中,在形成原始矩阵时,用每列代表一个属性,每行表示一个样本。如此,第k持有方形成Nk*D维的原始矩阵。下面首先结合此种矩阵排布方式进行描述。
可以理解,各个持有方均类似的形成原始矩阵。如果将各个持有方的原始矩阵沿着纵向拼接,可以形成原始全矩阵Y:
Figure BDA0002425876300000121
该原始全矩阵为N*D维矩阵,其中每列表示一项属性,共有D列;每行列表示一个样本,共有N行,其中N为全部样本数目,
Figure BDA0002425876300000122
并且各行之间针对属性顺序已进行对齐。
如前所述,各个持有方并不进行原始数据的明文直接聚合,该原始全矩阵只是为了描述方便假定形成的矩阵。
参照图2对于CPA方法的介绍,为了进行数据降维,首先要对各项属性进行零均值化处理。然而,在数据横向分布的情况下,对于D项属性中的任意属性项i,第k持有方只是拥有Nk个样本针对该属性的属性值,而零均值化则需要针对所有N个样本针对该属性i的属性值进行计算,也就是进行M个持有方之间的全局均值化计算。因此,在该步骤中,需要各方协同,共同进行零均值化处理。
图3示出在一个实施例中多方共同进行零均值化处理的示意图。在图3的示例中,采用同态加密的方式进行零均值化处理。
具体的,如图3所示,假定各个持有方k拥有对应的原始矩阵Yk,其中k=1到M。针对D项属性中任意一项属性i,通过以下方式实现该属性的全局零均值化。
首先,在步骤S31,各个持有方k计算其原始矩阵Yk中,该属性i的属性值的求和结果Sk。当原始矩阵Yk中用一列表示一项属性时,计算矩阵Yk中属性i对应的第i列的元素之和,即为该求和结果Sk
然后,在步骤S32,各个持有方k,使用第三方的公钥,对上述求和结果Sk进行同态加密,得到对应的加密属性和值Enc(Sk)。
需要理解,同态加密是这样一种加密算法,即,对明文进行运算后再加密,与加密后对密文进行相应的运算,结果是等价的。例如,用同样的公钥PK加密v1和v2得到EPK(v1)和EPK(v2),如果满足:
EPK(v1+v2)=EPK(v1)⊕EPK(v2) (4)
那么则认为,该加密算法满足加法同态,其中⊕为对应的同态加操作。实践中,⊕操作可以对应于常规的加法,乘法等。例如,在Paillier算法中,⊕对应于常规乘法。
在步骤S32中,Enc即表示满足加法同态性的加密算法,例如Paillier算法。
接着,在步骤S33,M个持有方将各自的加密属性和值Enc(Sk)集中到某个运算执行方中,由该运算执行方对M个加密属性和值进行同态加和操作,得到同态加和结果Enc(S),即:
Figure BDA0002425876300000131
在一个实施例中,上述运算执行方为M个持有方中的一个,例如,如图3所示为第k持有方。
在另一实施例中,上述运算执行方也可以是M个持有方之外的另一方,但不能是前述的第三方P,以免第三方P用其私钥解密得到各个持有方的属性和值Sk明文,造成隐私泄露。
然后,在步骤S34,上述运算执行方将同态加和结果Enc(S)发送给第三方P。
在步骤S35,第三方P利用与公钥对应的私钥,对同态加和结果Enc(S)进行解密。根据公式(4)示出的加法同态性,和公式(5)示出的运算方式,对Enc(S)解密得到的结果,即为该属性i的全局和值:
Figure BDA0002425876300000141
然后,在步骤S36,第三方P根据该全局和值,得到该属性i的全局均值S`=S/N,其中N为全部业务对象样本的数目,如公式(3)所示。
该总样本数N可以通过多种方式得到。在一个例子中,各个持有方k在预备阶段,预先向第三方P报告其样本数Nk,该第三方P通过公式(3)得到总样本数N。在另一例子中,在以上步骤S33中,各个持有方在发送器加密属性和值Enc(Sk)时,一并发送其样本数Nk,由上述运算执行方对样本数汇总后,转发给第三方P。
如此,第三方P根据全局和值S和总样本数N,计算得到了该属性i的全局均值。然后,在步骤S37,第三方P将该全局均值广播给M个持有方。
在步骤S38,各个持有方k将其原始矩阵Yk中该属性i对应的元素,均减去全局均值S`,从而对该属性i进行全局零均值化。
通过对D项属性中的每项属性均执行上述过程,对原始矩阵中各项属性均实现全局零均值化。第k持有方中对原始矩阵Yk的各项属性均进行全局零均值化后得到的矩阵,可以称为第k中心矩阵,记为Xk
以上图3的实施例中采用同态加密的方式进行了属性的全局零均值化。在其他实施例中,全局零均值化的过程还可以通过其他安全计算方式实现,例如通过多方安全计算MPC的方式。
具体地,在列表示属性的情况下,针对D列中的各个列,第k持有方可以本地计算该列的和值,于是形成D维的列和值向量Sk
然后,第k持有方与其他持有方采用MPC方式,对各个持有方的列和值向量和样本数分别求和,得到总列向量S和总样本数N,其中:
Figure BDA0002425876300000151
以上MPC方式具体可以采用秘密分享的加法实现。
然后,中立的第三方或者M个持有方中的任一方可以计算总均值向量
Figure BDA0002425876300000152
Figure BDA0002425876300000153
该总均值向量
Figure BDA0002425876300000154
为D维向量,其中第i个元素表示原始全矩阵Y中第i列的全局均值。
计算该总均值向量
Figure BDA0002425876300000155
的计算方随后将该向量广播至M个持有方中的每个持有方。于是,各个持有方k利用该总均值向量进行列零均值化,于是得到对应的第k中心矩阵Xk
以上通过多种方式,各个持有方对各项属性进行全局零均值化处理,得到对应的中心矩阵。如果将各个持有方的中心矩阵沿着纵向拼接,可以形成联合矩阵X:
Figure BDA0002425876300000156
该联合矩阵为N*D维矩阵,且为零均值化的矩阵。由于中心矩阵仍有可能会泄露隐私,因此,各个持有方无法直接将中心矩阵进行拼接。该联合矩阵只是为了描述方便假定形成的矩阵。
在假定形成上述联合矩阵后,参照图2所示的CPA方法的步骤203,可以如下计算协方差矩阵C=XXT
Figure BDA0002425876300000157
可以理解,该协方差矩阵为D*D维的方阵。
通过公式(10)最右侧的表示可以看到,协方差矩阵可以分解为M个本地计算的分解矩阵。基于这样的思路,进行后续的降维变换处理。下面描述在各个持有方形成中心矩阵之后,联合进行降维的过程。
图4示出在一个实施例中多方基于其中心矩阵进行联合降维的过程示意图。
如图4所示,在步骤S41,各个持有方k本地计算第k中心矩阵Xk与其转置矩阵
Figure BDA0002425876300000161
相乘得到的乘积矩阵
Figure BDA0002425876300000162
该乘积矩阵又可以简单记为
Figure BDA0002425876300000163
在步骤S42,各个持有方k使用前述第三方的公钥PK,对乘积矩阵
Figure BDA0002425876300000164
进行同态加密,得到第k加密矩阵乘积
Figure BDA0002425876300000165
对矩阵的同态加密,等同于对该矩阵中的每个元素均进行同态加密。
然后,在步骤S43,M个持有方将各自的加密矩阵乘积
Figure BDA0002425876300000166
集中到某个运算执行方中,由该运算执行方对M个加密矩阵乘积进行同态加和操作,得到同态加和结果Enc(C),即:
Figure BDA0002425876300000167
在一个实施例中,上述运算执行方为M个持有方中的任一个,例如,如图4所示为第M持有方。
在另一实施例中,上述运算执行方也可以是M个持有方和上述第三方P之外的另一方。
需要理解,在步骤S43中对M个加密矩阵乘积进行运算的运算执行方,与图3中步骤S33中对M个加密属性和值进行运算的执行方,可以是相同的执行方,或者不同的执行方,在此不做限定。
然后,在步骤S44,上述运算执行方将同态加和结果Enc(C)发送给第三方P。
在步骤S45,第三方P利用与公钥PK对应的私钥SK,对同态加和结果Enc(C)进行解密。根据公式(4)示出的加法同态性,和公式(11)示出的运算方式,对Enc(C)解密得到的结果,即为协方差矩阵C:
Figure BDA0002425876300000168
于是,在步骤S46,第三方P基于协方差矩阵C和降维的目标维度d,确定出降维变换矩阵T。
具体的,第三方P可以确定协方差矩阵C的多个本征值λ和对应的多个本征向量ν。本征值的求解可以通过例如雅各比迭代等方式进行。然后,从多个本征值中,确定出值较大的目标维度d个本征值作为d个目标本征值,即λ12,…,λd,并确定出对应的d个本征向量ν12,…,νd。于是,可以基于该d个本征向量ν12,…,νd,形成降维变换矩阵T。该降维变换矩阵T可以排布为D*d维矩阵。
然后,在步骤S47,第三方P将计算得到的降维变换矩阵T,广播给M个持有方。
在步骤S48,各个持有方k,可以用上述降维变换矩阵T处理其第k原始矩阵Yk,得到对应的第k降维矩阵Yk′。
如前所述,在用行表示样本,用列表示属性的情况下,第k原始矩阵为Nk*D维矩阵,而降维矩阵为D*d维,此时可以通过下式进行降维处理:
Y′k=YkT (13)
如此,第k持有方得到了Nk*d维的降维矩阵Y′k,这相当于将每个样本的原始D维特征,缩减为d维。
于是,各个持有方可以利用其降维矩阵进行数据分析、模型训练等进一步处理,从而对业务对象进行业务预测分析。
在一种实施方式中,各个持有方还可以将其各自的降维矩阵Yk′集中到第三方P,形成总降维矩阵,以便于数据的联合训练和处理。
具体的,各个持有方k将其第k降维矩阵Yk′发送给第三方P,于是第三方P接收到M个持有方分别提供的M个降维矩阵。然后,第三方P基于该M个降维矩阵,形成对全部N个业务对象的D项属性进行降维处理后的总降维矩阵Y’,即:
Figure BDA0002425876300000181
该总降维矩阵Y′相当于将原始全矩阵Y中的D项属性特征压缩降维到d。总降维矩阵Y′于是可以用于各个持有方共同进行高效的机器学习,对业务对象进行分析和预测。
以上结合用行表示样本,用列表示属性的矩阵排布方式,描述了多方联合降维的过程。在用行表示属性,用列表示样本的情况下,也可以类似地实施以上过程,只需对少量步骤进行相应修改。
具体的,在一行表示一项属性,一列表示一个样本的情况下,各个持有方k的原始矩阵Yk为D行Nk列的D*Nk维矩阵。并且,原始全矩阵Y通过将各个持有方的原始矩阵Yk沿着横向拼接而形成:
Y=(Y1Y2…YM) (15)
该原始全矩阵为D*N维矩阵。
各个持有方仍可以按照图3的方法进行属性的零均值化。在各个持有方得到其中心矩阵后,如果将中心矩阵沿着横向拼接,可以假定形成联合矩阵X:
X=(X1X2…XM) (16)
此种情况下,公式(12)仍然成立,仍然可以采用图4所示的方法得到协方差矩阵C和降维矩阵T。在该实施例中,可以将降维矩阵T排布为d*D维矩阵。
各个持有方k在得到降维矩阵后,可以通过下式处理其原始矩阵:
Y′k=TYk (17)
其中,T为d*D维矩阵,原始矩阵Yk为D*Nk维矩阵,于是得到d*Nk维降维矩阵Y′k。M个持有方各自的降维矩阵可以横向拼接,形成最终的总降维矩阵:
Y′=(Y′1Y′2…Y′M) (18)
于是得到d*N维的总降维矩阵。在实际的机器学习操作中,由于往往是将样本排布为行,属性特征排布为列,因此通常在得到上述(18)的总降维矩阵后,再统一进行转置,作为最终的总降维矩阵,即:
Y′=(Y′1Y′2…Y′M)T (19)
回顾以上过程,通过引入中立的第三方,并利用同态加密的方式,各个数据持有方可以在不泄露隐私数据的情况下,联合进行特征降维处理,从而更有效地进行共享机器学习和联合训练。
根据另一方面的实施例,提供了一种针对隐私数据进行多方联合降维的装置,其中隐私数据分布在M个持有方中,该装置部署在M个持有方之外的第三方中。需要理解,各个持有方,以及该第三方均可以实现为任何具有数据存储、计算、处理能力的设备、平台或设备集群。在上述M个持有方中,任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵。图5示出根据一个实施例的部署在第三方中用于联合降维的装置的示意性框图。如图5所示,部署在第三方中的装置500包括:
接收单元52,配置为接收对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;其中第k持有方提供的第k加密矩阵乘积,是使用所述第三方的公钥,对第k中心矩阵及其转置矩阵的乘积进行同态加密得到的;所述第k中心矩阵是对第k原始矩阵中各项属性进行M个持有方之间的全局零均值化后得到的;
解密单元53,配置为利用所述公钥对应的私钥,对同态加和结果进行解密,得到协方差矩阵;
确定单元54,配置为基于所述协方差矩阵和降维的目标维度d,确定出降维变换矩阵;
广播单元55,配置为将所述降维变换矩阵广播至所述M个持有方,使得各个持有方利用所述降维变换矩阵处理其原始矩阵,得到对应的降维矩阵;所述降维矩阵用以通过机器学习的方式对所述业务对象进行业务预测分析。
根据一种实施方式,部署在第三方中的装置500还包括总矩阵确定单元(未示出),配置为接收所述M个持有方分别提供的M个降维矩阵;并基于所述M个降维矩阵,确定对全部业务对象的D项属性进行降维处理后的总降维矩阵。
在不同实施例中,业务对象可以为以下之一:用户,商户,商品,事件;所述业务预测分析包括,预测所述业务对象的分类或回归值。
根据一种实施方式,部署在第三方中的装置500还包括均值化辅助单元51,其进一步包括(未示出):
加密总和接收模块,配置为,对于所述D项属性中的任意属性i,接收针对该属性i的加密总和,所述加密总和是对所述M个持有方提供的M个加密属性和值进行同态加和操作得到的,其中第k个加密属性和值,是所述第k持有方利用所述第三方的公钥,对第k原始矩阵中该属性i的属性值的求和结果进行同态加密得到的;
全局总和确定模块,配置为利用所述私钥解密所述加密总和,得到该属性i的全局和值;
均值确定模块,配置为根据所述全局和值,确定该属性i的全局均值;
均值广播模块,配置为将所述全局均值广播至所述M个持有方,使其各自对其中的原始矩阵中的属性i进行全局零均值化。
在上述实施方式的不同实施例中,上述加密总和接收模块可以配置为,从所述M个持有方之一,接收所述加密总和;或者,从所述M个持有方和所述第三方之外的另一方,接收所述加密总和。
根据不同实施例,上述接收单元52可以配置为,从所述M个持有方之一接收所述同态加和结果;或者,从所述M个持有方和所述第三方之外的另一方,接收所述同态加和结果。
在一个实施例中,所述第k原始矩阵中一行对应一项属性,一列对应一个业务对象;在这样的情况下,所述解密单元53得到的协方差矩阵为,假定所述M个持有方各自对应的中心矩阵进行横向拼接所形成的联合矩阵与其转置矩阵的乘积;相应的,总降维矩阵为,将所述M个降维矩阵进行横向拼接,得到的矩阵。
在另一实施例中,所述第k原始矩阵中一行对应一个业务对象,一列对应一项属性;在这样的情况下,所述解密单元53得到的协方差矩阵为,假定所述M个持有方各自对应的中心矩阵进行纵向拼接所形成的联合矩阵与其转置矩阵的乘积;相应的,总降维矩阵为,将所述M个降维矩阵进行纵向拼接,得到的矩阵。
根据一种实施方式,确定单元54具体配置为:确定所述协方差矩阵的多个本征值和对应的多个本征向量;从所述多个本征值中,确定出值较大的目标维度d个本征值作为d个目标本征值;基于所述d个目标本征值对应的d个本征向量,形成所述降维变换矩阵。
根据又一方面的实施例,提供了一种针对隐私数据进行多方联合降维的装置,其中隐私数据分布在M个持有方中,该装置部署在M个数据持有方中任意的第k持有方中,任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵。该装置与M个持有方之外的第三方协同进行数据降维处理。需要理解,各个持有方,以及该第三方均可以实现为任何具有数据存储、计算、处理能力的设备、平台或设备集群。图6示出根据一个实施例的部署在第k持有方中用于联合降维的装置的示意性框图。如图6所示,部署在第k持有方中的装置600包括:
均值化单元61,配置为对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,得到第k中心矩阵;
加密单元62,配置为计算第k中心矩阵及其转置矩阵的乘积矩阵,并使用所述M个持有方之外的第三方的公钥,对所述乘积矩阵进行同态加密,得到第k加密矩阵乘积;
提供单元63,配置为提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;
接收单元64,配置为从所述第三方接收降维变换矩阵;
降维处理单元65,配置为用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵,用以通过机器学习的方式对所述业务对象进行业务预测分析。
根据一种实施方式,上述装置600还包括,发送单元(未示出),配置为将所述第k降维矩阵提供给所述第三方,使其确定对全部业务对象的D项属性进行降维处理后的总降维矩阵。
根据一种实施方式,所述均值化单元61采用多方安全计算MPC的方式,与其他持有方中的相应单元,协同进行全局零均值化。
根据另一种实施方式,所述均值化单元61具体包括(未示出):
和值计算模块,配置为对于所述D项属性中的任意属性i,计算所述第k原始矩阵中该属性i的属性值的求和结果;
和值加密模块,配置为使用所述公钥,对所述求和结果进行同态加密,得到第k加密属性和值;
加密和值提供模块,配置为提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果;
均值接收模块,配置为从所述第三方接收基于所述同态加和结果确定的该属性i的全局均值;
均值处理模块,配置为将所述第k原始矩阵中该属性i对应的元素,均减去所述全局均值,以对该属性i进行全局零均值化。
进一步地,在一个具体例子中,加密和值提供模块配置为,将所述第k加密属性和值,发送至运算执行方,使得所述运算执行方对所述M个加密属性和值进行同态加和,并将同态加和结果发送至所述第三方;其中,所述运算执行方为所述M个持有方中该第k持有方之外的一方,或者,所述运算执行方为所述M个持有方和所述第三方之外的另一方。
在另一个具体例子中,加密和值提供模块配置为,从所述M个持有方中M-1个其他持有方分别接收对应的M-1个加密属性和值;对所述第k加密属性和值,和所述M-1个加密属性和值进行同态加和,将同态加和结果发送至所述第三方。
通过以上多种方式,加密和值提供模块提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果。
在一个实施例中,提供单元63具体配置为,将所述第k加密矩阵乘积发送至运算执行方,使得所述运算执行方对所述M个加密矩阵乘积进行同态加和,并将同态加和结果发送至所述第三方;其中,所述运算执行方为所述M个持有方中该第k持有方之外的一方,或者,所述运算执行方为所述M个持有方和所述第三方之外的另一方。
在另一实施例中,提供单元63具体配置为,从所述M个持有方中M-1个其他持有方分别接收对应的M-1个加密矩阵乘积;对所述第k加密乘积,和所述M-1个加密矩阵乘积进行同态加和,将同态加和结果发送至所述第三方。
通过以上多种方式,提供单元63提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果。
在一个实施例中,第k原始矩阵中一行对应一项属性,一列对应一个业务对象;在这样的情况下,降维处理单元65通过用所述降维变换矩阵乘以所述第k原始矩阵,进行降维处理。
在另一实施例中,第k原始矩阵中一行对应一个业务对象,一列对应一项属性;在这样的情况下,降维处理单元65通过用所述第k原始矩阵乘以所述降维变换矩阵,进行降维处理。
通过以上的装置,实现隐私保护的多方联合降维。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3和图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3和图4所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (22)

1.一种针对隐私数据进行多方联合降维处理的方法,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述方法通过所述M个持有方之外的第三方执行,包括:
接收对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;其中第k持有方提供的第k加密矩阵乘积,是使用所述第三方的公钥,对第k中心矩阵及其转置矩阵的乘积进行同态加密得到的;所述第k中心矩阵是对第k原始矩阵中各项属性进行M个持有方之间的全局零均值化后得到的;
利用所述公钥对应的私钥,对同态加和结果进行解密,得到协方差矩阵;
基于所述协方差矩阵和降维的目标维度d,确定出降维变换矩阵;
将所述降维变换矩阵广播至所述M个持有方,使得各个持有方利用所述降维变换矩阵处理其原始矩阵,得到对应的降维矩阵;所述降维矩阵用以通过机器学习的方式对所述业务对象进行业务预测分析。
2.根据权利要求1所述的方法,还包括:
接收所述M个持有方分别提供的M个降维矩阵;
基于所述M个降维矩阵,确定对全部业务对象的D项属性进行降维处理后的总降维矩阵。
3.根据权利要求1所述的方法,其中,所述业务对象为以下之一:用户,商户,商品,事件;所述业务预测分析包括,预测所述业务对象的分类或回归值。
4.根据权利要求1所述的方法,其中,在获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果之前,还包括:
对于所述D项属性中的任意属性i,接收针对该属性i的加密总和,所述加密总和是对所述M个持有方提供的M个加密属性和值进行同态加和操作得到的,其中第k个加密属性和值,是所述第k持有方利用所述第三方的公钥,对第k原始矩阵中该属性i的属性值的求和结果进行同态加密得到的;
利用所述私钥解密所述加密总和,得到该属性i的全局和值;
根据所述全局和值,确定该属性i的全局均值;
将所述全局均值广播至所述M个持有方,使其各自对其中的原始矩阵中的属性i进行全局零均值化。
5.根据权利要求4所述的方法,其中,接收针对该属性i的加密总和包括:
从所述M个持有方之一,接收所述加密总和;或者,
从所述M个持有方和所述第三方之外的另一方,接收所述加密总和。
6.根据权利要求1所述的方法,其中,接收对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果,包括:
从所述M个持有方之一接收所述同态加和结果;或者,
从所述M个持有方和所述第三方之外的另一方,接收所述同态加和结果。
7.根据权利要求2所述的方法,其中,所述第k原始矩阵中一行对应一项属性,一列对应一个业务对象;
所述协方差矩阵为,假定所述M个持有方各自对应的中心矩阵进行横向拼接所形成的联合矩阵与其转置矩阵的乘积;
所述确定对全部业务对象的D项属性进行降维处理后的总降维矩阵包括,将所述M个降维矩阵进行横向拼接,得到所述总降维矩阵。
8.根据权利要求2所述的方法,其中,所述第k原始矩阵中一行对应一个业务对象,一列对应一项属性;
所述协方差矩阵为,假定所述M个持有方各自对应的中心矩阵进行纵向拼接所形成的联合矩阵与其转置矩阵的乘积;
所述确定对全部业务对象的D项属性进行降维处理后的总降维矩阵,包括:
将所述M个降维矩阵进行纵向拼接,得到所述总降维矩阵。
9.根据权利要求1所述的方法,其中,基于所述协方差矩阵和降维的目标维度,确定出降维变换矩阵,包括:
确定所述协方差矩阵的多个本征值和对应的多个本征向量;
从所述多个本征值中,确定出值较大的目标维度d个本征值作为d个目标本征值;
基于所述d个目标本征值对应的d个本征向量,形成所述降维变换矩阵。
10.一种针对隐私数据进行多方联合降维处理的方法,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述方法通过该第k持有方执行,包括:
对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,得到第k中心矩阵;
计算第k中心矩阵及其转置矩阵的乘积矩阵,并使用所述M个持有方之外的第三方的公钥,对所述乘积矩阵进行同态加密,得到第k加密矩阵乘积;
提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;
从所述第三方接收降维变换矩阵;
用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵,用以通过机器学习的方式对所述业务对象进行业务预测分析。
11.根据权利要求10所述的方法,在得到第k降维矩阵后,还包括:
将所述第k降维矩阵提供给所述第三方,使其确定对全部业务对象的D项属性进行降维处理后的总降维矩阵。
12.根据权利要求10所述的方法,其中,对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,包括:
对于所述D项属性中的任意属性i,计算所述第k原始矩阵中该属性i的属性值的求和结果;
使用所述公钥,对所述求和结果进行同态加密,得到第k加密属性和值;
提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果;
从所述第三方接收基于所述同态加和结果确定的该属性i的全局均值;
将所述第k原始矩阵中该属性i对应的元素,均减去所述全局均值,以对该属性i进行全局零均值化。
13.根据权利要求12所述的方法,其中,提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果,包括:
将所述第k加密属性和值,发送至运算执行方,使得所述运算执行方对所述M个加密属性和值进行同态加和,并将同态加和结果发送至所述第三方;
其中,所述运算执行方为所述M个持有方中该第k持有方之外的一方,或者,所述运算执行方为所述M个持有方和所述第三方之外的另一方。
14.根据权利要求12所述的方法,其中,提供所述第k加密属性和值,以使得所述第三方获取到所述M个持有方提供的M个加密属性和值的同态加和结果,包括:
从所述M个持有方中M-1个其他持有方分别接收对应的M-1个加密属性和值;
对所述第k加密属性和值,和所述M-1个加密属性和值进行同态加和,将同态加和结果发送至所述第三方。
15.根据权利要求10所述的方法,其中,提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果,包括:
将所述第k加密矩阵乘积,发送至运算执行方,使得所述运算执行方对所述M个加密矩阵乘积进行同态加和,并将同态加和结果发送至所述第三方;
其中,所述运算执行方为所述M个持有方中该第k持有方之外的一方,或者,所述运算执行方为所述M个持有方和所述第三方之外的另一方。
16.根据权利要求10所述的方法,其中,提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果,包括:
从所述M个持有方中M-1个其他持有方分别接收对应的M-1个加密矩阵乘积;
对所述第k加密乘积,和所述M-1个加密矩阵乘积进行同态加和,将同态加和结果发送至所述第三方。
17.根据权利要求10所述的方法,其中,所述第k原始矩阵中一行对应一项属性,一列对应一个业务对象;
所述用所述降维变换矩阵处理所述第k原始矩阵包括:用所述降维变换矩阵乘以所述第k原始矩阵。
18.根据权利要求10所述的方法,其中,所述第k原始矩阵中一行对应一个业务对象,一列对应一项属性;
所述用所述降维变换矩阵处理所述第k原始矩阵包括:用所述第k原始矩阵乘以所述降维变换矩阵。
19.一种针对隐私数据进行多方联合降维处理的装置,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述装置部署在所述M个持有方之外的第三方中,包括:
接收单元,配置为接收对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;其中第k持有方提供的第k加密矩阵乘积,是使用所述第三方的公钥,对第k中心矩阵及其转置矩阵的乘积进行同态加密得到的;所述第k中心矩阵是对第k原始矩阵中各项属性进行M个持有方之间的全局零均值化后得到的;
解密单元,配置为利用所述公钥对应的私钥,对同态加和结果进行解密,得到协方差矩阵;
确定单元,配置为基于所述协方差矩阵和降维的目标维度d,确定出降维变换矩阵;
广播单元,配置为将所述降维变换矩阵广播至所述M个持有方,使得各个持有方利用所述降维变换矩阵处理其原始矩阵,得到对应的降维矩阵;所述降维矩阵用以通过机器学习的方式对所述业务对象进行业务预测分析。
20.一种针对隐私数据进行多方联合降维处理的装置,所述隐私数据分布在M个持有方中,其中任意的第k持有方存储有若干业务对象针对预定的D项属性的属性值构成的第k原始矩阵,所述装置部署在第k持有方中,包括:
均值化单元,配置为对所述第k原始矩阵中各项属性进行M个持有方之间的全局零均值化,得到第k中心矩阵;
加密单元,配置为计算第k中心矩阵及其转置矩阵的乘积矩阵,并使用所述M个持有方之外的第三方的公钥,对所述乘积矩阵进行同态加密,得到第k加密矩阵乘积;
提供单元,配置为提供所述第k加密矩阵乘积,以使得所述第三方获取对所述M个持有方分别提供的M个加密矩阵乘积的同态加和结果;
接收单元,配置为从所述第三方接收降维变换矩阵;
降维处理单元,配置为用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵,用以通过机器学习的方式对所述业务对象进行业务预测分析。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-18中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-18中任一项所述的方法。
CN202010220436.7A 2020-03-25 2020-03-25 针对隐私数据进行多方联合降维处理的方法及装置 Active CN111400766B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010220436.7A CN111400766B (zh) 2020-03-25 2020-03-25 针对隐私数据进行多方联合降维处理的方法及装置
PCT/CN2021/081962 WO2021190424A1 (zh) 2020-03-25 2021-03-22 针对隐私数据进行多方联合降维处理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010220436.7A CN111400766B (zh) 2020-03-25 2020-03-25 针对隐私数据进行多方联合降维处理的方法及装置

Publications (2)

Publication Number Publication Date
CN111400766A true CN111400766A (zh) 2020-07-10
CN111400766B CN111400766B (zh) 2021-08-06

Family

ID=71429141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010220436.7A Active CN111400766B (zh) 2020-03-25 2020-03-25 针对隐私数据进行多方联合降维处理的方法及装置

Country Status (2)

Country Link
CN (1) CN111400766B (zh)
WO (1) WO2021190424A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989368A (zh) * 2021-02-07 2021-06-18 支付宝(杭州)信息技术有限公司 多方联合进行隐私数据处理的方法及装置
WO2021190424A1 (zh) * 2020-03-25 2021-09-30 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法和装置
CN113821764A (zh) * 2021-11-22 2021-12-21 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113949505A (zh) * 2021-10-15 2022-01-18 支付宝(杭州)信息技术有限公司 一种隐私保护的多方安全计算方法和系统
CN114710259A (zh) * 2022-03-22 2022-07-05 中南大学 多方联合的安全pca投影方法及数据相关性分析方法
CN115622685B (zh) * 2022-12-16 2023-04-28 成方金融科技有限公司 隐私数据同态加密方法、装置及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314202B (zh) * 2022-10-10 2023-01-24 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于安全多方计算的数据处理方法及电子设备、存储介质
CN116383848B (zh) * 2023-04-04 2023-11-28 北京航空航天大学 一种三方安全计算防作恶方法、设备及介质
CN116484430B (zh) * 2023-06-21 2023-08-29 济南道图信息科技有限公司 一种智慧心理平台用户隐私数据加密保护方法
CN117440103B (zh) * 2023-12-20 2024-03-08 山东大学 基于同态加密和空间优化的隐私数据处理方法及系统
CN117439731B (zh) * 2023-12-21 2024-03-12 山东大学 基于同态加密的隐私保护大数据主成分分析方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970143A (zh) * 2012-12-13 2013-03-13 中国科学技术大学苏州研究院 采用加法同态加密方法进行安全计算双方持有数和的指数的方法
CN110046660A (zh) * 2019-04-10 2019-07-23 江南大学 一种基于半监督学习的乘积量化方法
CN110705648A (zh) * 2019-10-12 2020-01-17 中国民航大学 大规模多视图数据自降维K-means算法及系统
CN110889139A (zh) * 2019-11-26 2020-03-17 支付宝(杭州)信息技术有限公司 针对用户隐私数据进行多方联合降维处理的方法及装置
CN110912713A (zh) * 2019-12-20 2020-03-24 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043250B2 (en) * 2012-01-10 2015-05-26 Telcordia Technologies, Inc. Privacy-preserving aggregated data mining
CN103873234B (zh) * 2014-03-24 2017-02-08 西安电子科技大学 面向无线体域网的生物量子密钥分发方法
CN109345331B (zh) * 2018-08-21 2021-06-11 中国科学技术大学苏州研究院 一种带隐私保护的群智感知系统任务分配方法
CN110889447B (zh) * 2019-11-26 2022-05-17 支付宝(杭州)信息技术有限公司 基于多方安全计算检验模型特征显著性的方法和装置
CN111400766B (zh) * 2020-03-25 2021-08-06 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970143A (zh) * 2012-12-13 2013-03-13 中国科学技术大学苏州研究院 采用加法同态加密方法进行安全计算双方持有数和的指数的方法
CN110046660A (zh) * 2019-04-10 2019-07-23 江南大学 一种基于半监督学习的乘积量化方法
CN110705648A (zh) * 2019-10-12 2020-01-17 中国民航大学 大规模多视图数据自降维K-means算法及系统
CN110889139A (zh) * 2019-11-26 2020-03-17 支付宝(杭州)信息技术有限公司 针对用户隐私数据进行多方联合降维处理的方法及装置
CN110912713A (zh) * 2019-12-20 2020-03-24 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021190424A1 (zh) * 2020-03-25 2021-09-30 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法和装置
CN112989368A (zh) * 2021-02-07 2021-06-18 支付宝(杭州)信息技术有限公司 多方联合进行隐私数据处理的方法及装置
CN112989368B (zh) * 2021-02-07 2022-05-17 支付宝(杭州)信息技术有限公司 多方联合进行隐私数据处理的方法及装置
CN113949505A (zh) * 2021-10-15 2022-01-18 支付宝(杭州)信息技术有限公司 一种隐私保护的多方安全计算方法和系统
CN113821764A (zh) * 2021-11-22 2021-12-21 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113821764B (zh) * 2021-11-22 2022-02-11 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN114710259A (zh) * 2022-03-22 2022-07-05 中南大学 多方联合的安全pca投影方法及数据相关性分析方法
CN114710259B (zh) * 2022-03-22 2024-04-19 中南大学 多方联合的安全pca投影方法及数据相关性分析方法
CN115622685B (zh) * 2022-12-16 2023-04-28 成方金融科技有限公司 隐私数据同态加密方法、装置及系统

Also Published As

Publication number Publication date
CN111400766B (zh) 2021-08-06
WO2021190424A1 (zh) 2021-09-30

Similar Documents

Publication Publication Date Title
CN111400766B (zh) 针对隐私数据进行多方联合降维处理的方法及装置
CN111162896B (zh) 双方联合进行数据处理的方法及装置
CN112989368B (zh) 多方联合进行隐私数据处理的方法及装置
CN110889139B (zh) 针对用户隐私数据进行多方联合降维处理的方法及装置
CN111160573B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
Vaidya et al. Privacy-preserving SVM classification
CN111177791B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN110991655B (zh) 多方联合进行模型数据处理的方法及装置
CN111241570B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN110912713B (zh) 多方联合进行模型数据处理的方法及装置
US8291509B2 (en) Searchable encryption for outsourcing data analytics
US8675877B2 (en) Sharing a secret via linear interpolation
CN111401479B (zh) 多方联合对隐私数据进行降维处理的方法和装置
CN111177768A (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
Yakut et al. Privacy-preserving SVD-based collaborative filtering on partitioned data
US8891762B2 (en) Method for privacy-preserving order selection of encrypted element
CN114936650A (zh) 基于隐私保护的联合训练业务模型的方法及装置
CN112507372B (zh) 实现隐私保护的多方协同更新模型的方法及装置
Kaleli et al. SOM-based recommendations with privacy on multi-party vertically distributed data
Manisha et al. CBRC: a novel approach for cancelable biometric template generation using random permutation and Chinese Remainder Theorem
Fan et al. FLSG: A Novel Defense Strategy Against Inference Attacks in Vertical Federated Learning
Lee et al. PPEM: Privacy‐preserving EM learning for mixture models
Rao et al. Secure two-party feature selection
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
US20230385446A1 (en) Privacy-preserving clustering methods and apparatuses

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: 40033182

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant