一种集成概化与消隐的高维数据匿名处理方法

文档序号:6365251阅读:208来源:国知局
专利名称:一种集成概化与消隐的高维数据匿名处理方法
技术领域
本发明涉及信息处理与信息安全领域。本发明设计一种用于高维数据匿名处理的方法,为信息共享过程提供安全保护,在网络海量信息共享中有着广泛应用前景。
背景技术
匿名处理是信息共享过程中一种重要的安全保护手段。现有匿名处理方法主要针对低维的关系型数据。然而,现实应用特别是网络应用中,有大量高维数据必须进行匿名处理后才能共享。例如,网络销售数据[I]、网络搜索日志[2] [3] [4]、网络影视租赁记录[5]等,如果不经匿名处理直接共享这些数据,会造成敏感信息泄露[2] [5]。低维数据匿名处理的基本原则是由Samarati和Sweeney提出的k-anonymity [6],要点是保证任何个人信息与k-Ι个他人不可分辨,主要采用基于伪标识的方法来实施。将这些方法简单应用于高维数据[7] [8] [9] [10],会导致高信息损失[7] [8]、无法应用标准数据挖掘工具[9]、处理结果难以解释[9] [10]。具体来讲,Teirovitis等[7]将适用低维数据的k-anonymity [6]移植到高维数据、提出km_anonymity,要求个人信息记录中的任意m个项目也出现在至少k-Ι个他人记录中,并采用全子树概化方法[11]来实施,其缺陷是易受异常项目影响而过度概化。Xu等[8]采用全消隐方法来进行匿名处理,其缺陷是对于稀疏数据集会导致过多的数据项被消隐。He等[9]采用局部概化方法[12],其缺陷在于破坏了数据的域互斥性,即匿名处理后数据项目的域可能相互重叠,使得数据分析结果很难解释。Ghinita等[10]采用带宽矩阵法进行随机化匿名处理,其缺陷是处理后数据会产生不合理的分析结果。此外,现有方法[7] [8]还存在计算性能差的问题。本发明的思路是集成概化与消隐来进行高维数据的匿名处理。通过集成使两种方法得到互补,即消隐少量异常数据项目从而避免大规模的概化操作,适度概化从而避免大量数据项目的消隐。本发明的集成方法有两个优点一是匿名处理后的数据能够直接采用标准的数据挖掘工具进行分析,二是从中得出的分析结果在原始数据中必定也成立。这是由于集成方法保留数据的域互斥性。然而,集成方法的解空间远远大于采用任何单一方法的解空间,其计算复杂性大大增加。因此,本发明提出三项创新性技术,一是自顶向下贪婪搜索法,二是最小安全威胁识别方法,三是多轮次求解策略,从而设计出一种全新的高维数据匿名处理方法,有效地降低信息损失、保证数据效用,并解决时间效率与空间可伸缩性的问题。本发明处理方法数据效用大大高于三个参照方法[7] [8] [9],性能也人大优于其中二个参照方法[7] [8],仅次于另一个参照方法[9]、但该参照方法[9]的数据效用最低。本发明方法处理后的数据能够应用标准数据挖掘工具进行分析,在网络海量信息共享中有着广泛应用前景。参考文献 [1]M. Atzori, F. Bonchi, F. Giannotti, D. Pedreschi. Anonymity preservingpattern discovery. VLDB Journal,2008.
[2]M. Barbaro, Τ. Zeller. A Face Is Exposed for AOL Searcher No. 4417749.New York Times,August 9,2006.[3]E.Adar. User 4XXXXX9 Anonymizing Query Logs. Query Log AnalysisWorkshop, WWW 2007.[4]A. Korolova,K. Kenthapadi,N. Mishra, A. Ntoulas. Releasing search queriesand clicks privately. WWW2009.[5]A. Narayanan and V. Shmatikov. How to Break Anonymity of the NetflixPrize Dataset. ArXiv Computer Science e-prints, October 2006. [6]P. Samarati and L.Sweeney. Generalizing data to provide anonymity whendisclosing information. P0DS1998.[7]M. Terrovitis, N. Mamoulis, P. Kalnis. Privacy preserving Anonymizationof Set valued Data. In VLDB2008.[8] Y. Xu, K. Wang, A. Fu, P. S. Yu. Anonymizing Transaction Databases forPublication. KDD 2008.[9]Y. He,J. Naughton. Anonymization of set-valued data via top-down localgeneralization. VLDB2009.[ 10] G. Ghini ta, Y. Tao, P. Kalni s. On the Anonymization of SparseHigh-Dimensional Data. ICDE 2008.[11]V. Iyengar. Transforming data to satisfy privacy constraints. KDD,pages 279-288,2002.[12]K. LeFevre, D. DeWitt, and R. Ramakrishnan. Mondrian multidimensionalk-anonymity. ICDE 2006.

发明内容
本发明目的是设计一种能够以最佳的数据效用和较高的计算性能实现高维数据匿名处理的方法,为海量网络信息共享过程提供安全保护手段。本发明“一种集成概化与消隐的高维数据匿名处理方法”包括三项核心技术A自顶向下贪婪搜索法,B最小安全威胁识别方法,C多轮次求解策略。本发明处理方法根据高维数据库D、项目分类树HP、匿名阀值k、能力阀值m,求出匿名处理后的高维数据库D’。本发明内容之一给定拟共享的高维数据集D = Itpt2,. . .,tn},其中&为一条含个人信息的记录,由若干出自域I = U1, I2, ... iq}的项目组成。安全攻击者有权获得共享数据并且知道特定个人的记录中包含某些项目,试图将特定个人与信息记录连接起来。任何项目的集合X简称为项目集。如果X是信息记录t的一个子集,则称t支持X。D中支持X的信息记录个数,记作sup (X, D)。一个包含不超过m个项目的集合X被称为安全威胁,如果其支持数少于k,即I X|彡m并且sup (X,D) < k,其中m是攻击者获取知识的能力阀值、k是用户指定 的匿名阀值。经过匿名处理的数据库D’符合km-anonymity [7],如果D’不存在可能是安全威胁的项目集。匿名处理的概化方法根据项目分类树,用抽象项目替代具体项目。消隐方法则通过删除项目来实现匿名处理。在处理实际数据集时,单独采用其中的任一方法其信息损失都很闻。本发明集成概化方法与消隐方法来进行匿名处理,以保证匿名处理后能进行数据挖掘分析、降低信息损失、提高数据效用。概化的解可以定义为项目分类树Hp上的一个割集Cut,包含Hp上每条根到叶的路径上一个且仅一个项目,并可以用这些项目的集合来表达。消隐的解removal是割集的一个子集,是那些将被从所有记录中删去的项目集合。所以,一个完整的匿名处理的解可以表达为(Cut,removal)。然而,由于割集数量以及相应的消隐方案数量均与项目数量成指数关系,解的完全枚举在可计算性上是不可行的。A自顶向下贪婪搜索法
本发明通过自顶向下贪婪搜索来集成概化与消隐方法。基本思路是以项目分类树Hp的根结点为初始割集,逐步向下推移割集。每一步将当前割集中的一个项目替换成其分类树Hp上的子女项目,并计算新的当前割集相对应的消隐方案。自顶向下搜索解的过程总是沿着降低信息损失最多的方向进行,也就是贪婪搜索。具体步骤如下Al令当前割集Cut初始化为空集,已访问的最佳割集Cutbest初始化为最顶层的割集,即由分类树Hp根结点项目组成的集合。A2当Cut有(最佳)子女割集提高数据效用,即上轮搜索时更新了 Cutbest使得Cutbest Φ Cut,则继续搜索。Cut的子女割集是通过替换其组成项目y为y在分类树Hp上的子女项目获得的。A2. I沿贪婪方向下降至Cut的最佳子女,即令当前割集Cut取Cutbest。A2. 2对于当前割集Cut的每个子女Cutdlild进行评估如下。A2. 2. I通过将Cut的一个组成项目y替换成y在项目分类树Hp上的所有子女项目获得 CutdlildtlA2. 2. 2 先按公式(Al)计算 Cutehild 的概化信息损失 coste (Cutchild)。COStc人Cutchlld) = ^eCuichlld <9(x*)7i(,{x*)公式(Al)其中,X*是割集Cutdlild的一个组成项目,0 0O是X*的所有后代叶结点项目在D中出现的频数,ILg(x*)是概化单个后代到X*的信息损失,并按公式(A2)计算[11]。ILg (X*) = (#leaves (x*) -I) / (#leaves (Hp) -I)公式(A2)其中《leaves (x*)和《leaves (Hp)分别表示以x*为根的子树的叶结点数和分类树Hp的叶结点数。A2. 2. 3 如果 Coste(Cutehild)大于当前最小信息损失 Cost(Cutbest),则转 A2. 2 (考虑Cut下一个子女)。A2. 2. 4找出概化后的数据库D' = g(D,Cutchild)中的安全威胁集合STset。A2. 2. 5为割集Cutehild寻找一个好的消隐方案。为排除STset中各个安全威胁,需要从Cutdlild除去某些项目,这些除去项目的集合removal也称为消隐方案。思路是找到一个子集safe使得保留safe中的项目不会将安全威胁集合STset列出的项目集也保留下来,换之言确保STset中的任一项目集不是safe的子集,因而removal = Cutehild\safe。这一步骤本身也是一个枚举的过程,亦采用贪婪搜索,以尽可能将消隐代价00O *ILS(x*)高的项目保留safe中,具体操作如下。A2. 2. 5. I 令 safe 为空集,choice 为 Cutchildo
Α2· 2. 5. 2 按 0(χ*) · ILs (χ*)降序,取每个 χ* e choice,其中 ILs (x*)按公式(A3)计算。ILs (x*) = I-ILg (χ*)公式(A3)Α2. 2. 5. 3如果safe U {χ*}不包含STset中的任一项目集,贝1J更新safe为safeU {χ*}。Α2· 2. 5. 4 更新 choice 为 choice\ {χ*}。Α2· 2. 5. 5 重复 Α2· 2· 5· 2 至 Α2· 2. 5. 4 直至 choice 为空。Α2· 2· 5· 6 令 removal 取 Cutchild\safe。Α2· 2. 6按公式(Α4)计算消隐方案removal信息损失。COSt<^CUtcfulj) ~ ^x*^removal公式(A4)其中χ*是Cutdlild中需要被消隐的项目,ILsOO按公式(A3)计算。换言之,ILe OO是概化单个后代到χ*的信息损失,ILsOO则是进一步消隐χ*而造成的附加在ILeOO之上的信息损失。消隐χ*相当于χ*的所有后代被概化到Hp的顶层,单个χ*的总信息损失为1(100% )0 Cutcdild及其消隐方案的总信息损失按公式(A5)计算。cost (Cutchild) = coss (Cutchild) +costG (Cutchild)公式(A5)A2. 2. 7 如果 cost (Cutchild)小于当前最小信息损失 cost (Cutbest),则 Cutehild 成为当前最佳割集,即令Cutbest取Cutdlildt5A3如果没有子女割集能够降低信息损失,则停止、并返回Cutbest及相应消隐方案removal。本发明内容之一的关键点是通过贪婪下降法避免完全枚举,从而提高处理方法的时间效率。本发明内容之二尽管集成概化与消隐的自顶向下贪婪搜索法是多项式复杂性,即其两重循环的控制结构中,外层循环次数正比与项目分类树的内部结点数目、内层循环次数正比与项目分类树的叶结点数目,但是循环体每次执行的计算代价都不低。具体涉及“发明内容A的步骤A2. 2. 4 A2. 2. 5”,即外层循环要计算D' = g(D,Cutchild)并确定安全威胁集合STset,内层循环要检查消隐方案removal是否从D" = s(D/ ,removal)中排除了所有隐私威胁。为此,提出最小安全威胁识别方法,以解决搜索和维护安全威胁的性能瓶颈。所谓,最小安全威胁是这样安全威胁,其作为项目集的任意子集都不是安全威胁。由于每个安全威胁必包含某些最小安全威胁,如果排除所有最小威胁也就自然排除了所有威胁。因此,只要找到所有最小威胁就足以确定消隐方案。然而,为每个割集临时搜索最小威胁的集合仍然是低效率的。B最小安全威胁识别方法本发明提出一次性挖掘出项目分类树Hp所有割集支持的所有最小威胁,记作allMST。这样,对于被外层循环枚举的每个割集,可以从allMST检索出与之相关的STset,而无需生成D' =g(D,Cut)、再临时挖掘Di。挖掘所有割集支持的所有最小威胁实质上是挖掘非频繁项目集,基本思路是枚举无前辈后代分类关系的项目组成的各个集合,即Hp作为项目集合的各个子集,核心是构建最小安全威胁枚举树、并在构建过程中进行及时有效的裁剪,以避免穷举所有子集、特别是避免枚举成为最小安全威胁的项目集的超集。、
最小安全威胁枚举树,简称allMST树,按给定的项目排列序β来构建,其中每个结点node均标注一个项目,记作node, item, allMST树根结点root, item特别标注为“空。对于每个按β序排在node, item前的项目i,均有node的一个子女结点child标注i,即child, item = i。node到根的路径上所有标注项目的集合,称为该结点的项目集,记作node. IS0所以,root. IS是空集。该树的特点是任何子集都先于其超集枚举,当一个项目集为最小安全威胁时,其任何超集都可以剪裁掉而不会被枚举,从而大大保证时间效率。BI生成最小安全威胁枚举树(allMST)。具体步骤如下。BI. I扫描数据库D —遍,按公式(Al)和公式(A3)统计Hp各个项目χ的消隐代价0(χ) · ILs(x),令项目排列序β为消隐代价降序。
BI. 2采用基于内存数据结构来表达按项目分类树Hp增广的数据库DH,即为原始数据库D中各记录添加其组成项目的前辈项目。BI. 3创建allMST树的根结点root表示空集,令当前结点node取root。BI. 4如果当前结点node为空,则结束并返回allMST,否则继续。BI. 5如果node与其父亲结点parent项目集有相同支持数,即sup(node. IS, Dh)=sup (parent. IS,Dh),则剪除node并转BI. 9。因为对于以node为根子树中任一结点node’,均有以 parent 为根子树中另一个结点 parent’,满足 sup (node’ . IS, Dh) = sup (parent’ .IS, Dh)并且parent’ . IS是node’ . IS的子集。换言之,node为根子树中不可能有最小安全威胁。BI. 6如果node. IS是allMST树已有某个结点prev的项目集prev. IS的子集,则剪除node并转BI. 9。因为node为根子树中任意项目集均是已有最小安全威胁的子集,从而不可能是最小安全威胁。BI. 7如果sup (node. IS, Dh) < k,则node. IS是一个最小安全威胁,保留node但停止生长node以下子树,令node取按深度优先序的下一个结点,接着转至BI. 4。因为node以下子树的项目集都是node. IS的子集,不可能是最小安全威胁。BI. 8如果|node. IS I彡m,则剪除node。因为node. IS不是安全威胁而node以下子树中任一项目集均超出安全攻击者的能力范围。BI. 9如果当前结点node被剪除掉了,则清除node的前辈结点到根结点路径上每个只有一个子女的结点,令node取按深度优先序的下一个结点,接着转至BI. 4。BI. 10对于每个按β序排在node, item前的项目i,如果node. IS中没有项目与i有前辈后代分类关系,贝1J仓Il建node的一个子女结点child,令child, item取i。更新node为自己的第一个子女结点,转BI. 4。B2查找当前割集Cutehild相关的安全威胁。具体步骤如下。B2. I索引最小安全威胁枚举树(allMST)上仅包含Cutehild组成项目的叶结点到根结点的路径。B2. 2将所索引的路径作为STset返回。本发明内容之二的关键点是一次性发现所有最小安全威胁,避免重复挖掘为多个割集支持的安全威胁,并且对最小安全威胁枚举树进行有效剪裁掉来缩小搜索空间,从而提闻核心步骤的时间效率。本发明内容之三
本发明提出多轮次求解策略,来控制最小安全威胁枚举树allMST的规模。因为当项目分类树HP规模较大并且阀值m也比较大时,allMST树也可能是巨大的。多轮次求解策略目的是要解决这一可能出现的可伸缩性问题。C多轮次求解策略通过多个轮次逐步进行匿名化处理,即先找出符合较弱的匿名要求的割集,然后在前一个割集之上找出符合较强的匿名要求的割集。每轮搜索在上一轮削减后的分类树上进行,因而使allMST规模得到控制。即为找到满足km-anonymity的解,运行基于“发明内容A和发明内容B”的“基本方法”共m轮。步骤如下Cl令初始割集Soltl取Hp所有叶子结点的项目集合。C2对于round取I到m执行 C2. I令第IOimd轮的项目分类树Hraund取SoImumm及原始项目分类树Hp在其以上的部分。C2. 2执行基于“发明内容A和发明内容B”的“基本方法”,在项目分类树Hround上求出满足!^—-anonymity解,包括割集Solramd及相应消隐方案。C3返回Solni及相应的消隐方案作为最终解。本发明内容之三的关键点是多轮次求解策略能够在“发明内容B”的基础上,进一步提高核心步骤的空间可伸缩性,最终使得整个方法的空间可伸缩性和时间效率都得到保障。


图I集成A自顶向下贪婪搜索法、B最小安全威胁识别方法的基本方法流程图2高维数据库D图3项目分类树Hp图4最小安全威胁枚举树allMST图5割集枚举树CUTtree图6消隐方案枚举树(Removal针对图5的割集cut3)图7集成C多轮次求解策略与基本方法的流程
具体实施例方式本发明“一种集成概化与消隐的高维数据匿名处理方法”提出三项创新技术,即自顶向下贪婪搜索法、最小安全威胁识别方法、多轮次求解策略。图I概括前两项创新技术集成的路线,图7是进一步集成多轮次求解策略的路线。下面结合附图和实例(给定图2所示高维数据库D、图3所示项目分类树HP、能力阀值m = 5、匿名阀值k = 2),将技术方案分为“基本方法”和“多轮求解”两个过程做进一步描述。过程一(基本方法):本过程独立完整地执行基本的匿名处理方法。首先,一次性挖掘出高维数据库D所支持的项目分类树Hp所有割集上的最小安全威胁,然后采用自顶向下贪婪搜索找出由割集及相应消隐方案组成的匿名处理解。过程一的具体步骤如下
I. I FindMinimumSecurityThreats :执行“发明内容步骤BI”,具体操作如下。I. I. IDeterminOderingofltems :执行“发明内容步骤 BI. I”。扫描数据库 D 第一遍,按公式(Al)和公式(A3)统计Hp各个项目χ的消隐代价O(X) · ILs(x),按消隐代价降序确定项目排列序β。例如,对于图2所示高维数据库D、图3所示项目分类树ΗΡ,按公式(Al)和公式(A3)计算得出 O(P) · ILs(P) = O(P) · (I-ILg(P)) = 10 · (1-0. 3) = 7 等等,从而确定 β=< P,Q,K,J,f,H,c,d,M,e,i,a, b,g, x,y,z,T >,其中各项目相应消隐代价分别为7,
5.4,5. 4,5. 4,4, 3. 6,3,3,2. 4,2,2,2,2,2,1,1,1,O。I. I. 2BuildExpandedDB :执行“发明内容步骤BI. 2”。扫描数据库D第二遍,对于其中每条记录添加其组成项目的前辈项目并存储在内存中,得到增广数据库DH。例如图2所示数据库D的第一条记录tl = {b,c,d},增广为{T, P, H, b, K, c, d}。I. I. 3CreatealIMSTtree :执行“发明内容步骤BI. 3至BI. 10”。按深度优先的方式构建allMST树,并适时进行剪裁。例如给定图2所示高维数据库D、图3所示项目分类树HP,按25_anonymity要求,即能力阀值m = 5、匿名阀值k = 2,构建得出最小安全威胁枚举树allMST如图4所示。I. 2GreedilySearchingAnonymizationSolution :执行“发明内容步骤 A”,自顶向下贪婪搜索分类树Hp上的割集,这一过程可以用一棵割集枚举树⑶Ttree来描述。具体步骤如下。I. 2. ICreateCUTtreeNulIRoot :执行“发明内容步骤Al”。令当前割集Cut为空,已访问最佳割集Cutbest初始化为最顶层的割集,即由分类树Hp的根结点项目。接上例,图5所示割集枚举树⑶Ttree记载着求解的过程。在此,令Cut取{},令Cutbest 取{T} = CUt1O1.2. 2当Cut关Cutbest,执行“发明内容步骤A2至A3”如下I. 2. 2. IGreedilyDescendToBestChild :令 Cut 取 Cutbest。I. 2. 2. 2对于Cut的每个组成项目y,如果y有分类子女,则执行L 2. 2. 2. I 令 Cutchild = Cut U children (y) \ {y},其中 children {y}是 y 的所有分类子女的集合。I. 2. 2. 2. 2 按公式(A I)计算 Cutehild 的概化信息损失 Cose(Cutehild)。接上例,对于Cut = CUt1 = {T}和 y = T,令 Cutchild = Cut U children (y) \ {y}={T} U children (T) \ {T} = {e, i, P, Q} = cut2。此时,cosG (Cutchild) = cosG(cut2)=
6.6,而 cost (Cutbest) = Cost(Cut1) = 23。I. 2. 2. 2. 3如果costG (Cutchild)大于当前最小信息损失cost (Cutbest),贝丨J转
I.2. 2. 2 (取Cut的下一个组成项目)。1.2. 2. 2. 4执行“发明内容步骤B2”,从allMST树中检索出与当前割集Cutehild相关的安全威胁集合STset。接上例,对于Cutehild = CUt2 = {e, i, P, Q}, STset 中存在一个安全威胁{e, i}。I. 2. 2. 2. 5执行“发明内容步骤A2. 2. 5”,为割集Cutehild寻找一个好的消隐方案removal。接上例,对于STset= {{e,i} },找到 removal = {i}。
1.2. 2. 2. 6按公式(A4)计算消隐方案removal信息损失,并按公式(A5)计算Cutchiid总 目息损失。接上例,Costs(Cutchild)= Coss(CUt2) = 0(i) · ILs ⑴=2。所以,cost (Cutchid)=Cost(Cut2) = costG (CUt2)+costs (CUt2) = 6. 6+2 = 8· 6。I. 2. 2. 2. 7 如果 cost (Cutehild)小于当前最小信息损失 cost (Cutbest),则 Cutehild 成为当前最佳割集,即令Cutbest取Cut—。接上例,由于 cost (Cutbest) =Cost(CUt1) = 23 > cost (Cutchid) = cost (cut2)=8· 6,Cutchild 取 Cutchild,即 cut2。I. 2. 3如果没有子女割集能够降低信息损失,停止执行,并返回Cutbest及相应消隐 方案 removal。接上例,继续自顶向下贪婪搜索图5所示割集枚举树的过程,评估CUt2的子女,得到最佳子女是 CUt4,因为 CUt4 的消隐方案 removal = {i}, costG(cut4) = 4· 2 和 costs(cut4)=2 得 Cost(Cut4) = 6· 2,而 cut3 的的消隐方案 removal = {H, i}, costG(cut3) = 4· 6 和Costs(CUt3) = 5· 6 得 cost (cut3) =10.2。下面对本过程“ I. 2. 2. 2. 4 至 I. 2. 2. 2. 5” 步骤求出CUt3的消隐方案removal做详细叙述。首先,检索allMST树,求得CUt3 = {e, i, H, K, Q}相关的安全威胁集合STset ={{e,i},{H,K,Q}}。然后,贪婪搜索如图6所示消隐方案枚举树,其中项目按β序排列,SP按消隐代价降序排列。图中,每个结点标注safe集和choice集,实际搜索过程经历的路线是 Ssi-SS2-SS3-SS4-SS5-SS6,最终选择的 SS5,其 safe 集为{Q,K,e},choice 集为{i},而相应的消隐方案 removal = cut3_safe = {H, i}。接着,搜索继续评估CUt4的子女,得到最佳子女是CUt6,其中CUt6的消隐方案removal = {i},costG(cut6) = 3· 6 和 coss(cut6) = 2 得 cost (cut6) = 5. 6。搜索在 cut6之后停止因为没有子女能降低信息损失。最终,返回的解是CUt6 = {e, i,P,f,g,M}以及消隐方案removal = {i}。过程二(多轮求解)采用多轮求解策略(“发明内容C”),先找出符合较弱的匿名要求的割集,然后在前一个割集之上找出符合较强的匿名要求的割集,可以控制最小安全威胁树allMST的规丰旲,从而提闻空间可伸缩性,并最终提闻时间效率。过程二的具体步骤如图7所示。2. I令初始轮次割集Soltl取Hp所有叶子结点的项目集合。例如,对于图3 所示 Hp, Sol0 取{e, i, a, b, c, d, f, g, x, y, z}。2· 2对于round取I到m执行 2. 2. I令第IOimd轮的项目分类树Hround取SoImu^1及原始项目分类树HP,在其以上的部分。接上例,对于round = I,分类树H1就是原始项目分类树HP。2. 2. 2第ixnmd轮执行“过程一(基本方法)”,在项目分类树Hr_d上求出满足kromd-anonymity的解,包括割集Solround及相应的消隐方案。接上例,round= I 时,在 H1 上求得 Z1-Bnonymity 的解为 Sol1 = {e, i, a, b, c, d,f, g,Μ}及消隐方案 removal = {}。同理,Sol2 = {e, i, H, K, J, Μ}及消隐方案 removal ={i}。Sol3 = {e, i, P, J, M}及消隐方案 removal = {i}。2. 3返回Solni及相应的消隐方案作为最终解。接上例,采用“过程二(多轮求解)”,至第3轮即满足25-anonymity,总共生成allMPT树19条路径、30个结点,其中单轮的allMPT树最大开销是13条路径、19个结点。然而,采用“过程一(基本方法)”直接求解25-anonymity,生成allMPT树有25条路径、39 个结点。可见,多轮求解策略能有效地保障空间可伸缩性,大量实际数据集中进行实验时,其所表现出的优越性更加显著。性能测评本发明“一种集成概化与消隐的高维数据匿名处理方法”的性能测评实验表明,本发明处理方法数据效用大大高于三个参照方法,性能也大大优于其中二个参照方法,仅次于另一个参照方法、但该参照方法的数据效用最低。小结本发明设计了 “一种集成概化与消隐的高维数据匿名处理方法”,提出三项创新性技术,一是自顶向下贪婪搜索法,二是最小安全威胁识别方法,三是多轮次求解策略,从而设计出一种全新的高维数据匿名处理方法,有效地降低信息损失、保证数据效用,并解决时间效率与空间可伸缩性的问题。本发明处理方法处理后的数据能够应用标准数据挖掘工具进行分析,在网络海量信息共享中有着广泛应用前景。
权利要求
1.一种集成概化与消隐的高维数据匿名处理方法,根据高维数据库D、项目分类树HP、匿名阀值k、能力阀值m,以最佳数据效用和较高计算性能求出匿名处理后的高维数据库D’,包括以下三项核心技术的具体方法流程 A自顶向下贪婪搜索法。
B最小安全威胁识别方法。
C多轮次求解策略。
2.根据权利要求I所述的一种集成概化与消隐的高维数据匿名处理方法,核心技术A的具体方法流程如下 Al令当前割集Cut初始化为空集,已访问的最佳割集Cutbest初始化为由Hp根结点项目组成的集合。
A2当Cut有子女割集提高数据效用,即Cutbejst Φ Cut时,继续搜索。
A2. I沿贪婪方向下降至Cut的最佳子女,即令当前割集Cut取Cuttest。
A2. 2对于当前割集Cut的每个子女Cutdlild进行评估如下。
A2. 2. I通过将Cut的一个组成项目y替换成y在项日分类树Hp上的所有子女项目获得 Cutchild。
A2. 2. 2先按公式(Al)计算Cutdlild的概化信息损失CostG(Cutdlild)。 COStCjiCutcI1IiJ) — '^x*e(.ui咖id Oix ^)'IL(}{x )公式(Al) 其中,X*是割集Cutdlild的一个组成项目,OOO是X*的所有后代叶结点项目在D中出现的频数,ILeOO是概化单个后代到X*的信息损失,并按公式(A2)计算错误!未找到引用源。。ILg (X*) = (#leaves (x*) -I) / (#leaves (Hp) -I)公式(A2) 其中#leaves (x*)和#leaves (Hp)分别表示以x*为根的子树的叶结点数和分类树Hp的叶结点数。
A2. 2. 3如果Cose(Cutdlild)大于当前最小信息损失Cost(Cutbest),则转A2. 2(考虑Cut下一个子女)。
A2. 2. 4找出概化后的数据库D' = g(D,Cutchild)中的安全威胁集合STset。
A2. 2. 5为割集Cutdlildd寻找一个好的消隐方案。为排除STset中各个安全威胁,需要从Cutdlild除去某些项目,这些除去项目的集合removal也称为消隐方案。具体操作如下。A2. 2. 5. I 令 safe 为空集,choice 为 Cutchildo A2. 2. 5. 2 按 O(Xit) ·ILs(Xit)降序,取每个 XitG choice,其中 ILs(x*)按公式(A3)计算。
ILs (X*) = I-ILg (x*)公式(A3) A2. 2. 5. 3如果safe U {x*}不包含STset中的任一项目集,则更新safe为safeU {x*}。Α2· 2. 5. 4 更新 choice 为 choice\ {x*}。Α2· 2. 5. 5 重复 Α2· 2· 5· 2 至 Α2· 2. 5. 4 直至 choice 为空。Α2· 2· 5· 6 令 removal 取 Cutchild\safe。
A2. 2. 6按公式(A4)计算消隐方案removal信息损失。COSt^Cutc^jij) — ^x*eremovat 0{x )公式(A4)其中X*是Cutdlil d中需要被消隐的项目,ILsOO按公式(A3)计算。Cutdlild的总信息损失按公式(A5)计算。cost (Cutchild) = costs (Cutchild) +costG (Cutchild)公式(A5) A2. 2. 7如果cost (Cutchild)小于当前最小信息损失cost (Cutbest),则令Cutbest取Cutchiid。
A3如果没有子女割集能够降低信息损失,则停止、并返回Cutbest及相应消隐方案removal。
3.根据权利要求I所述的一种集成概化与消隐的高维数据匿名处理方法,核心技术B的具体方法流程如下 BI生成最小安全威胁枚举树,简称allMST树。按给定的项目排列序β来构建allMST树,其中每个结点node均标注一个项目,记作node, item, allMST树根结点root, item特别标注为“空。对于每个按β序排在node, item前的项目i,均有node的一个子女结点child标注i,即child, item = i。node到根的路径上所有标注项目的集合,称为该结点的项目集,记作node. IS。具体步骤如下。
BI. I扫描数据库D—遍,按公式(Al)和公式(A3)统计Hp各个项目X的消隐代价0(x) · ILs(x),令项目排列序β为消隐代价降序。
BI. 2采用基于内存数据结构来表达按项目分类树Hp增广的数据库DH,即为原始数据库D中各记录添加其组成项目的前辈项目。
BI. 3创建allMST树的根结点root表示空集,令当前结点node取root。
BI. 4如果当前结点node为空,则结束并返回allMST,否则继续。
BI. 5如果node与其父亲结点parent项目集有相同支持数,即sup (node. IS, Dh)=sup (parent. IS, Dh),则剪除 node 并转 BI. 9。
BI. 6如果node. IS是allMST树已有某个结点prev的项目集prev. IS的子集,则剪除node 并转 BI. 9。
BI. 7如果sup (node. IS, Dh) < k,贝丨J node. IS是一个最小安全威胁,保留node但停止生长node以下子树,令node取按深度优先序的下一个结点,接着转至B 1.4。
BI. 8 如果 node. IS Sm,则剪除 node。
BI. 9如果当前结点node被剪除掉了,则清除node的前辈结点到根结点路径上每个只有一个子女的结点,令node取按深度优先序的下一个结点,接着转至BI. 4。
BI. 10对于每个按β序排在node, item前的项目i,如果node. IS中没有项目与i有前辈后代分类关系,贝1J仓Il建node的一个子女结点child,令child, item取i。更新node为自己的第一个子女结点,转BI. 4。
B2查找当前割集Cutdlild相关的安全威胁。具体步骤如下。
B2. I索引最小安全威胁枚举树(allMST)上仅包含Cutehild组成项目的叶结点到根结点的路径。
B2. 2将所索引的路径作为STset返回。
4.根据权利要求I所述的一种集成概化与消隐的高维数据匿名处理方法,核心技术C的具体方法流程如下 Cl令初始割集Soltl取Hp所有叶子结点的项目集合。C2对于round取I到m执行 C2. I令第IOimd轮的项目分类树Hround取SoImu^1及原始项目分类树Hp在其以上的部分。
C2. 2运行基于“发明内容A和发明内容B”的“基本方法”,在项目分类树Hromd上求出 满足kMund-anonymity解,包括割集Solraund及相应消隐方案。
C3返回Solm及相应的消隐方案作为最终解。
全文摘要
本发明“一种集成概化与消隐的高维数据匿名处理方法”用于高维数据匿名处理,为信息共享过程提供安全保护。针对高维数据的高度稀疏性导致现有方法或者有很高信息损失、或是处理结果难以解释、或者有性能缺陷等问题,本发明集成概化与消隐来进行高维数据的匿名处理,提出三项创新性技术,一是自顶向下贪婪搜索法,二是最小安全威胁识别方法,三是多轮次求解策略,从而设计出一种全新的高维数据匿名处理方法,有效地降低信息损失、保证数据效用,并解决时间效率与空间可伸缩性的问题。本发明方法数据效用大大高于三个参照方法,性能也大大优于其中二个参照方法,仅次于另一个参照方法、但该参照方法的数据效用最低。本发明方法处理后的数据能够应用标准数据挖掘工具进行分析,在网络海量信息共享中有着广泛应用前景。
文档编号G06F21/00GK102637247SQ20121004255
公开日2012年8月15日 申请日期2012年2月23日 优先权日2012年2月23日
发明者余斌霄, 刘君强, 甘志刚, 蒋晓宁 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1