CN113821764A - 一种数据处理方法、装置和用于数据处理的装置 - Google Patents

一种数据处理方法、装置和用于数据处理的装置 Download PDF

Info

Publication number
CN113821764A
CN113821764A CN202111383338.6A CN202111383338A CN113821764A CN 113821764 A CN113821764 A CN 113821764A CN 202111383338 A CN202111383338 A CN 202111383338A CN 113821764 A CN113821764 A CN 113821764A
Authority
CN
China
Prior art keywords
matrix
data
party
round
decomposition
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
CN202111383338.6A
Other languages
English (en)
Other versions
CN113821764B (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202111383338.6A priority Critical patent/CN113821764B/zh
Publication of CN113821764A publication Critical patent/CN113821764A/zh
Application granted granted Critical
Publication of CN113821764B publication Critical patent/CN113821764B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Complex Calculations (AREA)

Abstract

本发明实施例提供了一种数据处理方法、装置和用于数据处理的装置,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理。其中的方法包括:确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。本发明实施例可以实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,降维处理后的多方数据可用于联邦建模,提高模型质量。

Description

一种数据处理方法、装置和用于数据处理的装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。
背景技术
奇异值分解(Singular Value Decomposition,以下简称SVD)是线性代数中重要的分解模型之一,奇异值分解则是特征分解在任意矩阵上的推广。SVD是在机器学习领域广泛应用的算法,可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。
对于任意矩阵A,大小为m*n,奇异值分解会将该矩阵A分解为奇异值和奇异向量组合的形式,即A=USVT。其中,矩阵U是由左奇异向量构成的矩阵,矩阵V是由右奇异向量构成的矩阵,矩阵S为对角线矩阵,大小为m*n,矩阵S对角线上的元素就是奇异值。矩阵U(大小为m*m)和矩阵V(大小为n*n)均为正交矩阵,即满足UUT=I,VVT=I,其中上标T表示矩阵的转置,矩阵I为单位矩阵。
发明内容
本发明实施例提供一种数据处理方法、装置和用于数据处理的装置,可以实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,使得多个数据方持有的数据实现共享,可以在更大规模、更高质量的数据集上进行模型的训练,提高模型质量。
为了解决上述问题,本发明实施例公开了一种数据处理方法,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述方法包括:
确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;
基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
可选地,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,包括:
所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台;
所述密文计算平台,基于所述给定参数,在密文基础上对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
可选地,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,包括:
基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵;
根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵;
基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵;
根据所述目标联合正交矩阵和每个数据方的数据矩阵,计算每个数据方的低维矩阵;
根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵;
从所述对角线矩阵中选出最大的k个元素作为分解结果。
可选地,所述w个数据方中包括1个主动方和w-1个被动方,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,包括:
每个数据方基于持有的数据矩阵,分别在本地计算自身的单方矩阵,每个被动方将自身的单方矩阵发送至所述主动方;
所述主动方根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵,所述主动方将所述初始联合正交矩阵发送至每个被动方;
每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵;
每个数据方根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地计算自身的低维矩阵,每个数据方将自身的低维矩阵发送至密文计算平台;
所述密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵,所述密文计算平台将所述对角线矩阵发送至所述主动方;
所述主动方从所述对角线矩阵中选出最大的k个元素作为分解结果。
可选地,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 362589DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
可选地,所述基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵,包括:
在第j轮迭代中,根据上一轮得到的初始联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的第j轮单方矩阵;
根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵;
基于所述第j轮拼接矩阵的正交矩阵,计算每个数据方的第j轮更新矩阵;
根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵;
在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
可选地,所述每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵,包括:
在第j轮迭代中,每个数据方根据上一轮得到的初始联合正交矩阵和自身的数据矩阵,分别在本地计算自身的第j轮单方矩阵,每个数据方将自身的第j轮单方矩阵发送至密文计算平台;
所述密文计算平台根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵,所述密文计算平台将所述第j轮拼接矩阵的正交矩阵发送至每个数据方;
每个数据方基于所述第j轮拼接矩阵的正交矩阵,分别在本地计算自身的第j轮更新矩阵,每个被动方将自身的第j轮更新矩阵发送至所述主动方;
所述主动方根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,所述主动方将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方;
在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
可选地,对于w个数据方,第i个数据方的第j轮单方矩阵为:
Figure 154965DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵;第j轮拼接矩阵为:C = [C1,C2,…,Cw];第i个数据方的第j轮更新矩阵为Di,D1= A1*Q[:n1,:],Dt= At*Q[n1:…:nt,:],1<t<w,Dw= Aw*Q[nw:,:];第j轮多方联合矩阵为:
Figure 27106DEST_PATH_IMAGE003
可选地,所述w个数据方的数据矩阵分别对应相同样本集在不同特征维度上的样本数据。
另一方面,本发明实施例公开了一种数据处理装置,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述装置包括:
数据确定模块,用于确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;
联合计算模块,用于基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
可选地,所述联合计算模块,包括:
数据加密子模块,用于所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台;
加密计算子模块,用于所述密文计算平台,基于所述给定参数,在密文基础上对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
可选地,所述联合计算模块,包括:
第一单方矩阵计算子模块,用于基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵;
第一联合矩阵计算子模块,用于根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵;
第一迭代操作计算子模块,用于基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵;
第一低维矩阵计算子模块,用于根据所述目标联合正交矩阵和每个数据方的数据矩阵,计算每个数据方的低维矩阵;
第一低维拼接计算子模块,用于根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵;
第一分解结果选择子模块,用于从所述对角线矩阵中选出最大的k个元素作为分解结果。
可选地,所述w个数据方中包括1个主动方和w-1个被动方,所述联合计算模块,包括:
第二单方矩阵计算子模块,用于通过每个数据方基于持有的数据矩阵,分别在本地计算自身的单方矩阵,每个被动方将自身的单方矩阵发送至所述主动方;
第二联合矩阵计算子模块,用于通过所述主动方根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵,所述主动方将所述初始联合正交矩阵发送至每个被动方;
第二迭代操作计算子模块,用于通过每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵;
第二低维矩阵计算子模块,用于通过每个数据方根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地计算自身的低维矩阵,每个数据方将自身的低维矩阵发送至密文计算平台;
第二低维拼接计算子模块,用于通过所述密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵,所述密文计算平台将所述对角线矩阵发送至所述主动方;
第二分解结果选择子模块,用于通过所述主动方从所述对角线矩阵中选出最大的k个元素作为分解结果。
可选地,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 286049DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
可选地,所述第一迭代操作计算子模块,包括:
第一计算单元,用于在第j轮迭代中,根据上一轮得到的初始联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的第j轮单方矩阵;
第一拼接单元,用于根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵;
第一更新单元,用于基于所述第j轮拼接矩阵的正交矩阵,计算每个数据方的第j轮更新矩阵;
第一联合单元,用于根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵;在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
可选地,所述第二迭代操作计算子模块,包括:
第二计算单元,用于在第j轮迭代中,通过每个数据方根据上一轮得到的初始联合正交矩阵和自身的数据矩阵,分别在本地计算自身的第j轮单方矩阵,每个数据方将自身的第j轮单方矩阵发送至密文计算平台;
第二拼接单元,用于通过所述密文计算平台根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵,所述密文计算平台将所述第j轮拼接矩阵的正交矩阵发送至每个数据方;
第二更新单元,用于通过每个数据方基于所述第j轮拼接矩阵的正交矩阵,分别在本地计算自身的第j轮更新矩阵,每个被动方将自身的第j轮更新矩阵发送至所述主动方;
第二联合单元,用于通过所述主动方根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,所述主动方将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方;在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
可选地,对于w个数据方,第i个数据方的第j轮单方矩阵为:
Figure 368275DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵;第j轮拼接矩阵为:C = [C1,C2,…,Cw];第i个数据方的第j轮更新矩阵为Di,D1= A1*Q[:n1,:],Dt= At*Q[n1:…:nt,:],1<t<w,Dw= Aw*Q[nw:,:];第j轮多方联合矩阵为:
Figure 370866DEST_PATH_IMAGE003
可选地,所述w个数据方的数据矩阵分别对应相同样本集在不同特征维度上的样本数据。
再一方面,本发明实施例公开了一种用于数据处理的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于执行如前述一个或多个所述的数据处理方法的指令。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
又一方面,一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行如前述一个或多个所述的数据处理方法。
本发明实施例包括以下优点:
本发明实施例提供的数据处理方法,通过对多个数据方的数据矩阵联合进行随机奇异值分解,可以实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理。多个数据方中每个数据方的数据矩阵具有相同的列数,也即,每个数据方的数据矩阵可以分别对应相同样本集在不同特征维度上的样本数据。降维处理后的多方数据可用于联邦建模,通过本发明实施例可以实现利用多个数据方持有的相同的样本集在不同特征维度上的样本数据进行纵向联邦建模,使得多个数据方持有的数据实现共享,可以在更大规模、更高质量的数据集上进行模型的训练,提高模型质量。此外,本发明实施例对多个数据方的数据矩阵联合进行随机奇异值分解,相比于奇异值分解,可以降低计算成本,并且能以规定的低等级k产生精确的压缩,可以提高计算灵活性,满足不同计算精度的需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理装置实施例的结构框图;
图3是本发明的一种用于数据处理的装置800的框图;
图4是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
奇异值分解的一个常见应用是数据降维。对于一个m*n的矩阵A,在进行奇异值分解分解之后,可以用最大的k个奇异值和对应的左右奇异向量来近似描述矩阵A。其中k要比n小很多,也就是说,一个大的矩阵A可以用三个小的矩阵来表示。具有大量特征的数据,如一个大的矩阵A(特征数(列数)多于观察数(行数))可以被归约成与所涉预测问题最相关的更小特征子集。其结果是一个秩更低的矩阵,且接近原始矩阵。
由于奇异值分解的上述性质,奇异值分解可以用于PCA(Principal ComponentAnalysis,主成分分析)降维,数据压缩和去噪(如图像压缩和去噪等)。此外,奇异值分解还可以用于推荐算法,将用户和喜好对应的特征矩阵进行奇异值分解,进而得到隐含的用户需求用于推荐系统。在自然语言处理中,奇异值分解可以被用在文档中词出现情况或词频的矩阵上,被称为隐含语义分析(Latent Semantic Analysis)或隐含语义索引(LatentSemantic Indexing)。
随着大数据技术的发展,数据的来源、内容、形式越来越多样化,数据的容量也以极快的速度递增。数据作为用户行为分析、商业价值挖掘、人工智能训练等的基础,已成为一种重要的资产。由于不同机构或个人掌握了类型各异的数据,因此,常常需要根据数据应用目的,将来自不同数据源的数据进行联合建模。
然而,在实际应用中,由于很多数据集规模庞大,例如由5万件商品和10万名用户构成的推荐系统评分矩阵,难以对这些数据直接进行奇异值分解。因此,为了解决多方数据融合计算场景中对多个数据方分别持有的特征数据进行降维处理的问题,本发明实施例提出了一种数据处理方法,通过对多个数据方分别持有的数据矩阵联合进行随机奇异值分解,实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,降维后的数据可以进一步用于推荐系统、图像处理系统、自然语言处理系统等,以提高各应用场景中数据处理的效率。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述方法具体可以包括如下步骤:
步骤101、确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;
步骤102、基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
本发明实施例提供的数据处理方法可用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理。例如,在推荐系统、图像处理系统、自然语言处理系统等应用场景中对多个数据方分别持有的数据矩阵联合进行降维处理。
具体地,首先确定参与奇异值分解的w(w>1)个数据方,每个数据方持有各自的数据矩阵。其中,第i个数据方持有数据矩阵Ai,i取值为1~w。例如,第1个数据方持有数据矩阵A1,第2个数据方持有数据矩阵A2,依次类推,第w个数据方持有数据矩阵Aw。需要说明的是,本发明实施例对各数据方持有的数据矩阵中包含的数据内容以及数据类型不做限制。
在本发明实施例中,w个数据方中每个数据方的数据矩阵具有相同的列数,如列数均为m。一个示例中,第1个数据方持有数据矩阵A1,大小为m*n1。第2个数据方持有数据矩阵A2,大小为m*n2。以此类推,第w个数据方持有数据矩阵Aw,大小为m*nw
在本发明的一种可选实施例中,所述w个数据方的数据矩阵分别对应相同样本集在不同特征维度上的样本数据。
一个示例中,对于用户A的样本集,存在不同特征维度上的样本数据。示例性地,该样本集在不同特征维度上的样本数据包括:用户A在应用1中的浏览记录,用户A在应用2中的消费记录,用户A在银行的信用记录等。其中,用户A在应用1中的浏览记录由数据方1持有,用户A在应用2中的消费记录由数据方2持有,用户A在银行的信用记录由数据方3持有。
在对多个数据方分别持有的数据矩阵进行联合训练的场景中,各数据方所持有的数据矩阵具有相同的样本空间, 可以看作是模型训练依赖的数据集进行了纵向切分,每个数据方分别拥有相同的样本集在一系列不同特征维度上的样本数据。由此,可以利用多个数据方持有的相同的样本集在不同特征维度上的样本数据进行纵向联邦学习以及联合建模,以提高模型的准确性。
对于给定参数的p、q和k,可以根据实际需要进行设置。其中,参数p为过采样数,参数q为迭代轮数,参数k为奇异值个数。参数k也即所需要的最大特征值的个数,即所需要降到的维数。在具体实施中,可以通过增加迭代轮数q来提高分解结果的准确性,还可以通过减小k的值来提高数据压缩的程度,例如,可以设置k <min(m,n)。进一步地,k的取值可以设置为远小于n的正整数。
在大多应用场景中,例如PCA过程中,并不需要对角线矩阵S的所有奇异值,只需要对角线矩阵S中值最大的那一部分奇异值即可。因此,本发明实施例在对所述w个数据方的数据矩阵联合计算奇异值分解时,采用的是随机奇异值分解方法。相比于奇异值分解,随机奇异值分解的优势在于可以降低奇异值分解的计算成本,并且能以规定的低等级k产生精确的压缩。
基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,可以得到分解结果。
一个示例中,对单个数据矩阵进行随机奇异值分解的步骤可以包括:
步骤A1、给定矩阵A,大小为m*n,给定参数p,q和k;
步骤A2、生成均匀分布矩阵G,大小为 n*(k+p),计算矩阵Y=AG;
步骤A3、对矩阵Y进行QR分解,得到矩阵Q和R;
步骤A4、执行如下迭代操作,For i=1到q:
对ATQ进行QR分解,得到矩阵Q和R
对AQ进行QR分解,得到矩阵Q和R
上述迭代操作中的每一轮分别利用AT和A对生成的Q交替进行更新;
步骤A5、计算矩阵B=QTA,该式中的Q为迭代操作完成时得到的Q,对矩阵B进行奇异值分解,得到矩阵U、S和V,选出矩阵S中最大的k个元素,即为分解结果。
其中,QR分解指正交三角分解,QR分解是将某个矩阵分解成一个正规正交矩阵Q与上三角形矩阵R。
上述对单个数据矩阵进行随机奇异值分解的过程可以包括三个阶段,第一个阶段为步骤A1~步骤A3,用于计算矩阵A的近似基矩阵Q。第二个阶段为步骤A4,用于通过交替使用矩阵A与矩阵A的转置AT构建q轮的迭代过程,以迭代更新矩阵A的近似基矩阵Q。第三个阶段为步骤A5,用于利用迭代操作得到的更新后的近似基矩阵Q,构建低维矩阵B,将原始矩阵A限制在低维子空间,进而对低维矩阵B进行奇异值分解,选出对角线矩阵S中最大的k个元素即为分解结果。
上述对单个数据矩阵进行随机奇异值分解的过程可以为多个数据方的多个数据矩阵进行联合的随机奇异值分解提供计算基础。本发明实施例在上述单个数据矩阵的随机奇异值分解的基础上,基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
本发明实施例对多个数据方的数据矩阵联合进行随机奇异值分解,进而实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,降维处理后的数据可用于联邦建模,使得多个数据方持有的数据实现共享,可以在更大规模、更高质量的数据集上进行模型的训练,提高模型质量。
在本发明的一种可选实施例中,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,可以包括:
步骤S11、基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵;
步骤S12、根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵;
步骤S13、基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵;
步骤S14、根据所述目标联合正交矩阵和每个数据方的数据矩阵,计算每个数据方的低维矩阵;
步骤S15、根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵;
步骤S16、从所述对角线矩阵中选出最大的k个元素作为分解结果。
本发明实施例根据分块思想,基于单个数据矩阵的随机奇异值分解方法,提出了一种对多个数据方的多个数据矩阵进行联邦学习的随机奇异值分解方法。具体来说,是将随机奇异值分解,根据数据方进行分块计算,各数据提供方所拥有的数据具有相同的样本空间, 可以看作是模型训练依赖的数据集进行了纵向切分,每个数据提供方分别拥有相同的样本集在一系列不同特征维度上的数据。
进一步地,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 97513DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
为便于描述,本发明实施例中以w=3(3个数据方)为例,说明本发明的数据处理方法对3个数据方的数据矩阵联合进行随机奇异值分解的过程。
一个示例中,假设数据方1持有数据矩阵A1,大小为m*n1。数据方2持有数据矩阵A2,大小为m*n2。数据方3持有数据矩阵A3,大小为m*n3
基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵。第i个数据方的单方矩阵为Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数。Gi为一个ni*(k+p)维的高斯随机矩阵。具体地,计算数据方1持有的数据矩阵A1的单方矩阵为Y1=A1G1,G1为对A1计算得到的均匀分布矩阵,G1的大小为n1*(k+p)。计算数据方2持有的数据矩阵A2的单方矩阵为Y2=A2G2,G2为对A2计算得到的均匀分布矩阵,G2的大小为n2*(k+p)。计算数据方3持有数据矩阵A3的单方矩阵为Y3=A3G3,G3为对A3计算得到的均匀分布矩阵,G3的大小为n3*(k+p)。
根据每个数据方的单方矩阵,计算多方联合矩阵
Figure 120833DEST_PATH_IMAGE004
,也即Y= Y1+Y2+Y3,并对所述多方联合矩阵Y进行QR分解,得到初始联合正交矩阵。该初始联合正交矩阵为对多方联合矩阵Y进行QR得到的矩阵Q。
基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,以对所述初始联合正交矩阵进行迭代更新,得到目标联合正交矩阵。
在对单个数据矩阵A进行随机奇异值分解的过程中,步骤A4交替使用矩阵A与矩阵A的转置AT 构建q轮的迭代过程。本发明实施例对步骤A4进行改进,以实现对多个数据矩阵进行随机奇异值分解过程中的迭代操作。
在本发明的一种可选实施例中,步骤S13所述基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵,可以包括:
步骤S131、在第j轮迭代中,根据上一轮得到的初始联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的第j轮单方矩阵;
步骤S132、根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵;
步骤S133、基于所述第j轮拼接矩阵的正交矩阵,计算每个数据方的第j轮更新矩阵;
步骤S134、根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵;
步骤S135、在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
j取值为1~q的整数。在对单个数据矩阵A进行随机奇异值分解的过程中,交替使用矩阵A与矩阵A的转置AT 构建q轮的迭代过程,以对初始联合正交矩阵(近似基矩阵Q)进行迭代更新,得到目标联合正交矩阵(更新后的近似基矩阵Q)。在对多个数据方的多个数据矩阵进行联合的随机奇异值分解的过程中,本发明实施例交替使用多个数据方的拼接矩阵和多个数据方的联合矩阵构建q轮的迭代过程,以对初始联合正交矩阵进行迭代更新,得到目标联合正交矩阵。
进一步地,对于w个数据方,第i个数据方的第j轮单方矩阵为:
Figure 628038DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵;第j轮拼接矩阵为:C = [C1,C2,…,Cw];第i个数据方的第j轮更新矩阵为Di,D1= A1*Q[:n1,:],Dt= At*Q[n1:…:nt,:],1<t<w,Dw= Aw*Q[nw:,:];第j轮多方联合矩阵为:
Figure 106423DEST_PATH_IMAGE003
仍以上述3个数据方为例。在对所述多方联合矩阵Y进行QR分解,得到初始联合正交矩阵之后,进入q轮迭代操作中的第1轮迭代(j=1)。在第1轮迭代中,根据每个数据方持有的数据矩阵和上一轮得到的初始联合正交矩阵,计算每个数据方的第j轮单方矩阵。第i个数据方的第j轮单方矩阵为:
Figure 15474DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵。在第1轮迭代中,上一轮得到的初始联合正交矩阵即为对所述多方联合矩阵Y进行QR分解,得到的初始联合正交矩阵。具体地,计算数据方1的第1轮单方矩阵为:
Figure 678536DEST_PATH_IMAGE005
,Q为对所述多方联合矩阵Y进行QR分解,得到的初始联合正交矩阵。计算数据方2的第1轮单方矩阵为:
Figure 673037DEST_PATH_IMAGE006
,Q为对所述多方联合矩阵Y进行QR分解,得到的初始联合正交矩阵。计算数据方3的第1轮单方矩阵为:
Figure 955114DEST_PATH_IMAGE007
,Q为对所述多方联合矩阵Y进行QR分解,得到的初始联合正交矩阵。
根据每个数据方的第1轮单方矩阵,生成第1轮拼接矩阵C=[C1,C2,C3],并对所述第1轮拼接矩阵C进行QR分解,得到所述第1轮拼接矩阵的正交矩阵。
基于所述第1轮拼接矩阵的正交矩阵,计算每个数据方的第1轮更新矩阵。具体地,计算数据方1的第1轮更新矩阵为D1= A1*Q[:n1,:],计算数据方2的第1轮更新矩阵为D2= A2*Q[n1: n2,:],计算数据方3的第1轮更新矩阵为D3= A3*Q[n3:,:]。其中,Q[:n1,:]表示从矩阵Q中选出前n1行所有列的元素。Q[n1: n2,:]表示从矩阵Q中选出从n1+1行开始到n2行结束所有列的元素。Q[n3:,:]表示从矩阵Q中选出从n3+1行开始到最后一行结束所有列的元素。矩阵Q为第1轮拼接矩阵的正交矩阵。
根据每个数据方的第1轮更新矩阵,计算第1轮多方联合矩阵
Figure 718670DEST_PATH_IMAGE008
,也即D= D1+ D2 +D3,并对所述第1轮多方联合矩阵D进行QR分解,得到参与下一轮迭代的初始联合正交矩阵。
进入第2轮迭代(j=2)。在第2轮迭代中,利用第1轮计算得到的初始联合正交矩阵进行计算,计算过程与第1轮相同,此处不再进行赘述。
在第q轮迭代(j=q)执行完成时,将第q轮迭代过程中计算得到的参与下一轮迭代的初始联合正交矩阵作为目标联合正交矩阵。
在q轮迭代操作完成之后,进入随机奇异值分解的第三阶段。
根据所述目标联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的低维矩阵。其中,计算数据方1的低维矩阵为:B1=QTA1,该式中的Q为目标联合正交矩阵。计算数据方2的低维矩阵为:B2=QTA2,该式中的Q为目标联合正交矩阵。计算数据方3的低维矩阵为:B3=QTA3,该式中的Q为目标联合正交矩阵。
根据每个数据方的低维矩阵,生成低维拼接矩阵B=[B1,B2,B3],并对所述低维拼接矩阵B进行奇异值分解(SVD分解),得到对角线矩阵S;该对角线矩阵S中包括n1+n2+n3个对角线元素。从所述对角线矩阵S中选出最大的k个元素即为分解结果(k个奇异值)。
出于信息安全和用户隐私保护方面的考虑,在多方数据融合计算场景,数据安全和模型安全是重点关注的问题。一方面,数据提供方不希望把自己的数据泄露给模型需求方,而希望只给出训练得到的模型;另外一方面,模型需求方也希望把训练得到的模型保护起来。在利用多方数据进行联邦建模时,如果将各数据方的明文数据交给模型需求方进行联合训练,则无法保证数据的隐私安全。
在本发明的一种可选实施例中,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,可以包括:
步骤S21、所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台;
步骤S22、所述密文计算平台,基于所述给定参数,在密文基础上对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
为保证各数据方的数据隐私安全,所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台,在密文计算平台中基于密文执行上述步骤S11~步骤S16。
所述密文计算平台可以为多方安全计算平台,多方安全计算平台可以在加密数据上直接进行计算,在牺牲一定计算效率的条件下,可以实现数据共享,并保证数据的隐私安全。
然而,将上述计算过程全部在密文计算平台中基于密文进行计算,将导致计算效率较低,难以满足实际应用场景中即时性的需求。
为解决该问题,本发明实施例提出一种基于明密文混合运算的联邦学习随机奇异值分解方法。本发明实施例将上述步骤S11~步骤S16进行划分,划分为明文计算部分和密文计算部分。为进一步提高计算效率,在保证数据隐私安全的基础上,本发明实施例将尽可能多的计算划分为明文计算部分。具体地,本发明实施例在w个数据方中确定1个主动方,其余w-1个为被动方。进一步地,明文计算部分可以包括每个数据方基于自身持有的隐私数据本地进行的明文计算,得到中间结果;明文计算部分还可以包括主动方对所有数据方计算的中间结果联合进行的明文计算,并且根据该中间结果主动方不能还原得到任何一个被动方的原始明文数据。需要说明的是,主动方可以是w个数据方中的任意一个数据方,也可以是用户指定的某个数据方。
在本发明的一种可选实施例中,所述w个数据方中可以包括1个主动方和w-1个被动方,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,可以包括:
步骤S31、每个数据方基于持有的数据矩阵,分别在本地计算自身的单方矩阵,每个被动方将自身的单方矩阵发送至所述主动方;
步骤S32、所述主动方根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵,所述主动方将所述初始联合正交矩阵发送至每个被动方;
步骤S33、每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵;
步骤S34、每个数据方根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地计算自身的低维矩阵,每个数据方将自身的低维矩阵发送至密文计算平台;
步骤S35、所述密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵,所述密文计算平台将所述对角线矩阵发送至所述主动方;
步骤S36、所述主动方从所述对角线矩阵中选出最大的k个元素作为分解结果。
本发明实施例利用密文计算平台,实现基于明密文混合运算的联邦学习随机奇异值分解方法。各数据方基于各自持有的私有数据在本地进行明文计算,得到中间结果;在密文计算平台或者主动方进行中间结果的计算和交换。如此进行数轮计算和交互后,可以得到随机奇异值分解的结果。整个过程中,各数据方的数据不会暴露给其它数据方,根据中间结果的信息也无法推断出原始数据,可以在保证数据隐私安全的基础上,极大提高计算效率。
进一步地,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 83793DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
仍以上述3个数据方为例。假设数据方1为主动方,数据方2和数据方3为被动方。
数据方1基于持有的数据矩阵A1在本地明文计算自身的单方矩阵Y1=A1G1,数据方2基于持有的数据矩阵A2在本地明文计算自身的单方矩阵Y2=A2G2,数据方3基于持有的数据矩阵A3在本地明文计算自身的单方矩阵Y3=A3G3,数据方2将自身的单方矩阵Y2发送至主动方(数据方1),数据方3将自身的单方矩阵Y3发送至主动方(数据方1)。
主动方(数据方1)根据每个数据方的单方矩阵,计算多方联合矩阵
Figure 237693DEST_PATH_IMAGE001
,也即Y= Y1+ Y2+ Y3;主动方(数据方1)对所述多方联合矩阵Y进行QR分解,得到初始联合正交矩阵,并将所述初始联合正交矩阵发送至每个被动方(数据方2和数据方3)。
每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵。
迭代过程本发明也进行划分,划分为各数据方本地的明文计算、主动方的明文计算、以及密文计算平台的密文计算。
在本发明的一种可选实施例中,步骤S33所述每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵,可以包括:
步骤S331、在第j轮迭代中,每个数据方根据上一轮得到的初始联合正交矩阵和自身的数据矩阵,分别在本地计算自身的第j轮单方矩阵,每个数据方将自身的第j轮单方矩阵发送至密文计算平台;
步骤S332、所述密文计算平台根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵,所述密文计算平台将所述第j轮拼接矩阵的正交矩阵发送至每个数据方;
步骤S333、每个数据方基于所述第j轮拼接矩阵的正交矩阵,分别在本地计算自身的第j轮更新矩阵,每个被动方将自身的第j轮更新矩阵发送至所述主动方;
步骤S334、所述主动方根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,所述主动方将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方;
步骤S335、在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
仍以上述3个数据方,且数据方1为主动方,数据方2和数据方3为被动方为例。
在第1轮迭代中,数据方1在本地明文计算自身的第1轮单方矩阵
Figure 385778DEST_PATH_IMAGE005
,Q为对所述多方联合矩阵进行QR分解得到的初始联合正交矩阵。数据方2在本地明文计算自身的第1轮单方矩阵
Figure 331737DEST_PATH_IMAGE009
,Q为对所述多方联合矩阵进行QR分解得到的初始联合正交矩阵。数据方3在本地明文计算自身的第1轮单方矩阵
Figure 477548DEST_PATH_IMAGE007
,Q为对所述多方联合矩阵进行QR分解得到的初始联合正交矩阵。每个数据方(数据方1、数据方2和数据方3)分别将自身的第1轮单方矩阵发送至密文计算平台。
密文计算平台根据每个数据方的第1轮单方矩阵,生成第1轮拼接矩阵C=[C1,C2,C3],并对所述第1轮拼接矩阵C进行QR分解,得到所述第1轮拼接矩阵的正交矩阵;密文计算平台将所述第1轮拼接矩阵的正交矩阵发送至每个数据方(数据方1、数据方2和数据方3)。需要说明的是,密文计算平台向各数据方发送的所述第1轮拼接矩阵的正交矩阵可以为密文。
数据方1根据所述第1轮拼接矩阵的正交矩阵(如记为Q)和自身的数据矩阵(A1),在本地明文计算自身的第1轮更新矩阵为D1= A1*Q[:n1,:]。数据方2根据所述第1轮拼接矩阵的正交矩阵和自身的数据矩阵(A2),在本地明文计算自身的第1轮更新矩阵为D2= A2*Q[n1: n2,:]。数据方3根据所述第1轮拼接矩阵的正交矩阵和自身的数据矩阵(A3),在本地明文计算自身的第1轮更新矩阵为D3= A3*Q[n3:,:]。每个被动方(数据方2和数据方3)分别将自身的第1轮更新矩阵发送至主动方(数据方1)。
主动方(数据方1)根据每个数据方的第1轮更新矩阵,计算第1轮多方联合矩阵
Figure 181062DEST_PATH_IMAGE010
,也即D= D1+ D2+ D3。主动方(数据方1)对所述第1轮多方联合矩阵D基于明文进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,并将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方(数据方2和数据方3)。
进入第2轮迭代。在第2轮迭代中,利用第1轮计算得到的初始联合正交矩阵进行计算,计算过程与第1轮相同,此处不再进行赘述。
在第q轮迭代(j=q)执行完成时,将第q轮迭代过程中计算得到的参与下一轮迭代的初始联合正交矩阵作为目标联合正交矩阵。
在q轮迭代操作完成之后,进入随即奇异值分解的第三阶段。
每个数据方(数据方1、数据方2和数据方3)根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地明文计算自身的低维矩阵。具体地,数据方1在本地明文计算自身的低维矩阵B1=QTA1,该式中,Q为目标联合正交矩阵。数据方2在本地明文计算自身的低维矩阵B2=QTA2,该式中,Q为目标联合正交矩阵。数据方3在本地明文计算自身的低维矩阵B3=QTA3,该式中,Q为目标联合正交矩阵。每个数据方(数据方1、数据方2和数据方3)将自身的低维矩阵发送至密文计算平台。
密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵B=[B1,B2,B3],并对所述低维拼接矩阵B基于密文进行奇异值分解,得到对角线矩阵S,该对角线矩阵S中包括n1+n2+n3个对角线元素。密文计算平台将所述对角线矩阵S发送至所述主动方(数据方1)。
主动方(数据方1)从所述对角线矩阵S中选出最大的k个元素作为分解结果(k个奇异值)。进一步地,主动方可以将分解结果发送至指定的结果接收方。
在本发明实施例中,对于仅涉及自身隐私数据的操作,可以在数据方本地进行明文计算,例如,步骤S31和步骤S34,以及迭代操作中的步骤S331和步骤S333。
对于涉及多个数据方的隐私数据的计算(如对中间结果的计算),但是无法恢复得到各数据方的原始数据的情况下可以在主动方进行明文计算。例如,步骤S32和步骤S36,以及迭代操作中的步骤S334。对于步骤S32,由于各数据方的数据矩阵都乘了一个均匀分布的随机矩阵,主动方得到的是该乘积(中间结果),根据该中间结果无法还原得到各被动方原始的数据矩阵,因此,步骤S32可以在主动方执行。对于步骤S334,因为每个数据方从第j轮拼接矩阵的正交矩阵中选出了部分矩阵,并且每个数据方选出的部分矩阵不同,每个数据方再将各自选出的部分矩阵与自身的数据矩阵相乘,得到自身的第j轮更新矩阵。通过该第j轮更新矩阵无法还原得到数据方原始的数据矩阵,因此,步骤S334可以在主动方执行。本发明实施例在保证数据隐私安全的前提下,将尽可能多的计算放在明文端执行,相对于密文计算,可以极大提高计算效率。
对于涉及多个数据方的隐私数据的计算(如对中间结果的计算),并且存在可以恢复得到各数据方的原始数据风险的情况下需要在密文计算平台计算。例如。步骤S35,以及迭代操作中的步骤S332。对于步骤S35和步骤S332,需要对多个数据方的数据进行汇总(如对矩阵进行拼接或者对矩阵进行求和),进而可以对汇总后的数据进行随机奇异值分解。由于这两步的汇总操作存在可以恢复得到各数据方的原始数据的风险,因此,这两步操作在密文计算平台执行,以保证各数据方的数据隐私安全。
综上,本发明实施例提供的数据处理方法,通过对多个数据方的数据矩阵联合进行随机奇异值分解,可以实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理。多个数据方中每个数据方的数据矩阵具有相同的列数,也即,每个数据方的数据矩阵可以分别对应相同样本集在不同特征维度上的样本数据。降维处理后的多方数据可用于联邦建模,通过本发明实施例可以实现利用多个数据方持有的相同的样本集在不同特征维度上的样本数据进行纵向联邦建模,使得多个数据方持有的数据实现共享,可以在更大规模、更高质量的数据集上进行模型的训练,提高模型质量。此外,本发明实施例对多个数据方的数据矩阵联合进行随机奇异值分解,相比于奇异值分解,可以降低计算成本,并且能以规定的低等级k产生精确的压缩,可以提高计算灵活性,满足不同计算精度的需求。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种数据处理装置实施例的结构框图,所述装置可用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述装置可以包括:
数据确定模块201,用于确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;
联合计算模块202,用于基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
可选地,所述联合计算模块,包括:
数据加密子模块,用于所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台;
加密计算子模块,用于所述密文计算平台,基于所述给定参数,在密文基础上对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
可选地,所述联合计算模块,包括:
第一单方矩阵计算子模块,用于基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵;
第一联合矩阵计算子模块,用于根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵;
第一迭代操作计算子模块,用于基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵;
第一低维矩阵计算子模块,用于根据所述目标联合正交矩阵和每个数据方的数据矩阵,计算每个数据方的低维矩阵;
第一低维拼接计算子模块,用于根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵;
第一分解结果选择子模块,用于从所述对角线矩阵中选出最大的k个元素作为分解结果。
可选地,所述w个数据方中包括1个主动方和w-1个被动方,所述联合计算模块,包括:
第二单方矩阵计算子模块,用于通过每个数据方基于持有的数据矩阵,分别在本地计算自身的单方矩阵,每个被动方将自身的单方矩阵发送至所述主动方;
第二联合矩阵计算子模块,用于通过所述主动方根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵,所述主动方将所述初始联合正交矩阵发送至每个被动方;
第二迭代操作计算子模块,用于通过每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵;
第二低维矩阵计算子模块,用于通过每个数据方根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地计算自身的低维矩阵,每个数据方将自身的低维矩阵发送至密文计算平台;
第二低维拼接计算子模块,用于通过所述密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵,所述密文计算平台将所述对角线矩阵发送至所述主动方;
第二分解结果选择子模块,用于通过所述主动方从所述对角线矩阵中选出最大的k个元素作为分解结果。
可选地,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 929575DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
可选地,所述第一迭代操作计算子模块,包括:
第一计算单元,用于在第j轮迭代中,根据上一轮得到的初始联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的第j轮单方矩阵;
第一拼接单元,用于根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵;
第一更新单元,用于基于所述第j轮拼接矩阵的正交矩阵,计算每个数据方的第j轮更新矩阵;
第一联合单元,用于根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵;在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
可选地,所述第二迭代操作计算子模块,包括:
第二计算单元,用于在第j轮迭代中,通过每个数据方根据上一轮得到的初始联合正交矩阵和自身的数据矩阵,分别在本地计算自身的第j轮单方矩阵,每个数据方将自身的第j轮单方矩阵发送至密文计算平台;
第二拼接单元,用于通过所述密文计算平台根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵,所述密文计算平台将所述第j轮拼接矩阵的正交矩阵发送至每个数据方;
第二更新单元,用于通过每个数据方基于所述第j轮拼接矩阵的正交矩阵,分别在本地计算自身的第j轮更新矩阵,每个被动方将自身的第j轮更新矩阵发送至所述主动方;
第二联合单元,用于通过所述主动方根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,所述主动方将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方;在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
可选地,对于w个数据方,第i个数据方的第j轮单方矩阵为:
Figure 667724DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵;第j轮拼接矩阵为:C = [C1,C2,…,Cw];第i个数据方的第j轮更新矩阵为Di,D1= A1*Q[:n1,:],Dt= At*Q[n1:…:nt,:],1<t<w,Dw= Aw*Q[nw:,:];第j轮多方联合矩阵为:
Figure 984435DEST_PATH_IMAGE003
可选地,所述w个数据方的数据矩阵分别对应相同样本集在不同特征维度上的样本数据。
本发明实施例提供的数据处理方法,通过对多个数据方的数据矩阵联合进行随机奇异值分解,可以实现多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理。多个数据方中每个数据方的数据矩阵具有相同的列数,也即,每个数据方的数据矩阵可以分别对应相同样本集在不同特征维度上的样本数据。降维处理后的多方数据可用于联邦建模,通过本发明实施例可以实现利用多个数据方持有的相同的样本集在不同特征维度上的样本数据进行纵向联邦建模,使得多个数据方持有的数据实现共享,可以在更大规模、更高质量的数据集上进行模型的训练,提高模型质量。此外,本发明实施例对多个数据方的数据矩阵联合进行随机奇异值分解,相比于奇异值分解,可以降低计算成本,并且能以规定的低等级k产生精确的压缩,可以提高计算灵活性,满足不同计算精度的需求。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据处理的装置,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述装置包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行以下操作的指令:确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
图3是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图4是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1.一种数据处理方法,其特征在于,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述方法包括:
确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;
基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,包括:
所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台;
所述密文计算平台,基于所述给定参数,在密文基础上对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
3.根据权利要求1所述的方法,其特征在于,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,包括:
基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵;
根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵;
基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵;
根据所述目标联合正交矩阵和每个数据方的数据矩阵,计算每个数据方的低维矩阵;
根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵;
从所述对角线矩阵中选出最大的k个元素作为分解结果。
4.根据权利要求1所述的方法,其特征在于,所述w个数据方中包括1个主动方和w-1个被动方,所述基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果,包括:
每个数据方基于持有的数据矩阵,分别在本地计算自身的单方矩阵,每个被动方将自身的单方矩阵发送至所述主动方;
所述主动方根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵,所述主动方将所述初始联合正交矩阵发送至每个被动方;
每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵;
每个数据方根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地计算自身的低维矩阵,每个数据方将自身的低维矩阵发送至密文计算平台;
所述密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵,所述密文计算平台将所述对角线矩阵发送至所述主动方;
所述主动方从所述对角线矩阵中选出最大的k个元素作为分解结果。
5.根据权利要求3或4所述的方法,其特征在于,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 115307DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
6.根据权利要求3所述的方法,其特征在于,所述基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵,包括:
在第j轮迭代中,根据上一轮得到的初始联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的第j轮单方矩阵;
根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵;
基于所述第j轮拼接矩阵的正交矩阵,计算每个数据方的第j轮更新矩阵;
根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵;
在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
7.根据权利要求4所述的方法,其特征在于,所述每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵,包括:
在第j轮迭代中,每个数据方根据上一轮得到的初始联合正交矩阵和自身的数据矩阵,分别在本地计算自身的第j轮单方矩阵,每个数据方将自身的第j轮单方矩阵发送至密文计算平台;
所述密文计算平台根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵,所述密文计算平台将所述第j轮拼接矩阵的正交矩阵发送至每个数据方;
每个数据方基于所述第j轮拼接矩阵的正交矩阵,分别在本地计算自身的第j轮更新矩阵,每个被动方将自身的第j轮更新矩阵发送至所述主动方;
所述主动方根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,所述主动方将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方;
在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
8.根据权利要求6或7所述的方法,其特征在于,对于w个数据方,第i个数据方的第j轮单方矩阵为:
Figure 501289DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵;第j轮拼接矩阵为:C =[C1,C2,…,Cw];第i个数据方的第j轮更新矩阵为Di,D1= A1*Q[:n1,:],Dt= At*Q[n1:…:nt,:],1<t<w,Dw= Aw*Q[nw:,:];第j轮多方联合矩阵为:
Figure 546605DEST_PATH_IMAGE003
9.根据权利要求1所述的方法,其特征在于,所述w个数据方的数据矩阵分别对应相同样本集在不同特征维度上的样本数据。
10.一种数据处理装置,其特征在于,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述装置包括:
数据确定模块,用于确定参与奇异值分解的w个数据方,其中,第i个数据方持有数据矩阵Ai,i取值为1~w,w>1,各数据方的数据矩阵具有相同的列数,给定参数包括p、q和k,p为过采样数,q为迭代轮数,k为奇异值个数;
联合计算模块,用于基于所述给定参数,对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
11.根据权利要求10所述的装置,其特征在于,所述联合计算模块,包括:
数据加密子模块,用于所述w个数据方分别将自身的数据矩阵加密后上传至密文计算平台;
加密计算子模块,用于所述密文计算平台,基于所述给定参数,在密文基础上对所述w个数据方的数据矩阵联合进行随机奇异值分解,得到分解结果。
12.根据权利要求10所述的装置,其特征在于,所述联合计算模块,包括:
第一单方矩阵计算子模块,用于基于每个数据方持有的数据矩阵,计算每个数据方的单方矩阵;
第一联合矩阵计算子模块,用于根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵;
第一迭代操作计算子模块,用于基于所述初始联合正交矩阵和每个数据方的数据矩阵,进行q轮的迭代操作,得到目标联合正交矩阵;
第一低维矩阵计算子模块,用于根据所述目标联合正交矩阵和每个数据方的数据矩阵,计算每个数据方的低维矩阵;
第一低维拼接计算子模块,用于根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵;
第一分解结果选择子模块,用于从所述对角线矩阵中选出最大的k个元素作为分解结果。
13.根据权利要求10所述的装置,其特征在于,所述w个数据方中包括1个主动方和w-1个被动方,所述联合计算模块,包括:
第二单方矩阵计算子模块,用于通过每个数据方基于持有的数据矩阵,分别在本地计算自身的单方矩阵,每个被动方将自身的单方矩阵发送至所述主动方;
第二联合矩阵计算子模块,用于通过所述主动方根据每个数据方的单方矩阵,计算多方联合矩阵,并对所述多方联合矩阵进行QR分解,得到初始联合正交矩阵,所述主动方将所述初始联合正交矩阵发送至每个被动方;
第二迭代操作计算子模块,用于通过每个数据方基于所述初始联合正交矩阵和自身的数据矩阵,协同进行q轮的迭代操作,得到目标联合正交矩阵;
第二低维矩阵计算子模块,用于通过每个数据方根据所述目标联合正交矩阵和自身的数据矩阵,分别在本地计算自身的低维矩阵,每个数据方将自身的低维矩阵发送至密文计算平台;
第二低维拼接计算子模块,用于通过所述密文计算平台根据每个数据方的低维矩阵,生成低维拼接矩阵,并对所述低维拼接矩阵进行奇异值分解,得到对角线矩阵,所述密文计算平台将所述对角线矩阵发送至所述主动方;
第二分解结果选择子模块,用于通过所述主动方从所述对角线矩阵中选出最大的k个元素作为分解结果。
14.根据权利要求12或13所述的装置,其特征在于,对于所述w个数据方,第i个数据方的单方矩阵为:Yi=AiGi,Gi为对第i个数据方的数据矩阵Ai计算得到的均匀分布矩阵,Gi的大小为ni*(k+p),ni为Ai的行数;多方联合矩阵为:
Figure 266781DEST_PATH_IMAGE001
;第i个数据方的低维矩阵为:Bi=QTAi,Q为目标联合正交矩阵;低维拼接矩阵为:B=[B1,B2,...,Bw]。
15.根据权利要求12所述的装置,其特征在于,所述第一迭代操作计算子模块,包括:
第一计算单元,用于在第j轮迭代中,根据上一轮得到的初始联合正交矩阵和每个数据方持有的数据矩阵,计算每个数据方的第j轮单方矩阵;
第一拼接单元,用于根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵;
第一更新单元,用于基于所述第j轮拼接矩阵的正交矩阵,计算每个数据方的第j轮更新矩阵;
第一联合单元,用于根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵;在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
16.根据权利要求13所述的装置,其特征在于,所述第二迭代操作计算子模块,包括:
第二计算单元,用于在第j轮迭代中,通过每个数据方根据上一轮得到的初始联合正交矩阵和自身的数据矩阵,分别在本地计算自身的第j轮单方矩阵,每个数据方将自身的第j轮单方矩阵发送至密文计算平台;
第二拼接单元,用于通过所述密文计算平台根据每个数据方的第j轮单方矩阵,生成第j轮拼接矩阵,并对所述第j轮拼接矩阵进行QR分解,得到所述第j轮拼接矩阵的正交矩阵,所述密文计算平台将所述第j轮拼接矩阵的正交矩阵发送至每个数据方;
第二更新单元,用于通过每个数据方基于所述第j轮拼接矩阵的正交矩阵,分别在本地计算自身的第j轮更新矩阵,每个被动方将自身的第j轮更新矩阵发送至所述主动方;
第二联合单元,用于通过所述主动方根据每个数据方的第j轮更新矩阵,计算第j轮多方联合矩阵,并对所述第j轮多方联合矩阵进行QR分解,得到参与下一轮迭代的初始联合正交矩阵,所述主动方将所述参与下一轮迭代的初始联合正交矩阵发送至每个被动方;在第j=q轮迭代执行完成时,得到目标联合正交矩阵。
17.根据权利要求15或16所述的装置,其特征在于,对于w个数据方,第i个数据方的第j轮单方矩阵为:
Figure 346733DEST_PATH_IMAGE002
,Q为上一轮得到的初始联合正交矩阵;第j轮拼接矩阵为:C= [C1,C2,…,Cw];第i个数据方的第j轮更新矩阵为Di,D1= A1*Q[:n1,:],Dt= At*Q[n1:…:nt,:],1<t<w,Dw= Aw*Q[nw:,:];第j轮多方联合矩阵为:
Figure 372457DEST_PATH_IMAGE003
18.根据权利要求10所述的装置,其特征在于,所述w个数据方的数据矩阵分别对应相同样本集在不同特征维度上的样本数据。
19.一种用于数据处理的装置,其特征在于,用于多方数据融合计算场景中对多个数据方分别持有的特征数据联合进行降维处理,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于执行如权利要求1至9中任一所述的数据处理方法的指令。
20.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至9中任一所述的数据处理方法。
CN202111383338.6A 2021-11-22 2021-11-22 一种数据处理方法、装置和用于数据处理的装置 Active CN113821764B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111383338.6A CN113821764B (zh) 2021-11-22 2021-11-22 一种数据处理方法、装置和用于数据处理的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111383338.6A CN113821764B (zh) 2021-11-22 2021-11-22 一种数据处理方法、装置和用于数据处理的装置

Publications (2)

Publication Number Publication Date
CN113821764A true CN113821764A (zh) 2021-12-21
CN113821764B CN113821764B (zh) 2022-02-11

Family

ID=78918002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111383338.6A Active CN113821764B (zh) 2021-11-22 2021-11-22 一种数据处理方法、装置和用于数据处理的装置

Country Status (1)

Country Link
CN (1) CN113821764B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561797A (zh) * 2008-04-14 2009-10-21 国际商业机器公司 在处理系统上对矩阵进行奇异值、特征值分解的方法和装置
US20130191425A1 (en) * 2012-01-20 2013-07-25 Fatih Porikli Method for Recovering Low-Rank Matrices and Subspaces from Data in High-Dimensional Matrices
CN110889139A (zh) * 2019-11-26 2020-03-17 支付宝(杭州)信息技术有限公司 针对用户隐私数据进行多方联合降维处理的方法及装置
CN111400766A (zh) * 2020-03-25 2020-07-10 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法及装置
CN111401479A (zh) * 2020-04-17 2020-07-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行降维处理的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561797A (zh) * 2008-04-14 2009-10-21 国际商业机器公司 在处理系统上对矩阵进行奇异值、特征值分解的方法和装置
US20130191425A1 (en) * 2012-01-20 2013-07-25 Fatih Porikli Method for Recovering Low-Rank Matrices and Subspaces from Data in High-Dimensional Matrices
CN110889139A (zh) * 2019-11-26 2020-03-17 支付宝(杭州)信息技术有限公司 针对用户隐私数据进行多方联合降维处理的方法及装置
CN111400766A (zh) * 2020-03-25 2020-07-10 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法及装置
WO2021190424A1 (zh) * 2020-03-25 2021-09-30 支付宝(杭州)信息技术有限公司 针对隐私数据进行多方联合降维处理的方法和装置
CN111401479A (zh) * 2020-04-17 2020-07-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行降维处理的方法和装置

Also Published As

Publication number Publication date
CN113821764B (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
CN109800737B (zh) 面部识别方法及装置、电子设备和存储介质
CN110909815B (zh) 神经网络训练、图像处理方法、装置及电子设备
CN111859035B (zh) 数据处理方法及装置
CN114401154B (zh) 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置
CN111581488A (zh) 一种数据处理方法及装置、电子设备和存储介质
CN115396101B (zh) 一种基于秘密分享的不经意打乱方法和系统
CN110188865B (zh) 信息处理方法及装置、电子设备和存储介质
CN115396100B (zh) 一种基于秘密分享的不经意随机打乱方法和系统
TW202036476A (zh) 圖像處理方法及裝置、電子設備和儲存介質
US20230161905A1 (en) Firecommendation method, device, and system for distributed privacy-preserving learning
CN114840568B (zh) 一种密文排序方法、装置和用于密文排序的装置
CN113094744A (zh) 信息处理方法、服务平台、用于信息处理的装置和多方安全计算系统
CN115085912A (zh) 一种密文计算方法、装置和用于密文计算的装置
CN113032839B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113033717B (zh) 一种模型生成方法、装置以及用于模型生成的装置
CN112487415B (zh) 计算任务的安全性检测方法及装置
CN114662686A (zh) 一种神经网络模型训练方法、装置和安全计算平台
CN112269904B (zh) 数据处理方法及装置
CN110297970B (zh) 信息推荐模型训练方法及装置
CN113821764B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN109635926B (zh) 用于神经网络的注意力特征获取方法、装置及存储介质
CN113821732B (zh) 保护用户隐私的项目推荐方法、设备和学习系统
CN112861145B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112580064B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113779500B (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