專利名稱:一種k-匿名改進方法
技術(shù)領域:
本發(fā)明涉及數(shù)據(jù)挖掘領域中的K-匿名(K-Anonymity),特別涉及一種K-匿名改進方法。
背景技術(shù):
數(shù)據(jù)匿名化采用的常用處理手段源于統(tǒng)計數(shù)據(jù)庫中的數(shù)據(jù)處理方法,主要是通過以發(fā)布數(shù)據(jù)中的屬性值的信息損失為代價,換取通過這些屬性值再標識某些個體的準確性,同時盡可能保證發(fā)布數(shù)據(jù)的可用性,在發(fā)布數(shù)據(jù)的準確性和隱私保護之間達到一種平衡。傳統(tǒng)的隱私保護方法,為了保證發(fā)布數(shù)據(jù)的整體趨勢,往往以犧牲單個數(shù)據(jù)記錄的準確性為代價。K-Anonymity (K-匿名算法):K_匿名(K-Anonymity)是不同于傳統(tǒng)的訪問控制等基于目標的隱私保護技術(shù),是一個典型的微數(shù)據(jù)發(fā)布模型(微數(shù)據(jù)定義為一條表達和描述個體信息的數(shù)據(jù)記錄,為個體信息的載體。這些信息包括個體的標識信息(如姓名、身份證號等)、敏感信息(如病史等)、以及一些非敏感信息(如性別)。每個信息都是以個體屬性和相應的屬性值匹配的方式作為微數(shù)據(jù)(記錄)的某個分量。)。它要求首先對原始數(shù)據(jù)進行預處理以滿足匿名要求,然后將已處理的數(shù)據(jù)予以發(fā)布。它并不要求限制對已發(fā)布數(shù)據(jù)的訪問,相反盡可能的保持數(shù)據(jù)的可統(tǒng)計性。因而數(shù)據(jù)泛化(泛化是對于數(shù)據(jù)的一個屬性, 用概括值代替原來的值,使其意義更為廣闊)是常用的數(shù)據(jù)預處理手段。K匿名就是要求在一個集合中(這里是指廣義集合,即允許包含相同元素,類似于包(Bag)或簇(Cluster)的概念)中只能以不大于l/k(k是一個常數(shù))的概率確定任何一個元素,即要求任何一個元素,集合中至少存在k-Ι個相同的副本元素。用形式化語言表述K匿名的概念,一般是將發(fā)布數(shù)據(jù)表中的個體記錄的屬性分為標識符、準標識符和敏感屬性三類,并提出了等價類的概念。以下是相關定義標識符(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 換言之,同時存在于發(fā)布數(shù)據(jù)表和外部數(shù)據(jù)源表中,利用此兩種數(shù)據(jù)表進行連接的推演來表示個人隱私信息的一組屬性稱為準標識符屬性。準標識符屬性也叫做類標識符屬性。不同的發(fā)布數(shù)據(jù)表可以根據(jù)不同的情況劃分不同的準標識符屬性,一般情況下準標識符由專家選擇,而非用戶隨便選取。一般情況下可以以年齡、教育程度、性別作為準標識符。敏感屬性(Sensitive-Attributes,SA),個人隱私屬性。發(fā)布數(shù)據(jù)中,個體不希望其他用戶知道的信息屬性。比如說個人的工資水平以及患者的就診記錄中的所患疾病。發(fā)布數(shù)據(jù)時,為了防止個人敏感信息的泄露,標識符必須被刪除,發(fā)布的數(shù)據(jù)記錄只保留準標識符屬性和敏感屬性,稱為匿名化處理。
等價組在準標識符上的投影完全相同的記錄組成的等價組,即等價組中所有的記錄在準標識符上的屬性值完全相同,其他的屬性值可以不同。K-匿名給定數(shù)據(jù)表T(A1; A^An),QI是與T相關聯(lián)的準標識符,當且僅當在 T[QI]中出現(xiàn)的每個值序列至少在τΚ ]中出現(xiàn)K次,則T滿足κ-匿名。ΤΚ Ι]表示T表中的元組在QI上的投影?,F(xiàn)實生活中,將醫(yī)療、投票和求職等信息公開的同時又要保證隱藏相關患者、投票人和求職人等的個體標識信息并確保這些公布的數(shù)據(jù)不能用來推導出這些標識信息,K-匿名就是非常好的可選模型。當數(shù)據(jù)發(fā)布到公共數(shù)據(jù)庫,數(shù)據(jù)的擁有者不再繼續(xù)控制數(shù)據(jù)的使用方式和范圍時,在這種情況下為了不暴露數(shù)據(jù)主體的身份移出所有涉及到個體標識的數(shù)據(jù)項信息De-Identification (去標識)就是一種常用的方法。發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下的缺點現(xiàn)有技術(shù)中的K-匿名方法在判斷和比較的時候,都需要比較泛化格中的所有節(jié)點,當泛化格的規(guī)模比較大時,執(zhí)行時間將會很長,這對于數(shù)據(jù)處理是很不利的;這種方法多半是全局最優(yōu)的,由于數(shù)據(jù)分布的不均勻性,即存在著孤立簇(即數(shù)量很小的集合),為了達到匿名要求,不得不采用更高的泛化層次,這顯然會降低信息的準確性。
發(fā)明內(nèi)容
為了縮短執(zhí)行時間,提高信息的準確性,本發(fā)明提供了一種K-匿名改進方法,詳見下文描述一種K-匿名改進方法,所述方法包括以下步驟(1)根據(jù)原始數(shù)據(jù)集選擇準標識符,由所述準標識符確定泛化方式,并建立與所述泛化方式對應的初始泛化格;(2)判斷所述初始泛化格是否為空,如果是,流程結(jié)束;如果否,執(zhí)行步驟(3);(3)根據(jù)最優(yōu)節(jié)點選擇方式從所述初始泛化格的所有節(jié)點中選擇出全局最優(yōu)節(jié)點,獲取第一泛化格;(4)根據(jù)所述全局最優(yōu)節(jié)點對待發(fā)布數(shù)據(jù)進行匿名化處理,獲取和所述全局最優(yōu)節(jié)點相應的匿名簇的數(shù)量;(5)判斷所述匿名簇的數(shù)量是否小于預設數(shù)量,如果是,執(zhí)行步驟(6);如果否,執(zhí)行步驟(7);(6)對所述第一泛化格進行所述最優(yōu)節(jié)點選擇方式計算,獲取最優(yōu)節(jié)點;(7)匿名簇為非孤立簇,對所述第一泛化格進行二次K-匿名計算,獲取所述最優(yōu)節(jié)占.
I— /、、、 (8)將所述待發(fā)布數(shù)據(jù)按照所述最優(yōu)節(jié)點對應的泛化方式進行泛化,獲取泛化后的數(shù)據(jù),將所述泛化后的數(shù)據(jù)發(fā)布,流程結(jié)束。步驟(3)中的所述根據(jù)最優(yōu)節(jié)點選擇方式從所述初始泛化格的所有節(jié)點中選擇出全局最優(yōu)節(jié)點,獲取第一泛化格,具體為①計算所述初始泛化格中所有節(jié)點的度;②對所述初始泛化格中所有節(jié)點按照度進行排序,獲取度最大節(jié)點;③判斷所述度最大節(jié)點是否滿足K-匿名,如果是,執(zhí)行步驟④;如果否,執(zhí)行步驟⑤;④所述度最大節(jié)點的所有父節(jié)點都為K-匿名節(jié)點,刪除所述度最大節(jié)點的所有祖先節(jié)點,查找所述原始數(shù)據(jù)集中保存的K-min集合,判斷所述K-min集合中是否有所述度最大節(jié)點的祖先,如果是,從所述K-min集合中刪除所述度最大節(jié)點的祖先;如果否,執(zhí)行步驟⑥;⑤所述度最大節(jié)點的所有子孫節(jié)點都不是K-匿名節(jié)點,刪除所述度最大節(jié)點以及所述度最大節(jié)點的所有子孫節(jié)點;⑥計算所述K-min集合中所有節(jié)點的信息損失量,獲取最/J、 最小信息損失量對應的節(jié)點作為全局最優(yōu)節(jié)點,獲取所述第一泛化格其中,計算所述K-min集合中所有節(jié)點的信息損失量具體為
息損失量,將所述
N U
y ni τ £ τ 合 DGHi InjoLoss = 其中,N表示元組集中的準標識符個數(shù)、DGHi表示N個準標識符中第i個準標識符的泛化等級、Iii表示準標識符i的泛化程度。本發(fā)明提供的技術(shù)方案的有益效果是本發(fā)明提供了一種K-匿名改進方法,本發(fā)明提供的方法縮短了執(zhí)行時間,提高了信息的準確性,滿足了實際應用中的需要。
圖1為本發(fā)明提供的年齡Age的泛化方式;圖2為本發(fā)明提供的性別kx的泛化方式;圖3為本發(fā)明提供的年齡Age和性別kx的泛化格;圖4為本發(fā)明提供的一種K-匿名改進方法的流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。為了縮短執(zhí)行時間,提高信息的準確性,本發(fā)明實施例提供了一種K-匿名改進方法,本發(fā)明實施例基于K匿名算法,用于對隱私數(shù)據(jù)進行去標識,本發(fā)明實施例采用的預處理主要在得到最優(yōu)節(jié)點后,對泛化格進行進一步的優(yōu)化,詳見下文描述101 根據(jù)原始數(shù)據(jù)集選擇準標識符,由準標識符確定泛化方式,并建立與泛化方式對應的初始泛化格;其中,遍歷初始泛化格后保存有K-min集合。參見圖1、圖2和圖3,例如從原始數(shù)據(jù)集中選擇準標識符年齡Age和性別kx,由準標識符年齡Age和性別kx確定泛化方式,泛化方式由以下泛化向量組成=Ua1. . . a,. . . ,其中%表示節(jié)點每個屬性的泛化等級
(泛化高度),k為表中的屬性個數(shù);泛化等級
權(quán)利要求
1.一種K-匿名改進方法,其特征在于,所述方法包括以下步驟(1)根據(jù)原始數(shù)據(jù)集選擇準標識符,由所述準標識符確定泛化方式,并建立與所述泛化方式對應的初始泛化格;(2)判斷所述初始泛化格是否為空,如果是,流程結(jié)束;如果否,執(zhí)行步驟(3);(3)根據(jù)最優(yōu)節(jié)點選擇方式從所述初始泛化格的所有節(jié)點中選擇出全局最優(yōu)節(jié)點,獲取第一泛化格;(4)根據(jù)所述全局最優(yōu)節(jié)點對待發(fā)布數(shù)據(jù)進行匿名化處理,獲取和所述全局最優(yōu)節(jié)點相應的匿名簇的數(shù)量;(5)判斷所述匿名簇的數(shù)量是否小于預設數(shù)量,如果是,執(zhí)行步驟(6);如果否,執(zhí)行步驟⑵;(6)對所述第一泛化格進行所述最優(yōu)節(jié)點選擇方式計算,獲取最優(yōu)節(jié)點;(7)匿名簇為非孤立簇,對所述第一泛化格進行二次K-匿名計算,獲取所述最優(yōu)節(jié)點;(8)將所述待發(fā)布數(shù)據(jù)按照所述最優(yōu)節(jié)點對應的泛化方式進行泛化,獲取泛化后的數(shù)據(jù),將所述泛化后的數(shù)據(jù)發(fā)布,流程結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種K-匿名改進方法,其特征在于,步驟(3)中的所述根據(jù)最優(yōu)節(jié)點選擇方式從所述初始泛化格的所有節(jié)點中選擇出全局最優(yōu)節(jié)點,獲取第一泛化格,具體為①計算所述初始泛化格中所有節(jié)點的度;②對所述初始泛化格中所有節(jié)點按照度進行排序,獲取度最大節(jié)點;③判斷所述度最大節(jié)點是否滿足K-匿名,如果是,執(zhí)行步驟④;如果否,執(zhí)行步驟⑤;④所述度最大節(jié)點的所有父節(jié)點都為K-匿名節(jié)點,刪除所述度最大節(jié)點的所有祖先節(jié)點,查找所述原始數(shù)據(jù)集中保存的K-min集合,判斷所述K-min集合中是否有所述度最大節(jié)點的祖先,如果是,從所述K-min集合中刪除所述度最大節(jié)點的祖先;如果否,執(zhí)行步驟⑤所述度最大節(jié)點的所有子孫節(jié)點都不是K-匿名節(jié)點,刪除所述度最大節(jié)點以及所述度最大節(jié)點的所有子孫節(jié)點;⑥計算所述K-min集合中所有節(jié)點的信息損失量,獲取最小信息損失量,將所述最小信息損失量對應的節(jié)點作為全局最優(yōu)節(jié)點,獲取所述第一泛化格;其中,計算所述K-min集合中所有節(jié)點的信息損失量具體為
全文摘要
本發(fā)明公開了一種K-匿名改進方法,涉及數(shù)據(jù)挖掘領域,根據(jù)原始數(shù)據(jù)集選擇準標識符,確定泛化方式,并建立與泛化方式對應的初始泛化格;判斷初始泛化格是否為空,如果否,根據(jù)最優(yōu)節(jié)點選擇方式從初始泛化格的所有節(jié)點中選擇出全局最優(yōu)節(jié)點,獲取第一泛化格;根據(jù)全局最優(yōu)節(jié)點對待發(fā)布數(shù)據(jù)進行匿名化處理,獲取匿名簇的數(shù)量;判斷匿名簇的數(shù)量是否小于預設數(shù)量,如果是,對第一泛化格進行最優(yōu)節(jié)點選擇方式計算,獲取最優(yōu)節(jié)點;如果否,匿名簇為孤立簇,對第一泛化格進行二次K-匿名計算,獲取最優(yōu)節(jié)點;將待發(fā)布數(shù)據(jù)按照最優(yōu)節(jié)點對應的泛化方式進行泛化,獲取泛化后的數(shù)據(jù),將泛化后的數(shù)據(jù)發(fā)布。本發(fā)明縮短了執(zhí)行時間,提高了信息的準確性。
文檔編號G06F17/30GK102156755SQ20111011730
公開日2011年8月17日 申請日期2011年5月6日 優(yōu)先權(quán)日2011年5月6日
發(fā)明者張靜 申請人:天津大學