CN102637247A - 一种集成概化与消隐的高维数据匿名处理方法 - Google Patents
一种集成概化与消隐的高维数据匿名处理方法 Download PDFInfo
- Publication number
- CN102637247A CN102637247A CN2012100425572A CN201210042557A CN102637247A CN 102637247 A CN102637247 A CN 102637247A CN 2012100425572 A CN2012100425572 A CN 2012100425572A CN 201210042557 A CN201210042557 A CN 201210042557A CN 102637247 A CN102637247 A CN 102637247A
- Authority
- CN
- China
- Prior art keywords
- cut
- node
- child
- project
- tree
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明“一种集成概化与消隐的高维数据匿名处理方法”用于高维数据匿名处理,为信息共享过程提供安全保护。针对高维数据的高度稀疏性导致现有方法或者有很高信息损失、或是处理结果难以解释、或者有性能缺陷等问题,本发明集成概化与消隐来进行高维数据的匿名处理,提出三项创新性技术,一是自顶向下贪婪搜索法,二是最小安全威胁识别方法,三是多轮次求解策略,从而设计出一种全新的高维数据匿名处理方法,有效地降低信息损失、保证数据效用,并解决时间效率与空间可伸缩性的问题。本发明方法数据效用大大高于三个参照方法,性能也大大优于其中二个参照方法,仅次于另一个参照方法、但该参照方法的数据效用最低。本发明方法处理后的数据能够应用标准数据挖掘工具进行分析,在网络海量信息共享中有着广泛应用前景。
Description
技术领域
本发明涉及信息处理与信息安全领域。本发明设计一种用于高维数据匿名处理的方法,为信息共享过程提供安全保护,在网络海量信息共享中有着广泛应用前景。
背景技术
匿名处理是信息共享过程中一种重要的安全保护手段。现有匿名处理方法主要针对低维的关系型数据。然而,现实应用特别是网络应用中,有大量高维数据必须进行匿名处理后才能共享。例如,网络销售数据[1]、网络搜索日志[2][3][4]、网络影视租赁记录[5]等,如果不经匿名处理直接共享这些数据,会造成敏感信息泄露[2][5]。
低维数据匿名处理的基本原则是由Samarati和Sweeney提出的k-anonymity[6],要点是保证任何个人信息与k-1个他人不可分辨,主要采用基于伪标识的方法来实施。将这些方法简单应用于高维数据[7][8][9][10],会导致高信息损失[7][8]、无法应用标准数据挖掘工具[9]、处理结果难以解释[9][10]。具体来讲,Terrovitis等[7]将适用低维数据的k-anonymity[6]移植到高维数据、提出km-anonymity,要求个人信息记录中的任意m个项目也出现在至少k-1个他人记录中,并采用全子树概化方法[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 preserving pattern discovery.VLDB Journal,2008.
[2]M.Barbaro,T.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 Analysis Workshop,WWW 2007.
[4]A.Korolova,K.Kenthapadi,N.Mishra,A.Ntoulas.Releasing search queries and clicks privately.WWW2009.
[5]A.Narayanan and V.Shmatikov.How to Break Anonymity of the Netflix Prize Dataset.ArXiv ComputerScience e-prints,October 2006.
[6]P.Samarati and L.Sweeney.Generalizing data to provide anonymity when disclosing information.PODS1998.
[7]M.Terrovitis,N.Mamoulis,P.Kalnis.Privacy preserving Anonymization of Set valued Data.In VLDB2008.
[8]Y.Xu,K.Wang,A.Fu,P.S.Yu.Anonymizing Transaction Databases for Publication.KDD 2008.
[9]Y.He,J.Naughton.Anonymization of set-valued data via top-down local generalization.VLDB2009.
[10]G.Ghinita,Y.Tao,P.Kalnis.On the Anonymization ofSparse High-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 multidimensional k-anonymity.ICDE 2006.
发明内容
本发明目的是设计一种能够以最佳的数据效用和较高的计算性能实现高维数据匿名处理的方法,为海量网络信息共享过程提供安全保护手段。
本发明“一种集成概化与消隐的高维数据匿名处理方法”包括三项核心技术:A自顶向下贪婪搜索法,B最小安全威胁识别方法,C多轮次求解策略。
本发明处理方法根据高维数据库D、项目分类树HP、匿名阀值k、能力阀值m,求出匿名处理后的高维数据库D’。
本发明内容之一:
给定拟共享的高维数据集D={t1,t2,...,tn},其中tl为一条含个人信息的记录,由若干出自域I={i1,i2,...iq}的项目组成。安全攻击者有权获得共享数据并且知道特定个人的记录中包含某些项目,试图将特定个人与信息记录连接起来。任何项目的集合X简称为项目集。如果X是信息记录t的一个子集,则称t支持X。D中支持X的信息记录个数,记作sup(X,D)。一个包含不超过m个项目的集合X被称为安全威胁,如果其支持数少于k,即|X|≤m并且sup(X,D)<k,其中m是攻击者获取知识的能力阀值、k是用户指定的匿名阀值。经过匿名处理的数据库D’符合km-anonymity[7],如果D’不存在可能是安全威胁的项目集。匿名处理的概化方法根据项目分类树,用抽象项目替代具体项目。消隐方法则通过删除项目来实现匿名处理。在处理实际数据集时,单独采用其中的任一方法其信息损失都很高。
本发明集成概化方法与消隐方法来进行匿名处理,以保证匿名处理后能进行数据挖掘分析、降低信息损失、提高数据效用。概化的解可以定义为项目分类树HP上的一个割集Cut,包含HP上每条根到叶的路径上一个且仅一个项目,并可以用这些项目的集合来表达。消隐的解removal是割集的一个子集,是那些将被从所有记录中删去的项目集合。所以,一个完整的匿名处理的解可以表达为(Cut,removal)。然而,由于割集数量以及相应的消隐方案数量均与项目数量成指数关系,解的完全枚举在可计算性上是不可行的。
A自顶向下贪婪搜索法
本发明通过自顶向下贪婪搜索来集成概化与消隐方法。基本思路是以项目分类树HP的根结点为初始割集,逐步向下推移割集。每一步将当前割集中的一个项目替换成其分类树HP上的子女项目,并计算新的当前割集相对应的消隐方案。自顶向下搜索解的过程总是沿着降低信息损失最多的方向进行,也就是贪婪搜索。具体步骤如下:
A1令当前割集Cut初始化为空集,已访问的最佳割集Cutbest初始化为最顶层的割集,即由分类树HP根结点项目组成的集合。
A2当Cut有(最佳)子女割集提高数据效用,即上轮搜索时更新了Cutbest使得Cutbest≠Cut,则继续搜索。Cut的子女割集是通过替换其组成项目y为y在分类树HP上的子女项目获得的。
A2.1沿贪婪方向下降至Cut的最佳子女,即令当前割集Cut取Cutbest。
A2.2对于当前割集Cut的每个子女Cutchild进行评估如下。
A2.2.1通过将Cut的一个组成项目y替换成y在项目分类树HP上的所有子女项目获得Cutchild。
A2.2.2先按公式(A1)计算Cutchild的概化信息损失costG(Cutchild)。
其中,x*是割集Cutchild的一个组成项目,O(x*)是x*的所有后代叶结点项目在D中出现的频数,ILG(x*)是概化单个后代到x*的信息损失,并按公式(A2)计算[11]。
ILG(x*)=(#leaves(x*)-1)/(#leaves(HP)-1)公式(A2)
其中#leaves(x*)和#leaves(HP)分别表示以x*为根的子树的叶结点数和分类树HP的叶结点数。
A2.2.3如果costG(Cutchild)大于当前最小信息损失cost(Cutbest),则转A2.2(考虑Cut 下一个子女)。
A2.2.4找出概化后的数据库D′=g(D,Cutchild)中的安全威胁集合STset。
A2.2.5为割集Cutchild寻找一个好的消隐方案。为排除STset中各个安全威胁,需要从Cutchild除去某些项目,这些除去项目的集合removal也称为消隐方案。思路是找到一个子集safe使得保留safe中的项目不会将安全威胁集合STset列出的项目集也保留下来,换之言确保STset中的任一项目集不是safe的子集,因而removal=Cutchild\safe。这一步骤本身也是一个枚举的过程,亦采用贪婪搜索,以尽可能将消隐代价O(x*)·ILS(x*)高的项目保留safe中,具体操作如下。
A2.2.5.1令safe为空集,choice为Cutchild。
A2.2.5.2按O(x*)·ILS(x*)降序,取每个x*∈choice,其中ILS(x*)按公式(A3)计算。
ILS(x*)=1-ILG(x*)公式(A3)
A2.2.5.3如果safe ∪{x*}不包含STset中的任一项目集,则更新safe为safe ∪{x*}。
A2.2.5.4更新choice为choice\{x*}。
A2.2.5.5重复A2.2.5.2至A2.2.5.4直至choice为空。
A2.2.5.6令removal取Cutchild\safe。
A2.2.6按公式(A4)计算消隐方案removal信息损失。
其中x*是Cutchild中需要被消隐的项目,ILS(x*)按公式(A3)计算。换言之,ILG(x*)是概化单个后代到x*的信息损失,ILS(x*)则是进一步消隐x*而造成的附加在ILG(x*)之上的信息损失。消隐x*相当于x*的所有后代被概化到HP的顶层,单个x*的总信息损失为1(100%)。Cutclild及其消隐方案的总信息损失按公式(A5)计算。
cost(Cutchild)=cosS(Cutchild)+costG(Cutchild)公式(A5)
A2.2.7如果cost(Cutchild)小于当前最小信息损失cost(Cutbest),则Cutchild成为当前最佳割集,即令Cutbest取Cutchild。
A3如果没有子女割集能够降低信息损失,则停止、并返回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)、再临时挖掘D′。挖掘所有割集支持的所有最小威胁实质上是挖掘非频繁项目集,基本思路是枚举无前辈后代分类关系的项目组成的各个集合,即HP作为项目集合的各个子集,核心是构建最小安全威胁枚举树、并在构建过程中进行及时有效的裁剪,以避免穷举所有子集、特别是避免枚举成为最小安全威胁的项目集的超集。
最小安全威胁枚举树,简称allMST树,按给定的项目排列序β来构建,其中每个结点node均标注一个项目,记作node.item,allMST树根结点root.item特别标注为“空。对于每个按β序排在node.item前的项目i,均有node的一个子女结点child标注i,即child.item=i。node到根的路径上所有标注项目的集合,称为该结点的项目集,记作node.IS。所以,root.IS是空集。该树的特点是任何子集都先于其超集枚举,当一个项目集为最小安全威胁时,其任何超集都可以剪裁掉而不会被枚举,从而大大保证时间效率。
B1生成最小安全威胁枚举树(allMST)。具体步骤如下。
B1.1扫描数据库D一遍,按公式(A1)和公式(A3)统计HP各个项目x的消隐代价O(x)·ILS(x),令项目排列序β为消隐代价降序。
B1.2采用基于内存数据结构来表达按项目分类树HP增广的数据库DH,即为原始数据库D中各记录添加其组成项目的前辈项目。
B1.3创建allMST树的根结点root表示空集,令当前结点node取root。
B1.4如果当前结点node为空,则结束并返回allMST,否则继续。
B1.5如果node与其父亲结点parent项目集有相同支持数,即sup(node.IS,DH)=sup(parent.IS,DH),则剪除node并转B1.9。因为对于以node为根子树中任一结点node’,均有以parent为根子树中另一个结点parent’,满足sup(node’.IS,DH)=sup(parent’.IS,DH)并且parent’.IS是node’.IS的子集。换言之,node为根子树中不可能有最小安全威胁。
B1.6如果node.IS是allMST树已有某个结点prev的项目集prev.IS的子集,则剪除node并转B1.9。因为node为根子树中任意项目集均是已有最小安全威胁的子集,从而不可能是最小安全威胁。
B1.7如果sup(node.IS,DH)<k,则node.IS是一个最小安全威胁,保留node但停止生长node以下子树,令node取按深度优先序的下一个结点,接着转至B1.4。因为node以下子树的项目集都是node.IS的子集,不可能是最小安全威胁。
B1.8如果|node.IS|≥m,则剪除node。因为node.IS不是安全威胁而node以下子树中任一项目集均超出安全攻击者的能力范围。
B1.9如果当前结点node被剪除掉了,则清除node的前辈结点到根结点路径上每个只有一个子女的结点,令node取按深度优先序的下一个结点,接着转至B1.4。
B1.10对于每个按β序排在node.item前的项目i,如果node.IS中没有项目与i有前辈后代分类关系,则创建node的一个子女结点child,令child.item取i。更新node为自己的第一个子女结点,转B1.4。
B2查找当前割集Cutchild相关的安全威胁。具体步骤如下。
B2.1索引最小安全威胁枚举树(allMST)上仅包含Cutchild组成项目的叶结点到根结点的路径。
B2.2将所索引的路径作为STset返回。
本发明内容之二的关键点是一次性发现所有最小安全威胁,避免重复挖掘为多个割集支持的安全威胁,并且对最小安全威胁枚举树进行有效剪裁掉来缩小搜索空间,从而提高核心步骤的时间效率。
本发明内容之三:
本发明提出多轮次求解策略,来控制最小安全威胁枚举树allMST的规模。因为当项目分类树HP规模较大并且阀值m也比较大时,allMST树也可能是巨大的。多轮次求解策略目的是要解决这一可能出现的可伸缩性问题。
C多轮次求解策略
通过多个轮次逐步进行匿名化处理,即先找出符合较弱的匿名要求的割集,然后在前一个割集之上找出符合较强的匿名要求的割集。每轮搜索在上一轮削减后的分类树上进行,因而使allMST规模得到控制。即为找到满足km-anonymity的解,运行基于“发明内容A和发明内容B”的“基本方法”共m轮。步骤如下:
C1令初始割集Sol0取HP所有叶子结点的项目集合。
C2对于round取1到m执行:
C2.1令第round轮的项目分类树Hround取Solround-1及原始项目分类树HP在其以上的部分。
C2.2执行基于“发明内容A和发明内容B”的“基本方法”,在项目分类树Hround上求出满足kround-anonymity解,包括割集Solround及相应消隐方案。
C3返回Solm及相应的消隐方案作为最终解。
本发明内容之三的关键点是多轮次求解策略能够在“发明内容B”的基础上,进一步提高核心步骤的空间可伸缩性,最终使得整个方法的空间可伸缩性和时间效率都得到保障。
附图说明
图1集成A自顶向下贪婪搜索法、B最小安全威胁识别方法的基本方法流程
图2高维数据库D
图3项目分类树HP
图4最小安全威胁枚举树allMST
图5割集枚举树CUTtree
图6消隐方案枚举树(Removal针对图5的割集cut3)
图7集成C多轮次求解策略与基本方法的流程
具体实施方式
本发明“一种集成概化与消隐的高维数据匿名处理方法”提出三项创新技术,即自顶向下贪婪搜索法、最小安全威胁识别方法、多轮次求解策略。图1概括前两项创新技术集成的路线,图7是进一步集成多轮次求解策略的路线。
下面结合附图和实例(给定图2所示高维数据库D、图3所示项目分类树HP、能力阀值m=5、匿名阀值k=2),将技术方案分为“基本方法”和“多轮求解”两个过程做进一步描述。
过程一(基本方法):
本过程独立完整地执行基本的匿名处理方法。首先,一次性挖掘出高维数据库D所支持的项目分类树HP所有割集上的最小安全威胁,然后采用自顶向下贪婪搜索找出由割集及相应消隐方案组成的匿名处理解。过程一的具体步骤如下:
1.1 FindMinimumSecurityThreats:执行“发明内容步骤B1”,具体操作如下。
1.1.1DeterminOderingofltems:执行“发明内容步骤B1.1”。扫描数据库D第一遍,按公式(A1)和公式(A3)统计HP各个项目x的消隐代价O(x)·ILS(x),按消隐代价降序确定项目排列序β。
例如,对于图2所示高维数据库D、图3所示项目分类树HP,按公式(A1)和公式(A3)计算得出O(P)·ILS(P)=O(P)·(1-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,0。
1.1.2BuildExpandedDB:执行“发明内容步骤B1.2”。扫描数据库D第二遍,对于其中每条记录添加其组成项目的前辈项目并存储在内存中,得到增广数据库DH。
例如:图2所示数据库D的第一条记录t1={b,c,d},增广为{T,P,H,b,K,c,d}。
1.1.3CreateallMSTtree:执行“发明内容步骤B1.3至B1.10”。按深度优先的方式构建allMST树,并适时进行剪裁。
例如:给定图2所示高维数据库D、图3所示项目分类树HP,按25-anonymity要求,即能力阀值m=5、匿名阀值k=2,构建得出最小安全威胁枚举树allMST如图4所示。
1.2GreedilySearchingAnonymizationSolution:执行“发明内容步骤A”,自顶向下贪婪搜索分类树HP上的割集,这一过程可以用一棵割集枚举树CUTtree来描述。具体步骤如下。
1.2.1CreateCUTtreeNullRoot:执行“发明内容步骤A1”。令当前割集Cut为空,已访问最佳割集Cutbest初始化为最顶层的割集,即由分类树HP的根结点项目。
接上例,图5所示割集枚举树CUTtree记载着求解的过程。在此,令Cut取{},令Cutbest取{T}=cut1。
1.2.2当Cut≠Cutbest,执行“发明内容步骤A2至A3”如下:
1.2.2.1GreedilyDescendToBestChild:令Cut取Cutbest。
1.2.2.2对于Cut的每个组成项目y,如果y有分类子女,则执行
1.2.2.2.1令Cutchild=Cut ∪children(y)\{y},其中children{y}是y的所有分类子女的集合。
1.2.2.2.2按公式(A 1)计算Cutchild的概化信息损失cosG(Cutchild)。
接上例,对于Cut=cut1={T}和y=T,令Cutchild=Cut ∪children(y)\{y}={T}∪children(T)\{T}={e,i,P,Q}=cut2。此时,cosG(Cutchild)=cosG(cut2)=6.6,而cost(Cutbest)=cost(cut1)=23。
1.2.2.2.3如果costG(Cutchild)大于当前最小信息损失cost(Cutbest),则转1.2.2.2(取Cut的下一个组成项目)。
1.2.2.2.4执行“发明内容步骤B2”,从allMST树中检索出与当前割集Cutchild相关的安全威胁集合STset。
接上例,对于Cutchild=cut2={e,i,P,Q},STset中存在一个安全威胁{e,i}。
1.2.2.2.5执行“发明内容步骤A2.2.5”,为割集Cutchild寻找一个好的消隐方案removal。
接上例,对于STset={{e,i}},找到removal={i}。
1.2.2.2.6按公式(A4)计算消隐方案removal信息损失,并按公式(A5)计算Cutchild总信息损失。
接上例,costs(Cutchild)=coss(cut2)=O(i)·ILS(i)=2。所以,cost(Cutchid)=cost(cut2)=costG(cut2)+costs(cut2)=6.6+2=8.6。
1.2.2.2.7如果cost(Cutchild)小于当前最小信息损失cost(Cutbest),则Cutchild成为当前最佳割集,即令Cutbest取Cutchild。
接上例,由于cost(Cutbest)=cost(cut1)=23>cost(Cutchid)=cost(cut2)=8.6,Cutchild取Cutchild,即cut2。
1.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。下面对本过程“1.2.2.2.4至1.2.2.2.5”步骤求出cut3的消隐方案removal做详细叙述。
首先,检索allMST树,求得cut3={e,i,H,K,Q}相关的安全威胁集合STset={{e,i},{H,K,Q}}。然后,贪婪搜索如图6所示消隐方案枚举树,其中项目按β序排列,即按消隐代价降序排列。图中,每个结点标注safe集和choice集,实际搜索过程经历的路线是SS1-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.1令初始轮次割集Sol0取HP所有叶子结点的项目集合。
例如,对于图3所示HP,Sol0取{e,i,a,b,c,d,f,g,x,y,z}。
2.2对于round取1到m执行:
2.2.1令第round轮的项目分类树Hround取Solround-1及原始项目分类树HP,在其以上的部分。
接上例,对于round=1,分类树H1就是原始项目分类树HP。
2.2.2第round轮执行“过程一(基本方法)”,在项目分类树Hround上求出满足kround-anonymity的解,包括割集Solround及相应的消隐方案。
接上例,round=1时,在H1上求得21-anonymity的解为Sol1={e,i,a,b,c,d,f,g,M}及消隐方案removal={}。同理,Sol2={e,i,H,K,J,M}及消隐方案removal={i}。Sol3={e,i,P,J,M}及消隐方案removal={i}。
2.3返回Solm及相应的消隐方案作为最终解。
接上例,采用“过程二(多轮求解)”,至第3轮即满足25-anonymity,总共生成allMPT树19条路径、30个结点,其中单轮的allMPT树最大开销是13条路径、19个结点。然而,采用“过程一(基本方法)”直接求解25-anonymity,生成allMPT树有25条路径、39个结点。可见,多轮求解策略能有效地保障空间可伸缩性,大量实际数据集中进行实验时,其所表现出的优越性更加显著。
性能测评:本发明“一种集成概化与消隐的高维数据匿名处理方法”的性能测评实验表明,本发明处理方法数据效用大大高于三个参照方法,性能也大大优于其中二个参照方法,仅次于另一个参照方法、但该参照方法的数据效用最低。
小结:本发明设计了“一种集成概化与消隐的高维数据匿名处理方法”,提出三项创新性技术,一是自顶向下贪婪搜索法,二是最小安全威胁识别方法,三是多轮次求解策略,从而设计出一种全新的高维数据匿名处理方法,有效地降低信息损失、保证数据效用,并解决时间效率与空间可伸缩性的问题。本发明处理方法处理后的数据能够应用标准数据挖掘工具进行分析,在网络海量信息共享中有着广泛应用前景。
Claims (4)
1.一种集成概化与消隐的高维数据匿名处理方法,根据高维数据库D、项目分类树HP、匿名阀值k、能力阀值m,以最佳数据效用和较高计算性能求出匿名处理后的高维数据库D’,包括以下三项核心技术的具体方法流程:
A自顶向下贪婪搜索法。
B最小安全威胁识别方法。
C多轮次求解策略。
2.根据权利要求1所述的一种集成概化与消隐的高维数据匿名处理方法,核心技术A的具体方法流程如下:
A1令当前割集Cut初始化为空集,已访问的最佳割集Cutbest初始化为由HP根结点项目组成的集合。
A2当Cut有子女割集提高数据效用,即Cutbest≠Cut时,继续搜索。
A2.1沿贪婪方向下降至Cut的最佳子女,即令当前割集Cut取Cutbest。
A2.2对于当前割集Cut的每个子女Cutchild进行评估如下。
A2.2.1通过将Cut的一个组成项目y替换成y在项日分类树HP上的所有子女项目获得Cutchild。
A2.2.2先按公式(A1)计算Cutchild的概化信息损失costG(Cutchild)。
其中,x*是割集Cutchild的一个组成项目,O(x*)是x*的所有后代叶结点项目在D中出现的频数,ILG(x*)是概化单个后代到x*的信息损失,并按公式(A2)计算错误!未找到引用源。。
ILG(x*)=(#leaves(x*)-1)/(#leaves(HP)-1)公式(A2)
其中#leaves(x*)和#leaves(HP)分别表示以x*为根的子树的叶结点数和分类树HP的叶结点数。
A2.2.3如果cosG(Cutchild)大于当前最小信息损失cost(Cutbest),则转A2.2(考虑Cut下一个子女)。
A2.2.4找出概化后的数据库D′=g(D,Cutchild)中的安全威胁集合STset。
A2.2.5为割集Cutchildd寻找一个好的消隐方案。为排除STset中各个安全威胁,需要从Cutchild除去某些项目,这些除去项目的集合removal也称为消隐方案。具体操作如下。
A2.2.5.1令safe为空集,choice为Cutchild。
A2.2.5.2按O(x*)·ILS(x*)降序,取每个x*∈choice,其中ILS(x*)按公式(A3)计算。
ILS(x*)=1-ILG(x*)公式(A3)
A2.2.5.3如果safe ∪{x*}不包含STset中的任一项目集,则更新safe为safe ∪{x*}。
A2.2.5.4更新choice为choice\{x*}。
A2.2.5.5重复A2.2.5.2至A2.2.5.4直至choice为空。
A2.2.5.6令removal取Cutchild\safe。
A2.2.6按公式(A4)计算消隐方案removal信息损失。
其中x*是Cutchild中需要被消隐的项目,ILS(x*)按公式(A3)计算。Cutchild的总信息损失按公式(A5)计算。
cost(Cutchild)=costS(Cutchild)+costG(Cutchild)公式(A5)
A2.2.7如果cost(Cutchild)小于当前最小信息损失cost(Cutbest),则令Cutbest取Cutchild。
A3如果没有子女割集能够降低信息损失,则停止、并返回Cutbest及相应消隐方案removal。
3.根据权利要求1所述的一种集成概化与消隐的高维数据匿名处理方法,核心技术B的具体方法流程如下:
B1生成最小安全威胁枚举树,简称allMST树。按给定的项目排列序β来构建allMST树,其中每个结点node均标注一个项目,记作node.item,allMST树根结点root.item特别标注为“空。对于每个按β序排在node.item前的项目i,均有node的一个子女结点child标注i,即child.item=i。node到根的路径上所有标注项目的集合,称为该结点的项目集,记作node.IS。具体步骤如下。
B1.1扫描数据库D一遍,按公式(A1)和公式(A3)统计HP各个项目x的消隐代价O(x)·ILS(x),令项目排列序β为消隐代价降序。
B1.2采用基于内存数据结构来表达按项目分类树HP增广的数据库DH,即为原始数据库D中各记录添加其组成项目的前辈项目。
B1.3创建allMST树的根结点root表示空集,令当前结点node取root。
B1.4如果当前结点node为空,则结束并返回allMST,否则继续。
B1.5如果node与其父亲结点parent项目集有相同支持数,即sup(node.IS,DH)=sup(parent.IS,DH),则剪除node并转B1.9。
B1.6如果node.IS是allMST树已有某个结点prev的项目集prev.IS的子集,则剪除node并转B1.9。
B1.7如果sup(node.IS,DH)<k,则node.IS是一个最小安全威胁,保留node但停止生长node以下子树,令node取按深度优先序的下一个结点,接着转至B 1.4。
B1.8如果|node.IS|≥m,则剪除node。
B1.9如果当前结点node被剪除掉了,则清除node的前辈结点到根结点路径上每个只有一个子女的结点,令node取按深度优先序的下一个结点,接着转至B1.4。
B1.10对于每个按β序排在node.item前的项目i,如果node.IS中没有项目与i有前辈后代分类关系,则创建node的一个子女结点child,令child.item取i。更新node为自己的第一个子女结点,转B1.4。
B2查找当前割集Cutchild相关的安全威胁。具体步骤如下。
B2.1索引最小安全威胁枚举树(allMST)上仅包含Cutchild组成项目的叶结点到根结点的路径。
B2.2将所索引的路径作为STset返回。
4.根据权利要求1所述的一种集成概化与消隐的高维数据匿名处理方法,核心技术C的具体方法流程如下:
C1令初始割集Sol0取HP所有叶子结点的项目集合。
C2对于round取1到m执行:
C2.1令第round轮的项目分类树Hround取Solround-1及原始项目分类树HP在其以上的部分。
C2.2运行基于“发明内容A和发明内容B”的“基本方法”,在项目分类树Hround上求出满足kround-anonymity解,包括割集Solround及相应消隐方案。
C3返回Solm及相应的消隐方案作为最终解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100425572A CN102637247A (zh) | 2012-02-23 | 2012-02-23 | 一种集成概化与消隐的高维数据匿名处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100425572A CN102637247A (zh) | 2012-02-23 | 2012-02-23 | 一种集成概化与消隐的高维数据匿名处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102637247A true CN102637247A (zh) | 2012-08-15 |
Family
ID=46621639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100425572A Pending CN102637247A (zh) | 2012-02-23 | 2012-02-23 | 一种集成概化与消隐的高维数据匿名处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102637247A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225967A (zh) * | 2023-05-05 | 2023-06-06 | 贵州易鲸捷信息技术有限公司 | 基于集合枚举树和剪枝策略的分布式数据库测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346569A (ja) * | 2004-06-04 | 2005-12-15 | Canon Inc | 情報処理装置、情報処理方法及びそのプログラム |
CN1770700A (zh) * | 2004-11-01 | 2006-05-10 | 中兴通讯股份有限公司 | 计算机攻击的威胁评估方法 |
CN101315545A (zh) * | 2008-06-27 | 2008-12-03 | 浙江大学 | 一种加氢站高效加氢的三级加注优化控制方法及其系统 |
CN101908017A (zh) * | 2010-06-01 | 2010-12-08 | 南京大学 | 一种基于部分多重覆盖的回归测试用例筛选方法 |
-
2012
- 2012-02-23 CN CN2012100425572A patent/CN102637247A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346569A (ja) * | 2004-06-04 | 2005-12-15 | Canon Inc | 情報処理装置、情報処理方法及びそのプログラム |
CN1770700A (zh) * | 2004-11-01 | 2006-05-10 | 中兴通讯股份有限公司 | 计算机攻击的威胁评估方法 |
CN101315545A (zh) * | 2008-06-27 | 2008-12-03 | 浙江大学 | 一种加氢站高效加氢的三级加注优化控制方法及其系统 |
CN101908017A (zh) * | 2010-06-01 | 2010-12-08 | 南京大学 | 一种基于部分多重覆盖的回归测试用例筛选方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225967A (zh) * | 2023-05-05 | 2023-06-06 | 贵州易鲸捷信息技术有限公司 | 基于集合枚举树和剪枝策略的分布式数据库测试方法 |
CN116225967B (zh) * | 2023-05-05 | 2023-07-07 | 贵州易鲸捷信息技术有限公司 | 基于集合枚举树和剪枝策略的分布式数据库测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Phaneendra et al. | Big Data-solutions for RDBMS problems-A survey | |
CN103631909B (zh) | 对大规模结构化和非结构化数据联合处理的系统及方法 | |
CN102662974B (zh) | 一种基于邻接节点树的网络图索引方法 | |
CN102129479B (zh) | 一种基于概率潜在语义分析模型的万维网服务发现方法 | |
Patel et al. | Data modeling techniques for data warehouse | |
CN103092867A (zh) | 一种数据管理方法及系统、数据分析装置 | |
CN104216874A (zh) | 基于相关系数的中文词间加权正负模式挖掘方法及系统 | |
Subramanian et al. | UP-GNIV: an expeditious high utility pattern mining algorithm for itemsets with negative utility values | |
Papadakis et al. | Efficient entity resolution methods for heterogeneous information spaces | |
CN103440308B (zh) | 一种基于形式概念分析的数字论文检索方法 | |
CN105468740B (zh) | 一种游戏玩家数据的存储、分析方法及装置 | |
CN102637247A (zh) | 一种集成概化与消隐的高维数据匿名处理方法 | |
Ren et al. | Efficient processing of shortest path queries in evolving graph sequences | |
Yafooz et al. | Dynamic semantic textual document clustering using frequent terms and named entity | |
Olawumi et al. | Scientometric review and analysis: A case example of smart buildings and smart cities | |
CN108153744A (zh) | 一种数据存储维护方法及装置 | |
Nguyen et al. | Discovering descriptive rules in relational dynamic graphs | |
CN112540987A (zh) | 一种基于数据集市的配用电大数据管理系统 | |
Al-Maqaleh et al. | An efficient algorithm for mining association rules using confident frequent itemsets | |
Kaur | Improving the Efficiency of Apriori Algorithm in Data Mining | |
Zgambo | Databases and information systems | |
Sudolska et al. | Profiling research on a sustainable enterprise and a sustainable organization | |
Dara et al. | A novel approach for data cleaning by selecting the optimal data to fill the missing values for maintaining reliable data warehouse | |
Kumar et al. | Clustering and ranking social media users based on temporal analysis | |
Xi | Research on the construction of library data integration system in big data era |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120815 |