褚治廣,李俊燕,陳 昊,張 興
(1.北京工業(yè)大學(xué) 信息學(xué)部,北京 100124;2.遼寧工業(yè)大學(xué) 遼寧省工業(yè)互聯(lián)網(wǎng)網(wǎng)絡(luò)與數(shù)據(jù)安全重點(diǎn)實(shí)驗(yàn)室,遼寧 錦州 121001)
在大數(shù)據(jù)的背景下,數(shù)據(jù)比以往更加的復(fù)雜,現(xiàn)實(shí)生活中更多的數(shù)據(jù)以高維的形式呈現(xiàn)。為此,充分挖掘高維數(shù)據(jù)的有用信息已經(jīng)成為研究的熱點(diǎn),但目前在對高維數(shù)據(jù)進(jìn)行挖掘時(shí)常常忽略隱私的重要性,從而導(dǎo)致大量用戶隱私泄露。另外,通過關(guān)聯(lián)規(guī)則對高維數(shù)據(jù)進(jìn)行挖掘的過程中,不僅要考慮敏感屬性還要考慮多種關(guān)聯(lián)屬性的影響[1]。例如,城市醫(yī)療大數(shù)據(jù)除了姓名、收入、家庭住址、疾病等敏感屬性,一些通過關(guān)聯(lián)分析得到的關(guān)聯(lián)屬性如階級層級、購物傾向等也會間接暴露患者的隱私信息,從而對病人的生活和身心健康造成危害。因此,如何確保在高效挖掘高維數(shù)據(jù)的同時(shí)保證用戶的隱私不被泄露成為日趨關(guān)注的焦點(diǎn)。
高維數(shù)據(jù)分析離不開降維[2],文獻(xiàn)[3]利用Pawlak屬性約簡算法求出核屬性并通過啟發(fā)式擴(kuò)展得到一個(gè)約簡,該約簡算法可有效剔除高維數(shù)據(jù)中的冗余信息,得到分類規(guī)則,但核屬性求解過程很麻煩。文獻(xiàn)[4]針對醫(yī)療數(shù)據(jù),結(jié)合差分隱私和粗糙集提取規(guī)則,提出了一種挖掘醫(yī)療數(shù)據(jù)隱藏模式并保證患者隱私的新方法(DPRers)。該算法在數(shù)據(jù)挖掘過程中增加拉普拉斯噪聲實(shí)現(xiàn)差分隱私保護(hù)。只考慮了屬性之間的隱藏特性,針對關(guān)聯(lián)屬性沒有考慮,且上述方法對于高維大數(shù)據(jù)不能有效的處理。在分布式環(huán)境下,歐陽佳等[6]提出了一種基于差分隱私的數(shù)據(jù)發(fā)布方法,該方法采用分類討論的思想,提高了數(shù)據(jù)的可用性。即對全局采用安全數(shù)據(jù)積協(xié)議,對局部運(yùn)用基于組合的定理。文獻(xiàn)[7]在分布式Hadoop框架下進(jìn)行并行計(jì)算實(shí)現(xiàn)差分隱私關(guān)聯(lián)規(guī)則挖掘算法,但因?yàn)镠adoop不是內(nèi)存級別的處理方式,每次讀取都需要存入HDFS中,存在大量IO操作,耗時(shí)較長。目前已有多種高維數(shù)據(jù)隱私保護(hù)方法[11-15]被提出,但隱私性和效用性仍無法有效平衡。文獻(xiàn)[8]針對多源數(shù)據(jù),以樹結(jié)構(gòu)優(yōu)化存儲,先利用頻繁項(xiàng)集發(fā)布數(shù)據(jù),再使用拉普拉斯機(jī)制和指數(shù)機(jī)制在數(shù)據(jù)發(fā)布的過程中進(jìn)行保護(hù),提高了發(fā)布數(shù)據(jù)的安全性,但該方法隨著數(shù)據(jù)擁有者的增多,噪聲的添加量也隨之增加,從而使得數(shù)據(jù)的效用性降低。因此文獻(xiàn)[9]利用啟發(fā)式截?cái)鄟斫档腿置舾卸龋瑥亩岣咚惴ǖ目捎眯?。同年,何文竹等[10]利用信息熵實(shí)現(xiàn)了結(jié)構(gòu)化數(shù)據(jù)集的敏感屬性的分類分級保護(hù),同時(shí)兼顧屬性的相關(guān)性和關(guān)聯(lián)關(guān)系,但該方法在大規(guī)模數(shù)據(jù)集中的表現(xiàn)不佳。
由上可知,當(dāng)前高維數(shù)據(jù)發(fā)布方法都存在一些缺陷,一方面高維數(shù)據(jù)存在維度災(zāi)難,導(dǎo)致一些傳統(tǒng)的數(shù)據(jù)挖掘方法很難起作用且處理效率很低,另一方面數(shù)據(jù)維度越多,數(shù)據(jù)的關(guān)聯(lián)性也會越高,會存在通過關(guān)聯(lián)數(shù)據(jù)推測出其它數(shù)據(jù)的危險(xiǎn),使用傳統(tǒng)的差分隱私進(jìn)行保護(hù),其保護(hù)水平往往很低,原因是維度越高的數(shù)據(jù)使用的噪聲越多,過多噪聲會造成數(shù)據(jù)的嚴(yán)重失真,并且可能會破壞屬性間的關(guān)聯(lián)性,可用性效果就會變差。因此我們提出一種基于分布式的多關(guān)聯(lián)屬性高維數(shù)據(jù)隱私保護(hù)方法(HDMPDP),文章的貢獻(xiàn)主要有:
(1)本文利用主流的Spark分布式處理框架在分布式條件下,采用分塊的處理方式,利用鄰域粗糙集理論實(shí)現(xiàn)高效的數(shù)據(jù)降維同時(shí)提高了數(shù)據(jù)的處理效率。
(2)利用改進(jìn)的關(guān)聯(lián)分析方法提取數(shù)據(jù)間的關(guān)聯(lián)規(guī)則,在關(guān)聯(lián)數(shù)據(jù)類中,針對敏感數(shù)據(jù),使用敏感度劃分隱私保護(hù)的需求等級,并采用屬性信息熵作為敏感度衡量標(biāo)準(zhǔn)。
(3)應(yīng)用信息熵對虛假的關(guān)聯(lián)屬性進(jìn)行剔除同時(shí)對前面得到的不同屬性關(guān)聯(lián)度進(jìn)行劃分,從而使添加的噪聲更合理。實(shí)驗(yàn)驗(yàn)證,HDMPDP方法在分布式條件下,通過上述兩方面的處理,在得到更加有效規(guī)則的情況下也能有效提升高維數(shù)據(jù)的隱私保護(hù)程度。
差分隱私保護(hù)方法通過對輸出的結(jié)果添加適當(dāng)?shù)脑肼晫?shí)現(xiàn)對原始數(shù)據(jù)集的擾動,消除掉數(shù)據(jù)的個(gè)性特征,保護(hù)數(shù)據(jù)的隱私。差分隱私嚴(yán)格的數(shù)學(xué)定義如下:
定理1ε-差分隱私(ε-differentail prvacy):對兄弟數(shù)據(jù)集D1和D2(相差一條記錄),及其所有子集S,有隨機(jī)算法A,滿足式(1)
Pr[A(D1)∈S]≤eεPr[A(D2)∈S]
(1)
則算法A滿足ε-差分隱私,稱ε為隱私預(yù)算(衡量隱私保護(hù)程度)。差分隱私可以通過拉普拉斯機(jī)制(數(shù)值型)和指數(shù)機(jī)制(離散型)等進(jìn)行實(shí)現(xiàn)。拉普拉斯機(jī)制通過添加噪聲,指數(shù)機(jī)制根據(jù)敏感度和隱私預(yù)算,計(jì)算各數(shù)據(jù)的權(quán)重進(jìn)行選擇發(fā)布。兩種機(jī)制都依靠全局敏感度,接下來將介紹全局敏感度。
定義1 全局敏感度(global sensitivity):給定查詢函數(shù),D為輸入數(shù)據(jù)集,f(D) 為輸出數(shù)據(jù)集。在任意一對D1和D2上,函數(shù)的全局敏感度如式(2)所示
(2)
定理2 拉普拉斯機(jī)制(Laplace mechanism):給定數(shù)據(jù)集D和隱私預(yù)算ε,函數(shù)f的全局敏感度為Δf,當(dāng)f的輸出滿足
A(D)=f(D)+Lap(Δf/ε)
(3)
則稱算法A滿足ε-差分隱私,其中Lap(Δf/ε) 為滿足Laplace分布的隨機(jī)噪聲。Laplace分布如圖1所示。
圖1 Laplace分布
HDMPDP方法與文獻(xiàn)[15]中提到的基于Hadoop處理方案不同,Spark是基于內(nèi)存級別的高效處理方案,避免了把中間過程存儲到分布式文件存儲HDFS中,從而較少大量IO操作能有效提高算法的執(zhí)行效率,如圖2為Spark運(yùn)行架構(gòu)圖。因此本方案擬在分布式計(jì)算框架Spark中進(jìn)行實(shí)現(xiàn),針對高維數(shù)據(jù)計(jì)算開銷大,運(yùn)算速度慢的情況,采用多處理機(jī)進(jìn)行計(jì)算,提高運(yùn)行效率的同時(shí),更符合現(xiàn)在化的處理模式。
圖2 Spark運(yùn)行架構(gòu)
搭建Spark集群利用分布式計(jì)算框架如圖2所示,采用RDD(彈性分布式計(jì)算)的數(shù)據(jù)結(jié)構(gòu),把采集到的數(shù)據(jù)集保存在內(nèi)存中,并且通過控制數(shù)據(jù)集的分區(qū)來達(dá)到數(shù)據(jù)存放處理最優(yōu)化,這里分成多個(gè)Block,再針對每個(gè)Block分別進(jìn)行數(shù)據(jù)的降維處理。
粗糙集理論是用于處理不確定關(guān)系的一種數(shù)學(xué)工具。將粗糙集用于高維數(shù)據(jù)降維能更好的保持原始數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)不丟失,但它僅適用于離散型數(shù)據(jù),對于連續(xù)型數(shù)據(jù)并不適用。于是針對連續(xù)性數(shù)據(jù)采用鄰域粗糙集來擴(kuò)展粗糙集的引用范圍,在粗糙集理論中,知識的表達(dá)是用決策系統(tǒng)表示的,一個(gè)決策系統(tǒng)由一個(gè)四元組表示
DS=(U,A,V,f)
其中論域U代表全體對象,A為屬性全體,V則為屬性的值域,f代表一個(gè)信息函數(shù)。具體含義可見文獻(xiàn)[3]。
于是對于每一個(gè)Block首先將數(shù)據(jù)分成離散型和連續(xù)型兩類,對于離散型數(shù)據(jù)根據(jù)粗糙集理論中不可區(qū)分關(guān)系與等價(jià)類的定義,計(jì)算出每個(gè)屬性的等價(jià)類;然后根據(jù)式(4)和式(5)計(jì)算得到每個(gè)屬性針對其它不同取值屬性的上、下近似
(4)
(5)
其中,R為A的任意一個(gè)子集,且 [x]R={y∈U|(x,y)∈R}。 在這里數(shù)據(jù)屬性間的關(guān)聯(lián)性可以用粗糙集中屬性依賴度k進(jìn)行定量的度量(k=1表示D完全依賴C,k=0表示兩者沒有依賴關(guān)系),由式(6)計(jì)算得到各個(gè)屬性的屬性依賴度關(guān)系再針對不同的屬性添加合理的噪聲。假設(shè)B?C, 定義決策屬性集合D對B的屬性依賴度的公式為
(6)
再利用式(7)計(jì)算互信息量,求出相對核CORE。采用互信息的屬性約簡算法可以有效把高維數(shù)據(jù)中不相關(guān)的冗余信息剔除,得到更合理分類規(guī)則,對于連續(xù)型數(shù)據(jù)則采用鄰域粗糙集實(shí)現(xiàn)屬性約簡過程
I(C,D)=H(D)-H(D|C)
(7)
采用粗糙集理論實(shí)現(xiàn)高維數(shù)據(jù)降維的同時(shí),利用屬性間的依賴度作為屬性關(guān)聯(lián)度。根據(jù)所需數(shù)據(jù)維度以及分類效果設(shè)置不同閾值δ1, 計(jì)算得到的屬性之間的關(guān)聯(lián)度進(jìn)行屬性分類。
通過關(guān)聯(lián)分析挖掘?qū)l(fā)現(xiàn)大量存在于數(shù)據(jù)集中隱藏關(guān)聯(lián)性的信息,進(jìn)而得到某些能推測出敏感屬性的關(guān)聯(lián)屬性集,為此,可對該屬性集添加合理噪聲從而實(shí)現(xiàn)差分隱私保護(hù)。
一般關(guān)聯(lián)分析包含兩個(gè)過程:即從數(shù)據(jù)集中尋找頻繁項(xiàng)集(支持度),從頻繁項(xiàng)集中生成關(guān)聯(lián)規(guī)則(置信度)。
支持度:某項(xiàng)集在數(shù)據(jù)集中出現(xiàn)的概率
support(A)=count(A)/count(dataset)=P(A)
置信度:項(xiàng)集A發(fā)生時(shí),則項(xiàng)集B發(fā)生的概率。置信度體現(xiàn)的是關(guān)聯(lián)規(guī)則的可靠程度,如果關(guān)聯(lián)規(guī)則{A->B}的置信度較高,則說明當(dāng)A發(fā)生時(shí),B有很大概率也會發(fā)生,這樣就可能會帶來研究價(jià)值
Apriori算法是經(jīng)典的關(guān)聯(lián)分析算法,一般只用于單維、單層的關(guān)聯(lián)規(guī)則,對多維的規(guī)則并不適用。就多維數(shù)據(jù)而言,常采用FP-Tree算法得到多維規(guī)則,可以更加高效的挖掘頻繁項(xiàng)集,但仍存在挖掘時(shí)間較長且有大量無效或冗余規(guī)則的問題,因此本文在分布式環(huán)境下采用屬性信息熵優(yōu)化針對粗糙集降維后的數(shù)據(jù)進(jìn)行二次篩選,剔除冗余項(xiàng),提高算法的執(zhí)行效率。
在分布式條件下對于每一個(gè)Blcok實(shí)現(xiàn)屬性分組后,再進(jìn)行一次改進(jìn)的滿足差分隱私的關(guān)聯(lián)分析,目的是尋找各個(gè)Block對應(yīng)項(xiàng)目集合或?qū)ο蠹祥g的頻繁模式、關(guān)聯(lián)性。屬性信息熵H(P)常常用來描述信息出現(xiàn)的不確定程度,如式(8)所示
(8)
式中的對數(shù)一般取2為底,單位為比特。
針對高維情況,假設(shè)一事件由n個(gè)維度屬性描述,則它第i個(gè)維度屬性信息熵用式(9)中的Ei表示
Ei=-∑x∈XiPi(x)log2(PI(x)),i=1,2,…,n
(9)
式中:Xi代表第i個(gè)指標(biāo)的屬性集合,Pi(x) 是第i維中x發(fā)生的概率。
在關(guān)聯(lián)數(shù)據(jù)類中,針對敏感數(shù)據(jù),將根據(jù)敏感度劃分隱私保護(hù)的需求等級,采用屬性信息熵作為敏感度衡量標(biāo)準(zhǔn)。利用屬性信息熵對不確定性進(jìn)行度量,剔除虛假的關(guān)聯(lián)屬性還可以對前面得到的不同屬性關(guān)聯(lián)度進(jìn)行劃分,設(shè)置分類閾值δ2, 對大于閾值的規(guī)則進(jìn)行剔除,從而保證規(guī)則的有效性。
本文提出的算法專注于高維數(shù)據(jù)集中屬性數(shù)據(jù)的發(fā)布。整個(gè)處理流程主要包含兩大環(huán)節(jié)。首先,在分布式環(huán)境下,運(yùn)用經(jīng)過優(yōu)化的粗糙集理論對原始數(shù)據(jù)集實(shí)施降維操作,以降低數(shù)據(jù)處理的復(fù)雜性和計(jì)算成本。其次,本文采用經(jīng)過改進(jìn)的關(guān)聯(lián)分析算法,并結(jié)合差分隱私技術(shù),對經(jīng)過降維處理的數(shù)據(jù)集進(jìn)行噪聲添加,確保輸出的數(shù)據(jù)集滿足差分隱私保護(hù)要求,從而在保證數(shù)據(jù)可用性的同時(shí),有效保護(hù)用戶的隱私信息。整體流程如圖3所示,算法具體流程如下:
圖3 算法流程
算法1:基于分布式的粗糙集降維
輸入:DS,Blcok數(shù),閾值δ1
輸出:降維后的數(shù)據(jù)集O
(1)對DS按照輸入的Block數(shù)進(jìn)行劃分,把連續(xù)型和離散型劃分到不同的Block中;
(2)根據(jù)粗糙集理論中不可區(qū)分關(guān)系與等價(jià)類的定義,計(jì)算出每個(gè)屬性的等價(jià)類;
(3)針對每個(gè)Block遍歷每個(gè)屬性,得到相應(yīng)屬性的等價(jià)類,利用式(4)和式(5),計(jì)算每個(gè)屬性相對于其它屬性的上近似和下近似,以確定它們的等價(jià)類;
(4)由式(6)計(jì)算得到屬性依賴度,用屬性間的依賴度作為屬性關(guān)聯(lián)度;
(5)由式(7)計(jì)算互信息量,令O為空,求出COREC(D);
(6)根據(jù)所需數(shù)據(jù)維度以及分類效果設(shè)置不同閾值δ1, 根據(jù)計(jì)算得到屬性之間的關(guān)聯(lián)度,實(shí)現(xiàn)屬性的分類;
(7)在每個(gè)Block中得到分類子集,直到屬性關(guān)聯(lián)度小于δ1, 返回降維后的屬性集O;
(8)算法結(jié)束。
算法2:基于信息熵的關(guān)聯(lián)分析和敏感屬性集的差分隱私保護(hù)
輸入:降維后的數(shù)據(jù)集O,最小加權(quán)支持度min_sup,置信度,閾值δ2
輸出:滿足差分隱私的數(shù)據(jù)集O′
(1)對降維后的數(shù)據(jù)集O針對每一個(gè)Block進(jìn)行關(guān)聯(lián)分析;
(2)采用改進(jìn)的FP-Growth算法進(jìn)行關(guān)聯(lián)數(shù)據(jù)挖掘,掃描數(shù)據(jù)集O;
(3)由式(9)計(jì)算不同Block中的屬性信息熵,根據(jù)其維度進(jìn)行加權(quán)處理,由min_sup生成頻繁1-項(xiàng)集;
(4)掃描數(shù)據(jù)集,若有相同子節(jié)點(diǎn)則支持度計(jì)數(shù)加一,否則新建一個(gè)節(jié)點(diǎn)。最終生成一棵FP-Tree;
(5)由FP-Tree挖掘遞歸生成頻繁項(xiàng)集,根據(jù)設(shè)定的置信度,生成關(guān)聯(lián)規(guī)則;
(6)同時(shí),根據(jù)屬性信息熵,對小于閾值δ2的無效規(guī)則進(jìn)行剔除;
(7)將粗糙集和信息熵得到的屬性和關(guān)聯(lián)分析得到的關(guān)聯(lián)屬性分別進(jìn)行加噪。得到與敏感屬性關(guān)聯(lián)度高的非敏感屬性數(shù)據(jù),并將噪聲平均分配到其每一個(gè)屬性中。對于非關(guān)聯(lián)數(shù)據(jù)類中的敏感數(shù)據(jù),按照設(shè)定隱私保護(hù)需求等級的比例將噪聲分配到敏感屬性;針對屬性無關(guān)的非敏感數(shù)據(jù),則不添加噪聲。
(8)生成滿足差分隱私的數(shù)據(jù)集O′。
為了測試本文算法的性能,實(shí)驗(yàn)使用Java實(shí)現(xiàn),搭建Hadoop 2.7.2和Spark 3.0分布式集群,節(jié)點(diǎn)個(gè)數(shù)為4,在3.30 GHz GPU、16RAM的Centos7.0操作系統(tǒng)上運(yùn)行,采用1994年美國人口普查真實(shí)數(shù)據(jù)集Adult數(shù)據(jù)集,數(shù)據(jù)集樣本數(shù)量為45 222個(gè),每個(gè)樣本包含15個(gè)屬性信息。其中有6個(gè)連續(xù)型屬性,9個(gè)離散型屬性。Adult數(shù)據(jù)集見表1。
表1 數(shù)據(jù)集
本文在分布式條件下綜合考慮了數(shù)據(jù)間的多種關(guān)聯(lián)關(guān)
系,包括屬性關(guān)聯(lián)性和規(guī)則關(guān)聯(lián)性再結(jié)合差分隱私技術(shù)添加合理的噪聲實(shí)現(xiàn)多維數(shù)據(jù)的隱私保護(hù)數(shù)據(jù)發(fā)布,因此實(shí)驗(yàn)主要分析算法的數(shù)據(jù)可用性、隱私保護(hù)程度和執(zhí)行效率等因素。
針對數(shù)據(jù)可用性方面采用誤分率進(jìn)行衡量,即原始數(shù)據(jù)集上的查詢和添加噪聲后查詢的絕對值和累加和。error值越小,表明原始記錄與差分隱私保護(hù)后的誤分類越低,數(shù)據(jù)信息損失越少。如式(10)所示
(10)
式中:e(A*) 和e(A) 分別代表有無噪聲添加。
針對隱私保護(hù)程度方面采用數(shù)據(jù)披露風(fēng)險(xiǎn)記錄關(guān)聯(lián)(RL)來度量,即采用差分隱私處理后的數(shù)據(jù)集正確匹配原始數(shù)據(jù)記錄的比例,如式(11)所示
(11)
式中:O′代表差分隱私保護(hù)后的數(shù)據(jù)記錄,如果不在記錄中則Pr(O′)=0,n為記錄數(shù)。經(jīng)差分隱私保護(hù)處理后的記錄與原記錄之間的匹配率越低,表明兩者關(guān)聯(lián)性減弱,數(shù)據(jù)信息泄露的風(fēng)險(xiǎn)將越低。即RL值越小,數(shù)據(jù)信息泄露的可能性越小,保護(hù)性越好。
針對執(zhí)行效率方面采用加速比來測試算法的并行效率。即在相同任務(wù)量下,單一處理器與多處理器花費(fèi)時(shí)間的比值。該值越大表示并行計(jì)算過程中所消耗的時(shí)間越少,執(zhí)行效率越高。如式(12)所示
(12)
式中:Ts和Tc分別代表單機(jī)和集群的運(yùn)行時(shí)間。
針對HDMPDP算法,設(shè)定隱私預(yù)算ε分別為0.01,0.3,0.6,0.8,1.0。一般隱私預(yù)算越小說明數(shù)據(jù)中注入的噪聲越多,隱私保護(hù)程度越高,數(shù)據(jù)損失就越大。對比OBDP和PrivBayes算法進(jìn)行實(shí)驗(yàn)對比,兩者均采用貝葉斯網(wǎng)絡(luò)實(shí)現(xiàn)高維數(shù)據(jù)的降維,前者是對后者采用互信息優(yōu)化貝葉斯網(wǎng)絡(luò)的構(gòu)建過程。則3類算法造成的誤分類Error如圖4所示。
圖4 ε取不同值時(shí),Error變化情況
圖4展示了3類算法在不同隱私預(yù)算下的分類誤差。實(shí)驗(yàn)結(jié)果表明,隨著隱私預(yù)算的增加,3類算法的隱私誤差都呈現(xiàn)減小的趨勢,隱私保護(hù)程度都在增加。本文的HDMPDP方法稍優(yōu)于其它兩種方法,因?yàn)樵撍惴ㄖ会槍γ舾袑傩院蜐M足一定條件的非敏感屬性進(jìn)行了隱私保護(hù)處理,考慮到不滿足條件的非敏感數(shù)據(jù)對隱私泄露的影響較小,無需再分配額外的隱私預(yù)算,數(shù)據(jù)集整體添加的噪聲量減少,數(shù)據(jù)的效用性也隨之增加。
為了驗(yàn)證本文提出算法的有效性,使用此算法驗(yàn)證發(fā)布數(shù)據(jù)的可用性和數(shù)據(jù)信息的安全性,將HDMPDP算法與同類算法在Adult數(shù)據(jù)集上進(jìn)行對比,衡量指標(biāo)為信息損失大小和數(shù)據(jù)泄露風(fēng)險(xiǎn)。實(shí)驗(yàn)設(shè)置設(shè)定隱私預(yù)算分別為0.01、0.2、0.4、0.8、1.0,分別對比HDMPDP算法與基于Hadoop算法的RL值,結(jié)果如圖5所示。
圖5 ε取不同值時(shí),RL值變化情況
由圖5可知,當(dāng)隱私預(yù)算ε設(shè)定為0.01時(shí),RL值達(dá)到最低點(diǎn),表示此時(shí)隱私泄露的風(fēng)險(xiǎn)最小。這是因?yàn)樵跀?shù)據(jù)中加入了大量的噪聲,從而保護(hù)了隱私。然而,這種大量的噪聲也導(dǎo)致了數(shù)據(jù)可用性的降低。當(dāng)隱私預(yù)算增加到0.2和0.4時(shí),無論是采用本文提出的HDMPDP算法還是傳統(tǒng)的Hadoop算法,RL值都相近,表明兩種算法在此時(shí)的隱私保護(hù)效果相當(dāng)。當(dāng)隱私預(yù)算超過0.4后,隨著預(yù)算的增加,RL值急劇上升,這意味著數(shù)據(jù)泄露的風(fēng)險(xiǎn)也隨之增大。但本文算法的數(shù)據(jù)泄露風(fēng)險(xiǎn)還是較低些,因此綜合考慮數(shù)據(jù)可用性和數(shù)據(jù)泄露風(fēng)險(xiǎn),本文的HDMPDP算法在取0.4時(shí)算法性能最優(yōu)。
為驗(yàn)證HDMPDP算法執(zhí)行的效率,本節(jié)對其算法加速比進(jìn)行衡量。我們?nèi)≡陔[私預(yù)算為0.4的情況下,分別在數(shù)據(jù)集下將HDMPDP算法與基于MR的算法的運(yùn)行時(shí)間進(jìn)行對比,獨(dú)立運(yùn)行10次后各取其平均值。通過對比運(yùn)行時(shí)間,可對HDMPDP算法的性能進(jìn)行評估,結(jié)果如圖6所示。
圖6 節(jié)點(diǎn)數(shù)對加速比的影響
從圖6中可以看出,隨著節(jié)點(diǎn)數(shù)量的增多,HDMPDP算法產(chǎn)生了較高的加速比,運(yùn)行時(shí)間不斷減少,性能表現(xiàn)最佳。由此可說明本文使用的Spark框架分布式計(jì)算在迭代運(yùn)算效率方面高于MapReduce框架。
本文研究了高維數(shù)據(jù)多關(guān)聯(lián)屬性的隱私保護(hù)問題,提出了一種新的分布式環(huán)境下針對高維數(shù)據(jù)和多關(guān)聯(lián)屬性的隱私保護(hù)方法(HDMPDP)。首先采用Spark框架對傳統(tǒng)的降維方法進(jìn)行了改進(jìn),利用互信息進(jìn)行第一次特征篩選,使用屬性間的依賴度作為屬性關(guān)聯(lián)度,減少降維過程中的信息損失,同時(shí)提升處理效率。其次在降維后的數(shù)據(jù)處理階段,本文運(yùn)用了基于信息熵優(yōu)化的關(guān)聯(lián)分析方法進(jìn)行深入挖掘,為了確保數(shù)據(jù)隱私不被泄露,對分類后的數(shù)據(jù)集進(jìn)行差分隱私保護(hù)。通過實(shí)驗(yàn)驗(yàn)證,本文提出的HDMPDP算法與同類算法相比,能在保證數(shù)據(jù)泄露風(fēng)險(xiǎn)較小的情況下,提升算法的運(yùn)行效率,提高數(shù)據(jù)的可用性。但是本文在算法的優(yōu)劣評價(jià),沒有一個(gè)明確的標(biāo)準(zhǔn)。對于評價(jià)標(biāo)準(zhǔn)的確定有待日后的進(jìn)一步研究;并且文中針對隱私預(yù)算的分配采用了均分原則,這樣可能會造成隱私預(yù)算分配的不合理從而降低隱私保護(hù)的效率。因此,下一階段主要研究的目標(biāo)是,設(shè)計(jì)不同的隱私分配方案以及再更加復(fù)雜的數(shù)據(jù)集上解決高維數(shù)據(jù)的發(fā)布效率問題。