一种基于k‑means的分布式差分隐私保护方法与流程

文档序号:12467851阅读:266来源:国知局
一种基于k‑means的分布式差分隐私保护方法与流程

本发明涉及一种分布式差分隐私保护方法,具体涉及一种基于k-means的分布式差分隐私保护方法。



背景技术:

目前,对智能电网大数据进行数据挖掘的主要任务之一就是聚类。而K-means是目前聚类算法中,一个使用较为广泛的聚类算法。k-means聚类也称为快速聚类,尤其适用于对大数据进行聚类的情形。对智能电网大数据集来说,K-means聚类算法具有可伸缩性和高效率性。然而,如何对智能电网大数据在进行分布式隐私保护K-means聚类数据挖掘是急需解决的问题,以实现数据分布式情况下的各参与方的隐私保护。

目前,国内外掀起了一股差分隐私保护技术的研究热潮。相比其他的隐私保护技术,差分隐私保护机制是一种完全独立于攻击者背景知识的强隐私概念。差分隐私假定攻击者拥有任意的背景知识,无论特定的个体记录是否在数据集中,对该数据集的分析或查询结果在形式上不可分,即分析或查询结果不强依赖于单个记录。同时,差分隐私可以在隐私保护和数据挖掘结果可用性之间取得很好的权衡。

差分隐私保护通过随机噪声的添加使包含敏感属性的数据失真,同时保持某些数据或数据属性不变。经过添加噪声处理之后的数据仍然保持原有数据的某些统计特性,以便进行数据挖掘等操作。差分隐私的形式化定义如下:

定义1.给定两个近邻数据集D1和D2(D1和D2之间相差一条数据记录)。给定一个隐私挖掘算法A,Range(A)表示A的取值范围。若算法A在数据集D1和D2上输出任意结果O(O∈Range(A))满足下列不等式,则称算法A满足ε-差分隐私(0<ε<1)。

Pr(A(D1)=O)≤exp(ε)×Pr(A(D2)=O)

其中概率Pr(.)表示隐私披露的风险并且由隐私挖掘算法A的随机性控制;隐私预算参数ε表示隐私保护程度,ε值越小表示隐私保护程度越高。从定义1可以看出,差分隐私限制了任意一个数据记录对算法A输出结果的影响,即它保证了在数据集中添加或者删除一条记录不会影响查询输出结果。

差分隐私保护机制通常是通过在查询函数的返回值中加入适量Laplace噪声来实现ε-差分隐私保护。本文使用Laplace噪声添加机制实现对全局朴素贝叶斯分类模型的ε-差分隐私保护。下面给出Laplace机制的相关描述。当位置参数为0,尺度参数为b(b>0)时,Laplace分布标记为Lap(b),其概率密度函数为:

定义2.Laplace机制.给定数据集D,设有函数f:D→Rd,其敏感度为Δf∈R。那么随机算法M(D)=f(D)+Y提供ε-差分隐私保护。其中Y~Lap(Δf/ε)为随机噪声且服从尺度参数为Δf/ε的Laplace分布。Δf表示函数f的敏感度由函数f决定且不同的函数通常具有不同的敏感度Δf,ε表示隐私参数且0<ε<1。满足ε-差分隐私保护时,ε越小加入的噪声越多隐私保护的级别越高。

敏感度Δf是决定加入噪声大小的关键参数。敏感度是指数据集任意添加或者删除一条数据记录对查询结果造成的最大改变。在差分隐私保护方法中定义了两种敏感度即全局敏感度(Global Sensitivity)和局部敏感度(localSensitivity)。下面简要介绍本文使用的全局敏感度。

定义3.全局敏感度.设有函数f:D→Rd,输入为一数据集,输出为一个d(d∈Z+)维实数向量。对于任意的近邻数据集D1和D2,下面给出了函数f的全局敏感度度的计算公式。

其中||f(D1)-f(D2)||1表示f(D1)和f(D2)之间的1-阶范数距离。函数的全局敏感度由函数本身决定,与数据集无关且不同的函数会有不同的全局敏感度。

引理1(Laplace分布的可分性).假设Lap(λ=Δf/ε)是服从Laplace分布的噪声,其概率密度函数是那么噪声Lap(λ)的分布具有无限可分性,即其中整数r≥1,和表示独立同分布的服从伽玛分布的随机噪声(其概率密度函数是g(x,r,λ)=((1/λ)1/r/Γ(r))x1/r-1e-x/λ,x≥0)。

从引理1,可以看出一个Laplace噪声(Lap(λ))可以由分布式环境下的r个参与方联合生成,每个参与方添加的局部噪声是因此,可以利用该机制让r个分布式参与方联合添加一个噪声,以降低合谋攻击的危险。

为了减少合谋攻击,本发明通过Laplace分布的无限可分性让r个参与方联合生成一个Laplace噪声,但是,每一个参与方所生成的噪声不足以保护自己的局部数据隐私。



技术实现要素:

为解决上述现有技术中的不足,本发明的目的是提供一种基于k-means的分布式差分隐私保护方法,本发明所采用的差分隐私保护技术定义了一个极其严格的攻击模型,并对隐私泄漏风险进行了严格的数学证明和定量化表示。同时,差分隐私保护机制也能在k-means聚类数据挖据结果可用性和隐私保护级别两方面取得更好的平衡。在严格的隐私披露风险度量下,实现了在加入少量噪声的同时达到较高隐私保护标准的目的。

本发明的目的是采用下述技术方案实现的:

本发明提供一种基于k-means的分布式差分隐私保护方法,其改进之处在于,所述方法包括下述步骤:

⑴确定参与方Pt和数据挖掘方DM,以及对应局部数据库中的数据记录,所述数据记录都是d维空间[0,1]d中的一个点;

⑵将d维空间[0,1]d中的样本点集合聚合为k个聚簇,k∈Z+

⑶数据挖掘方DM初始化,并按下述步骤⑷-⑻更新;

⑷参与方Pt将自己的局部数据库中的样本划分成k个集合,即

⑸参与方Pt将经过同态加密机制加密之后的密文和发送给数据挖掘方DM;

⑹数据挖掘方DM根据密文和计算得到经过同态加密机制加密之后的密文Epk(sumj)和Epk(numj);

⑺数据挖掘方DM对步骤⑹中得到的密文Epk(sumj)和Epk(numj)分别进行解密得到d维空间[0,numj]d的一个样本点,重复执行k次得到全局的k个聚类中心{u1,...,uk};

⑻不断迭代执行步骤⑷-⑺直至点到集合的划分不再变化或迭代次数达到上限。

进一步地,所述步骤⑴中,在数据水平分布情况下,设有r个参与方Pt和数据挖掘方DM;数据挖掘方DM和每一个参与方Pt均有对应的局部数据库,数据库中的每一个数据记录都是d维空间[0,1]d中的一个点;r∈Z+;d∈Z+;t为参与方的个数,t∈[1,r]。

进一步地,所述步骤⑵中,设将d维空间[0,1]d中的一个样本点集合聚合为k个聚簇,每个聚簇包括k’个中心点,则第j’个中心点为uj=sumj/numj,则sumj是d维空间[0,numj]d的一个点,uj是d维空间[0,1]d的一个点;在d维空间[0,1]d的样本点集合中添加或删除一个点,对分母的影响最大为1,num的敏感度为1;

对于分子sumj,在d维空间[0,1]d的样本点集中添加或删除一个点,分子sumj每一维的变化最大为1;其中sumj表示第j个聚簇中所包含的样本点之和,numj()表示第j个聚簇中所包含的样本点个数,整数numj≥1;k∈Z+;j表示聚簇,取值为1≤j≤k;j’表示中心点,取值为1≤j'≤k。

进一步地,所述步骤⑶中,数据挖掘方DM生成同态加密机制的公钥pk和私钥sk,并将公钥pk发送给每一个参与方Pt,数据挖掘方DM依据先验知识选择样本点集合k作为初始中心点集合{u1,...,uk},并将初始中心点集合{u1,...,uk}发送给每一个参与方Pt,其中每一个初始中心点都是d维空间[0,1]d的一个点,并按步骤⑷-⑻更新。

进一步地,所述步骤⑷中,每一个参与方Pt(t∈[1,...,r])收到数据挖掘方DM发送过来的中心点集合{u1,...,uk}之后,将自己局部数据库的每一个样本点划分到最近的中心点,最终将自己的局部数据库中的样本划分成k个样本点集合,即样本点集合

进一步地,所述步骤⑸中,对于1≤j'≤k(步骤2中的中心点为第j个中心点,j的取值范围也是1到k之间,与此处表述是一致的),每一个参与方Pt计算得到集合内所有点之和和集合的样本数目

首先对添加噪声得到:

参与方Pt再将添加了噪声之后得到的和基于同态加密机制对和分别进行加密得到密文和参与方Pt将经过同态加密机制加密之后的密文和发送给数据挖掘方DM;

其中,表示d维空间中的一个点;r,λ两项均为伽马分布函数的参数,ε为查分隐私保护的隐私泄露量,t为参与方的个数,为伽马分布函数。

进一步地,所述步骤⑹中,数据挖掘方DM收到所有参与方Pt(t∈[r])发送的密文之后,然后通过分别计算下述式子:

得到经过同态加密机制加密之后的密文Epk(sumj)和Epk(numj);

其中sumj表示d维空间[0,numj]d的一个样本点,整数numj大于0。

进一步地,所述步骤⑺中,数据挖掘方DM对步骤⑹中得到的密文Epk(sumj)和Epk(numj)分别进行解密得到sumj=Dsk(Epk(sumj))和numj=Dsk(Epk(numj)),进而得到第j个聚簇的中心点即uj=sumj/numj;重复执行步骤k次,直到得到全局的k个聚类中心{u1,...,uk}。

与最接近的现有技术相比,本发明提供的技术方案具有的优异效果是:

相比其他的隐私保护技术,差分隐私保护机制定义了一个极其严格的攻击模型:攻击者已知除一条数据记录以外的所有数据记录。在该攻击模型下,攻击者也无法从任何相关的背景知识或者关联的信息中推断出剩余一条数据记录的任何隐私信息。差分隐私保护机制不仅对隐私泄漏风险进行了严格的数学证明和定量化表示,还能在隐私保护和数据挖掘结果可用性之间取得很好的权衡。本发明首次将差分隐私保护机制引入到水平分布式k-means隐私保护算法。该基于k-means的水平分布式差分隐私保护算法能够提供更强的隐私保护保障,同时也能保证结果的可用性。此外,每一个参与方添加的噪声不足以保护自己的数据隐私。因此本发明采用同态加密机制,对各参与方的隐私数据提供更进一步的安全性保障。相比现有的分布式k-means隐私保护算法,本文提出的基于k-means的分布式差分隐私保护算法能提供更强的隐私和安全性保证。

附图说明

图1是本发明提供的是实验中使用的用于测试差分隐私k-means聚类算法性能的数据示意图;

图2是本发明提供的基于k-means的分布式差分隐私保护方法的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的详细说明。

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。

本发明使用同态加密机制对各参与方的隐私数据提供进一步的安全性保障。同态加密算法机制的描述如下:

同态加密算法机制是满足下列条件的一个六元组

⑴M是明文空间;

⑵C是密文空间;

⑶K是公私钥对集合;

⑷是同态运算符;

⑸对于任意的(pk,sk)∈K(pk称作公钥,sk称作私钥),对应一个加密算法Epk∈E(E是加密算法集合,E:M→C)和解密算法Dsk∈D(D是解密算法集合,D:C→M),且对任意的m∈M,满足c=Epk(m),m=Dsk(c)=Dsk(Epk(m)),其中Epk和Dsk都是多项式时间内可执行的。

⑹对于所有的(pk,sk)∈K,由推出是计算上不可能的。

⑺对任意的x,y∈M,

根据运算符的不同,可分为加同态加密和乘同态加密算法。本专利使用了加同态性的算法,其可表述为

k-means聚类算法的基本思想是从数据集中任意选择k个数据对象作为初始聚类中心,计算每个对象与这些中心点之间的距离,并根据最小距离将每个数据对象划分到指定的簇,然后重新计算每个簇的中心点,以新中心点作为新的聚类中心。循环迭代上述过程,直至每个簇的数据不再发生变化。在k-means聚类算法中,计算离每个样本点最近的中心点会泄漏隐私。通过对k-means进行分析发现,计算中心点时需要用集合内所有点之和除以数目。因此,只要发布点之和与数目的近似值就不会泄漏隐私。

本发明提供的基于k-means的分布式差分隐私保护方法的流程图如图2所示,包括下述步骤:

⑴在数据水平分布情况下,假设有r(r∈Z+)个参与方Pt(t∈[1,r]),一个数据挖掘方(Data Miner,DM)。数据挖掘方和每一个参与方都有自己的局部数据库,数据库中的每一个数据记录都是d(d∈Z+)维空间[0,1]d中的一个点。

⑵假设将d维空间[0,1]d中的一个样本点集合聚合为k(k∈Z+)个聚簇,每个聚簇包括k’个中心点,则第j’个中心点为uj=sumj/numj,其中sumj表示第j个聚簇中所包含的样本点之和,numj(整数numj≥1)表示第j个聚簇中所包含的样本点个数。则sumj是d维空间[0,numj]d的一个点,而uj是d维空间[0,1]d的一个点。在d维空间[0,1]d的样本点集中添加或删除一个点,对分母的影响最大为1,因此num的敏感度为1。对于分子sumj,在d维空间[0,1]d的样本点集中添加或删除一个点,分子sumj每一维的变化最大为1。

⑶数据挖掘方首先生成同态加密机制的公钥pk和私钥sk,并将公钥pk发送给每一个参与方Pt(t∈[1,...,r])。数据挖掘方DM然后依据一定的先验知识选择k个点作为初始中心点{u1,...,uk}(每一个初始中心点都是d维空间[0,1]d的一个点),并将初始中心点集合{u1,...,uk}发送给每一个参与方Pt(t∈[1,...,r]),并按以下步骤更新:

⑷每一个参与方Pt(t∈[1,...,r])收到数据挖掘方DM发送过来的中心点集{u1,...,uk}之后,将自己局部数据库的每一个样本点划分到最近的中心点,最终将自己的局部数据库中的样本划分成k个集合,即

⑸对于1≤j'≤k,每一个参与方Pt(t∈[1,...,r])计算得到集合内所有点之和和集合的样本数目首先对添加噪声得到:

(其中,表示d维空间中的一个点)。参与方Pt再将添加了噪声之后得到的和基于同态加密机制对和分别进行加密得到密文和最后参与方Pt将经过同态加密机制加密之后的密文和发送给数据挖掘方DM。

⑹数据挖掘方DM收到所有参与方Pt(t∈[r])发送的密文之后,然后通过分别计算和就可以得到经过同态加密机制加密之后的密文Epk(sumj)和Epk(numj)。其中sumj表示d维空间[0,numj]d的一个样本点,整数numj大于0。

⑺数据挖掘方DM对步骤⑹中得到的密文Epk(sumj)和Epk(numj)分别进行解密得到sumj=Dsk(Epk(numj))和numj=Dsk(Epk(numj)),进而得到第j个中心点即uj=sumj/numj。重复执行步骤k次,直到得到全局的k个聚类中心{u1,...,uk}。

⑻不断迭代执行步骤⑷-⑺直至点到集合的划分不再变化或迭代次数达到上限。

实施例一

下面结合智能电网中对用户在不在家时用户的用电情况对用户进行聚类。通过试验进一步说明查分隐私k-means聚类算法在数据的可用性和隐私保护两个方面可以取得很好的平衡,进一步说明该方法的有效性。

图1是实验中使用的用于测试差分隐私k-means聚类算法性能的数据,该数据是关于用户在不在家时,家里的用电情况。该数据已经知道数据原有的聚类标签。数据集的真实标签,可以用于定量的描述聚类算法的聚类结果。

具体的实施方式如下所示:

a)首先收集得到一个用户的训练数据,即用户在家和不在家两种情况下的家庭用电数据,假设该数据集合的名称是data。该数据集所对应的类别标签为categories。

b)先用k-means聚类算法对该数据集进行聚类。得到聚类结果即准确率,如表格1所示。

表1训练数据的描述

程序的运行语句为:

Res_kmeans=kmeans(data,categories);

c)再在上面的数据集上运行差分分隐私k-means聚类算法,得到聚类算法的聚类的准确率,如表格2所示。

表2试验结果

表2描述的分别使用k-means聚类算法和差分隐私k-means聚类算法在上面描述的数据集上进行测试得到的实验结果。实验结果主要从聚类的准确率(Accuracy)对这两个算法进行衡量比较。实验结果表明,在进行差分隐私保护k-means聚类分析的同时,其算法准确性也不低于k-means算法,具有较好的隐私保护能力和聚类分析的实用性。

以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1