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

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

Info

Publication number
CN110889139A
CN110889139A CN201911174422.XA CN201911174422A CN110889139A CN 110889139 A CN110889139 A CN 110889139A CN 201911174422 A CN201911174422 A CN 201911174422A CN 110889139 A CN110889139 A CN 110889139A
Authority
CN
China
Prior art keywords
matrix
kth
holding
party
transformation
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
CN201911174422.XA
Other languages
English (en)
Other versions
CN110889139B (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 CN201911174422.XA priority Critical patent/CN110889139B/zh
Publication of CN110889139A publication Critical patent/CN110889139A/zh
Application granted granted Critical
Publication of CN110889139B publication Critical patent/CN110889139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种针对用户隐私数据进行多方联合降维的方法和装置。其中多方中的各个数据持有方本地拥有部分用户数据作为隐私数据。为了保证各个持有方隐私数据安全,将有待基于各方隐私数据形成的协方差矩阵拆解为各个持有方可以本地计算或者可以通过秘密分享的矩阵乘法SMM进行安全计算的矩阵;并且,通过安全多方计算MPC的方式,共同确定出协方差矩阵的本征矩阵。如此,各个持有方可以基于本征矩阵对本地数据进行降维,并最终形成降维的用户特征数据。通过这样的方式,确保了用户隐私数据的安全。

Description

针对用户隐私数据进行多方联合降维处理的方法及装置
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及针对隐私数据进行多方联合降维的方法和装置。
背景技术
机器学***台、多个领域。例如在基于机器学***台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,如何在保证数据***露的前提下将分散在各个平台的数据整合在一起成为一项挑战。
另一方面,随着数据量的增多,各种训练数据的维度变得越来越大。高维度的大量数据尽管可以丰富机器学习的训练样本数据,但是实际上,这些高维数据往往存在一些冗余信息。冗余信息对机器学习效果的帮助十分有限,但是造成的高维特征数据有可能引起“维度***”,使得机器学习模型难以处理,影响模型的训练效率。因此,在进行模型训练和使用时,常常对高维样本特征进行降维处理,在尽量不损失信息量的情况下,将其转化为低维特征。
主成分分析PCA(Principal component analysis)方法,是一种统计分析、简化数据集的方法,它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分。主成分分析可以用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。因此,实践中,常常采用PCA方法对高维特征进行降维。
然而,主成分分析PCA方法一般需要针对全部数据进行统一的变换和主成分提取。在多方共同拥有部分训练数据,希望联合进行模型训练的情况下,如何在***露隐私数据的前提下,采用PCA方法进行特征降维,成为有待解决的问题。
因此,希望能有改进的方案,可以针对隐私数据进行多方联合降维,同时保证隐私数据的安全***露。
发明内容
本说明书一个或多个实施例描述了针对隐私数据进行多方联合降维的方法,使得多方共同进行特征降维,同时保证各自隐私数据的安全***露。
根据第一方面,提供了一种针对用户隐私数据进行多方联合降维处理的方法,所述方法通过M个数据持有方中任意的第k持有方执行,所述第k持有方存储有N个用户的多项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有所述N个用户的其他项用户属性的属性值;所述方法包括:
按照预定的用户顺序,基于所述N个用户的多项用户属性的属性值,构建第k原始矩阵;
在本地对所述多项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
本地计算所述第k中心矩阵与其转置矩阵相乘得到的第一矩阵,并利用秘密分享的矩阵乘法SMM,分别与所述M-1个其他持有方基于各自的中心矩阵进行乘操作得到多个第二矩阵;基于所述第一矩阵和所述多个第二矩阵,拼接形成第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和,构成所述联合矩阵对应的协方差矩阵;
基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度d’,确定出降维变换矩阵,并确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵;
利用所述第k降维变换子阵处理所述第k原始矩阵,得到第k降维矩阵;
利用所述MPC方式,对各个持有方中的降维矩阵求和,得到对所述N个用户的全部用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
根据一种实施方式,所述第k原始矩阵中一行对应一项属性,一列对应一个用户;在这样的情况下,零均值化处理可以包括,对于所述第k原始矩阵的每一行,计算该行的均值,将该行的所有元素减去该均值,从而得到所述第k中心矩阵。
在一个实施例中,所述联合矩阵为,假定第k中心矩阵与所述M-1个其他持有方各自对应的中心矩阵进行纵向拼接所形成的矩阵。
根据一种实施方式,第k分解矩阵通过以下方式拼接得到:
将有待形成的第k分解矩阵划分为M*M个块形成的方阵;
用所述第一矩阵填充所述方阵的第k行第k列位置的块,用与其他持有方共同计算的所述多个第二矩阵分别对应填充第k行以及第k列的其他位置的块,用0填充方阵中所有其余位置的块,将填充后的方阵作为所述第k分解矩阵。
在一个实施例中,所述协方差矩阵中非对角线上各个位置包括第一位置;可以通过以下方式确定第一位置对应的平面旋转矩阵:
确定将所述第一位置分别横向和纵向映射到对角线上得到的第二位置和第三位置;
获取前次迭代后所述协方差矩阵中所述第二位置的元素值与所述第三位置的元素值之差的第二计算结果,该第二计算结果由所述M个数据持有方中第二持有方和第三持有方通过秘密分享的加法得到,所述第二持有方拥有所述第二位置的元素值,所述第三持有方拥有所述第三位置的元素值;
利用秘密分享的乘法,与持有所述第一位置的元素值的第一持有方共同得到第一计算结果,该第一计算结果为所述第一位置的元素值与所述第二计算结果的比值;
根据所述第一计算结果,得到平面旋转矩阵的旋转角度参数,进而确定与第一位置对应的平面旋转矩阵。
在一个实施例中,如下确定出降维变换矩阵:
将所述M个数据持有方分别得到的变换矩阵求和,得到和矩阵,将该和矩阵对角线上的元素确定为所述协方差矩阵的多个本征值;
将所述各个平面旋转矩阵进行相乘叠加,得到本征矩阵;
从所述多个本征值中,确定出值较大的前d’个本征值作为目标本征值,并从所述本征矩阵中,确定出与所述目标本征值对应的d’个本征向量;所述d’个本征向量构成所述降维变换矩阵。
根据一种实施方式,确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵包括:
确定所述第k中心矩阵在所述联合矩阵中的排布范围;
从所述降维变换矩阵中,选定与所述排布范围对应的部分,构成所述第k降维变换子阵。
根据第二方面,提供了一种针对用户隐私数据进行多方联合降维处理的方法,所述方法通过M个数据持有方中任意的第k持有方执行,所述第k持有方存储有多个用户的D项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有其他用户的所述D项用户属性的属性值;所述方法包括:
按照预定的用户属性顺序,基于所述多个用户的D项用户属性的属性值,构建第k原始矩阵;
通过安全多方计算MPC,对D项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
本地计算所述第k中心矩阵与其转置矩阵相乘得到的矩阵作为第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和构成所述联合矩阵的协方差矩阵;
基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵;
利用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵;
对各个持有方中的降维矩阵进行拼接,得到对全部用户的D项用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
根据一种实施方式,所述第k原始矩阵中一行对应一项属性,一列对应一个用户;在这样的情况下,零均值化处理过程可以包括:
本地计算第k原始矩阵每行的和值,形成D维的行和值向量;
与其他持有方采用MPC方式,对各个持有方的行和值向量和样本数分别求和,得到总行向量和总样本数;
获得总均值向量,该总均值向量为所述总行向量除以所述总样本数;
针对所述第k原始矩阵中任意的第j行,将该第j行的每个元素均减去所述总均值向量中的第j个元素,从而得到第k中心矩阵。
进一步的,上述总均值向量可以通过以下方式获得:根据所述总行向量和总样本数,计算所述总均值向量;或者,接收其他方广播的所述总均值向量,所述其他方为所述M-1个其他持有方之一;或者,所述其他方为中立的第三方。
在一个实施例中,在所述第k原始矩阵中一行对应一项属性,一列对应一个样本的情况下,所述联合矩阵为,假定第k中心矩阵与所述M-1个其他持有方各自对应的中心矩阵进行横向拼接所形成的矩阵。
根据一种实施方式,协方差矩阵中非对角线上各个位置包括第一位置;可以如下确定第一位置对应的平面旋转矩阵:
确定将所述第一位置分别横向和纵向映射到对角线上得到的第二位置和第三位置;
本地计算前次迭代后第k分解矩阵中第二位置的元素和第三位置的元素之差,得到第k差值;并利用秘密分享的加法,与其他持有方协同计算各个持有方计算的差值之和,从而得到第二计算结果;
基于前次迭代后第k分解矩阵中所述第一位置的元素,采用秘密分享的加法,得到各个持有方对应的第一位置的元素和值;
计算所述元素和值与所述第二计算结果的比值,作为第一计算结果;
根据所述第一计算结果,得到平面旋转矩阵的旋转角度参数,进而确定该第一位置对应的平面旋转矩阵。
根据一种实施方式,如下确定出降维变换矩阵:
将所述M个数据持有方分别得到的变换矩阵求和,得到和矩阵,将该和矩阵对角线上的元素确定为所述协方差矩阵的多个本征值;
将所述各个平面旋转矩阵进行相乘叠加,得到本征矩阵;
从所述多个本征值中,确定出值较大的前d’个本征值作为目标本征值,并从所述本征矩阵中,确定出与所述目标本征值对应的d’个本征向量;所述d’个本征向量构成所述降维变换矩阵。
在一个实施例中,通过将各个持有方的经过转置的降维矩阵进行纵向拼接,得到所述总降维矩阵。
根据第三方面,提供了一种针对用户隐私数据进行多方联合降维处理的装置,所述装置部署在M个数据持有方中任意的第k持有方中,所述第k持有方存储有N个用户的多项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有所述N个用户的其他项用户属性的属性值;所述装置包括:
原始矩阵构建单元,配置为按照预定的用户顺序,基于所述N个用户的多项用户属性的属性值,构建第k原始矩阵;
中心化处理单元,配置为在本地对所述多项属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
分解矩阵形成单元,配置为本地计算所述第k中心矩阵与其转置矩阵相乘得到的第一矩阵,并利用秘密分享的矩阵乘法SMM,分别与所述M-1个其他持有方基于各自的中心矩阵进行乘操作得到多个第二矩阵;基于所述第一矩阵和所述多个第二矩阵,拼接形成第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和,构成所述联合矩阵对应的协方差矩阵;
旋转变换单元,配置为基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
降维矩阵确定单元,配置为基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度d’,确定出降维变换矩阵,并确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵;
降维处理单元,配置为利用所述第k降维变换子阵处理所述第k原始矩阵,得到第k降维矩阵;
降维综合单元,配置为利用所述MPC方式,对各个持有方中的降维矩阵求和,得到对所述N个用户的全部属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
根据第四方面,提供了一种针对用户隐私数据进行多方联合降维的装置,所述装置部署在M个数据持有方中任意的第k持有方中,所述第k持有方存储有多个用户的D项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有其他用户的所述D项用户属性的属性值;所述装置包括:
原始矩阵构建单元,配置为按照预定的用户属性顺序,基于所述多个用户的D项用户属性的属性值,构建第k原始矩阵;
中心化处理单元,配置为通过安全多方计算MPC,对D项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
分解矩阵形成单元,配置为本地计算所述第k中心矩阵与其转置矩阵相乘得到的矩阵作为第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和构成所述联合矩阵的协方差矩阵;
旋转变换单元,配置为基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
降维矩阵确定单元,配置为基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵;
降维处理单元,配置为利用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵;
降维综合单元,配置为对各个持有方中的降维矩阵进行拼接,得到对全部用户的D项用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,为了保证各个持有方隐私数据安全,将有待形成的协方差矩阵拆解为各个持有方可以本地计算,或者可以通过秘密分享的矩阵乘法进行安全计算的分解矩阵;并且,通过安全多方计算MPC的方式,共同确定出协方差矩阵的本征矩阵。如此,各个持有方可以基于本征矩阵对本地数据进行降维,并最终形成总体的降维后的用户特征数据。通过这样的方式,确保了隐私数据的安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出主成分分析PCA方法的执行过程;
图3示出根据一个实施例适用于数据纵向分布的联合降维方法的流程图;
图4示出根据一个实施例适用于数据横向分布的联合降维方法的流程图;
图5示出根据一个实施例的部署在第k持有方中用于联合降维的装置的示意性框图;
图6示出根据一个实施例的部署在第k持有方中用于联合降维的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,在共享学习场景下,训练数据由多个持有方1,2,…,M共同提供,每个持有方拥有训练数据的一部分。训练数据可以是纵向分布,例如,各个持有方拥有同一批样本的不同属性项目的数据;也可以是横向分布,例如,各个持有方拥有不同样本的相同属性项的数据。为了隐私数据的安全,各个持有方需要将其隐私数据留在本地,不输出明文数据,不进行明文聚合。
在本说明书一个实施例的场景下,以上多个持有方采用主成分分析PCA方法,联合进行训练数据的降维。如本领域技术人员所知,PCA方法的核心步骤是基于待降维的数据矩阵形成协方差矩阵,并求解该协方差矩阵的本征值和本征向量。在本说明书的实施例中,为了保证各个持有方隐私数据安全,将有待形成的协方差矩阵拆解为各个持有方可以本地计算的分解矩阵,进行本地计算;并且,通过安全多方计算MPC的方式,共同确定出协方差矩阵的本征矩阵。如此,各个持有方可以基于本征矩阵对本地数据进行降维,并最终形成总体的降维数据。
为了更清楚地描述以上过程,首先结合图2,描述主成分分析PCA方法的执行过程。
在图2中,假定存在N个样本的D维特征数据,每维特征数据可以对应样本的一项属性的属性值。假定希望将D维特征降维为d’维,其中d’<D。
那么首先在步骤201,可以基于上述N个样本的D维特征数据,形成N*D维的原始矩阵Y。例如,可以用一行表示一项属性,用一列表示一个样本,如此形成N列D行的原始矩阵Y。
接着在步骤202,对该原始矩阵进行零均值化处理,或称为中心化处理,得到中心矩阵X。中心化处理的目标是使得,针对D维属性中任意一项属性,所有N个样本在该属性上的属性值的均值为0。操作上,对于属性j,可以先求得所有N个样本对于属性j的属性值的均值,然后在原始矩阵中将与该属性j对应的元素减去该均值。例如,在一行表示一项属性的情况下,对于原始矩阵的每一行,求得该行的均值,然后将该行的每个元素减去对应均值,即得到零均值化的中心矩阵X。
然后,在步骤203,计算协方差矩阵A,具体地,A=XXT,其中XT为矩阵X的转置。
接着,在步骤204,求解协方差矩阵A的本征值λ(eigen value)和本征向量v(eigenvector)。数学上,协方差矩阵A的本征值λ和本征向量v满足:
Av=λv (1)协方差矩阵为对称矩阵,存在多个本征值和对应的多个本征向量,这多个本征向量之间彼此正交。可以通过多种算法求解出协方差矩阵的本征值和本征向量。多个本征向量可以构成本征矩阵。
基于以上得出的多个本征值和多个本征向量,在步骤205,确定出降维变换矩阵T。
需要理解,在物理含义上,一个本征向量意味着在原始D维空间中的一个投影方向。多个本征向量之间彼此正交,意味着该多个投影方向之间彼此正交。而PCA特征降维的本质即为,在原始D维空间中找出d’个彼此正交的投影方向作为d’个坐标方向,将原始样本点投影到该d’个坐标方向构成的d’维映射空间中,使得投影后样本点的方差尽可能大。在各个方向投影后的方差可以通过本征值体现。
基于这样的思想,对于得到的多个本征值,可以按照从大到小的顺序排序,取出前d’个本征值作为目标本征值,进而可以确定出与该d’个目标本征值对应的d’个本征向量。该d’个本征向量即对应于降维选定的d’个坐标方向。上述d’个本征向量构成降维变换矩阵T。
于是,在步骤205,通过对原始矩阵Y施加降维变换矩阵T,就可以得到降维后的矩阵Y′,该矩阵Y′为N*d’维。如此,将原始矩阵Y变换为矩阵Y′,相当于将原本的D维特征降维为d’维。
在进行主成分分析PCA的过程中,可以通过多种方式执行步骤204,求解协方差矩阵的本征值和本征向量,其中包括本征值分解的方式。
本征值分解的目标是找到一个正交矩阵U,使得:
UTAU=D (2)
其中,D为对角矩阵,也就是非对角线上的元素均为0。在这样的情况下,对角矩阵D对角线上的第j个元素即为第j个本征值,矩阵U中第j列的向量即为对应的本征向量。
在实践中,可以采用雅克比迭代的方式,寻找上述正交矩阵。在雅克比迭代方案中,每次迭代选取一个平面旋转矩阵Pij对协方差矩阵A进行变换,即:
Figure BDA0002289593470000121
其中,Al为第I次迭代的协方差矩阵,Al+1为第I+1次迭代的协方差矩阵;并且,平面旋转矩阵Pij满足以下形式:
Figure BDA0002289593470000122
其中,对角线上除了i行i列,j行j列外都为1,矩阵中未示出的其余元素为0。容易验证,平面旋转矩阵Pij为正交矩阵。
实践操作中,可以如下选定具体的平面旋转矩阵。
对于第I次迭代的协方差矩阵Al,可以从中确定出有待处理的元素位置(i,j),例如可以选择Al中非对角线上绝对值最大的元素aij,确定其对应位置(i,j)。然后,从Al中取出元素aij,aii和ajj,进行以下计算:
Figure BDA0002289593470000131
通过以上公式(4),可以计算得出旋转角度θ,进而得出sinθ,cosθ,填充到相应的位置,于是确定出具体的平面旋转矩阵Pij
当使用以上形式的若干个平面旋转矩阵对协方差矩阵不断进行迭代,可以使得协方差矩阵中主对角线外的元素逐渐趋于零,直到得到对角矩阵D,此时,就可以根据对角矩阵D得到本征值,并将若干个平面旋转矩阵的累积,作为前述正交矩阵U,进而确定出各个本征向量。
以上描述了PCA方法中,通过对协方差矩阵分解本征值,而将N*D维原始矩阵进行降维的过程。然而,在图1所示的共享学习的场景下,各个数据持有方各自持有一部分样本数据,且无法进行明文聚合,因此无法直接形成表示全部样本数据的全矩阵,也就难以直接获得协方差矩阵,进而对其进行求解。
为此,在本说明书的实施例中,将有待形成的协方差矩阵拆解为各个持有方可以本地计算的分解矩阵,进行本地计算;然后通过安全多方计算MPC的方式,共同确定出协方差矩阵的本征矩阵,从而进行联合降维。
下面分别针对数据纵向分布和横向分布的情况,描述联合降维的具体实施步骤。
图3示出根据一个实施例的联合降维的方法流程图,该方法流程适用于数据纵向分布的情况。
假定存在M个数据持有方。在数据纵向分布的情况下,每个持有方拥有同一批样本的不同属性特征数据。例如,在一个具体例子中,M个数据持有方中的某一个为电子支付平台。该平台拥有N个用户的与交易流水相关的属性的属性值,这些属性例如包括,支付笔数,支付金额,支付对象,等等。M个数据持有方的另一持有方例如为银行机构,该机构拥有上述N个用户的与借贷相关的属性的属性值,例如包括,借款金额,借款次数,已还金额,等等。如此,同一批样本(用户)的不同属性数据纵向分布于不同的数据持有方。
图3的方法通过M个数据持有方中任意一个持有方,例如第k持有方执行。相应的,该第k持有方存储有N个样本的Dk项属性的属性值,其他持有方分别存储有N个同样样本的其他项属性的属性值。
为了进行联合降维,如图3所示,首先在步骤301,第k持有方按照预定的样本顺序,基于N个样本的Dk项属性的属性值,构建第k原始矩阵Yk
需要理解,由于各个持有方拥有同一批N个样本的不同属性数据,为了便于后续处理,各个持有方需要在样本的维度上进行对齐,也就是统一样本的顺序,均按照预定的样本顺序来排布属性数据。
在一个实施例中,在形成原始矩阵时,用每行代表一个属性,每列表示一个样本。如此,第k持有方形成Dk*N维的原始矩阵。以下的描述均结合此种矩阵排布方式描述。
可以理解,各个持有方均类似的形成原始矩阵。如果将各个持有方的原始矩阵沿着纵向拼接,可以形成原始全矩阵Y:
Figure BDA0002289593470000141
该原始全矩阵为D*N维矩阵,其中每行表示一项属性,共有D行;每列表示一个样本,共有N列,其中D为全部属性项数:
Figure BDA0002289593470000142
并且各行之间针对样本顺序已进行对齐。
然而应理解,由于各个持有方并不进行原始数据的明文直接聚合,该原始全矩阵只是为了描述方便假定形成的矩阵。
接着,在步骤302,第k持有方在本地对Dk项属性中的每项属性进行零均值化处理,得到第k中心矩阵Xk
可以理解,对于Dk项属性中的每项属性j,第k持有方本地拥有所有N个样本针对该属性j的属性值,因此,针对该项属性的零均值化处理可以在第k持有方本地进行。
在用行表示属性的情况下,对于原始矩阵Yk的每一行,可以计算该行的均值,再将该行的所有元素减去该均值,从而得到零均值的中心矩阵Xk
可以理解,各个持有方均类似的进行零均值化处理,得到对应的中心矩阵。如果将各个持有方的中心矩阵沿着纵向拼接,可以形成联合矩阵X:
Figure BDA0002289593470000151
该联合矩阵同样为D*N维矩阵。
需要理解,该联合矩阵为零均值化的矩阵,可以作为计算多方联合的协方差矩阵的基础。但是,由于中心矩阵仍然会泄露隐私,因此,各个持有方无法直接将中心矩阵进行拼接。该联合矩阵只是为了描述方便假定形成的矩阵。
在假定形成上述联合矩阵后,可以如下计算协方差矩阵C=XXT
Figure BDA0002289593470000152
可以理解,该协方差矩阵为D*D维的方阵。
通过公式(8)最右侧的表示可以看到,协方差矩阵可以划分为M*M个矩阵相乘得到的块,其中第k行和第k列的块,均与第k持有方的中心矩阵Xk有关。因此,可以设想将协方差矩阵C拆分为持有方可以安全计算的若干分解矩阵。
具体的,在步骤303,第k持有方可以本地计算第k中心矩阵Xk与其转置矩阵
Figure BDA0002289593470000153
相乘得到的矩阵
Figure BDA0002289593470000154
简单起见,将其称为第一矩阵。
此外,第k持有方还可以利用秘密分享的矩阵乘法SMM,分别与其他持有方j基于各自的中心矩阵进行乘操作,得到多个交叉矩阵或简单起见称为第二矩阵。第k持有方与其他的第j持有方进行SMM乘操作可以得到的第二矩阵包括,第k中心矩阵Xk与第j中心矩阵的转置的乘积
Figure BDA0002289593470000161
以及第j中心矩阵与第k中心矩阵的转置的乘积
Figure BDA0002289593470000162
于是,第k持有方可以基于上述第一矩阵和多个第二矩阵进行拼接,形成第k分解矩阵Ck
Figure BDA0002289593470000163
也就是说,将分解矩阵也对应划分为M*M个待填充块形成的方阵,用第一矩阵
Figure BDA0002289593470000164
填充方阵中第k行第k列位置的块,用与其他持有方共同计算的第二矩阵
Figure BDA0002289593470000165
Figure BDA0002289593470000166
分别对应填充第k行以及第k列的其他位置的块;方阵中其余位置的块用0填充。
可以理解,其他持有方也可以对应地得到其分解矩阵。容易验证,所有持有方中对应的分解矩阵之和,可以构成或还原联合矩阵X对应的协方差矩阵C,即:
C=C1+C2+…+CM (10)在以上第k持有方构建第k分解矩阵过程中,需要利用秘密分享的矩阵乘法SMM。SMM方法是一种已知的隐私保护的矩阵相乘方式,可以在双方***露原始矩阵数据的情况下,得到矩阵相乘的结果。下面简单描述这一过程。
假定第一持有方拥有矩阵A,第二持有方拥有矩阵B。第一持有方和第二持有方可以分别生成随机矩阵A′和B′。
第一持有方从随机矩阵A′中抽取偶数列,形成A′e,抽取奇数列,形成A′o
第二持有方从随机矩阵B′中抽取偶数行,形成B′e,抽取奇数行,形成B′o
第一持有方计算A1和A2,并将其发送给第二持有方,其中:
A1=A+A′;A2=A′e+A′o (11)
第二持有方计算B1和B2,并将其发送给第一持有方,其中:
B1=B′-B;B2=B′e-B′o (12)
第一持有方本地计算P=(A+2A′)B1+(A2+A′o)B2
第二持有方本地计算Q=A1(2B-B′)-A2(B2+B′e)
然后第一持有方和第二持有方交换P和Q。可以验证:P+Q=AB
于是,两个持有方在不暴露原始矩阵A和B的情况下,得到矩阵相乘的结果。
可以理解,公式(9)中k行和k列中的第二矩阵均可以使用以上SMM方法计算得到。因此,各个持有方均可以计算并拼接得到分解矩阵。然而,分解矩阵和协方差矩阵本身有可能会泄露数据隐私,因此,各个持有方并不直接按照公式(10)聚合形成协方差矩阵C,而是在对其本地的分解矩阵进行分解本征值所需的旋转变换。
于是,在步骤304,第k持有方基于安全多方计算MPC,确定协方差矩阵C中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对第k分解矩阵Ck进行变换,得到第k变换矩阵。
具体地,在本次迭代时,假定选定了协方差矩阵中非对角线上的某个位置(i,j),其中i和j不相等。在实践操作中,不同轮次迭代时,可以依次遍历协方差矩阵中的各个位置。对于当前迭代时选定的位置(i,j),通过安全多方计算MPC,得到
Figure BDA0002289593470000171
的计算结果,称为第一计算结果,其中cij,cii和cjj是上次迭代后假定形成的协方差矩阵中对应位置的元素。
在一个实施例中,可以采用秘密分享的加法和乘法,得到上述第一计算结果。具体的,可以将当前选定的位置,下文称为第一位置(i,j),分别横向和纵向投影到对角线上,得到第二位置(i,i)和第三位置(j,j)。假定第二位置的元素cii位于第二持有方本地维护的分解矩阵中,第三位置的元素cjj位于第三持有方本地维护的分解矩阵中。那么第二持有方和第三持有方可以利用秘密分享的加法,在不暴露cii和cjj的原始值的情况下,得到cii-cjj的计算结果,称为第二计算结果。各个持有方可以获取到经过计算后的第二计算结果,然后再利用秘密分享的乘法,与拥有第一位置元素cij的第一持有方共同进行乘法运算,最终得到上述第一计算结果。
在其他实施例中,还可以通过例如同态加密等其他MPC方式,得到上述第一计算结果。
类似于前述公式(4),
Figure BDA0002289593470000181
因此,基于第一计算结果,就可以计算得到旋转角度θ,进而得出sinθ,cosθ,于是确定出当前轮迭代中对应于位置(i,j)平面旋转矩阵Pij
Figure BDA0002289593470000182
在基于MPC方式得到平面旋转矩阵Pij的基础上,各个持有方可以利用该平面旋转矩阵对其本地的分解矩阵进行旋转变换。对于第k持有方来说,即可以执行:
Figure BDA0002289593470000183
于是得到新的矩阵元素:
Figure BDA0002289593470000191
其中,上标(0)表示本次迭代转换前,上标(1)表示本次迭代转换后,下标表示在分解矩阵中的位置。
然后,用C′k代替Ck,进行下一次迭代,直到遍历协方差矩阵中所有位置。在经过各个位置对应的各个平面旋转矩阵的变换后,第k持有方得到第k变换矩阵C′k
接着,在步骤305,基于M个数据持有方分别得到的变换矩阵之和,各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵。
可以理解,经过平面旋转矩阵的多次旋转,各个持有方的变换矩阵不再含有隐私信息,可以直接进行聚合。因此,可以直接计算M个数据持有方分别得到的变换矩阵之和,得到和矩阵C′:
C′=C′1+C′2+…+C′M (15)
当然,安全起见,该步骤中也可以采用秘密分享的加法,得到上述和矩阵C′。
可以理解,由于各个分解矩阵之和为协方差矩阵C,因此,对各个分解矩阵进行旋转变换后的变换矩阵之和C′,就相当于对协方差矩阵C施加前述的旋转变换后得到的矩阵。经过多个平面旋转矩阵的旋转变换,协方差矩阵中非对角元素将逐渐趋于零。因此,最后得到的矩阵C′为D*D维的对角矩阵,或近似对角矩阵。于是,可以将和矩阵C′中对角线上的元素,确定为协方差矩阵的D个本征值,如前所述,D为各个持有方的属性项数目之和,
Figure BDA0002289593470000192
相应地,根据上述各个平面旋转矩阵,可以得到本征矩阵P:
P=ΠPij (16)即,本征矩阵P为各个平面旋转矩阵的连乘的结果。
基于从矩阵C′中确定出的本征值,本征矩阵P,以及降维的目标维度d’,可以确定出降维变换矩阵T,其中目标维度d’<D。
具体地,可以从矩阵C′得到的D个本征值中,取出较大的前d’个本征值作为目标本征值,并从本征矩阵P中确定出与该d’个目标本征值对应的d’个本征向量。该d’个本征向量即构成降维变换矩阵T。该降维变换矩阵T的维度为d′*D维。
在数据纵向分布的情况下,第k持有方还从上述降维变换矩阵T中,确定出与本持有方对应的第k降维变换子阵Tk。可以理解,在样本的总属性数目D中,第k持有方持有其中的Dk项,对应于原始全矩阵中第k范围的Dk行。该第k范围也就是,第k持有方的第k中心矩阵Xk在联合矩阵X中的排布范围。于是,可以从降维变换矩阵T的D列中,选定与上述排布范围对应的部分,构成第k降维变换子阵Tk。这相当于将降维变换矩阵T按照列,拆分为适用于各个持有方的各个变换子阵。相应的,第k持有方对应的第k降维变换子阵Tk维度为d′*Dk
然后,在步骤306,第k持有方利用上述第k降维变换子阵Tk处理本地拥有的第k原始矩阵Yk,得到第k降维矩阵Y′k,即:
Y′k=TkYk (17)
由于Tk维度为d′*Dk,而Yk维度为Dk*N,可以推知,第k降维矩阵Y′k的维度为d′*N。
接着,在步骤307,利用MPC方式,对各个持有方中的降维矩阵求和,得到对N个样本的全部属性进行降维处理后的总降维矩阵Y′:
Figure BDA0002289593470000201
具体地,可以采用秘密分享的加法,各个持有方共同计算降维矩阵同一相应位置的元素之和,从而得到总降维矩阵Y′。
该总降维矩阵Y′维度为d′*N,相当于将原始全矩阵Y中的D项属性特征压缩降维到d′。总降维矩阵Y′于是可以用于各个持有方共同进行高效的机器学习。
具体的,在样本为用户的情况下,总降维矩阵即为经过降维的用户特征矩阵,该用户特征矩阵包括各个用户的降维特征表达。利用这样的用户特征矩阵,可以有效地进行用户分析,例如采用机器学习的方式,预测用户类别,分析用户所属人群,等等,从而为用户提供服务。
可以看到,在以上降维处理的过程中,各个数据持有方不会泄露原始隐私数据,从而实现隐私保护的联合降维处理。
以上结合原始矩阵中以行表示属性,以列表示样本的具体表达形式进行了描述。可以理解,行和列也可以进行互换。也就是说,在另一种实施方式中,在形成原始矩阵时,可以使得一行对应一个样本,一列对应一个属性。如此,各个数据持有方各自的原始矩阵Yk需要进行横向拼接,以形成原始全矩阵。后续,在进行零均值化时,对每列进行零均值化处理。在假设进行协方差矩阵的计算时,可以使得协方差矩阵C=XTX。后续步骤303-307的执行与前述相似,只是进行行列互换。
以上描述了数据纵向分布情况下,多个数据持有方联合进行特征降维的过程。下面针对数据横向分布的情况进行描述。
图4示出根据一个实施例的联合降维的方法流程图,该方法流程适用于数据横向部分的情况。
假定存在M个数据持有方。在数据横向分布的情况下,每个持有方拥有不同样本的相同属性项的特征数据。例如,在一个具体例子中,M个数据持有方中的某一个为一个社交平台,拥有n个用户的用户基本属性特征,这些属性包括,用户id,年龄,性别,职业,地区。M个数据持有方的另一持有方例如为另一社交平台,该平台拥有另外的m个用户的上述用户基本属性特征。如此,不同用户的相同属性项的特征数据横向分布于不同的数据持有方。
图4的方法通过M个数据持有方中任意一个持有方,例如第k持有方执行。相应的,该第k持有方存储有Nk个样本的D项属性的属性值,其他持有方分别存储有其他样本的上述D项属性的属性值。
为了进行联合降维,如图4所示,首先在步骤401,第k持有方按照预定的属性顺序,基于Nk个样本的D项属性的属性值,构建第k原始矩阵Yk
需要理解,由于各个持有方拥有不同样本的相同属性项数据,为了便于后续处理,各个持有方需要在属性的维度上进行对齐,也就是统一属性的顺序,均按照预定的属性顺序来排布样本数据。
在一个实施例中,在形成原始矩阵时,用每行代表一个属性,每列表示一个样本。如此,第k持有方形成D*Nk维的原始矩阵。以下的描述均结合此种矩阵排布方式描述。
可以理解,各个持有方均类似的形成原始矩阵。如果将各个持有方的原始矩阵沿着横向拼接,可以形成原始全矩阵Y:
Y=(Y1Y2…YM) (19)
该原始全矩阵为D*N维矩阵,其中每行表示一项属性,共有D行;每列表示一个样本,共有N列,其中N为全部样本数目,
Figure BDA0002289593470000221
并且各列之间针对属性顺序已进行对齐。
如前所述,各个持有方并不进行原始数据的明文直接聚合,该原始全矩阵只是为了描述方便假定形成的矩阵。
接着,在步骤402,第k持有方通过安全多方计算MPC,对D项属性中的每项属性进行零均值化,得到第k中心矩阵Xk
需要理解,不同于数据纵向分布的情况,在数据横向分布的情况下,对于D项属性中的任意属性项j,第k持有方只是拥有Nk个样本针对该属性的属性值,而零均值化则需要针对所有N个样本针对该属性j的属性值进行计算。因此,在该步骤中,需要使用MPC的方式,连同其他数据持有方,共同进行零均值化处理。
具体地,在行表示属性的情况下,针对D行中的各个行,第k持有方可以本地计算该行的和值,于是形成D维的行和值向量Sk
然后,第k持有方与其他持有方采用MPC方式,对各个持有方的行和值向量和样本数分别求和,得到总行向量S和总样本数N,其中:
Figure BDA0002289593470000231
总样本数N采用前述公式(20)计算。
以上MPC方式具体可以采用秘密分享的加法实现。
然后,中立的第三方或者M个持有方中的任一方可以计算总均值向量
Figure BDA0002289593470000232
Figure BDA0002289593470000233
该总均值向量
Figure BDA0002289593470000234
为D维向量,其中第j个元素表示原始全矩阵Y中第j行的平均值。
计算该总均值向量
Figure BDA0002289593470000235
的计算方随后将该向量广播至M个持有方中的每个持有方。于是,各个持有方利用该总均值向量进行行零均值化。具体地,对于第k持有方来说,在接收到或计算得到上述总均值向量
Figure BDA0002289593470000236
后,对于其本地的原始矩阵Yk的第j行,将第j行的每个元素均减去总均值向量中的第j个元素,于是得到第k中心矩阵Xk
可以理解,各个持有方均类似的进行零均值化处理,得到对应的中心矩阵。如果将各个持有方的中心矩阵沿着横向拼接,可以形成联合矩阵X:
X=(X1X2...XM) (23)
该联合矩阵为D*N维矩阵,且为零均值化的矩阵。如前所述,由于中心矩阵会泄露隐私,因此,各个持有方无法直接将中心矩阵进行拼接。该联合矩阵只是为了描述方便假定形成的矩阵。
在假定形成上述联合矩阵后,可以如下计算协方差矩阵C=XXT
Figure BDA0002289593470000241
可以理解,该协方差矩阵为D*D维的方阵。
通过公式(24)最右侧的表示可以看到,协方差矩阵可以分解为M个本地计算的分解矩阵。
因此,在步骤403,第k持有方可以本地计算第k中心矩阵Xk与其转置矩阵
Figure BDA0002289593470000242
相乘得到的矩阵
Figure BDA0002289593470000243
形成第k分解矩阵Ck
Figure BDA0002289593470000244
可以理解,其他持有方也可以对应地得到其分解矩阵。此时,所有持有方中对应的分解矩阵之和,可以构成或还原联合矩阵X对应的协方差矩阵C,即:
C=C1+C2+…+CM (26)
接下来,与图3的方式类似的,在步骤404,第k持有方基于安全多方计算MPC,确定协方差矩阵C中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对第k分解矩阵Ck进行变换,得到第k变换矩阵。
具体地,可以依次遍历协方差矩阵中的各个位置。对于当前迭代时选定的位置(i,j),通过安全多方计算MPC,得到
Figure BDA0002289593470000245
的计算结果,称为第一计算结果,其中cij,cii和cjj是上次迭代后假定形成的协方差矩阵中对应位置的元素。
在一个实施例中,可以采用秘密分享的方式,得到上述第一计算结果。与数据纵向分布的情况不同的,在数据横向分布的情况下,根据公式(25)和(26),协方差矩阵中每个位置的元素均为各个持有方的分解矩阵中同一位置元素的求和。因此,在一种实施方案中,在求解上述第一计算结果时,首先将当前迭代选定的位置(i,j)(简单起见称为第一位置)沿横向和纵向分别映射到对角线上,得到第二位置(i,i)和第三位置(j,j)。第k持有方本地计算上次迭代后第k分解矩阵中第二位置的元素和第三位置的元素之差,得到第k差值。然后,采用秘密分享的加法,各个持有方协同计算出上述差值之和,从而得到第二计算结果cii-cjj。然后,各持有方基于本地的分解矩阵中第一位置的元素,采用秘密分享的加法,得到第一位置的元素和值,该和值与所述第二计算结果的比值,即为上述第一计算结果。
在其他实施例中,还可以通过例如同态加密等其他MPC方式,得到上述第一计算结果。
如前述公式(4)所示,基于第一计算结果,就可以计算得到旋转角度θ,进而得出sinθ,coSθ,于是确定出当前轮迭代中对应于位置(i,j)平面旋转矩阵Pij
Figure BDA0002289593470000251
在基于MPC方式得到平面旋转矩阵Pij的基础上,各个持有方可以利用该平面旋转矩阵对其本地的分解矩阵进行旋转变换。对于第k持有方来说,即可以执行:
Figure BDA0002289593470000252
然后,用C′k代替Ck,进行下一次迭代,直到遍历协方差矩阵中所有位置。在经过各个位置对应的各个平面旋转矩阵的变换后,第k持有方得到第k变换矩阵C′k
接着,在步骤405,基于M个数据持有方分别得到的变换矩阵之和,各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵T。
如前所述,经过平面旋转矩阵的多次旋转,各个持有方的变换矩阵不再含有隐私信息,可以直接进行聚合。因此,可以直接计算M个数据持有方分别得到的变换矩阵之和,得到和矩阵C′:
C′=C′1+C′2+…+C′M (28)
或者,为了进一步安全起见,可以采用秘密分享的加法,得到该和矩阵。该和矩阵C′为D*D维的对角矩阵,或近似对角矩阵,其对角线上的元素可以作为协方差矩阵的D个本征值。
此外,可以根据上述各个平面旋转矩阵,可以得到本征矩阵P:
P=ΠPij (29)
即,本征矩阵P为各个平面旋转矩阵的连乘的结果。
然后,基于从矩阵C′中确定出的本征值,本征矩阵P,以及降维的目标维度d’,可以确定出降维变换矩阵T,其中目标维度d’<D。
类似的,从矩阵C′得到的D个本征值中,取出较大的前d’个本征值作为目标本征值,并从本征矩阵P中确定出与该d’个目标本征值对应的d’个本征向量。该d’个本征向量即构成降维变换矩阵T。该降维变换矩阵T的维度为d′*D维。在数据横向分布的情况下,该降维变换矩阵T可以直接对各个第k持有方的原始矩阵进行变换。
因此,在步骤406,第k持有方利用上述降维变换矩阵T处理本地拥有的第k原始矩阵Yk,得到第k降维矩阵Y′k,即:
Y′k=TYk (30)
由于T维度为d′*D,而Yk维度为D*Nk,可以推知,第k降维矩阵Y′k的维度为d′*Nk
接着,在步骤407,对各个持有方中的降维矩阵进行转置并拼接,得到对全部样本的D项属性进行降维处理后的总降维矩阵Y′:
Figure BDA0002289593470000261
可以理解,第k降维矩阵Y′k经过转置后维度为Nk*d′,因此将各个降维矩阵的转置进行纵向拼接,得到维度为N*d′的总降维矩阵Y′。该总降维矩阵Y′相当于将原始全矩阵Y中的D项属性特征压缩降维到d′。总降维矩阵Y′于是可以用于各个持有方共同进行高效的机器学习。
同样,在以上降维处理的过程中,各个数据持有方不会泄露原始隐私数据,从而实现隐私保护的联合降维处理。
可以理解,以上结合原始矩阵中以行表示属性,以列表示样本的具体表达形式进行了描述。可以理解,行和列也可以进行互换。在另一种实施方式中,在数据横向分布的情况下形成原始矩阵时,可以使得一行对应一个样本,一列对应一个属性。如此,各个数据持有方各自的原始矩阵Yk需要进行纵向拼接,以形成原始全矩阵。后续,在进行零均值化时,对每列进行零均值化处理。在假设进行协方差矩阵的计算时,可以使得协方差矩阵C=XTX。后续步骤403-407的执行与前述相似,只是进行行列互换。
通过以上描述的方式,各个数据持有方可以在***露隐私数据的情况下,联合进行特征降维处理,从而更有效地进行共享机器学习和联合训练。
根据另一方面的实施例,提供了一种针对隐私数据进行多方联合降维的装置,该装置部署在M个数据持有方中任意的第k持有方中,各个持有方可以实现为任何具有数据存储、计算、处理能力的设备、平台或设备集群。图5示出根据一个实施例的部署在第k持有方中用于联合降维的装置的示意性框图。在数据纵向分布的情况下,第k持有方存储有N个样本的多项属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有所述N个样本的其他项属性的属性值。如图5所示,部署在第k持有方中的装置500包括:
原始矩阵构建单元51,配置为按照预定的样本顺序,基于所述N个样本的多项属性的属性值,构建第k原始矩阵;
中心化处理单元52,配置为在本地对所述多项属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
分解矩阵形成单元53,配置为本地计算所述第k中心矩阵与其转置矩阵相乘得到的第一矩阵,并利用秘密分享的矩阵乘法SMM,分别与所述M-1个其他持有方基于各自的中心矩阵进行乘操作得到多个第二矩阵;基于所述第一矩阵和所述多个第二矩阵,拼接形成第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和,构成所述联合矩阵对应的协方差矩阵;
旋转变换单元54,配置为基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
降维矩阵确定单元55,配置为基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度d’,确定出降维变换矩阵,并确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵;
降维处理单元56,配置为利用所述第k降维变换子阵处理所述第k原始矩阵,得到第k降维矩阵;
降维综合单元57,配置为利用所述MPC方式,对各个持有方中的降维矩阵求和,得到对所述N个样本的全部属性进行降维处理后的总降维矩阵。
在一个实施例中,第k原始矩阵中一行对应一项属性,一列对应一个样本。在这样的情况下,所述中心化处理单元52配置为,对于所述第k原始矩阵的每一行,计算该行的均值,将该行的所有元素减去该均值,从而得到所述第k中心矩阵。
相应的,在一个实施例中,所述联合矩阵可以是,假定第k中心矩阵与所述M-1个其他持有方各自对应的中心矩阵进行纵向拼接所形成的矩阵。
根据一种实施方式,分解矩阵形成单元53具体配置为:
将有待形成的第k分解矩阵划分为M*M个块形成的方阵;
用所述第一矩阵填充所述方阵的第k行第k列位置的块,用与其他持有方共同计算的所述多个第二矩阵分别对应填充第k行以及第k列的其他位置的块,用0填充方阵中所有其余位置的块,将填充后的方阵作为所述第k分解矩阵。
在一个实施例中,协方差矩阵中非对角线上各个位置包括第一位置;所述旋转变换单元54具体配置为:
确定将所述第一位置分别横向和纵向映射到对角线上得到的第二位置和第三位置;
获取前次迭代后所述协方差矩阵中所述第二位置的元素值与所述第三位置的元素值之差的第二计算结果,该第二计算结果由所述M个数据持有方中第二持有方和第三持有方通过秘密分享的加法得到,所述第二持有方拥有所述第二位置的元素值,所述第三持有方拥有所述第三位置的元素值;
利用秘密分享的乘法,与持有所述第一位置的元素值的第一持有方共同得到第一计算结果,该第一计算结果为所述第一位置的元素值与所述第二计算结果的比值;
根据所述第一计算结果,得到平面旋转矩阵的旋转角度参数,进而确定与该第一位置对应的平面旋转矩阵。
在一个实施例中,所述降维矩阵确定单元55配置为:
将所述M个数据持有方分别得到的变换矩阵求和,得到和矩阵,将该和矩阵对角线上的元素确定为所述协方差矩阵的多个本征值;
将所述各个平面旋转矩阵进行相乘叠加,得到本征矩阵;
从所述多个本征值中,确定出值较大的前d’个本征值作为目标本征值,并从所述本征矩阵中,确定出与所述目标本征值对应的d’个本征向量;所述d’个本征向量构成所述降维变换矩阵。
在一个实施例中,所述降维矩阵确定单元55还配置为:
确定所述第k中心矩阵在所述联合矩阵中的排布范围;
从所述降维变换矩阵中,选定与所述排布范围对应的部分,构成所述第k降维变换子阵。
根据又一方面的实施例,提供了一种针对隐私数据进行多方联合降维的装置,该装置部署在M个数据持有方中任意的第k持有方中,各个持有方可以实现为任何具有数据存储、计算、处理能力的设备、平台或设备集群。图6示出根据一个实施例的部署在第k持有方中用于联合降维的装置的示意性框图。在数据横向分布的情况下,第k持有方存储有多个样本的D项属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有其他样本的所述D项属性的属性值。如图6所示,部署在第k持有方中的装置600包括:
原始矩阵构建单元61,配置为按照预定的属性顺序,基于所述多个样本的D项属性的属性值,构建第k原始矩阵;
中心化处理单元62,配置为通过安全多方计算MPC,对D项属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
分解矩阵形成单元63,配置为本地计算所述第k中心矩阵与其转置矩阵相乘得到的矩阵作为第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和构成所述联合矩阵的协方差矩阵;
旋转变换单元64,配置为基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
降维矩阵确定单元65,配置为基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵;
降维处理单元66,配置为利用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵;
降维综合单元67,配置为对各个持有方中的降维矩阵进行拼接,得到对全部样本的D项属性进行降维处理后的总降维矩阵。
在一个实施例中,第k原始矩阵中一行对应一项属性,一列对应一个样本。在这样的情况下,中心化处理单元62具体配置为:
本地计算第k原始矩阵每行的和值,形成D维的行和值向量;
与其他持有方采用MPC方式,对各个持有方的行和值向量和样本数分别求和,得到总行向量和总样本数;
获得总均值向量,该总均值向量为所述总行向量除以所述总样本数;
针对所述第k原始矩阵中任意的第j行,将该第j行的每个元素均减去所述总均值向量中的第j个元素,从而得到第k中心矩阵。
进一步的,上述总均值向量可以通过以下方式获得:根据所述总行向量和总样本数,计算所述总均值向量;或者,接收其他方广播的所述总均值向量,所述其他方为所述M-1个其他持有方之一;或者,所述其他方为中立的第三方。
在一个实施例中,在第k原始矩阵中一行对应一项属性,一列对应一个样本的情况下,所述联合矩阵可以为,假定第k中心矩阵与所述M-1个其他持有方各自对应的中心矩阵进行横向拼接所形成的矩阵。
根据一种实施方式,所述协方差矩阵中非对角线上各个位置包括第一位置;所述旋转变换单元64可以配置为:
确定将所述第一位置分别横向和纵向映射到对角线上得到的第二位置和第三位置:
本地计算前次迭代后第k分解矩阵中第二位置的元素和第三位置的元素之差,得到第k差值;并利用秘密分享的加法,与其他持有方协同计算各个持有方计算的差值之和,从而得到第二计算结果;
基于前次迭代后第k分解矩阵中所述第一位置的元素,采用秘密分享的加法,得到各个持有方对应的第一位置的元素和值;
计算所述元素和值与所述第二计算结果的比值,作为第一计算结果;
根据所述第一计算结果,得到平面旋转矩阵的旋转角度参数,进而确定所述第一位置对应的平面旋转矩阵。
在一个实施例中,降维矩阵确定单元65具体配置为:
将所述M个数据持有方分别得到的变换矩阵求和,得到和矩阵,将该和矩阵对角线上的元素确定为所述协方差矩阵的多个本征值;
将所述各个平面旋转矩阵进行相乘叠加,得到本征矩阵;
从所述多个本征值中,确定出值较大的前d’个本征值作为目标本征值,并从所述本征矩阵中,确定出与所述目标本征值对应的d’个本征向量;所述d’个本征向量构成所述降维变换矩阵。
根据一种实施方式,降维综合单元67配置为,将各个持有方的经过转置的降维矩阵进行纵向拼接,得到所述总降维矩阵。
通过以上的装置,实现隐私保护的多方联合降维。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3和图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3和图4所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (18)

1.一种针对用户隐私数据进行多方联合降维处理的方法,所述方法通过M个数据持有方中任意的第k持有方执行,所述第k持有方存储有N个用户的多项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有所述N个用户的其他项用户属性的属性值;所述方法包括:
按照预定的用户顺序,基于所述N个用户的多项用户属性的属性值,构建第k原始矩阵;
在本地对所述多项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
本地计算所述第k中心矩阵与其转置矩阵相乘得到的第一矩阵,并利用秘密分享的矩阵乘法SMM,分别与所述M-1个其他持有方基于各自的中心矩阵进行乘操作得到多个第二矩阵;基于所述第一矩阵和所述多个第二矩阵,拼接形成第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和,构成所述联合矩阵对应的协方差矩阵;
基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度d’,确定出降维变换矩阵,并确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵;
利用所述第k降维变换子阵处理所述第k原始矩阵,得到第k降维矩阵;
利用所述MPC方式,对各个持有方中的降维矩阵求和,得到对所述N个用户的全部用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
2.根据权利要求1所述的方法,其中,所述第k原始矩阵中一行对应一项用户属性,一列对应一个用户;
所述在本地对所述多项用户属性中的每项属性进行零均值化处理,包括:
对于所述第k原始矩阵的每一行,计算该行的均值,将该行的所有元素减去该均值,从而得到所述第k中心矩阵。
3.根据权利要求2所述的方法,其中,所述联合矩阵为,假定第k中心矩阵与所述M-1个其他持有方各自对应的中心矩阵进行纵向拼接所形成的矩阵。
4.根据权利要求1所述的方法,其中,基于所述第一矩阵和所述多个第二矩阵,拼接形成第k分解矩阵包括:
将有待形成的第k分解矩阵划分为M*M个块形成的方阵;
用所述第一矩阵填充所述方阵的第k行第k列位置的块,用与其他持有方共同计算的所述多个第二矩阵分别对应填充第k行以及第k列的其他位置的块,用0填充方阵中所有其余位置的块,将填充后的方阵作为所述第k分解矩阵。
5.根据权利要求1所述的方法,其中,所述协方差矩阵中非对角线上各个位置包括第一位置;所述基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,包括:
确定将所述第一位置分别横向和纵向映射到对角线上得到的第二位置和第三位置;
获取前次迭代后所述协方差矩阵中所述第二位置的元素值与所述第三位置的元素值之差的第二计算结果,该第二计算结果由所述M个数据持有方中第二持有方和第三持有方通过秘密分享的加法得到,所述第二持有方拥有所述第二位置的元素值,所述第三持有方拥有所述第三位置的元素值;
利用秘密分享的乘法,与持有所述第一位置的元素值的第一持有方共同得到第一计算结果,该第一计算结果为所述第一位置的元素值与所述第二计算结果的比值;
根据所述第一计算结果,得到平面旋转矩阵的旋转角度参数,进而确定与该第一位置对应的平面旋转矩阵。
6.根据权利要求1所述的方法,其中,基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵,包括:
将所述M个数据持有方分别得到的变换矩阵求和,得到和矩阵,将该和矩阵对角线上的元素确定为所述协方差矩阵的多个本征值;
将所述各个平面旋转矩阵进行相乘叠加,得到本征矩阵;
从所述多个本征值中,确定出值较大的前d’个本征值作为目标本征值,并从所述本征矩阵中,确定出与所述目标本征值对应的d’个本征向量;所述d’个本征向量构成所述降维变换矩阵。
7.根据权利要求1所述的方法,其中,确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵,包括:
确定所述第k中心矩阵在所述联合矩阵中的排布范围;
从所述降维变换矩阵中,选定与所述排布范围对应的部分,构成所述第k降维变换子阵。
8.一种针对用户隐私数据进行多方联合降维处理的方法,所述方法通过M个数据持有方中任意的第k持有方执行,所述第k持有方存储有多个用户的D项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有其他用户的所述D项用户属性的属性值;所述方法包括:
按照预定的用户属性顺序,基于所述多个用户的D项用户属性的属性值,构建第k原始矩阵;
通过安全多方计算MPC,对D项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
本地计算所述第k中心矩阵与其转置矩阵相乘得到的矩阵作为第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和构成所述联合矩阵的协方差矩阵;
基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵;
利用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵;
对各个持有方中的降维矩阵进行拼接,得到对全部用户的D项用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
9.根据权利要求8所述的方法,其中,所述第k原始矩阵中一行对应一项用户属性,一列对应一个用户;
所述通过安全多方计算MPC,对D项用户属性中的每项属性进行零均值化处理,包括:
本地计算第k原始矩阵每行的和值,形成D维的行和值向量;
与其他持有方采用MPC方式,对各个持有方的行和值向量和样本数分别求和,得到总行向量和总用户数;
获得总均值向量,该总均值向量为所述总行向量除以所述总用户数;
针对所述第k原始矩阵中任意的第j行,将该第j行的每个元素均减去所述总均值向量中的第j个元素,从而得到第k中心矩阵。
10.根据权利要求9所述的方法,其中,获得总均值向量包括:
根据所述总行向量和总用户数,计算所述总均值向量;或者
接收其他方广播的所述总均值向量,所述其他方为所述M-1个其他持有方之一;或者,所述其他方为中立的第三方。
11.根据权利要求8所述的方法,其中,所述第k原始矩阵中一行对应一项用户属性,一列对应一个用户;所述联合矩阵为,假定第k中心矩阵与所述M-1个其他持有方各自对应的中心矩阵进行横向拼接所形成的矩阵。
12.根据权利要求8所述的方法,其中,所述协方差矩阵中非对角线上各个位置包括第一位置;所述基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,包括:
确定将所述第一位置分别横向和纵向映射到对角线上得到的第二位置和第三位置;
本地计算前次迭代后第k分解矩阵中第二位置的元素和第三位置的元素之差,得到第k差值;并利用秘密分享的加法,与其他持有方协同计算各个持有方计算的差值之和,从而得到第二计算结果;
基于前次迭代后第k分解矩阵中所述第一位置的元素,采用秘密分享的加法,得到各个持有方对应的第一位置的元素和值;
计算所述元素和值与所述第二计算结果的比值,作为第一计算结果;
根据所述第一计算结果,得到平面旋转矩阵的旋转角度参数,进而确定所述第一位置对应的平面旋转矩阵。
13.根据权利要求8所述的方法,其中,基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵,包括:
将所述M个数据持有方分别得到的变换矩阵求和,得到和矩阵,将该和矩阵对角线上的元素确定为所述协方差矩阵的多个本征值;
将所述各个平面旋转矩阵进行相乘叠加,得到本征矩阵;
从所述多个本征值中,确定出值较大的前d’个本征值作为目标本征值,并从所述本征矩阵中,确定出与所述目标本征值对应的d’个本征向量;所述d’个本征向量构成所述降维变换矩阵。
14.根据权利要求8所述的方法,其中,对各个持有方中的降维矩阵进行拼接,得到对全部样本的D项属性进行降维处理后的总降维矩阵,包括:
将各个持有方的经过转置的降维矩阵进行纵向拼接,得到所述总降维矩阵。
15.一种针对用户隐私数据进行多方联合降维处理的装置,所述装置部署在M个数据持有方中任意的第k持有方中,所述第k持有方存储有N个用户的多项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有所述N个用户的其他项用户属性的属性值;所述装置包括:
原始矩阵构建单元,配置为按照预定的用户顺序,基于所述N个用户的多项用户属性的属性值,构建第k原始矩阵;
中心化处理单元,配置为在本地对所述多项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
分解矩阵形成单元,配置为本地计算所述第k中心矩阵与其转置矩阵相乘得到的第一矩阵,并利用秘密分享的矩阵乘法SMM,分别与所述M-1个其他持有方基于各自的中心矩阵进行乘操作得到多个第二矩阵;基于所述第一矩阵和所述多个第二矩阵,拼接形成第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和,构成所述联合矩阵对应的协方差矩阵;
旋转变换单元,配置为基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
降维矩阵确定单元,配置为基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度d’,确定出降维变换矩阵,并确定该降维变换矩阵中与所述第k持有方对应的第k降维变换子阵;
降维处理单元,配置为利用所述第k降维变换子阵处理所述第k原始矩阵,得到第k降维矩阵;
降维综合单元,配置为利用所述MPC方式,对各个持有方中的降维矩阵求和,得到对所述N个用户的全部用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
16.一种针对用户隐私数据进行多方联合降维处理的装置,所述装置部署在M个数据持有方中任意的第k持有方中,所述第k持有方存储有多个用户的D项用户属性的属性值,所述M个数据持有方中的M-1个其他持有方分别存储有其他用户的所述D项用户属性的属性值;所述装置包括:
原始矩阵构建单元,配置为按照预定的用户属性顺序,基于所述多个用户的D项用户属性的属性值,构建第k原始矩阵;
中心化处理单元,配置为通过安全多方计算MPC,对D项用户属性中的每项属性进行零均值化处理,得到第k中心矩阵;所述第k中心矩阵在与所述M-1个其他持有方各自对应的中心矩阵相拼接的情况下,构成联合矩阵;
分解矩阵形成单元,配置为本地计算所述第k中心矩阵与其转置矩阵相乘得到的矩阵作为第k分解矩阵;所述第k分解矩阵与所述M-1个其他持有方中对应的分解矩阵之和构成所述联合矩阵的协方差矩阵;
旋转变换单元,配置为基于安全多方计算MPC,确定所述协方差矩阵中非对角线上各个位置对应的各个平面旋转矩阵,并利用该各个平面旋转矩阵对所述第k分解矩阵进行变换,得到第k变换矩阵;
降维矩阵确定单元,配置为基于所述M个数据持有方分别得到的变换矩阵之和,所述各个平面旋转矩阵,以及降维的目标维度,确定出降维变换矩阵;
降维处理单元,配置为利用所述降维变换矩阵处理所述第k原始矩阵,得到第k降维矩阵;
降维综合单元,配置为对各个持有方中的降维矩阵进行拼接,得到对全部用户的D项用户属性进行降维处理后的用户特征矩阵,所述用户特征矩阵用以进行用户分析。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
CN201911174422.XA 2019-11-26 2019-11-26 针对用户隐私数据进行多方联合降维处理的方法及装置 Active CN110889139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911174422.XA CN110889139B (zh) 2019-11-26 2019-11-26 针对用户隐私数据进行多方联合降维处理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911174422.XA CN110889139B (zh) 2019-11-26 2019-11-26 针对用户隐私数据进行多方联合降维处理的方法及装置

Publications (2)

Publication Number Publication Date
CN110889139A true CN110889139A (zh) 2020-03-17
CN110889139B CN110889139B (zh) 2021-03-23

Family

ID=69748882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911174422.XA Active CN110889139B (zh) 2019-11-26 2019-11-26 针对用户隐私数据进行多方联合降维处理的方法及装置

Country Status (1)

Country Link
CN (1) CN110889139B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111081337A (zh) * 2020-03-23 2020-04-28 腾讯科技(深圳)有限公司 一种协同任务预测方法及计算机可读存储介质
CN111162896A (zh) * 2020-04-01 2020-05-15 支付宝(杭州)信息技术有限公司 双方联合进行数据处理的方法及装置
CN111241570A (zh) * 2020-04-24 2020-06-05 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111368338A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 基于多方隐私保护的数据处理方法及数据处理***
CN111401479A (zh) * 2020-04-17 2020-07-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行降维处理的方法和装置
CN111400766A (zh) * 2020-03-25 2020-07-10 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法及装置
CN111506922A (zh) * 2020-04-17 2020-08-07 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN112084520A (zh) * 2020-09-18 2020-12-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN112685509A (zh) * 2020-12-29 2021-04-20 通联数据股份公司 一种高维数据协同变化幅度识别方法及装置
CN113438075A (zh) * 2021-06-25 2021-09-24 四川新网银行股份有限公司 一种基于秘密分享算法的多头时序图计算方法及存储介质
WO2021237437A1 (zh) * 2020-05-26 2021-12-02 云图技术有限公司 基于安全多方计算的数据处理方法、装置及电子设备
CN113821764A (zh) * 2021-11-22 2021-12-21 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113949510A (zh) * 2021-10-15 2022-01-18 支付宝(杭州)信息技术有限公司 一种隐私保护的多方安全计算方法和***
WO2024109149A1 (zh) * 2022-11-23 2024-05-30 苏州元脑智能科技有限公司 一种隐私保护的主成分分析方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180373834A1 (en) * 2017-06-27 2018-12-27 Hyunghoon Cho Secure genome crowdsourcing for large-scale association studies
CN109889320A (zh) * 2019-01-24 2019-06-14 中国人民武装警察部队工程大学 一种高效的bgv型多密钥全同态加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180373834A1 (en) * 2017-06-27 2018-12-27 Hyunghoon Cho Secure genome crowdsourcing for large-scale association studies
CN109889320A (zh) * 2019-01-24 2019-06-14 中国人民武装警察部队工程大学 一种高效的bgv型多密钥全同态加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HEE-SUN WON 等: "Secure principal component analysis in multiple", 《SECURITY & COMMUNICATION NETWORKS》 *
MOHAMMAD AL-RUBAIE 等: "Privacy-preserving PCA on horizontally-partitioned data", 《2017 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111081337B (zh) * 2020-03-23 2020-06-26 腾讯科技(深圳)有限公司 一种协同任务预测方法及计算机可读存储介质
CN111081337A (zh) * 2020-03-23 2020-04-28 腾讯科技(深圳)有限公司 一种协同任务预测方法及计算机可读存储介质
CN111400766A (zh) * 2020-03-25 2020-07-10 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法及装置
WO2021190424A1 (zh) * 2020-03-25 2021-09-30 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法和装置
CN111162896A (zh) * 2020-04-01 2020-05-15 支付宝(杭州)信息技术有限公司 双方联合进行数据处理的方法及装置
CN111162896B (zh) * 2020-04-01 2020-06-26 支付宝(杭州)信息技术有限公司 双方联合进行数据处理的方法及装置
CN111401479A (zh) * 2020-04-17 2020-07-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行降维处理的方法和装置
CN111506922A (zh) * 2020-04-17 2020-08-07 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111506922B (zh) * 2020-04-17 2023-03-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111241570A (zh) * 2020-04-24 2020-06-05 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
WO2021237437A1 (zh) * 2020-05-26 2021-12-02 云图技术有限公司 基于安全多方计算的数据处理方法、装置及电子设备
WO2021239005A1 (zh) * 2020-05-27 2021-12-02 支付宝(杭州)信息技术有限公司 基于多方隐私保护的数据处理方法及数据处理***
CN111368338A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 基于多方隐私保护的数据处理方法及数据处理***
CN112084520A (zh) * 2020-09-18 2020-12-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN112685509A (zh) * 2020-12-29 2021-04-20 通联数据股份公司 一种高维数据协同变化幅度识别方法及装置
CN112685509B (zh) * 2020-12-29 2022-08-02 通联数据股份公司 一种高维数据协同变化幅度识别方法及装置
CN113438075A (zh) * 2021-06-25 2021-09-24 四川新网银行股份有限公司 一种基于秘密分享算法的多头时序图计算方法及存储介质
CN113949510A (zh) * 2021-10-15 2022-01-18 支付宝(杭州)信息技术有限公司 一种隐私保护的多方安全计算方法和***
CN113821764A (zh) * 2021-11-22 2021-12-21 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113821764B (zh) * 2021-11-22 2022-02-11 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
WO2024109149A1 (zh) * 2022-11-23 2024-05-30 苏州元脑智能科技有限公司 一种隐私保护的主成分分析方法及***

Also Published As

Publication number Publication date
CN110889139B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN110889139B (zh) 针对用户隐私数据进行多方联合降维处理的方法及装置
CN111400766B (zh) 针对隐私数据进行多方联合降维处理的方法及装置
CN110032665B (zh) 确定关系网络图中图节点向量的方法及装置
CN111178549B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
Bailey et al. Implementing panel-corrected standard errors in R: The pcse package
CN111160573A (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN110889447B (zh) 基于多方安全计算检验模型特征显著性的方法和装置
CN111401479B (zh) 多方联合对隐私数据进行降维处理的方法和装置
CN112818290B (zh) 多方联合确定隐私数据中对象特征相关性的方法及装置
CN111506922B (zh) 多方联合对隐私数据进行显著性检验的方法和装置
CN113407987B (zh) 保护隐私的确定业务数据特征有效值的方法及装置
CN110826700A (zh) 建模邻居交互的双线性图神经网络模型的实现及分类方法
CN110909216A (zh) 检测用户属性之间的关联性的方法及装置
Aloupis et al. Lower bounds for computing statistical depth
US20170212868A1 (en) Method for computing conformal parameterization
Mollapourasl et al. Localized kernel-based approximation for pricing financial options under regime switching jump diffusion model
Han et al. Privacy-preserving singular value decomposition
Heath et al. A variance reduction technique based onintegral representations
Zheng et al. SecDR: Enabling secure, efficient, and accurate data recovery for mobile crowdsensing
Penín et al. Massive holographic QFTs in de Sitter
Ling Near-optimal bounds for generalized orthogonal procrustes problem via generalized power method
Mehrdoust et al. Pricing multi-asset American option with stochastic correlation coefficient under variance gamma asset price dynamic
Reichmann Optimal space–time adaptive wavelet methods for degenerate parabolic PDEs
Dang et al. Multilevel dimension reduction Monte-Carlo simulation for high-dimensional stochastic models in finance
Bai et al. Some unusual eigenvalue problems

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