?

面向Stacking算法的差分隱私保護研究

2024-02-28 01:42董燕靈張淑芬徐精誠王豪石
計算機工程與科學 2024年2期
關鍵詞:拉普拉斯差分準確率

董燕靈,張淑芬,4,徐精誠,王豪石

(1.華北理工大學理學院,河北 唐山 063210;2.河北省數據科學與應用重點實驗室,河北 唐山 063210;3.唐山市數據科學重點實驗室,河北 唐山 063210;4.唐山市大數據安全與智能計算重點實驗室,河北 唐山 063210)

1 引言

隨著科技的發展,從互聯網到移動設備,從社交媒體到物聯網,產生了越來越多信息和數據。許多機構和企業使用集成學習技術對收集到的信息進行分析,以獲取有用的知識來便利人們的生活。但是,隱私泄露和隱私侵犯的問題也隨之而來,人們對隱私保護問題越來越關注。為了保護個人隱私,越來越多的研究人員開始研究關于隱私保護的理論和技術,并且提出了一系列的解決方案。

當前應用于集成學習的隱私保護技術主要有加密和擾動2種。加密常通過同態加密[1,2]、哈希技術[3,4]等來對訓練數據進行加密,以阻止他人竊取敏感信息。擾動通常使用差分隱私技術[5-7]來實現,采用拉普拉斯機制[8]、指數機制[9]或高斯機制[10]對數據添加噪聲,防止包括攻擊者在內的第三方從發布的數據集中提取有價值的信息。相較于傳統的加密技術,差分隱私不需要對數據進行額外的加密處理,且支持對多種不同類型的數據進行隱私保護,如數值型數據、文本型數據和圖像型數據等,還具有高度的可伸縮性,可以根據實際需要添加額外的隱私約束,從而更好地保護數據。

差分隱私技術已經被擴展應用于許多集成學習算法,如隨機森林[11-14]、Adaboost[15-18]和提升樹[19,20]等,但單一同質的集成學習算法可能很難滿足同時達到有效隱私保護和較好預測性能的要求。因此,本文提出將異質Stacking算法與差分隱私技術相結合的算法。Stacking算法是一種強大的集成學習算法,被廣泛應用于文本分類[21]、圖像分類[22]、生物醫學[23]等各種重要領域,與單一的同質集成學習算法相比,其組合了多個不同的弱學習器預測結果來提高模型的精度。當前將差分隱私技術與Stacking算法結合起來的相關研究較少。Salem等人[24]提出了一種基于模型泛化的Model Stacking方法來進行隱私保護。Yao等人[25]提出了一種通過Stacking算法來增強隱私保護邏輯回歸PLR(Privacy-preserving Logistic Regression) 的方法。李帥等人[26]提出了一種DPC-Stacking(Differential Privacy protected Clustering of Stacking)算法來解決單一聚類算法在差分隱私保護下準確性和安全性不足的問題。在這些已有的將差分隱私技術與Stacking算法相結合的研究中,主要有2個缺陷:一是隱私預算分配方案不具有廣泛的應用性,不能適用于由任意學習器構成的Stacking算法;二是對訓練集重復添加差分隱私保護,使得數據的可用性降低。

基于此,本文設計了一種基于Stacking元學習器的隱私預算分配方案,將此方案與Stacking算法結合,提出一種基于差分隱私的DPStacking(Differential Privacy of Stacking)算法,只需對訓練集添加一次差分隱私保護,提高數據集的可用性,在保證算法準確率的同時,提高Stacking算法在模型訓練過程中的安全性。具體來說,本文的主要工作如下所示:

(1)為有效解決單一同質集成學習算法對噪聲敏感的問題,提出一種基于差分隱私保護的DPStacking算法,在保護數據隱私的同時,兼顧模型的可用性及分類結果的準確性。

(2)對于元學習器輸入的不同構成體,分別通過皮爾遜相關系數和差分隱私并行組合的特性設計不同的隱私預算分配方案。

(3)通過理論分析證明了DPStacking算法滿足ε-差分隱私保護,并在真實數據集上進行實驗,將DPStacking算法與其他隱私保護集成學習算法進行對比,評估DPStacking算法的有效性。

2 差分隱私保護技術

差分隱私保護技術是一種通過在數據之間添加一定數量噪聲來掩蓋數據的真實信息,使攻擊者無法通過差分攻擊來獲得有效信息,從而達到保護數據隱私效果的技術。

2.1 差分隱私的定義及相關概念

定義1(差分隱私[5-7]) 設有隨機算法W,PW為W所有可能的輸出構成的集合。對于任意2個具有相同屬性結構,只存在一條記錄差的數據集D和D′以及PW的任何子集SW,若式(1)成立,則稱算法W提供了ε-差分隱私保護。

Pr[W(D)∈SW]≤eεPr[W(D′)∈SW]

(1)

其中,參數ε為隱私保護預算,表示數據隱私的保護程度,ε越小,隱私保護能力越強;Pr[·]表示發生某一事件的概率。

定義2(全局敏感度[8]) 對于2個具有相同屬性結構,只存在一條記錄差的數據集D和D′,查詢函數f(·)最大的變化為全局敏感度Δf。Δf的計算如式(2)所示:

Δf=maxD,D′‖f(D)-f(D′)‖1

(2)

定義3(并行組合[8]) 給定任意n個互不相交的數據集Di,1≤i≤n,假設有n個隨機算法Ki滿足εi-差分隱私,則由{Ki(Di)}(1≤i≤n)組合后的算法滿足max(εi)-差分隱私。

2.2 實現機制

拉普拉斯機制是差分隱私保護技術中的一種實現機制,其核心思想是在釋放數據的同時,向每個數據添加一個有噪聲的隨機偏移量,添加的隨機噪聲服從拉普拉斯分布。設尺度參數為λ,位置參數為0,則該拉普拉斯分布為Laplace(λ),其概率密度函數如式(3)所示:

(3)

定義4(拉普拉斯機制[8]) 給定數據集D和隱私預算ε,設有查詢函數f(D),其敏感度為Δf,那么隨機算法W(D)=f(D)+Y提供ε-差分隱私保護。其中Y~Laplace(Δf/ε)為隨機噪聲,服從尺度參數為Δf/ε的拉普拉斯分布。拉普拉斯機制的整體思想是以一定的概率輸出異常值。

3 基于差分隱私的DPStacking算法

本文提出一種DPStacking算法,通過將差分隱私應用于Stacking算法中,在保證模型精度的前提下,降低模型訓練過程中數據泄露的風險.

本文使用的主要符號如表1所示。

Table 1 Primary symbols

Table 2 Information of experimental datasets

3.1 Stacking算法

Stacking算法是一種利用K-折交叉驗證的集成學習算法,它將多個基學習器的結果進行組合,以期得到更好的預測性能。該算法通過將訓練集分成K個不同的子集,每次只使用其中一個子集作為測試集,其余K-1個子集作為訓練集,這樣可以獲得K個不同的基學習器模型。然后,將這K個基學習器模型的輸出作為新的特征,以此建立新的預測模型,實現最終的預測?;贙-Fold交叉驗證的Stacking生成算法如算法1所示。圖1為2個基學習器的3-折交叉驗證Stacking模型。

Figure 1 3-Fold verify Stacking model圖1 3-折交叉驗證Stacking模型

3.2 DPStacking算法

在Stacking算法的實際應用過程中,隱私泄露的風險主要來自于第1層模型的訓練,當第1層模型中的數據包含敏感信息時,如果其中單個學習器在集成過程中泄漏了個人隱私,那么第2層模型的訓練集和測試集就可能受到影響,從而暴露個人隱私。本文提出為第2層模型的訓練集和測試集添加差分隱私保護的方法。具體來說,針對元學習器的訓練集和測試集,分別設計了2種不同的隱私預算分配方案,并引入拉普拉斯機制來進行擾動。

由于元學習器訓練集A是由基學習器的預測結果At和訓練集D的標簽值yi組成,因此本文根據At與yi的相關性,提出一種基于皮爾遜相關系數的隱私預算分配方式。

定義5(皮爾遜相關系數[27,28]) 皮爾遜相關系數是一種統計指標,用來量化2個變量之間的線性相關性。2個變量間的皮爾遜相關系數ρx,y的計算如式(4)所示:

(4)

其中,cov(x,y)表示協方差,E(x)表示x的期望值,σx表示x的標準差。ρx,y∈[-1,1],ρx,y越接近1,表示2個變量越正相關;越接近-1,表示2個變量越負相關;而越接近0,表示2個變量間沒有顯著的線性關系。式(4)為2個變量間的總體相關系數,那么2個樣本的皮爾遜相關系數rx,y的計算如式(5)所示:

(5)

(6)

由于At與yi互不相交,根據差分隱私并行組合的特點,分配給yi的隱私預算即為元學習器訓練集的隱私預算,向yi添加拉普拉斯噪聲,如式(7)所示:

(7)

基于元學習器訓練集的隱私預算分配算法如算法2所示。

算法2 基于元學習器訓練集的隱私預算分配算法輸入:元學習器的訓練集A,隱私預算ε。輸出:A。 步驟1 計算At與yi間的皮爾遜相關系數rAt,yi;步驟2 對rAt,yi進行歸一化,r′At,yi=rAt,yi∑Tt=1rAt,yi;步驟3 計算分配給At的隱私預算;步驟4 for t=1 to T:步驟5 為At添加拉普拉斯噪聲,得到At;步驟6 end for步驟7 為yi添加拉普拉斯噪聲,得到yi;步驟8 A={ai1,ai2,…,aiT,yi}ni=1。

對于元學習器測試集B={B1,B2,…,BT},它是由互不相交的子集Bt組成。假設元學習測試集的總隱私預算為ε,則分配給Bt的隱私預算無需再平均分配,而是直接同等于測試集B的隱私預算,因此向Bt添加拉普拉斯噪聲,如式(8)所示:

(8)

基于元學習器測試集的隱私預算分配算法和DPStacking生成算法分別如算法3和算法4所示。

算法3 基于元學習器測試集的隱私預算分配算法輸入:元學習器的測試集B={B1,B2,…,BT},隱私預算ε。輸出:B。 步驟1 for t=1 to T:步驟2 為Bt添加拉普拉斯噪聲,得到Bt;步驟3 end for步驟4 B={B1,B2,…,BT}。

3.3 算法分析

3.3.1 時間復雜度分析

假設訓練集樣本個數n,特征數量為d,折疊數為K,基學習器個數為T,算法2和算法3的時間復雜度為:O(Tdn),算法4的時間復雜度為:O(TKdn)。

3.3.2 隱私性分析

定理1算法2和算法3滿足ε-差分隱私。

max(εr′A1,yi,εr′A2,yi,…,εr′AT,yi)≤

max(εr′At,yi,ε)≤ε

(9)

設算法3中總的隱私預算為ε,分配給Bt的隱私預算為ε。由于元學習器測試集B={B1,B2,…,BT}是由互不相交的子集Bt組成,于是根據差分隱私并行組合的特點,式(10)可滿足:

max(ε)=ε

(10)

因此,算法2和算法3滿足ε-差分隱私。

定理2算法4滿足ε-差分隱私。

證明設算法4中總的隱私預算為ε,有相鄰數據集D和D′,W(D)和W(D′)表示數據集D和D′執行算法1的輸出結果,f(D)和f(D′)表示數據集D和D′執行算法4的輸出結果,f(D)=W(D)+Y,f(D′)=W(D′)+Y,其中Y~Laplace(Δf/ε)服從尺度參數為Δf/ε的拉普拉斯分布,則式(11)滿足:

(11)

因此,算法4滿足ε-差分隱私。

4 實驗及結果分析

4.1 實驗數據

實驗所選數據集來源于公開的 UCI(University of California Irvine)機器學習數據庫中的Adult數據集和Bank Marketing數據集,具體信息如表 2 所示。

通過對Adult數據集進行分析發現,屬性native-country為非美國籍的樣本數僅占總樣本數的 16%,因此剔除非美國籍的樣本,僅選取美國籍的樣本記錄進行訓練和測試。此外,屬性fnlwgt的值是通過對和當前樣本具有相似人口特征的人進行加權統計而得出的人口總數,該屬性對本文的分析價值較低,也將該屬性刪除。本文選取數據集的 70%作為訓練集,30%作為測試集,在2個數據集上分別進行實驗。

4.2 實驗結果與分析

在相同參數下,每組實驗重復運行50次后取平均值作為算法的平均分類準確率。其中基學習器選擇RF(Random Forest)算法、Adaboost算法和XGBoost算法。由于Stacking算法在采用K-Fold交叉驗證的方式將基學習器的輸出用于元學習器的訓練時,已經使用了復雜的非線性變換,Stacking為了防止過擬合,通常選取簡單的學習器作為它的元學習器。本文的元學習器選擇邏輯回歸算法,折疊數K=5,ε=0.1,0.3,0.5,0.7,1,3,5。

從表3可以發現,在不添加差分隱私保護時,異質集成Stacking算法的分類準確率比RF算法、Adaboost算法和XGBoost算法的高,這說明Stacking算法可以改善模型的泛化能力,使其具有更好的預測能力和較高的可用性。

Table 3 Classification accuracies of Stacking and other integrated learning algorithms

本文將DPStacking算法與DiffRFs(Random Forest under Differential privacy)算法[13]、DP-AdaBoost(Differential Privacy of AdaBoost)算法[17]、DPXGB(Differential Privacy XGBoost)算法[19]進行對比,實驗結果如圖2所示。從圖2可以看出,DPStacking算法和DP-AdaBoost算法在ε≤0.5時分類準確率較其他算法的偏低。這是因為DiffRFs算法和DPXGB算法采用往基決策樹內部加噪的方式,而DPStacking算法和DP- AdaBoost算法采用對數據集加噪聲的方式。具體來說,DPStacking算法通過對元學習器的訓練集和測試集加噪聲,DP-AdaBoost算法通過對基學習器的預測結果類標簽加噪聲,當ε較小時,添加的噪聲對數據集的破壞較大,數據可用性較差,因此DPStacking算法和DP-AdaBoost算法的分類準確率較低;而當ε變大時,噪聲對數據集的影響逐漸減小,數據集的可用性提高,因此DPStacking算法和DP-AdaBoost算法在ε≤0.5時,隨著ε的變大,分類準確率上升幅度較大。此外,當ε>0.5時,DPStacking算法的分類準確率比其他差分隱私集成學習算法的高,這符合Stacking算法異質集成的預測能力優于同質集成算法的特點。

Figure 2 Classification accuracies comparison of DPStacking algorithm and other differential privacy integrated learning algorithms圖2 DPStacking算法與其他差分隱私集成學習算法的分類準確率比較

計算當ε=1時DPStacking與其他差分隱私集成學習算法的精確度PR(Precision Rate)、召回率RR(Recall Rate)和F1-score,結果如圖3所示。其中,精確度指模型預測為正的樣本中實際為正的樣本所占的比例;召回率為實際為正的樣本中被模型預測為正的比例;F1-score表示精確率和召回率的調和平均,可以綜合表現模型的性能。從圖3可知,DPStacking算法的平均精確度、平均召回率、平均F1-score均高于其他差分隱私集成算法的,這說明DPStacking算法在保護隱私的前提下具有更優的性能。

Figure 3 Results comparison of each index圖3 各指標比較結果

本文還對ε=1時DPStacking算法每次分類結果的準確率進行了記錄,結果如圖4所示。對于Adult數據集而言,平均分類準確率為83.37%;第21次的運行結果最低,對應的分類準確率為83.1%;第19次的運行最高,對應的分類準確率為83.92%。Bank數據集上的平均分類準確率為90.18%;第3次的運行結果最低,對應的分類準確率為89.98%;第40次的運行最高,對應的分類準確率為90.38%;并且不難發現50次運行的結果都不相同,這是由于拉普拉斯噪聲是隨機的,它以一定的概率輸出異常值來擾亂數據。

Figure 4 Classification accuracies of DPStacking algorithm when ε=1圖4 ε=1時DPStacking算法分類準確率

綜上,DPStacking算法與其他差分隱私集成學習算法相比,DPStacking算法具有顯著的優勢,尤其是在隱私預算較高的情況下,它的各項指標均高于其他差分隱私集成算法的,在保證模型可用性的基礎上對數據信息進行了隱私保護,模型預測精度也明顯提高。

5 結束語

本文提出了一種基于差分隱私的DPStacking算法,與現有的差分隱私集成學習相比,本文所提算法具有以下優勢:

(1)針對Stacking算法中基學習器的輸出用于元學習器訓練的特點,對元學習器輸入構成體設計了不同的隱私預算分配方案。通過計算元學習器訓練集內不同子集間的皮爾遜相關系數,為元學習器訓練集內的不同子集分配不同的隱私預算,根據差分隱私并行組合的特性為元學習器測試集內的子集分配隱私預算。

(2)提出的隱私預算分配方案具有較強的應用性和靈活性,能夠應用于多種不同的基學習器和元學習器構成的Stacking算法。

(3)用理論證明了DPStacking算法符合ε-差分隱私保護,用實驗驗證了該算法相較于同質差分隱私集成學習算法,在擁有更好的預測性能的同時,仍能有效保護用戶隱私,并較好地解決了單一同質集成學習算法對噪聲較敏感的問題,具有較高的實用價值。

下一步,將考慮如何在隱私保護和數據可用性之間找到最佳平衡。

猜你喜歡
拉普拉斯差分準確率
數列與差分
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
高速公路車牌識別標識站準確率驗證法
基于超拉普拉斯分布的磁化率重建算法
基于差分隱私的大數據隱私保護
相對差分單項測距△DOR
位移性在拉普拉斯變換中的應用
含有一個參數的p-拉普拉斯方程正解的存在性
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合