郭宇紅, 童云海
(1. 國際關系學院 信息科技學院, 北京 100091;2. 北京大學 智能科學系, 北京 100871)
數(shù)據(jù)挖掘能從大量數(shù)據(jù)中發(fā)現(xiàn)新穎的、潛在有用的、可被用戶理解的知識,成為一種有效的分析決策手段,在企事業(yè)中得到廣泛應用.頻繁項集挖掘是數(shù)據(jù)挖掘中的一個重要分支,能從大量數(shù)據(jù)中發(fā)現(xiàn)有趣的關聯(lián)關系.有效的數(shù)據(jù)分析需要有大量真實的數(shù)據(jù)做基礎,而人們對數(shù)據(jù)隱私和安全問題的日益關注,使得在數(shù)據(jù)收集階段中,出于隱私的考慮,人們可能不再愿意提供真實的數(shù)據(jù)供分析使用.因此,如何在基于隱私和安全考慮的環(huán)境中,很好地實施數(shù)據(jù)挖掘任務和各種應用,是隱私保護數(shù)據(jù)挖掘要解決的問題[1-3].
隨機化[4-5]是目前隱私保護數(shù)據(jù)挖掘中運用的主要方法,基本思想是通過向原始數(shù)據(jù)中加入噪音的方式來對數(shù)據(jù)作干擾以達到隱私信息的保護,同時數(shù)據(jù)的統(tǒng)計性質在隨機干擾后的數(shù)據(jù)中保持不變,以獲取正確的挖掘結果,包括隨機化干擾和隨機化回答兩種模型.其中,隨機化干擾模型主要用于數(shù)值數(shù)據(jù),通過在原始數(shù)值數(shù)據(jù)上增加隨機干擾數(shù)實現(xiàn);隨機化回答模型主要用于分類數(shù)據(jù),通過對分類屬性值在不同取值間作隨機變換實現(xiàn),該模型最先由沃納提出[6],被廣泛用于敏感性問題的調查中.在隱私保護頻繁模式挖掘[7-11]、隱私保護關聯(lián)規(guī)則挖掘[12-14]的應用方面,文獻[14]通過數(shù)據(jù)干擾和支持度重構實現(xiàn)了隱私數(shù)據(jù)保護的關聯(lián)規(guī)則挖掘;文獻[15]對MASK(mining associations with secrecy Konstraints)算法進行了擴展,提出“特定于符號(1和0)”的隨機化過程和相應的eMASK算法;文獻[16]提出“非統(tǒng)一”參數(shù)的隨機化過程和相應的項集支持度遞歸估計RE(recursive estimation)算法;文獻[17]對MASK算法在支持度重構復雜度方面進行了優(yōu)化,提出了mMASK算法.
上述隨機化回答模型在隱私保護頻繁項集挖掘中取得很大進展,但存在以下2點問題.1) 隨機化模型類型單一,隨機化參數(shù)調控的數(shù)據(jù)范圍寬、粒度粗,對隱私數(shù)據(jù)保護粒度的控制缺乏靈活性.2) 已有模型沒有考慮不同個體隱私保護需求的差異性,而這種需求在現(xiàn)實應用中是客觀存在和急需解決的.針對以上問題,本文在沃納模型、單參數(shù)等隨機化模型的基礎上,提出個體分組多參隨機化模型PN/g,并結合例子對水平分組隨機化的支持度重構方法進行了探索.
沃納模型是最初由Warner在1965年針對“吸毒問題的調查”一類敏感問題提出的,可應用于單一屬性敏感性問題的統(tǒng)計學調查和分析.在“吸毒問題的調查”這類問題中,調查者想要知道一定人群中吸毒者的比例,但當面對“你是否曾經(jīng)吸過毒”這類敏感問題的回答時,被調查者(尤其是吸毒者)很可能不愿意回答,或者給出一個虛假的回答.針對這類問題,沃納模型給出了解決辦法.
該模型在調查中設計下面兩個對立的問題供被調查者回答:1) 你是否吸過毒;2) 你是否沒吸過毒.同時,分給每個被調查者一個隨機數(shù)生成裝置,被調查者可根據(jù)生成的隨機數(shù)的不同,選擇回答第1個問題,還是第2個問題.比如調查者可以跟被調查者事先約定:當生成的隨機數(shù)小于p時,選第1個問題回答;大于等于p時,選第2個問題回答;無論選哪個問題,都要作出真實的回答.
(1)
現(xiàn)有隱私保護數(shù)據(jù)挖掘方法所使用的隨機化回答技術,是在沃納模型的基礎上形成的.沃納模型只能用于單一敏感性問題的調查和分析,其核心思想是在保護個體數(shù)據(jù)隱私的同時,能求得單一屬性上的統(tǒng)計值.對于頻繁模式挖掘而言,其對應的數(shù)據(jù)通常會有多個屬性項,頻繁模式挖掘的目標則是通過對項集支持度的計算,發(fā)現(xiàn)在總體樣本中所占比例較高的項集(即頻繁項集).因此,對隱私保護頻繁模式挖掘,其目標是在保護個體隱私的同時,求取多屬性上的統(tǒng)計值——項集支持度.沃納模型中的公式只能解決隱私保護場景下1-項集支持度的計算.文獻[14]提出的MASK方法解決了隱私保護場景下k-項集的支持度計算問題,從而很好地解決了隱私保護頻繁模式挖掘問題,其原理如下.
1) 隨機化過程.假定用二維0-1矩陣表示原始事務集D,“1”和“0”分別表示對應的項出現(xiàn)和不出現(xiàn)在事務中,則單參數(shù)隨機化對于D中任意元素v∈{0,1},以p的概率取原值v,以1-p的概率取1-v,生成隨機化事務集D′.p稱作隨機化參數(shù),p值越高,生成的D′中保留越多的原值v.
2) 支持度重構.假定A={I1,I2,…,Ik}為k-項集,A中的項可能全部或部分出現(xiàn)在D的事務T中.A∩T共有2k種可能的取值,每一種取值對應了A的一個子集fi(i∈{0,1,…,2k-1}),并假設在二維0-1矩陣表示D時,i的k位二進制數(shù)字恰好對應fi的從I1到Ik的k項0-1序列.即
同時,假定Cfi,Afi表示D(I1…Ik)中僅包含fi而不包含補集Afi中的任何項的事務數(shù)(fi在D(I1…Ik)中的凈計數(shù)).即D中對應A的k列0-1序列等于fi的事務數(shù).當A在上下文中明確時,Cfi,Afi簡記為Cfi.Cf0,Cf1,…,Cf2k-1(簡記為C0,C1,…,C2k-1)構成向量CA,即CA=[C0,C1,…,C2k-1]T;相應地,C′f表示D′中僅包含f的事務數(shù),向量C′A=[C′0,C′1,…,C′2k-1]T.則CA和C′A的期望值存在如下關系,即
E(C′A)=P·CA.
(2)
式(2)中:P=[pi,j]為隨機化概率參數(shù)p構成的2k×2k變換矩陣,pi,j表示D中僅包含fi(fi?A)的事務(即對應的從I1到Ik的k項0-1序列恰好為i的k位二進制值的事務)轉換成D′中僅包含fj(fj?A)的事務的概率.若i和j對應的k位二進制0-1串中值相同的位數(shù)為r,則pi,j=pr(1-p)k-r(0≤r≤k).為便于理解,給出單參數(shù)隨機化中3-項集的變換概率矩陣,如表1所示.
表1 單參數(shù)隨機化中3-項集的變換概率矩陣Tab.1 Transition probability matrix of 3-itemset in single-parameter randomization
(3)
式(3)兩邊同除以事務總數(shù)∣D∣,可得MASK方法對項集A的重構支持度,即
(4)
以上即為單參數(shù)隨機化MASK方法在隱私保護頻繁模式挖掘中的工作原理.該方法能保證在不訪問原始數(shù)據(jù)D的情況下,從隨機化后的數(shù)據(jù)集D′中估算出各項集的原始支持計數(shù)和支持度,從而得到頻繁項集和關聯(lián)規(guī)則挖掘結果.
單參數(shù)隨機化模型的缺點是,所有數(shù)據(jù)元素的隱私保護程度和最終挖掘結果的準確性全都受控于單一的隨機化參數(shù)p.這不僅忽視不同數(shù)據(jù)元素隱私保護需求的差異性,使隱私數(shù)據(jù)不能得到充分有效的保護,而且挖掘結果的準確性也不理想.挖掘結果受p的制約很大,p一旦確定,挖掘結果就確定,挖掘結果準確性上沒有任何可調控的余地;而同時對隱私的保護也顯得過于魯棒、不夠精準和粒度過粗.
不同于單參數(shù)隨機化,多參數(shù)隨機化用多個概率參數(shù)對數(shù)據(jù)隨機化.其思想是對數(shù)據(jù)中的不同元素設置不同的隱私保護級別,不同的隱私保護級別對應不同的隨機化參數(shù),由參與調查的個體自行決定對其不同數(shù)據(jù)元素的隱私保護級別和相應的隨機化參數(shù).參與調查的多個個體的隱私保護要求差不多,則可按個體水平分組隨機化,使同一組內共用一個隨機化參數(shù),而每個隨機化參數(shù)控制組中的多行.假設參與調查的個體總數(shù)為N,若等分時,每組包含g行,則組數(shù)和隨機化參數(shù)個數(shù)為N/g,就形成分組多參隨機化模型.
為簡單起見,假定屬性取值均為布爾值“1”和“0”.由這N個個體的布爾屬性組成需要保護的、二維布爾矩陣表示的數(shù)據(jù)表D.事實上,數(shù)值類型屬性可以通過離散化轉變?yōu)槎嘣诸悓傩裕疵杜e屬性,而多元分類屬性又可以轉變?yōu)椴紶枌傩裕匆话愕臄?shù)據(jù)都可以轉變?yōu)槎S布爾矩陣形式.
個體分組隨機化的例子,如表2所示.表2中:TID為事務標識號;左邊為原始事務集D,由10個被調查者的3個問題項(I1/I2/I3)組成,10個被調查者兩兩一組,同一組內共用同一個隨機化參數(shù).對這五組數(shù)據(jù)分別隨機化后,生成的隨機化數(shù)據(jù)集如表2右邊3列數(shù)據(jù)所示.在表2中,由個體1和2構成的第1組數(shù)據(jù)選擇的隨機化概率參數(shù)p1=1,隨機化過程對該組數(shù)據(jù)以1的概率保持為真,以0的概率取反,得到的第1組隨機化數(shù)據(jù)完全保持不變.表明該組中的個體完全不顧及隱私,愿意完全真實地貢獻其數(shù)據(jù).相反的,由個體9和10構成的第5組數(shù)據(jù)選擇的隨機化參數(shù)p5=0.6,隨機化過程對該組數(shù)據(jù)以0.6的概率保持為真,以0.4的概率取反,得到的第5組隨機化數(shù)據(jù)中有3個值保持不變,3個值被打亂取反.表明該組中的個體相對比較在乎隱私,只肯貢獻非常有限的數(shù)據(jù).
表2 數(shù)據(jù)集D分組隨機化PN/g模型Tab.2 Grouping randomization model of PN/g on dataset D
分組多參隨機化時,需要求得變換概率矩陣P和進行支持度重構.文中計算P中元素pi,j的基本思想是:D分組隨機化為D′作為整體來看時,項集fi轉變?yōu)閒j的概率為各個分組將項集fi轉變?yōu)閒j的概率之和.相應地,k-項集A對應的2k×2k變換概率矩陣Pk中的元素值為
(5)
例如表2中的分組多參隨機化中,事務“000”轉變“000”的概率為
而“000”轉變?yōu)椤?11”(即空集轉變?yōu)槭聞調I1I2I3})的概率為
這樣便可得到3-項集{I1I2I3}對應的8×8變換概率矩陣P3中的所有元素.
分組隨機化PN/g模型變換概率矩陣P3,如表3所示.表3中:矩陣P3中的某一元素表示某個項集隨機化后轉變?yōu)榱硪粋€項集的概率.
表3 分組隨機化PN/g模型變換概率矩陣P3Tab.3 Transition probability matrix P3 in grouping randomization of PN/g model
(6)
表4給出了表2數(shù)據(jù)集D對應的項集空間中,所有項集的重構支持計數(shù)和重構誤差.從表4可看出:7個項集支持計數(shù)重構總誤差為-1.92,平均每個項集的支持計數(shù)重構誤差為-0.27.即相對原數(shù)據(jù),每個項集支持計數(shù)估計值比真實值少了0.27.該誤差較小,驗證了文中所提PN/g模型支持度重構方法的可行性和有效性.
表4 PN/g和MASK支持計數(shù)重構對比Tab.4 Support count reconstruction comparison of PN/g and MASK
(7)
對比原始支持計數(shù)發(fā)現(xiàn),相對于文中所提PN/g模型,MASK方法僅在支持計數(shù)低的項集I1I2I3上,重構支持計數(shù)誤差絕對值(0.26)更小,而在支持計數(shù)相對高的其他項集上,PN/g模型的重構誤差絕對值小于或等于MASK,這意味著對頻繁項集挖掘,PN/g模型在頻繁項集的支持度重構上將更為準確.由表4可知:整個項集空間支持計數(shù)重構的總誤差和平均誤差絕對值也小于MASK.這進一步驗證了文中所提PN/g模型用于隱私保護頻繁項集挖掘的有效性,即PN/g模型不僅能實現(xiàn)差異化的隱私保護,且能以小的誤差重構頻繁項集的支持度.同時,相對單參數(shù)隨機化MASK,多參數(shù)隨機化PN/g模型能在平均隱私保護度相同情況下,以更小的誤差重構頻繁項集的支持度,從而提高頻繁項集挖掘的準確性.
針對頻繁項集挖掘中的隱私保護問題,提出個體分組多參隨機化PN/g模型,給出其在隱私保護頻繁項集挖掘中的支持度重構方法.最后,通過示例驗證了支持度重構方法的可行性和有效性.
作為個性化隱私保護挖掘的初步嘗試,還有如下一些工作需要進一步探究.1) 針對PN/g模型的支持度重構方法,理論推導出該方法所對應的支持計數(shù)重構公式和支持度重構偏差公式.2) 設計相應算法和基于大數(shù)據(jù)集進一步驗證方法的有效性,特別是挖掘結果的準確性.3) 基于新的頻繁項集挖掘算法[18],設計與之相適應的、更高效的隱私保護頻繁項集挖掘算法.