首页 > 技术文章 > 2015 Applying Differential Privacy to Matrix Factorization

gy7777777 2018-07-23 10:31 原文

应用了三种方法对矩阵分解实现差分隐私

(1)输入扰动

(2)SGD扰动

(3)具有输出扰动的ALS

global average GAvg(R) { average of all the ratings for all items }

item average IAvg(i) { average rating for item i }

user average UAvg(u) { average rating of user u }

算法1

βi { stabilization parameter }

ε1 { global average privacy parameter } 0.02

ε2 { item average privacy parameter } 0.14

算法2

βu { stabilization parameter }

ε2 { user average privacy parameter } 0.14

算法3  Differentially Private Input Perturbation

d { number of factors }

λ { regularization parameter }  λ=20

B { clamping parameter } B=1

ε { privacy parameter }

算法4  Differentially Private SGD

d { number of factors }

λ { regularization parameter }

k { number of gradient descent iterations }  k=5

emax { upper bound on per-rating error } emax=2

 ε { privacy parameter }

算法5 Differentially Private ALS with Output Perturbation

d { number of factors }

λ { regularization parameter }

k { number of gradient descent iterations }  k=5

ε { privacy parameter }

pmax { upper bound on ||pu||2 }  pmax=0.4

qmax { upper bound on ||qi||2 }   qmax=0.5

 

1 对输入预处理

(1)根据算法1,求出 IAvg(i) 

(2)根据算法2,求出 UAvg(u)

(3)把原始的评分矩阵 R 中的评分 rui 钳定在范围 [-B,B] 中,B=1。

2 输入扰动 

(1)在预处理矩阵中,对每个 rui 加 lap 噪声。

(2)将加了噪声的矩阵R’钳定在范围 [-B,B] 中。

(3)通过P,Q的最小目标函数,得到矩阵 P 和 Q。

3 SGD中差分隐私

(1)随机初始化矩阵P和Q

(2)for k 次迭代,做

    for 每个rui,做

      

(3)输出矩阵P和Q

4 具有输出扰动的ALS

(1)随机初始化矩阵P和Q

(2)for k 次迭代,做

    for 每个用户 u,给定Q,做

      

    for 每个项目 i,给定P,做

      

(3)输出矩阵P和Q

 

推荐阅读