金亦喬 章永祺 王 博 王鑫軻 李昭祥*
1(上海師范大學(xué)數(shù)理學(xué)院 上海 200234)
2(上海師范大學(xué)信息與機(jī)電工程學(xué)院 上海 200234)
近年來,大數(shù)據(jù)是互聯(lián)網(wǎng)時代應(yīng)運(yùn)而生的信息技術(shù)產(chǎn)物,其背后所蘊(yùn)含的商業(yè)價值正是網(wǎng)絡(luò)安全問題日趨嚴(yán)峻的主要因素,這使得防止用戶隱私信息泄露的隱私保護(hù)技術(shù)應(yīng)運(yùn)而生。聚類分析是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)領(lǐng)域常用手段,但在聚類過程中依然存在著不可忽視的隱私泄露等安全隱患,如何在聚類過程中維持?jǐn)?shù)據(jù)隱私安全和聚類可用性的平衡愈發(fā)成為近年來的研究熱點(diǎn)之一。
由Samarati等[1]提出的傳統(tǒng)隱私保護(hù)技術(shù)k-anonymity模型,要求數(shù)據(jù)表中的每一條記錄至少與其他k-1條記錄在準(zhǔn)標(biāo)識符QID上完全一致來達(dá)到隱私保護(hù)的目的,但當(dāng)查詢結(jié)果中所有返回值擁有同一個敏感屬性值時,攻擊者就可以輕易獲得隱私信息[2],尤其是當(dāng)今大數(shù)據(jù)平臺的數(shù)據(jù)開放性,合成攻擊和背景知識攻擊的安全問題日漸不容小覷?;诖?l-diversity[3]、t-closeness[4]等隱私保護(hù)技術(shù)應(yīng)運(yùn)而生,但仍然不能完全解決該問題。
Dwork[5]2006年第一次提出了差分隱私保護(hù)模型的概念。其原理與傳統(tǒng)隱私保護(hù)算法大相徑庭,從統(tǒng)計(jì)分析的角度提供理論上的量化邊界來約束敏感信息的泄露[6],通過為數(shù)據(jù)添加Laplace噪聲干擾的方式,將確定的輸出結(jié)果以概率的方式呈現(xiàn)出來從而達(dá)到保護(hù)隱私的目的,使得攻擊者無法通過觀察查詢結(jié)果來獲取準(zhǔn)確的用戶信息,由此引發(fā)了國內(nèi)外十幾年來的差分隱私保護(hù)熱潮。Dwork等[7]基于Blum等[8]關(guān)于差分隱私保護(hù)和k-means結(jié)合的思想,進(jìn)一步得出DPk-means算法中查詢函數(shù)和查詢序列敏感度的計(jì)算方法。李楊等[9]以傳統(tǒng)DPk-means算法初始簇中心點(diǎn)選取的隨機(jī)性為出發(fā)點(diǎn)提出了IDP k-means算法,在聚類可用性上取得了更好的效果;吳偉民等[10]在基于密度的聚類方法中提出了DP-DBScan聚類算法,解決了對不同規(guī)模和不同維度的數(shù)據(jù)集的有效處理;鄭孝遙等[11]根據(jù)傳統(tǒng)的聚類算法可能存在的隱私風(fēng)險,以保護(hù)數(shù)據(jù)彼此間的相似度為出發(fā)點(diǎn),在相似性矩陣中加上滿足Lapace分布的隨機(jī)噪聲,切實(shí)可行地提出了一種基于差分隱私保護(hù)的譜聚類算法(簡稱DP-SC),改善了傳統(tǒng)差分隱私保護(hù)處理高維稀疏數(shù)據(jù)的局限性和不理想聚類效果,但對最優(yōu)聚類簇數(shù)、初始點(diǎn)選擇的盲目性、離群點(diǎn)高度敏感和聚類效率、聚類可用性不理想等弊端沒有開展進(jìn)一步處理。
目前,面向差分隱私保護(hù)的譜聚類算法研究并不多。因此,本文針對傳統(tǒng)差分隱私保護(hù)的譜聚類算法(DP-SC)存在的不足,提出一種基于差分隱私保護(hù)的自適應(yīng)譜聚類優(yōu)化新算法(IDP-SC)。仿真實(shí)驗(yàn)結(jié)果表明,與DP-SC算法相比較,IDP-SC算法在添加多處優(yōu)化處理的情況下能保持差分隱私的安全性并有效改善聚類效率和提高聚類可用性。
定義1[12]假設(shè)兩個相鄰數(shù)據(jù)集H與H′,它們至多只有一個元組有差異,Range(A)表示一個隨機(jī)算法A的取值范圍,Pr(E)表示事件E的披露風(fēng)險。若隨機(jī)算法A能夠提供ε-差分隱私保護(hù),則對于數(shù)據(jù)集的所有輸出結(jié)果S,均滿足:
Pr[A(H)∈S]≤exp(ε)×Pr[A(H′)∈S]
(1)
式中:披露風(fēng)險取決于隨機(jī)算法A;ε表示隱私保護(hù)參數(shù)(隱私預(yù)算),ε越小,隱私保護(hù)水平越高,但數(shù)據(jù)可用性越低,當(dāng)ε=0時,隨機(jī)函數(shù)A對H和H′輸出結(jié)果的概率分布是完全一致的。
定義2[12]對于查詢函數(shù)G:H→Rh的敏感度定義如下:
(2)
定義3[13]假設(shè)尺度參數(shù)b=ΔG/ε,則Laplace噪聲函數(shù)為:
Laplace(b)=exp(-|x|/b)
(3)
概率密度函數(shù)為:
f(x|b)=exp(-x/b)/(2b)
(4)
累積分布函數(shù)為:
F(x)=0.5×[1+sgn(x)×(1-exp(-|x|/b))]
(5)
定義4[13](ε-差分隱私保護(hù))假設(shè)數(shù)據(jù)集為H,查詢函數(shù)為G,查詢函數(shù)返回的結(jié)果是G(H),尺度參數(shù)b=ΔG/ε,在G(H)上添加合適Laplace隨機(jī)噪聲以實(shí)現(xiàn)保護(hù)隱私的目的,則函數(shù)T的響應(yīng)值為:
T(H)=G(H)+Laplace(b)
(6)
滿足ε-差分隱私保護(hù)。
譜聚類算法的原理是基于圖論的思想方法[10],將數(shù)據(jù)集中的所有數(shù)據(jù)視作空間中的數(shù)據(jù)點(diǎn),點(diǎn)與點(diǎn)之間的連線就構(gòu)成了邊,用相似度(權(quán)重)來衡量兩點(diǎn)之間的距離,對數(shù)據(jù)點(diǎn)構(gòu)成的圖進(jìn)行切圖,再根據(jù)數(shù)據(jù)的Laplace矩陣的特征向量進(jìn)行聚類。因此,在譜聚類算法中實(shí)現(xiàn)數(shù)據(jù)隱私安全的保護(hù)關(guān)鍵就在于樣本數(shù)據(jù)集中各數(shù)據(jù)之間的相似性關(guān)系[11]。滿足ε-差分隱私保護(hù)的譜聚類算法(DP-SC)的主要步驟如下:
輸入:數(shù)據(jù)集data1。
輸出:標(biāo)簽label。
Step1定義聚類種類k,根據(jù)給定的label計(jì)算出k的值。
Step2初始化k_near=10和σ=0.9,根據(jù)KNN和高斯核函數(shù)的距離公式計(jì)算各個數(shù)據(jù)間的權(quán)重值nij。
Step3為鄰接矩陣N添加噪聲得到加噪鄰接矩陣N′。
Step4根據(jù)加噪后的鄰接矩陣N′得到度矩陣K,求出Laplace矩陣L=K1/2NK1/2。
Step5求Laplace矩陣L的前k個最大的特征值和對應(yīng)的特征向量。
Step6標(biāo)準(zhǔn)化特征向量,將樣本數(shù)據(jù)點(diǎn)映射到基于一個或多個確定的降維空間中去。
Step7利用k-means聚類方法,得到聚類后的label值。
與傳統(tǒng)的k-means聚類算法相比,基于圖論的譜聚類算法能夠?qū)⒏呔S凸形的任意形狀的稀疏數(shù)據(jù)進(jìn)行聚類,而且不容易陷入局部最優(yōu)解,適用性更強(qiáng)[14]。由此,譜聚類算法結(jié)合差分隱私保護(hù)的思想,在相似性矩陣中加上滿足Laplace分布的隨機(jī)噪聲,在一定的信息損失度范圍內(nèi)實(shí)現(xiàn)了有效的聚類結(jié)果[15]。但它無法保證降維幅度和聚類簇數(shù)的選取是最優(yōu)的,而且對于初始點(diǎn)選擇的盲目性、離群點(diǎn)的高敏感度和聚類可用性有待改善等弊端缺乏更進(jìn)一步的處理。基于此,為有效解決上述問題,在保證數(shù)據(jù)隱私的同時改善聚類效率并顯著提高聚類可用性的要求下,本文提出一種面向差分隱私保護(hù)的自適應(yīng)譜聚類優(yōu)化新算法。
設(shè)H=[hij]是一個n×h的數(shù)據(jù)集,其中每一個數(shù)據(jù)點(diǎn)(每一行元組)的維度是h維,矩陣W=[wij]是稀疏鄰接矩陣,矩陣D=[dij]是度矩陣,矩陣L是該數(shù)據(jù)集經(jīng)過W和D計(jì)算得到的n×nLaplace矩陣,映射矩陣M是前Ke個特征值所對應(yīng)的特征向量組合后得到的n×Ke矩陣。
高斯核函數(shù)能夠利用高維向量之間的內(nèi)積得出兩個高維向量之間的距離,有效減少計(jì)算的復(fù)雜程度。為了得到稀疏鄰接矩陣W,提出互鄰高斯核函數(shù)的概念如下,實(shí)現(xiàn)高斯核函數(shù)和KNN算法的有機(jī)結(jié)合。
定義5(互鄰高斯核函數(shù))假設(shè)vi和vj是兩個數(shù)據(jù)點(diǎn),如果vi在vj的k_near領(lǐng)域中并且vj也在vi的k_near領(lǐng)域中,則權(quán)重wij=wji為vi與vj之間的距離,否則權(quán)重取值為0,其中wij為高斯核函數(shù)的計(jì)算值,k_near為KNN算法的參數(shù)[16-17]。
IDP-SC可以分解為如下2個階段:
(1) 降維階段:通過處理矩陣L的數(shù)據(jù)特征,將原始的高維數(shù)據(jù)點(diǎn)映射到一個低維的映射空間,即得到映射矩陣M,具體見算法1。
算法1求解降維最優(yōu)簇數(shù)Ke
輸入:矩陣L。
輸出:降維最優(yōu)簇數(shù)Ke和映射矩陣M。
Step1歸一化矩陣L,計(jì)算特征值及對應(yīng)的特征向量。
Step2從小到大排列這n個特征值E(1),E(2),…,E(n)。
Step3初始化特征值閾值εe=average(ΔE(i)),其中i=0,1,…,n-1。
Step4按照次序比較ΔE(i),首次滿足ΔE(i)>εe時,得到降維最優(yōu)簇數(shù)Ke。
Step5依次排序前Ke個特征值所對應(yīng)的特征向量,得到映射矩陣M。
(2) 聚類階段:在低維的特征空間中,對映射矩陣M的特征向量進(jìn)行聚類[14],具體見算法2。
算法2求解聚類最優(yōu)簇數(shù)Ks
輸入:映射矩陣M。
輸出:聚類最優(yōu)簇數(shù)Ks。
Step1建立以聚類簇數(shù)為X和誤差平方和為Y的直角坐標(biāo)系。
Step2根據(jù)映射矩陣M,計(jì)算每一個X=S點(diǎn)對應(yīng)的SSES以及相鄰兩點(diǎn)之間的斜率絕對值|Slope|。
Step3初始化斜率閾值εs=SSE1/Kmax。
Step4從大到小比較|Slope|,首次滿足|Slope|<εs時,得到聚類最優(yōu)簇數(shù)Ks。
定義6(降維最優(yōu)簇數(shù)Ke)在降維階段中,從小到大排列矩陣L的n個特征值E(1),E(2),…,E(n),第一次出現(xiàn)第Ke個次序特征值與第Ke+1個次序特征值的差距ΔE(i)=E(i+1)-E(i)大于特征值閾值εs(Epsilon Eigenvalue)的情況,即兩相鄰次序特征值差的絕對值首次滿足ΔE(i)>εe時,降維最優(yōu)簇數(shù)的取值Ke。
事實(shí)上,(低維映射空間)映射矩陣M的列向量就是這前Ke個特征值所對應(yīng)的特征向量。
定義7(聚類最優(yōu)簇數(shù)Ks)在聚類階段中,根據(jù)映射矩陣M中的降維數(shù)據(jù),建立以聚類簇數(shù)為X軸和誤差平方和為Y軸的直角坐標(biāo)系,記錄下X軸相鄰兩點(diǎn)之間的斜率Slopes。第一次出現(xiàn)Slopes的絕對值小于斜率閾值εs(Epsilon Slope)的情況,即相鄰兩點(diǎn)斜率的絕對值首次滿足時|Slopes|<εs,聚類最優(yōu)簇數(shù)的取值為Ks。
其中,Ke、Ks為正整數(shù)且2≤Ke,Ks≤Kmax,為保準(zhǔn)IDP-SC的降維幅度和聚類有效性,一般取Kmax=8。
定義8(Sum of Squared Errors,SSE)其是K-means聚類算法中最常用的評價指標(biāo)。它是所有數(shù)據(jù)點(diǎn)到其所屬簇質(zhì)心的距離平方和。SSE越小,表示聚類結(jié)果越好。計(jì)算公式如下:
(7)
式中:K為聚類數(shù);mi為第i個聚類中心;j是第i類簇的第i個數(shù)據(jù)點(diǎn)。
定義9對于面向差分隱私保護(hù)的譜聚類算法的自適應(yīng)最優(yōu)聚類簇數(shù)AOC的定義如下:
AOC=min{Ke,Ks}
(8)
式中:Ke是降維階段的降維最優(yōu)簇數(shù);Ks是聚類階段的聚類最優(yōu)簇數(shù)。
TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)法是一種有效的多指標(biāo)評價方法,能夠充分利用原始數(shù)據(jù)的內(nèi)在特征,其結(jié)果可以精確反映數(shù)據(jù)之間的差距,是一種逼近于理想解的排序法[18]。本文利用TOPSIS法的思想計(jì)算中間信息向量的目的是為了有效處理譜聚類算法中聚類階段第一個初始簇中心選擇的盲目性,即選取各數(shù)據(jù)特征的信息最為折中且最有價值的VII以得到更優(yōu)的第一個初始簇中心來優(yōu)化算法。
(9)
(10)
式中:wij為鄰接矩陣W中第i行第j列的權(quán)重值。
定義11(中間信息向量VII)將數(shù)據(jù)集H中n個h維的向量根據(jù)數(shù)據(jù)特征的不同分別進(jìn)行排名,根據(jù)這個數(shù)據(jù)特征的排名綜合評分,分?jǐn)?shù)處于排名中間項(xiàng)的那個向量就叫做中間信息向量。
由于VII是數(shù)據(jù)集H中各個數(shù)據(jù)特征綜合排名的中間項(xiàng),因此它具有良好的中間性(Intermediateness),在代表全體向量各個維度上的信息是最有價值的唯一向量;它也具有低敏感度(Low-Sensitivity),即對任一數(shù)據(jù)特征的離群點(diǎn)敏感度較低。
算法3IDP-SC算法
輸入:數(shù)據(jù)集H。
輸出:IDP-SC蔟類CIDP={C1,C2,…,CAOC}。
Step1根據(jù)數(shù)據(jù)集H,運(yùn)用互鄰高斯核函數(shù)的概念得到稀疏鄰接矩陣W。
Step2為稀疏鄰接矩陣添加Laplace隨機(jī)噪聲得到加噪鄰接矩陣W′,并計(jì)算求得度矩陣D。
Step3求出標(biāo)準(zhǔn)化Laplace矩陣L=D1/2W′D1/2。
Step4根據(jù)Laplace矩陣L,采用算法1和算法2依次求得降維最優(yōu)簇數(shù)Ke、映射矩陣M和聚類最優(yōu)簇數(shù)Ks,結(jié)合式(8)得到IDP-SC的自適應(yīng)最優(yōu)聚類簇數(shù)AOC。
Step8后續(xù)迭代采用傳統(tǒng)k-means++算法,直至算法收斂或蔟中心不再變動,輸出最優(yōu)蔟類CIDP={C1,C2,…,CAOC}。
本文涉及的算法均使用Visual Studio 2019集成開發(fā)環(huán)境的Python 3.8語言仿真實(shí)現(xiàn)。實(shí)驗(yàn)環(huán)境為Windows 10 x64,CPU 2.30 GHz,內(nèi)存16.0 GB。算法所涉及的數(shù)據(jù)集均來自于:UCI Knowledge Discovery Archive database。
各數(shù)據(jù)集信息如表1所示。
表1 UCI數(shù)據(jù)集信息
首先對數(shù)據(jù)集DS1和DS2進(jìn)行歸一化處理[19],使其所有數(shù)據(jù)點(diǎn)的各個屬性值都映射至區(qū)間[0,1]之間,消除量綱并提升模型精度。
(11)
式中:maxX和minX分別代表數(shù)據(jù)集中屬性X的最大值和最小值;x表示數(shù)據(jù)集中的數(shù)據(jù)點(diǎn);x′表示經(jīng)過歸一化處理之后的數(shù)據(jù)點(diǎn)。
差分隱私數(shù)據(jù)挖掘類算法取決于差分隱私保護(hù)下的保護(hù)強(qiáng)度和數(shù)據(jù)挖掘聚類算法下的聚類效果。隱私保護(hù)程度可以通過隱私預(yù)算ε來評估,其值越小,添加的Laplace隨機(jī)噪聲越大,隱私保護(hù)水平越高,但聚類可用性越低;聚類效果可以從兩方面進(jìn)行評價,即聚類算法的聚類效率和聚類可用性。
3.2.1聚類效率
差分隱私保護(hù)模型下的聚類效率可以采用聚類過程中算法收斂或簇中心不再變動時的迭代次數(shù)來評價,同時它也是衡量聚類算法初始簇中心選取合理性的有效指標(biāo)。迭代次數(shù)越小表示初始簇中心點(diǎn)的選擇越合理,算法聚類效率越高。
3.2.2聚類可用性
差分隱私保護(hù)模型下的聚類可用性可以使用蘭德系數(shù)RI指標(biāo)和修正蘭德系數(shù)ARI指標(biāo)評價。對于數(shù)據(jù)集H,假設(shè)用C表示實(shí)際類別信息,K表示最終聚類結(jié)果,a表示C和K中屬于同一類別的元素數(shù)量,b表示C和K中屬于不同類別的元素數(shù)量,則RI指標(biāo)[20]如式(12)所示。
(12)
但在仿真實(shí)驗(yàn)中,算法實(shí)現(xiàn)計(jì)算得到的RI值普遍偏高導(dǎo)致區(qū)分度不明顯,由此ARI指標(biāo)[20]被提出,如式(13)所示。
(13)
式中:E(RI)表示RI的數(shù)學(xué)期望,ARI取值范圍[0,1],ARI值越大表示聚類結(jié)果和真實(shí)情況越吻合,聚類可用性越好。
對數(shù)據(jù)集DS1和DS2分別采用DP-SC算法和IDP-SC算法進(jìn)行對比實(shí)驗(yàn),在評價聚類效率指標(biāo)時將隱私預(yù)算ε的值逐步從0.1調(diào)至2.0,在評價聚類可用性指標(biāo)時將隱私預(yù)算ε的值逐步從0.1調(diào)至1.0。為了避免算法隨機(jī)性而導(dǎo)致的實(shí)驗(yàn)結(jié)果存在偶然性,根據(jù)每個隱私預(yù)算ε值,對DS1和DS2分別采用DP-SC和IDP-SC算法聚類20次,并將其評價指標(biāo)結(jié)果的平均值作為最終的實(shí)驗(yàn)結(jié)果。
在數(shù)據(jù)集DS1和DS2上運(yùn)行的聚類效率評價結(jié)果分別如圖1和圖2所示。
圖1 數(shù)據(jù)集DS1的聚類效率評價結(jié)果
圖2 數(shù)據(jù)集DS2的聚類效率評價結(jié)果
結(jié)合圖1和圖2可以發(fā)現(xiàn),對于數(shù)據(jù)集DS1和DS2的實(shí)驗(yàn)結(jié)果來說,在同一隱私預(yù)算ε下,本文提出的IDP-SC算法與傳統(tǒng)的DP-SC算法相比,IDP-SC算法的平均迭代次數(shù)明顯小于DP-SC算法且具有穩(wěn)健性,意味著IDP-SC采用中間信息向量的概念挑選第一個初始簇中心的方法可以有效提高聚類效率,并且隨著隱私預(yù)算ε的增加,DP-SC算法的平均迭代次數(shù)逐漸減少,聚類效率越來越高,趨近于IDP-SC的平均迭代次數(shù)。這說明新算法在保證數(shù)據(jù)隱私的同時可以有效提高聚類效率。值得一提的是,對于高維數(shù)據(jù)集,新算法在聚類效率上的改進(jìn)效果尤其顯著。
在數(shù)據(jù)集DS1和DS2上運(yùn)行的聚類可用性評價結(jié)果分別如圖3和圖4所示。
圖3 數(shù)據(jù)集DS1的聚類可用性評價結(jié)果
圖4 數(shù)據(jù)集DS2的聚類可用性評價結(jié)果
結(jié)合圖3和圖4可以發(fā)現(xiàn),對于數(shù)據(jù)集DS1和DS2的實(shí)驗(yàn)結(jié)果來說,在同一隱私預(yù)算ε下,本文提出的IDP-SC算法與傳統(tǒng)的DP-SC算法相比,顯然具有更高的ARI評價結(jié)果,這說明新算法在保證數(shù)據(jù)隱私的同時可以顯著提高聚類可用性。不難看出,對于高低緯數(shù)據(jù)集,本文算法在聚類可用性上的改進(jìn)效果都比較顯著。
圖3和圖4分別展示的是在DS1和DS2數(shù)據(jù)集上,針對不同的隱私預(yù)算ε值分別調(diào)用DP-SC算法和IDP-SC算法進(jìn)行聚類20次后得到的ARI的平均值折線圖??梢钥闯?IDP-SC算法的聚類可用性明顯要高于DP-SC,同時隨著隱私預(yù)算的增大,添加的噪聲量減小,使得聚類可用性也越高。不難得出,對于高低緯數(shù)據(jù)集,本文算法在聚類可用性上的改進(jìn)效果都比較顯著。
本文針對傳統(tǒng)的差分隱私保護(hù)的譜聚類算法(DP-SC),提出基于差分隱私保護(hù)的自適應(yīng)譜聚類優(yōu)化新算法(IDP-SC),有效解決了降維幅度和聚類簇數(shù)的不確定性、初始簇中心選取的隨機(jī)性和離群點(diǎn)高敏感度等問題而可能導(dǎo)致出現(xiàn)聚類效果不理想的情況。
首先本文算法結(jié)合KNN思想和高斯核函數(shù)的概念提出互鄰高斯核函數(shù),有效處理了高維大樣本場合數(shù)據(jù)集的計(jì)算壓力;通過分析高維數(shù)據(jù)點(diǎn)的數(shù)據(jù)特征與聚類簇數(shù)的關(guān)系自適應(yīng)地得到IDP-SC的最優(yōu)聚類簇數(shù),再利用TOPSIS思想引入中間信息向量和中間性的概念處理聚類階段第一個初始簇中心選取的隨機(jī)性,最后根據(jù)多維高斯分布離群點(diǎn)檢驗(yàn)后的結(jié)果采用插補(bǔ)法解決離群點(diǎn)問題。仿真實(shí)驗(yàn)結(jié)果表明,IDP-SC在高維大樣本場合數(shù)據(jù)集下,能夠在保證差分隱私安全性的同時改善聚類效率并顯著提高聚類可用性,切實(shí)把握住數(shù)據(jù)隱私和聚類效果兩者的平衡。在以后的研究中,將繼續(xù)深入研究如何有效減少算法的復(fù)雜程度,在保證差分隱私技術(shù)的安全性下進(jìn)一步提高運(yùn)行效率和聚類可用性,特別是如何顯著提高維數(shù)據(jù)集的聚類可用性。