专利名称:一种k-匿名改进方法
技术领域:
本发明涉及数据挖掘领域中的K-匿名(K-Anonymity),特别涉及一种K-匿名改进方法。
背景技术:
数据匿名化采用的常用处理手段源于统计数据库中的数据处理方法,主要是通过以发布数据中的属性值的信息损失为代价,换取通过这些属性值再标识某些个体的准确性,同时尽可能保证发布数据的可用性,在发布数据的准确性和隐私保护之间达到一种平衡。传统的隐私保护方法,为了保证发布数据的整体趋势,往往以牺牲单个数据记录的准确性为代价。K-Anonymity (K-匿名算法):K_匿名(K-Anonymity)是不同于传统的访问控制等基于目标的隐私保护技术,是一个典型的微数据发布模型(微数据定义为一条表达和描述个体信息的数据记录,为个体信息的载体。这些信息包括个体的标识信息(如姓名、身份证号等)、敏感信息(如病史等)、以及一些非敏感信息(如性别)。每个信息都是以个体属性和相应的属性值匹配的方式作为微数据(记录)的某个分量。)。它要求首先对原始数据进行预处理以满足匿名要求,然后将已处理的数据予以发布。它并不要求限制对已发布数据的访问,相反尽可能的保持数据的可统计性。因而数据泛化(泛化是对于数据的一个属性, 用概括值代替原来的值,使其意义更为广阔)是常用的数据预处理手段。K匿名就是要求在一个集合中(这里是指广义集合,即允许包含相同元素,类似于包(Bag)或簇(Cluster)的概念)中只能以不大于l/k(k是一个常数)的概率确定任何一个元素,即要求任何一个元素,集合中至少存在k-Ι个相同的副本元素。用形式化语言表述K匿名的概念,一般是将发布数据表中的个体记录的属性分为标识符、准标识符和敏感属性三类,并提出了等价类的概念。以下是相关定义标识符(Identifiers):标识符属性是指能够直接标识出个体身份的属性,如姓名、身份证号码、社会保险号码等属性,通过这些属性值能够直接确定具体的个体。准标识符(Quasi-hdentifiers,QI)给定实体集合U、实体表T (A1, A2, LAn),f。U — T以及fg:T — U ‘,其中,f/ef/’。实体表T的准标识符QI为属性组 (A^A2 --Aj), (4,4/"4化(4,4/"4),其中,取£"且满足5&>#1])) =pi0 换言之,同时存在于发布数据表和外部数据源表中,利用此两种数据表进行连接的推演来表示个人隐私信息的一组属性称为准标识符属性。准标识符属性也叫做类标识符属性。不同的发布数据表可以根据不同的情况划分不同的准标识符属性,一般情况下准标识符由专家选择,而非用户随便选取。一般情况下可以以年龄、教育程度、性别作为准标识符。敏感属性(Sensitive-Attributes,SA),个人隐私属性。发布数据中,个体不希望其他用户知道的信息属性。比如说个人的工资水平以及患者的就诊记录中的所患疾病。发布数据时,为了防止个人敏感信息的泄露,标识符必须被删除,发布的数据记录只保留准标识符属性和敏感属性,称为匿名化处理。
等价组在准标识符上的投影完全相同的记录组成的等价组,即等价组中所有的记录在准标识符上的属性值完全相同,其他的属性值可以不同。K-匿名给定数据表T(A1; A^An),QI是与T相关联的准标识符,当且仅当在 T[QI]中出现的每个值序列至少在τΚ ]中出现K次,则T满足κ-匿名。ΤΚ Ι]表示T表中的元组在QI上的投影。现实生活中,将医疗、投票和求职等信息公开的同时又要保证隐藏相关患者、投票人和求职人等的个体标识信息并确保这些公布的数据不能用来推导出这些标识信息,K-匿名就是非常好的可选模型。当数据发布到公共数据库,数据的拥有者不再继续控制数据的使用方式和范围时,在这种情况下为了不暴露数据主体的身份移出所有涉及到个体标识的数据项信息De-Identification (去标识)就是一种常用的方法。发明人在实现本发明的过程中发现现有技术中至少存在以下的缺点现有技术中的K-匿名方法在判断和比较的时候,都需要比较泛化格中的所有节点,当泛化格的规模比较大时,执行时间将会很长,这对于数据处理是很不利的;这种方法多半是全局最优的,由于数据分布的不均勻性,即存在着孤立簇(即数量很小的集合),为了达到匿名要求,不得不采用更高的泛化层次,这显然会降低信息的准确性。
发明内容
为了缩短执行时间,提高信息的准确性,本发明提供了一种K-匿名改进方法,详见下文描述一种K-匿名改进方法,所述方法包括以下步骤(1)根据原始数据集选择准标识符,由所述准标识符确定泛化方式,并建立与所述泛化方式对应的初始泛化格;(2)判断所述初始泛化格是否为空,如果是,流程结束;如果否,执行步骤(3);(3)根据最优节点选择方式从所述初始泛化格的所有节点中选择出全局最优节点,获取第一泛化格;(4)根据所述全局最优节点对待发布数据进行匿名化处理,获取和所述全局最优节点相应的匿名簇的数量;(5)判断所述匿名簇的数量是否小于预设数量,如果是,执行步骤(6);如果否,执行步骤(7);(6)对所述第一泛化格进行所述最优节点选择方式计算,获取最优节点;(7)匿名簇为非孤立簇,对所述第一泛化格进行二次K-匿名计算,获取所述最优节占.
I— /、、、 (8)将所述待发布数据按照所述最优节点对应的泛化方式进行泛化,获取泛化后的数据,将所述泛化后的数据发布,流程结束。步骤(3)中的所述根据最优节点选择方式从所述初始泛化格的所有节点中选择出全局最优节点,获取第一泛化格,具体为①计算所述初始泛化格中所有节点的度;②对所述初始泛化格中所有节点按照度进行排序,获取度最大节点;③判断所述度最大节点是否满足K-匿名,如果是,执行步骤④;如果否,执行步骤⑤;④所述度最大节点的所有父节点都为K-匿名节点,删除所述度最大节点的所有祖先节点,查找所述原始数据集中保存的K-min集合,判断所述K-min集合中是否有所述度最大节点的祖先,如果是,从所述K-min集合中删除所述度最大节点的祖先;如果否,执行步骤⑥;⑤所述度最大节点的所有子孙节点都不是K-匿名节点,删除所述度最大节点以及所述度最大节点的所有子孙节点;⑥计算所述K-min集合中所有节点的信息损失量,获取最/J、 最小信息损失量对应的节点作为全局最优节点,获取所述第一泛化格其中,计算所述K-min集合中所有节点的信息损失量具体为
息损失量,将所述
N U
y ni τ £ τ 合 DGHi InjoLoss = 其中,N表示元组集中的准标识符个数、DGHi表示N个准标识符中第i个准标识符的泛化等级、Iii表示准标识符i的泛化程度。本发明提供的技术方案的有益效果是本发明提供了一种K-匿名改进方法,本发明提供的方法缩短了执行时间,提高了信息的准确性,满足了实际应用中的需要。
图1为本发明提供的年龄Age的泛化方式;图2为本发明提供的性别kx的泛化方式;图3为本发明提供的年龄Age和性别kx的泛化格;图4为本发明提供的一种K-匿名改进方法的流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为了缩短执行时间,提高信息的准确性,本发明实施例提供了一种K-匿名改进方法,本发明实施例基于K匿名算法,用于对隐私数据进行去标识,本发明实施例采用的预处理主要在得到最优节点后,对泛化格进行进一步的优化,详见下文描述101 根据原始数据集选择准标识符,由准标识符确定泛化方式,并建立与泛化方式对应的初始泛化格;其中,遍历初始泛化格后保存有K-min集合。参见图1、图2和图3,例如从原始数据集中选择准标识符年龄Age和性别kx,由准标识符年龄Age和性别kx确定泛化方式,泛化方式由以下泛化向量组成=Ua1. . . a,. . . ,其中%表示节点每个属性的泛化等级
(泛化高度),k为表中的属性个数;泛化等级
权利要求
1.一种K-匿名改进方法,其特征在于,所述方法包括以下步骤(1)根据原始数据集选择准标识符,由所述准标识符确定泛化方式,并建立与所述泛化方式对应的初始泛化格;(2)判断所述初始泛化格是否为空,如果是,流程结束;如果否,执行步骤(3);(3)根据最优节点选择方式从所述初始泛化格的所有节点中选择出全局最优节点,获取第一泛化格;(4)根据所述全局最优节点对待发布数据进行匿名化处理,获取和所述全局最优节点相应的匿名簇的数量;(5)判断所述匿名簇的数量是否小于预设数量,如果是,执行步骤(6);如果否,执行步骤⑵;(6)对所述第一泛化格进行所述最优节点选择方式计算,获取最优节点;(7)匿名簇为非孤立簇,对所述第一泛化格进行二次K-匿名计算,获取所述最优节点;(8)将所述待发布数据按照所述最优节点对应的泛化方式进行泛化,获取泛化后的数据,将所述泛化后的数据发布,流程结束。
2.根据权利要求1所述的一种K-匿名改进方法,其特征在于,步骤(3)中的所述根据最优节点选择方式从所述初始泛化格的所有节点中选择出全局最优节点,获取第一泛化格,具体为①计算所述初始泛化格中所有节点的度;②对所述初始泛化格中所有节点按照度进行排序,获取度最大节点;③判断所述度最大节点是否满足K-匿名,如果是,执行步骤④;如果否,执行步骤⑤;④所述度最大节点的所有父节点都为K-匿名节点,删除所述度最大节点的所有祖先节点,查找所述原始数据集中保存的K-min集合,判断所述K-min集合中是否有所述度最大节点的祖先,如果是,从所述K-min集合中删除所述度最大节点的祖先;如果否,执行步骤⑤所述度最大节点的所有子孙节点都不是K-匿名节点,删除所述度最大节点以及所述度最大节点的所有子孙节点;⑥计算所述K-min集合中所有节点的信息损失量,获取最小信息损失量,将所述最小信息损失量对应的节点作为全局最优节点,获取所述第一泛化格;其中,计算所述K-min集合中所有节点的信息损失量具体为
全文摘要
本发明公开了一种K-匿名改进方法,涉及数据挖掘领域,根据原始数据集选择准标识符,确定泛化方式,并建立与泛化方式对应的初始泛化格;判断初始泛化格是否为空,如果否,根据最优节点选择方式从初始泛化格的所有节点中选择出全局最优节点,获取第一泛化格;根据全局最优节点对待发布数据进行匿名化处理,获取匿名簇的数量;判断匿名簇的数量是否小于预设数量,如果是,对第一泛化格进行最优节点选择方式计算,获取最优节点;如果否,匿名簇为孤立簇,对第一泛化格进行二次K-匿名计算,获取最优节点;将待发布数据按照最优节点对应的泛化方式进行泛化,获取泛化后的数据,将泛化后的数据发布。本发明缩短了执行时间,提高了信息的准确性。
文档编号G06F17/30GK102156755SQ20111011730
公开日2011年8月17日 申请日期2011年5月6日 优先权日2011年5月6日
发明者张静 申请人:天津大学