Private K-Means Clustering: Algorithms and Applications论文阅读报告
组员: 黎君玉 杨根 张荣华
背景
大数据是一把双刃剑。 一方面,我们可以通过分析用户数据来提取有价值的行为模式。 例如,由附着在汽车,智能手机用户或自动驾驶汽车上的巡回传感器节点的集合生成的GPS数据可以为我们提供有关个人活动模式的重要信息(例如,他们的居住地,工作,他们如何度过闲暇时间等)以及城市规模的模式(例如,一天中的交通拥堵如何变化,城市的热点在哪里,事件对交通的影响是什么) ,工作地点的分布情况等)。另一方面,我们的个人数据可能会侵犯隐私权。 一旦其他人访问了我们的位置数据,我们生活,工作和娱乐的地方就不再是秘密。 最大的挑战是如何在不公开单个数据的情况下在数据库上公开和运行查询。
现有方案
匿名化
隐藏、随机播放或重命名所有敏感的识别信息,例如姓名,社会保险号和信用卡号。
缺陷:
对手仍然可以使用背景知识和互相关来对这些数据集发起更复杂的攻击,以便他们可以对单个记录进行匿名处理。
解决方案
着重于k均值聚类查询,这是机器学习的主要任务之一。现在,代替公开原始数据集,数据集所有者可以公开私有核心集。提出了一种专门用于GPS数据库的应用程序。该应用程序允许用户通过将不同的隐私级别与位置区域相关联来调整其隐私级别。单个用户可以在他们居住的地方设置较高的隐私级别,并在上下班的主要高速公路上设置较低的隐私级别。
算法简介
这里只给出一个非正式的概述。准确的定义和声明要见第3.3节
该算法的输入是d维域Xd中n个点的集合P,k(k>=1)个簇的数目和隐私参数ε和δ。我们注意到,在[参考文献19,定理6]中证明了即使在低维空间,Rd中一般n个点集的私有聚类是不可能的,因为加性误差取决于点之间可能距离的直径和数目。因此,无法避免网格上输入点的限制。该算法的输出是一组基于k-centers的集合C,其近似于P的最优k-means值的平方距离之和,且具有与d次线性相关的乘性和加性误差。
在每次迭代中,该算法计算包含至少3n/(8k)个输入点的近似最小球的中心c。c的计算是用微分私有子程序Small-Ball来完成的,如定理3.2.5所述。接下来,我们从输入中移除离中心c最近的3n/(8k)点。直观地说,c表示这些点,因此得到w=3n/(8k)的权重。然后,我们继续递归地处理剩余的点,直到几乎没有输入点为止。最后(小)组剩余点将被忽略。注意,n的值在每次迭代中都会减小。
经过O(k logn)迭代,我们得到了O(k logn)加权中心。这组中心D是我们的私有核心集。然后,我们计算D上的(正则的,非私有的)k-means近似值,也就是说,我们计算O(k logn)加权点之间的k个中心的集合C,该集合最小化到这些点的平方距离之和。
背景定义和定理
差分隐私保证任何个人的记录都不能从算法的结果中学习,并且与潜在入侵者已经知道的无关。
定理:(差分隐私)
如果域U上的数据库S1∈Um和S2∈Um恰好在一个条目上不同,则称为邻域数据库。一个随机算法A是(ε,δ)的差分私有,如果所有相邻数据库S1,S2∈Um,那么对于所有输出集F,A(S1)∈F的概率最大。
Pr[A(S1) ∈ F] ≤ expε·Pr[A(S2) ∈ F] + δ.
差分私有算法可以由其他差分私有算法和非私有随机计算组成。它被形式化地表述为合成定理。
定理:(组成)
设A(·)为任意非私有随机计算,设A0(·)为(ε0,δ0)-差分私有,设A1(·,·)为参数化算法,使得A1(C0,·)为(ε1,δ1)-所有C0的差分私有。然后保持以下状态:
(i) 算法ℬ,在输入P上,计算C0←A0(P),然后计算C←A(C0),输出C是(ε0,δ0)-微分私有。
(ii)算法ℬ,在输入P上,计算C0←A0(P),然后C1←A1(C0,P)和输出(C0,C1)是(ε0+ε1,δ0+δ1)-差分私有。
对于一组中心X⊆Rd和点p∈Rd,我们表示dist(p,X)=minx∈X| p− x |。 对于有限集Q⊆Rd,平方距离的总和定义为
cost(Q,X):= p∈Qdist2(p,X)。
如果| X |={X}为了简单起见,我们表示cost(Q,X)=cost(Q,{X})。
对于加权集D={(p1,w1),··,(pn,wn)}⊆Rd×R+∪{0},加权cost为:
cost(D,X) := ∑(p,w)∈Dwdist2(p,X).
定理:(近似k均值)
设P是Rd中的一个有限集。Rd中k个中心(点)的一个集合C*称为P的k-均值,如果它使每个中心(点)的cost(P,C′)最小。k中心的一组C⊆Rd是P的k均值的带η加性误差的γ近似
cost(P,C) = γ ·cost(P,C*) + η.
图3-1显示了近似的k均值位置数据。
图3-1:(a)点的集合P(黄色)及其2-均值Q*={q1,q2}(蓝色正方形)。点p与其在Q*中最近的中心之间的距离用D(p,Q*)表示。(b)加性误差为5的2-平均值的10近似值Q~={q1,q2}(蓝色正方形)。也就是说,cost(P, Q~)≤10cost(P,Q*)+5。集合P1和P2是P分成两个簇的对应部分:P1包含最接近q1的点,P2包含最接近q2的点。
定义(k均值专用核心集)
设P为Rd中的有限集,设C*为P的k-均值(γ,η,ε,δ)-k-均值聚类的私有核集方案是满足以下条件的算法:
算法A保留(ε,δ)-差异隐私。
设CA为核集A(P)的k均值。对于P的k-均值,CA是带η加性误差的γ近似。
我们的算法基于一个子例程,该子例程给定一个数据库P∈Xd和一个整数t,大约返回包含至少P个t点的最小球的中心。对于这个问题,我们使用了私有近似算法。
定理(私人中心)
令P为d维域Xd中n个点的集合。 令n,t,β,ε,δ:
将ropt表示为Xd中包含至少P个t点的最小球的半径。然后有一个(ε,δ)私有的Small-Ball算法,该算法在多项式时间内运行并返回中心c,使得概率为 至少有1-β,则有一个半径r≤αropt的球,其中心为c,并且包含至少P的t−∆个点,其中α= O(√logn)并且
实验
作者使用公开验证的移动传感器网络数据进行实验可用数据集:2015年1月以来的纽约市出租车数据。本章讨论如何设置实验,给出运行时间图,核心集规模和效用结果,最后将它们与文献进行比较。
实验设置:
该数据库记录“新建”中的所有黄色出租车行程(接送地点和目的地)从2015年1月开始的约克市。它包含12,748,986个条目。 每个条目记录有关单次旅行的详细信息。在所有字段中,我们对Pickup_longitude感兴趣和pick_latitude列,它们显示出租车在哪里接客。我们假设每个接送地点都独立于其他接送地点,即攻击者无法从其他旅程中推断出有关一次旅程的信息。下在这种假设下,在此基础上应用差分私有算法是有意义的GPS数据集,因为差异性隐私对于保护单个条目非常有用。
数据库冗杂,某些GPS坐标不在纽约市区域,有些甚至无效。 因此,我们通过让纬度在73.9和74.1之间,经度在40.7和40.9之间,大致勾勒出纽约市的面积。数据清理后,有剩余11,840,734个条目。
正如第3节所建议的,我们的Private-k-Mean算法从离散域,因此我们需要离散化数据。
Private-k-Mean算法的输入包括大小为n的数据库n,集群数量k和隐私参数,。 正如Dwork和Roth 所建议的那样,按1 /n的顺序选择n是很危险的。 因此,我们总是选择n作为在我们的实验中远小于1 /n。 我们通过调整数据库大小n首先从原始数据库中提取条目。 对于(n,k,ε)的每个单个组合,我们将算法运行100次并取平均值以消除噪声由随机性创建。
运行时间
我们在OpenStack的虚拟机上测量算法的运行时间云。
但是,当n达到要求的阈值时|X|越大,整个运行时间就会跳跃。 这种现象说明如下图5-1。
核心集大小和隐私参数ε之间的关系如下所示图5-2的右侧。 核心集大小与数据库呈正相关大小n,隐私参数ε和簇数k。 而且,在同一数据库和K关系,核心集大小与log relation呈线性关系。
实验结果:
我们选择相同的隐私参数和簇数K进行比较。 结果如图5-4所示。 我们代码的错误显然较小,这意味着我们在相同的信息泄漏量下提高了效用。于核心集大小的算法产生的核心集大20倍至40倍比本文计算的核心集要多。
GPS数据库应用
版本1.0
该应用程序的第一个版本在上下文中使用Private-k-Mean算法移动/漫游传感器网络的隐藏,以隐藏每个传感器节点的位置。假设通过收集GPS在基站构建原始GPS数据库跟踪每个传感器节点,管理员希望生成private核心集,它是原始原始数据库中有用的经过清理的私有数据库。目的是允许管理员设置隐私参数。 低隐私参数可以更准确地进行日期消毒,而隐私参数可以更高导致清理后的数据更加不确定。 管理员会自适应地选择隐私级别。
版本2.0
该应用程序的第二个版本添加了一项重要功能,允许用户分配不同地区的不同隐私级别。 用户首先通过绘制一个区域来选择一个区域地图上的多边形。 之后,后端服务器将为所有服务器计算专用核心集定位在该多边形区域内,并将结果发送回界面。 如同在1.0版中,用户依靠滚动条在这些不同的隐私级别之间进行选择。最低级别是最危险的,并且信息泄漏最多,并且最高级别的信息泄漏最少。
发展与应用
本文为在现实数据分析中保护每个人的隐私这一令人兴奋的愿景迈出了第一步。 未来的工作有很多方面遵循本文的内容,包括应用差分私有K-means聚类高维数据库算法,实现私有流算法,并为其他类型的查询设计专用核心集。
适用于高维数据库高维有很多现实中的数据库,例如手写数字数据库,遗传图像数据库和语音数据库。 将私有K-means聚类算法应用于这些数据库将有助于执行聚类和分类,而无需区分个人的手写数字,遗传图像和语音模式。