掌桥专利:专业的专利平台
掌桥专利
首页

一种在本地差分隐私下基于属性分层的频繁项集挖掘方法

文献发布时间:2023-06-19 18:27:32


一种在本地差分隐私下基于属性分层的频繁项集挖掘方法

技术领域

本发明涉及一种面向本地差分隐私保护的频繁项集挖掘方法,属于信息安全技术领域。

背景技术

频繁项集挖掘是数据挖掘技术中的一个关键问题,频繁项集挖掘的目的是通过找出那些经常一起出现的项目的集合,来揭示数据之间隐藏的关联,同时也可以为关联规则的挖掘打下基础。通过挖掘频繁项集,商家可以发现商品和商品之间的联系,进而预测顾客的购买习惯,提高自身的服务质量。但是,在商家收集用户信息的过程中,用户的一些购买记录、浏览偏好等敏感信息有泄露的风险。

近年来,为了保护用户的隐私,差分隐私作为一种基于数据变化的先进隐私保护技术被提出。中心化差分隐私需要一个可信的第三方服务器来接收用户发送来的原始数据,但是在现实世界中,第三方服务器往往是不可信的,而且很容易遭受敌手的攻击,因此用户的隐私还是存在泄露的风险。本地差分隐私不需要一个可信的第三方数据收集者,每一个用户独自在本地对自己的原始数据进行扰动,然后将扰动后的数据发送给数据收集者,由收集方从众多用户发送来的隐私保护数据中恢复出原始数据的统计信息,如:频率估计、均值估计等。本地差分隐私对隐私泄露的风险拥有严谨的定义和定量化的数学证明,不仅严格保护了用户的隐私,而且可以大大降低用户端的通信开销。

目前,已经有一些研究致力于在本地差分隐私的背景下进行频繁项集挖掘(如SVSM等),但是这些方法都存在着一些问题,如:较高的计算开销、较低的数据可用性等。此外,它们也只考虑了项目的编号这一单一属性,而忽略了真实世界中项目与项目之间的关联,从而导致频繁项集挖掘的准确度不高,在现实中并不适用。因此面对大数据量带来的困难,实现隐私保护、挖掘精度和计算开销的优化,是一个需要解决的问题。

发明内容

发明目的:本发明为了解决现有方法存在的不足,提出了一种在本地差分隐私下基于属性分层的频繁项集挖掘方法,本发明不仅可以大大提高频繁项集搜寻效率,还可以满足用户复杂的多样化需求,模型具有很强的灵活性,可在不同的应用场景下得到推广。

为了实现上述发明目的,本发明所提供的技术方案如下。

一种在本地差分隐私下基于属性分层的频繁项集挖掘方法,包括以下步骤:

步骤1:服务器将总隐私预算进行分割。假设属性的总层数为m,总隐私预算∈被划分为m层的m个部分,其中每个∈

步骤2:服务器根据上一层的频繁项集挖掘结果对用户进行分组。在本方案中,由于第i层一共产生了k

在每一层的频繁项集挖掘过程中,针对每一组用户:

步骤3:每个用户先计算自己拥有的有效项目集(transaction),并进行填充采样(padding-and-sampling)操作,得到一个项目;

步骤4:用户根据公开的属性分层树状图,将通过抽样得到的项目向上索引到该层得到属性值,之后对其进行扰动,并将扰动值提交给服务器;

步骤5:服务器根据用户发来的扰动值去估计每个属性的频率,然后根据频繁项去构建频繁项集候选集合S,并将S发送给用户;

步骤6:用户根据自身的有效项目集(transaction)去选择候选集合S中自己拥有的项集(可以有多个),然后对其进行填充采样(padding-and-sampling)操作,得到一个项集,之后对该项集进行扰动,并将扰动结果发送给服务器;

步骤7:服务器对候选集中项集的频率进行估计,并选出top-k个项集作为频繁项集挖掘结果。

进一步的,所述步骤3具体为:

对于第i层的第j组用户Group

由于用户有效项目集中的项目数量往往不同,当前的频率估计机制无法较好地解决该问题,因此本发明对用户的有效项目集进行了填充采样(padding-and-sampling)操作。具体过程如下:L为填充长度,也是后期频率估计方法中的一个系统参数。如果一个用户有效项目集中的项目数量少于L,那么他将使用一些虚假的项目进行填充,使得最终的有效项目集长度为L,而在之后的频率估计任务之中,服务器将不会计算这些虚假项目的频率。如果一个用户有效项目集中的项目数量多于L,那么他将从中随机选取出L个项目作为新的有效项目集。

在填充操作之后,每个用户将会得到一个长度为L的项目集,如果他们将所有项目报告给服务器,那么对隐私预算∈的分割会导致较低的数据可用性。因此本发明对用户填充后的项目集进行了抽样操作,用户最终只随机抽取一个项目v

进一步的,所述步骤4具体为:

根据公开的属性分层树状图,每个用户将自己由填充采样操作得到的项目v

进一步的,所述步骤5具体为:

在收集到所有用户发送来的隐私保护数据y之后,服务器通过OUE提供的聚合算法来对每一个属性进行频率估计。由于扰动之前的操作包含了填充采样,所以要将估计结果乘以L以消除抽样带来的误差,此外,填充过程中的虚假值也需要被舍去以消除对最终频率估计的影响。接着,基于一个通用假设:一个频繁项集不太可能是由若干个不频繁的项组成,服务器通过第i层的属性频率f(y)去构建频繁项集候选集S,这样不仅缩小了搜索范围,而且提高了搜寻精度。服务器将频繁项的频率两两相乘f

进行频率估计,在本发明中,取

进一步的,所述步骤6具体为:

在收到频繁项集候选集合S之后,组内的有效用户计算出自身项集与频繁项集候选集合的交集,由于交集中项目的数量可能不同,因此每个用户仍需对交集要进行(padding-and-sampling)填充采样操作。该步骤和步骤3的区别主要在于项目的范围域变为了候选集合S中的2k个候选项目,而不是整个IS范围内的项目数量d,因此本次填充采样的填充长度L也被设置为了2k。在通过填充采样得到一个项集之后,每个用户使用OUE扰动算法去对该项集进行扰动,隐私预算同样为

有益效果:

(1)通过对项目的属性进行分层表达,大大提高了频繁项集搜寻效率;

(2)用户可以获得每一层上的频繁项集挖掘结果,满足了用户的多样化需求;

(3)频繁项集挖掘过程满足严格的本地差分隐私,用户的隐私得到了保护。

附图说明

图1为本发明的分层表达示意图;

图2为本发明的总体框架示意图;

图3为本发明的方案细节流程图;

具体实施方式

为详细地说明本发明所公开的技术方案,下面结合说明书附图及具体实施例做进一步的阐述。构成本发明的附图用来提供对本发明的进一步理解,本发明的具体实施例用于解释本发明,并不构成对本发明的不当限定。

本发明基于本地差分隐私,提出了一种全新的频繁项集挖掘方法,通过对项目属性进行分层表达,不仅可以大大提高频繁项集搜寻效率,还可以满足用户复杂的多样化需求,较好地解决了大数据量带来的难题。

本发明方法提出了一个多阶段的方案框架,参考图1的属性分层表达树状图,用户在和服务器进行若干次交互后能够得到每一层的频繁项集。基于用户剪枝的思想,服务器在对每一层项集的频率进行估计之后,仅将该层排名靠前的频繁项集发送到下一层继续进行挖掘,降低了计算开销,大大提高了搜寻效率。频繁项集挖掘过程由高层到低层,逐层迭代,服务器根据上一层的频繁项集结果对用户进行分组,每组用户参与下一层一个独立的挖掘任务,最终能够获得每一层中的频繁项集。

具体地说,结合图2、图3,一种在本地差分隐私下基于属性分层的频繁项集挖掘方法步骤如下:

步骤1:服务器将总隐私预算进行分割。根据图1的属性分层表达树状图,假设属性的总层数为3,总隐私预算∈被划分为3个部分,其中每部分∈

下面进行针对第一层的频繁项集挖掘过程:

步骤2.1:所有用户对自己的事务项目集(transaction)进行填充采样(padding-and-sampling)操作,抽取得到一个项目。

步骤2.2:根据属性分层表达示意图,每个用户将通过抽取得到的项目向上索引到第一层,得到一个该层的属性值x

步骤2.3:在收集到所有用户发送来的隐私保护数据y

进行频率估计,在本发明中,取

步骤2.4:在收到频繁项集候选集合S1之后,每个用户计算出自身项集与频繁项集候选集合的交集,并对结果进行(padding-and-sampling)填充采样操作。该步骤和步骤2.1的区别主要在于项目的范围域变为了候选集合S1中的2k1个候选项目,而不是整个IS范围内的项目数量d,因此本次填充采样的填充长度L也被设置为了2k1。在通过填充采样得到一个项集之后,每个用户使用OUE扰动算法去对该项集进行扰动,隐私预算同样为

步骤2.5:服务器去估计S1中项集的频率,选择出前k1个作为本层的挖掘结果。

下面进行针对第二层的频繁项集挖掘过程:

步骤3.1:服务器根据第一层的频繁项集挖掘结果对用户进行分组,由于第一层一共产生了k1个频繁项集,在第二层中,我们将所有用户随机地均分成了k1组,每组用户都独立地参与第二层一个给定的频繁项集挖掘过程,第二层中每个用户都使用∈

步骤3.2:对于该组中的每个用户,他们从自身的项目集中去寻找在AB范围内的那部分项目,并重新构成有效项目集。如果一个用户项目集中的所有项目都不在AB范围内,即有效项目集为空,那么该用户就被认为是一个无效的参与者,无效用户无需进行之后的一系列操作。本发明基于用户剪枝的思想,本层的频繁项集只考虑由在给定上一层的某个频繁项集IS范围内的频繁项组成,而不会考虑在范围之外的项目。

步骤3.3:所有用户对自己的有效项目集进行填充采样(padding-and-sampling)操作,抽取得到一个项目。

步骤3.4:根据属性分层表达示意图,每个用户将通过抽取得到的项目向上索引到第二层,得到一个该层的属性值x

步骤3.5:在收集到所有用户发送来的隐私保护数据y

步骤3.6:在收到频繁项集候选集合S2之后,每个用户计算出自身项集与频繁项集候选集合的交集,并对结果进行(padding-and-sampling)填充采样操作。该步骤和步骤3.3的区别主要在于项目的范围域变为了候选集合S2中的

步骤3.7:服务器去估计S2中项集的频率,选择出前

其余组的频繁项集挖掘操作和本组类似,通过对每一组进行挖掘可以获得第二层的k2个频繁项集。第三层的频繁项集和第二层的操作类似,最终可以获得每一层的全部频繁项集结果。

上面结合附图对本发明的实施方式作了详细说明,但是并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于频繁模式树的本地化差分隐私保护频繁项集挖掘方法
  • 基于奇异值分解的本地差分隐私保护的频繁项集挖掘方法
技术分类

06120115578742