![基于本地化差分隐私的两阶段k-means聚类处理系统及方法](http://img.xjishu.com/img/zl/2021/10/22/y9uerjrzx.jpg)
基于本地化差分隐私的两阶段k
‑
means聚类处理系统及方法
技术领域
1.本发明属于数据聚类技术领域,涉及基于本地化差分隐私的k
‑
means聚类算法,特别涉及基于本地化差分隐私的两阶段k
‑
means聚类处理系统及方法。
背景技术:2.随着信息时代的到来,数据已经应用在生活的方方面面,在人们享受数据给生活带来便利的同时,数据中包含的隐私信息也越来越多,隐私泄露的风险也越来越严峻。如何在保护敏感信息的基础上对数据进行使用,是当前面临的重要挑战。
3.聚类是一类有效的数据挖掘算法,是根据样本的内在特征或相似性对样本进行分组的一类方法。其中k
‑
means是目前最流行和最简单的聚类算法之一,k
‑
means聚类算法的主要思想是:找到一种分类方法,使得每个聚类的中心点和聚类中的点之间的平方误差最小。由于用户数据可能包含敏感信息,所以在k
‑
means算法的每步迭代中用户与中心点的归属关系判定以及中心点的更新都会泄露用户的敏感信息。
4.为了解决隐私泄露问题,现有的主流方法是使用差分隐私技术,其中差分隐私又可分为中心化差分隐私技术(centralizer differential privacy,cdp)和本地化差分隐私技术(local differential privacy,ldp)。很多学者基于cdp优化了k
‑
means聚类算法,但是cdp是建立在可信第三方数据收集者的前提下的,由于这个前提过于苛刻,所以此类技术在实际部署中很少。基于ldp的k
‑
means聚类算法便应运而生,ldp假设所有的第三方数据收集者都是不可信的,这保证了在面对强背景知识攻击者以及不可信的第三方数据收集者的隐私攻击时,ldp仍能为每一个客户端用户提供可靠的、具有理论保证的隐私保护服务。
5.现有的基于ldp的k
‑
means算法的研究中,主要是将用户的加噪数据直接发送给server端,有的方法是用户每个点的距离向量扰动后发送给server端;有的方法是每个用户将原始数据直接加噪后发送给server端,server端根据加噪的数据使用k
‑
means进行处理。这种方案并非直接针对k
‑
means的用户属于哪个簇和对应的中心点这两个隐私信息进行隐私保护,而是着手于对用户给出的原始数据进行扰动和加噪。对用户的原始数据进行扰动之后,用户原本的真实数据就无从得知了,将扰动的数据发送给聚类算法进行聚类,这样也起到了一定的隐私保护作用。但是上述方案存在一定不足:在ldp模型下,针对每一个用户位置加噪,加噪后的数据严重偏离真实值,单个带噪数据没有意义,只有基于大量带噪数据计算的统计值是有意义的,该统计值可以用于作为真实统计值的估计。所以基于单个用户的带噪数据完成其与中心点归属关系的判定会得到无用的对用户分组的结果。
6.鉴于此,本发明提出了一种基于ldp的两阶段k
‑
means算法,分别应用满足ldp的算法完成用户与中心点归属关系的判定以及中心点的更新,解决了隐私泄露的问题。
技术实现要素:7.针对现有技术存在的不足,本发明提供一种基于本地化差分隐私的两阶段k
‑
means聚类系统及方法,基于随机响应机制,建立满足本地化差分隐私模型约束的用户与中
心点归属关系判定机制;基于拉普拉斯机制,设计满足本地化差分隐私模型约束的中心点更新方法,解决k
‑
means算法的每步迭代中用户与中心点的归属关系判定以及中心点的更新过程中泄露用户的敏感信息问题。
8.为了解决上述技术问题,本发明采用的技术方案是:
9.基于本地化差分隐私的两阶段k
‑
means聚类处理方法,将隐私预算ε分成多份,用于多次迭代,在每次迭代时,包括两个阶段,每次迭代使用的隐私预算分配到两个阶段;
10.第一阶段,应用本地化差分隐私算法完成用户与中心点归属关系的判定:每个用户利用真实数据判定其归属的中心点,并利用随机响应机制完成对每次迭代时用户坐标归属于哪个中心点这一信息的加噪以保护用户的隐私;
11.第二阶段,基于拉普拉斯机制进行中心点的更新:在服务端进行中心点的更新时,用户将横纵坐标加入拉普拉斯噪声后传给服务器,服务器结合第一阶段的结果,使用同一簇中的不同用户的带噪坐标值计算平均值统计结果,作为更新后每个中心点的坐标信息。
12.进一步的,每次迭代的具体步骤如下:
13.阶段1:获取每个用户加噪的所属簇;计算每个簇的点数量;
14.阶段2:获取阶段1获取的每个簇的数量和对应的用户信息,获取每个用户加噪的坐标信息,并计算新的中心点,更新中心点,并发送给所有用户,用于下次迭代。
15.进一步的,在每次迭代时,第一阶段中,通过下述方法判断每个用户的坐标归属于哪个簇:首先计算用户坐标t
i
和每个中心点μ
k
的欧氏距离,之后比较各个距离,用户将归属于距离最近的那个中心点:
[0016][0017]
计算出来的label
i
就是该坐标应该归属的真实簇号。
[0018]
进一步的,在获得用户归属于哪个中心点的信息后,用户u
i
需要回答一个值给聚合器,这个值就是用户所属的哪个簇,这个值的候选值有k个,通过随机响应机制对用户归属于哪个中心点这一信息加噪,保证用户u
i
以大概率p1回答真实label
i
,而用小概率p2随机回答其他label;根据差分隐私的需求,需要满足以下:
[0019]
i.回答值的所有概率和为1
[0020]
ii.大概率p1和小概率p2的比值为e
∈
。
[0021]
进一步的,在计算出用户u
i
归属于簇label
i
后,用户以概率p1回答label
i
,以概率p2随机回答除label
i
以外的任意其他簇,其中p1、p2的值如下式计算:
[0022][0023]
最终能得出:
[0024]
用户u
i
以pr[y=j]的概率回答第j簇,根据该公式计算出每个用户u
i
回答正确簇值的概率,1≤i≤n;之后利用一个随机数p,如果该随机数p小于pr[y=label
i
],将用户分配给所属的真实簇并发布真实值label
i
,反之,分配给一个其他的随机簇。
[0025]
进一步的,第二阶段中,更新中心点时,首先将每个用户的坐标(x
i
,y
i
)进行归一化处理,之后对横纵坐标分别加入拉普拉斯噪声,对查询结果进行扰动,将查询结果概率化,加噪后的横纵坐标分别为:
[0026][0027]
其中,为与相关的拉普拉斯分布函数,
[0028]
最后,将带噪的数据发送给中心点,各簇内的点到各簇中心点的欧氏距离之和为sum
*
,再将其除以簇内所有点的数目count,获得新的中心点。
[0029]
本发明还提供一种基于本地化差分隐私的两阶段k
‑
means聚类处理系统,包括:
[0030]
第一加噪模块,用于每次迭代时用户坐标归属于哪个中心点的信息加噪,在每个用户利用真实数据获得用户归属于哪个中心点的信息后,利用随机响应机制完成对这一信息的加噪以保护用户的隐私;
[0031]
第二加噪模块,用于每次迭代更新中心点时对用户坐标信息加噪,在服务端进行中心点的更新时,用户将横纵坐标加入拉普拉斯噪声后传给服务器,服务器结合第一阶段的结果,使用同一簇中的不同用户的带噪坐标值计算平均值统计结果,作为更新后每个中心点的信息。
[0032]
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的基于本地化差分隐私的两阶段k
‑
means聚类处理方法。
[0033]
与现有技术相比,本发明优点在于:
[0034]
(1)基于随机响应机制,建立满足本地化差分隐私模型约束的用户与中心点归属关系判定机制。
[0035]
(2)基于拉普拉斯机制,设计满足本地化差分隐私模型约束的中心点更新方法。
[0036]
(3)本发明将隐私预算分成多份,防止出现迭代过程中隐私预算枯竭问题,将每次迭代使用的隐私预算分配到两个阶段,在满足差分隐私的基础上优化效果;两个阶段都有效地避免了直接使用单个用户的带噪值完成聚类的构建,解决k
‑
means算法的每步迭代中用户与中心点的归属关系判定以及中心点的更新过程中泄露用户的敏感信息问题。
附图说明
[0037]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038]
图1为本发明的两阶段k
‑
means框架单次迭代示意图;
[0039]
图2为本发明单个用户处理坐标信息示意图;
[0040]
图3为本发明用户发布中心点带噪数据流程示意图;
[0041]
图4为本发明用户使用拉普拉斯机制加噪坐标信息流程示意图。
具体实施方式
[0042]
下面结合附图及具体实施例对本发明作进一步的说明。
[0043]
在ldp模型中,用户需要将真实数据加噪以后再将数据发布。其中数据加噪过程借助于随机函数f完成,f满足ε
‑
ldp,当且仅当对于任意两个输入值t1和t2,任意输出值t
*
满足约束
[0044]
pr[f(t1)=t
*
]≤e
ε
.pr[f(t2)=t
*
]
[0045]
其中,ε为隐私预算,代表隐私保护的强度,ε
‑
ldp能保证对于加噪后的元组t
*
,数据搜集者不能以高于e
ε
的概率推断出原始元组是t1还是t2。这意味着,ε越小,就能产生越强的隐私保护。
[0046]
本发明提出的基于本地化差分隐私的两阶段k
‑
means聚类处理方法,需要进行多次迭代,根据本地化差分隐私的可组合性,将隐私预算ε分成多份,用于多次迭代,防止出现迭代过程中隐私预算枯竭问题。同时因为在每次迭代时,要进行两阶段的处理,将每次迭代使用的隐私预算ε
i
分配到两个阶段,在满足差分隐私的基础上优化效果。
[0047]
第一阶段,应用本地化差分隐私算法完成用户与中心点归属关系的判定:每个用户利用真实数据判定其归属的中心点,并利用随机响应机制完成对每次迭代时用户坐标归属于哪个中心点这一信息的加噪以保护用户的隐私。
[0048]
第二阶段,基于拉普拉斯机制进行中心点的更新:在服务端进行中心点的更新时,用户将横纵坐标加入拉普拉斯噪声后传给服务器,服务器结合第一阶段的结果,使用同一簇中的不同用户的带噪坐标值计算平均值统计结果,作为更新后每个中心点的坐标信息。
[0049]
在上述方案的第一阶段基于真实值进行扰动获取用户与中心点的归属关系,第二阶段利用带噪信息的统计值作为估计值,两个阶段都有效地避免了直接使用单个用户的带噪值完成聚类的构建。
[0050]
下面首先介绍在∈
‑
ldp约束下,两阶段k
‑
means聚类分析框架以及原理。随后,基于此框架,结合随机响应机制和拉普拉斯机制提出一种提高精度的优化方案。
[0051]
如图1所示的两阶段k
‑
means框架单次迭代示意图,具体步骤如下:
[0052]
阶段1:获取每个用户加噪的所属簇;计算每个簇的点数量。
[0053]
阶段2:获取阶段1获取的每个簇的数量和对应的用户信息,获取每个用户加噪的坐标信息,并计算新的中心点,更新中心点,并发送给所有用户,用于下次迭代。
[0054]
在k
‑
means算法过程中主要关注两处隐私信息,首先是每次迭代时用户坐标归属于哪个中心点的这一信息,用户并不希望这一信息被外界知道,所以需要对该信息加以扰动,随机响应机制即rr机制可以很好地解决这个问题。其次,在k
‑
means聚类算法中,每次迭代都要更新中心点,中心点的选取也是一个隐私信息,本专利使用拉普拉斯机制对用户坐标信息进行加噪,再进行中心点的选取,很好地保护了用户的隐私。
[0055]
(1)确定用户归属于哪个中心点
[0056]
在k
‑
means算法的每次迭代时,第一阶段中,需要通过下述方法判断每个用户的坐标归属于哪个簇:首先计算用户坐标t
i
和每个中心点μ
k
的欧氏距离,之后比较各个距离,用户将归属于距离最近的那个中心点:
[0057][0058]
计算出来的label
i
就是该坐标应该归属的真实簇号。
[0059]
在获得用户归属于哪个中心点的信息后,用户u
i
需要回答一个值给聚合器,这个值就是用户所属的哪个簇,这个值的候选值有k个,如图2所示,通过随机响应机制对用户归属于哪个中心点这一信息加噪,保证用户u
i
以大概率p1回答真实label
i
,而用小概率p2随机回答其他label;根据差分隐私的需求,需要满足以下:
[0060]
i.回答值的所有概率和为1
[0061]
ii.大概率p1和小概率p2的比值为e
∈
。
[0062]
如图3所示,在计算出用户u
i
归属于簇label
i
后,用户以概率p1回答label
i
,以概率p2随机回答除label
i
以外的任意其他簇,其中p1、p2的值如下式计算:
[0063][0064]
最终能得出:
[0065]
用户u
i
以pr[y=j]的概率回答第j簇,根据该公式计算出每个用户u
i
回答正确簇值的概率,1≤i≤n;之后利用一个随机数p,如果该随机数p小于pr[y=label
i
],将用户分配给所属的真实簇并发布真实值label
i
,反之,分配给一个其他的随机簇。
[0066]
(2)中心点更新
[0067]
拉普拉斯分布是一种统计学概念,它是一个连续的概率分布。为了保护数据隐私,本发明通过拉普拉斯机制添加噪声,将原有的单一的确定的结果概率化,实现隐私保护。假设每个用户的数据记录都包含一组数值属性,如本发明主要是二维数据信息,如坐标和轨迹信息。
[0068]
首先,为了能统一操作,将每个用户的坐标(x
i
,y
i
)进行归一化处理,即将每个坐标的坐标值都归一于[
‑
1,1]的区间中。之后对横纵坐标分别加入拉普拉斯噪声,对查询结果进行扰动,将查询结果概率化。拉普拉斯机制的核心是一个随机函数,将数值输入拉普拉斯函数,它将输出一个扰动后的数据,其中lap(λ)表示一个遵循尺度λ的拉普拉斯分布的随机变量。
[0069]
在k
‑
means算法中,计算各簇的中心点时,需要先计算各簇内的点到各簇中心点的距离和sum,再将其除以簇内所有点的数目count,更新该簇的中心点。
[0070]
为了避免用户的敏感信息被窃取,在计算距离之和的时候,如图4所示,用户不把真实坐标传达给中心点,而是先利用拉普拉斯机制加噪,并且给每个用户的横纵坐标分别进行拉普拉斯加噪,将拉普拉斯函数输出的噪音加载坐标点上,加噪后的横纵坐标分别为:
[0071][0072]
其中,为与相关的拉普拉斯分布函数,
[0073]
最后,将带噪的数据发送给中心点,各簇内的点到各簇中心点的欧氏距离之和为sum*,再将其除以簇内所有点的数目count,即公式获得新的中心点。
[0074]
此时的中心点是经过扰动之后的中心点,该结果不会暴露用户的中心点的真实信息,满足了隐私保护的需求。
[0075]
作为本发明另一实施例,提供一种基于本地化差分隐私的两阶段k
‑
means聚类处理系统,包括:
[0076]
第一加噪模块,用于每次迭代时用户坐标归属于哪个中心点的信息加噪,在每个用户利用真实数据获得用户归属于哪个中心点的信息后,利用随机响应机制完成对这一信息的加噪以保护用户的隐私;
[0077]
第二加噪模块,用于每次迭代更新中心点时对用户坐标信息加噪,在服务端进行
中心点的更新时,用户将横纵坐标加入拉普拉斯噪声后传给服务器,服务器结合第一阶段的结果,使用同一簇中的不同用户的带噪坐标值计算平均值统计结果,作为更新后每个中心点的信息。
[0078]
该系统的每个模块的功能及工作方式同前所述的基于本地化差分隐私的两阶段k
‑
means聚类处理方法,此处不再赘述。
[0079]
作为本发明另一实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的基于本地化差分隐私的两阶段k
‑
means聚类处理方法,此处不再赘述。
[0080]
综上所述,本发明第一阶段基于真实值进行扰动获取用户与中心点的归属关系,并利用随机响应机制完成对该信息的加噪以保护用户的隐私;第二阶段利用带噪信息的统计值作为估计值,计算平均值统计结果,作为更新后每个中心点的信息,两个阶段都有效地避免了直接使用单个用户的带噪值完成聚类的构建。
[0081]
本发明的各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
[0082]
当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,做出的变化、改型、添加或替换,都应属于本发明的保护范围。