数据降维方法、终端设备及存储介质与流程
未命名
08-15
阅读:90
评论:0
1.本技术属于数据处理领域,尤其涉及数据降维方法、终端设备及存储介质。
背景技术:
2.数据降维是机器学习和模式分类应用程序中的预处理步骤,用于除去数据集中的冗余的和因变量的特征,从而提高后续计算效率。在对多方数据进行数据降维的情况下,各方数据格式不统一,且不能将己方数据泄露给其他方,从而增加了数据降维的难度。
技术实现要素:
3.有鉴于此,本技术实施例提供了数据降维方法、终端设备及存储介质,可以在各方数据格式不统一且不泄露各方数据的情况下,实现对多方数据的降维。
4.本技术实施例的第一方面提供了一种数据降维方法,执行于协调方,所述方法包括:
5.获取发起方发送的第一加密数据以及位置标识,获取每个参与方发送的q组第二加密数据;所述第一加密数据是对所述发起方的第一数据集中的数据以及每个数据对应的第一标签进行预处理以及加密得到,所述第一标签表示所述第一数据集中的数据的类别;每组所述第二加密数据是对所述参与方的第二数据集中的数据以及对应的第二标签进行预处理以及加密得到;q组所述第二标签由所述发起方发送给所述参与方,q组所述第二标签中仅有一组标签表示所述第二数据集中的数据的真实类别;
6.根据所述位置标识从q组所述第二加密数据中确定所述真实类别对应的目标加密数据;
7.根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵;
8.根据所述类内散度矩阵和所述类间散度矩阵确定投影矩阵;
9.将所述投影矩阵发送给所述发起方和所述参与方,以指示所述发起方根据所述投影矩阵对所述第一数据集进行数据降维,以及指示所述参与方根据所述投影矩阵对所述第二数据集进行数据降维。
10.在一实施例中,所述第一加密数据包括第一分类数据和第一均值差数据,所述第二加密数据包括第二分类数据和第二均值差数据;所述第一分类数据根据所述第一数据集中的数据与对应类别的第一均值向量和确定,所述第一均值差数据根据所述第一数据集中各类数据的均值差确定;所述第二分类数据根据所述第二数据集中的数据与所述第二标签所对应类别的第二均值向量和确定,所述第二均值差数据根据所述第二数据集中所述第二标签所对应的各类数据的均值差确定;所述目标加密数据包括所述第二分类数据中的目标分类数据以及所述第二均值差数据中的目标均值差数据;
11.所述根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵,包括:
12.根据所述第一分类数据和所述目标分类数据确定类内散度矩阵;
13.根据所述第一均值差数据和所述目标均值差数据确定类间散度矩阵。
14.在一实施例中,所述根据所述第一分类数据和所述目标分类数据确定类内散度矩阵,包括:
15.获取所述发起方发送的加密后的第一协方差矩阵以及所述参与方发送的q组加密后的第二协方差矩阵;
16.根据所述位置标识从q组所述加密后的协方差矩阵中确定所述真实类别对应的加密后的目标协方差矩阵;
17.根据所述第一分类数据和所述目标分类数据确定第一子矩阵;
18.根据所述加密后的第一协方差矩阵、所述加密后的目标协方差矩阵以及所述第一子矩阵确定类内散度矩阵。
19.在一实施例中,所述根据所述加密后的第一协方差矩阵、加密后的目标协方差矩阵以及所述第一子矩阵确定类内散度矩阵,包括:
20.对所述加密后的第一协方差矩阵、加密后的目标协方差矩阵以及所述第一子矩阵进行组合,得到第一组合矩阵;
21.对各类数据对应的第一组合矩阵求和,得到类内散度矩阵。
22.在一实施例中,所述根据所述第一均值差数据和所述目标均值差数据确定类间散度矩阵,包括:
23.获取所述发起方发送的第二子矩阵以及所述参与方发送的q个第三子矩阵;
24.根据所述位置标识从q个所述第三子矩阵中确定目标子矩阵;
25.根据所述第一均值差数据和所述目标均值差数据确定第四子矩阵;
26.根据所述第二子矩阵、所述目标子矩阵以及所述第四子矩阵确定类间散度矩阵。
27.在一实施例中,若数据类别为2,所述第一数据集中各类数据的均值差为2类数据的第一均值向量和之间的差值,所述第二数据集中所述第二标签所对应的各类数据的均值差为2类数据的第二均值向量和之间的差值;若数据类别大于2,所述第一数据集中各类数据的均值差为所述第一均值向量和与全局均值向量之间的差值,所述第二数据集中所述第二标签所对应的各类数据的均值差为所述第二均值向量和与对应的全局均值向量之间的差值。
28.在一实施例中,所述第一数据集是对第一原始数据集进行筛选和排序得到,所述第二数据集是对第二原始数据集进行筛选和排序得到;所述第一数据集与所述第二数据集中的数据的标识一致。
29.在一实施例中,所述第一加密数据和所述第二加密数据为经过掩码加密后的数据,所述掩码为所述发起方和各所述参与方之间以及各所述参与方之间,两两生成的加密值。
30.本技术实施例的第二方面提供了一种数据降维装置,包括:
31.获取模块,用于获取发起方发送的第一加密数据以及位置标识,获取参与方发送的q组第二加密数据;所述第一加密数据是对所述发起方的第一数据集中的数据以及每个数据对应的第一标签进行预处理以及加密得到,所述第一标签表示所述第一数据集中的数据的类别;每组所述第二加密数据是对所述参与方的第二数据集中的数据以及对应的第二标签进行预处理以及加密得到;q组所述第二标签由所述发起方发送给所述参与方,q组所
述第二标签中仅有一组标签表示所述第二数据集中的数据的真实类别;
32.第一计算模块,用于根据所述位置标识从q组所述第二加密数据中确定所述真实类别对应的目标加密数据;
33.第二计算模块,用于根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵;
34.第三计算模块,用于根据所述类内散度矩阵和所述类间散度矩阵确定投影矩阵;
35.获取模块,用于将所述投影矩阵发送给所述发起方和所述参与方,以指示所述发起方根据所述投影矩阵对所述第一数据集进行数据降维,以及指示所述参与方根据所述投影矩阵对所述第二数据集进行数据降维。
36.本技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据降维方法。
37.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据降维方法。
38.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的数据降维方法。
39.本技术实施例与现有技术相比存在的有益效果是:发起方将q组第二标签发送给参与方,且仅有一组第二标签表示第二数据集中的数据的真实类别。协调方获取发起方对第一数据集中的数据及对应的第一标签预处理以及加密后的第一加密数据,获取参与方对第二数据集中的数据以及对应的q组第二标签预处理以及加密后的q组第二加密数据,协调方根据发起方发送的位置标识即可确定真实类别对应的目标加密数据。因此,在参与方的第二数据集没有标签,且发起方不向参与方公开第一数据集对应的标签的情况下,协调方也可以获取与真实类别对应的目标加密数据。之后,协调方根据第一加密数据和目标加密数据确定类内散度矩阵和类间散度矩阵,根据类内散度矩阵和类间散度矩阵确定投影矩阵,将投影矩阵发送给发起方和参与方,以指示发起方根据投影矩阵对第一数据集进行数据降维,以及指示参与方根据投影矩阵对第二数据集进行数据降维。因此,在第一数据集和第二数据集的数据格式不统一,且不将发起方和参与方的数据发送给协调方的情况下,通过协调方的统计运算,即可实现对发起方的数据和参与方的数据进行降维。
附图说明
40.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
41.图1是本技术一实施例提供的数据降维方法的实现流程示意图;
42.图2是本技术实施例提供的第一组合矩阵的示意图;
43.图3是本技术实施例提供的类内散度矩阵的示意图;
44.图4是本技术实施例提供的第二组合矩阵的示意图;
45.图5是本技术实施例提供的类间散度矩阵的示意图;
46.图6是本技术一实施例提供的数据降维方法的具体流程图;
47.图7是本技术一实施例提供的数据降维装置的示意图;
48.图8是本技术实施例提供的终端设备的结构示意图。
具体实施方式
49.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
50.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
51.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
52.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
53.另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
54.在发起方的第一数据集和参与方的第二数据集的格式不一致,且不互相公开各方数据的情况下,实现数据降维存在一定难度。
55.为此,本技术提供一种数据降维方法,发起方的第一数据集中的每个数据存在第一标签,参与方的第二数据集不存在标签,因此第一数据集和第二数据集中的数据的格式不一致。发起方将q组第二标签发送给参与方,且仅有一组第二标签表示第二数据集中的数据的真实类别。协调方获取发起方对第一数据集中的数据及对应的第一标签预处理以及加密后的第一加密数据,获取参与方对第二数据集中的数据以及对应的q组第二标签预处理以及加密后的q组第二加密数据,协调方根据发起方发送的位置标识即可确定真实类别对应的目标加密数据。之后,协调方根据第一加密数据和目标加密数据确定类内散度矩阵和类间散度矩阵,根据类内散度矩阵和类间散度矩阵确定投影矩阵,将投影矩阵发送给发起方和参与方,以指示发起方根据投影矩阵对第一数据集进行数据降维,以及指示参与方根据投影矩阵对第二数据集进行数据降维。因此,在第一数据集和第二数据集的数据格式不统一,发起方不向参与方公开第一数据集对应的标签的情况下,协调方也可以获取与真实类别对应的目标加密数据,再根据第一加密数据以及目标加密数据即可最终得到投影矩阵,实现对发起方的数据和参与方的数据进行降维。
56.下面对本技术提供的数据降维方法进行示例性说明。
57.本技术提供的数据降维方法用于对发起方和多个参与方所拥有的数据集进行降维,执行于协调方,发起方、参与方以及协调方均可以是区块链上的终端。
58.请参阅附图1,本技术一实施例提供的数据降维方法包括:
59.s101:获取发起方发送的第一加密数据以及位置标识,获取每个参与方发送的q组第二加密数据;所述第一加密数据是对所述发起方的第一数据集中的数据以及每个数据对
应的第一标签进行预处理以及加密得到,所述第一标签表示所述第一数据集中的数据的类别;每组所述第二加密数据是对所述参与方的第二数据集中的数据以及对应的第二标签进行预处理以及加密得到;q组所述第二标签由所述发起方发送给所述参与方,q组所述第二标签中仅有一组标签表示所述第二数据集中的数据的真实类别。
60.其中,发起方拥有第一数据集,多个参与方中的每个参与方拥有第二数据集。第一数据集包括多个数据,每个数据对应多个特征,每个数据对应一个第一标签,第二数据集包括多个数据,每个数据对应多个特征,第二数据集中的数据不存在对应的标签。
61.例如,发起方为银行,第一数据集中的每个数据为一个用户在银行的信用信息,包括用户姓名、借款金额、借款时间、还款时间、是否逾期等信息,第一标签为信用级别(例如为高、中、低中的任一项)。每个参与方对应一个电商,第二数据集中的每个数据为用户的电商消费信息,包括用户姓名、性别、居住地、购物类别、购物金额等。
62.第一数据集中的每个数据和第二数据集中的每个数据均存在标识(例如姓名、身份证号等特征),第一数据集中存在与第二数据集中的标识相同的标识。发起方中每个数据对应一个第一标签,因此,每个标识对应一个第一标签,发起方根据第一数据集中每个数据对应的第一标签生成与每个数据对应的第二标签,第二标签与第一数据集中的数据的标识一一对应,也即与第二数据集中的数据的标识一一对应。多组第二标签中,只有一组第二标签表示第二数据集中的数据的真实类别,即只有一组第二标签与第二数据集中的数据的真实标签一一对应。
63.在一实施例中,第一数据集是对第一原始数据集进行筛选和排序得到,第二数据集是对第二原始数据集进行筛选和排序得到,第一数据集与第二数据集中的数据的标识一致,即第一数据集中的数据的标识与第二数据集中的数据的标识一一对应。因此,第一数据集按照数据的标识顺序所生成的第二标签即可与第二数据集中的数据的标识一一对应。
64.示例性地,用于进行数据降维的数据集包括发起方a以及n-1个参与方的数据集,n-1个参与方分别为b、c...n。发起方a方的第一原始数据集以及各数据对应的第一标签表示为示为表示第一原始数据集中任意数据,表示第一原始数据集中的数据对应的标签;参与方b方的第二原始数据集表示为表示b方第二原始数据集中任意数据;参与方n方的第二原始数据集表示为集中任意数据;参与方n方的第二原始数据集表示为表示n方第二数据集中任意数据。其中为a维向量,为b维向量,
…
,为n维向量,只有发起方a方的第一原始数据集中的数据存在对应的第一标签。
65.发起方根据psi(private set intersection)算法对第一原始数据集进行筛选和排序,得到第一数据集,各参与方根据psi算法对第二原始数据集进行筛选和排序,得到第二数据集。第一数据集中的数据和第二数据集中的数据的id顺序一致,第一数据集和第二数据集中的数据的数量相同。发起方a方的第一数据集和各数据对应的标签表示为参与方b方的第二数据集表示为
…
,参与方n方的第二数据集表示为
66.在得到第一数据集后,发起方生成n-1组q条消息发起方将n-1组q条消息分别发送给n-1个参与方,每个参与方均得到q条消息。每条信息表示为idi表示数据对应的id,表示第l方数据对应的第二标签,i=1,2
…
p,p表示第一数据集或第二数据集中的数据的数量,即每条消息均包括一组第二标签。每一组q条消息中,有且仅有一条是真实信息,即有且仅有一组第二标签表示对应参与方的第二数据集中的数据的真实标签(真实类别)。
67.在一实施例中,发起方可以使用第一数据集中各类数据的均值向量和对第一数据集中的数据进行预处理,之后使用掩码对预处理后的数据进行加密。参与方可以使用第二数据集中各类数据的均值向量和对第二数据集中的数据进行预处理,之后使用掩码对预处理后的数据进行加密。
68.在一实施例中,第一加密数据包括第一分类数据和第一均值差数据。发起方根据第一数据集中的数据与对应类别的第一均值向量和对第一数据集进行预处理,之后使用掩码加密,得到第一分类数据。参与方根据第二数据集中的数据与第二标签所对应的类别的第二均值向量和对第二数据集进行预处理,之后使用掩码加密,得到第二分类数据。
69.示例性地,表示第l方的第j类数据的集合,发起方根据公式计算各类数据的第一均值向量和参与方根据公式计算各类数据的第二均值向量和(l=b,c
…
n)。其中,每个参与方均接收到q条消息,每条消息对应一组第二标签,因此每参与方均对应q组第二标签,即对应q种类别分类方式。根据q种类别分类方式,每个参与方均计算得到q组第二均值向量和。
70.发起方根据第一均值向量和更新第一数据集,得到更新后的第一数据集其中其中表示第一数据集中的数据,表示更新后的第一数据集中的数据,表示第一数据集中的数据对应的第一标签,i=1,2
…
p。
71.参与方对应q组第二均值向量和,分别根据q组第二均值向量和更新第二数据集,得到q组更新后的第二数据集,分别为
72.其中其中表示第l参与方的第二数据集中的数据,表示第l方第q组第二标签,表示第l方第q组第二标签对应的第二均值向量和,表示第l方第q组第二标签对应的更新后的第二数据集中的数据。
73.发起方a和各参与方b、c...n根据psa(practicalsecure aggregation)算法两两
间生成psa掩码,例如a方和b方、a方和c方...b方和c方...m方和n方对应的掩码分别为{mask
ab
,mask
ac
,
…
,mask
bc
,
…
,mask
mn
}。
74.发起方a和各参与方共有n-1个掩码,每个参与方与发起方及其他参与方共有n-1个掩码。
75.发起方a采用n-1个掩码加密更新后的第一数据集,得到第一分类数据d
″
ab
,d
″
ac
,
…
,d
″
an
,共n-1个。其中,1个。其中,其中,mask
ah
表示发起方a与各参与方之间的掩码,表示第一标签,hash表示哈希运算。
76.参与方采用n-1个掩码加密每组第二标签对应的更新后的第二数据集,得到q组第二分类数据,分别为
77.其中,
[0078][0079][0079]
表示第l方第t组第二标签对应的第二分类数据,该第二分类数据通过第l方与第h方之间的掩码加密,mask
lh
表示第l方与第h方之间的掩码,第h方表示a方以及除第l方之外的其他参与方,表示第l方第t组第二标签,hash表示哈希运算,根据第l方与第h方在a,b
…
n中的顺序确定l和h的大小关系。
[0080]
发起方计算第一数据集中各类数据的均值差,并使用掩码加密,得到第一均值差数据,参与方计算第二数据集中第二标签所对应的各类数据的均值差,并使用掩码加密,得到第二均值差数据。
[0081]
在一实施例中,若数据类别为2,第一数据集中各类数据的均值差为2类数据的第一均值向量和之间的差值,第二数据集中第二标签所对应的各类数据的均值差为2类数据的第二均值向量和之间的差值;若数据类别大于2,第一数据集中各类数据的均值差为第一均值向量和与全局均值向量之间的差值,第二数据集中所述第二标签所对应的各类数据的均值差为第二均值向量和与对应的全局均值向量之间的差值。
[0082]
示例性地,若数据类别为2,发起方根据公式计算2类数据的均值差,其中,和分别表示第一数据集中2类数据的第一均值向量和,表示第一数据集中2类数据的均值差。
[0083]
参与方根据公式计算2类数据的均值差,其中,和分别表示第l方第t组第二标签对应的2类数据的第二均值向量和,表示第l方第t组第二标签对应的2类数据的均值差。
[0084]
之后,发起方采用n-1个掩码加密2类数据的均值差,得到第一均值差数据。其中,ra表示第一均值差数据。
[0085]
参与方采用n-1个掩码加密每组第二标签对应的2类数据的均值差,得到q组第二均值差数据其中,其中,表示第l方第t组第二标签对应的第二均值差数据。
[0086]
若数据类别大于2,发起方对第一数据集中各类数据对应的第一均值向量和求和,得到第一数据集的全局均值向量。之后根据公式得到第一数据集的全局均值向量。之后根据公式计算各类数据的均值差,其中,表示第j类数据的均值差,μ
l
表示第一数据集的全局均值向量。
[0087]
参与方根据各组第二标签对第二数据集中各类数据对应的第二均值向量和求和,得到第二数据集的各组全局均值向量。之后根据公式数据集的各组全局均值向量。之后根据公式计算各类数据的均值差,其中,表示第l方第t组第二标签对应的第j类数据的均值差,μ
l,t
表示第l方第t组第二标签对应的全局均值向量。
[0088]
之后,发起方采用n-1个掩码加密第一数据集中各类数据的均值差,得到各类数据的第一均值差数据。其中,均值差数据。其中,均值差数据。其中,表示第一数据集中第j类数据的数量,r
aj
表示第j类数据的第一均值差数据。
[0089]
参与方采用n-1个掩码加密每组第二标签对应的各类数据的均值差,得到q组第二均值差数据,每组第二均值差数据可以表示为均值差数据,每组第二均值差数据可以表示为均值差数据,每组第二均值差数据可以表示为表示第l方第t组第二标签对应的第j类数据第二均值差数据,表示第l方第t组第二标签对应的第j类数据的数量。
[0090]
之后,协调方从发起方获取第一分类数据、第一均值差数据以及真实的第二标签对应的位置标识,从参与方获取q组第二分类数据以及第二均值差数据。
[0091]
s102:根据所述位置标识从q组所述第二加密数据中确定所述真实类别对应的目标加密数据。
[0092]
具体地,参与方发送的q组第二加密数据中,每组第二加密数据对应一个位置标识,位置标识对应的一组第二标签表示第二数据集中的数据的真实类别。协调方在接收到q组第二加密数据后,确定与位置标识对应的第二加密数据,即为目标加密数据。
[0093]
在一实施例中,第二加密数据包括第二分类数据和第二均值差数据,对应地,目标加密数据包括第二分类数据中的目标分类数据以及第二均值差数据中的目标均值差数据。
[0094]
s103:根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵。
[0095]
在一实施例中,协调方根据第一加密数据中的第一分类数据以及目标加密数据中的目标分类数据确定类内散度矩阵。协调方根据第一加密数据中的第一均值差数据以及目标加密数据中的目标均值差数据确定类间散度矩阵。
[0096]
在一实施例中,协调方在获取第一分类数据以及目标分类数据之前,获取发起方发送的加密后的第一协方差矩阵以及参与方发送的q组加密后的第二协方差矩阵,根据位置标识从q组加密后的协方差矩阵中确定真实类别对应的加密后的目标协方差矩阵。
[0097]
具体地,发起方根据公式计算第一数据集中第j类数据的第一协方差矩阵,之后对类别进行哈希加密后得到加密后的第一协方差矩阵,加密后的第一协方差矩阵表示为方差矩阵,加密后的第一协方差矩阵表示为方差矩阵,加密后的第一协方差矩阵表示为表示更新后的第一数据集中的数据。
[0098]
参与方根据公式计算q组第二协防差矩阵,其中,表示第l方第t组第二标签对应的第j类数据的第二协方差矩阵,表示第l方第t组第二标签对应的更新后的第二数据集中的数据。之后,参与方对类别进行加密得到加密后的第二协方差矩阵,加密后的第二协方差矩阵表示为
[0099]
协调方获取发起方发送的加密后的第一协方差矩阵,以及获取参与方发送的加密后的第二协防差矩阵,再根据位置标识确定第二协防差矩阵中的加密后的目标协方差矩阵。
[0100]
协调方在得到第一分类数据和目标分类数据后,根据第一分类数据和目标分类数据确定第一子矩阵。具体地,若第一标签和第二标签相同,则第一标签对应的数据和第二标签对应的数据为同一类数据,哈希运算后的第一标签和哈希运算后的第二标签相同。第一分类数据和目标分类数据均是经过哈希运算后得到的数据,协调方根据相同的哈希运算后的第一标签以及真实类别对应的第二标签,结合公式对相同类别的数据进行计算,得到第一子矩阵。其中,表示第j类数据的第一子矩阵,表示e方第j类数据的集合,表示f方第j类数据的集合,mask
ef
表示e方和f方之间的掩码。
[0101]
之后协调方根据加密后的第一协方差矩阵、目标协方差矩阵以及第一子矩阵确定类内散度矩阵。
[0102]
在一实施例中,协调方对加密后的第一协方差矩阵、加密后的目标协方差矩阵以及第一子矩阵进行组合,得到第一组合矩阵,对各类数据对应的第一组合矩阵求和,得到类
内散度矩阵。
[0103]
具体地,将第j类数据对应的加密后的第一协防差矩阵、加密后的目标协方差矩阵作为如图2所示的第一组合矩阵对角线上的元素,即将第j类数据的第一子矩阵作为第一组合矩阵中除对角线之外的元素。
[0104]
之后,协调方对各类数据对应的第一组合矩阵求和,得到如图3所示的类内散度矩阵。
[0105]
在一实施例中,协调方在获取第一均值差数据和目标均值差数据之前,获取发起方发送的第二子矩阵以及参与方发送的第三子矩阵,根据位置标识从q个第三子矩阵中确定目标子矩阵。之后协调方再根据第一均值差数据和目标均值差数据确定第四子矩阵,根据第二子矩阵、目标子矩阵以及第四子矩阵确定类间散度矩阵。
[0106]
具体地,若数据类别为2,发起方根据公式确定第二子矩阵m
aa
。参与方根据公式确定第三子矩阵m
ll,t
。
[0107]
之后,发起方将第二子矩阵发送给协调方,参与方将q组第三子矩阵发送给协调方,协调方根据位置标识从第三子矩阵中确定目标子矩阵。
[0108]
之后,协调方根据公式确定第四子矩阵m
ef
,其中,和分别表示第一均值差数据和各参与方的目标均值差数据中的任意两个,分别对应e方和f方,mask
ef
表示e方和f方之间的掩码。
[0109]
协调方将第二子矩阵和目标子矩阵作为如图5所示的类间散度矩阵对角线上的元素,将第四子矩阵作为类间散度矩阵中除对角线之外的元素。
[0110]
若数据类别大于2,发起方根据公式若数据类别大于2,发起方根据公式确定第j类数据对应的第二子矩阵参与方根据公式确定第l方第t组第二标签对应的第j类数据的第三子矩阵
[0111]
之后,发起方将第二子矩阵发送给协调方,参与方将q组第三子矩阵发送给协调方,协调方根据位置标识从第三子矩阵中确定目标子矩阵。
[0112]
之后,协调方根据公式确定第四子矩阵,其中,和分别表示第一均值差数据和各参与方的目标均值差数据中的任意两个,分别对应e方和f方,mask
ef
表示e方和f方之间的掩码,表示e方数据集中第j类数据的数量。
[0113]
协调方将第二子矩阵和目标子矩阵作为如图4所示的第二组合矩阵对角线上的元素,即将第四子矩阵作为第二组合矩阵中除对角线之外的元素。之
后,对各类别数据对应的第二组合矩阵求和,得到类间散度矩阵。
[0114]
s104:根据所述类内散度矩阵和所述类间散度矩阵确定投影矩阵。
[0115]
具体地,协调方根据公式对类内散度矩阵的逆矩阵以及类间散度矩阵相乘,得到矩阵m,计算矩阵m的大于预设值的特征值以及这些特征值对应的特征向量,特征向量组成的矩阵即为投影矩阵。例如,协调方确定矩阵m的最大d个特征值以及对应的d个特征向量(w1,w2,
…
,wd),d个特征向量组成投影矩阵w。
[0116]
s105:将所述投影矩阵发送给所述发起方和所述参与方,以指示所述发起方根据所述投影矩阵对所述第一数据集进行数据降维,以及指示所述参与方根据所述投影矩阵对所述第二数据集进行数据降维。
[0117]
具体地,协调方在得到投影矩阵后,将投影矩阵发送到发起方和参与方,发起方将投影矩阵的转置矩阵与第一数据集的各数据相乘,得到第一数据集降维后的数据,参与方将投影矩阵的转置矩阵与第二数据集的各数据相乘,得到第二数据集降维后的数据。例如,发起方和参与方根据公式得到降维后的数据
[0118]
上述实施例中,发起方将q组第二标签发送给参与方,且仅有一组第二标签表示第二数据集中的数据的真实类别。协调方获取发起方对第一数据集中的数据及对应的第一标签预处理以及加密后的第一加密数据,获取参与方对第二数据集中的数据以及对应的q组第二标签预处理以及加密后的q组第二加密数据,协调方根据发起方发送的位置标识即可确定真实类别对应的目标加密数据。因此,在参与方的第二数据集没有标签,且发起方不向参与方公开第一数据集对应的标签的情况下,协调方也可以获取与真实类别对应的目标加密数据。之后,协调方根据第一加密数据和目标加密数据确定类内散度矩阵和类间散度矩阵,根据类内散度矩阵和类间散度矩阵确定投影矩阵,将投影矩阵发送给发起方和参与方,以指示发起方根据投影矩阵对第一数据集进行数据降维,以及指示参与方根据投影矩阵对第二数据集进行数据降维。因此,在第一数据集和第二数据集的数据格式不统一,且不将发起方和参与方的数据发送给协调方的情况下,通过协调方的统计运算,即可实现对发起方的数据和参与方的数据进行降维。
[0119]
在一实施例中,数据降维方法的具体流程如图6所示。
[0120]
1.协调方指示发起方和各参与方两两之间生成掩码。
[0121]
2.发起方根据psi算法对第一原始数据集进行筛选和排序,得到第一数据集,各参与方根据psi算法对第二原始数据集进行筛选和排序,得到第二数据集。第一数据集中的数据和第二数据集中的数据的id顺序一致,第一数据集和第二数据集中的数据的数量相同。发起方根据第一数据集中的数据与对应的第一均值向量和的差值更新第一数据集,得到更新后的第一数据集。
[0122]
3.发起方生成n-1组q条消息,将n-1组q条消息分别发送给n-1个参与方,每个参与方均得到q条消息。每一组q条消息中,有且仅有一条是真实信息。同时,发起方将q条消息中真实消息对应的位置标识发送给协调方。
[0123]
4.q条消息对应q组第二标签,参与方根据q条消息确定q个第二均值向量和,根据第二数据集中的数据与第二标签所对应类别的第二均值向量和的差值更新第二数据集,得到q组更新后的第二数据集。
[0124]
5.发起方使用掩码加密更新后的第一数据集,得到第一分类数据,将第一分类数据发送给协调方。参与方使用掩码加密每组第二标签对应的更新后的第二数据集,得到q组第二分类数据,将q组第二分类数据发送给协调方。
[0125]
6.发起方根据更新后的第一数据集计算第一协方差矩阵,对第一协方差矩阵加密得到加密后的第一协方差矩阵,将加密后的第一协防差矩阵发送给协调方。参与方根据更新后的第二数据集计算q组第二协方差矩阵,对第二协方差矩阵加密得到加密后的第二协方差矩阵,将加密后的第二防差矩阵发送给协调方。
[0126]
7.协调方根据位置标识从第二协方差矩阵中确定目标协方差矩阵,以及从第二分类数据中确定目标分类数据。
[0127]
8.协调方根据第一分类数据和目标分类数据确定第一子矩阵。
[0128]
9.协调方根据加密后的第一协方差矩阵、目标协方差矩阵以及第一子矩阵确定类内散度矩阵。
[0129]
对于数据类别为2(即二分类)的情况,确定类间散度矩阵的流程如下。
[0130]
10.1.发起方根据2类数据对应的第一均值向量和确定第一数据集中2类数据的均值差,参与方计算q组第二标签对应的第二均值向量和q组第二数据集中2类数据的均值差。
[0131]
10.2.发起方根据第一数据集中2类数据的均值差确定第二子矩阵,将第二子矩阵发送给协调方。
[0132]
10.3.参与方根据q组第二数据集中2类数据的均值差确定q组第三子矩阵,将q组第三子矩阵发送给协调方。
[0133]
10.4.发起方使用掩码第一数据集中加密2类数据的均值差,得到第一均值差数据,将第一均值差数据发送给协调方。
[0134]
10.5.参与方使用掩码加密q组第二数据集中2类数据的均值差,得到q组第二均值差数据,将q组第二均值差数据发送给协调方。
[0135]
10.6.协调方根据位置标识从q组第二均值差数据中确定目标均值差数据,以及从第三子矩阵中确定目标子矩阵。
[0136]
10.7.协调方根据第一均值差数据、目标均值差数据、第二子矩阵以及目标子矩阵确定类间散度矩阵。
[0137]
对于数据类别大于2(即多分类)的情况,确定类间散度矩阵的流程如下。
[0138]
10.1.发起方计算第一数据集的全局均值向量,计算各类数据的第一均值向量和与全局均值向量之间的差值,得到第一数据集中各类数据的均值差。参与方计算q组第二标签对应的第二均值向量和与全局均值向量之间的差值,得到q第二数据集中各类数据的均值差。
[0139]
10.2.发起方根据第一数据集中各类数据的均值差确定第二子矩阵,将第二子矩阵发送给协调方。
[0140]
10.3.参与方根据q组第二数据集中各类数据的均值差得到q组第三子矩阵,将q组第三子矩阵发送给协调方。
[0141]
10.4.发起方使用掩码加密第一数据集中各类数据的均值差,得到第一均值差数据,将第一均值差数据发送给协调方。
[0142]
10.5.参与方使用掩码加密q组第二数据集中各类数据的均值差,得到q组第二均
值差数据,将q组第二均值差数据发送给协调方。
[0143]
10.6.协调方根据位置标识从q组第二均值差数据中确定目标均值差数据,以及从第三子矩阵中确定目标子矩阵。
[0144]
10.7.协调方根据第一均值差数据、目标均值差数据、第二子矩阵以及目标子矩阵确定类间散度矩阵。
[0145]
11.协调方根据类内散度矩阵和类间散度矩阵确定投影矩阵。
[0146]
12.发起方根据投影矩阵确定降维后的第一数据集,参与方根据投影矩阵确定降维后的第二数据集。
[0147]
上述实施例中,发起方的第一数据集中的每个数据存在第一标签,参与方的第二数据集不存在标签。发起方将将q组第二标签发送给参与方,且仅有一组第二标签表示第二数据集中的数据的真实类别。协调方获取发起方对第一数据集中的数据及对应的第一标签预处理以及加密后的第一加密数据,获取参与方对第二数据集中的数据以及对应的q组第二标签预处理以及加密后的q组第二加密数据,协调方根据发起方发送的位置标识即可确定真实类别对应的目标加密数据。之后,协调方根据第一加密数据和目标加密数据确定类内散度矩阵和类间散度矩阵,根据类内散度矩阵和类间散度矩阵确定投影矩阵,将投影矩阵发送给发起方和参与方,以指示发起方根据投影矩阵对第一数据集进行数据降维,以及指示参与方根据投影矩阵对第二数据集进行数据降维。因此,在第一数据集和第二数据集的数据格式不统一,发起方不向参与方公开第一数据集对应的标签的情况下,协调方也可以获取与真实类别对应的目标加密数据,再根据第一加密数据以及目标加密数据即可最终得到投影矩阵,实现对发起方的数据和参与方的数据进行降维。并且在保证安全性的前提下,通信量少,操作流程简单,提高了数据计算速度。
[0148]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0149]
对应于上文实施例所述的数据降维方法,图7示出了本技术实施例提供的数据降维装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0150]
如图7所示,数据降维装置包括,
[0151]
获取模块71,用于获取发起方发送的第一加密数据以及位置标识,获取每个参与方发送的q组第二加密数据;所述第一加密数据是对所述发起方的第一数据集中的数据以及每个数据对应的第一标签进行预处理以及加密得到,所述第一标签表示所述第一数据集中的数据的类别;每组所述第二加密数据是对所述参与方的第二数据集中的数据以及对应的第二标签进行预处理以及加密得到;q组所述第二标签由所述发起方发送给所述参与方,q组所述第二标签中仅有一组标签表示所述第二数据集中的数据的真实类别;
[0152]
第一计算模块72,用于根据所述位置标识从q组所述第二加密数据中确定所述真实类别对应的目标加密数据;
[0153]
第二计算模块73,用于根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵;
[0154]
第三计算模块74,用于根据所述类内散度矩阵和所述类间散度矩阵确定投影矩阵;
[0155]
获取模块75,用于将所述投影矩阵发送给所述发起方和所述参与方,以指示所述发起方根据所述投影矩阵对所述第一数据集进行数据降维,以及指示所述参与方根据所述投影矩阵对所述第二数据集进行数据降维。
[0156]
在一实施例中,所述第一加密数据包括第一分类数据和第一均值差数据,所述第二加密数据包括第二分类数据和第二均值差数据;所述第一分类数据根据所述第一数据集中的数据与对应类别的第一均值向量和确定,所述第一均值差数据根据所述第一数据集中各类数据的均值差确定;所述第二分类数据根据所述第二数据集中的数据与所述第二标签所对应类别的第二均值向量和确定,所述第二均值差数据根据所述第二数据集中所述第二标签所对应的各类数据的均值差确定;所述目标加密数据包括所述第二分类数据中的目标分类数据以及所述第二均值差数据中的目标均值差数据;
[0157]
所述第二计算模块73具体用于:
[0158]
根据所述第一分类数据和所述目标分类数据确定类内散度矩阵;
[0159]
根据所述第一均值差数据和所述目标均值差数据确定类间散度矩阵。
[0160]
在一实施例中,所述第二计算模块73具体用于:
[0161]
获取所述发起方发送的加密后的第一协方差矩阵以及所述参与方发送的q组加密后的第二协方差矩阵;
[0162]
根据所述位置标识从q组所述加密后的协方差矩阵中确定所述真实类别对应的加密后的目标协方差矩阵;
[0163]
根据所述第一分类数据和所述目标分类数据确定第一子矩阵;
[0164]
根据所述加密后的第一协方差矩阵、所述加密后的目标协方差矩阵以及所述第一子矩阵确定类内散度矩阵。
[0165]
在一实施例中,所述第二计算模块73具体用于:
[0166]
对所述加密后的第一协方差矩阵、加密后的目标协方差矩阵以及所述第一子矩阵进行组合,得到第一组合矩阵;
[0167]
对各类数据对应的第一组合矩阵求和,得到类内散度矩阵。
[0168]
在一实施例中,所述第二计算模块73具体用于:
[0169]
获取所述发起方发送的第二子矩阵以及所述参与方发送的q个第三子矩阵;
[0170]
根据所述位置标识从q个所述第三子矩阵中确定目标子矩阵;
[0171]
根据所述第一均值差数据和所述目标均值差数据确定第四子矩阵;
[0172]
根据所述第二子矩阵、所述目标子矩阵以及所述第四子矩阵确定类间散度矩阵。
[0173]
在一实施例中,若数据类别为2,所述第一数据集中各类数据的均值差为2类数据的第一均值向量和之间的差值,所述第二数据集中所述第二标签所对应的各类数据的均值差为2类数据的第二均值向量和之间的差值;若数据类别大于2,所述第一数据集中各类数据的均值差为所述第一均值向量和与全局均值向量之间的差值,所述第二数据集中所述第二标签所对应的各类数据的均值差为所述第二均值向量和与对应的全局均值向量之间的差值。
[0174]
在一实施例中,所述第一数据集是对第一原始数据集进行筛选和排序得到,所述第二数据集是对第二原始数据集进行筛选和排序得到;所述第一数据集与所述第二数据集中的数据的标识一致。
[0175]
在一实施例中,所述第一加密数据和所述第二加密数据为经过掩码加密后的数据,所述掩码为所述发起方和各所述参与方之间以及各所述参与方之间,两两生成的加密值。
[0176]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0177]
图8是本技术实施例提供的终端设备的结构示意图。所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
[0178]
如图8所示,该实施例的终端设备包括:处理器81、存储器82以及存储在所述存储器82中并可在所述处理器81上运行的计算机程序83。所述处理器81执行所述计算机程序83时实现上述数据降维方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器81执行所述计算机程序83时实现上述各装置实施例中各模块/单元的功能,例如图7所示获取模块71至发送模块75的功能。
[0179]
示例性的,所述计算机程序83可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器82中,并由所述处理器81执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序83在所述终端设备中的执行过程。
[0180]
本领域技术人员可以理解,图8仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0181]
所述处理器81可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0182]
所述存储器82可以是所述终端设备的内部存储单元,例如终端设备的硬盘或内存。所述存储器82也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器82还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述存储器82用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器82还可以用于暂时地存储已经输出或者将要输出的数据。
[0183]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0184]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0185]
在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0186]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0187]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0188]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0189]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0190]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种数据降维方法,执行于协调方,其特征在于,所述方法包括:获取发起方发送的第一加密数据以及位置标识,获取每个参与方发送的q组第二加密数据;所述第一加密数据是对所述发起方的第一数据集中的数据以及每个数据对应的第一标签进行预处理以及加密得到,所述第一标签表示所述第一数据集中的数据的类别;每组所述第二加密数据是对所述参与方的第二数据集中的数据以及对应的第二标签进行预处理以及加密得到;q组所述第二标签由所述发起方发送给所述参与方,q组所述第二标签中仅有一组标签表示所述第二数据集中的数据的真实类别;根据所述位置标识从q组所述第二加密数据中确定所述真实类别对应的目标加密数据;根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵;根据所述类内散度矩阵和所述类间散度矩阵确定投影矩阵;将所述投影矩阵发送给所述发起方和所述参与方,以指示所述发起方根据所述投影矩阵对所述第一数据集进行数据降维,以及指示所述参与方根据所述投影矩阵对所述第二数据集进行数据降维。2.根据权利要求1所述的数据降维方法,其特征在于,所述第一加密数据包括第一分类数据和第一均值差数据,所述第二加密数据包括第二分类数据和第二均值差数据;所述第一分类数据根据所述第一数据集中的数据与对应类别的第一均值向量和确定,所述第一均值差数据根据所述第一数据集中各类数据的均值差确定;所述第二分类数据根据所述第二数据集中的数据与所述第二标签所对应类别的第二均值向量和确定,所述第二均值差数据根据所述第二数据集中所述第二标签所对应的各类数据的均值差确定;所述目标加密数据包括所述第二分类数据中的目标分类数据以及所述第二均值差数据中的目标均值差数据;所述根据所述第一加密数据和所述目标加密数据确定类内散度矩阵和类间散度矩阵,包括:根据所述第一分类数据和所述目标分类数据确定类内散度矩阵;根据所述第一均值差数据和所述目标均值差数据确定类间散度矩阵。3.根据权利要求2所述的数据降维方法,其特征在于,所述根据所述第一分类数据和所述目标分类数据确定类内散度矩阵,包括:获取所述发起方发送的加密后的第一协方差矩阵以及所述参与方发送的q组加密后的第二协方差矩阵;根据所述位置标识从q组所述加密后的协方差矩阵中确定所述真实类别对应的加密后的目标协方差矩阵;根据所述第一分类数据和所述目标分类数据确定第一子矩阵;根据所述加密后的第一协方差矩阵、所述加密后的目标协方差矩阵以及所述第一子矩阵确定类内散度矩阵。4.根据权利要求3所述的数据降维方法,其特征在于,所述根据所述加密后的第一协方差矩阵、加密后的目标协方差矩阵以及所述第一子矩阵确定类内散度矩阵,包括:对所述加密后的第一协方差矩阵、加密后的目标协方差矩阵以及所述第一子矩阵进行组合,得到第一组合矩阵;对各类数据对应的第一组合矩阵求和,得到类内散度矩阵。
5.根据权利要求2所述的数据降维方法,其特征在于,所述根据所述第一均值差数据和所述目标均值差数据确定类间散度矩阵,包括:获取所述发起方发送的第二子矩阵以及所述参与方发送的q个第三子矩阵;根据所述位置标识从q个所述第三子矩阵中确定目标子矩阵;根据所述第一均值差数据和所述目标均值差数据确定第四子矩阵;根据所述第二子矩阵、所述目标子矩阵以及所述第四子矩阵确定类间散度矩阵。6.根据权利要求2所述的数据降维方法,其特征在于,若数据类别为2,所述第一数据集中各类数据的均值差为2类数据的第一均值向量和之间的差值,所述第二数据集中所述第二标签所对应的各类数据的均值差为2类数据的第二均值向量和之间的差值;若数据类别大于2,所述第一数据集中各类数据的均值差为所述第一均值向量和与全局均值向量之间的差值,所述第二数据集中所述第二标签所对应的各类数据的均值差为所述第二均值向量和与对应的全局均值向量之间的差值。7.根据权利要求1所述的数据降维方法,其特征在于,所述第一数据集是对第一原始数据集进行筛选和排序得到,所述第二数据集是对第二原始数据集进行筛选和排序得到;所述第一数据集与所述第二数据集中的数据的标识一致。8.根据权利要求1所述的数据降维方法,其特征在于,所述第一加密数据和所述第二加密数据为经过掩码加密后的数据,所述掩码为所述发起方和各所述参与方之间以及各所述参与方之间,两两生成的加密值。9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的数据降维方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据降维方法。
技术总结
本申请提供一种数据降维方法、终端设备及存储介质。数据降维方法包括:协调方获取发起方发送的第一加密数据以及位置标识,获取每个参与方发送的q组第二加密数据,每组第二加密数据是对参与方的数据以及对应的第二标签进行预处理以及加密得到;q组第二标签中仅有一组标签表示数据的真实类别;根据位置标识从q组第二加密数据中确定真实类别对应的目标加密数据;根据第一加密数据和目标加密数据确定类内散度矩阵和类间散度矩阵,进而确定投影矩阵;将投影矩阵发送给发起方和参与方,在第一数据集和第二数据集的数据格式不统一,且不公开发起方和参与方的数据的情况下,通过协调方的运算,即可对发起方的数据和参与方的数据进行降维。行降维。行降维。
技术研发人员:汪小益 邱炜伟 严杨 姚文豪 胡麦芳
受保护的技术使用者:杭州趣链科技有限公司
技术研发日:2023.04.28
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
