CN110471957B - 基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法 - Google Patents
基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法 Download PDFInfo
- Publication number
- CN110471957B CN110471957B CN201910760220.7A CN201910760220A CN110471957B CN 110471957 B CN110471957 B CN 110471957B CN 201910760220 A CN201910760220 A CN 201910760220A CN 110471957 B CN110471957 B CN 110471957B
- Authority
- CN
- China
- Prior art keywords
- privacy
- node
- item
- count
- frequent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000005065 mining Methods 0.000 title claims abstract description 40
- 238000013138 pruning Methods 0.000 claims abstract description 16
- 238000007418 data mining Methods 0.000 claims abstract description 7
- 230000009191 jumping Effects 0.000 claims description 20
- 239000000126 substance Substances 0.000 claims description 13
- 238000003672 processing method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000004220 aggregation Methods 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000011541 reaction mixture Substances 0.000 claims description 6
- 230000004807 localization Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 241000287196 Asthenes Species 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005429 filling process Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于频繁模式树的本地化差分隐私保护的频繁项集挖掘方法,是应用于一个不可信第三方数据聚合者A和n位用户构成场景中,其步骤包括:S1、初始化阶段;S2、数据剪枝阶段;S3、建树阶段;S4、数据挖掘阶段。本发明能在第三方数据聚合者A不持有任何用户隐私记录信息情况下,估计满足给定支持度阈值的所有频繁项集以及相应的支持度,从而保证第三方能够根据所得结果挖掘出有用的关联规则,为可能的决策提供支持。
Description
技术领域
本发明涉及数据挖掘与信息安全技术领域,尤其涉及基于频繁模式树的本地化差分隐私保护的频繁项集挖掘方法。
背景技术
频繁项集挖掘(Frequent Itemset Mining)通常作为关联规则挖掘(AssociationRule Mining)最重要的步骤,是数据挖掘的研究中一个很重要的课题,它的目的在于挖掘数据集中经常一起出现的变量,进而为可能的决策提供支持。因此,FIM有着很广泛的应用,例如交易数据分析,网站入侵监测等。在当前社会的竞争环境中,为了在业务协作期间实现互惠互利,数据在不同的组织之间共享的同时,人们越来越看重对个人隐私信息的保护。为了确保数据安全及用户隐私,隐私保护数据挖掘成为了日益重要的问题[A Survey onPrivacy Preserving Association Rule Mining,2018]。
随着对隐私问题的关注,文献[Discovering frequent patterns in sensitivedata,2010]首次基于中心化差分隐私保护模型,通过引入噪声实现对长度至多为m的top-k频繁模式支持度计数的保护。近几年,文献[Top-k Frequent Itemsets viaDifferentially Private FP-trees,2014]和文献[Frequent Itemsets Mining WithDifferential Privacy Over Large-Scale Data,2018]等研究了基于中心化差分隐私保护模型下的FP-Growth方法,但都是在假定第三方可信场景下,用户将敏感信息提供给第三方后,信任其会将个人敏感信息加噪,然后将噪声结果发布。然而,在实际应用中想要找到一个真正可信的第三方十分困难,这极大的限制了该技术的应用。
文献[Heavy Hitter Estimation over Set-Valued Data with LocalDifferential Privacy,2016]首次考虑本地化差分隐私保护模型下的用户隐私信息为多个值的情况,但是所提LDPMiner方法只考虑top-k频繁项目的确定,并且把FIM作为一个公开的问题。文献[Locally Differentially Private Frequent Itemset Mining,2018]基于LDPMiner方法提出改进的SVIM方法得到top-k频繁项目S,并构造出候选频繁项集IS,然后再次利用SVIM方法估计出候选集IS中的top-k频繁项,得到top-k的频繁项集。然而,方法却忽视了k值过大时,在S的子集中构造候选集IS所需代价O(2k)太大的问题,从而导致方法的实用性降低。
发明内容
为了解决上述提出隐私保护的频繁项集挖掘所存在的不足之处,本发明提供一种基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法,以期能在第三方数据聚合者不持有任何用户隐私记录信息情况下,估计满足给定支持度阈值的所有频繁项集以及相应的支持度,从而保证第三方能够根据所得结果挖掘出有用的关联规则,为可能的决策提供支持。
本发明为解决技术问题所采用的技术方案是:
本发明一种基于频繁模式树的本地化差分隐私保护的频繁项集挖掘方法的特点是应用于由一个不可信的第三方数据聚合者A和n位用户U及隐私记录V所构成场景中,其中,第i位用户ui的隐私记录为vi,且I表示已知隐私项目集合,记为I={x1,x2,...,xd,...,xD},xd表示第d个隐私项目,1≤i≤n,1≤d≤D,D为隐私数据总数;所述频繁项集挖掘方法包括以下步骤:
S1、初始化阶段:
S1.1、全局定义初始化:
定义⊥为无效值,σ为最小支持度阈值;
定义ε为隐私预算,并将隐私预算ε分为两部分ε1、ε2,且ε1+ε2=ε;
定义所述频繁模式树为FP,树的根节点为root;
定义频繁模式树FP中节点m的计算信息包括:节点m的项目m.item、节点m的计数m.count、节点m的所有孩子Child(m)和节点m的前缀m.pre;且前缀m.pre为根节点root至节点m的有序路径中节点项目序列;
定义频繁模式树FP的节点m是有效节点,当且仅当其满足m为叶子节点时,m.item≠⊥,m.count>0;
定义频繁模式树FP的层次是由根节点作为第0层level0并依次递增;其中,记levelj表示第j层;
S2、数据剪枝阶段:
式(1)中,sorted(a,key=b)表示以b中的元素顺序将a中元素进行排序的函数;
S3、以迭代的方式,建立一颗频繁模式树FP;
S3.1、初始化参数:
S3.1.1、初始化最大迭代次数Max_Iter=|C1|;
S3.1.2、初始化频繁模式树FP=root,并初始化根节点的计数值root.count=n;
S3.1.3、定义空链表为M,并将根节点root添加到链表M中;
S3.1.4、定义循环参数为j,并初始化j=1;
S3.2、并判断j<Max_Iter是否成立,若成立,则执行步骤S3.3;否则,跳入步骤S4;
S3.2.4、令j+1赋值给j后,跳入步骤S3.2;
S3.3、遍历链表M中的所有节点,生成频繁模式树FP的第j层节点:
S3.3.1、定义并初始化中间链表Midd为空;
S3.3.3、初始化ω=1;
S3.3.4、定义临时变量pos,并初始化为pos=0;
S3.3.5、判断第ω个节点mω是否为根节点,若是,则跳入步骤S3.3.9;否则,跳入步骤S3.3.6;
S3.3.6、判断第ω个节点mω是否为有效节点,若是,则跳入步骤S3.3.7;否则,跳入步骤S3.3.10;
S3.3.7、判断第ω个节点mω的计数值mω.count≥σ-Error是否成立,若成立,则跳入步骤S3.3.8;否则,跳入步骤S3.3.10;其中,Error表示估计误差,且Error>0;
S3.3.8、计算第ω个节点mω的项目mω.item在候选1-项集C1={c1,c2,...,cλ,⊥}中的位置,并赋值给pos;
S3.3.9、将集合{cpos+1,...,cλ,⊥}中元素依次添加为第ω个节点mω的孩子,并将Child(mω)加入中间链表Midd;
S3.3.10、令ω+1赋值给ω后,判断ω≤Lj-1是否成立,若成立,则跳入步骤S3.3.4;否则跳入步骤S3.3.11;
S3.3.11、将中间链表Midd赋值给链表M后,得到更新后的链表M′并跳入步骤S3.2.1;
S3.4、遍历所述链表M′中的所有节点,生成频繁模式树FP的第j层的候选j-项集Cj:
S3.4.1、初始化候选j-项集Cj为空集;
S3.4.2、初始化ω=1;
S3.4.3、令m′ω∪Cj赋值给Cj;
S3.4.4、令ω+1赋值给ω后,判断ω≤Lj是否成立,若成立,则跳入步骤S3.4.3;否则,跳入步骤S3.2.3;
S3.5、更新频繁模式树FP的第j层节点计数:
S3.5.3、初始化ω=1;
S3.5.6、将“0”赋值给m′ω.count;
S3.5.7、令ω+1赋值给ω后,判断ω≤Lj是否成立,若成立,则跳入步骤S3.5.4;否则,跳入步骤S3.2.4;
S4、数据挖掘阶段:
式(2)中,E[·]表示均值;h∈Child(m)节点h为节点m的孩子节点;
S4.2、基于所述频繁模式树FP,使用FP-Growth的挖掘方法,获取节点对应的条件模式基,从而挖掘出所有频繁项集的集合,即为所求频繁项集的估计结果。
本发明所述的频繁项集挖掘方法的特点也在于,所述步骤S1.2的ε1-本地化差分隐私多值处理方法包括以下步骤:
Step1、聚合项目长度:第i位用户ui将隐私记录vi中项目长度|vi|扰动为|vi|′后提交给所述数据聚合者A;所述数据聚合者A聚合所有用户提交的扰动后的项目长度,并得到估计结果其中,为zk的无偏估计值,zk为项目长度为k的用户总个数,1≤k≤D;
Step2、计算因子R:所述数据聚合者A计算满足式(3)的最小正整数,记为因子R:
式(3)中,R∈[1,D],α∈[0,1]为效用参数;
Step3、聚合隐私项目:第i位用户ui利用式(4)对隐私记录vi进行填充或截取处理,得到处理后的隐私记录ps(vi):
式(4)中,Pad(vi,ele=⊥)表示以无效值⊥填充隐私记录vi,Sample(vi,num=R)表示均匀随机选择隐私记录vi中R个元素,ele、num为可变参数;
从处理后的隐私记录ps(vi)中均匀随机选择一个隐私项目,并应用本地化差分隐私的单值数据扰动方法进行处理,将扰动后的隐私项目提交给所述第三方数据聚合者A;
所述步骤S3.5.2的ε′-本地化差分隐私单值处理方法是按如下过程进行:
Step2、初始化i=1;
Step3、定义临时变量为v;
Step5、第i位用户ui利用式(6)将临时变量v扰动为噪声数据v′,并提交给所述数据聚合者A:
Step6、令i+1赋值给i后,判断i≤n是否成立,若成立,则跳入步骤Step3;否则,跳入步骤Step7;
与现有技术相比,本发明的优势体现在:
1、本发明基于本地化差分隐私保护模型,首次构建有效的频繁模式树,然后利用FP-Growth的挖掘方法,得到最终的频繁项集及其支持度的估计结果,克服了现有隐私保护的频繁项集挖掘技术中,第三方数据聚合者是可信的前提假设,将敏感信息的处理过程转移至用户端独立完成,具有强隐私保护性;
2、本发明在建立频繁模式树时,利用其对数据集压缩存储的特性,将用户不定长的隐私记录转化为单个数据进行处理,而且转化过程不泄露任何隐私,不仅减少了通信开销及计算开销,而且还提供了对用户隐私信息长度的保护;
3、本发明在建立频繁模式树的迭代过程中,通过采用本地化差分隐私单值处理方法,并且将聚合过程进一步细化,不仅使得所建频繁模式树的结构不会依赖于任何特定的隐私记录实例,而且还保证了第三方基于该模式树的挖掘能得到有效且准确的估计结果。
附图说明
图1为本发明总体流程图;
图2为本发明实例用户隐私交易记录图;
图3为本发明实例频繁模式树结构图。
具体实施方式
如图1所示,本实施例中,一种基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法是应用于由一个不可信的第三方数据聚合者A和n位用户U及隐私记录V所构成场景中,其中,第i位用户ui的隐私记录为vi,且I表示已知隐私项目集合,记为I={x1,x2,...,xd,...,xD},xd表示第d个隐私项目,1≤i≤n,1≤d≤D,D为隐私数据总数;该频繁项集挖掘方法包括以下步骤:
S1、初始化阶段:
假设频繁项集挖掘方法应用于某商场挖掘用户频繁购买的商品集合,而用户的交易记录为隐私且对商场未知;给定支持度计数阈值为σ,对n位用户隐私的交易记录频繁项集挖掘,将得到记录中出现次数大于等于σ的所有的商品集合;如图2所示为n=5位用户的隐私交易记录,{a,b,c,f,g,h,l,n,o,p}表示隐私商品集合:
S1.1、全局定义及初始化:
定义⊥为无效值,σ为最小支持度阈值;
定义ε为隐私预算,并将隐私预算ε分为两部分ε1、ε2且ε1+ε2=ε;
定义频繁模式树为FP,树的根节点为root;
定义频繁模式树FP中节点m的计算信息包括:节点m的项目m.item、节点m的计数m.count、节点m的所有孩子Child(m)和节点m的前缀m.pre;且前缀m.pre为根节点root至节点m的有序路径中节点项目序列;
定义频繁模式树FP的节点m是有效节点,当且仅当其满足m为叶子节点时,m.item≠⊥,m.count>0;
定义频繁模式树FP的层次是由根节点作为第0层level0并依次递增;其中,记levelj表示第j层;
S1.2、第i位用户ui将隐私记录vi中项目长度|vi|并扰动为|vi|′后提交给数据聚合者A;数据聚合者A聚合所有用户提交的扰动后的项目长度,并得到估计结果其中,为zk的无偏估计值,zk为项目长度为k的用户总个数,1≤k≤D;
S1.3、数据聚合者A计算满足式(1)的最小正整数,记为因子R:
式(1)中,R∈[1,D],α∈[0,1]为效用参数;
式(1)的含义为有α·n数量的用户,他们的记录长度是小于因子R的;故而效用参数α的选取需要权衡利弊,使用户数量α·n的取值恰当,从而保证后续步骤的估计精确度;本实施例中,令效用参数为α=0.85。
S2、数据剪枝阶段:
S2.1.1、第i位用户ui利用式(2)对隐私记录vi进行填充或截取处理,得到处理后的隐私记录ps(vi):
式(2)中,Pad(vi,ele=⊥)表示以无效值⊥填充隐私记录vi,Sample(vi,num=R)表示均匀随机选择隐私记录vi中R个元素,ele、num为可变参数;
下面具体说明填充或截取处理过程:
1)填充过程:若|vi|<R,则以给定无效值⊥作为隐私项目,固定填充隐私记录vi,使填充后的隐私记录长度为R;
2)截取过程:若|vi|≥R,则以均匀随机的方法,选择隐私记录vi中的R个隐私项目,使截取后的隐私记录长度为R;
用户隐私记录的长度是不固定而且随机的,通过填充或截取的预处理,可以使所有用户隐私记录长度固定为因子R,不仅有助于聚合隐私项目的单值计数估计,而且不会泄露用户记录长度的隐私;整个处理过程在用户端完成,且所需因子R的信息由步骤S1提供,不泄露隐私。
从处理后的隐私记录ps(vi)中均匀随机选择一个隐私项目,并应用本地化差分隐私的单值数据扰动方法进行处理,将扰动后的隐私项目提交给第三方数据聚合者A;
隐私项目的无偏估计与因子R呈显著的正相关,这是因为,在步骤S2.1.1在填充或截取隐私记录时,若因子R越大,则需要填充无效值的数量越多,而过多的无效值会降低估计的误差;若因子R越小,则用户所截取的隐私项目越多,从而导致估计结果不准确。
S2.2、对估计集合按照估计值进行递减排序,得到有序的隐私项目序列记为其中,若则cλ≠cλ+1且cλ、cλ+1∈I={x1,x2,...,xD},1≤λ≤D;然后找到项目序列满足且Error′表示本地化差分隐私方法的估计误差上界;记C1={c1,c2,...,cλ,⊥}表示候选1-项集;
将隐私项目以估计的计数值递减排序,可以缩小频繁模式树的存储空间并且降低计算开销;候选1-项集C1由数据聚合者A根据本地化差分隐私方法收集,并且向所有用户公开,不会泄露用户隐私;
根据用户的隐私需求,步骤S1与步骤S2均以满足-本地化差分隐私的方法收集用户信息,从而得到有序的候选1-项集C1,由差分隐私的组合定理可知,整个过程是满足ε1-本地化差分隐私的;在聚合隐私项目的单值计数估计过程中,估计方法存在固有的误差上界根据该误差,合理降低候选1-项集中隐私项目的筛选标准,有助于提高最终估计结果的准确度。
式(3)中,sorted(a,key=b)表示以b中的元素顺序将a中元素进行排序的函数;
下面具体说明数据剪枝步骤:
1)将隐私记录vi填充一位无效值后,只保留vi∩C1中的隐私项目,从而删除vi中非频繁的项目;这样做可以将已知隐私项目集合I缩小为候选1-项集C1,因为非频繁项的超集必然为非频繁,故可以删除且不影响估计结果的可用性;
2)依候选1-项集C1={c1,c2,...,cλ,⊥}中的项目顺序,用户将删除非频繁项目后的隐私记录重新排序;
数据剪枝过程由用户在本地独立完成,且只需要候选1-项集C1的信息,C1由数据聚合者A使用本地化差分隐私方法收集并公开,故不会泄露用户隐私;
本发明所述频繁项集挖掘方法中,步骤S1和步骤S2目的在于收集候选1-项集C1,然后用户根据全局信息C1进行隐私记录的剪枝;根据全局信息C1的不同,可以在后续建树及挖掘阶段得到不同的估计结果,从而有不同的应用场景,下面给出应用场景及信息C1收集方法的具体说明:
场景一、获得全部频繁项集的估计:
1)若已知隐私项目集合I较大,如本发明所述,使用本地化差分隐私多值处理方法收集隐私信息,并根据支持度信息,删除非频繁项,进而得到候选1-项集C1;
2)若已知隐私项目集合I较小,此时若不考虑存储代价,便无需删除集合I中的非频繁项目,即可省略步骤S1.2,而在步骤S1.3初始化因子R=1,从而在步骤S2仅收集隐私项目技术的相对顺序,得到全局信息C1={c1,c2,...,cD,⊥};
场景二、获得长度至多为t的top-k频繁项集估计,t,k为给定的整数:
所述方法,省略步骤S1.2,而在步骤S1.3初始化因子R=1,然后在步骤S2收集隐私项目计数的相对顺序时,选择前t个项目得到全局信息C1={c1,c2,...,ct,⊥},并且在建树及挖掘估计结果选择估计支持度最大的前k个项集。
S3、以迭代的方式,建立一颗频繁模式树FP,如图3所示为本实施例中根据图2在最小支持度计数σ=3时建立的频繁模式树结构:
S3.1、初始化参数:
S3.1.1、初始化最大迭代次数Max_Iter=|C1|;
S3.1.2、初始化频繁模式树FP=root,并初始化根节点的计数值root.count=n;
S3.1.3、定义空链表为M,并将根节点root添加到链表M中;
S3.1.4、定义循环参数为j,并初始化j=1;
S3.2、并判断j<Max_Iter是否成立,若成立,则执行步骤S3.3;否则,跳入步骤S4;
链表M′为空表示频繁模式树FP的第j层不存在,标志着建树完成,迭代完成;而若链表M′不为空,执行步骤4从而生成候选j-项集Cj。
目的在于以本地化差分隐私方法收集用户信息,并且聚合得到候选j-项集Cj中各元素的计数估计,然后根据估计信息,更新频繁模式树FP的第j层节点的计数值。
S3.2.4、令j+1赋值给j后,跳入步骤S3.2;
S3.3、遍历链表M中的所有节点,生成频繁模式树FP的第j层节点:
S3.3.1、定义并初始化中间链表Midd为空;
S3.3.3、初始化ω=1;
S3.3.4、定义临时变量pos,并初始化为pos=0;
S3.3.5、判断第ω个节点mω是否为根节点,若是,则跳入步骤S3.3.9;否则,跳入步骤S3.3.6;
当j=1时,节点mω为根节点,直接跳入步骤S3.3.9,此时候选1-项集C1={c1,c2,...,cλ,⊥}中的所有元素都会被添加为根节点root的孩子,得到第j=1层的节点,即Child(root)={c1,c2,...,cλ,⊥}。
S3.3.6、判断第ω个节点mω是否为有效节点,若是,则跳入步骤S3.3.7;否则,跳入步骤S3.3.10;
S3.3.7、判断第ω个节点mω的计数值mω.count≥σ-Error是否成立,若成立,则跳入步骤S3.3.8;否则,跳入步骤S3.3.10;其中,Error表示估计误差,且Error>0;
由于用户隐私需求,根据本地化差分隐私方法固有的估计误差Error,适当降低支持度阈值,放松频繁与非频繁的判定标准,以期估计所有潜在集合,从而提供更加准确的估计结果;注意j=1时,由于根节点不参与本地化差分隐私聚合,此时Error=0。
S3.3.8、计算第ω个节点mω的项目mω.item在候选1-项集C1={c1,c2,...,cλ,⊥}中的位置,并赋值给pos;
S3.3.9、将集合{cpos+1,...,cλ,⊥}中元素依次添加为第ω个节点mω的孩子,并将Child(mω)加入中间链表Midd;
本发明频繁项集挖掘方法,孩子节点的生成过程需要链表M和候选1-项集C1信息,其中候选1-项集C1为本地化差分隐私方法得到的全局信息,链表M为上一次迭代的输出,且迭代过程满足ε′-本地化差分隐私,这保证了频繁模式树的结构不依赖于任何特定的隐私记录实例,故不泄露用户隐私。
S3.3.10、令ω+1赋值给ω后,判断ω≤Lj-1是否成立,若成立,则跳入步骤S3.3.4;否则跳入步骤S3.3.11;
S3.3.11、将中间链表Midd赋值给链表M后,得到更新后的链表M′并跳入步骤S3.2.1;
S3.4、遍历所述链表M′中的所有节点,生成频繁模式树FP的第j层的候选j-项集Cj:
S3.4.1、初始化候选j-项集Cj为空集;
S3.4.2、初始化ω=1;
S3.4.3、令m′ω∪Cj赋值给Cj;
S3.4.4、令ω+1赋值给ω后,判断ω≤Lj是否成立,若成立,则跳入步骤S3.4.3;否则,跳入步骤S3.2.3;
S3.5、更新频繁模式树FP的第j层节点计数:
S3.5.3、基于ε′-本地化差分隐私方法的数据扰动:
S3.5.3.1、初始化i=1;
S3.5.3.2、定义临时变量为v;
用户独立完成对隐私记录的处理,且仅根据当前迭代次数j的信息,故不会泄露隐私。
S3.5.3.4、第i位用户ui利用式(5)将临时变量v扰动为噪声数据v′,并提交给数据聚合者A:
将临时变量v作为单值隐私数据进行扰动处理,不仅能够降低计算开销与通信开销,而且还提供了对用户隐私记录长度的隐私性的保护,因为任意第三方无法根据用户提交的单值结果,推测出其原始隐私记录的长度;
当层数j的增加时,估计误差Error是减小的,即误差Error与层数j呈负相关,这是因为随着层数j的增加,有序集合C在不断变小,而误差Error与集合长度|C|呈显著正相关。
S3.5.3.5、令i+1赋值给i后,判断i≤n是否成立,若成立,则跳入步骤S3.5.3.2;
否则,跳入步骤S3.5.5;
在用户参与的隐私记录聚合过程中,本发明将不定长的用户隐私记,转化为单值数据的进行处理,在此场景下可以使用更加精确的本地化差分隐私方法,具体方法描述参见文献[Locally Differentially Private Protocols for Frequency Estimation,2017]
S3.5.6、初始化ω=1;
步骤S3.5.6-步骤S3.5.10目的在于根据本地化差分隐私聚合的估计结果,更新频繁模式树FP第j层各节点的计数值。
S3.5.9、将“0”赋值给m′ω.count;表示该节点为无效节点。
S3.5.10、令ω+1赋值给ω后,判断ω≤Lj是否成立,若成立,则跳入步骤S3.5.7;否则,跳入步骤S3.2.4;
S4、数据挖掘阶段:
式(7)中,E[·]表示均值;h∈Child(m)节点h为节点m的孩子;
节点m的计数m.count,应当满足式(7)条件,即双亲节点的计数不小于所有孩子节点的计数之和;但是由于估计误差的存在,所建频繁模式树FP中节点的计数有可能违背一致性条件,故需要进一步矫正节点的计数值,从而获得更加精确的结果;
数据聚合者A利用节点计数值的估计方差,在所建频繁模式树FP矫正节点计数,不需要任何隐私信息,完全独立于用户进行;由本地化差分隐私的后处理属性,该过程不泄露用户隐私。
S4.2、基于频繁模式树FP,使用FP-Growth的挖掘方法,获取节点对应的条件模式基,从而挖掘满足支持度下界σ+Error的所有项集的集合,即为所求频繁项集的估计结果。具体挖掘方法参见文献[Mining Frequent Patterns without Candidate Generation,2000]。
本发明频繁项集挖掘方法,在保护用户隐私的前提下,根据给定支持度阈值与估计误差可适当提高频繁与非频繁的判断标准,从而使结果更加准确。
本发明隐私保护频繁项集挖掘方法,有两种隐私预算ε的分配方式,本实施例中使用分配方式1:
1、预算固定分配:将总的隐私预算ε分为两部分:第一部分预算为ε1、第二部分预算为ε2,且ε1+ε2=ε,如ε1=0.4×ε,ε2=0.6×ε;在频繁项集挖掘方法中,步骤S1和步骤S2分别满足-本地化差分隐私,步骤S3每次迭代过程平均分配隐私预算最多迭代Max_Iter次,步骤S4对树的矫正与挖掘为后处理过程,由差分隐私性质可知,整个频繁项集挖掘方法满足ε-本地化差分隐私;
2、用户采样分配:将总用户数n抽样分为相互独立的三组:第一组用户数为n1,第二组用户数为n2,第三组用户数为n3,且n1+n2+n3=n,如n1=n2=n×10%,n3=n×80%;在频繁项集挖掘方法中,步骤S1、S2、S3分别由第一组、第二组以及第三组用户以全部隐私预算ε参与聚合,其中第三组用户等分为Max_Iter相互独立的子组,依次参与最多Max_Iter次迭代,若每位隐私预算ε参与且仅参与一次聚合过程,则整个频繁项集挖掘方法满足ε-本地化差分隐私;
隐私预算的具体分配比例可根据不同的需求而做出调整,从而为所述方法提供尽可能高的效用保证。
Claims (3)
1.一种基于频繁模式树的本地化差分隐私保护的频繁项集挖掘方法,其特征是应用于由一个不可信的第三方数据聚合者A和n位用户U及隐私记录V所构成场景中,其中,第i位用户ui的隐私记录为vi,且I表示已知隐私项目集合,记为I={x1,x2,...,xd,...,xD},xd表示第d个隐私项目,1≤i≤n,1≤d≤D,D为隐私数据总数;所述频繁项集挖掘方法包括以下步骤:
S1、初始化阶段:
S1.1、全局定义初始化:
定义⊥为无效值,σ为最小支持度阈值;
定义ε为隐私预算,并将隐私预算ε分为两部分ε1、ε2,且ε1+ε2=ε;
定义所述频繁模式树为FP,树的根节点为root;
定义频繁模式树FP中节点m的计算信息包括:节点m的项目m.item、节点m的计数m.count、节点m的所有孩子Child(m)和节点m的前缀m.pre;且前缀m.pre为根节点root至节点m的有序路径中节点项目序列;
定义频繁模式树FP的节点m是有效节点,当且仅当其满足m为叶子节点时,m.item≠⊥,m.count>0;
定义频繁模式树FP的层次是由根节点作为第0层level0并依次递增;其中,记levelj表示第j层;
S1.3、对所述单值计数估计集合按照估计值进行递减排序,得到有序的隐私项目序列记为c1>c2>...cλ>cλ+1...>cD;其中,若cλ>cλ+1,则cλ≠cλ+1且cλ、cλ+1∈I={x1,x2,...,xD},1≤λ≤D;
S2、数据剪枝阶段:
式(1)中,sorted(a,key=b)表示以b中的元素顺序将a中元素进行排序的函数;
S3、以迭代的方式,建立一颗频繁模式树FP;
S3.1、初始化参数:
S3.1.1、初始化最大迭代次数Max_Iter=|C1|;
S3.1.2、初始化频繁模式树FP=root,并初始化根节点的计数值root.count=n;
S3.1.3、定义空链表为M,并将根节点root添加到链表M中;
S3.1.4、定义循环参数为j,并初始化j=1;
S3.2、并判断j<Max_Iter是否成立,若成立,则执行步骤S3.3;否则,跳入步骤S4;
S3.2.4、令j+1赋值给j后,跳入步骤S3.2;
S3.3、遍历链表M中的所有节点,生成频繁模式树FP的第j层节点:
S3.3.1、定义并初始化中间链表Midd为空;
S3.3.3、初始化ω=1;
S3.3.4、定义临时变量pos,并初始化为pos=0;
S3.3.5、判断第ω个节点mω是否为根节点,若是,则跳入步骤S3.3.9;否则,跳入步骤S3.3.6;
S3.3.6、判断第ω个节点mω是否为有效节点,若是,则跳入步骤S3.3.7;否则,跳入步骤S3.3.10;
S3.3.7、判断第ω个节点mω的计数值mω.count≥σ-Error是否成立,若成立,则跳入步骤S3.3.8;否则,跳入步骤S3.3.10;其中,Error表示估计误差,且Error>0;
S3.3.8、计算第ω个节点mω的项目mω.item在候选1-项集C1={c1,c2,...,cλ,⊥}中的位置,并赋值给pos;
S3.3.9、将集合{cpos+1,...,cλ,⊥}中元素依次添加为第ω个节点mω的孩子,并将Child(mω)加入中间链表Midd;
S3.3.10、令ω+1赋值给ω后,判断ω≤Lj-1是否成立,若成立,则跳入步骤S3.3.4;
否则跳入步骤S3.3.11;
S3.3.11、将中间链表Midd赋值给链表M后,得到更新后的链表M′并跳入步骤S3.2.1;
S3.4、遍历所述链表M′中的所有节点,生成频繁模式树FP的第j层的候选j-项集Cj:
S3.4.1、初始化候选j-项集Cj为空集;
S3.4.2、初始化ω=1;
S3.4.3、令m′ω∪Cj赋值给Cj;
S3.4.4、令ω+1赋值给ω后,判断ω≤Lj是否成立,若成立,则跳入步骤S3.4.3;否则,跳入步骤S3.2.3;
S3.5、更新频繁模式树FP的第j层节点计数:
S3.5.3、初始化ω=1;
S3.5.6、将“0”赋值给m′ω.count;
S3.5.7、令ω+1赋值给ω后,判断ω≤Lj是否成立,若成立,则跳入步骤S3.5.4;否则,跳入步骤S3.2.4;
S4、数据挖掘阶段:
式(2)中,E[·]表示均值;h∈Child(m)节点h为节点m的孩子节点;
S4.2、基于所述频繁模式树FP,使用FP-Growth的挖掘方法,获取节点对应的条件模式基,从而挖掘出所有频繁项集的集合,即为所求频繁项集的估计结果。
2.根据权利要求1所述的频繁项集挖掘方法,其特征在于,所述步骤S1.2的ε1-本地化差分隐私多值处理方法包括以下步骤:
Step1、聚合项目长度:第i位用户ui将隐私记录vi中项目长度|vi|扰动为|vi|′后提交给所述数据聚合者A;所述数据聚合者A聚合所有用户提交的扰动后的项目长度,并得到估计结果其中,为zk的无偏估计值,zk为项目长度为k的用户总个数,1≤k≤D;
Step2、计算因子R:所述数据聚合者A计算满足式(3)的最小正整数,记为因子R:
式(3)中,R∈[1,D],α∈[0,1]为效用参数;
Step3、聚合隐私项目:第i位用户ui利用式(4)对隐私记录vi进行填充或截取处理,得到处理后的隐私记录ps(vi):
式(4)中,Pad(vi,ele=⊥)表示以无效值⊥填充隐私记录vi,Sample(vi,num=R)表示均匀随机选择隐私记录vi中R个元素,ele、num为可变参数;
从处理后的隐私记录ps(vi)中均匀随机选择一个隐私项目,并应用本地化差分隐私的单值数据扰动方法进行处理,将扰动后的隐私项目提交给所述第三方数据聚合者A;
3.根据权利要求1所述的频繁项集挖掘方法,其特征在于,所述步骤S3.5.2的ε′-本地化差分隐私单值处理方法是按如下过程进行:
Step2、初始化i=1;
Step3、定义临时变量为v;
Step5、第i位用户ui利用式(6)将临时变量v扰动为噪声数据v′,并提交给所述数据聚合者A:
Step6、令i+1赋值给i后,判断i≤n是否成立,若成立,则跳入步骤Step3;否则,跳入步骤Step7;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760220.7A CN110471957B (zh) | 2019-08-16 | 2019-08-16 | 基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760220.7A CN110471957B (zh) | 2019-08-16 | 2019-08-16 | 基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471957A CN110471957A (zh) | 2019-11-19 |
CN110471957B true CN110471957B (zh) | 2021-10-26 |
Family
ID=68511800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760220.7A Active CN110471957B (zh) | 2019-08-16 | 2019-08-16 | 基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471957B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11269706B2 (en) * | 2020-07-15 | 2022-03-08 | Beijing Wodong Tianjun Information Technology Co., Ltd. | System and method for alarm correlation and aggregation in IT monitoring |
CN112885468A (zh) * | 2021-01-26 | 2021-06-01 | 深圳大学 | 一种基于随机响应差分隐私技术的教师共识聚集学习方法 |
CN113569286B (zh) * | 2021-03-26 | 2024-03-19 | 东南大学 | 基于本地化差分隐私的频繁项集挖掘方法 |
CN113206831B (zh) * | 2021-03-31 | 2023-02-14 | 南京邮电大学 | 一种面向边缘计算的数据采集隐私保护方法 |
CN113407986B (zh) * | 2021-05-21 | 2024-02-23 | 南京逸智网络空间技术创新研究院有限公司 | 基于奇异值分解的本地差分隐私保护的频繁项集挖掘方法 |
CN113792099B (zh) * | 2021-08-12 | 2023-08-25 | 上海熙业信息科技有限公司 | 一种基于历史效用表剪枝的数据流高效用项集挖掘系统 |
CN114153319B (zh) * | 2021-12-07 | 2024-06-21 | 中国海洋大学 | 面向用户多数据场景的频繁字符串的挖掘方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050267A (zh) * | 2014-06-23 | 2014-09-17 | 中国科学院软件研究所 | 基于关联规则满足用户隐私保护的个性化推荐方法及系统 |
CN104537025A (zh) * | 2014-12-19 | 2015-04-22 | 北京邮电大学 | 频繁序列挖掘方法 |
CN105740245A (zh) * | 2014-12-08 | 2016-07-06 | 北京邮电大学 | 频繁项集挖掘方法 |
CN106503575A (zh) * | 2016-09-22 | 2017-03-15 | 广东工业大学 | 一种分布式关联规则挖掘隐私信息保护方法 |
CN107092837A (zh) * | 2017-04-25 | 2017-08-25 | 华中科技大学 | 一种支持差分隐私的频繁项集挖掘方法和系统 |
CN107729762A (zh) * | 2017-08-31 | 2018-02-23 | 徐州医科大学 | 一种基于差分隐私保护模型的dna闭频繁模体识别方法 |
CN107992769A (zh) * | 2017-11-29 | 2018-05-04 | 广西师范大学 | 数据流关键模式挖掘的差分隐私保护方法 |
CN110096900A (zh) * | 2019-04-30 | 2019-08-06 | 西安理工大学 | 一种高效的差分隐私保护的频繁模式挖掘方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627488B2 (en) * | 2011-12-05 | 2014-01-07 | At&T Intellectual Property I, L.P. | Methods and apparatus to anonymize a dataset of spatial data |
US9967093B2 (en) * | 2015-03-25 | 2018-05-08 | Intel Corporation | Techniques for securing and controlling access to data |
-
2019
- 2019-08-16 CN CN201910760220.7A patent/CN110471957B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050267A (zh) * | 2014-06-23 | 2014-09-17 | 中国科学院软件研究所 | 基于关联规则满足用户隐私保护的个性化推荐方法及系统 |
CN105740245A (zh) * | 2014-12-08 | 2016-07-06 | 北京邮电大学 | 频繁项集挖掘方法 |
CN104537025A (zh) * | 2014-12-19 | 2015-04-22 | 北京邮电大学 | 频繁序列挖掘方法 |
CN106503575A (zh) * | 2016-09-22 | 2017-03-15 | 广东工业大学 | 一种分布式关联规则挖掘隐私信息保护方法 |
CN107092837A (zh) * | 2017-04-25 | 2017-08-25 | 华中科技大学 | 一种支持差分隐私的频繁项集挖掘方法和系统 |
CN107729762A (zh) * | 2017-08-31 | 2018-02-23 | 徐州医科大学 | 一种基于差分隐私保护模型的dna闭频繁模体识别方法 |
CN107992769A (zh) * | 2017-11-29 | 2018-05-04 | 广西师范大学 | 数据流关键模式挖掘的差分隐私保护方法 |
CN110096900A (zh) * | 2019-04-30 | 2019-08-06 | 西安理工大学 | 一种高效的差分隐私保护的频繁模式挖掘方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110471957A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471957B (zh) | 基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法 | |
Zhang et al. | Private release of graph statistics using ladder functions | |
CN107220732B (zh) | 一种基于梯度提升树的停电投诉风险预测方法 | |
Mir et al. | Dp-where: Differentially private modeling of human mobility | |
Jorgensen et al. | Publishing attributed social graphs with formal privacy guarantees | |
Ahmed et al. | Network sampling: From static to streaming graphs | |
Hay et al. | Boosting the accuracy of differentially-private histograms through consistency | |
Lim et al. | Mascot: Memory-efficient and accurate sampling for counting local triangles in graph streams | |
CN105184307B (zh) | 一种医学领域图像语义相似度矩阵的生成方法 | |
Wang et al. | Locating structural centers: A density-based clustering method for community detection | |
CN109949176B (zh) | 一种基于图嵌入的社交网络中异常用户检测方法 | |
Cohen et al. | Tighter estimation using bottom k sketches | |
CN109726587B (zh) | 一种基于差分隐私的空间数据划分方法 | |
CN108280121B (zh) | 一种基于k-核分解获取社交网络意见领袖的方法 | |
Lin et al. | Using geographically weighted regression to solve the areal interpolation problem | |
CN113206831B (zh) | 一种面向边缘计算的数据采集隐私保护方法 | |
CN110689368B (zh) | 一种移动应用内广告点击率预测系统设计方法 | |
CN106326923A (zh) | 一种顾及位置重复和密度峰值点的签到位置数据聚类方法 | |
Poulin et al. | Ensemble clustering for graphs: comparisons and applications | |
Islambekov et al. | Unsupervised space–time clustering using persistent homology | |
CN112905905A (zh) | 一种位置社交网络中兴趣点-区域联合推荐方法 | |
CN114092729A (zh) | 基于聚类匿名化与差分隐私保护的异构用电数据发布方法 | |
Robles et al. | Sampling of attributed networks from hierarchical generative models | |
Zhou et al. | Optimizing the numbers of queries and replies in convex federated learning with differential privacy | |
Zhao et al. | Cluster-reduce: Compressing sketches for distributed data streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |