一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多方联合的安全PCA投影方法及数据相关性分析方法

2022-07-06 05:55:39 来源:中国专利 TAG:

多方联合的安全pca投影方法及数据相关性分析方法
技术领域
1.本发明属于大数据处理领域,具体涉及一种多方联合的安全pca投影方法及数据相关性分析方法。


背景技术:

2.随着经济技术的发展和人们生活水平的提高,大数据处理技术已经广泛应用于人们的生产和生活当中,给人们的生产和生活带来了无尽的便利。但是,随着大数据的广泛使用,其数据的安全性和隐私性问题也日益突出。
3.目前,各种数据通常分散在多个隐私保护的站点,这些独立的数据拥有者想要在保护数据隐私的前提下,在全局范围内全面了解自身数据。在可视化领域中,为了分析多方高维数据集,数据拥有者可以利用投影技术,例如t-sne(t-distributed stochastic neighbor embedding,t分布随机邻域嵌入)与umap(uniform manifold approximation and projection,一致的流形逼近和投影),将所有数据点投影到共同的二维空间中。然而,现有的投影技术并没有考虑数据的隐私安全,将数据集中计算和联合投影时会直接导致隐私的泄露。
4.saha等人提出了dsne(decentralized data stochastic neighbor embedding,分散数据的随机邻域嵌入),将t-sne重构为隐私保护的联合投影版本;但是,该方法需要数据参与方提供大量的共享数据,并且只能获得近似的t-sne结果。liu等人基于同态加密和秘密共享提出了pppca(privacy preserving principal component analysis,隐私保护的主成分分析),将pca(principal component analysis,主成分分析)重构为隐私保护的联合投影版本;但该技术只保证了提供者的本地数据不泄露,而暴露了中间数据,即全局数据的协方差矩阵;当某方获得了协方差矩阵,就可以通过牛顿迭代法获得隐私数据。因此,现有的隐私保护下的联合投影方法仍然存在数据安全问题。


技术实现要素:

5.本发明的目的之一在于提供一种可靠性高、安全性好且投影效果较好的多方联合的安全pca投影方法。
6.本发明的目的之二在于提供一种包括了所述多方联合的安全pca投影方法的数据相关性分析方法。
7.本发明提供的这种多方联合的安全pca投影方法,包括如下步骤:
8.s1.第一协作方生成paillier密钥对,并将paillier密钥对中的公钥发送给第二协作方和各个数据拥有方;
9.s2.各个数据拥有方根据接收到的公钥,对自身的高维数据进行加密,并将加密数据发送给第二协作方;
10.s3.第二协作方根据接收到的加密数据,计算得到加密数据的协方差矩阵;
11.s4.第一协作方和第二协作方基于步骤s3得到的加密数据的协方差矩阵,计算投
影矩阵;
12.s5.第一协作方和第二协作方基于步骤s4得到的投影矩阵,计算得到联合投影结果,并发送给各个数据拥有方,从而完成pca安全多方投影。
13.步骤s1所述的第一协作方生成paillier密钥对,并将paillier密钥对中的公钥发送给第二协作方和各个数据拥有方,具体为第一协作方s生成paillier密钥对(pk,sk),并将paillier密钥对中的公钥pk发送给第二协作方t和各个数据拥有方。
14.步骤s2所述的各个数据拥有方根据接收到的公钥,对自身的高维数据进行加密,并将加密数据发送给第二协作方,具体为各个数据拥有方根据接收到的公钥pk,对自身的高维数据进行加密,并将加密数据发送给第二协作方t。
15.步骤s3所述的第二协作方根据接收到的加密数据,计算得到加密数据的协方差矩阵,具体为第二协作方t计算接收到的加密数据的各维度平均值,随机生成加密掩码、计算加密的中心化带掩码数据并发送给第一协作方s;然后第一协作方s根据接收的加密的中心化带掩码数据,计算带掩码协方差矩阵并加密后发送给第二协作方t;最后第二协作方t根据接收的加密的带掩码协方差矩阵,计算得到最终的加密数据的协方差矩阵。
16.所述的步骤s3,具体包括如下步骤:
17.a.第二协作方t采用如下算式计算接收到的加密数据的各维度平均值
[0018][0019]
式中n为加密数据的总个数;pk(x
ij
)为接收到的加密数据中第j个维度的第i个加密数据,且j的取值为j∈[1,m],m接收到的加密数据的总维度数;为paillier加密算法中的计算符号,满足其中pk()为采用paillier加密算法中的公钥pk对数据进行加密操作,sk()为采用paillier加密算法中的私钥sk对数据进行解密操作,等式表示对数据a或数据b采用公钥pk加密后进行运算,再采用私钥进行解密得到的结果,与数据a和数据b直接相乘的结果相同;
[0020]
b.第二协作方t随机产生加密掩码pk(σ
ij
),并采用如下算式计算加密的中心化带掩码数据
[0021][0022]
式中为paillier加密算法中的计算符号,满足等式表示对数据a和数据b分别采用公钥pk加密后进行运算,再采用私钥进行解密得到的结果,与数据a和数据b直接相减的结果相同;为paillier加密算法中的计算符号,满足等式表示对数据a和数据b分别采用公钥pk加密后进行运算,再采用私钥进行解密得到的结果,与数据a和数据b直接相加的结果相同;
[0023]
c.第二协作方t将步骤b得到的加密的中心化带掩码数据矩阵发送给第
一协作方s;其中
[0024]
d.第一协作方s解密接收到的加密的中心化带掩码数据矩阵然后采用如下算式计算带掩码协方差矩阵中的元素
[0025][0026]
式中x
ki
为高维数据点xk的第i个属性值;为所有高维数据点的第i个属性的平均值;σ
ki
为添加到x
ki
的随机掩码;
[0027]
e.第一协作方s采用公钥pk对步骤d得到的带掩码协方差矩阵进行加密,并将得到的加密的带掩码协方差矩阵发送给第二协作方t;
[0028]
f.第二协作方t约去接收到的加密的带掩码协方差矩阵中元素的掩码部分,得到加密的协方差矩阵pk(cov(x))中的元素pk(c
ij
)为
[0029]
第二协作方t最终得到加密的协方差矩阵pk(cov(x))。
[0030]
步骤s4所述的第一协作方和第二协作方基于步骤s3得到的加密数据的协方差矩阵,计算投影矩阵,具体为第二协作方t生成随机掩码μ与加密的随机掩码pk(v),添加到加密的协方差矩阵pk(cov(x))中得到中间矩阵pk(cov(x)'),生成随机的m阶正交矩阵m,添加到中间矩阵pk(cov(x)')中得到加密的带掩码协方差矩阵并发送给第一协作方s;然后,第一协作方s对接收到的加密的带掩码协方差矩阵进行解密,得到带掩码协方差矩阵计算得到带掩码协方差矩阵的最大3个特征值与最小3个特征值组成的向量将向量与对应的特征向量组成矩阵并发送给第二协作方t;最后,第二协作方t约去接收到的向量和矩阵得到协方差矩阵cov(x)的最大3个特征值和最小3个特征值组成的向量λ'
*
和对应的特征向量组成的矩阵v
*
',选择向量λ'
*
中最大的两个特征值对应的特征向量,组成最终的投影矩阵e。
[0031]
所述的步骤s4,具体包括如下步骤:
[0032]
a.第二协作方t生成生成随机掩码μ与加密的随机掩码pk(v),添加到加密的协方差矩阵pk(cov(x))的元素中,得到中间矩阵pk(cov(x)');中间矩阵pk(cov(x)')中的元素
pk(ci'j)为
[0033]
b.第二协作方t生成随机的m阶正交矩阵m,将正交矩阵m中的元素添加到中间矩阵pk(cov(x)')的元素中,得到加密的带掩码协方差矩阵加密的带掩码协方差矩阵中的元素为;
[0034]
c.第二协作方t将得到的加密的带掩码协方差矩阵发送给第一协作方s;
[0035]
d.第一协作方s对接收到的加密的带掩码协方差矩阵进行解密,得到带掩码协方差矩阵然后,第一协作方s对带掩码协方差矩阵进行特征分解,将最大3个特征值和最小3个特征值组成向量然后将该6个特征值所对应的特征向量组成矩阵最后,第一协作方s将向量与矩阵发送给第二协作方t;
[0036]
e.第二协作方t约去接收到的向量和矩阵中的掩码,得到协方差矩阵cov(x)的最大3个特征值和最小3个特征值组成的向量λ'
*
和对应的特征向量组成的矩阵v
*
':
[0037][0038][0039]
式中v为步骤a生成的加密的随机掩码pk(v)所对应的随机掩码;μ为随机掩码;
[0040]
f.第二协作方t选择向量λ'
*
中最大的两个特征值所对应的特征向量,组成最终的投影矩阵e。
[0041]
步骤s5所述的第一协作方和第二协作方基于步骤s4得到的投影矩阵,计算得到联合投影结果,并发送给各个数据拥有方,从而完成pca安全多方投影,具体为第二协作方t采用步骤s4得到的投影矩阵e计算加密的联合投影结果pk(y),将加密的联合投影结果pk(y)发送给第一协作方s;然后,第一协作方s对接收到的加密的联合投影结果pk(y)进行解密,得到联合投影结果,并将联合投影结果发送给各个数据拥有方,从而完成pca安全多方投影。
[0042]
所述的步骤s5,具体包括如下步骤:
[0043]
(1)第二协作方t采用如下算式计算得到加密的联合投影结果pk(y):
[0044][0045]
式中pk(y
ij
)为加密的联合投影结果pk(y)中的第i行第j列的元素;pk(x
ik
)为第二协作方t接收到的加密数据中第i个维度的第k个加密数据;e
kj
为投影矩阵e中第k行第j列的元素;
[0046]
(2)第二协作方t将得到的加密的联合投影结果pk(y)发送给第一协作方s;
[0047]
(3)第一协作方s对接收到的加密的联合投影结果pk(y)进行解密,得到联合投影结果,并将联合投影结果发送给各个数据拥有方,从而完成pca安全多方投影。
[0048]
本发明还提供给了一种包括上述多方联合的安全pca投影方法的数据相关性分析方法,具体包括如下步骤:
[0049]
sa.以用户和若干个数据提供商均认可的协作方作为第一协作方和第二协作方;同时,用户和若干个数据提供商均作为数据拥有方;
[0050]
sb.用户、若干个数据提供商和协作方采用上述的多方联合的安全pca投影方法进行投影;
[0051]
sc.用户将接收到的投影结果绘制到一张散点图上;
[0052]
sd.用户根据得到的散点图,对用户自身的数据与若干个数据提供商的数据之间的相关性进行分析。
[0053]
本发明提供的这种多方联合的安全pca投影方法及数据相关性分析方法,创新性地将现有投影方法与安全多方计算结合起来,能够在保护隐私的前提下保持投影效果;同时,本发明方法基于现有的同态加密技术改进了掩码添加方式,提供了存在隐私信息矩阵的安全特征分解方案;因此本发明方法可靠性高、安全性好且投影效果较好。
附图说明
[0054]
图1为本发明的投影方法的方法流程示意图。
[0055]
图2为本发明的投影方法与现有的pca投影方法的投影效果对比示意图。
[0056]
图3为本发明的数据相关性分析方法的方法流程示意图。
具体实施方式
[0057]
如图1所示为本发明的投影方法的方法流程示意图:本发明提供的这种多方联合的安全pca投影方法,包括如下步骤:
[0058]
s1.第一协作方生成paillier密钥对,并将paillier密钥对中的公钥发送给第二协作方和各个数据拥有方;具体为第一协作方s生成paillier密钥对(pk,sk),并将paillier密钥对中的公钥pk发送给第二协作方t和各个数据拥有方;
[0059]
s2.各个数据拥有方根据接收到的公钥,对自身的高维数据进行加密,并将加密数据发送给第二协作方;具体为各个数据拥有方根据接收到的公钥pk,对自身的高维数据进行加密,并将加密数据发送给第二协作方t;
[0060]
s3.第二协作方根据接收到的加密数据,计算得到加密数据的协方差矩阵;具体为第二协作方t计算接收到的加密数据的各维度平均值,随机生成加密掩码、计算加密的中心化带掩码数据并发送给第一协作方s;然后第一协作方s根据接收的加密的中心化带掩码数
据,计算带掩码协方差矩阵并加密后发送给第二协作方t;最后第二协作方t根据接收的加密的带掩码协方差矩阵,计算得到最终的加密数据的协方差矩阵;
[0061]
具体实施时,包括如下步骤:
[0062]
a.第二协作方t采用如下算式计算接收到的加密数据的各维度平均值
[0063][0064]
式中n为加密数据的总个数;pk(x
ij
)为接收到的加密数据中第j个维度的第i个加密数据,且j的取值为j∈[1,m],m接收到的加密数据的总维度数;为paillier加密算法中的计算符号,满足其中pk()为采用paillier加密算法中的公钥pk对数据进行加密操作,sk()为采用paillier加密算法中的私钥sk对数据进行解密操作,等式表示对数据a或数据b采用公钥pk加密后进行运算,再采用私钥进行解密得到的结果,与数据a和数据b直接相乘的结果相同;
[0065]
b.第二协作方t随机产生加密掩码pk(σ
ij
),并采用如下算式计算加密的中心化带掩码数据
[0066][0067]
式中为paillier加密算法中的计算符号,满足等式表示对数据a和数据b分别采用公钥pk加密后进行运算,再采用私钥进行解密得到的结果,与数据a和数据b直接相减的结果相同;为paillier加密算法中的计算符号,满足等式表示对数据a和数据b分别采用公钥pk加密后进行运算,再采用私钥进行解密得到的结果,与数据a和数据b直接相加的结果相同;
[0068]
c.第二协作方t将步骤b得到的加密的中心化带掩码数据矩阵发送给第一协作方s;其中
[0069]
d.第一协作方s解密接收到的加密的中心化带掩码数据矩阵然后采用如下算式计算带掩码协方差矩阵中的元素
[0070][0071]
式中x
ki
为高维数据点xk的第i个属性值;为所有高维数据点的第i个属性的平均值;σ
ki
为添加到x
ki
的随机掩码;
[0072]
e.第一协作方s采用公钥pk对步骤d得到的带掩码协方差矩阵进行加密,
并将得到的加密的带掩码协方差矩阵发送给第二协作方t;
[0073]
f.第二协作方t约去接收到的加密的带掩码协方差矩阵中元素的掩码部分,得到加密的协方差矩阵pk(cov(x))中的元素pk(c
ij
)为
[0074]
第二协作方t最终得到加密的协方差矩阵pk(cov(x));
[0075]
s4.第一协作方和第二协作方基于步骤s3得到的加密数据的协方差矩阵,计算投影矩阵;具体为第二协作方t生成随机掩码μ与加密的随机掩码pk(v),添加到加密的协方差矩阵pk(cov(x))中得到中间矩阵pk(cov(x)'),生成随机的m阶正交矩阵m,添加到中间矩阵pk(cov(x)')中得到加密的带掩码协方差矩阵并发送给第一协作方s;然后,第一协作方s对接收到的加密的带掩码协方差矩阵进行解密,得到带掩码协方差矩阵计算得到带掩码协方差矩阵的最大3个特征值与最小3个特征值组成的向量将向量与对应的特征向量组成矩阵并发送给第二协作方t;最后,第二协作方t约去接收到的向量和矩阵得到协方差矩阵cov(x)的最大3个特征值和最小3个特征值组成的向量λ'
*
和对应的特征向量组成的矩阵v
*
',选择向量λ'
*
中最大的两个特征值对应的特征向量,组成最终的投影矩阵e;
[0076]
具体实施时,包括如下步骤:
[0077]
a.第二协作方t生成生成随机掩码μ与加密的随机掩码pk(v),添加到加密的协方差矩阵pk(cov(x))的元素中,得到中间矩阵pk(cov(x)');中间矩阵pk(cov(x)')中的元素pk(ci'j)为
[0078]
b.第二协作方t生成随机的m阶正交矩阵m,将正交矩阵m中的元素添加到中间矩阵pk(cov(x)')的元素中,得到加密的带掩码协方差矩阵加密的带掩码协方差矩阵中的元素为
[0079]
c.第二协作方t将得到的加密的带掩码协方差矩阵发送给第一协作方s;
[0080]
d.第一协作方s对接收到的加密的带掩码协方差矩阵进行解密,得
到带掩码协方差矩阵然后,第一协作方s对带掩码协方差矩阵进行特征分解,将最大3个特征值和最小3个特征值组成向量然后将该6个特征值所对应的特征向量组成矩阵最后,第一协作方s将向量与矩阵发送给第二协作方t;
[0081]
e.第二协作方t约去接收到的向量和矩阵中的掩码,得到协方差矩阵cov(x)的最大3个特征值和最小3个特征值组成的向量λ'
*
和对应的特征向量组成的矩阵v
*
':
[0082][0083][0084]
式中v为步骤a生成的加密的随机掩码pk(v)所对应的随机掩码;μ为随机掩码;
[0085]
f.第二协作方t选择向量λ'
*
中最大的两个特征值所对应的特征向量,组成最终的投影矩阵e;
[0086]
s5.第一协作方和第二协作方基于步骤s4得到的投影矩阵,计算得到联合投影结果,并发送给各个数据拥有方,从而完成pca安全多方投影;具体为第二协作方t采用步骤s4得到的投影矩阵e计算加密的联合投影结果pk(y),将加密的联合投影结果pk(y)发送给第一协作方s;然后,第一协作方s对接收到的加密的联合投影结果pk(y)进行解密,得到联合投影结果,并将联合投影结果发送给各个数据拥有方,从而完成pca安全多方投影;
[0087]
具体实施时,包括如下步骤:
[0088]
(1)第二协作方t采用如下算式计算得到加密的联合投影结果pk(y):
[0089][0090]
式中pk(y
ij
)为加密的联合投影结果pk(y)中的第i行第j列的元素;pk(x
ik
)为第二协作方t接收到的加密数据中第i个维度的第k个加密数据;e
kj
为投影矩阵e中第k行第j列的元素;
[0091]
(2)第二协作方t将得到的加密的联合投影结果pk(y)发送给第一协作方s;
[0092]
(3)第一协作方s对接收到的加密的联合投影结果pk(y)进行解密,得到联合投影结果,并将联合投影结果发送给各个数据拥有方,从而完成pca安全多方投影。
[0093]
如图2所示为本发明的投影方法与现有的pca投影方法的投影效果对比示意图:可知本发明的投影结果与pca的效果相同。
[0094]
如图3所示为本发明的数据相关性分析方法的方法流程示意图:本发明的多方联合的安全pca投影方法,还可以应用于数据购买(data purchasing)领域:
[0095]
在数据驱动的应用场景中,用户(买方)通常需要向商业数据提供商(卖方)购买丰富的数据,从而快速训练自身的机器学习模型。考虑到数据集的高昂价格,因此用户(买方)必须仔细选择符合自身要求的、合适的数据集,例如,覆盖异常样本或支持稀有聚类的数据
集。本发明的这种多方联合的安全pca投影方法,正好为用户提供了一种方法,可以在不损害买卖双方数据隐私的情况下,将本地数据(买方数据)与销售数据(卖方数据)进行比较。这种信息透明度有助于用户(买方)做出购买决策。从商业数据提供商(卖方)的角度来看,安全的多方数据可视化允许他们向用户(买方)展示自己的数据,而又不会丢失数据,能够保证自身商业数据的安全。
[0096]
因此,本发明提供了一种包括上述多方联合的安全pca投影方法的数据相关性分析方法,具体包括如下步骤:
[0097]
sa.以用户和若干个数据提供商均认可的协作方,作为第一协作方和第二协作方;同时,用户和若干个数据提供商均作为数据拥有方;
[0098]
sb.用户、若干个数据提供商和协作方采用上述的多方联合的安全pca投影方法进行投影;
[0099]
sc.用户将接收到的投影结果绘制到一张散点图上;
[0100]
sd.用户根据得到的散点图,对用户自身的数据与若干个数据提供商的数据之间的相关性进行分析。
[0101]
根据步骤sd得到的数据相关性分析结果,用户就能够知道自身的数据与各个数据提供商的数据之间的相关性,从而进一步决定购买哪一个数据提供商的数据。
[0102]
本发明的多方联合的安全pca投影方法,还可以应用于多方医疗数据分析:
[0103]
对于一些罕见疾病,独立的各家医疗机构或许只有少量病例,缺乏诊断和治疗经验,同时,这些疾病的病理数据关系到病患隐私,所以无法直接让多家医疗机构联合分析病理数据。本发明的多方联合的安全pca投影方法提供了一种为多家医疗机构联合分析同种疾病的病例数据的方法,可以保证各家医疗机构的病理数据不泄露,同时可以将这些数据共同投影到一个二维空间中以便分析,为有效分析该疾病提供辅助决策。
[0104]
因此,本发明提供了一种包括上述多方联合的安全pca投影方法的数据相关性分析方法,具体包括如下步骤:
[0105]
sa.以各家医疗机构均认可的协作方,作为第一协作方和第二协作方;同时,各家医疗机构均作为数据拥有方;
[0106]
sb.各家医疗机构和协作方采用上述的多方联合的安全pca投影方法进行投影;
[0107]
sc.医疗机构将接收到的投影结果绘制到一张散点图上;
[0108]
sd.医疗机构根据得到的散点图,对自身的数据与其他医疗机构的数据之间的相关性进行分析。
[0109]
根据步骤sd得到的数据相关性分析结果,各方医疗机构可以了解该类疾病的病理数据差异,从而为有效分析该疾病提供辅助决策依据。
[0110]
以上的数据购买的实施例和医疗数据分析的实施例,可以类似的推广到传统工业领域;比如,工业领域需要进行数据选择(比如选择供应商的情况)时,可以参考数据购买的实施例,从而从多家供应商的联合投影中选择最适合的一家供应商;需要联合多家企业(分公司)的数据进行分析并改进某项产品时,可以用医疗数据分析的例子,将各家企业(分公司)的数据统一进行投影分析,从而进一步获得改进的策略。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献