-
摘要:
社区检测是复杂网络分析的重要工具之一,可帮助深入了解网络的社区结构和节点间潜在的关系,但同时也带来了隐私泄露问题. 社区隐藏作为社区检测的伴生问题,旨在以最小的边扰动代价破坏网络的社区结构,近年来受到越来越多学者的关注. 但现有的社区隐藏方法忽略了网络的生成机制且缺少针对不同尺度隐藏的统一框架,因此提出了一种基于随机块模型的社区隐藏(community hiding-stochastic block model,HC-SBM)算法,该算法从网络生成机制角度构建了社区隐藏的统一框架,即实现微观(个体)、介观(社区)、宏观(网络)3个尺度上的社区检测算法攻击. 其基本思想是基于随机块模型刻画网络的生成机制,特别是网络社区形成和分裂的规律和模式,挖掘生成过程中的关键性链接以及链接集合,最终通过最小代价扰动策略破坏网络社区结构. 通过在真实网络上的大量实验,并与4种先进的基准算法进行比较,表明了提出的HC-SBM算法在社区隐藏效果更优.
Abstract:As one of the important tools for complex network analysis, community detection can be used to help gain insight into the community structure of the network and the potential relationship between nodes. However, it also brings privacy leakage problems. As a concomitant problem of community detection, community hiding aims to destroy the community structure of the network with minimal edge disturbance cost, and it has received more and more attention from scholars in recent years. However, the existing community hiding methods ignore the network generation mechanism and lack a unified framework for hiding at different scales. Therefore, we propose a community hiding algorithm based on a stochastic block model (HC-SBM), which constructs a unified community hidden framework from the perspective of network generation mechanism, and launches three-scale attacks against community detection algorithm, namely, micro (individual), mesoscopic (community), and macro (network). The principle of this method is to illustrate the generation mechanism of the network based on the stochastic block model, especially the rules and patterns of the formation and division of the network community, mining critical links and link collections in the process of network generation.Finally, the network community structure is destroyed at the minimum cost of perturbation. Through extensive experiments on real networks and comparisons with several mainstream baseline algorithms, the proposed HC-SBM algorithm is shown to be superior in terms of community hiding effect.
-
近年来,物联网、大数据及云计算等[1-2]新兴技术的快速发展使得海量数据采集、存储和处理变得便捷,促使社交网络、商业推荐、智慧交通等以数据为驱动的信息服务快速普及,深刻影响人们的生活与工作. 特别是生物医药研发、社交物联网[3-4]、社交网络、金融保险等领域,产生了海量数据并兴起了AI for Science、联邦学习[5]、图神经网络[6]等新兴研究方向.
然而,各类以数据为驱动的信息服务系统均以不同形式采集和保留用户的个人数据. 这些数据包含用户的身份、职业及爱好等隐私信息,还可能包含不同用户间的交互信息. 如果在采集和共享过程中,不能对这些数据进行有效隐私保护,将引发信息泄露及财产损失等隐患[4]. 因此,将隐私数据共享应用于信息服务之前,有必要落实合规的隐私保护措施,以实现隐私数据的安全采集和共享. 在不同类型的数据采集和共享中,社交网络、社交物联网等产生的图结构数据可以表示不同实体间的复杂关系,较关系、文本和图像等类型的数据在分析主体间复杂关联关系方面更具优势. 然而,图结构数据的节点和边表示的身份隐私、关系隐私和属性隐私相互关联,尤其在采集或共享分布式用户持有的图结构数据子集时,具有更大的隐私泄露风险和保护难度. 因此,迫切需要有效的隐私保护手段,在图结构数据采集和共享过程实现高效的隐私保护效果[7].
在分布式图结构数据应用场景中(如社交物联网、社交网络),往往由单个节点(用户或设备)持有其自身节点信息及其与邻居的关联信息,即一阶邻居子图[7-8]. 为了更好地分析数据或提供服务,数据采集者(服务提供商)会从分布式用户端采集整个图结构数据,以供应用服务商分析和应用,进而提高服务便捷性或精准营销. 具体的数据分析过程会采用统计学、图论等技术对整个图结构数据的统计指标(如度分布、三角计数序列和聚类系数等)进行处理,从而有效地挖掘其中的潜在高价值信息[7-9]. 但这些统计指标与各用户拥有的子图结构数据高度关联,且包含大量用户轨迹、关联关系等隐私信息,在采集、共享或发布时极易泄露隐私信息. 因此,对高度关联的分布式图结构数据的各种统计指标进行隐私保护采集共享,且不泄露用户身份隐私以及用户间的关系隐私,成为以图结构数据为驱动的信息服务领域中尤为迫切的挑战之一.
为了有效保护分布式场景下的图结构数据隐私,本地差分隐私(local differential privacy,LDP)[10-11]从关系型数据集、Key-Value型数据应用场景中被扩展到了图结构数据应用场景. LDP具有可证明强度的隐私保护能力,且无需可信第三方,故而广受学术界和产业界的关注[8-9,12-17]. 面向图结构数据的LDP方案,其基本假设是各用户持有包含自身节点信息的一阶邻居子图,即各用户仅知道其自身信息以及与其相邻的关系信息. 在数据采集者采集数据时,首先,各用户对自身一阶邻居子图的邻接向量进行随机响应(randomized response,RR)[18]扰动加噪;然后,数据收集方根据各用户发送的噪声邻接向量进行聚合统计,获取分布式图结构数据整体统计指标的估计数据. 根据保护强度不同,LDP可应用于对图结构数据的节点或边进行加噪,产生了节点LDP(Node-LDP)和边LDP(Edge-LDP)[8]两种变型. 其中,Node-LDP能同时保护多条边的隐私,保证敌手无法获取图结构数据上任意节点的邻居数量[8,14,17],从而提供更强的隐私保护效果,但会大幅度降低图结构数据采集结果的数据效用[8,14]. 因此,为了保持更好的数据效用,现有基于LDP的图结构数据隐私保护方案[8-9,12-14]通常采用Edge-LDP模式对隐私保护效果进行折中以提高数据效用. 如Zhan等人[8]提出一种Edge-LDP下基于度序列进行聚类的图生成算法. Ye等人[12]引入Edge-LDP提出一种可同时采集聚类系数和模块化信息的框架. 随着图结构数据规模的增长以及图结构数据应用的扩展,获取一些图结构数据信息时所面临的隐私需求将更加严格,特别是图结构数据多条边的隐私需要同时保护的需求愈发迫切[17]. 具体而言,需要在实施隐私保护的过程中进一步加强图结构数据的节点隐私(如度值隐私)和关系隐私保护,或者实现节点的个性化隐私保护. 然而,Edge-LDP无法同时保护多条边的隐私,且无法实现对节点度值隐私的保护[8,14,17]. 为进一步强化图结构数据的隐私保护效果,Fu等人[17]和Liu等人[19]分别基于Node-LDP设计了分布式图结构数据的隐私保护聚类及度分布采集算法. 真实图结构应用中,往往需要同时采集多种图结构数据统计指标,且各用户的隐私偏好不一[14,17],需要平衡分布式图结构数据上各节点的隐私需求以及数据效用间的冲突,同时优化隐私保护机制,尽可能降低扰动加噪对数据效用的影响. 此外,直接应用现有的算法来组合完成多统计指标的隐私保护采集,一方面会增加分布式用户与数据采集者间的通信开销,另一方面会增加存储和计算开销,再一方面各个算法的隐私保护强度不一,难以实现统一的隐私保护效果,且无法满足各节点的个性化隐私保护偏好需求. 同时,真实世界中的图结构数据多数为稀疏的,使得无论Edge-LDP或Node-LDP都会在随机化过程中产生大量的虚假边[14,17],进而严重降低最终采集的图结构数据的精度和效用. 如图1所示,当采用2-Edge-LDP和2-Node-LDP(ε=2)对图结构数据加噪时,图结构数据的隐私效用会受到不同程度的影响(边密度大幅度提高).
为了满足分布式图结构数据应用中的多样化统计指标采集需求,实现高强度和个性化的隐私保护,降低扰动加噪对数据效用的影响,本文通过引入Node-LDP和Edge-LDP提出基于本地差分隐私的图统计指标采集算法(graph statistics collecting algorithms via local differential privacy,GS-LDP),将度值采集作为基础统计指标来采集,在采集过程中通过限制加噪的扰动域来降低噪声输入,并在加噪过程中对用户子图进行剪枝来大幅度降低无效噪声量来提升数据效用,通过自适应隐私设置来调节满足Node-LDP或Edge-LDP以适应用户的个性化隐私偏好. 具体地:首先,引入分组机制和对称一元编码(symmetric unary encoding,SUE)[11],提出一种满足Node-LDP的图结构数据度分布采集算法,通过限制SUE扰动域上限的方式降低采集过程中的噪声输入,实现Node-LDP保护的同时实施高效用的分布式图结构数据度分布采集;其次,基于所提出的度分布采集算法,利用剪枝(Prune)算法对用户持有的子图进行剪枝,通过设置度值阈值来对一阶邻居子图的邻居位向量进行剪切投影,从而限制随机过程中所产生的噪声边的量,通过大幅度降低无效噪声提高数据效用;再次,引入拉普拉斯机制、随机响应机制和2轮交互模型,提出满足Node-LDP和Edge-LDP的三角计数序列采集算法及满足Node-LDP和Edge-LDP的聚类系数采集算法,通过自适应隐私设置来调节满足Node-LDP或Edge-LDP以适应用户的个性化隐私偏好,实现不同隐私保护强度和数据效用需求的分布式图结构数据多统计指标采集. 本文的主要贡献有4个方面:
1)基于分组机制及对称一元编码机制,提出一种满足Node-LDP的分布式图结构数据度分布采集算法,提高度分布采集的隐私保护强度和数据效用;
2)采用剪枝算法控制随机加噪过程中虚假边的上限,降低无效噪声输入,并进一步利用2轮交互模型分别提出满足Node-LDP和Edge-LDP的三角计数序列采集算法;
3)在2)中三角计数序列采集算法的基础上,引入拉普拉斯机制分别提出满足Node-LDP和Edge-LDP的聚类系数采集算法;
4)进行理论分析和多个数据集实验对比,结果表明,所提出的算法能在不同约束下实现多个统计指标的有效采集,与现有的统计指标采集算法相比有显著的效用优势.
1. 相关工作
差分隐私(differential privacy,DP)[20-24]由Dwork[20]提出,主要应用于关系型数据库的统计信息隐私保护,后来被逐步应用于图结构数据的隐私保护[21-24]. DP在应用过程中,通常需要一个可信第三方对数据进行统筹处理,其仅适用于中心化的数据共享采集场景. 然而,在诸如位置服务网络、社交物联网等真实图结构数据应用场景中,往往不存在可信第三方[12],且数据被分布式持有在不同的用户或设备上. 在此类场景中,各用户相互不信任,均不愿把自己的子图数据直接共享给彼此或数据采集者.
为了适应分布式场景的隐私保护,LDP[10-11]被提出并应用于均值估计[10]及频繁模式挖掘[10]等. 直至2017年,Zhan等人[8]提出将LDP应用于图结构数据隐私保护,通过在分布式端迭代收集用户节点度值并采用k-means算法聚合获取生成图,但由于该方案仅通过度值进行聚类,所得到的生成图缺少大量原始图中的结构特性. 为了提高数据效用,Ye等人[12]通过引入RR机制[18]扰动用户的子图邻接向量,并采用拉普拉斯机制采集用户度值,提出一种基于LDP的图聚类系数和模块化采集框架. 而后,Imola等人[9]引入2轮交互模型,将加噪后的子图邻接向量合成噪声图后发送给用户,由各用户分别估计三角计数后将整体三角计数结果发布,并最终由数据采集者统一采集全局计数信息. 然而,Ye等人[12]和Imola等人[9]的方法都会产生大量噪声边,从而影响最终采集结果的精度. 为了解决该问题,Hou等人[14]通过设计一种基于最优长度的度向量编码模型对图结构数据进行分散聚类,但该方法仅适用于图结构数据聚类. 为了获得更好的数据效用,Sun等人[25]和Liu等人[26]通过减弱分布式图结构数据的隐私保护假设,允许各用户和邻居交换各自的邻居信息(即各用户持有的二阶子图信息),分别设计了隐私保护的分布式图结构数据子图计数算法. 此外,针对二元属性图结构数据的隐私保护,Wei等人[16]提出一种随机跳转(random jump,RJ)的分布式属性图结构数据度分布采集算法,并将RR机制应用于采集用户的二元属性,在此基础上,通过抽样方法构建整体的二元属性图结构数据用以数据分析.
前述图结构数据的LDP模型均基于Edge-LDP. 然而,随着数据规模的增长及隐私保护需求的增强,Edge-LDP的隐私保护强度难以满足同时保护多条边的隐私需求[14,17]. 因此,为了提高对图结构数据的隐私保护水平,Fu等人[17]提出基于Node-LDP的2阶段图结构数据聚类框架,通过剪影系数测量模型进行节点聚合,并利用自适应加噪来提高聚类结果的效用. Liu等人[19]结合Node-LDP和密码投影方法提出一种最优图投影参数选择方法,并基于此提出Node-LDP下的度分布采集算法,但度值的敏感度过大,使得度分布采集结果效用不高.
由此可见,现有的分布式图结构数据隐私保护方案大多基于Edge-LDP设计,其通过放宽对边的数量保护的隐私约束,实现高效用的数据采集[14,17]. 也正因如此,此类方法无法实现同时保护多条边的隐私信息[14,17]. 而Node- LDP的方案能够保证无法从算法输出中获取任何用户的朋友数(边数)[14],可有效避免此类缺陷. 因而,Node-LDP较Edge-LDP的方案具有更强的隐私保护效果,但严格的隐私约束及敏感度会大幅度削弱其实际效用[8,14]. 同时,2种类型的隐私保护方法在作用于分布式图结构数据时,均直接采用随机响应扰动各用户的子图邻接向量,从而会产生大量噪声边(如图1所示),尚未发现有效的机制来识别无效噪声并降低这些噪声的添加量,这使得无论Edge-LDP还是Node-LDP采集的图结构数据效用均无法达到理想状态. 此外,常规LDP模型[9,12,25-26]多数仅针对单个统计指标的采集需求,无法同时适应图结构数据不同统计指标的采集. 若通过简单组合此类算法来实现多统计指标采集,会造成通信复杂度、存储复杂度、计算复杂度提高等问题,且难以使不同算法的隐私保护水平一致.
为此,本文结合Node-LDP和Edge-LDP面向分布式图统计采集隐私保护需求,引入分组SUE、RR及拉普拉斯机制,并提出一种优化图结构噪声量的剪枝算法,进而设计具备强隐私保护能力和高数据效用的多样化图统计指标采集算法. 首先,针对性质单一的度分布指标,通过分组报告的方式限制SUE扰动域上限,降低采集过程的噪声输入,从而实现满足Node-LDP的高效度分布采集;其次,针对三角计数序列,提出剪枝算法,用于优化随机化过程中边缘的噪声量;再次,引入2轮交互模型、RR及拉普拉斯机制,通过设置不同隐私参数提出满足Node-LDP和Edge-LDP的三角计数序列和聚类系数采集算法.
2. 基本定义及预备知识
2.1 符号定义
本文所述算法均基于简单无向图G=(V,E),其中顶点集由V表示,边集由E表示,顶点集中的顶点数n=|V|代表当前图G中的总用户数量. 本文假设图G是分布式的,各用户在本地持有以自身为中心的星图,可称为一跳邻居子图. 用户可将其抽象为一个n维的邻接向量 {{\boldsymbol{B}}_i} = \left( {{b_1},{b_2},…,{b_n}} \right) ,其中任意{b_j} \in \left\{ {0,1} \right\}为 {{\boldsymbol{B}}_i} 中的第j位,代表用户i与用户j之间的关联关系,{b_j} = 1表示用户i与用户j之间存在边,b_j=0 表示用户i与用户j之间不存在边. \boldsymbol{M}=\left(\boldsymbol{B}_1,\boldsymbol{B}_2,\dots,\boldsymbol{B}_n\right)=(B_{ij})_{^{n\times n}} 为图G的邻接矩阵,由G中所有用户的邻接向量组成,代表全局用户的邻居信息. {d_i} = \sum\limits_{j = 1}^n {{B_i}_j} (或 {d_i} = \sum\limits_{j = 1}^n {{b_j}} )为用户i的度值,代表用户i的邻居数量. {T_i}代表用户i所关联的三角计数,即用户i的局部三角计数. C{C_i}代表用户i的局部聚类系数,可通过用户局部三角计数和度值进行计算,即
C{C}_{i}=\frac{2{T}_{i}}{{d}_{i}\left({d}_{i}-1\right)}, 其中T = \left( {{T_1},{T_2},…,{T_n}} \right)和CC = \left( {C{C_1},C{C_2},…,C{C_n}} \right)分别代表图G的三角计数序列及全局聚类系数. \varepsilon 为差分隐私的隐私预算,用于控制噪声输入及保护强度. \varepsilon 越小,保护强度越高,噪声量越大.
为了便于阅读,表1中列出本文常用符号及其描述.
表 1 符号及其描述Table 1. Symbols and Its Discription符号 描述 \varepsilon 隐私预算 G 简单无向图 d_i 用户度值 {{\boldsymbol{B}}_i} 用户一阶邻接向量 T_i 用户局部三角计数 C{C_i} 用户局部聚类系数 n = \left| V \right| 图G中总用户数量 T 图G中的三角计数序列 CC 图G的全局聚类系数 {\boldsymbol{M}} 图G的邻接矩阵 2.2 本地差分隐私及加噪机制
定义1. \varepsilon -LDP[10]. 给定 n 个用户和随机算法 \mathcal{A} ,若算法 \mathcal{A} 作用在任意2条记录t和t'上得到相同的输出结果{t^*},有
\frac{Pr\left[\mathcal{A}\left(t\right)={t}^{*}\right]}{Pr\left[\mathcal{A}\left({t}^{\prime }\right)={t}^{*}\right]}\le {{\mathrm{e}}}^{\varepsilon }, 则算法 \mathcal{A} 满足\varepsilon -LDP. 其中,{t^*} \in range\left( \mathcal{A} \right)为算法 \mathcal{A} 的输出.
定义2. \varepsilon -Edge-LDP[8]. 当随机算法 \mathcal{A} 作用在任意2个仅在1位上不同的邻接向量 {{\boldsymbol{B}}_i} = {\left( {0,1} \right)^n}\, 和 {{\boldsymbol{B}}'_i} = {\left( {0,1} \right)^n}\, 上时,若算法 \mathcal{A} 满足\varepsilon -Edge-LDP,则有
\frac{Pr\left[\mathcal{A}\left({{\boldsymbol{B}}}_{i}\right)={\boldsymbol{S}}\right]}{Pr\left[\mathcal{A}\left({{\boldsymbol{B}}}_{i}'\right)={\boldsymbol{S}}\right]}\le {{\mathrm{e}}}^{\varepsilon }, 其中 {\boldsymbol{S}} = {\left( {0,1} \right)^n}\, \in range\left( \mathcal{A} \right) ,即算法 \mathcal{A} 的输出.
定义3. \varepsilon -Node-LDP[8]. 当随机算法 \mathcal{A} 作用在任意2个邻接向量 {{\boldsymbol{B}}_i} = {\left( {0,1} \right)^n}\, 和 {{\boldsymbol{B}}'_i} = {\left( {0,1} \right)^n}\, 上时,若算法 \mathcal{A} 满足\varepsilon -Node-LDP,则有
\frac{Pr\left[\mathcal{A}\left({{\boldsymbol{B}}}_{i}\right)={\boldsymbol{S}}\right]}{Pr\left[\mathcal{A}\left({\boldsymbol{B}}_{i}'\right)={\boldsymbol{S}}\right]}\le {{\mathrm{e}}}^{\varepsilon }, 其中 {\boldsymbol{S}} = {\left( {0,1} \right)^n}\, \in range\left( \mathcal{A} \right) ,即算法 \mathcal{A} 的输出.
在分布式图结构数据应用场景下,\varepsilon -LDP仅满足采集数据的隐私性,并不考虑数据间的关联性,如顶点之间关联的边. 在此基础之上,\varepsilon -Edge-LDP和\varepsilon -Node-LDP进一步考虑数据间的关联性,需要在采集过程中保护用户间的边信息(关联信息);不同的是,\varepsilon -Edge-LDP是\varepsilon -Node-LDP的松弛,它将任意2个邻接向量的邻接定义限制在1位(即1条边)[12]. 在此背景下,设{Q_1},{Q_2},{Q_3}和{U_1},{U_2},{U_3}分别代表满足\varepsilon -Node-LDP,\varepsilon -Edge-LDP和\varepsilon -LDP时的隐私保护强度和效用精度. 根据上述描述可得出结论,在分布式图结构数据应用场景下,隐私约束性(即隐私保护强度)上
{Q_1} > {Q_2} > {Q_3}; 反之,在最终效用精度上
{U}_{1} < {U}_{2} < {U}_{3}. 定义4. \varepsilon -RR[18]. 设算法 \mathcal{R}\mathcal{R} 为\varepsilon -RR,用户通过算法 \mathcal{R}\mathcal{R} 扰动数据的过程为:对任意二进制数据x \in \left\{ {0,1} \right\},用户以p的概率发送真实值x,以q的概率发送真实值1 - x,即
Pr\left[\mathcal{R}\mathcal{R}\left(x\right)=y\right]=\left\{\begin{aligned} & p=\frac{{{\mathrm{e}}}^{\varepsilon }}{{{\mathrm{e}}}^{\varepsilon }+1},\text{ if }y=x,\\ & q=\frac{1}{{{\mathrm{e}}}^{\varepsilon }+1},\text{ 其他},\end{aligned}\right. 满足以上条件,则\varepsilon -RR满足\varepsilon -LDP,其中x,y \in \left\{ {0,1} \right\}分别为输入数据和输出数据.
定义5. \varepsilon -SUE[11]. 用户通过\varepsilon -SUE扰动数据的过程为:对任意o维的实值数据x \in \left\{ {1,2,…,o} \right\}. 首先,用户将其编码为一个o维的二元向量,即 Encode\left( x \right) = \left( {0,…,0,1,0,…,0} \right) ,其中除第x位为1外,其余位全为0. 随后,用户对编码数据进行逐位扰动( {\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2} -RR),即
Pr\left[Encod{e}^{\prime }{\left(x\right)}_{i}=1\right]=\left\{\begin{aligned} & p,\text{ if }Encode{\left(x\right)}_{i}=1,\\ & q,\text{ if }Encode{\left(x\right)}_{i}=0,\end{aligned}\right. 该过程满足\varepsilon -LDP. 其中, p = \dfrac{{{{\mathrm{e}}^{{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}}}}}{{{{\mathrm{e}}^{{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}}} + 1}} , q = 1 - p .
定义6. 全局敏感度(global sensitivity,GS)[27]. 对于任意一个实际值的查询函数f{\text{:}}D \to \mathbb{R},其全局敏感度定义为
G{S}_{f}=\underset{D,D'}{\mathrm{max}}{\Vert f\left(D\right)-f\left(D'\right)\Vert }_{1}, 其中D和D'表示为相邻数据集.
定义7. Laplace机制[24]. 对于给定的数据集D和实值查询函数f,G{S_f}是f在数据集D上的全局敏感度,则随机算法\mathcal{M}:\mathcal{M}\left( D \right) = f\left( D \right) + X满足\varepsilon -DP. 其中 X \sim Lap\left( {{{G{S_f}} \mathord{\left/ {\vphantom {{G{S_f}} \varepsilon }} \right. } \varepsilon }} \right) 是服从尺度参数为 {{G{S_f}} \mathord{\left/ {\vphantom {{G{S_f}} \varepsilon }} \right. } \varepsilon } 的Laplace分布噪声.
值得注意的是,在LDP视角上,相邻数据集D和D'被转换成了相邻的邻接向量{{\boldsymbol{B}}_i}和{{\boldsymbol{B}}'_i}. 例如,在Edge-LDP场景下采集度值{d_i},删除任意一条边仅影响{{\boldsymbol{B}}_i}中的1个比特位,因此敏感度为1,即向{d_i}中添加 Lap\left( {{1 \mathord{\left/ {\vphantom {1 \varepsilon }} \right. } \varepsilon }} \right) 的噪声便可满足\varepsilon -Edge-LDP.
定理1. 若通过\varepsilon -RR扰动一个n维的邻接向量 {{\boldsymbol{B}}_i} = {\left( {0,1} \right)^n}\, ,其满足\varepsilon -Edge-LDP[8].
证明. 设随机算法 \mathcal{A} 为\varepsilon -RR, Pr\left[ {\mathcal{A}\left( x \right) = y} \right] 表示x \in \left\{ {0,1} \right\}随机翻转为y \in \left\{ {0,1} \right\}的概率. 其中, {{\boldsymbol{B}}_i} = \left( {b_1}, {b_2},…,{b_n} \right) 和 {{\boldsymbol{B}}'_i} = \left( {{b'_1},{b'_2},…,{b'_n}} \right) ( {b_i},{b'_i} \in \left\{ {0,1} \right\} )为仅相差1位的邻接向量. 不失一般性,假设 {b_1} \ne {b'_1} ,给定算法 \mathcal{A} 的任意输出 {\boldsymbol{S}} = \left( {{s_1},{s_2},…,{s_n}} \right),{s_i} \in \left\{ {0,1} \right\} ,有
\begin{split} & \frac{Pr\left[\mathcal{A}\left({{\boldsymbol{B}}}_{i}\right)={\boldsymbol{S}}\right]}{Pr\left[\mathcal{A}\left(\boldsymbol {B'}_{i}\right)={\boldsymbol{S}}\right]}=\\ & \frac{Pr\left[\mathcal{A}\left({b}_{1}\right)={s}_{1}\right]Pr\left[\mathcal{A}\left({b}_{2}\right)={s}_{2}\right]…Pr\left[\mathcal{A}\left({b}_{n}\right)={s}_{n}\right]}{Pr\left[\mathcal{A}\left(b'_{1}\right)={s}_{1}\right]Pr\left[\mathcal{A}\left(b'_{2}\right)={s}_{2}\right]…Pr\left[\mathcal{A}\left(b'_{n}\right)={s}_{n}\right]}=\\ & \frac{Pr\left[\mathcal{A}\left({b}_{1}\right)={s}_{1}\right]}{Pr\left[\mathcal{A}\left(b'_{1}\right)={s}_{1}\right]} \le \frac{p}{q}={{\mathrm{e}}}^{\varepsilon }. \end{split} 因此,算法 \mathcal{A} (\varepsilon -RR)满足\varepsilon -Edge-LDP. 证毕.
定理2. 若通过\varepsilon -RR扰动一个n维的邻接向量 {{\boldsymbol{B}}_i} = {\left( {0,1} \right)^n}\, ,其满足n\varepsilon -Node-LDP.
证明. 设随机算法 \mathcal{A} 为\varepsilon -RR, Pr\left[ {\mathcal{A}\left( x \right) = y} \right] 表示x \in \left\{ {0,1} \right\}随机翻转为y \in \left\{ {0,1} \right\}的概率. 其中, {{\boldsymbol{B}}_i} = \left( {b_1}, {b_2},…,{b_n} \right) 和 {{\boldsymbol{B}}'_i} = \left( {{b'_1},{b'_2},…,{b'_n}} \right) ( {b_i},{b'_i} \in \left\{ {0,1} \right\} )为2个相邻的邻接向量. 不失一般性,假设 {{\boldsymbol{B}}_i},{{\boldsymbol{B}}'_i} 中每一位对应值都不一样,因此给定算法 \mathcal{A} 的任意输出 {\boldsymbol{S}} = \left( {s_1}, {s_2},…,{s_n} \right),{s_i} \in \left\{ {0,1} \right\} ,则有
\begin{split} & \frac{Pr[\mathcal{A}({\boldsymbol{B}}_i)={\boldsymbol{S}}]}{Pr[{\mathcal{A}}({\boldsymbol{B}}_i^{'})=\boldsymbol{S}]}=\\ & \frac{Pr\left[\mathcal{A}\left({b}_{1}\right)={s}_{1}\right]Pr\left[\mathcal{A}\left({b}_{2}\right)={s}_{2}\right]…Pr\left[\mathcal{A}\left({b}_{n}\right)={s}_{n}\right]}{Pr\left[\mathcal{A}\left(b'_{1}\right)={s}_{1}\right]Pr\left[\mathcal{A}\left(b'_{2}\right)={s}_{2}\right]…Pr\left[\mathcal{A}\left(b'_{n}\right)={s}_{n}\right]} \le\\ & \frac{{p}^{n}}{{q}^{n}}={\mathrm{e}}^{n \varepsilon }. \end{split} 因此,算法 \mathcal{A} (\varepsilon -RR)满足n\varepsilon -Node-LDP. 证毕.
根据定理1和定理2可知,在相同\varepsilon 情况下对n维的邻接向量进行扰动时,满足\varepsilon -Node-LDP和\varepsilon -Edge-LDP分别需要通过{\varepsilon \mathord{\left/ {\vphantom {\varepsilon n}} \right. } n}-RR和\varepsilon -RR进行扰动. 显然,相同隐私预算的情况下,满足Node-LDP时所需注入的噪声量要远高于Edge-LDP. 同理,安全级别上Node-LDP也要远优于Edge-LDP.
2.3 DP的组合性质
LDP与DP的区别在于LDP将隐私保护处理过程从数据采集者端移至用户端,二者的核心仍旧是通过噪声机制将数据扰动加噪,从而达到隐私保护效果. 同时,LDP的后处理过程并不会影响最终的隐私保证,因此LDP也满足DP的组合性质[28].
引理1. 序列组合性[29]. 给定任意n个随机算法 {\left\{ {{\mathcal{A}_i}} \right\}_{1 \leqslant i \leqslant n}} . 其中,任意算法{\mathcal{A}_i}满足{\varepsilon _i}-DP,则按指定顺序组合后的算法 {\left\{ {{\mathcal{A}_i}} \right\}_{1 \leqslant i \leqslant n}} 满足\sum\limits_{i = 1}^n {{\varepsilon _i}} -DP.
引理2. 并行组合性[29]. 给定任意n个随机算法 {\left\{ {{\mathcal{A}_i}} \right\}_{1 \leqslant i \leqslant n}} . 其中,任意算法{\mathcal{A}_i}满足{\varepsilon _i}-DP,同时n个算法所作用的数据集不相交,则由上述算法所构成的算法\left( {{\mathcal{A}_1}\left( {{D_1}} \right),{\mathcal{A}_2}\left( {{D_2}} \right),…,{\mathcal{A}_n}\left( {{D_n}} \right)} \right)满足 \mathop {\max }\limits_{1 \leqslant i \leqslant n} \left\{ {{\varepsilon _i}} \right\} -DP.
3. 基于LDP的图统计采集框架
本节阐述基于LDP的图结构数据统计采集(GS-LDP)框架. 分布式图结构数据应用场景下,所有用户仅持有包含自身节点的一阶邻居子图,而非拥有整个图结构数据集,数据采集者(服务提供者)希望能采集到整个图结构数据的度分布、三角计数序列和聚类系数等多个统计指标;为了避免自身的身份隐私和与他人间的关系隐私遭受泄露,用户不愿将自身和他人的原始数据直接共享发布给数据采集者. 故而在数据采集的过程中需要考虑用户的不同隐私需求和数据采集者采集不同统计指标时的数据效用需求.
为了同时实现分布式图结构数据的多个统计指标隐私保护采集,结合Node-LDP和Edge-LDP设计GS-LDP算法,具体构建框架如图2所示.
图2中,所提GS-LDP算法主要实现3个统计指标的隐私保护采集,即度分布、三角计数序列和聚类系数. 这3个统计指标差异性较大,其中度分布相对单一,三角计数序列和聚类系数具有复杂结构性. 因此,针对不同的统计指标采集需求,分别设计了基于Node-LDP的度分布、基于Node-LDP的三角计数序列和聚类系数采集,以及基于Edge-LDP的三角计数序列和聚类系数采集算法. 在GS-LDP算法中,三角计数序列和聚类系数2个统计指标的采集依赖于度分布设置阈值,同时聚类系数需要基于三角计数结果进行估计.
1)基于Node-LDP的度分布采集算法. 由于各用户持有子图定点的度值属于各用户可直接计算的数值类数据,采用Edge-LDP采集此类数据将无法有效保护关系隐私. 因此,引入分组机制和SUE机制设计基于Node-LDP的度分布采集算法. 具体如图2中指标Ⅰ所示,以单个用户与数据采集者的交互为例,过程为:首先,数据采集者将初始隐私预算\varepsilon 和组距L发布给用户;其次,用户i收到\varepsilon 和L后,根据自身度值{d_i}和L计算组号{g_i}( {g_i} = \left\lfloor {{{{d_i}} \mathord{\left/ {\vphantom {{{d_i}} L}} \right. } L}} \right\rfloor );再次,用户i根据{g_i}将{d_i}归一化({d_i} - {g_i}L),并通过一元编码将归一化的{d_i}编码成一个维度为L的二元度向量;然后,用户i通过对称一元编码扰动机制对度向量进行逐位扰动,并将扰动结果发送给数据采集者;最后,数据采集者分组聚合估计各度值的频率,得到满足Node-LDP的度分布结果. 具体算法和证明过程见第4节.
2)基于Node-LDP和Edge-LDP的三角计数序列采集算法. 该算法过程如图2的统计指标Ⅱ所示,具体包含一个参数设置阶段和一个2轮交互过程. 在参数设置阶段,首先,数据采集者将初始隐私预算\varepsilon 拆分为{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},并将{\varepsilon _1}、{\varepsilon _2}、{\varepsilon _3}、组距L和频率上限Level发布给每位用户;其次,用户和数据采集者以{\varepsilon _1}和L为参数按照基于Node-LDP的度分布采集算法过程获得图结构数据的度分布估计,并将度频率和达到Level时的度值设为度阈值\theta (即 \sum\limits_{j = 0}^\theta {{f'_j} \geqslant Level} ,其中 {f'_j} 表示度值为 j 的频率估计). 在第1轮交互中,首先,用户通过\theta 和Prune算法将自身一阶邻居子图的邻接向量 {{\boldsymbol{B}}_i} 进行裁剪;其次,用户通过{\varepsilon _2}-RR机制对裁剪后的邻接向量 {{\boldsymbol{B}}'_i} 进行扰动,将扰动结果 {\tilde {\boldsymbol{B}}_i} 发送给数据采集者;然后,数据采集者基于所有用户发送的扰动邻接向量 {\tilde {\boldsymbol{B}}_i} 构建噪声图G',并将G'发送给各用户. 在第2轮交互中,首先,用户根据 {{\boldsymbol{B}}'_i} 和G'对自身局部三角计数{T_i}进行估计;其次,用户通过{\varepsilon _3}-拉普拉斯机制将估计值扰动后发送给数据采集者;然后,数据采集者对所有用户的估计值进行后处理,获取每个用户的局部三角计数估计{T'_i},进而采集满足Node-LDP或Edge-LDP的三角计数序列估计 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) .
在实际中,根据采集三角计数序列的隐私或效用需求,设置不同的{\varepsilon _2}应用于RR及不同的敏感度应用于拉普拉斯机制,可使得算法满足Node-LDP或Edge-LDP. 具体算法和证明见第5节.
3)基于Node-LDP和Edge-LDP的聚类系数采集算法. 算法过程如图2的统计指标Ⅲ所示,包含3个步骤. 首先,数据采集者将初始隐私预算\varepsilon 拆分为{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},{\varepsilon _4},并将{\varepsilon _1}、{\varepsilon _2}、{\varepsilon _3}、{\varepsilon _4}、组距L和频率上限Level发布给每位用户;其次,用户以{\varepsilon _1},{\varepsilon _2},{\varepsilon _3}为隐私参数向数据采集者报告三角计数序列估计 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) ,并以{\varepsilon _4}为参数通过拉普拉斯机制向数据采集者报告度值序列 \tilde D = \left( {{d'_1},{d'_2},…,{d'_n}} \right) ;最后,数据采集者根据所获得的 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) 和 \tilde D = \left( {{d'_1},{d'_2},…,{d'_n}} \right) 计算全局聚类系数估计CC' = \left( {C{C'_1},C{C'_2},…,C{C'_n}} \right).
类似地,在实际中,可以根据采集分布式图结构数据聚类系数时的隐私或效用需求,设置不同的加噪参数,使算法满足Node-LDP或Edge-LDP. 具体算法和证明见第6节.
需要注意的是,当算法满足Node-LDP时,各分布式用户度值的敏感度为整体图结构数据的最大度值{d_{\max}}. 在真实分布式场景下:一方面,用户无法在分布式端直接获取全局图结构数据的最大度值{d_{\max}};另一方面,真实场景图结构数据往往是稀疏的,敏感度为{d_{\max}}的拉普拉斯加噪将使噪声过大. 因此,在所设计的算法中,仍采用\theta 为图结构数据的度阈值,并通过投影技术采集各分布式用户的度值,降低敏感度.
4. 基于Node-LDP的度分布采集算法
面向分布式图结构数据的统计指标采集过程中,现有基于LDP或Edge-LDP的度分布采集算法隐私保护效果不佳;同时,现有的Node-LDP度分布采集算法往往采用拉普拉斯机制加噪[19],其加噪敏感度大且投影阈值获取困难. 本节设计基于Node-LDP的分布式图结构数据度分布采集算法来提高隐私保护强度,同时引入分组扰动机制和对称一元编码来提高数据效用. 首先,详细介绍所提算法;其次,给出算法的分析与证明.
4.1 分布式图结构数据的度采集算法
本节给出具体的基于Node-LDP的分布式图结构数据度分布采集算法,即图2中的指标Ⅰ,具体过程如算法1所示.
在算法1中,具体分为5个步骤. 首先,数据采集者向用户发送度频率分布查询请求,并设置用户隐私预算\varepsilon 和组距L. 其次,用户依次计算自身组号 {g_i} ,归一化度值({d_i} - {g_i}L),并将归一化后的度值编码为一个L维的二元度向量{{\boldsymbol{D}}_i}(行②③). 再次,用户通过{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}-RR逐位扰动{{\boldsymbol{D}}_i},并将扰动后的度向量{{\boldsymbol{D}}'_i}和 {g_i} 发送给数据采集者(行④⑤). 然后,数据采集者获取所有用户数据后,计算总的分组数量和各组用户数量,并按分组依次校正各度值频率(行⑦~⑫). 例如,以度值i为例,设 v = \left\lfloor {{i \mathord{\left/ {\vphantom {i L}} \right. } L}} \right\rfloor 和{n_v}分别为其所处组号及当前组用户数量, j = i - \left\lfloor {{i \mathord{\left/ {\vphantom {i L}} \right. } L}} \right\rfloor 为归一化后的度值. 数据采集者计算第 v 组中所有噪声度向量中第 j 位为1的个数,并估计频率:
{f'_i} = \frac{{\displaystyle\sum\limits_{c = 0}^{{n_v}} {{D'_c}\left[ j \right]} - {n_v}q}}{{n\left( {p - q} \right)}}, 其中 \displaystyle\sum\limits_{c = 0}^{{n_v}} {{D'_c}\left[ j \right]} 为第 v 组中所有噪声度向量中第 j 位为1的个数. 最后,数据采集者可聚合采集所有度值的频率估计 F' = \left( {{f'_0},{f'_1},…,{f'_{\max L - 1}}} \right) (行⑬).
算法1. 基于Node-LDP的度分布算法NLDP-DD.
输入:隐私预算 \varepsilon ,组距L;
输出:度频率分布估计 F' .
/*用户*/
① for i in \left\{ {1,2,…,n} \right\} do
② {g_i} = \left\lfloor {{{{d_i}} \mathord{\left/ {\vphantom {{{d_i}} L}} \right. } L}} \right\rfloor ;/*用户i的组号*/
③ {{\boldsymbol{D}}_i} = Unary - Encoding\left( {{d_i} - {g_i}L} \right);/*对用户i 的度 值进行归一化,并将其编码为L维二元向量 */
④ 通过 {\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2} -RR扰动{{\boldsymbol{D}}_i}中的每一位
D'_{i}\left[j\right]=\left\{\begin{aligned} & {D}_{i}\left[j\right],\text{ }p=\frac{{{\mathrm{e}}}^{\varepsilon /2}}{{{\mathrm{e}}}^{\varepsilon /2}+1},\\ & 1-{D}_{i}\left[j\right],\text{ }q=\frac{1}{{{\mathrm{e}}}^{\varepsilon /2}+1};\end{aligned}\right. ⑤ 将{{\boldsymbol{D}}'_i}和{{{g}}_i}发送给数据采集者;
⑥ end for
/*数据采集者*/
⑦ for v in \left\{ {0,1,…,\max \left\{ {{g_1},{g_2},…,{g_n}} \right\}} \right\} do
⑧ {n_v} = \displaystyle\sum\limits_{i = 0}^n {\left( {{g_i} = v} \right)} ;/*组号为v的用户数量*/
⑨ for j in \left\{ {0,1,…,L - 1} \right\} do
⑩ {f'_{j + vL}} = \dfrac{{\displaystyle\sum\limits_{c = 0}^{{n_v}} {{D'_c}\left[ j \right]} - {n_v}q}}{{n\left( {p - q} \right)}} ;/*度值为j + vL 的 频率估计*/
⑪ end for
⑫ end for
⑬ F' = \left( {{f'_0},{f'_1},…,{f'_{\max L - 1}}} \right) ;
⑭ return F' .
在算法1中,采用分组编码扰动的方式控制每个用户度值的报告域值大小,使得算法1在满足Node-LDP的同时采集精度得到提升. 此外,算法1还能进一步避免随机化过程中扰动阈值过大的问题.
4.2 度分布采集算法的隐私效用分析
本节对所提基于Node-LDP的分布式图结构数据度分布采集算法的隐私及效用进行分析. 证明了算法1满足\varepsilon -Node-LDP,采集的度值频率估计{f'_i}具有无偏性,以及{f'_i}所满足的方差.
定理3. 算法1满足\varepsilon -Node-LDP.
证明. 设{{\boldsymbol{D}}_i}和{{\boldsymbol{D}}_j}为任意组中的2个L维二元度向量,同时设算法\mathcal{R}为算法1中各用户扰动度向量时的随机算法. 易知,{{\boldsymbol{D}}_i}和{{\boldsymbol{D}}_j}中元素最多有2位不同,其余位上的元素均为0. 设{\boldsymbol{S}} \subseteq range\left( \mathcal{R} \right)( \boldsymbol{S}=\left(s_1,s_2,\cdots,s_L\right) ,{s_i} \in \left\{ {0,1} \right\})为算法\mathcal{R}的随机输出. 不失一般性,设{{\boldsymbol{D}}_i}和{{\boldsymbol{D}}_j}仅前2位不同,则有
\begin{aligned} & \frac{Pr\left[{\mathcal{R}}\left({{\boldsymbol{D}}}_{i}\right)={\boldsymbol{S}}\right]}{Pr\left[{\mathcal{R}}\left({{\boldsymbol{D}}}_{j}\right)={\boldsymbol{S}}\right]}=\\ & \frac{Pr\left[{\mathcal{R}}\left({b}_{1}\right)={s}_{1}\right]Pr\left[{\mathcal{R}}\left({b}_{2}\right)={s}_{2}\right]…Pr\left[{\mathcal{R}}\left({b}_{L}\right)={s}_{L}\right]}{Pr\left[{\mathcal{R}}\left(b'_{1}\right)={s}_{1}\right]Pr\left[{\mathcal{R}}\left(b'_{2}\right)={s}_{2}\right]…Pr\left[{\mathcal{R}}\left(b'_{L}\right)={s}_{L}\right]}=\\ & \frac{Pr\left[{\mathcal{R}}\left({b}_{1}\right)={s}_{1}\right]Pr\left[{\mathcal{R}}\left({b}_{2}\right)={s}_{2}\right]}{Pr\left[{\mathcal{R}}\left(b'_{1}\right)={s}_{1}\right]Pr\left[{\mathcal{R}}\left(b'_{2}\right)={s}_{2}\right]}\le \frac{{p}^{2}}{{q}^{2}}={{\mathrm{e}}}^{2\tfrac{\varepsilon }{2}}={{\mathrm{e}}}^{\varepsilon },\end{aligned} 其中 p = \dfrac{{{{\mathrm{e}}^{{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}}}}}{{{{\mathrm{e}}^{{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}}} + 1}} ,q = 1 - p. 因此,任意分布式用户报告度向量的随机化过程均满足\varepsilon -Node-LDP.
进一步,根据引理2,算法1整体满足\varepsilon -Node-LDP. 证毕.
定理4. 算法1所估计的度值频率{f'_i}是真实频率{f_i}的无偏估计.
证明. 设 z = \sum\limits_{c = 0}^{{n_v}} {{D'_c}\left[ j \right]} ,即第v组中各用户度向量第j位为1的数量,则 {f'_i} = \dfrac{{z - q{n_v}}}{{n\left( {p - q} \right)}} ,有
E\left(f'_{i}\right)=E\left[\frac{z-q{n}_{v}}{n\left(p-q\right)}\right]=\frac{1}{n\left(p-q\right)}\left[E\left(z\right)-q{n}_{v}\right]. 设{f_i}为真实度值为i的频率,w = n{f_i}为对应的频数,则有
\begin{split} & E\left(z\right)=wp+\left({n}_{v}-w\right)q=wp-wq+{n}_{v}q,\\ &E\left(f'_{i}\right)=\frac{1}{n\left(p-q\right)}\left[E\left(z\right)-q{n}_{v}\right]=\\ & \frac{1}{n\left(p-q\right)}\left(wp-wq+q{n}_{v}-q{n}_{v}\right)=\frac{w}{n}={f}_{i}. \end{split} 因此,度值频率{f'_i}是真实频率{f_i}的无偏估计. 证毕.
定理5. 算法1中估计的任意度值频率{f'_i}的方差满足
Var\left(f'_{i}\right)=\frac{{n}_{v}q\left(1-q\right)}{{n}^{2}{\left(p-q\right)}^{2}}, 其中{n_v}为度值i所处组v的用户数量, p = \dfrac{{{{\mathrm{e}}^{{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}}}}}{{{{\mathrm{e}}^{{\varepsilon \mathord{\left/ {\vphantom {\varepsilon 2}} \right. } 2}}} + 1}} , q = 1 - p .
证明. 设w = n{f_i}为对应度值i的频数,即度值为i的用户数量,同时 z = \sum\limits_{c = 0}^{{n_v}} {{D'_c}\left[ j \right]} ,则有
\begin{split} Var\left(f'_{i}\right)=\,&Var\left[\frac{z-q{n}_{v}}{n\left(p-q\right)}\right]=\frac{1}{{n}^{2}{\left(p-q\right)}^{2}}Var\left(z\right)=\\ \,&\frac{wp\left(1-p\right)+\left({n}_{v}-w\right)q\left(1-q\right)}{{n}^{2}{\left(p-q\right)}^{2}}=\\ \,&\frac{{n}_{v}q\left(1-q\right)}{{n}^{2}{\left(p-q\right)}^{2}}+\frac{w\left(1-p-q\right)}{{n}^{2}\left(p-q\right)}. \end{split} 由于w = n{f_i},则
Var\left(f'_{i}\right)=\frac{{n}_{v}q\left(1-q\right)}{{n}^{2}{\left(p-q\right)}^{2}}+\frac{{f}_{i}\left(1-p-q\right)}{n\left(p-q\right)}. 同时,p + q = 1. 因此,{f'_i}的方差为
Var\left(f'_{i}\right)=\frac{{n}_{v}q\left(1-q\right)}{{n}^{2}{\left(p-q\right)}^{2}}. 证毕.
在算法1中,每个用户需要先计算自身组号{g_i}以及将度值{d_i}编码为L维的二元向量,并对其二元度向量中的每一位进行RR扰动,因此用户的时间复杂度和空间复杂度分别为O\left( {2L + 1} \right)和O\left( {L + 1} \right). 对采集者而言,他们需要将每个用户的噪声度向量和组号收集,计算各组用户数量,并依次校正各度值的频率分布,采集者的时间复杂度和空间复杂度均为O\left( {n\left( {L + 1} \right)} \right).
5. 三角计数序列采集算法
在真实分布式图结构数据应用场景下,隐私保护和数据效用需求多样化,分布式用户无法直接获取分布式图结构数据的三角计数序列等与图结构特征密切相关的统计指标,故此类信息采集过程中的用户隐私保护非常具有挑战性. 现有的算法在本地扰动加噪时,还存在添加大量噪声边导致数据效用不高的问题. 本节针对上述问题,首先提出一种Prune算法,用于控制噪声边添加的上限,进而降低实际噪声图中的密集程度;其次,针对隐私及效用需求,基于Prune算法和2轮交互模型分别提出基于Node-LDP的三角计数序列采集算法及基于Edge-LDP的三角序列采集算法;最后,给出三角计数序列采集算法的分析与证明.
5.1 基于Node-LDP的三角计数序列采集算法
诸如社交网络、物联网等真实场景中产生的图结构数据通常是稀疏图,即 n \gg {d_{\max}} \gg {d_{\rm{ave}}} . 其中,{d_{\max}}和{d_{\rm{ave}}}分别为最大度和平均度. 为了应对LDP随机加噪过程中产生过多虚假边,降低采集统计指标的效用问题,本节提出Prune算法,通过将用户邻接向量缩减成一个\theta 维的二元向量,从而减少随机过程中产生的噪声边,具体过程如算法2所示.
算法2中包含2个步骤:1)在用户持有度值上限\theta 后,用户可依据\theta 和邻居真实情况裁剪自己的邻接向量. 以用户i为例,若{d_i} > \theta ,则用户i随机抽取\theta 个邻居组成裁剪后的邻接向量 {{\boldsymbol{B}}'_i} ,每一位邻居均为1(行①②). 相反,若{d_i} \leqslant \theta ,则用户将{d_i}个邻居组成裁剪后邻接向量的前{d_i}位,并随机抽取\theta - {d_i}个非邻居充当邻接向量的后几位,从而组成一个\theta 维的二元向量(行③④). 其中,真实邻居对应的位为1,其余为0. 2)在填充 {{\boldsymbol{B}}'_i} 完毕之后,用户对 {{\boldsymbol{B}}'_i} 进行洗牌,从而避免数据采集者按顺序推导用户的邻居信息(行⑥). 在此基础之上,用户便可将一个n维的邻接向量缩减为\theta 维. 依据真实图的稀疏性,许多非邻居位将会被移除,从而可一定程度上减少随机化过程产生的噪声边.
算法2. 剪枝算法Prune.
输入:邻接向量 {{\boldsymbol{B}}_i} = \left( {{b_1},{b_2},…,{b_n}} \right) ,{b_j} \in \left\{ {0,1} \right\},阈值\theta ;
输出:剪枝后的邻接向量 {{\boldsymbol{B}}'_i} = \left( {{b'_1},{b'_2},…,{b'_\theta }} \right) .
① if \displaystyle\sum\limits_{j = 1}^n {{b_j} > \theta } do /*\displaystyle\sum\limits_{j = 1}^n {{b_j}} 为用户i的度值{d_i}*/
② {{\boldsymbol{B}}'_i} = Cut\left( {{{\boldsymbol{B}}_i}} \right) = \left( {{b'_1},{b'_2},…,{b'_\theta }} \right) ;
/*随机选择 {{\boldsymbol{B}}_i} 中\theta 个邻居,并均填充为1, 即 {b'_j} \in \left\{ 1 \right\}*/
③ else if \sum\limits_{j = 1}^n {{b_j} \leqslant \theta } do
④ {{\boldsymbol{B}}'_i} = \left( {{b'_1},{b'_2},…{b'_{\sum\limits_{j = 1}^n {{b_j}} }},…,{b'_\theta }} \right) ;
/* b'_{j\in \big\{1,{\sum\limits_{j=1}^{n}{b}_{j}}\big\}}\in \left\{1\right\} ,选取 \sum\limits_{j = 1}^n {{b_j}} 个邻居填充为前 \sum\limits_{j = 1}^n {{b_j}} 位,计为1; {b'_{j \in \big\{ {\sum\limits_{j = 1}^n {{b_j}} ,\theta } \big\}}} \in \left\{ 0 \right\} ,即随机抽取 \theta - {d_i}个非邻居充当邻接向量的后几位, 计为0*/
⑤ end if
⑥ Shuf fle\left( {\boldsymbol{B}}_i' \right);/*对 {{\boldsymbol{B}}'_i} 进行洗牌*/
⑦ return {{\boldsymbol{B}}'_i} .
为了能在强隐私保护下采集三角计数序列,我们在算法2的基础之上提出基于Node-LDP的三角计数序列采集算法,具体如算法3所示. 在算法3中,引入2轮交互模型来进一步提升采集结果的数据效用. 其中:第1轮交互用于获取分布式用户的噪声边信息,从而聚合获得噪声图结构数据;随后,数据采集者将噪声图结构数据发送给各分布式用户. 第2轮交互过程中,各分布式用户利用自身一阶邻居子图的邻居信息和噪声图结构数据,计算各自的局部三角计数,并通过拉普拉斯机制对三角计数加噪,加噪后的三角计数发送给数据采集者.
算法3. 基于Node-LDP的三角计数序列采集算法NLDP-TS.
输入:邻接矩阵 {\boldsymbol{M}} = \left( {{{\boldsymbol{B}}_1},{{\boldsymbol{B}}_2},…,{{\boldsymbol{B}}_n}} \right) , {{\boldsymbol{B}}_i} = ( {b_1},{b_2},…, {b_n} ) ,{b_j} \in \left\{ {0,1} \right\},频率上限Level,隐私预算\varepsilon = {\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3},组距L;
输出:具备Node-LDP保护的三角计数序列 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) .
/*第1轮交互*/
① \theta = NLDP {\text{-}} DD\left( {Level,{\varepsilon _1},L} \right);
/*调用算法1获取度分布估计,并结合Level计 算度阈值 \theta */
/*用户*/
② for i in \left\{ {1,2,…,n} \right\} do
③ {{\boldsymbol{B}}'_i} = Prune\left( {{{\boldsymbol{B}}_i},\theta } \right) ; /*裁剪邻接向量*/
④ 通过{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }-RR扰动 {{\boldsymbol{B}}'_i} 中的每一位
{\tilde{B}}_{i}\left[j\right]=\left\{\begin{aligned} & B'_{i}\left[j\right],\text{ }p=\frac{{{\mathrm{e}}}^{{\varepsilon }_{2}/\theta }}{{{\mathrm{e}}}^{{\varepsilon }_{2}/\theta }+1};\\ & 1-B'_{i}\left[j\right],\text{ }q=\frac{1}{{{\mathrm{e}}}^{{\varepsilon }_{2}/\theta }+1};\end{aligned} \right. /* {B'_i}\left[ j \right] 表示 {{\boldsymbol{B}}'_i} 中的第j位, {\tilde B_i}\left[ j \right] ( {\tilde {\boldsymbol{B}}_i} 中 的第j 位) 表示扰动后的 {B'_i}\left[ j \right] , {\tilde {\boldsymbol{B}}_i} 为经过扰动的 {{\boldsymbol{B}}'_i} */
⑤ 将 {\tilde {\boldsymbol{B}}_i} 发送给数据采集者;
⑥ end for
/*数据采集者*/
⑦ G' = construct\left( {{{\tilde {\boldsymbol{B}}}_1},{{\tilde {\boldsymbol{B}}}_2},…,{{\tilde {\boldsymbol{B}}}_n}} \right) ;/*构建噪声图*/
⑧ 将噪声图G'发送给每个用户;
/*第2轮交互*/
/*用户*/
⑨ for i in \left\{ {1,2,…,n} \right\} do
⑩ /*计算噪声2-star计数*/
{t}_{i}\leftarrow\frac{1}{2}{\left[{\displaystyle \sum _{j=1}^{\theta }B'_{i}{}_{j}\left({\displaystyle \sum _{j=1}^{\theta }B'_{i}{}_{j}-1}\right)}\right]} ;
⑪ /*计算噪声局部三角计数*/
{s}_{i}=|\left({v}_{i},{v}_{j},{v}_{k}\right):j < k,{a}_{i,j}={a}_{i,k}=1{\text{,}} \left({v}_{j},{v}_{k}\right)\text{ }{\mathrm{in}}\text{ }{G}'| ;
/* {a_{i,j}} 表示用户i本地端的边缘(i,j)是否存在, 若存在记为1,否则记为0*/
⑫ {w_i} \leftarrow {s_i} - q{t_i};
⑬ {w'_i} \leftarrow {w_i} + Lap\left( {\dfrac{{\theta \left( {\theta - 1} \right)}}{{2{\varepsilon _3}}}} \right);
⑭ 将{w'_i}发送给数据采集者;
⑮ end for
/*数据采集者*/
⑯ for i in \left\{ {1,2,…,n} \right\} do
⑰ {T'_i} = \dfrac{{{w_i'}}}{{2p - 1}};
⑱ end for
⑲ T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) ;
⑳ return {T}^{\prime }.
算法3中,行①~⑧为第1轮交互,行⑨~⑲为第2轮交互,各分为4个步骤. 第1轮交互中,首先,数据采集者将隐私预算\varepsilon 拆分为{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},并将{\varepsilon _1}、{\varepsilon _2}、{\varepsilon _3}、组距L和频率上限Level发布给每位用户. 其次,用户和数据采集者以{\varepsilon _1}和L为参数,通过算法1获取度频率分布估计. 数据采集者根据Level计算频率和达到Level时的最大度值 \theta ,将其设为度阈值(行①). 再次,用户根据 \theta 和自身真实邻接向量 {{\boldsymbol{B}}_i} ,调用算法2对邻接向量 {{\boldsymbol{B}}_i} 进行裁剪,并通过{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }-RR扰动裁剪后的邻接向量中的每一位,将加噪后的邻接向量 {\tilde {\boldsymbol{B}}_i} 发送给数据采集者(行③~⑤). 最后,数据采集者根据采集到的噪声邻接向量 {\tilde {\boldsymbol{B}}_i} 构建噪声图结构数据G',并将其发送给用户(行⑦⑧). 值得注意的是, \theta 无需用户或数据采集者自行设置,其由Level和度分布估计计算而得,与Level成正比,即Level越大, \theta 越大.
第2轮交互中,首先,各分布式用户结合噪声图结构数据G'和自身裁剪后的邻接向量 {{\boldsymbol{B}}'_i} 计算其局部三角计数. 以用户i为例,用户i根据裁剪后的 {{\boldsymbol{B}}'_i} 计算其真实的2-star计数(行⑩). 其中,用户i的2-star可表示为以其自身为中心节点来连接2条边的子图. 因此,用户i的2-star计数可表示为
{t}_{i}\leftarrow\frac{1}{2} {\left[{\displaystyle \sum _{j=1}^{\theta }B'_{i}{}_{j}\left({\displaystyle \sum _{j=1}^{\theta }B'_{i}{}_{j}-1}\right)}\right]}. 同时,用户i可通过 {{\boldsymbol{B}}'_i} 上的真实边缘信息和G'中的噪声边信息计算他的噪声局部三角计数(行⑪),即
{s}_{i}=\left|\left({v}_{i},{v}_{j},{v}_{k}\right):j < k,{a}_{i,j}={a}_{i,k}=1,\left({v}_{j},{v}_{k}\right)\text{ }{\mathrm{in}}\text{ }{G}^{\prime }\right|, 其中 {a_{i,j}} 表示用户i本地端的边缘(i,j)是否存在,若存在则ai,j=1,否则a_{ij}=0 . 其次,用户i将{s_i} - q{t_i}发送给数据采集者. 由数据采集者根据用户发送 {t_i} 和 {s_i} ,并结合RR校正公式估计其三角计数,即
T'_{i}=\frac{{s}_{i}-q{t}_{i}}{2p-1}. 为了避免直接发送{s_i} -q {t_i}引发的边缘信息泄露问题,用户向该值添加拉普拉斯噪声,使算法满足Node-LDP. 同时,为了降低满足Node-LDP时添加的噪声量,算法不采用 {{{d_{\max}}\left( {{d_{\max}} - 1} \right)} \mathord{\left/ {\vphantom {{{d_{\max}}\left( {{d_{\max}} - 1} \right)} 2}} \right. } 2} 作为敏感度. 用户i向{s_i} - q{t_i}添加敏感度为{{\theta \left( {\theta - 1} \right)} \mathord{\left/ {\vphantom {{\theta \left( {\theta - 1} \right)} 2}} \right. } 2}的拉普拉斯噪声,使算法满足Node-LDP(行⑫⑬). 再次,数据采集者估计该用户的三角计数(行⑰),即
T'_{i}=\frac{{s}_{i}-q{t}_{i}+Lap\left(\dfrac{\theta \left(\theta -1\right)}{2{\varepsilon }_{3}}\right)}{2p-1}. 最后,数据采集者根据获取的所有分布式用户的局部三角计数,聚合得到满足Node-LDP的三角计数序列 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) (行⑲).
5.2 基于Edge-LDP的三角计数序列采集算法
为了满足各类场景下不同隐私保护和数据效用需求,进一步提升数据效用并放松隐私保护强度,本节在算法2的基础上提出基于Edge-LDP的三角计数序列采集算法,如算法4所示.
算法4包含2轮交互,行①~⑧为第1轮交互,行⑨~⑲为第2轮交互,各分为4个步骤. 第1轮交互中,首先,数据采集者将隐私预算\varepsilon 拆分为{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},并将{\varepsilon _1}、{\varepsilon _2}、{\varepsilon _3}、组距L和频率上限Level发布给每位用户. 其次,用户和数据采集者以{\varepsilon _1}和L为参数,通过算法1获取度频率分布估计. 在算法4中,数据采集者根据Level计算频率和达到Level时的最大度值 \theta ,并将其设为度阈值(行①);再次,用户通过 \theta 将其邻接向量 {{\boldsymbol{B}}_i} 进行剪枝,获取到剪枝后的邻接向量 {{\boldsymbol{B}}'_i} ,并通过{\varepsilon _2}-RR扰动 {{\boldsymbol{B}}'_i} 中的每一位并将其发送给数据采集者(行③④);最后,数据采集者通过所有用户的噪声向量 {\tilde {\boldsymbol{B}}_i} 聚合获得噪声图结构数据G',并将G'发给所有分布式用户(行⑦⑧). 值得注意的是,由于Edge-LDP和Node-LDP下的隐私约束有所不同,因此在满足Edge-LDP时,算法4中用户在第1轮交互中仅需使用{\varepsilon _2}-RR(行④)即可.
第2轮交互中,首先,所有分布式用户各自依据G'和 {{\boldsymbol{B}}'_i} 计算其真实2-star计数{t_i}和噪声三角计数{s_i}(行⑩⑪). 其次,用户通过拉普拉斯机制将{s_i} - q{t_i}加噪扰动后报告给数据采集者. 此处与算法3不同的是,用户仅需向{s_i} - q{t_i}中添加Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _3}}}} \right. } {{\varepsilon _3}}}} \right)的噪声即可满足Edge-LDP. 即用户分别向数据采集者报告{s_i} - q{t_i} + Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _3}}}} \right. } {{\varepsilon _3}}}} \right)(行⑫⑬). 再次,数据采集者根据用户发送的数据,结合RR校正公式估计其局部三角计数(行⑰),即
T'_{i}=\frac{{s}_{i}-q{t}_{i}+Lap\left(\theta /{\varepsilon }_{3}\right)}{2p-1}. 最后,数据采集者可获得每个用户的局部三角计数估计 {T'_i} ,进一步得到满足Edge-LDP的三角计数序列估计 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) (行⑲). 与前述同理,在满足Edge-LDP时,算法4中用户在第2轮交互的报告过程中(行⑬)所使用的参数与算法3不同. (与算法3的不同之处为算法4中行④⑬. )
算法4. 基于Edge-LDP的三角计数序列采集算法ELDP-TS.
输入:邻接矩阵 {\boldsymbol{M}} = \left( {{{\boldsymbol{B}}_1},{{\boldsymbol{B}}_2},…,{{\boldsymbol{B}}_n}} \right) , {{\boldsymbol{B}}_i} =( {b_1},{b_2},…, {b_n} ) ,{b_j} \in \left\{ {0,1} \right\},频率上限Level,隐私预算\varepsilon = {\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3};
输出:具备Edge-LDP保护的三角计数序列 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) .
/*第1轮交互*/
① \theta = NLDP {\text{-}} DD\left( {Level,{\varepsilon _1},L} \right);
/*用户*/
② for i in \left\{ {1,2,…,n} \right\} do
③ {{\boldsymbol{B}}'_i} = Prune\left( {{{\boldsymbol{B}}_i},\theta } \right) ;
④ 通过{\varepsilon _2}-RR扰动 {{\boldsymbol{B}}'_i} 中的每一位
{\tilde{B}}_{i}\left[j\right]=\left\{\begin{aligned} & B'_{i}\left[j\right],\text{ }p\text=\frac{{\rm e}^{{\varepsilon }_{2}}}{{\rm e}^{{\varepsilon }_{2}}+1}{\text{,}}\\ & 1-B'_{i}\left[j\right],\text{ }q\text=\frac{1}{{\rm e}^{{\varepsilon }_{2}}+1};\end{aligned} \right. ⑤ 将 {\tilde {\boldsymbol{B}}_i} 发送给数据采集者;
⑥ end for
/*数据采集者*/
⑦ G' = construct\left( {{{\tilde {\boldsymbol{B}}}_1},{{\tilde {\boldsymbol{B}}}_2},…,{{\tilde {\boldsymbol{B}}}_n}} \right) ;
⑧ 将噪声图G'发送给每个用户;
/*第2轮交互*/
/*用户*/
⑨ for i in \left\{ {1,2,…,n} \right\} do
⑩ /*计算噪声2-star计数*/
{t}_{i}\leftarrow\dfrac{1}{2} {\left[{\displaystyle \sum _{j=1}^{\theta }B'_{i}{}_{j}\left({\displaystyle \sum _{j=1}^{\theta }B'_{i}{}_{j}-1}\right)}\right]} ;
⑪ /*计算噪声局部三角计数*/
{s}_{i}=|\left({v}_{i},{v}_{j},{v}_{k}\right):j < k,{a}_{i,j}={a}_{i,k}=1, \text{ }\left({v}_{j},{v}_{k}\right)\text{ }{\mathrm{in}}\text{ }{G}^{\prime }| ;
⑫ {w_i} \leftarrow {s_i} - q{t_i};
⑬ {w'_i} \leftarrow {w_i} + Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _3}}}} \right. } {{\varepsilon _3}}}} \right) ;
⑭ 将{w'_i}发送给数据采集者;
⑮ end for
/*数据采集者*/
⑯ for i in \left\{ {1,2,…,n} \right\} do
⑰ {T'_i} = \dfrac{{w_i'}}{{2p - 1}};
⑱ end for
⑲ T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) ;
⑳ return {T}^{\prime }.
5.3 三角计数序列采集算法隐私效用分析
本节对所提基于Node-LDP和基于Edge-LDP的三角计数序列采集算法(算法3和算法4)所具备的隐私保证、结果无偏性及估计结果满足的方差上限进行理论分析.
定理6. 算法3满足\varepsilon -Node-LDP.
证明. 算法3中存在3个过程提供隐私保障,即通过算法1获取度值上限 \theta (行①)、通过RR扰动邻接向量(行④)以及向估计值中添加拉普拉斯噪声(行⑬).
首先,依据定理3可知,通过算法1获取度值上限 \theta 满足{\varepsilon _1}-Node-LDP.
其次,在通过RR扰动位向量过程中,易知剪枝后的邻接向量 {{\boldsymbol{B}}'_i} 是 \theta 维的. 不失一般性,我们假设任意2个 {{\boldsymbol{B}}'_i} 和 {{\boldsymbol{B}}'_j} 为任意位都不一致的相邻位向量,则通过{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }-RR扰动时,有
\begin{split} &\frac{{Pr\left[ {\mathcal{A}\left( {{\boldsymbol{B'}_i}} \right) = {\boldsymbol{S}}} \right]}}{{Pr\left[ {\mathcal{A}\left( {{\boldsymbol{B'}_j}} \right) = {\boldsymbol{S}}} \right]}} =\\ & \frac{Pr\left[\mathcal{A}\left({b}_{1}\right)={s}_{1}\right]Pr\left[\mathcal{A}\left({b}_{2}\right)={s}_{2}\right]…Pr\left[\mathcal{A}\left({b}_{\theta }\right)={s}_{\theta }\right]}{Pr\left[\mathcal{A}\left(b'_{1}\right)={s}_{1}\right]Pr\left[\mathcal{A}\left(b'_{2}\right)={s}_{2}\right]…Pr\left[\mathcal{A}\left(b'_{\theta }\right)={s}_{\theta }\right]}\le\\ & \frac{{p}^{\theta }}{{q}^{\theta }}={{\mathrm{e}}}^{\theta \tfrac{{\varepsilon }_{2}}{\theta }}={e}^{{\varepsilon }_{2}}, \end{split} 其中 p = \dfrac{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}}}}{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}} + 1}} ,q = 1 - p, {\boldsymbol{S}} 为{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }-RR的任意输出值. 因此,该过程满足{\varepsilon _2}-Node-LDP.
再次,在Node-LDP约束下,删除任意顶点对三角计数的敏感度为{{\theta \left( {\theta - 1} \right)} \mathord{\left/ {\vphantom {{\theta \left( {\theta - 1} \right)} 2}} \right. } 2},因此,在报告三角计数过程中添加 Lap\left( {\dfrac{{\theta \left( {\theta - 1} \right)}}{{2{\varepsilon _3}}}} \right) 满足{\varepsilon _3}-Node-LDP.
根据引理1,算法3提供{\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3}-Node-LDP. 其中,{\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3} = \varepsilon ,因此算法3满足\varepsilon -Node-LDP. 证毕.
定理7. 算法3收集的任意用户局部三角计数{T'_i}都是真实计数{T_i}的无偏估计.
证明.
\begin{split} E\left(T'_{i}\right)=& E\left(\frac{w'_{i}}{2p-1}\right)=\\ & E\left[\frac{{s}_{i}-q{t}_{i}+Lap\left(\dfrac{\theta \left(\theta -1\right)}{2{\varepsilon }_{3}}\right)}{2p-1}\right]=\\ & \frac{1}{2p-1}E\left({s}_{i}-q{t}_{i}\right). \end{split} 设t_i^*为用户i的2-star中不包括三角形的计数,即{a_{i,j}} = {a_{i,k}} = 1,且{a_{k,j}} = 0(j < k). {T_i}为用户i的真实局部三角计数,即{a_{i,j}} = {a_{i,k}} = {a_{k,j}} = 1(j < k). {s_i} 为用户结合G'和 {{\boldsymbol{B}}'_i} 计数的噪声三角计数,即 {s_i} = \left| \left( {{v_i},{v_j},{v_k}} \right): j < k,{a_{i,j}} = {a_{i,k}} = 1,\left( {{v_j},{v_k}} \right){\text{ }}{\mathrm{in}}{\text{ }}G' \right| . 同时,设 {t_i} 为用户i的真实2-star计数,则有 {t_i} = t_i^* + {T_i} . 根据RR的性质,有
E\left( {{s_i}} \right) = {T_i}p + t_i^*q, 则
\begin{split} E\left(T'_{i}\right)=\,& \frac{1}{2p-1}E\left({s}_{i}-q{t}_{i}\right)=\frac{1}{2p-1}\left[{T}_{i}p+{t}_{i}^{*}q-q{t}_{i}\right]=\\ \,& \frac{1}{2p-1}\left[{T}_{i}p+{t}_{i}^{*}q-q\left({T}_{i}+{t}_{i}^{*}\right)\right]=\frac{\left(p-q\right){T}_{i}}{2p-1}={T}_{i}. \end{split} 因此,{T'_i}是真实计数{T_i}的无偏估计. 证毕.
定理8. 算法3收集的任意用户局部三角计数{T'_i}的方差满足
Var\left(T'_{i}\right)\le \left[\theta \left(\theta -1\right)\right]\frac{{\varepsilon }_{3}^{2}pq+\theta \left(\theta -1\right)}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}, 其中 p = \dfrac{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}}}}{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}} + 1}} , q = \dfrac{1}{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}} + 1}} .
证明. 设{t_i}为用户i的2-star计数,t_i^*为用户i的2-star中不包括三角形的计数,即{a_{i,j}} = {a_{i,k}} = 1,且{a_{k,j}} = 0(j < k). {T_i}为用户i的局部三角计数,即 {a_{i,j}} = {a_{i,k}} = {a_{k,j}} = 1 (j < k). 有
\begin{split} Var\left( {{T'_i}} \right) = \,& Var\left( {\frac{{{w'_i}}}{{2p - 1}}} \right) =\\ \,& Var\left[ {\dfrac{{{s_i} - q{t_i} + Lap\left( {\dfrac{{\theta \left( {\theta - 1} \right)}}{{2{\varepsilon _3}}}} \right)}}{{2p - 1}}} \right] = \end{split} \begin{split} &\frac{1}{{\left(2p-1\right)}^{2}}Var\left[{s}_{i}-q{t}_{i}+Lap\left(\frac{\theta \left(\theta -1\right)}{2{\varepsilon }_{3}}\right)\right]=\\ & \frac{1}{{\left(2p-1\right)}^{2}}\left\{Var\left({s}_{i}\right)+Var\left[Lap\left(\frac{\theta \left(\theta -1\right)}{2{\varepsilon }_{3}}\right)\right]\right\}=\\ &\frac{{T}_{i}p\left(1-p\right)+{t}_{i}^{*}q\left(1-q\right)}{{\left(2p-1\right)}^{2}}+\frac{{\theta }^{2}{\left(\theta -1\right)}^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}=\\ &\frac{\left({T}_{i}+{t}_{i}^{*}\right)pq}{{\left(2p-1\right)}^{2}}+\frac{{\theta }^{2}{\left(\theta -1\right)}^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}=\\ &\frac{{t}_{i}pq}{{\left(2p-1\right)}^{2}}+\frac{{\theta }^{2}{\left(\theta -1\right)}^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}\le\\ & \frac{\theta \left(\theta -1\right)pq}{2{\left(2p-1\right)}^{2}}+\frac{{\theta }^{2}{\left(\theta -1\right)}^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}=\\ &\left[\theta \left(\theta -1\right)\right]\frac{{\varepsilon }_{3}^{2}pq+\theta \left(\theta -1\right)}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}. \end{split} 证毕.
定理9. 算法4满足{\varepsilon _1}-Node-LDP+{\varepsilon _2} + {\varepsilon _3}-Edge-LDP.
证明. 与算法3一致,算法4也存在3个过程提供隐私保障,即通过算法1获取度值上限 \theta (行①). 通过RR扰动位向量(行④)以及通过向估计值中添加拉普拉斯噪声(行⑬).
首先,依据定理3可知,通过算法1获取度值上限 \theta 满足{\varepsilon _1}-Node-LDP.
其次,在通过RR扰动位向量过程中,易知剪枝后的位向量 {{\boldsymbol{B}}'_i} 是 \theta 维的. 不失一般性,我们假设任意2个 {{\boldsymbol{B}}'_i} 和 {{\boldsymbol{B}}'_j} 为仅第1位不一致的相邻位向量,则通过{\varepsilon _2}-RR扰动时,有
\begin{split} & \frac{{Pr\left[ {\mathcal{A}\left( {{{\boldsymbol{B}}'_i}} \right) = {\boldsymbol{S}}} \right]}}{{Pr\left[ {\mathcal{A}\left( {{{\boldsymbol{B}}'_j}} \right) = {\boldsymbol{S}}} \right]}} = \\ & \frac{{Pr\left[ {\mathcal{A}\left( {{b_1}} \right) = {s_1}} \right]Pr\left[ {\mathcal{A}\left( {{b_2}} \right) = {s_2}} \right]…Pr\left[ {\mathcal{A}\left( {{b_\theta }} \right) = {s_\theta }} \right]}}{{Pr\left[ {\mathcal{A}\left( {{b'_1}} \right) = {s_1}} \right]Pr\left[ {\mathcal{A}\left( {{b'_2}} \right) = {s_2}} \right]…Pr\left[ {\mathcal{A}\left( {{b'_\theta }} \right) = {s_\theta }} \right]}}=\\ & \frac{Pr\left[\mathcal{A}\left({b}_{1}\right)={s}_{1}\right]}{Pr\left[\mathcal{A}\left(b'_{1}\right)={s}_{1}\right]} \le \frac{p}{q}={{\mathrm{e}}}^{{\varepsilon }_{2}}, \end{split} 其中 p{\text{ = }}\dfrac{{{{\mathrm{e}}^{{\varepsilon _2}}}}}{{{{\mathrm{e}}^{{\varepsilon _2}}} + 1}} ,q = 1 - p, {\boldsymbol{S}} 为{\varepsilon _2}-RR的任意输出值. 因此,该过程满足{\varepsilon _2}-Edge-LDP.
再次,在Edge -LDP约束下,删除任意顶点对三角计数的影响为\theta ,即敏感度为\theta ,因此,在报告三角计数过程中添加 Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _3}}}} \right. } {{\varepsilon _3}}}} \right) 满足{\varepsilon _3}-Edge-LDP.
综上,根据引理1,算法4满足{\varepsilon _1}-Node-LDP+{\varepsilon _2} + {\varepsilon _3}-Edge-LDP. 证毕.
定理10. 算法4收集的任意用户局部三角计数{T'_i}都是真实计数{T_i}的无偏估计.
证明.
\begin{split} E\left(T'_{i}\right)= \,& E\left(\frac{{{w'_{i}}}}{2p-1}\right)\, = \\& E\left[\dfrac{{s}_{i}-q{t}_{i}+Lap\left(\dfrac{\theta }{{\varepsilon }_{3}}\right)}{2p-1}\right]=\frac{1}{2p-1}E\left({s}_{i}-q{t}_{i}\right). \end{split} 与定理7同理, E\left( {{s_i} - q{t_i}} \right) = \left( {p - q} \right){T_i} ,因此
E\left(T'_{i}\right)=\frac{1}{2p-1}E\left({s}_{i}-q{t}_{i}\right)=\frac{\left(p-q\right){T}_{i}}{2p-1}={T}_{i}. 综上,{T'_i}是真实计数{T_i}的无偏估计.证毕.
定理11. 算法4收集的任意用户局部三角计数{T'_i}的方差满足
Var\left(T'_{i}\right)\le \frac{{\varepsilon }_{3}^{2}pq\left[\theta \left(\theta -1\right)\right]+4{\theta }^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}, 其中 p = \dfrac{{{{\mathrm{e}}^{{\varepsilon _2}}}}}{{{{\mathrm{e}}^{{\varepsilon _2}}} + 1}} ,q = \dfrac{1}{{{{\mathrm{e}}^{{\varepsilon _2}}} + 1}}.
证明. 设{t_i}和t_i^*分别为用户i的2-star计数和2-star中不包括三角形的计数,{T_i}为用户i的局部三角计数,有
\begin{split} Var\left( {{T'_i}} \right) =\,& Var\left( {\frac{{{{w'}_i}}}{{2p - 1}}} \right) = Var\left[ {\frac{{{s_i} - q{t_i} + Lap\left( {\dfrac{\theta }{{{\varepsilon _3}}}} \right)}}{{2p - 1}}} \right] = \\ \,&\frac{1}{{{{\left( {2p - 1} \right)}^2}}}Var\left[ {{s_i} - q{t_i} + Lap\left( {\frac{\theta }{{{\varepsilon _3}}}} \right)} \right] = \\ \,&\frac{1}{{{{\left( {2p - 1} \right)}^2}}}\left\{ {Var\left( {{s_i}} \right) + Var\left[ {Lap\left( {\frac{\theta }{{{\varepsilon _3}}}} \right)} \right]} \right\}= \\ \,& \frac{{ {{T_i}p\left( {1 - p} \right) + t_i^*q\left( {1 - q} \right)} }}{{{{\left( {2p - 1} \right)}^2}}} + \frac{{2{\theta ^2}}}{{{{\left( {2p - 1} \right)}^2}\varepsilon _3^2}}=\\ \,&\frac{\left({T}_{i}+{t}_{i}^{*}\right)pq}{{\left(2p-1\right)}^{2}}+\frac{2{\theta }^{2}}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}=\\ \,&\frac{{t}_{i}pq}{{\left(2p-1\right)}^{2}}+\frac{2{\theta }^{2}}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}\le\\ \,&\frac{\theta \left(\theta -1\right)pq}{2{\left(2p-1\right)}^{2}}+\frac{2{\theta }^{2}}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}=\frac{{\varepsilon }_{3}^{2}\theta \left(\theta -1\right)pq+4{\theta }^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}. \end{split} 证毕.
在算法3和算法4中,首先需要调用算法1,因此该过程中用户的时间复杂度和空间复杂度分别为O\left( {2L + 1} \right)和O\left( {L + 1} \right),数据采集者的时间复杂度和空间复杂度均为O\left( {n\left( {L + 1} \right)} \right). 其次,用户需先对邻接向量进行剪枝并扰动剪枝后的位向量,该过程时间复杂度和空间复杂度均为O\left( {2\theta } \right),数据采集者收集所有用户的噪声位向量并聚合噪声图,时间复杂度和空间复杂度均为O\left( {n\theta } \right). 再次,用户需结合噪声图计算三角计数并加噪,时间复杂度和空间复杂度分别为 O\left( {\dfrac{{{d_i}\left( {{d_i} - 1} \right)}}{2} + 1} \right) 和O\left( {n\theta } \right). 最后,数据采集者采集各用户的三角计数,时间复杂度和空间复杂度均为O\left( n \right).
综上,算法3和算法4中用户所需的时间复杂度和空间复杂度分别为O\left( {2L + 2\theta + \dfrac{{{d_i}\left( {{d_i} - 1} \right)}}{2} + 2} \right)和O( L + 1 + ( {n + 2} )\theta ),数据采集者所需的时间复杂度和空间复杂度均为O\left( {n\left( {L + 2 + \theta } \right)} \right).
6. 聚类系数采集算法
本节在第5节所提算法的基础之上,进一步引入拉普拉斯机制采集分布式用户的度值,设计满足Node-LDP和Edge-LDP的聚类系数采集算法.
6.1 基于Node-LDP的聚类系数采集算法
算法5为所提的基于Node-LDP的聚类系数采集算法,具体分为4个步骤. 首先,数据采集者将隐私预算\varepsilon 拆分为{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},{\varepsilon _4},并将{\varepsilon _1}、{\varepsilon _2}、{\varepsilon _3}、{\varepsilon _4}、组距L和频率上限Level发布给每位用户. 其次,用户和数据采集者以{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},L,Level为参数调用算法3获取度阈值 \theta 以及三角计数序列 T' = \left( {{T'_1},{T'_2},…,{T'_n}} \right) (行①). 再次,每个用户通过{\varepsilon _4}-拉普拉斯机制向数据采集者报告其度值{d_i}. 值得注意的是,在满足Node-LDP时,度值的敏感度为{d_{{\mathrm{max}}}}. 显然,向常规图结构数据度值中添加{d_{{\mathrm{max}}}}的拉普拉斯噪声将使得噪声量过大. 因此我们仍然采用算法3中取得的阈值 \theta 作为度值上限,通过投影方式采集度值. 具体而言,以用户i为例,当度值{d_i}> \theta 时,用户i报告\theta + Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right),否则直接向真实度值上添加Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right)的噪声并报告(行③~⑦). 最后,数据采集者便可获取每个用户的局部三角计数估计{T'_i}和度值估计{d'_i},并依据{T'_i}和{d'_i}计算每个用户的局部聚类系数估计C{C'_i}(行⑫),即
CC'_{i}=\frac{2T'_{i}}{d'_{i}\left(d'_{i}-1\right)}, 并最终聚合采集满足Node-LDP保护的聚类系数估计CC' = \left( {C{C'_1},C{C'_2},…,C{C'_n}} \right)(行⑭).
算法5. 基于Node-LDP的聚类系数采集算法NLDP-CC.
输入:邻接矩阵 {\boldsymbol{M}} = \left( {{{\boldsymbol{B}}_1},{{\boldsymbol{B}}_2},…,{{\boldsymbol{B}}_n}} \right) , {{\boldsymbol{B}}_i} = \left({b_1},{b_2},…, {b_n} \right) ,{b_j} \in \left\{ {0,1} \right\},频率上限Level,隐私预算\varepsilon = {\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3} + {\varepsilon _4};
输出:具备Node-LDP保护的聚类系数CC' = \left( C{C'_1}, C{C'_2},…,C{C'_n} \right).
① T',\theta = NLDP {\text{-}} TS\left( {{\boldsymbol{M}},{\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3},Level} \right) ;
/*调用算法3获取满足Node-LDP的三角计数 序列 T' 及度阈值 \theta */
/*用户*/
② for i in \left\{ {1,2,…,n} \right\} do
/*对度值进行投影*/
③ if {d_i} > \theta do /*度值大于阈值 \theta */
④ {d'_i} = \theta + Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right);
⑤ else if {d_i} \leqslant \theta do/*度值小于阈值 \theta */
⑥ {d'_i} = {d_i} + Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right);
⑦ end if
⑧ 将噪声度值{d'_i}发送给数据采集者;
⑨ end for
⑩ \tilde D = \left\{ {{d'_1},{d'_2},…,{d'_n}} \right\} ;
/*数据采集者*/
⑪ for i in \left\{ {1,2,…,n} \right\} do
⑫ C{C'_i} = \dfrac{{2{T'_i}}}{{{d'_i}\left( {{d'_i} - 1} \right)}};
⑬ end for
⑭ CC' = \left( {C{C'_1},C{C'_2},…,C{C'_n}} \right);
⑮ return CC'.
6.2 基于Edge-LDP的聚类系数采集算法
本节在算法4和算法5的基础之上,提出基于Edge-LDP的聚类系数采集算法,如算法6所示.
类似地,算法6也可分为4个步骤. 首先,数据采集者将隐私预算\varepsilon 拆分为{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},{\varepsilon _4},并将{\varepsilon _1}、{\varepsilon _2}、{\varepsilon _3}、{\varepsilon _4}、组距L和频率上限Level发布给每位用户. 其次,用户和数据采集者以{\varepsilon _1},{\varepsilon _2},{\varepsilon _3},L,Level为参数调用算法4,获取满足Edge-LDP的三角计数序列 T' = \left( {T'_1}, {T'_2},…,{T'_n} \right) (行①). 再次,用户通过{\varepsilon _4}-拉普拉斯机制报告其度值{d_i}(行③④). 与算法5所不同,在满足Edge-LDP时,删除任意一条边敏感度仅为1,敏感度相对较小,因此算法6无需删边投影. 用户在报告度值前仅需向度值中添加敏感度为1的拉普拉斯噪声,即 Lap\left( {{1 \mathord{\left/ {\vphantom {1 {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right) . 最后,数据采集者利用每个用户的局部三角计数估计{T'_i}和度值估计{d'_i}计算其局部聚类系数估计C{C'_i}(行⑦~⑨),并聚合采集满足Edge-LDP的全局聚类系数CC' = \left( {C{C'_1},C{C'_2},…,C{C'_n}} \right)(行⑩).
与算法5不同的是,在采集满足Edge-LDP的聚类系数时,首先算法6需调用算法4采集满足Edge-LDP的三角计数序列(行①);其次,在Edge-LDP约束下采集度值的敏感度仅为1,因此无需通过投影限制采集过程中的敏感度. 进而,在算法6的度值报告过程中(行③)仅需添加 Lap\left( {{1 \mathord{\left/ {\vphantom {1 {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right) 即可. (与算法5的不同之处为算法6中的行①③. )
算法6. 基于Edge-LDP的聚类系数采集算法ELDP-CC.
输入:邻接矩阵 {\boldsymbol{M}} = \left( {{{\boldsymbol{B}}_1},{{\boldsymbol{B}}_2},…,{{\boldsymbol{B}}_n}} \right) , {{\boldsymbol{B}}_i} = \left( {b_1},{b_2},…, {b_n} \right) ,{b_j} \in \left\{ {0,1} \right\},频率上限Level,隐私预算\varepsilon = {\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3} + {\varepsilon _4};
输出:具备Edge-LDP保护的聚类系数CC' = ( C{C'_1}, C{C'_2},…,C{C'_n} ).
① T' = ELDP {\text{-}} TS\left( {{\boldsymbol{M}},{\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3},Level} \right) ;
/*调用算法5获取满足Edge-LDP的三角计数 序列 T' */
/*用户*/
② for i in \left\{ {1,2,…,n} \right\} do
③ {d'_i} = {d_i} + Lap\left( {{1 \mathord{\left/ {\vphantom {1 {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right);
④ 将噪声度值{d'_i}发送给数据采集者;
⑤ end for
⑥ \tilde D = \left\{ {{d'_1},{d'_2},…,{d'_n}} \right\} ;
/*数据采集者*/
⑦ for i in \left\{ {1,2,…,n} \right\} do
⑧ C{C_i} = \dfrac{{2{T'_i}}}{{{d'_i}\left( {{d'_i} - 1} \right)}};
⑨ end for
⑩ CC' = \left( {C{C'_1},C{C'_2},…,C{C'_n}} \right);
⑪ return CC'.
6.3 聚类系数采集算法隐私效用分析
本节对基于Node-LDP和基于Edge-LDP的聚类系数采集算法(算法5和算法6)具备的隐私保证、结果无偏向及估计结果满足的方差上限进行理论分析.
定理12. 算法5满足\varepsilon -Node-LDP.
证明. 算法5中,需调用算法3获取用户三角计数序列估计(行①),并由用户通过拉普拉斯机制报告自身度值(行③~⑦).
首先,根据定理6可知,算法3满足{\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3}-Node-LDP.
其次,在Node-LDP约束下,删除任意顶点敏感度为\theta ,因此在报告度值时添加 Lap\left( {{\theta \mathord{\left/ {\vphantom {\theta {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right) 的噪声满足{\varepsilon _4}-Node-LDP.
综上,依据引理1可知,算法5满足{\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3} + {\varepsilon _4}-Node-LDP({\varepsilon _1} + {\varepsilon _2} + {\varepsilon _3} + {\varepsilon _4} = \varepsilon ),因此算法5满足\varepsilon -Node-LDP. 证毕.
定理13. 算法5收集的任意用户局部聚类系数CC'_i都是真实局部聚类系数C{C_i}的无偏估计.
证明.
E\left(CC'_{i}\right)=E\left[\frac{2T'_{i}}{d'_{i}\left(d'_{i}-1\right)}\right]=\frac{2}{{d}_{i}\left({d}_{i}-1\right)}E\left(T'_{i}\right). 依据定理7可知,E\left( {{T'_i}} \right) = {T_i},因此有
E\left(CC'_{i}\right)=\frac{2}{{d}_{i}\left({d}_{i}-1\right)}E\left(T'_{i}\right)=\frac{2{T}_{i}}{{d}_{i}\left({d}_{i}-1\right)}=C{C}_{i}. 因此,任意用户局部聚类系数C{C'_i}都是真实局部聚类系数C{C_i}的无偏估计. 证毕.
定理14. 算法5收集的任意用户局部聚类系数C{C'_i}的方差满足
\begin{split} & Var\left(CC'_{i}\right)\le \\ & 4\left[\theta \left(\theta -1\right)\right]\frac{\left[{\varepsilon }_{3}^{2}pq+\theta \left(\theta -1\right)\right]\left[{\theta }^{2}\left(10{d}_{i}^{2}-10{d}_{i}+3\right)\right]}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}},\end{split} 其中 p = \dfrac{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}}}}{{{{\mathrm{e}}^{{{{\varepsilon _2}} \mathord{\left/ {\vphantom {{{\varepsilon _2}} \theta }} \right. } \theta }}} + 1}} ,q = 1 - p.
证明.
\begin{split} & Var\left(CC'_{i}\right)=\\ & Var\left[\frac{2T'_{i}}{d'_{i}\left(d'_{i}-1\right)}\right]=4Var\left({T}^{\prime }\right)Var\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]. \end{split} 依据定理8可知
Var\left(T'_{i}\right)\le \left[\theta \left(\theta -1\right)\right]\frac{{\varepsilon }_{3}^{2}pq+\theta \left(\theta -1\right)}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}. 同时,
Var\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]=E{\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]}^{2}-{\left\{E\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]\right\}}^{2}. 根据文献[12]可知
E{\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]}^{2}\approx \frac{1}{{d}_{i}{}^{2}{\left({d}_{i}-1\right)}^{2}}+\frac{2{\theta }^{2}\left(10{d}_{i}^{2}-10{d}_{i}+3\right)}{{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}. 进一步地,
{\left\{E\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]\right\}}^{2}=\frac{1}{{d}_{i}^{2}{\left({d}_{i}-1\right)}^{2}}. 因此,有
\begin{split} & Var\left[ {\frac{1}{{{d'_i}\left( {{d'_i} - 1} \right)}}} \right] \approx \\ & \frac{1}{{{d_i^2}{{\left( {{d_i} - 1} \right)}^2}}} + \frac{{2{\theta ^2}\left( {10{d_i^2} - 10{d_i} + 3} \right)}}{{{d_i^4}{{\left( {{d_i} - 1} \right)}^4}\varepsilon _4^2}} - \frac{1}{{{d_i^2}{{\left( {{d_i} - 1} \right)}^2}}} =\\ &\frac{2{\theta }^{2}\left(10{d}_{i}^{2}-10{d}_{i}+3\right)}{{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}. \end{split} 综上,
\begin{gathered} Var\left( {C{C'_i}} \right) \leqslant \\ 4\left[ {\theta \left( {\theta - 1} \right)} \right]\frac{{\varepsilon _3^2pq + \theta \left( {\theta - 1} \right)}}{{2{{\left( {2p - 1} \right)}^2}\varepsilon _3^2}}\frac{{2{\theta ^2}\left( {10{d_i^2} - 10{d_i} + 3} \right)}}{{{d_i^4}{{\left( {{d_i} - 1} \right)}^4}\varepsilon _4^2}} = \\ \end{gathered} 4\left[\theta \left(\theta -1\right)\right]\frac{\left[{\varepsilon }_{3}^{2}pq+\theta \left(\theta -1\right)\right]\left[{\theta }^{2}\left(10{d}_{i}^{2}-10{d}_{i}+3\right)\right]}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}. 证毕.
定理15. 算法6满足{\varepsilon _1}-Node-LDP+{\varepsilon _2} + {\varepsilon _3} + {\varepsilon _4}-Edge-LDP.
证明. 算法6中,需调用算法4获取用户三角计数序列估计(行①),并由用户通过拉普拉斯机制报告自身度值(行③).
首先,根据定理9可知,算法4满足{\varepsilon _1}-Node-LDP+{\varepsilon _2} + {\varepsilon _3}-Edge-LDP.
其次,在Edge-LDP约束下,删除任意顶点敏感度为1,因此在报告度值时添加 Lap\left( {{1 \mathord{\left/ {\vphantom {1 {{\varepsilon _4}}}} \right. } {{\varepsilon _4}}}} \right) 满足{\varepsilon _4}-Edge-LDP.
综上,依据引理1可知,算法6满足{\varepsilon _1}-Node-LDP+{\varepsilon _2} + {\varepsilon _3} + {\varepsilon _4}-Edge-LDP. 证毕.
定理16. 算法6收集的任意用户局部聚类系数C{C'_i}都是真实局部聚类系数C{C_i}的无偏估计.
证明.
E\left(CC'_{i}\right)=E\left[\frac{2T'_{i}}{d'_{i}\left(d'_{i}-1\right)}\right]=\frac{2}{{d}_{i}\left({d}_{i}-1\right)}E\left(T'_{i}\right). 依据定理10可知,E\left( {{T'_i}} \right) = {T_i},因此有
E\left(CC'_{i}\right)=\frac{2}{{d}_{i}\left({d}_{i}-1\right)}E\left(T'_{i}\right)=\frac{2{T}_{i}}{{d}_{i}\left({d}_{i}-1\right)}=C{C}_{i}. 因此,任意用户局部聚类系数C{C'_i}都是真实局部聚类系数C{C_i}的无偏估计. 证毕.
定理17. 算法6收集的任意用户局部聚类系数C{C'_i}方差满足
Var\left(CC'_{i}\right)\le \frac{4\left[{\varepsilon }_{3}^{2}\theta \left(\theta -1\right)pq+4{\theta }^{2}\right]\left(10{d}_{i}^{2}-10{d}_{i}+3\right)}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}, 其中 p = \dfrac{{{{\mathrm{e}}^{{\varepsilon _2}}}}}{{{{\mathrm{e}}^{{\varepsilon _2}}} + 1}} ,q = 1 - p.
证明.
\begin{split} & Var\left(CC'_{i}\right)=\\ & Var\left[\frac{2T'_{i}}{d'_{i}\left(d'_{i}-1\right)}\right]=4Var\left({T}^{\prime }\right)Var\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]. \end{split} 依据定理11可知
Var\left(T'_{i}\right)\le \frac{{\varepsilon }_{3}^{2}pq\left[\theta \left(\theta -1\right)\right]+4{\theta }^{2}}{2{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}}. 同时,依据文献[12],
\begin{split} & Var\left[\frac{1}{d'_{i}\left(d'_{i}-1\right)}\right]\approx \\ & \frac{1}{{d}_{i}^{2}{\left({d}_{i}-1\right)}^{2}}+\frac{2\left(10{d}_{i}^{2}-10{d}_{i}+3\right)}{{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}-\frac{1}{{d}_{i}^{2}{\left({d}_{i}-1\right)}^{2}}=\\ & \frac{2\left(10{d}_{i}^{2}-10{d}_{i}+3\right)}{{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}. \end{split} 综上,
\begin{split} & Var\left( {C{C'_i}} \right) = 4Var\left( T' \right)Var\left[ {\frac{1}{{{d'_i}\left( {{d'_i} - 1} \right)}}} \right] \leqslant\\ & 4\frac{{\varepsilon _3^2pq\left[ {\theta \left( {\theta - 1} \right)} \right] + 4{\theta ^2}}}{{2{{\left( {2p - 1} \right)}^2}\varepsilon _3^2}}\frac{{2\left( {10d_i^2 - 10{d_i} + 3} \right)}}{{{d_i^4}{{\left( {{d_i} - 1} \right)}^4}\varepsilon _4^2}} = \end{split} \begin{split} \frac{4\left[{\varepsilon }_{3}^{2}\theta \left(\theta -1\right)pq+4{\theta }^{2}\right]\left(10{d}_{i}^{2}-10{d}_{i}+3\right)}{{\left(2p-1\right)}^{2}{\varepsilon }_{3}^{2}{d}_{i}^{4}{\left({d}_{i}-1\right)}^{4}{\varepsilon }_{4}^{2}}. \end{split} 证毕.
在算法5和算法6中,需要调用算法3和算法4. 由5.3节可知,该过程中用户所需的时间复杂度和空间复杂度分别为 O\left( {2\left( {L + \theta + 1} \right) + \dfrac{{{d_i}\left( {{d_i} - 1} \right)}}{2}} \right) 和O\left( L + 1 + \right. \left. \left( {n + 2} \right)\theta \right),数据采集者所需的时间复杂度和空间复杂度均为O( n( L + 2 + \theta ) ). 此外,每个用户需报告自身度值,时间复杂度和空间复杂度均为O\left( 1 \right). 数据采集者需根据用户的度值序列和三角计数序列依次计算每个用户的局部聚类系数,其时间复杂度和空间复杂度分别为O\left( n \right)和O\left( {2n} \right).
综上所述,在算法5和算法6中,用户所需的时间复杂度和空间复杂度分别为O\left( {2\left( {L + \theta } \right) + \dfrac{{{d_i}\left( {{d_i} - 1} \right)}}{2} + 3} \right)和O\left( {L + 2 + \left( {n + 2} \right)\theta } \right),数据采集者的时间复杂度和空间复杂度分别为O\left( {n\left( {L + 3 + \theta } \right)} \right)和O\left( {n\left( {L + 4 + \theta } \right)} \right).
7. 实验分析
为评估所提出的GS-LDP算法在采集分布式图结构数据的不同统计指标(度分布、三角计数序列及聚类系数)时的效果,本节选取多个公开真实数据集及生成数据集进行实验分析,并与其他同类图结构数据统计指标采集算法进行对比分析. 本节所有实验均在Windows 10上运行,采用Inter Core i5-6200U CPU,A4000-16G-ARM和Python3.8实现.
7.1 实验设置
本文实验数据集选取了Stanford Large Network Dataset Collection网站上3个具有代表性的真实图结构数据集,这些数据集也被广泛应用于图结构数据隐私保护研究中[12,14,16-17]. 由于公开数据集都是非分布式的图结构数据,为了有效评估不同算法在分布式图机构数据采集中的隐私保护效果,本文采用与文献[9, 12, 14, 16-17]相同的数据处理方法,对实验图结构数据集进行了分布式处理,使得每个分布式用户仅持有单个顶点的一阶邻居子图.
实验选取的图结构数据集分别为Facebook,AstroPh,Email-Enron,表2简要分析了数据集包含的节点数、边数,以及最大度和平均度等特征信息.
表 2 真实图结构数据集的主要特征Table 2. Main Characteristics of the Real Graph-Structure Datasets数据集 节点数 边数 最大度 平均度 Facebook 4039 88234 1045 43.7 AstroPh 18772 198110 504 21.1 Email-Enron 36692 367662 1383 10 为对比分析图结构数据的不同统计指标的采集结果效用,在实验中采用均方误差(mean squared error, MSE)和平均绝对误差(mean absolute error, MAE)两个指标进行量化对比. 以度分布为例,设 F = \left( {{f_1},{f_2},…,{f_l}} \right) 和 F' = \left( {{f'_1},{f'_2},…,{f'_l}} \right) 分别为原始图结构数据的度频率分布和隐私保护采集的度频率分布, MSE = \dfrac{1}{l}{\displaystyle\sum\limits_{i = 1}^l {\left( {{f_i} - {f'_i}} \right)} ^2} 和 MAE = \dfrac{1}{l}\displaystyle\sum\limits_{i = 1}^l {\left| {{f_i} - {f'_i}} \right|} . 其中,MSE和MAE值越小,则表明度分布采集结果F'的效用越优.
7.2 算法对比与分析
本文所提GS-LDP算法可满足不同隐私保护强度和数据效用需求的分布式图结构数据多统计指标采集. 在此方面,与现有的基于DP的分布式图结构数据统计指标采集算法具有明显差异. 为了更好地表现这些算法间的不同,凸显GS-LDP的优势,本节进行了理论对比与分析,如表3所示.
表 3 不同分布式图结构数据统计指标采集算法对比Table 3. Comparison of Different Statistics Collecting Algorithms of Distributed Graph Structural Data统计指标 采集不同指标时具备的
特征及时间复杂度算法 GS-LDP(本文) RJ[16] NodeProj[19] EdgeProj[19] RNL[8] Local2Round△[9] LF-GDPR[12] 度分布 是否支持采集 √ √ √ √ × × × 满足的隐私约束 Node-LDP LDP Node-LDP Node-LDP 用户时间复杂度 O\left( {2L + 1} \right) O\left( 1 \right) O\left( {3K + 1} \right) O\left( {3K + \theta } \right) 数据采集者时间复杂度 O\left( {n\left( {L + 1} \right)} \right) O\left( n \right) O\left( \begin{gathered} K\left( {n + 1} \right) + n \\ \end{gathered} \right) O\left( {\left( {K + n} \right)\left( {n + 1} \right)} \right) 三角计数序列 是否支持采集 √ × × × √ √ × 满足的隐私约束 Node-LDP
Edge-LDPEdge-LDP Edge-LDP
Node-LDP用户时间复杂度 O\left( \begin{gathered} 2\left( {L + \theta + 1} \right) + \\ \frac{{{d_i}\left( {{d_i} - 1} \right)}}{2} \\ \end{gathered} \right) O\left( n \right) O\left( \begin{gathered} 2 + \frac{n}{2} + \\ \frac{{{d_i}\left( {{d_i} - 1} \right)}}{2} \\ \end{gathered} \right) 数据采集者时间复杂度 O\left( {n\left( {L + 2 + \theta } \right)} \right) O\left( \begin{gathered} 2n+ \\ {n^2} \\ \end{gathered} \right) O\left( {\dfrac{{2n + {n^2}}}{2}} \right) 聚类系数 是否支持采集 √ × × × √ √ √ 满足的隐私约束 Node-LDP
Edge-LDPEdge-LDP Edge-LDP
Node-LDPEdge-LDP 用户时间复杂度 O\left( \begin{gathered} 2\left( {L + \theta } \right) + \\ \frac{{{d_i}\left( {{d_i} - 1} \right)}}{2} + 3 \\ \end{gathered} \right) O\left( n \right) O\left( \begin{gathered} 2 + \frac{n}{2} + \\ \frac{{{d_i}\left( {{d_i} - 1} \right)}}{2} \\ \end{gathered} \right) O\left( {n + 1} \right) 数据采集者时间复杂度 O\left( {n\left( {L + 3 + \theta } \right)} \right) O\left( \begin{gathered} 4n + \\ {n^2} \\ \end{gathered} \right) O\left( {\dfrac{{4n + {n^2}}}{2}} \right) O\left( {3n + \dfrac{{{n^2}}}{2}} \right) 注:采集满足的隐私约束,若未标记下划线,则原始文献所提的算法满足该隐私约束;若标记下划线,则原始文献所提的算法不满足该隐私约束,在本文实验中将其扩展为满足该隐私约束(具有一定实用性)以便进行实验对比. 由表3知,GS-LDP可采集满足Node-LDP的度分布,还可采集满足Node-LDP和Edge-LDP约束的三角计数序列及聚类系数. 算法RJ、NodeProj[19]和EdgeProj[19]仅能采集度分布这一单一图结构数据统计指标. 其中,RJ直接对分布式节点的度值进行本地差分加噪,其仅满足LDP,无法有效保护图结构数据节点间的结构隐私;NodeProj和EdgeProj均可采集满足Node-LDP的度分布估计,但二者需要花费更多的隐私预算以获取度阈值,进而依据度阈值对度值进行加噪扰动,因此其整体数据效用会受到影响;GS-LDP在采集度分布时满足Node-LDP,采用分组机制和一元编码机制降低差分加噪量,提高度分布的数据效用,相较于NodeProj和EdgeProj具有更优的效用优势.
算法RNL[8]和Local2Round△[9]都仅满足Edge-LDP,且能同时应用于采集三角计数序列和聚类系数,但是不能有效采集度分布. 其中,RNL通过RR机制扰动子图的邻接向量并进一步聚合得到噪声图结构数据,以此对三角技术序列和聚类系数进行估计;Local2Round△在RNL基础上引入2轮交互模型降低估计中的噪声量;GS-LDP在采集三角计数序列和聚类系数时,通过引入Prune算法和2轮交互算法减少随机化过程及报告过程中的噪声量,相较于RNL和Local2Round△具有更优的效用优势. 此外,在采集三角计数序列和聚类系数时,GS-LDP可根据不同的参数设置,进而满足Node-LDP和Edge-LDP这2种隐私约束. 考虑到Local2Round△在Node-LDP设定下仍具备一定实用性,在7.4节和7.5节的对比实验中,将Local2Round△扩展使得其满足Node-LDP,以便与GS-LDP在满足Node-LDP情况下的三角计数序列和聚类系数采集效用进行对比.
算法IF-GDPR[12]仅适用于采集聚类系数的算法,且仅满足Edge-LDP,其在算法RNL的基础上引入拉普拉斯机制和优化机制采集度值,从而结合噪声图信息提升采集聚类系数的精度. 而GS-LDP除了能采集聚类系数,还能同时采集度分布和三角计数序列,且能根据数据效用和隐私需求采用满足Edge-LDP或Node-LDP的隐私参数.
为了明确分析算法GS-LDP与其他不同算法在采集分布式图结构数据的不同统计指标时的时间复杂度差异,分为不同统计指标进行分析,如表3所示.
1)度分布. GS-LDP在采集度分布时用户和数据采集者的时间复杂度分别为O\left( {2L + 1} \right)和O\left( {n\left( {L + 1} \right)} \right),其中,L为组距,且L \ll {d_{\max}};算法RJ中用户和数据采集者的时间复杂度分别为O\left( 1 \right)和O\left( n \right);算法NodeProj中用户和数据采集者的时间复杂度分别为O\left( {3K + 1} \right)和O\left( {K\left( {n + 1} \right) + n} \right);算法EdgeProj中用户和数据采集者的时间复杂度分别为O\left( {3K + \theta } \right)和O\left( {\left( {K + n} \right)\left( {n + 1} \right)} \right),其中K \leqslant {d_{\max}},\theta \leqslant {d_{\max}},{d_{\max}} \ll n. 可见,GS-LDP的时间复杂度高于RJ,优于NodeProj和EdgeProj. 但由于RJ满足传统LDP,不能保护图结构数据的结构性隐私,而GS-LDP,NodeProj,EdgeProj都满足Node-LDP,故GS-LDP在同类度采集算法中具有效率优势.
2)三角计数序列. GS-LDP在采集三角计数序列时,用户和数据采集者的时间复杂度分别为O\Bigg( 2\left( L + \theta + \right. \Bigg. \left.\left. 1 \right) + \dfrac{{{d_i}\left( {{d_i} - 1} \right)}}{2} \right)和O\left( {n\left( {L + 2 + \theta } \right)} \right),其中,L \ll {d_{\max}}, {d_i} \leqslant {d_{\max}}, \theta \leqslant {d_{\max}},{d_{\max}} \ll n;算法RNL中用户和数据采集者的时间复杂度分别为O\left( n \right)和O\left( {2n + {n^2}} \right);算法Local2Round△中用户和采集者的时间复杂度分别O\left( {2 + \dfrac{{n + {d_i}\left( {{d_i} - 1} \right)}}{2}} \right)和 O\left( {\dfrac{{2n + {n^2}}}{2}} \right) . 可见,3种算法中用户的计算时间开销相差不大;而GS-LDP中数据采集者的计算时间开销要显著小于RNL和Local2Round△. 故而,GS-LDP在采集三角计数序列时具备显著的效率优势.
3)聚类系数. GS-LDP在采集聚类系数时,用户和数据采集者的时间复杂度分别为O\left( 2\left( L + \theta \right) + \right. \left. \dfrac{{{d_i}\left( {{d_i} - 1} \right)}}{2} + 3 \right)和O\left( {n\left( {L + 3 + \theta } \right)} \right),其中L \ll {d_{\max}}, {d_i} \leqslant {d_{\max}},\theta \leqslant {d_{\max}},{d_{\max}} \ll n;算法RNL中用户和数据采集者的时间复杂度分别为O\left( n \right)和O\left( {4n + {n^2}} \right);算法Local2Round△中用户和数据采集者的时间复杂度分别O\left( {2 + \dfrac{{n + {d_i}\left( {{d_i} - 1} \right)}}{2}} \right)和 O\left( {\dfrac{{2n + {n^2}}}{2}} \right) ;算法LF-GDPR中用户和数据采集者的时间复杂度分别O\left( {n + 1} \right)和O\left( {3n + \dfrac{{{n^2}}}{2}} \right). 可见,4种不同算法中用户的计算时间开销相差不大;而GS-LDP中数据采集者的计算时间开销要显著小于其他3种算法.
7.3 度分布采集效用对比与分析
本节对比算法GS-LDP,NodeProj,EdgeProj,RJ在采集度分布时的效用差异.
在对比实验中,对4种不同的算法均设定隐私预算\varepsilon \in \left\{ {0.5,1.0,1.5,2.0,2.5,3.0} \right\}和L = 10,对比算法在3个数据集上采集度分布时的效用. 实验结果如图3所示,其中图3(a)~(c)分别为不同算法在3个数据集上的MSE效用对比结果,图3(d)~(f)分别为不同算法在3个数据集上的MAE效用对比结果.
由图3可知,所提算法GS-LDP在采集度分布时的效用显著优于NodeProj和EdgeProj,但差于RJ. 具体而言,如图3(a)(d)所示,当数据集为Facebook时,GS-LDP相较于NodeProj和EdgeProj,MSE和MAE分别降低了63%~99%和19%~90%;相较于RJ,MSE和MAE分别提升了68%~90%和43%~73%. 类似地,如图3(b)(c)和图3(e)(f)所示,当数据集为AstroPh和Email-Enron时,GS-LDP的数据效用比NodeProj和EdgeProj具有明显优势,但略差于RJ.
所提出的基于Node-LDP的度分布采集算法的效用大幅度提升的原因是,GS-LDP采用了分组编码的方式,通过SUE机制扰动分布式用户的度向量,从而在满足Node-LDP的同时,减少所添加的噪声. 此外,RJ仅为传统的LDP算法,并不能保护图结构数据的结构隐私,隐私约束相对宽松. 因此相较于RJ,GS-LDP在采集度分布时具备略微的效用劣势,但隐私保护强度要远优于RJ.
总体而言,GS-LDP满足Node-LDP,在提高隐私保护效果的同时提升了采集度分布的效用.
7.4 三角计数序列采集效用对比与分析
本节将对比GS-LDP与RNL,Local2Round△采集三角计数序列时的效用差异.
由7.2节可知,GS-LDP和Local2Round△可满足2种隐私约束,而RNL仅能在Edge-LDP约束下具备实用性. 因此,在对比实验中,对3种算法均设定隐私预算为\varepsilon\in \left\{ {1,2,3,4,5,6} \right\}和L = 10,对比不同算法在3个数据集上采集不同隐私约束(Node-LDP和Edge-LDP)三角计数序列时的效用,实验结果如图4和图5所示. 在此,通过在算法名后加Node和Edge符号作为满足Edge-LDP和Node-LDP约束的区分. 其中图4为GS-LDP-Edge,RNL-Edge,Local2Round△-Edge的效用对比结果,图5为GS-LDP-Node和Local2Round△-Node的效用对比结果,其中,满足Edge-LDP的实验中Level = 0.98,满足Node-LDP的实验中Level = 0.8.
由图4可知,在大多数情况下,所提算法GS-LDP在Edge-LDP约束下采集分布式图结构数据三角计数序列时的效用在2个指标度量下较RNL-Edge和Local2Round△-Edge具备一定的优势. 具体而言,如图4(a)(d)所示,在数据集Facebook上,当\varepsilon \in \left\{ {1,2,3} \right\}时,GS-LDP-Edge相比其他2个算法的MSE和MAE分别降低了14%~99%和50%~99%,而当 \varepsilon \in \left\{ {4,5,6} \right\} 时,GS-LDP-Edge相较于Local2Round△-Edge的MSE有-36%~10%的波动,MAE降低了51%~62%,但相较于RNL-Edge在MSE和MAE上具备一定的劣势. 同理,如图4(b)(c)和图4(e)(f)所示,在数据集AstroPh和Email-Enron上,无论隐私预算 \varepsilon 为何值,GS-LDP-Edge相较于Local2Round△-Edge在MSE和MAE上均存在不同程度的优势. 而与RNL-Edge相比,当 \varepsilon \in \left\{ {1,2,3,4} \right\} 时GS-LDP-Edge具备明显的效用优势,但当 \varepsilon \in \left\{ {5,6} \right\} 时GS-LDP-Edge的效用较RNL-Edge存在劣势.
整体而言,在不同数据集上,GS-LDP-Edge相较于RNL-Edge的MSE和MAE随着隐私预算 \varepsilon 的取值不同而各有优势,而相较于Local2Round△-Edge具备明显优势;特别是隐私预算 \varepsilon 较小时,GS-LDP-Edge效用优势更为突出. 具体而言,在满足Edge-LDP约束及隐私预算较小时,Prune算法和2轮交互模型在一定程度上可以减少三角计数估计过程中的噪声量;但当隐私预算 \varepsilon 较大时,噪声量的减少使得Prune算法可能会删掉部分无需删除的边从而导致最终估计精度受一定影响. 但整体而言,在大多数情况下,GS-LDP-Edge仍然具备相应的效用优势.
由图5可知,所提出的基于Node-LDP的分布式图结构数据三角计数序列采集算法GS-LDP-Node的效用在2个指标度量下都优于算法Local2Round△-Node. 具体而言,如图5(a)(d)所示,在数据集Facebook上,当\varepsilon \in \left\{ {1,2,3,4,5,6} \right\}时,GS-LDP-Node相较于Local2Round△-Node的MSE和MAE分别降低了74%~96%及58%~84%. 类似地,如图5(b)(c)和图5(e)(f)所示,在数据集AstroPh和Email-Enron上,GS-LDP-Node的数据效用也明显优于Local2Round△-Node. 所提出的基于Node-LDP的三角计数序列采集算法的效用大幅度提升的原因是Prune算法可大幅度限制噪声边的数量以及解决Node-LDP随机化过程隐私预算分配过小等问题,进而提升估计精度.
7.5 聚类系数对比实验分析
本节将对比所提算法GS-LDP与算法RNL,Local2Round△,IF-GDPR在采集聚类系数时的效用差异.
由7.2节可知,GS-LDP和Local2Round△可满足2种隐私约束,而RNL和IF-GDPR仅能在Edge-LDP约束下具备实用性. 因此,在对比实验中,分别设置2组实验,测试满足Edge-LDP时算法GS-LDP与RNL,Local2Round△,IF-GDPR的效用差异以及满足Node-LDP时GS-LDP与Local2Round△的效用差异.
首先,设置隐私预算\varepsilon \in \left\{ {1,2,3,4,5,6} \right\},L = 10和Level = 0.98,将所提基于Edge-LDP的分布式图结构数据聚类系数采集算法与算法RNL-Edge,Local2Round△-Edge,IF-GDPR-Edge在表2中3个真实数据集上进行效用对比,结果如图6所示;其次,由于真实数据集上的稀疏性,GS-LDP-Node和Local2Round△-Node的效用差距也难以彰显. 因此,采取在生成数据集上测试算法GS-LDP-Node和Local2Round△-Node采集聚类系数的效用. 实验设置\varepsilon \in \left\{ {5,10,15} \right\},L = 10,Level = 0.5,生成数据集规模n \in \left\{ 1\times10^{3},2\times10^{3}, …,\right. \left. 15\times10^{3} \right\},将所提基于Node-LDP的分布式图结构数据聚类系数采集算法GS-LDP-Node与Local2Round△-Node的效用对比,结果如图7所示.
由图6可知,在不同的数据集上,GS-LDP-Edge相较于其他算法效用表现各有不同. 在数据集Facebook和Email-Enron上时,如图6(a)(c)和图6(d)(f)所示,IF-GDPR-Edge的数据效用最优,GS-LDP-Edge与Local2Round△-Edge的数据效用相近,且大多数情况下都比RNL-Edge的数据效用更优. 特别是当隐私预算\varepsilon <5时,算法GS-LDP-Edge相比于RNL-Edge的数据效用优势更加明显. 在数据集AstroPh上,如图6(b)(e)所示,无论隐私预算\varepsilon 如何取值,GS-LDP-Edge的数据效用都比RNL-Edge和Local2Round△-Edge更优,MSE和MAE分别降低了0.3%~50%和−1%~43%. 同时,与IF-GDPR-Edge的数据效用相比在隐私预算\varepsilon 取值不同时各有优势,当\varepsilon \in \left\{ {2,3,4} \right\},GS-LDP-Edge相较于IF-GDPR-Edge在MSE和MAE上降低了4%~13%和4%~8%,而当\varepsilon \in \left\{ {1,5,6} \right\}时,GS-LDP-Edge在MSE和MAE具有−2%~−11%和−4%~−10%的劣势.
整体而言,随着数据集的规模和隐私预算\varepsilon 的逐步增大,GS-LDP-Edge相较于RNL-Edge和Local2Round△-Edge的数据效用优势越大,且逐步与算法IF-GDPR-Edge的效用越接近. 具体原因与采集满足Egde-LDP约束下三角计数序列时大同小异,Prune算法和2轮交互模型在一定程度上可以减少三角计数估计过程中的噪声量,整体可提升聚类系数的估计精度. 但与IF-GDPR相比,GS-LDP-Edge无法进一步引入度值优化机制,因而最终的聚类系数估计精度较算法IF-GDPR优势各异.
由图7可知,随着生成图结构数据集的规模逐步扩大,无论隐私预算\varepsilon 取何值,GS-LDP-Node 的数据效用均优于Local2Round△-Node,MAE和MSE分别降低了6%~23%和5%~20%. 与7.4节同理,Prune算法可大幅度限制噪声边的数量以及Node-LDP随机化过程隐私预算过小等问题;且GS-LDP-Node可通过度分布算法获取阈值,在一定程度上也可降低度值报告过程中所需添加的噪声量,进而可提升估计精度.
7.6 通信代价分析
GS-LDP和Local2Round△[9]在采集三角计数序列和聚类系数时,都应用2轮交互机制在第2轮交互中需要数据采集者将噪声数据下发给各分布式用户,以便用户能对自身局部三角计数进行估计. GS-LDP引入算法Prune降低了噪声结构数据中的噪声边的数量,能够降低噪声图结构数据下发时的通信代价. 为直观表明GS-LDP的通信优势,本节将GS-LDP与Local2Round△进行通信代价实验对比分析. 同时,进一步引入文献[13]中的算法ARRTwoNS△进行通信代价实验对比,其中ARRTwoNS△是Imola等人[13]在Local2Round△基础上引入边采样方法所提出的一种低通信代价的三角计数采集算法,其通过对噪声图进行采样下载,从而减少通信代价和其他计算开销. 因此,本节分别对比上述3个算法交互过程中下载所需的通信代价,结果如图8所示.
图8中,设置了2组实验. 首先,在数据集Facebook上设置隐私预算 \varepsilon\in \left\{ {1,2,3,4,5,6,7} \right\} ,L = 10,Level = 0.98,验证算法GS-LDP,Local2Round△,ARRTwoNS△分别在满足Edge-LDP和Node-LDP时,在第2轮交互过程中噪声图结构数据下载的通信数据量,结果如图8(a)(b);其次,数据集规模为n \in \left\{ 1\times10^{3},2\times10^{3}, \right. \left. 3\times10^{3},4\times10^{3},5\times10^{3} \right\}的生成图设置隐私预算\varepsilon = 5,L = 10,Level = 0.5,验证算法GS-LDP,Local2Round△,ARRTwoNS△分别在满足Edge-LDP和Node-LDP时,在第2轮交互过程中噪声图结构数据下载的通信数据量,结果如图8(c)(d).
由图8(a)(b)可知,GS-LDP在真实数据集上,无论满足Edde-LDP还是满足Node-LDP时,其通信代价都显著低于算法Local2Round△,特别是隐私预算\varepsilon 越小,GS-LDP的优势越大;而相较于ARRTwoNS△而言,满足Node-LDP时GS-LDP仍旧具备显著的优势;但在满足Edge-LDP时,GS-LDP仅在隐私预算\varepsilon 较小时具备通信代价优势,但随着隐私预算\varepsilon 的逐步上升,GS-LDP则具备一定的劣势. 进一步地,由图8(c)(d)可知,在模拟的生成图结构数据集上,GS-LDP的通信代价依旧远小于Local2Round△,特别是数据规模越大,GS-LDP的优势越大. 但相对于ARRTwoNS△而言,实验结果与真实数据集结果一致,即满足Node-LDP时GS-LDP具备显著优势,而满足Edge-LDP时GS-LDP所需的通信代价较ARRTwoNS△存在劣势.
GS-LDP在满足Node-LDP时相较于Local2Round△和ARRTwoNS△具备显著通信代价优势的原因在于,GS-LDP分配了部分隐私预算以通过度分布过程获得更小的度值扰动阈值,并以此对各个用户的子图邻接向量进行裁剪,大幅度减少添加的噪声边,降低通信代价. 同理,在满足Edge-LDP时,GS-LDP相较于Local2Round△仍旧能够一定程度地通过裁剪算法优化随机化过程中存在的噪声边,降低下载过程中所需的通信代价. 但是,由于在Edge-LDP下,噪声边缘的增加量相较于Node-LDP会弱化许多,且噪声边缘的增加程度与隐私预算\varepsilon 成反比,因此仍需直接下载噪声图的GS-LDP相较于使用采样方法的ARRTwoNS△而言在满足Edge-LDP时,通信代价具备一定的劣势.
7.7 其他参数影响
本文所提算法GS-LDP在采集度分布、三角计数序列及聚类系数时,均需设置合理的组距L和频率上限Level,以达到更优的效用. 因此,本节分别测试L和Level对GS-LDP在Edge-LDP和Node-LDP下收集的统计指标的效用影响,主要分为2个部分. 此处,本节采用Facebook数据集和生成图结构数据集进行实验,并使用MSE作为度量指标.
1)无论是采集度分布,还是采集三角计数序列和聚类系数时,组距L均需被调用. 因此,设置L \in\left\{10,15,20,25,30\right\},分别测试其对各统计指标的影响,实验结果如图9所示. 首先,针对度分布采集,设置 \varepsilon\in\left\{0.5,1.0,1.5,2.0,2.5,3.0\right\} 进行实验,结果如图9(a)所示. 可直观看出,随着L的逐步上升,GS-LDP在收集度分布时的效用随之降低. 具体原因在于,更小的L对应于SUE扰动的阈值更小,可一定程度减少噪声输入量,进而提升采集精度. 其次,设置\varepsilon \in \left\{ {1,2,3,4,5,6} \right\}和Level = 0.98对Edge-LDP约束下采集三角计数序列和聚类系数时的效用进行测试,实验结果如图9(b)(c)所示. 与度分布同理,二者的效用也随着L的逐步下降而上升. 原因在于,随着L的下降,度分布效用逐步上升,使得度阈值更精确,从而可避免删除过多有效边. 再次,我们分别设置\varepsilon \in \left\{ {1,2,3,4,5,6} \right\}和Level = 0.8,在Facebook数据集上测试GS-LDP在Node-LDP约束下采集三角计数序列的效用,并设置\varepsilon = 5及Level = 0.5在生成图上测试Node-LDP约束下GS-LDP采集聚类系数的效用,其中生成图的大小为n \in \left\{ 6\times10^{3},8\times10^{3},\right. \left.10\times10^{3},12\times10^{3}, 15\times10^{3} \right\},实验结果分别为图9(d)(e). 如图9(d)(e)所示,GS-LDP在满足Node-LDP时采集三角计数序列和聚类系数的效用与L不具备线性关系. 同时,随着隐私预算\varepsilon 的逐步上升,无论L为何值,GS-LDP的效用均相近. 具体原因为,GS-LDP在Node-LDP下采集三角计数序列和聚类系数时,随机化过程的噪声量更大,尽管L会影响度分布的精度,但相较于Node-LDP约束下随机化过程所产生的噪声量仍较小. 最后,由于L的值还对应于算法1中用户报告的噪声度向量的长度,进而将会影响各分布式用户度向量报告过程所需的时间开销. 因此,在Facebook数据集上测试采集度分布时,L对分布式用户时间开销的影响的实验结果如图9(f)所示. 如图9(f)所示,可直观看出,GS-LDP采集度分布时,用户所需的时间开销随着L的增大而上升. 整体而言,在条件允许的情况下,L可设置相对较小,以保证低时间开销的同时提供更优的效用.
2)GS-LDP采集三角计数序列和聚类系数时,需通过频率上限Level设定合理的度阈值\theta . 因此,设置Level\in \left\{0.5,0.6,0.7,0.8,0.9,0.98\right\},分别测试Level对三角计数序列和聚类系数指标采集的影响. 其中,由于计算\theta 时使用的是度分布估计,可能造成阈值溢出问题,因此使用Level = 0.98代替Level = 1. 实验结果如图10所示. 首先,设置\varepsilon \in \left\{ {1,2,3,4,5,6} \right\}和L = 10,测试Edge-LDP约束下Level对GS-LDP采集三角计数序列和聚类系数的效用影响,如图10(a)(b)所示. 可直观发现,三角计数序列和聚类系数的效用随Level的增大而逐步上升,当Level = 0.98时,效用最优. 具体原因为:\theta 与Level成正比,随着Level的逐步上升,\theta 值越大. 因此,在满足Edge-LDP时,其能够在通过剪枝算法弱化噪声量的同时避免删除过多有效边,进而可将效用最大化. 其次,设置\varepsilon \in \left\{ {1,2,3,4,5,6} \right\}和L = 10,在Facebook数据集上测试Node-LDP约束下Level对GS-LDP采集三角计数序列的效用影响;同时,设置\varepsilon = 5和L = 10,在生成图上测试Node-LDP约束下聚类系数的采集效用,其中生成图大小n \in \left\{ 6\times10^{3},8\times10^{3}, \right. \left.10\times10^{3},12\times10^{3},15\times10^{3} \right\},实验结果分别为图10(c)(d). 如图10(c)(d)所示,在满足Node-LDP时,GS-LDP采集三角计数序列和聚类系数时的效用与Level成反比. 具体原因为:在满足Node-LDP时,随机响应机制所产生的噪声量更高. 此时,更小的\theta 可更好地限制噪声边的上限,进而可采集更高效用的指标. 因此,可得出结论,当需要在Edge-LDP约束下采集统计时,可在条件允许的情况下将Level设置大一些(但不能设为1,因为可能造成阈值溢出);而当需要在Node-LDP约束下采集统计时,则可将Level设置小一些,以保证更优的采集效用.
8. 结 论
本文提出一种基于LDP的分布式图结构数据统计指标采集算法GS-LDP,旨在满足不同隐私保护强度和数据效用需求的同时实现图结构数据多统计指标高效用采集. 首先,针对特性单一且易泄露隐私的度分布,采取分组机制和对称一元编码机制进行扰动采集,使算法满足Node-LDP的同时采集数据效用更高的度分布. 其次,针对强结构性统计指标(三角计数序列和聚类系数),提出剪枝算法解决随机过程中噪声边添加过多的问题. 进一步地,根据分布式图结构场景不同的隐私性和安全性需求,结合剪枝算法和2轮交互模型分别提出基于Node-LDP和Edge-LDP的三角计数序列和聚类系数采集算法,同时提高算法安全性和数据效用. 最后,利用真实数据集和生成数据集对不同的图结构数据统计指标采集算法进行理论和实验对比,结果表明所提算法在采集度分布、三角计数序列和聚类系数时有显著的优势,同时大幅度降低了2轮交互采集算法的通信代价.
-
表 1 HC-SBM与主流社区隐藏算法的对比
Table 1 Comparison Between HC-SBM and the Mainstream Community Hiding Algorithms
表 2 符号表示
Table 2 Symbolic Representation
符号 描述 G/G' 原网络/扰动网络 {G_i} 网络 G 的一个子图 C/C' 原网络社区划分/扰动网络社区划分 {C_i}/{C_i}' 任意一个原网络社区/任意一个扰动网络社区 {A_{\mathrm{D}}} 社区检测算法 \beta 扰动预算 E + /E - 添加链接/删除链接 {C_{\mathrm{t}}} 目标社区 {v_{\mathrm{t}}} 目标节点 {\boldsymbol{P}} 重连概率矩阵 表 3 实验数据集
Table 3 Experimental Datasets
数据集 节点数 边数 各社区检测算法下的社区数 数据集描述 Multilevel Fast_greedy Label_propagation Leiden Blogs 1222 16714 11 11 3 11 超链接博客网络 Power 4941 6594 40 41 481 490 美国电网 Hep 8361 15751 1376 1411 1 858 1375 高能理论科学家合作网络 Astro 16706 121251 1072 1168 1550 1078 天体物理学合作作者网络 表 4 HC-SBM与宏观社区隐藏基线算法性能对比
Table 4 Performance Comparison Between HC-SBM and Macro Community Hiding Baseline Algorithms
数据集 度量 指标 对比算法 Multilevel Fast_greedy Label_propagation Leiden 1% 3% 5% 1% 3% 5% 1% 3% 5% 1% 3% 5% Blogs NMI HC-SBM 0.724 0.594 0.438 0.814 0.567 0.421 0.806 0.671 0.567 0.836 0.568 0.473 Pro-SBM 0.841 0.621 0.480 0.822 0.595 0.481 0.827 0.596 0.534 0.792 0.639 0.489 RAT 0.897 0.737 0.727 0.839 0.772 0.764 0.894 0.842 0.802 0.862 0.698 0.680 ARI HC-SBM 0.841 0.734 0.456 0.897 0.716 0.571 0.882 0.768 0.681 0.901 0.556 0.488 Pro-SBM 0.912 0.765 0.615 0.907 0.743 0.632 0.895 0.704 0.642 0.892 0.785 0.662 RAT 0.950 0.861 0.859 0.922 0.880 0.873 0.946 0.909 0.887 0.932 0.838 0.824 Jaccard HC-SBM 0.841 0.734 0.491 0.893 0.720 0.594 0.889 0.793 0.726 0.895 0.558 0.508 Pro-SBM 0.907 0.760 0.620 0.903 0.741 0.642 0.900 0.744 0.699 0.889 0.780 0.662 RAT 0.946 0.854 0.852 0.917 0.875 0.868 0.948 0.913 0.893 0.927 0.831 0.824 Power NMI HC-SBM 0.841 0.804 0.769 0.883 0.800 0.754 0.893 0.884 0.873 0.887 0.824 0.786 Pro-SBM 0.886 0.814 0.771 0.883 0.838 0.798 0.896 0.887 0.876 0.894 0.845 0.816 RAT 0.852 0.819 0.801 0.890 0.839 0.811 0.901 0.889 0.889 0.900 0.866 0.857 ARI HC-SBM 0.646 0.615 0.575 0.748 0.594 0.536 0.493 0.471 0.435 0.781 0.659 0.596 Pro-SBM 0.731 0.638 0.579 0.762 0.705 0.638 0.523 0.491 0.469 0.770 0.691 0.647 RAT 0.693 0.632 0.592 0.770 0.700 0.649 0.540 0.506 0.503 0.801 0.732 0.713 Jaccard HC-SBM 0.488 0.456 0.415 0.608 0.436 0.380 0.329 0.309 0.280 0.649 0.502 0.435 Pro-SBM 0.586 0.480 0.419 0.625 0.556 0.480 0.356 0.326 0.308 0.635 0.538 0.489 RAT 0.541 0.473 0.432 0.636 0.550 0.493 0.371 0.340 0.337 0.676 0.587 0.563 Hep NMI HC-SBM 0.854 0.819 0.794 0.923 0.839 0.801 0.920 0.933 0.892 0.878 0.824 0.802 Pro-SBM 0.875 0.861 0.814 0.929 0.846 0.815 0.947 0.942 0.929 0.891 0.861 0.837 RAT 0.896 0.868 0.842 0.944 0.863 0.838 0.945 0.942 0.938 0.888 0.877 0.857 ARI HC-SBM 0.514 0.493 0.422 0.820 0.617 0.582 0.621 0.601 0.569 0.561 0.535 0.501 Pro-SBM 0.520 0.562 0.439 0.824 0.618 0.580 0.644 0.676 0.422 0.596 0.552 0.537 RAT 0.598 0.567 0.472 0.848 0.627 0.559 0.616 0.597 0.633 0.564 0.601 0.512 Jaccard HC-SBM 0.351 0.346 0.277 0.710 0.591 0.403 0.469 0.428 0.377 0.429 0.380 0.339 Pro-SBM 0.358 0.397 0.289 0.719 0.562 0.424 0.476 0.512 0.269 0.432 0.388 0.374 RAT 0.433 0.402 0.316 0.744 0.617 0.427 0.497 0.437 0.466 0.499 0.436 0.351 Astro NMI HC-SBM 0.671 0.643 0.587 0.631 0.520 0.479 0.874 0.780 0.654 0.710 0.676 0.615 Pro-SBM 0.710 0.652 0.603 0.626 0.561 0.503 0.890 0.811 0.688 0.725 0.688 0.668 RAT 0.688 0.647 0.657 0.726 0.606 0.600 0.910 0.851 0.847 0.742 0.692 0.696 ARI HC-SBM 0.362 0.340 0.319 0.353 0.306 0.261 0.800 0.669 0.489 0.411 0.429 0.403 Pro-SBM 0.396 0.373 0.321 0.344 0.318 0.273 0.801 0.683 0.503 0.420 0.445 0.430 RAT 0.348 0.363 0.372 0.577 0.364 0.334 0.848 0.735 0.738 0.472 0.451 0.444 Jaccard HC-SBM 0.255 0.239 0.202 0.303 0.250 0.208 0.731 0.643 0.493 0.315 0.270 0.265 Pro-SBM 0.262 0.244 0.206 0.270 0.254 0.211 0.749 0.644 0.512 0.381 0.302 0.290 RAT 0.277 0.247 0.246 0.460 0.284 0.263 0.802 0.689 0.690 0.394 0.374 0.300 注:1%,3%,5%为扰动预算占网络总链接数的百分比;加粗部分为最小值,值越小宏观社区隐藏效果越好. 表 5 HC-SBM与介观社区隐藏基线算法性能对比
Table 5 Performance Comparison Between HC-SBM and Mesoscopic Community Hiding Baseline Algorithms
数据集 对比算法 Multilevel Fast_greedy Label_propagation Leiden H μ H μ H μ H μ Blogs HC-SBM 0.515 0.491 0.381 0.497 0.500 0.497 0.305 0.487 DICE 0.395 0.489 0.334 0.495 0.350 0.492 0.272 0.486 SBA 0.345 0.449 0.336 0.167 0.449 0.495 0.281 0.484 Power HC-SBM 0.485 0.776 0.445 0.581 0.332 0.640 0.454 0.563 DICE 0.264 0.183 0.354 0.180 0.402 0.460 0.430 0.553 SBA 0.480 0.684 0.425 0.569 0.318 0.770 0.439 0.562 Hep HC-SBM 0.357 0.426 0.385 0.149 0.443 0.140 0.421 0.536 DICE 0.326 0.235 0.350 0.087 0.189 0.056 0.340 0.465 SBA 0.102 0.143 0.362 0.053 0.312 0.076 0.400 0.378 Astro HC-SBM 0.402 0.431 0.440 0.647 0.491 0.341 0.413 0.754 DICE 0.340 0.401 0.455 0.524 0.375 0.253 0.327 0.731 SBA 0.272 0.327 0.330 0.221 0.372 0.258 0.240 0.154 注:加粗部分为最大值,值越大介观社区隐藏效果越好. 表 6 HC-SBM与微观社区隐藏基线算法性能对比
Table 6 Performance Comparison Between HC-SBM and Micro-Community Hiding Baseline Algorithms
数据集 对比算法 Multilevel Fast_greedy Label_propagation Leiden Blogs HC-SBM 1 3 2 1 Dr 3 6 6 1 Power HC-SBM 2 1 1 2 Dr 3 2 3 2 Hep HC-SBM 1 2 2 1 Dr 3 3 3 2 Astro HC-SBM 3 4 3 3 Dr 4 5 4 3 注:加粗部分为最小值,值越小微观社区隐藏效果越好. -
[1] Albert R, Barabási A L. Statistical mechanics of complex networks[J]. Reviews of Modern Physics, 2002, 74(1): 47−97 doi: 10.1103/RevModPhys.74.47
[2] Newman M E. The structure and function of complex networks[J]. SIAM Review, 2003, 45(2): 167−256 doi: 10.1137/S003614450342480
[3] Zhou Yang, Cheng Hong, Yu Xu. Graph clustering based on structural/attribute similarities[J]. ACM Transactions on Accessible Computing, 2009, 2(1): 718−729
[4] Oukemeni S, Rifà-Pous H, Puig J M. Privacy analysis on microblogging online social networks: A survey[J]. ACM Computing Surveys, 2019, 52(3): 1−36
[5] Nagaraja S. The impact of unlinkability on adversarial community detection: Effects and countermeasures[C]// Proc of the 10th Int Symp on Privacy Enhancing Technologies. Berlin: Springer, 2010: 253−272
[6] Waniek M, Michalak T P, Rahwan T, et al. Hiding individuals and communities in a social network[J]. Nature Human Behaviour, 2018, 2(2): 139−147 doi: 10.1038/s41562-017-0290-3
[7] Fionda V, Pirrò G. Community deception or: How to stop fearing community detection algorithms[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(4): 660−673 doi: 10.1109/TKDE.2017.2776133
[8] Chen Jinyin, Chen Lihong, Chen Yixian, et al. GA-based Q-attack on community detection[J]. IEEE Transactions on Computational Social Systems, 2019, 6(3): 491−503 doi: 10.1109/TCSS.2019.2912801
[9] Liu Dong, Chang Zhengchao, Yang Guoliang, et al. Hiding ourselves from community detection through genetic algorithms[J]. Information Sciences, 2022, 614: 123−137 doi: 10.1016/j.ins.2022.10.027
[10] Holland P W, Laskey K B, Leinhardt S. Stochastic block models: First steps[J]. Social Networks, 1983, 5(2): 109−137 doi: 10.1016/0378-8733(83)90021-7
[11] 陶海成,卜湛,曹杰. 基于多目标强化学习的社区隐藏框架[J]. 中国科学:信息科学,2021,51(7):1131−1145 doi: 10.1360/SSI-2020-0229 Tao Haicheng, Bu Zhan, Cao Jie. Community hidden framework based on multi-objective reinforcement learning[J]. SCIENTIA SINICA Informationis, 2021, 51(7): 1131−1145 (in Chinese) doi: 10.1360/SSI-2020-0229
[12] Newman M E. Modularity and community structure in networks[J]. Proceedings of the National Academy of Sciences, 2006, 103(23): 8577−8582 doi: 10.1073/pnas.0601602103
[13] Girvan M, Newman M E. Community structure in social and biological networks[J]. Proceedings of the National Academy of Sciences, 2002, 99(12): 7821−7826 doi: 10.1073/pnas.122653799
[14] Yang Liang, Cao Xiaochun, He Dongxiao, et al. Modularity based community detection with deep learning[C]//Proc of the 25th Int Joint Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2016: 2252−2258
[15] Bisma S K, Muaz A N. Network community detection: A review and visual survey[J]. arXiv preprint, arXiv: 1708.00977, 2017
[16] Barnes E R. An algorithm for partitioning the nodes of a graph[J]. SIAM Journal on Algebraic Discrete Methods, 1982, 3(4): 541−550 doi: 10.1137/0603056
[17] Yang Gui, Zheng Wenping, Che Chenhao, et al. Graph-based label propagation algorithm for community detection[J]. International Journal of Machine Learning and Cybernetics, 2020, 11(6): 1319−1329 doi: 10.1007/s13042-019-01042-0
[18] Fan Lilin, Song Kaiyuan, Liu Dong. A noise reduction method for semi-supervised community detection based on harmonic function[J/OL]. International Journal of Modern Physics B, 2018, 32(14) [2023-09-11].https://www.x-mol.com/paper/1308287826419486720?adv
[19] Palla G, Derenyi I, Farkas I, et al. Uncovering the overlapping community structures of complex networks in nature and society[J]. Nature, 2005, 435(7043): 814−818 doi: 10.1038/nature03607
[20] Jaswant M, Devi V S. Overlapping community detection in social network using disjoint community detection[C]//Proc of the 8th Symp Series on Computational Intelligence. Piscataway, NJ: IEEE, 2015: 764−771
[21] Li Jia, Zhang Honglei, Han Zhichao, et al. Adversarial attack on community detection by hiding individuals[C] //Proc of the 29th Int World Wide Web Conf. New York: ACM, 2020: 917−927
[22] Chen Xianyu, Jiang Zhongyuan, Li Hui, et al. Community hiding by link perturbation in social networks[J]. IEEE Transactions on Computational Social Systems, 2021, 8(3): 704−715 doi: 10.1109/TCSS.2021.3054115
[23] Liu Yiwei, Liu Jiamou, Zhang Zijian, et al. Rem: From structural entropy to community structure deception[C] // Proc of the 33rd Conf on Neural Information Processing System. Cambridge, MA: MIT, 2019: 12938−12948
[24] Liu Dong, Yang Guoliang, Wang Yanwei, et al. How to protect ourselves from overlapping community detection in social networks[J]. IEEE Transactions on Big Data, 2022, 8(4): 894−904 doi: 10.1109/TBDATA.2022.3152431
[25] Yang Guoliang, Wang Yanwei, Chang Zhengchao, et al. Overlapping community hiding method based on multi-level neighborhood information[J]. Symmetry, 2022, 14(11): 23−28
[26] 刘学艳. 面向复杂网络分析的随机块模型研究[D]. 长春:吉林大学,2021 Liu Xueyan. Research on stochastic block models for complex network analysis [D]. Changchun: Jilin University, 2021(in Chinese)
[27] Lada A, Natalie S. The political blogosphere and the 2004 U. S. election: Divided they blog[C]//Proc of the 11th ACM SIGKDD Conf on Knowledge Discovery and Data Mining. New York: ACM, 2005: 36−43
[28] Haiko L W, Duncan J. Collective dynamics of small world networks[J]. Nature, 1998, 393(6684): 440−442 doi: 10.1038/30918
[29] Newman M E. The structure of scientific collaboration networks[J]. Proceedings of the National Academy of Sciences, 2001, 98(2): 404−409 doi: 10.1073/pnas.98.2.404
[30] Razieh H, Alireza R. AntLP: Ant-based label propagation algorithm for community detection in social networks[J]. CAAI Transactions on Intelligence Technology, 2020, 5(1): 34−41 doi: 10.1049/trit.2019.0040
[31] Traag A V, Waltman L, Eck V J. From Louvain to Leiden: Guaranteeing well-connected communities[J]. arXiv preprint, arXiv: 1810.08473, 2019
[32] Vincenet D B, Jean-Loup G, Renaud L, et al. Fast unfolding of communities in large networks[J/OL], Journal of Statistical Mechanics: Theory and Experiment, 2008, 2008(10)[2023-09-11].https://www.x-mol.com/paper/1415733752522543104?adv
[33] Liu Xuecheng, Fu Luoyi, Wang Xinbing, et al. ProHiCo: A probabilistic framework to hide communities in large networks[C] //Proc of the 40th IEEE Conf on Computer Communications. Piscataway, NJ: IEEE, 2021: 1−10
[34] Danon L, Diaz-Guilera A, Duch J, et al. Comparing community structure identification[J]. Journal of Statistical Mechanics: Theory and Experiment, 2005, 2005(9): 219−228
-
期刊类型引用(2)
1. 张朋飞,程俊,张治坤,方贤进,孙笠,王杰,姜茸. 满足本地差分隐私的混合噪音感知的模糊C均值聚类算法. 电子与信息学报. 2025(03): 739-757 . 百度学术
2. 朱友文,唐聪,吴启晖,张焱. 个性化本地差分隐私机制的研究现状与展望. 南京航空航天大学学报. 2024(05): 784-800 . 百度学术
其他类型引用(2)