一种用于关联规则隐藏的事务增减方法

文档序号:6458071阅读:270来源:国知局
专利名称:一种用于关联规则隐藏的事务增减方法
技术领域
本发明涉及一种关联规则隐藏方法,属于数据挖掘和知识隐藏领域。
背景技术
关联规则提取是数据挖掘技术的重要方式之一 ,可以从大量的数据中发现 用户感兴趣的知识。随着网络信息共享发布的不断需求,使用者希望能够通过 对这些数据进行深层次分析,从而为企业竟争提供重要参考。但另一方面,信 息安全问题也日益暴露。在一些商业、医疗和保险等众多领域,人们并不希望 自己的私有信息被他人了解。因此,如何能够在不泄露敏感信息的前提下进行 数据共享、并为用户最终挖掘出有用的信息,这成为了数据挖掘研究中的关键 问题。
关联规则是描述数据库中数据项之间存在的潜在关系。假设项目集合为
/y《,…,U (/z 为项目数),"为包含一系列事务f的数据库,且有"Afs/。 关
联夹见则表示为z-r,其中,尤c/,;rc/且xn:r=0。 则该规则义=>7在数
据库种拥有置信度c,表示为
同时,认为规则z-;r拥有支持度^v),表示为
柳=i^Ilxioo a附滴p (2)
式中,肌'/2C朋和肌'/^w/^别表示最小置信度和最小支持度,#为绅的事 务数。
显然,为了隐藏挖掘出的规则,在保持肌'/ C朋和边//7^/>不变的前提下, 就必须设法降低C或s(AO,使式(1)和(2)不能同时成立,从而达到隐藏的目 的。有两种思路, 一是设法将后件/減少,比如由非零改为零。二是增加J,使 原为零值的/变为非零。因此,根据蕴涵式推理可知,思路一是降低了IXu", 使c和s(^都得以减少;思路二是增加了 I",使c得以降低,而对s(^没有影响。 这样,都达到了减少"屑或c^目的。目前,关联规则的隐藏方法主要有以下四类
(1) 未知项替换法使用未知数?替换有用数,这种算法效果比较明显,而 且实现简单。但是,该算法只能是针对少量项目值,对多数项目不适合。 否则, 一条含有多个?号的事务会很容易认为是错误的而被丢弃。
(2) 项目添加方法即通过修改数据库结构,对事务添加一些别的项造成事 务数据库已有信息的修改。但是,这种方法容易造成规则的新生,也破 坏了原来项目集的基本结构,因此,其应用受到4艮大限制。
(3) 项目删除方法在关^^见则中,将含有大量后件的某一项目或多项删除, 则按照推理要求,后件已经不成立,所以结论必然为假。这种方法也是 容易实现。然而,当有大量规则存在时,作为后件的项目也往往同时在 另一些规则中作为前件,如果将该项目删除,会导致其他有效规则被删 除;同时,破坏了原来项目集的基本结构。在许多应用领域中,项目本 身A^M求的,不允许被删除。所以,该法的应用更有限。
(4) 对B00L项目值取反这种方法易于理解,但是只适用于项目值为B00L 型,对数值型不适合。为了处理数值型项目,经典的做法是按范围划分 为多个区间,每个子区间影射为BOOL值。但是,由于区间划分本身就很 复杂,因此这种处理方法难以得到实际应用。
此外,这些方法在抗攻击能力方面的研究结果未见报道。

发明内容
根据背景技术所述,本发明的目的在于避免上述不足,提出一种通过对数 据库增添少量新的事务和移除少量已有事务,达到敏感规则隐藏效果的全新的 用于关联规则隐藏的事务增减方法。
为了实现上述目的,本发明的方法主要包括以下步骤
(1) 选择数据库,实施数据挖掘,获得关联规则集;
(2) 分析规则集并选择待隐藏的规则;
(3) 基于待隐藏规则,抽取其相应的项目集;
(4) 搜索并获取强相关事#< Strong Association Transaction,简称SAT) 集和弱相关事务弱相关事务(Weak Association Transaction,简称 WAT)集;
(5) 根据隐藏要求选取WAT子集,并通过WAT修改过程计算得到修改后的 WAT子集;
(6) 根据隐藏要求选取SAT子集;(7) 将修改后的WAT子集增加到数据库中,同时,从数据库中删除选定的 SAT子集,获得了一个修改后的新数据库;
(8) 对新数据库再次实施数据挖掘,获取关联规则集;
(9) 分析规则隐藏性能,若达到隐藏要求,则认为完成了隐藏过程;否则 转到步骤(4),继续隐藏过程。
由于采用上述技术方案,本发明具有以下优点和效果
(1) 本发明基于数据库中各条事务对规则的贡献程度来进行事务的操作, 本操作中只需要少量事务的更改,就可以实现关联规则隐藏,对数据库的修改 量小,基本上能够一次性地实现关联规则及其相应规则的全部隐藏;由于选择 项只是为WAT需要而更新,在SAT中并没有任何变化,所以,与其他规则隐藏算 法相比,更新的数据是少得多,同时,不需要增减任何项目,因此能够保持项 目的初始特征;本发明依据调整因子a来控制更新事务数,当设置为O. 05以上 时,隐藏率就能够达到100%。
(2) 本发明规则隐藏的副作用非常小。与习用的未知项替换法相比,事务 增减方法具有纟艮强的优势,其RLR和RCR分别小于19。/。和6y。,而未知项替换法则高 于30°/ 。
(3 )本发明在规则检测过程中,即使支持度下降得很低,RHR始终能够保 持在一个合适的值,所以,本方法的抗支持度攻击能力非常好。特别地,当调 整因子a在O. 07以上时,对于大范围(25°/ 至5%)的支持度攻击,RHR也始终达 到100%。
因此,与其它现有的关联身见则隐藏方法相比,本发明的方法在稳健性和安 全性方面都具有很强的优势,还具有明显的实用性。


图1为本发明事务增减方法的流程图
图2为本发明规则隐藏性能
图3为本发明丢失规则的变化
图4为本发明新增规则的变化
图5为本发明三条规则不同组合的隐藏情况
图6为本发明三条规则隐藏的副作用
图7为本发明规则隐藏的支持度攻击
图8为本发明比牟定两种方法的身见则丢失率
图9为本发明比较两种方法的规则新增率
具体实施方式
由图l示出本发明事务增减方法的流程图,可知,本发明用于关联规则隐
藏的事务增减方法,主要包括以下步骤
(1)选择数据库,实施数据挖掘,获得关联规则集; (2 )分析规则集并选择待隐藏的规则;
(3) 基于待隐藏规则,抽取其相应的项目集;
(4) 搜索并获取强相关事务(Strong Association Transaction,简称 SAT)集和弱相关事务弱相关事务(Weak Association Transaction, 筒称WAT)集;
(5 )根据隐藏要求选取WAT子集,并通过WAT修改过程计算得到修 文后
的WAT子集; (6 )根据隐藏要求选取SAT子集;
(7) 将修改后的WAT子集增加到数据库中,同时,从数据库中删除选定 的SAT子集,获得了一个修改后的新数据库;
(8) 对新数据库再次实施数据挖掘,获取关联规则集;
(9) 分析规则隐藏性能,若达到隐藏要求,则^人为完成了隐藏过程;否 则转到步骤(4),继续隐藏过程。
其中,对弱相关事务和强相关事务进行了定义
1、 定义l:弱相关事务(Weak Association Transaction,简称WAT):在 关,则挖掘中,各项在生成规则的大项中很少出现的事务。通俗地说,该事 务对规则生成的贡献非常弱。设定事务t中各项在规则生成的大项中出现的次数
为#(/),给定出现次数的阈值&,如果有
■ 4 (3)
则认为该事务属于弱相关事务。 当^U)-0时,称该事务为不相关事务。
2、 定义2:强相关事务(Strong Association Transaction,简称SAT): 在关联规则挖掘中,各项在生成规则的大项中有绝大数出现的事务。通俗地说, 该事务对规则生成的贡献非常强。设定事务t中各项在规则生成的大项中出现的 次数为W(o,给定出现次数的阈值&,如果有
歸)W (4)
则认为该事务属于强相关事务。
由于A^附,当^U)-历时,称该事务为绝对相关事务。
7另外,对照式(2),如果保持ixuin不变而增加iv;则直接减少了4 v)。 要满足该前提,意味着增加的事务对原有规则的产生几乎不做贡献,即为弱相
关事务WAT。理想状态应该是追加不相关事务,才能完全保证式(2)的分子不 变而分母增加,从而直接减小了s(iV),达到隐藏规则的目的。
进一步,由于WAT与数据库中的事务完全相同,如果直接WAT增添到数据 库中,则库中将存在两个相同事务,这将引起数据库用户的怀疑,认为是多余 的而删除其中一条事务,然后重新挖掘规则。结果将暴露隐藏的规则,从而导 致隐藏失效问题。因此,WAT在追加到数据库之前必须进行修改,使之与原有 事务有差异。需要指出的是,该差异不仅指与原有的一条事务有差异,而且是 与原有数据库中所有事务都要有差异。只有这样,才能不会引起用户的怀疑。
那么,在一条事务中需要修改多少个项的内容才是最合适的?考虑到方法 稳健性的需要,对数据库的修改越少,则越不容易引起怀疑。因此,在本方法 中选择修改一个项目来实现WAT的修改,即弱相关事务增加。
如果考虑删除一些生成规则的强相关事务SAT,将使得i义u;ri和顺时减
小。当W咸少1时,IXu"至少会减1,且往往是大于l。考虑最小的情况,有
<formula>formula see original document page 8</formula>
则有
<formula>formula see original document page 8</formula>
可见,由于(IXuF卜AO〈0,得s(A)〈0。这表示,追加不相关事务,总是能使 支持度s(w下降,从而达到隐藏规则的目的,即强相关事务移除。
如上所述,WAT添加或SAT移除的任一过程都能够降低选择规则的支持度。 但是,这单一过程将会对数据集的稳健性带来新的问题添加WAT会增加数据集 中的事务数,而移除SAT会减少数据集中的事务数,这种数量的明显变化会引起 用户的怀疑,甚至弃之不用,那么,如果将这两种过程结合起来,使添加的WAT 数量与移除的SAT数量完全相同,则不但能够综合它们的隐藏能力,还能避免各 自的安全问题,能显著增强隐藏方法的稳健性。这种将WAT添加和SAT移除过程 结合起来的方法,称为事务增减方法。
下面,分别对具体运行过程中涉及到的WAT修改项目的确定和修改方法、 三个隐藏性能的评价指标进行详细的描述。1 、 WAT修改项目的选择和修改
基于规则分析和实验研究,选择以下2种项目进行修改
(1) 在本事务增减方法中,对规则集进行分析,并选择了待隐藏的规则之后, 找出最大频繁项的内容maxRu 1 eHid及其项目号maxRu 1 e11em。
(2) 在本事务增减方法中选择完成WAT子集后,计算每个项目内容的存在次 数。然后,找出其中的最大频繁项内容maxCI及其项目号maxWeakltem。
通常,maxRuleltem和maxWeakltem这两个项是不同的,前者与抽取的项 目集相关,而后者与选用的WAT相关。具体使用哪一个,在以下实验中做了选 用说明。
待修改的项目选择妥当后,下一步就是如何修改的工作。现有两种典型方 法用于敏感项内容的调整
(1) 按未知项替换法,采用未知符号( )做标记,以替换敏感项的内容。
(2) 如果该项属于数值类型,则处理过程有些复杂。假设I中项目j具有m 个不同的取d直,即{/(/).^/^^)1*=0,1 ...,附}。那么,如果
waA&f[/]血m[/] = /(y.)'v"^(") I , 令
we。A&小']= /(y').va/裤),f # a且/(y)加'"e(0 g ,。 该调整结果必须接受检查,以避免与数据集中的事务重复。 2、 隐藏性能的评^f介指标
为了便于实施效果的统一评价,建立了以下三个指标。
(1) 规则隐藏率(Rule Hiding Rate,简称RHR):假设原始数据库"中的 待隐藏规则为/ V修改后数据库〃中的实际隐藏规则为i^.,两者的 规则隐藏效果就构成了 RHR。 其计算方法为
N(D (7)
RHR- d xlOO% 、 乂
舉d)
式中,iV(朋,)表示数据库Z中选择的隐藏规则的数量。
(2) 规则丢失率(Rule Lost Rate,简称RLR):在隐藏的规则中,可能 存在一些并不属于待隐藏的规则。这意味着,有些原始库中的非限 制规则,经过隐藏过程后,在新数据库中已经丟失。丢失效果由RLR 评价,RLR的计算方法为
胁舉》,d.)掘 (8)
9式中,W(i&^)表示数据库J中非限制规则的数量。
(3)规则新增率(Rule new Created Rate,简称RCR ):完成规则隐藏过 程后,可能会产生一些新的规则,这些规则并不能从原始库"获得, 但却能够从修改后的新数据库7中挖掘得到。该新增效果由RCR评价, 计算方法为
n(Rd)
现结合一个实施例对本发明所涉及的关联规则的隐藏实验及抗支持度攻击 方法进行描述
假设使用一个包含有14个不同项目、5万条事务的大型数据库进行测试。 从该数据库中抽取不同的事务数,分别建立了事务数从10000到45000间隔为 500的多个数据集。规则隐藏前的数据挖掘采用的支持度为20%、置信度为80%, 挖掘方法采用了 Apriori经典算法。
为了确保隐藏率和稳健性,需要对添加的WAT数或移除的SAT数,统称为 事务更新数进行控制。不妨标记事务更新数为A ,设定一个调整因子c ,它们 的关系表示为
W产avV (10)
式中, 〃为数据集中的事务数。 单一规则隐藏实验
实验条件为具有10000条事务的数据集,选择支持度20%和置信度80%, 隐藏性能按照上述的RHR、 RLR和RCR进行度量。在WAT的》务改过程中,采用了 未知项替换方法。实验中选择了下列单一规则
sex=Male — hours=overtime
据此,计算搜索得到所有的WAT和SAT,如表l所示。
表中、 分别表示WAT子集和SAT子集,fflli表示WAT子集的
丄W
元素数与WAT项目阈值;之比,^^表示SAT子集的元素数与SAT项目阈值^
is之比。表1事务更新数
相关规W(/w),)
则数Ls
10000117 162 12540 1453 5413
1' 2 5 37' 6 ' 5
200002316 369 24370 2956 10957
1' 2 5 37' 6 , 5
350003522 617 43580 5229 19073
1 ' 2 ' 37' 6 ' 5
下一步要寻找、的最小值,使得A^)".w(/),同时,要寻找A的最大值,
使得AT(/,)2(T'iV(/)。
对于W(/)等于10000事务的数据集,不同cr取值将影响获得的WAT和SAT, 结果为
(1)当cH). Ol时,应该要有IOO个更新的WAT添加数据集,同时也有100个 SAT从本集合中移除。从表1中可以看出,这100个WAT将从标记为1^的
2
Iv最小值为2的162个WAT中随机选取。同时,这100个SAT将从标记 为11^的A最大值为6的1453个SAT中随机选取。可见,!^和ii兰在WAT
6 2 6
和SAT得到了选取。 (2 )当CT变化范围位于0. 02~0. 06时,按照算法,应该选取1^1和,。
3 6
对于事务数为20000和35000的数据集,WAT和SAT的选取原理是一样的。 如图2所示,为了解o值对隐藏效果的影响,在隐藏过程中选择了不同值。
从图2中可以看出,当调整因子cj大于0. 05时,隐藏率RHR总能达到100°/ 。 此时,对于事务数分别为10000、 20000和30000的三种不同大小的凝:据集,#f 分别是500、 1000和1750。同时,丢失规则和新增规则数比较低,RLR小于16%, RCR则不超过6。/。,分别如图3和图4所示。基于该成功的隐藏效果,因此,下 列其他实验中也都将oi殳置为0. 05。
多规则隐藏实验
在许多应用中,需要隐藏多条规则。这有二种方式, 一是逐条隐藏,直到 最后一条隐藏完成。这种方式与单一规则隐藏的方法相同;第二种是同时隐藏, 算法需要分析多条规则的项目集及其WAT和SAT,并实现隐藏分析。这种方式 比较复杂,但更加实用。下面就第二种方式即同时隐藏实-睑进行阐述。针对事务数10000的数据集,实验中选取了下列三条关购呢则进行隐藏
规贝'J 1: sex-Male — hours=overtime
规则2.. gain=none — education=Some-coliege
,见贝寸3: salary<=50K — education—num=10
选取三条规则的原因还在于,可以对它们的不同组合开展实验,共有7种 情况。采用了未知数替换调整方法,它们的隐藏效果如图5所示。
本事务增减方法的优势还在于,它能够将包含有选取规则的所有相关规则 进行隐藏,所以隐蔽性更加显著。在同时隐藏3条规则时,它们的相关规则数 共有31条,要完全隐藏所有这些31条相关规则,只需要更新1000条事务数。 可见,效果是非常理想的。
为了获得最好的WAT调整方法,针对两种项目调整方法,对2种调整项的 选用效果^:了测试。结果表明,在隐藏3条规则时,它们的隐藏效果几乎相同, 但引起的副作用不同,如图6所示。这里,Ml和M2分别表示选择第一个调整 项时,采用的第一种和第二种项目调整方法的结果。而M2W指的是选择第2个 调整项时采用第2中项目调整方法的结果。结果说明,第2种项目调整方法对 于数值型项目来i兌更为合适。同时,对于多规则隐藏,选用maxRuleltem比 maxWeakltem更好。
规则隐藏的抗攻击实验
在规则隐藏后,针对新生成的数据库再挖掘规则时,会涉及到不同支持度 的应用问题。也就是说,在知识隐藏检测中,如果采用不同于规则隐藏时的支 持度,是否能够确保已隐藏规则不被重新挖掘出来。这称为支持度攻击问题。 一个良好的隐藏算法,应该具有抵抗这类攻击的能力。对于本算法,需要回答 如果有人知道事务增减方法的原理,那么通过降低最小支持度/W'/7i^,他能否 恢复隐藏的规则?
按上述图2所示,当调整因子设置为0. 05以上时,隐藏率RHR总是能够 达到100%,相应的实验条件是支持度20%和具有10000条事务数的数据集。 针对同样的隐藏规则,采用事务增减方法隐藏完成后,开始实4亍规则检测,仍 然采用Apriori方法重新挖掘新规则。实验中,设置调整因子范围为0. 04~0. 07 以获得不同的隐藏效果,支持度攻击的范围选择5%~25%,结果如图7所示。
一般地,降低支持度,必然会增大规则数。在图7中,隐藏效果非常满 意。对于每一种隐藏条件,在不同支持度取值时的检测结果都相似。比如,给 定ct-O. 06,当支持度设置20%以下时,RHR会降低到81. 8%,并一直维持该值 不变。当设置a在0. 07以上时,即使更低的支持度攻击,RHR也始终保持在100%。
12结果表明,本方法对于不同支持度攻击,具有很强的稳健性,尤其是在a值设 置为足够大时,RHR能够保持在很高的值。 与已有方法的隐藏性能比较
为了比较本发明方法与已有方法的隐藏效果,仍以单一规则隐藏为例,并 选取了典型的未知项替换方法进行比较。
基于事务数从10000到30000的不同数据集,在本方法中设置调整因子a 为0.05。获得两种方法的最好隐藏效果,使RHR达到100%。此时,观察它们产 生的副作用,如图8和图9所示。在图8中,本方法比未知项替换法的RLR要 小得多,小于20%,而未知项替换法总是高于30%。对于图9中的RCR,效果更 加显著,本方法不超过5%,而未知项替换法在30%以上,最高达到56%。显然, 本发明的方法具有非常优异的规则隐藏性能。
权利要求
1、一种用于关联规则隐藏的事务增减法,主要包括以下步骤(1)选择数据库,实施数据挖掘,获得关联规则集;(2)分析规则集并选择待隐藏的规则;(3)基于待隐藏规则,抽取其相应的项目集;(4)搜索并获取强相关事务集和弱相关事务弱相关事务集;(5)根据隐藏要求选取WAT子集,并通过WAT修改过程计算得到修改后的WAT子集;(6)根据隐藏要求选取SAT子集;(7)将修改后的WAT子集添加到数据库中,同时,从数据库中移除选定的SAT子集,获得了一个修改后的新数据库;(8)对新数据库再次实施数据挖掘,获取关联规则集;(9)分析规则隐藏性能,若达到隐藏要求,则认为完成了隐藏过程;否则转到步骤(4),继续隐藏过程。
2、 根据权利要求l所述的用于关联规则隐藏的事务增减法,其特征在于弱相关事务是指在关^i见则挖掘中,各项在生成规则的大项中很少出现的事务,表示为A^)^凡,其中iV(f)为事务t^规则生成的大项中出现的次数,&为给定出现次数的阈值,如果有7V(0《A时则认为该事务属于弱相关事务,当iV0)-0时,该事务为不相关事务。
3、 根据权利要求l所述的用于关联规则隐藏的事务增减法,其特征在于强相关事务是指在关联规则挖掘中,各项在生成规则的大项中有绝大数出现的事务,表示为W(f)2&,其中A^)为事务t在规则生成的大项中出现的次数,&为给定出现次数的阈值,如果有TV(O 2 A时则认为该事务属于强相关事务,由于A《w,当#(/)=历时,该事务为绝对相关事务。
4、 根据权利要求l所述的用于关联规则隐藏的事务增减法,其特征在于WAT修改项目的选择是在对规则集进行分析,并选择了待隐藏的规则之后,找出最大频繁项的内容maxRuleHid及其项目号maxRuleltem;选择完成WAT子集后,计算每个项目内容的存在次数,找出其中的最大频繁项内容maxCI及其项目号maxWeakltem; 通常,maxRuleltem和maxWeakltem这两个项是不同的,前者与抽取的项目集相关,而后者与选用的WAT相关。
5、 根据权利要求l所述的用于关联规则隐藏的事务增减法,其特征在于WAT修改项目的修改在于敏感项内容的调整,如果该项属于数值类型,假设I中项目j具有m个不同的取值,W{/C/).va^(*)|yt=(U...,w}。那么,如果/(/).v"/"eOS(CD,该调整结果必须接受检查,以避免与事务集中的事务重复。
全文摘要
一种用于关联规则隐藏的事务增减法,属于数据挖掘和知识隐藏领域。主要是基于事务对挖掘规则的贡献程度,将添加弱相关事务和移除强相关事务的过程结合起来的方法。本发明不需要增减项目,只需要修改一个项目,同时给出调整因子以更新不同大小的事务数来分析不同的隐藏效果。采用本发明的方法开展单一规则隐藏、多规则隐藏和抗支持度攻击实验,结果表明,只要调整因子达到0.05,即能够保持隐藏率达到100%;在副作用方面,本发明的规则丢失率和规则新增率都小于15%;本发明能够抵抗大范围的支持度攻击,且当调整因子达0.07以上时,隐藏率就能够保持在100%。本发明对数据库事务修改量小,适用于对多规则的任意组合隐藏,而且在隐藏效果、稳健性和实用性都有很强的优势。
文档编号G06F17/30GK101499066SQ20081000678
公开日2009年8月5日 申请日期2008年2月1日 优先权日2008年2月1日
发明者张晓明 申请人:北京石油化工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1