保护隐私的多方联合降维处理的方法和装置制造方法及图纸

技术编号:36114993 阅读:14 留言:0更新日期:2022-12-28 14:18
本说明书实施例提供一种保护隐私的多方联合降维处理的方法和装置。方法包括:按照预定的样本顺序,读取当前批次的M个样本的本地特征,构建本方原始矩阵;本地计算本方原始矩阵的转置矩阵与其自身相乘的第一矩阵,并利用多方安全计算,将本方原始矩阵的转置矩阵与其他方的原始矩阵进行乘操作得到第二矩阵,将其他方的原始矩阵的转置矩阵与本方原始矩阵进行乘操作得到第三矩阵;基于第一矩阵、第二矩阵、第三矩阵和其他方的第一矩阵,拼接形成合并矩阵;针对合并矩阵进行均值处理,得到中心矩阵;对各个批次的中心矩阵进行累加,得到协方差矩阵;利用协方差矩阵,针对各个批次的样本特征数据进行多方联合降维处理。能够提升处理速度。理速度。理速度。

【技术实现步骤摘要】
保护隐私的多方联合降维处理的方法和装置


[0001]本说明书一个或多个实施例涉及计算机领域,尤其涉及保护隐私的多方联合降维处理的方法和装置。

技术介绍

[0002]在机器学习中,主成分分析(principal component analysis,PCA)是常用的无监督的数据分析算法。PCA通过探索高维数据结构,可以进行数据降维和可视化,从而加快对样本有价值信息的处理速度。
[0003]然而,样本的特征数据常常分布于多个数据拥有方,数据拥有方所拥有的样本的特征数据属于其隐私数据。在多个数据拥有方联合进行PCA的过程中,不能泄露数据拥有方的隐私数据。现有技术中,为了保护隐私数据,针对大数据集进行PCA的处理速度通常较低。
[0004]因此,希望能有改进的方案,可以在保护隐私的多方联合降维处理中,提升处理速度。

技术实现思路

[0005]本说明书一个或多个实施例描述了一种保护隐私的多方联合降维处理的方法和装置,能够提升处理速度。
[0006]第一方面,提供了一种保护隐私的多方联合降维处理的方法,所述多方中的各方各自存储有N个样本的不同特征部分;所述方法通过多方中的任一方执行,包括:
[0007]采用批处理的方式,按照预定的样本顺序,读取当前批次的M个样本的本地特征,构建本方原始矩阵;其中,M小于N;
[0008]本地计算所述本方原始矩阵的转置矩阵与其自身相乘得到的第一矩阵,并利用多方安全计算(secure muti

party computation,MPC),将所述本方原始矩阵的转置矩阵与其他方的原始矩阵进行乘操作得到第二矩阵,将所述其他方的原始矩阵的转置矩阵与所述本方原始矩阵进行乘操作得到第三矩阵;基于所述第一矩阵、所述第二矩阵、所述第三矩阵和所述其他方的第一矩阵,拼接形成当前批次的合并矩阵;
[0009]针对所述合并矩阵进行均值处理,得到中心矩阵;
[0010]对各个批次的中心矩阵进行累加运算,得到N个样本对应的协方差矩阵;
[0011]利用所述协方差矩阵,针对各个批次的样本特征数据进行多方联合降维处理。
[0012]在一种可能的实施方式中,所述针对所述合并矩阵进行均值处理,得到中心矩阵,包括:
[0013]获取均值矩阵,所述均值矩阵基于各方的原始矩阵对应的均值向量而形成,所述均值向量是在对应于特征的维度下求均值而确定;
[0014]对所述合并矩阵和均值矩阵进行求差运算,得到所述中心矩阵。
[0015]进一步地,所述本方原始矩阵的一列对应于一项特征;所述获取均值矩阵,包括:
[0016]本地计算所述本方原始矩阵的均值行向量的转置向量与所述均值行向量的乘积,
得到第一均值子矩阵,并利用多方安全计算MPC,将所述转置向量与所述其他方的均值行向量进行乘操作得到第二均值子矩阵,将所述其他方的转置向量与所述均值行向量进行乘操作得到第三均值子矩阵;
[0017]基于所述第一均值子矩阵、所述第二均值子矩阵、所述第三均值子矩阵和所述其他方的第一均值子矩阵,拼接形成所述均值矩阵。
[0018]进一步地,所述多方为两方;所述基于所述第一均值子矩阵、所述第二均值子矩阵、所述第三均值子矩阵和所述其他方的第一均值子矩阵,拼接形成所述均值矩阵,包括:
[0019]将有待形成的均值矩阵划分为2*2个块形成的方阵;
[0020]用本方的所述第一均值子矩阵填充所述方阵的第1行第1列位置的块,用所述第二均值子矩阵填充所述方阵的第1行第2列位置的块,用所述第三均值子矩阵填充所述方阵的第2行第1列位置的块,用所述其他方的第一均值子矩阵填充所述方阵的第2行第2列位置的块,将填充后的方阵作为所述均值矩阵。
[0021]在一种可能的实施方式中,所述样本为用户,所述本地特征包括作为隐私数据的用户属性;所述本地原始矩阵中一列对应一项用户属性,一行对应一个用户。
[0022]在一种可能的实施方式中,所述多方为两方;所述基于所述第一矩阵、所述第二矩阵、所述第三矩阵和所述其他方的第一矩阵,拼接形成当前批次的合并矩阵,包括:
[0023]将有待形成的合并矩阵划分为2*2个块形成的方阵;
[0024]用本方的所述第一矩阵填充所述方阵的第1行第1列位置的块,用所述第二矩阵填充所述方阵的第1行第2列位置的块,用所述第三矩阵填充所述方阵的第2行第1列位置的块,用所述其他方的第一矩阵填充所述方阵的第2行第2列位置的块,将填充后的方阵作为所述合并矩阵。
[0025]第二方面,提供了一种保护隐私的多方联合降维处理的装置,所述多方中的各方各自存储有N个样本的不同特征部分;所述装置设置于多方中的任一方,包括:
[0026]构建单元,用于采用批处理的方式,按照预定的样本顺序,读取当前批次的M个样本的本地特征,构建本方原始矩阵;其中,M小于N;
[0027]合并处理单元,用于本地计算所述构建单元构建的本方原始矩阵的转置矩阵与其自身相乘得到的第一矩阵,并利用多方安全计算MPC,将所述本方原始矩阵的转置矩阵与其他方的原始矩阵进行乘操作得到第二矩阵,将所述其他方的原始矩阵的转置矩阵与所述本方原始矩阵进行乘操作得到第三矩阵;基于所述第一矩阵、所述第二矩阵、所述第三矩阵和所述其他方的第一矩阵,拼接形成当前批次的合并矩阵;
[0028]均值处理单元,用于针对所述合并处理单元得到的合并矩阵进行均值处理,得到中心矩阵;
[0029]累加单元,用于对各个批次的所述均值处理单元得到的中心矩阵进行累加运算,得到N个样本对应的协方差矩阵;
[0030]降维处理单元,用于利用所述累加单元得到的协方差矩阵,针对各个批次的样本特征数据进行多方联合降维处理。
[0031]第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
[0032]第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执
行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
[0033]通过本说明书实施例提供的方法和装置,多方中的任一方首先采用批处理的方式,按照预定的样本顺序,读取当前批次的M个样本的本地特征,构建本方原始矩阵;其中,M小于N;然后针对本方原始矩阵,通过本地计算和与其他方的多方安全计算形成当前批次的合并矩阵;接着针对所述合并矩阵进行均值处理,得到中心矩阵;再对各个批次的中心矩阵进行累加运算,得到N个样本对应的协方差矩阵;最后利用所述协方差矩阵,针对各个批次的样本特征数据进行多方联合降维处理。由上可见,本说明书实施例,与通常的计算协方差矩阵的方式不同,不需要获取全部的N个样本的本地特征,来进行每个维度特征的均值计算,而是针对每个批次的数据,分别进行一系列的处理得到中心矩阵,再对各个批次的中心矩阵进行累加运算,得到N个样本对应的协方差矩阵,由此只需要对N个样本构成的数据集遍历一次,而不需要遍历本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种保护隐私的多方联合降维处理的方法,所述多方中的各方各自存储有N个样本的不同特征部分;所述方法通过多方中的任一方执行,包括:采用批处理的方式,按照预定的样本顺序,读取当前批次的M个样本的本地特征,构建本方原始矩阵;其中,M小于N;本地计算所述本方原始矩阵的转置矩阵与其自身相乘得到的第一矩阵,并利用多方安全计算MPC,将所述本方原始矩阵的转置矩阵与其他方的原始矩阵进行乘操作得到第二矩阵,将所述其他方的原始矩阵的转置矩阵与所述本方原始矩阵进行乘操作得到第三矩阵;基于所述第一矩阵、所述第二矩阵、所述第三矩阵和所述其他方的第一矩阵,拼接形成当前批次的合并矩阵;针对所述合并矩阵进行均值处理,得到中心矩阵;对各个批次的中心矩阵进行累加运算,得到N个样本对应的协方差矩阵;利用所述协方差矩阵,针对各个批次的样本特征数据进行多方联合降维处理。2.如权利要求1所述的方法,其中,所述针对所述合并矩阵进行均值处理,得到中心矩阵,包括:获取均值矩阵,所述均值矩阵基于各方的原始矩阵对应的均值向量而形成,所述均值向量是在对应于特征的维度下求均值而确定;对所述合并矩阵和均值矩阵进行求差运算,得到所述中心矩阵。3.如权利要求2所述的方法,其中,所述本方原始矩阵的一列对应于一项特征;所述获取均值矩阵,包括:本地计算所述本方原始矩阵的均值行向量的转置向量与所述均值行向量的乘积,得到第一均值子矩阵,并利用多方安全计算MPC,将所述转置向量与所述其他方的均值行向量进行乘操作得到第二均值子矩阵,将所述其他方的转置向量与所述均值行向量进行乘操作得到第三均值子矩阵;基于所述第一均值子矩阵、所述第二均值子矩阵、所述第三均值子矩阵和所述其他方的第一均值子矩阵,拼接形成所述均值矩阵。4.根据权利要求3所述的方法,其中,所述多方为两方;所述基于所述第一均值子矩阵、所述第二均值子矩阵、所述第三均值子矩阵和所述其他方的第一均值子矩阵,拼接形成所述均值矩阵,包括:将有待形成的均值矩阵划分为2*2个块形成的方阵;用本方的所述第一均值子矩阵填充所述方阵的第1行第1列位置的块,用所述第二均值子矩阵填充所述方阵的第1行第2列位置的块,用所述第三均值子矩阵填充所述方阵的第2行第1列位置的块,用所述其他方的第一均值子矩阵填充所述方阵的第2行第2列位置的块,将填充后的方阵作为所述均值矩阵。5.根据权利要求1所述的方法,其中,所述样本为用户,所述本地特征包括作为隐私数据的用户属性;所述本地原始矩阵中一列对应一项用户属性,一行对应一个用户。6.根据权利要求1所述的方法,其中,所述多方为两方;所述基于所述第一矩阵、所述第二矩阵、所述第三矩阵和所述其他方的第一矩阵,拼接形成当前批次的合并矩阵,包括:将有待形成的合并矩阵划分为2*2个块形成的方阵;用本方的所述第一矩阵填充所述方阵的第1行第1列位置的块,用所述第二矩阵填充所
述方阵的第1行第2列位置的块,用所述第三矩阵填充所述方阵的第2行第1列位置的块,用所述其他方的第一矩阵填充所述方阵的第2行第2列位置的块,将填充后的方阵作为所述合并矩阵。7.一种保护隐私的多方联合降维处理的装置,所述多方中的各方各自存储有N个样本的不同特征部分;所述装置设置于多方中的任一方,包括:构建单元,用于采用批处理的方式,按照预定的样本顺序,读取当前批...

【专利技术属性】
技术研发人员:郑宇张祺智李漓春殷山
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1