李 靜,趙青杉,高 媛
(1. 忻州師范學院計算機系,山西 忻州 034000;2. 中北大學大數(shù)據(jù)學院,山西 太原 030051)
在網(wǎng)絡(luò)信息發(fā)達的現(xiàn)代社會,基于網(wǎng)絡(luò)技術(shù)與信息采集設(shè)備獲取的海量數(shù)據(jù)極具價值,以這些數(shù)據(jù)為基礎(chǔ)挖掘不同領(lǐng)域狀態(tài),實現(xiàn)數(shù)據(jù)共享成為當今時代數(shù)據(jù)應(yīng)用的流行趨勢[1,2]。但數(shù)據(jù)共享技術(shù)在為使用者帶來便利的同時也存在一定風險[3],易導(dǎo)致使用者自身隱私信息被他人窺探,成為他人獲取不法利益的工具。針對此問題,部分研究學者提出隱私保護數(shù)據(jù)查詢理念,成為數(shù)據(jù)共享領(lǐng)域的一大熱點。
文獻[4]提出大數(shù)據(jù)環(huán)境中交互式查詢差分隱私保護方法。引入數(shù)據(jù)關(guān)聯(lián)性分析方法,降低冗余信息量。利用交替方向乘子法建立查詢負載矩陣,并對其進行分解處理。采用自適應(yīng)加噪技術(shù)產(chǎn)生差分隱私保護所需要的合理數(shù)量的噪聲,實現(xiàn)大數(shù)據(jù)交互式查詢差分隱私保護。文獻[5]提出基于混合型位置大數(shù)據(jù)的差分隱私聚類方法。采用KD-medoids降維聚類算法,預(yù)處理混合型位置大數(shù)據(jù),實現(xiàn)大數(shù)據(jù)位置信息的提取與記錄。利用鄰近搜索,得到聚類中心點,并對其進行k聚類簇劃分,加入Laplace噪聲,使其滿足差分隱私。但是,異常傳統(tǒng)方法雖然具有較好的隱私數(shù)據(jù)保護性能,但傳統(tǒng)研究主要集中于交互式查詢,導(dǎo)致非交互式查詢存在耗時較長的問題。
針對這一問題,研究基于機器學習的大數(shù)據(jù)隱私非交互式查詢方法,在非交互式查詢過程中有機結(jié)合機器學習和差分隱私,利用預(yù)測模型獲取滿足差分隱私標準的查詢結(jié)果,并通過實驗分析驗證該方法的實際應(yīng)用效果。
基于機器學習[6,7]的大數(shù)據(jù)隱私非交互式查詢方法可通過三個主要步驟實現(xiàn):
1)在大數(shù)據(jù)集A中,基于關(guān)聯(lián)規(guī)則挖掘其中數(shù)據(jù)包含的關(guān)聯(lián)程度,設(shè)定閾值,選取關(guān)聯(lián)程度低于閾值的數(shù)據(jù)記錄,構(gòu)建大數(shù)據(jù)特征集W;
2)選取K-means聚類算法劃分特征集,獲取查詢集f(W),采用自適應(yīng)噪聲添加算法在查詢集內(nèi)加入拉普拉斯噪聲,獲取符合差分隱私標準的查詢集(W);
3)利用f(W)和(W)構(gòu)建訓(xùn)練樣本集,采用機器學習算法中的線性回歸算法對其進行訓(xùn)練,生成預(yù)測模型,在其中輸入A內(nèi)的初始數(shù)據(jù),得到符合差分隱私保護的查詢結(jié)果集合。
針對A,采用FP-growth關(guān)聯(lián)分析算法挖掘其中數(shù)據(jù)包含的關(guān)聯(lián)程度[8],實現(xiàn)流程如圖1所示。
圖1 數(shù)據(jù)關(guān)聯(lián)程度挖掘流程
數(shù)據(jù)關(guān)聯(lián)程度挖掘流程可歸納為5個環(huán)節(jié),具體描述如下:
環(huán)節(jié)1:整體掃描A,得到頻繁項候選集Ap;
環(huán)節(jié)2:依照最小支持度在Ap內(nèi)選取數(shù)據(jù),生成頻繁模式樹;
環(huán)節(jié)3:對頻繁模式樹進行剪枝;
環(huán)節(jié)4:在上一環(huán)節(jié)基礎(chǔ)上獲取前綴路徑集合Az;
環(huán)節(jié)5:基于Az得到數(shù)據(jù)關(guān)聯(lián)程度。
將數(shù)據(jù)關(guān)聯(lián)程度與預(yù)先設(shè)定的閾值φ相比,選取關(guān)聯(lián)程度低于φ的數(shù)據(jù)記錄,構(gòu)建W。
2.2.1 K-means聚類算法
針對W={Wi|i=1,2,…,n},采用K-means聚類算法劃分W,以Cj(j=1,2,…,k)和cj(j=1,2,…,k)分別描述聚類的k個類別和初始聚類中心,cj表達式如下
(1)
式(1)內(nèi),n表示W(wǎng)內(nèi)特征數(shù)據(jù)數(shù)量。
利用式(2)確定數(shù)據(jù)wi與數(shù)據(jù)wj間的歐氏距離d(wi,wj):
(2)
采用K-means聚類算法的迭代過程將W內(nèi)特征數(shù)據(jù)劃分至不同簇內(nèi)[9],令目標函數(shù)H最小化,由此得到具有獨立性與緊密性的簇。
(3)
K-means聚類算法具體實現(xiàn)過程如下:
1)設(shè)定輸入與輸出
輸入:k與W={Wi|i=1,2,…,n},輸出:符合H最小化的k個簇;
2)確定cj
在W={Wi|i=1,2,…,n}內(nèi)的n個特征數(shù)據(jù)內(nèi)隨機確定k個cj;
3)迭代進行(4)與(5)內(nèi)容,至H固定;
4)依照各特征數(shù)據(jù)的均值,確定各特征數(shù)據(jù)同k個cj之間的d值,依照權(quán)重下限值再次劃分相應(yīng)特征數(shù)據(jù);
5)確定各聚類均值。
基于以上過程獲取f(W)。
2.2.2 基于密度的初始聚類中心算法
采用基于密度的初始聚類中心點算法確定K-means聚類算法中的k個cj。利用式(4)確定W={Wi|i=1,2,…,n}內(nèi)全部特征數(shù)據(jù)的密度:
(4)
式中,σ為初始聚類中心點集合。
利用式(5)確定密度最大的特征數(shù)據(jù):
wmax=max{wi|wi∈W,i=1,2,…,n}
(5)
以wmax為第一個初始聚類中心,將其引入M內(nèi),得到M=M∪{wmax},同時在W內(nèi)清除此特征數(shù)據(jù),依據(jù)半徑r確定wmax鄰域中全部的特征數(shù)據(jù),在W內(nèi)清除這些特征數(shù)據(jù)。在此基礎(chǔ)上再次利用式(5)確定密度最大的特征數(shù)據(jù),直至初始聚類中心達到k個。
2.2.3 自適應(yīng)噪聲添加算法
為保護查詢結(jié)果的隱私性,需在f(W)內(nèi)添加滿足拉普拉斯分布的噪聲[10]。但特殊數(shù)據(jù)具有較高靈敏度,直接添加噪聲將造成數(shù)據(jù)喪失可用性,因此需采用自適應(yīng)地噪聲添加算法。大數(shù)據(jù)非交互式查詢結(jié)果的隱私保護水平由隱私保護預(yù)算ε描述,ε值與隱私保護水平和噪聲添加量之間均表現(xiàn)為反比例相關(guān)?;诖艘勒崭哌m用性的ε值能夠同時確定隱私保護水平和噪聲添加量。
圖2所示為自適應(yīng)噪聲添加流程。
圖2 自適應(yīng)噪聲添加流程
基于以上過程獲取實際查詢集f(W)與符合差分隱私標準的查詢集(W),利用f(W)和(W)構(gòu)建訓(xùn)練樣本集T=〈f(W),(W)〉,采用機器學習算法中的線性回歸算法對其進行訓(xùn)練,生成預(yù)測模型,利用該模型預(yù)測查詢結(jié)果。
利用基于機器學習算法的隱私保護預(yù)測模型獲取大數(shù)據(jù)隱私非交互查詢結(jié)果的具體過程如下:
設(shè)定輸入為大數(shù)據(jù)特征集的查詢集f(W)、符合差分隱私標準的查詢集(W)、ε值和大數(shù)據(jù)集A;設(shè)定輸出為隱私非交互式查詢結(jié)果集。
1)利用f(W)和(W)構(gòu)建訓(xùn)練樣本集T=〈f(W),(W)〉;
2)利用線性回歸算法訓(xùn)練T=〈f(W),(W)〉,生成預(yù)測模型;
3)在所獲取的預(yù)測模型內(nèi)輸入大數(shù)據(jù)集;
4)獲取大數(shù)據(jù)隱私非交互式查詢結(jié)果f(A)。
實驗為驗證本文所研究基于機器學習的大數(shù)據(jù)隱私非交互式查詢研究方法在實際查詢應(yīng)用中的應(yīng)用效果,以某購物網(wǎng)站數(shù)據(jù)庫內(nèi)2020年7月、8月和9月的銷售數(shù)據(jù)為實驗數(shù)據(jù),分別構(gòu)建三個初始大數(shù)據(jù)集,分別命名為7月數(shù)據(jù)集、8月數(shù)據(jù)集和9月數(shù)據(jù)集,各數(shù)據(jù)集內(nèi)每一個數(shù)據(jù)均表示一次商品銷售行為。實驗設(shè)計之初,為兼顧本文方法并行性與可擴展性等性能的驗證,選取分布式集群式實驗方法。同時為確保實驗過程中的網(wǎng)絡(luò)時延無差異,實驗過程在相同網(wǎng)絡(luò)環(huán)境下進行。在開源的Hadoop系統(tǒng)中驗證本文方法的應(yīng)用性能,實驗所得具體結(jié)果如下所示。
針對實驗所使用的三個大數(shù)據(jù)集,即7月數(shù)據(jù)集、8月數(shù)據(jù)集和9月數(shù)據(jù)集,設(shè)置最小支持度,確定各數(shù)據(jù)集的關(guān)聯(lián)關(guān)系,所獲得結(jié)果通過表1描述。
表1 各數(shù)據(jù)集關(guān)聯(lián)關(guān)系分析結(jié)果
分析表1得到,采用所提方法分析各數(shù)據(jù)集后,數(shù)據(jù)集內(nèi)數(shù)據(jù)量呈現(xiàn)不同程度的降低趨勢,由此說明采用關(guān)聯(lián)關(guān)系能夠顯著降低大數(shù)據(jù)隱私非交互查詢過程中的數(shù)據(jù)計算壓力,節(jié)約大量時間與空間。同時分析表1還能得到,在最小支持度值分別為0.2、0.4、0.8和1.5的條件下,三個數(shù)據(jù)集的數(shù)據(jù)量均在最小支持度值為0.4的條件下降低幅度最顯著,由此在實際應(yīng)用過程中,可將本文方法中的最小支持度值設(shè)定為0.4。
本文方法中為確保查詢結(jié)果的隱私性,在查詢過程中引入了噪聲。數(shù)據(jù)效用性分析的主要目的是判斷本文方法所獲取的大數(shù)據(jù)隱私非交互式查詢結(jié)果受噪聲干擾的程度。分析過程中為進一步說明本文方法的數(shù)據(jù)效用性能,以文獻[4]方法和文獻[5]方法為對比方法,以平均絕對誤差為指標,對比本文方法與對比方法所獲取的大數(shù)據(jù)隱私非交互式查詢結(jié)果精度,平均絕對誤差值與查詢結(jié)果精度之間具有反比例相關(guān)性,即平均絕對誤差值越低,方法所得到的查詢結(jié)果精度越高。設(shè)定隱私保護預(yù)算值取值范圍為0.1—1。本文方法與兩種對比方法查詢結(jié)果精度對比結(jié)果如圖3所示。
圖3 數(shù)據(jù)效用性分析結(jié)果
分析圖3得到,在三個數(shù)據(jù)集內(nèi),隨著隱私保護預(yù)算值逐漸提升,本文方法與兩種對比方法所獲取的查詢結(jié)果平均絕對誤差值均呈現(xiàn)不同程度的下降趨勢,但在三個數(shù)據(jù)集內(nèi),本文方法所獲取的查詢結(jié)果平均絕對誤差值均低于兩種對比方法。
在圖3(a)內(nèi),在隱私保護預(yù)算值取值為0.3的條件下,本文方法的平均絕對誤差值為89項,文獻[4]方法和文獻[5]方法的平均絕對誤差值分別為231項和174項;在隱私保護預(yù)算值取值為0.6的條件下,本文方法的平均絕對誤差值為20項,文獻[4]方法和文獻[5]方法的平均絕對誤差值分別為110項和64項;在隱私保護預(yù)算值取值為1.0的條件下,本文方法的平均絕對誤差值為4項,文獻[4]方法和文獻[5]方法的平均絕對誤差值分別為12項和23項。在圖3(b)與圖3(c)內(nèi)不同隱私保護預(yù)算值條件下同樣能夠表現(xiàn)出本文方法所得到的查詢結(jié)果精度優(yōu)勢。這是由于本文方法在保護查詢結(jié)果隱私性過程中采用添加噪聲的方式,未損耗隱私保護預(yù)算。
同時本文方法中的隱私保護預(yù)算值反映了本文方法的隱私保護性能,在該值逐漸提升的條件下,本文方法所得到的查詢結(jié)果精度逐漸提升,說明隱私保護程度越低,本文方法所得到的查詢結(jié)果精度越高,即所得到的查詢結(jié)果數(shù)據(jù)效應(yīng)性更高。
本文針對以往普遍使用的隱私數(shù)據(jù)查詢方法中存在的部分缺陷,研究基于機器學習的大數(shù)據(jù)隱私非交互式查詢方法。本文方法以機器學習問題取代數(shù)據(jù)查詢問題,通過機器學習算法中的線性回歸算法構(gòu)建預(yù)測模型,獲取符合差分隱私標準的查詢結(jié)果。并通過實驗驗證了本文方法的可應(yīng)用性。
下一步研究工作主要針對查詢記錄內(nèi)容類別屬性的劃分,基于查詢記錄的類別屬性差異優(yōu)化本文方法,可在確保本文方法查詢結(jié)果精度基礎(chǔ)上,提升大數(shù)據(jù)集收斂速度。