《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记

这篇具有很好参考价值的文章主要介绍了《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文地址:https://www.arocmag.com/article/01-2022-01-041.html

论文摘要

     为了让不同组织在保护本地敏感数据和降维后发布数据隐私的前提下,联合使用 PCA进行降维和数据发布,提出横向联邦 PCA差分隐私数据发布算法。引入随机种子联合协商方案,在各站点之间以较少通信代 价生成相同随机噪声矩阵。提出本地噪声均分方案,将均分噪声加在本地协方差矩阵上。一方面,保护本地数据隐私;另一方面,减少了噪声添加量,并且达到与中心化差分隐私 PCA算法相同的噪声水平。理论分析表明, 该算法满足差分隐私,保证了本地数据和发布数据的隐私性,较同类算法噪声添加量降低。实验从隐私性和可用性角度评估该算法,证明该算法与同类算法相比具有更高的可用性。

本文算法主要涉及到的几个知识点

1、PCA:pca主成分分析,广泛应用于数据降维,是将原来的n维特征映射到k维特征上,而这k维是全新的正交特征,即主成分。如何求得这k个主成分?通过计算数据矩阵的协方差矩阵,得到特征值和特征向量,选择top k的特征值对应的特征向量就是k个主成分,它们的方差最大,而这些特征值对应的特征向量组成的矩阵,便可以将数据矩阵转化到新的空间中,实现数据特征降维。
协方差公式: C o v ( X , Y ) = E [ ( X − E ( X ) ) ( Y − E ( Y ) ) ] = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) Cov(X,Y)=E[(X-E(X))(Y-E(Y))]=\frac{1}{n-1}\sum_{i=1}^n(x_i-\bar x)(y_i-\bar y) Cov(X,Y)=E[(XE(X))(YE(Y))]=n11i=1n(xixˉ)(yiyˉ)上式是两维的情况,多维的话就是一个协方差矩阵:
C o v ( X , Y , Z ) = [ C o v ( X , X ) C o v ( X , Y ) C o v ( X , Z ) C o v ( Y , X ) C o v ( Y , Y ) C o v ( Y , Z ) C o v ( Z , X ) C o v ( Z , Y ) C o v ( Z , Z ) ] Cov(X,Y,Z)=\begin{bmatrix} Cov(X,X) & Cov(X,Y) & Cov(X,Z) \\ Cov(Y,X) & Cov(Y,Y) & Cov(Y,Z) \\ Cov(Z,X) & Cov(Z,Y) & Cov(Z,Z) \end{bmatrix} Cov(X,Y,Z)= Cov(X,X)Cov(Y,X)Cov(Z,X)Cov(X,Y)Cov(Y,Y)Cov(Z,Y)Cov(X,Z)Cov(Y,Z)Cov(Z,Z) 还有一个概念叫散度矩阵,是衡量数据的分散程度: S = ( n − 1 ) × C o v ( X , Y ) S=(n-1)\times Cov(X, Y) S=(n1)×Cov(X,Y)这两者求出的特征向量是一致的。因此,整个PCA的求解过程可以如下:

  1. 求解整个样本的均值, μ = 1 n ∑ i = 1 n X i \mu=\frac{1}{n}\sum_{i=1}^nX_i μ=n1i=1nXi,这里 μ \mu μ也是一个m维(即m个特征)的向量。
  2. 求协方差cov, c o v = 1 n − 1 ( X − μ ) T ( X − μ ) cov=\frac{1}{n-1}(X-\mu)^T(X-\mu) cov=n11(Xμ)T(Xμ)
  3. 根据协方差求特征值 Λ = [ λ 1 , λ 2 , . . . , λ m ] m × 1 \Lambda=[\lambda_1,\lambda_2,...,\lambda_m]_{m\times 1} Λ=[λ1,λ2,...,λm]m×1和特征向量 A = [ α 1 , α 2 , . . . , α m ] m × m \Alpha=[\alpha_1,\alpha_2,...,\alpha_m]_{m\times m} A=[α1,α2,...,αm]m×m.
  4. 最后利用特征向量进行降维: Y = [ X n × m Λ m × k ] n × k Y=[X_{n\times m}\Lambda_{m\times k}]_{n\times k} Y=[Xn×mΛm×k]n×k,其中 Λ m × k \Lambda_{m\times k} Λm×k是按照特征值倒排的k个特征向量。

2、差分隐私:( ϵ , δ \epsilon,\delta ϵ,δ)-差分隐私的定义,假设数据集 X X X X ′ X' X是“邻居数据集”,给定一个算法 f , O ⊆ r a n g e ( f ) f,O\subseteq range(f) fOrange(f),如果 P r [ f ( x ) ∈ O ] ≤ e ϵ P r [ f ( x ′ ) ∈ O ] + δ Pr[f(x)\in O] \le e^{\epsilon}Pr[f(x') \in O]+\delta Pr[f(x)O]eϵPr[f(x)O]+δ则算法 f f f满足( ϵ , δ \epsilon,\delta ϵ,δ)-差分隐私,其中 ϵ \epsilon ϵ为隐私预算,是个经验值,且值越小,隐私保护水平越高, δ \delta δ是个差分隐私引入的松弛值。白话总结:差分隐私就是在引入噪声的情况下,实现数据的安全性。
具体的原理理解参考:https://zhuanlan.zhihu.com/p/139114240,
这篇文章中使用了差分隐私实现逻辑回归模型:https://zhuanlan.zhihu.com/p/464987876

差分隐私噪声引入机制:Laplace(拉普拉斯)机制、Exponential(指数)机制、Gaussian(高斯)机制。本文使用的是高斯机制

3、PCA高斯机制:假设算法 f ( X ) = X X T f(X)=XX^T f(X)=XXT,对 f ( X ) f(X) f(X)的输出加上满足 N ( 0 , τ 2 ) N(0,τ^2) N(0,τ2)分布 τ = Δ f 2 l n ( 1.25 / δ ) / ϵ τ=\Delta f \sqrt{2ln(1.25/ \delta)}/\epsilon τ=Δf2ln(1.25/δ) /ϵ的随机噪声,则 f ( X ) f(X) f(X)满足 ( ϵ , δ ) (\epsilon, \delta) (ϵ,δ)-差分隐私。其中 X T X X^TX XTX X X X的协方差矩阵。 Δ f = max ⁡ X , X ′ ∣ ∣ f ( X ) − f ( X ′ ) ∣ ∣ 2 \Delta f=\displaystyle\max_{X,X'}||f(X)-f(X′)||_2 Δf=X,Xmax∣∣f(X)f(X)2 f f f l 2 l_2 l2敏感度, X X X X ′ X′ X为邻居数据集。
例如:设 X = ( x 1 , x 2 , . . . , x n ) X=(x_1,x_2,...,x_n) X=(x1,x2,...,xn) X ′ = ( x 1 , x 2 , . . . , x n ′ ) X'=(x_1,x_2,...,x'_n) X=(x1,x2,...,xn)为邻居数据集,且 ∣ ∣ x i ∣ ∣ 2 ≤ 1 ||x_i||_2≤1 ∣∣xi21 ∀ i ∈ [ n ] \forall i∈[n] i[n],有算法 A = 1 n X X T A=\frac{1}{n}XX^T A=n1XXT A ′ = 1 n X ′ X ′ T A'=\frac{1}{n} X'X'^{T} A=n1XXT,满足 max ⁡ X , X ′ ∣ ∣ A − A ′ ∣ ∣ 2 ≤ 1 n \displaystyle\max_{X,X'}||A-A'||_2≤\frac{1}{n} X,Xmax∣∣AA2n1,则此算法敏感度 Δ f = 1 n \Delta f=\frac{1}{n} Δf=n1,令 τ = 1 n 2 l n ( 1.25 / δ ) / ϵ τ=\frac{1}{n}\sqrt{2ln(1.25/\delta)}/\epsilon τ=n12ln(1.25/δ) /ϵ,对 A A A加上满足 N ( 0 , τ 2 ) N(0,τ^2) N(0τ2)分布的随机噪声,则算法 A A A满足 ( ϵ , δ ) (\epsilon,\delta) (ϵδ)-差分隐私。

本地均分扰动联邦PCA算法(ELFedPCA)

算法思想:在本地生成相同的随机噪声矩阵,通过均分随机噪声矩阵的方式,在本地扰动协方差矩阵,使得在服务器相加后的协方差矩阵满足差分隐私定义;设计隐私保护联合中心化方案,保护本地数据均值和总数的隐私。
使用场景如下:sites每个站点有自己的数据,server负责进行汇总pca,publisher负责发布server降维后的数据。
《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记
前提:设 X ∈ R n × d X\in \R^{n\times d} XRn×d为所有s个站点的数据集合,横向划分数据集 X 1 , . . . , X s X_1,...,X_s X1,...,Xs,第 i i i个站点的数据 X i = ( x i 1 , . . . , X i N i ) T ∈ R N i × d X_i=(x_{i1},...,X_{iN_i})^T\in\R^{N_i\times d} Xi=(xi1,...,XiNi)TRNi×d,其中 d d d为数据集的维度,且各站点的维度相同, N i N_i Ni是站点 i i i的数据量。所有站点的总数据量 n = ∑ i = 1 s N i n=\displaystyle\sum_{i=1}^sN_i n=i=1sNi
算法流程:
1、中心化(减去均值):在不泄露各站点的数据信息的情况下,让站点2生成s-1个和为0的小数 a 2 , a 3 , . . . , a s a_2,a_3,...,a_s a2,a3,...,as与和为0的整数 b 2 , b 3 , . . . , b s b_2,b_3,...,b_s b2,b3,...,bs,然后将 a i , b i a_i,b_i ai,bi发给对应的站点 i i i。各个站点计算自己的sum和count,站点1为: s u m ( s 1 ) = ∑ k = 1 N 1 x 1 k , c o u n t ( s 1 ) = N 1 sum(s_1)=\sum_{k=1}^{N_1}x_{1k},count(s_1)=N_1 sum(s1)=k=1N1x1kcount(s1)=N1其他站点 i i i为: s u m ( s i ) = ∑ k = 1 N i x i k + a i , c o u n t ( s i ) = N i + b i sum(s_i)=\sum_{k=1}^{N_i}x_{ik}+a_i,count(s_i)=N_i+b_i sum(si)=k=1Nixik+aicount(si)=Ni+bi,最后各站点 i i i将计算的sum和count发给站点1进行汇总: s u m ( s ) = ∑ i = 1 s s u m ( s i ) , c o u n t ( s ) = ∑ i = 1 s c o u n t ( s i ) sum(s)=\sum_{i=1}^ssum(s_i),count(s)=\sum_{i=1}^scount(s_i) sum(s)=i=1ssum(si)count(s)=i=1scount(si)由于 ∑ i = 2 s a i = 0 , ∑ i = 2 s b i = 0 \sum_{i=2}^sa_i=0,\sum_{i=2}^sb_i=0 i=2sai=0,i=2sbi=0,所以sum(s)就算所有站点的真实总和,count(s)就是所有站点的真实数据量。从而所有站点的数据的均值为: μ = s u m ( s ) c o u n t ( s ) \mu=\frac{sum(s)}{count(s)} μ=count(s)sum(s)站点1在将计算得到的均值 μ \mu μ发给其他站点,做中心化操作: x i = x i − μ x_i=x_i-\mu xi=xiμ

为什么要去中心化,如图,使得计算主成分时不会受到偏离值的影响。同时中心化是求协方差的一部分, 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) \frac{1}{n-1}\sum_{i=1}^n(x_i-\bar x)(y_i-\bar y) n11i=1n(xixˉ)(yiyˉ)
《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记

2、归一化,由于差分隐私PCA高斯机制要求 ∣ ∣ x i ∣ ∣ 2 ≤ 1 ||x_i||_2\le 1 ∣∣xi21,所以需要对数据进行归一化 x i = x i ∣ ∣ x i ∣ ∣ 2 x_i=\frac{x_i}{||x_i||_2} xi=∣∣xi2xi
前两步就是对数据进行 ( 0 , 1 ) (0,1) (0,1)的标准化操作。

3、每个站点计算自己的协方差矩阵: A i = 1 N i − 1 X i T X i A_i=\frac{1}{N_i-1}X_i^TX_i Ai=Ni11XiTXi设所有的站点的数据 X = ( X 1 , X 2 , . . . , X s ) X=(X_1,X_2,...,X_s) X=(X1,X2,...,Xs)的协方差为 1 N − 1 A \frac{1}{N-1}A N11A
4、站点1生成一个随机种子seed,并设置合适的 ϵ \epsilon ϵ δ \delta δ,然后发送 [ s e e d , ϵ , δ ] [seed,\epsilon,\delta] [seed,ϵ,δ]给其他站点,各站点便可以生成相同的服从 N ( 0 , τ 2 ) N(0,τ^2) N(0,τ2)分布 τ = 2 l n ( 1.25 / δ ) / n ϵ τ=\sqrt{2ln(1.25/\delta)}/n\epsilon τ=2ln(1.25/δ) /nϵ ( n n n为所有站点数据量总和)的随机噪声矩阵 E ∈ R d × d E\in\R^{d\times d} ERd×d,将噪声矩阵均分 E ′ = E / s E'=E/s E=E/s ( s s s为所有站点的总和),然后再计算 A i ′ = A i + E ′ A_i'=A_i+E' Ai=Ai+E。便可以将加入均分随机噪声的的协方差矩阵发给站点1。
5、站点1累计所有站点发送来的加入均分随机噪声的协方差矩阵: A ′ = A 1 ′ + A 2 ′ + . . . + A s ′ A'=A_1'+A_2'+...+A_s' A=A1+A2+...+As这个协方差 A ′ A' A和中心化差分隐私PCA加入噪声后的协方差矩阵相同,证明如下: A ′ = A 1 ′ + A 2 ′ + . . . + A s ′ = ( A 1 + E ′ ) + ( A 2 + E ′ ) + . . . + ( A s + E ′ ) A'=A_1'+A_2'+...+A_s'=(A_1+E')+(A_2+E')+...+(A_s+E') A=A1+A2+...+As=(A1+E)+(A2+E)+...+(As+E) = ( A 1 + A 2 + . . . + A s ) + s × E ′ = A + E =(A_1+A_2+...+A_s)+s\times E'=A+E\quad\quad\quad\quad\quad\quad\quad\quad =(A1+A2+...+As)+s×E=A+E

这里有个疑问:就是如果各站点的 E ′ E' E相同,那个站点1也有,各站点的 A i A_i Ai不就可以通过 A i ′ − E ′ A'_i-E' AiE得到了吗?这在本地做噪声引入就保护本地协方差的没有意义了。

6、随后站点1对 A ′ A' A进行SVD分解,取top k个特征值对应的特征向量,得到 V ′ ∈ R d × k V'\in\R^{d\times k} VRd×k,并将 V ′ V' V发送给其他站点。
7、其他站点计算降维后的数据 Y i = X i V ′ , Y i ∈ R N i × k Y_i=X_iV',Y_i\in \R^{N_i\times k} Yi=XiVYiRNi×k,并将 Y i Y_i Yi发送给站点1进行汇总: Y = ( Y 1 , Y 2 , . . . , Y s ) Y=(Y_1,Y_2,...,Y_s) Y=(Y1,Y2,...,Ys)

实验结果

本文对几个不同的数据集,对比DPdisPCA算法做了CE和SVM分类实验,实验结果如下:《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记

最后本文贡献

1、本文算法ELFedPCA是满足 ( ϵ , δ ) (\epsilon,\delta) (ϵδ)-差分隐私的,可以很好的保护各站点的隐私。
2、本文算法ELFedPCA添加的噪声量比现有文献中的噪声添加量小。因为服从高斯分布的随机噪声方差越大, 噪声越大。现有文献DPdisPCA采用的是在站点本地生成服从 N ( 0 , τ 2 ) N(0,τ^2) N(0,τ2)分布 τ = 2 l n ( 1.25 / δ ) / N i ϵ τ=\sqrt{2ln(1.25/\delta)}/N_i\epsilon τ=2ln(1.25/δ) /Niϵ的随机噪声,因此本地添加噪声的方差与 1 N i 2 \frac{1}{N_i^2} Ni21成正比。而ELFedPCA添加的噪声相当于中心化添加服从 N ( 0 , τ 2 ) N(0,τ^2) N(0,τ2)分布 τ = 2 l n ( 1.25 / δ ) / n ϵ τ=\sqrt{2ln(1.25/\delta)}/n\epsilon τ=2ln(1.25/δ) /nϵ ( n n n为所有站点数据量总和)的随机噪声,其噪声的方差与 1 n 2 \frac{1}{n^2} n21成正比。因为 N i ≪ n N_i \ll n Nin,所以 1 N i 2 > 1 n 2 \frac{1}{N_i^2} > \frac{1}{n^2} Ni21>n21。则ELFedPCA添加的噪声量更小。文章来源地址https://www.toymoban.com/news/detail-479335.html

到了这里,关于《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PrimiHub 联邦学习大模型开源,打破数据限制,保护数据隐私安全

    ChatGPT 掀起的大模型热潮,让各界人士对人工智能大模型的关注度极速提高。 什么是大模型?大模型是指具有大量参数的深度神经网络模型,它们通常可以提供更强大的表达能力和泛化能力,从而提升各种智能服务的性能和质量。大模型在训练的过程中,会面临一个重大挑战

    2024年02月16日
    浏览(43)
  • 联邦学习:对“数据隐私保护”和“数据孤岛”困境的破局

    作者:vivo 互联网安全团队- Tu Daxi 随着计算力、算法和数据量的巨大发展,人工智能迎来第3次发展高潮,开始了各行业的落地探索。然而,在“大数据”兴起的同时,更多行业应用领域中是“小数据”或者质量很差的数据。“数据孤岛”现象广泛存在,例如在信息安全领域的

    2024年02月11日
    浏览(40)
  • 【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg

    横向联邦学习也称为 按样本划分的联邦学习 ,可以应用于联邦学习的各个参与方的数据集有相同的特征空间和不同的样本空间的场景,类似于在表格视图中对数据进行水平划分的情况。 例如,两个地区的城市商业银行可能在各自的地区拥有非常不同的客户群体,所以他们的

    2023年04月19日
    浏览(45)
  • 联邦学习实战-1:用python从零开始实现横向联邦学习

    什么是联邦学习? 简单来说就是在一个多方的环境中,数据集是零散的(在各个不同的客户端中),那么怎样实现机器学习算法呢? 首先想到的就是将多个数据集合并合并起来,然后统一的使用传统的机器学习或者深度学习算法进行计算,但是如果有一方因为数据隐私问题

    2023年04月08日
    浏览(76)
  • 联邦学习:密码学 + 机器学习 + 分布式 实现隐私计算,破解医学界数据孤岛的长期难题

      这联邦学习呢,就是让不同的地方一起弄一个学习的模型,但重要的是,大家的数据都是自己家的,不用给别人。 这样一来,人家的秘密就不会到处乱跑(数据不出本地),又能合力干大事。   <没有联邦学习的情况> 在没有联邦学习的情况下,医院面临的一个主要问题

    2024年01月23日
    浏览(50)
  • 【阅读笔记】联邦学习实战——用FATE从零实现横向逻辑回归

    FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,在github上拥有近4000stars,可谓是相当有名气的,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境,否则利用python从零开发,那将会是一件非常痛苦的事情。本篇

    2023年04月26日
    浏览(68)
  • 隐私计算之浅谈联邦学习

    本文分享自天翼云开发者社区《隐私计算之浅谈联邦学习》 作者:l****n 一、背景 “数据孤岛”简单的讲,各组织都持有各自的数据,这些数据之间互有关系但又独立存储于各组织。出于安全性、合规性等方面考虑,各组织只能查询、使用己方数据,无法交换其它组织的数据

    2024年02月13日
    浏览(36)
  • 区块链如何应用于边缘计算、隐私计算联邦学习

    近年来数据安全事件频发,数据安全威胁日益严峻。 随着《中华人民共和国数据安全法》的颁布和实施,对企业合规安全地发挥数据价值提出了更高的要求。 如何在保障数据安全的前提下发挥数据价值,平衡效率和风险,是当前面临的重要课题。 本文探讨如何将区块链应用

    2024年02月12日
    浏览(39)
  • 大模型的数据隐私问题有解了,浙江大学提出联邦大语言模型

    作者 | 小戏、Python 理想化的 Learning 的理论方法作用于现实世界总会面临着诸多挑战,从模型部署到模型压缩,从数据的可获取性到数据的隐私问题。 而面对着公共领域数据的稀缺性以及私有领域的数据隐私问题,联邦学习(Federated Learning)作为一种分布式的机器学习框架吸

    2024年02月13日
    浏览(36)
  • 数睿通2.0数据中台数据治理—元数据功能发布

    数睿通 2.0 目前基本完成了数据集成,数据开发,数据服务三大模块,初步具备了拉数,造数,供数的能力。因为平台相关人员都是兼职开发,并非全职,所以进度没有那么快,这点希望大家可以理解。3 月份主要是完善了一下数据集成,添加了实时日志的展示,同时开发了数

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包