Local Differential Privacy(LDP)可以在收集用户的敏感数据时,保护用户的隐私信息。神奇的LDP,定义是任意两个输入
v
1
,
v
2
v_1,v_2
v 1 , v 2 输出同一个值
y
y
y 的概率的比值在
e
ε
e^\varepsilon
e ε 界里 :
如果一个算法
A
A
A 满足
ε
\varepsilon
ε -local differential privacy(
ε
\varepsilon
ε -LDP),其中
ε
≥
0
\varepsilon\geq0
ε ≥ 0 ,当且仅当对于任意的输入
v
1
,
v
2
v_1,v_2
v 1 , v 2 ,有
∀
y
∈
R
a
n
g
e
(
A
)
:
P
r
[
A
(
v
1
)
=
y
]
≤
e
ε
P
r
[
A
(
v
2
)
=
y
]
,
\forall y\in Range(A): Pr[A(v_1)=y]\leq e^{\varepsilon}Pr[A(v_2)=y],
∀ y ∈ R a n g e ( A ) : P r [ A ( v 1 ) = y ] ≤ e ε P r [ A ( v 2 ) = y ] , 其中
R
a
n
g
e
(
A
)
Range(A)
R a n g e ( A ) 表示算法
A
A
A 的所有可能输出的值。
LDP的基本应用是频度估计(即,从n个数据里,统计每个值的出现次数),它可以归结为下面的3个步骤:
Encode 即编码,由每个用户执行: – 输入一个值
v
v
v ;输出一个编码后的值
x
x
x ,即
x
=
E
n
c
o
d
e
(
v
)
x=Encode(v)
x = E n c o d e ( v ) ;
Perturb 即扰动,由每个用户执行: – 输入一个编码后的值
x
x
x ,输出扰动后的值
y
y
y ,即
y
=
P
e
r
t
u
r
b
(
x
)
=
P
e
r
t
u
r
b
(
E
n
c
o
d
e
(
v
)
)
y=Perturb(x)=Perturb(Encode(v))
y = P e r t u r b ( x ) = P e r t u r b ( E n c o d e ( v ) ) ,后面简记为
y
=
P
E
(
v
)
y=PE(v)
y = P E ( v ) ;
Aggregate 即收集,由收集者(Aggregator)执行: – 将所有用户扰动后的值
y
y
y 收集,输出处理后的信息,如频度估计。 本文将介绍17-USENIX-Locally Differentially private Protocols for Frequency Estimation中所描述的满足LDP的五种编码方法,对它们的比较主要是两个指标:
隐私保护程度
ε
\varepsilon
ε ,
频度估计(frequency estimation)的方差
V
a
r
(
c
~
(
i
)
)
Var(\tilde{c}(i))
V a r ( c ~ ( i ) ) 。
1. Basic RAPPOR 简化版
规定输入
v
v
v 的值是有限的,为
d
d
d 个。不失一般性,我们
v
v
v 取
1
1
1 到
d
d
d 的整数,即
v
∈
[
1
,
d
]
,
v
∈
N
v\in[1, d],v\in N
v ∈ [ 1 , d ] , v ∈ N 。
Encoding: 将输入的整数转化成长度为
d
d
d 的01串,对应位取
1
1
1 ,其余位取
0
0
0 ,即
E
n
c
o
d
e
(
v
)
=
B
0
Encode(v)=B_0
E n c o d e ( v ) = B 0 ,其中
B
0
B_0
B 0 是长度为
d
d
d 的01串,并保证
B
0
[
v
]
=
1
,
B
0
[
i
]
=
0
,
i
≠
v
B_0[v]=1,B_0[i]=0, i\neq v
B 0 [ v ] = 1 , B 0 [ i ] = 0 , i = v 。如
d
=
5
,
v
=
3
d=5, v=3
d = 5 , v = 3 ,则
B
0
=
00100
B_0=00100
B 0 = 0 0 1 0 0 ;
Perturbing: (Rapper是有两次扰动的,此处简化仅考虑一次)01串
B
0
B_0
B 0 的每一位分别以
p
p
p (一般来说,
p
≥
1
2
p\geq \frac{1}{2}
p ≥ 2 1 )的概率保持,以
q
=
1
−
p
q=1-p
q = 1 − p 的概率反转,产生扰动后的01串
B
1
B_1
B 1 ,即:
P
r
[
B
1
[
i
]
=
1
]
=
{
p
,
i
f
B
0
[
i
]
=
1
,
q
=
1
−
p
,
i
f
B
0
[
i
]
=
0.
Pr[B_1[i]=1]=\left\{ \begin{array}{cr} p, &if B_0[i]=1, \\ q=1-p, &if B_0[i]=0. \end{array} \right.
P r [ B 1 [ i ] = 1 ] = { p , q = 1 − p , i f B 0 [ i ] = 1 , i f B 0 [ i ] = 0 .
Aggregation: 收集者可以收集到所有用户(设有n个)扰动后的01串
B
1
B_1
B 1 ,按位估计出原始的个数。记第
i
i
i 位为
1
1
1 的用户个数为
c
(
i
)
c(i)
c ( i ) ,依此可以估计出扰动前
B
0
B_0
B 0 中第
i
i
i 位为
1
1
1 的用户个数
c
~
(
i
)
\tilde{c}(i)
c ~ ( i ) ,扰动前的第
i
i
i 位为
1
1
1 的有
p
p
p 的概率保持,为
0
0
0 的有
q
=
1
−
p
q=1-p
q = 1 − p 的概率反转:
p
⋅
c
~
(
i
)
+
q
⋅
(
n
−
c
~
(
i
)
)
=
c
(
i
)
⇒
p
⋅
c
~
(
i
)
+
(
1
−
p
)
⋅
(
n
−
c
~
(
i
)
)
=
c
(
i
)
⇒
c
~
(
i
)
=
c
(
i
)
−
(
1
−
p
)
⋅
n
2
p
−
1
.
\begin{aligned} &\ p\cdot\tilde{c}(i)+q\cdot(n-\tilde{c}(i))=c(i) \\ \Rightarrow&\ p\cdot\tilde{c}(i)+(1-p)\cdot(n-\tilde{c}(i))=c(i) \\ \Rightarrow&\ \tilde{c}(i)=\frac{c(i)-(1-p)\cdot n}{2p-1}. \end{aligned}
⇒ ⇒ p ⋅ c ~ ( i ) + q ⋅ ( n − c ~ ( i ) ) = c ( i ) p ⋅ c ~ ( i ) + ( 1 − p ) ⋅ ( n − c ~ ( i ) ) = c ( i ) c ~ ( i ) = 2 p − 1 c ( i ) − ( 1 − p ) ⋅ n .
p
p
p 是事先约定的,
n
n
n 是收集者收集到的用户个数,
c
(
i
)
c(i)
c ( i ) 可以根据收集到的数据累加出来,因此可以比较方便地计算出
c
~
(
i
)
\tilde{c}(i)
c ~ ( i ) 。
Privacy: 要达到
ε
\varepsilon
ε -LDP,可以取
ε
=
ln
(
(
p
1
−
p
)
2
)
\varepsilon=\ln((\frac{p}{1-p})^2)
ε = ln ( ( 1 − p p ) 2 ) ,证明见2014-Rappor。
2. Direct Encoding(DE)
依然规定输入
v
v
v 的值是有限的,为
d
d
d 个。
Encoding: 正如其名,输入的整数编码成自身,即
E
n
c
o
d
e
(
v
)
=
v
Encode(v)=v
E n c o d e ( v ) = v ;
Perturbing: 依然概率
p
p
p 表示
v
v
v 扰动后得到自身
v
v
v ,概率
q
=
1
−
p
d
−
1
q=\frac{1-p}{d-1}
q = d − 1 1 − p 表示其他值(剩下的
d
−
1
d-1
d − 1 个值)扰动后得到
v
v
v 。为了满足LDP的定义,有
p
=
e
ε
q
p= e^{\varepsilon}q
p = e ε q ,可得到:
P
r
[
P
e
r
t
u
r
b
D
E
(
x
)
=
i
]
=
{
p
=
e
ε
e
ε
+
d
−
1
,
i
f
i
=
x
,
q
=
1
e
ε
+
d
−
1
,
i
f
i
≠
x
.
Pr[Perturb_{DE}(x)=i]=\left\{ \begin{array}{cr} p=\frac{e^{\varepsilon}}{e^{\varepsilon}+d-1}, &if i=x, \\ q=\frac{1}{e^{\varepsilon}+d-1}, &if i\neq x. \end{array} \right.
P r [ P e r t u r b D E ( x ) = i ] = { p = e ε + d − 1 e ε , q = e ε + d − 1 1 , i f i = x , i f i = x .
Aggregation: 收集者可以收集到所有用户(设有n个)扰动后的值
v
′
v'
v ′ ,按值估计出每个值个数。类似地,记扰动后值为
i
i
i 的用户个数为
c
(
i
)
c(i)
c ( i ) ,依此可以估计出扰动前值为
i
i
i 的用户个数
c
~
(
i
)
\tilde{c}(i)
c ~ ( i ) ,扰动前的值为
i
i
i 的有
p
p
p 的概率保持,非
i
i
i 的有
q
=
1
−
p
d
−
1
q=\frac{1-p}{d-1}
q = d − 1 1 − p 的概率反转:
p
⋅
c
~
(
i
)
+
q
⋅
(
n
−
c
~
(
i
)
)
=
c
(
i
)
⇒
c
~
(
i
)
=
c
(
i
)
−
q
⋅
n
p
−
q
⇒
c
~
(
i
)
=
c
(
i
)
⋅
(
e
ε
+
d
−
1
)
−
n
e
ε
−
1
,
\begin{aligned} &\ p\cdot\tilde{c}(i)+q\cdot(n-\tilde{c}(i))=c(i) \\ \Rightarrow &\ \tilde{c}(i)=\frac{c(i)-q\cdot n}{p-q} \\ \Rightarrow &\ \tilde{c}(i)=\frac{c(i)\cdot(e^{\varepsilon}+d-1)-n}{e^{\varepsilon}-1}, \end{aligned}
⇒ ⇒ p ⋅ c ~ ( i ) + q ⋅ ( n − c ~ ( i ) ) = c ( i ) c ~ ( i ) = p − q c ( i ) − q ⋅ n c ~ ( i ) = e ε − 1 c ( i ) ⋅ ( e ε + d − 1 ) − n , 以及方差为
V
a
r
[
c
~
D
E
(
i
)
]
=
n
⋅
d
−
2
+
e
ε
(
e
ε
−
1
)
2
.
Var[\tilde{c}_{DE}(i)]=n\cdot \frac{d-2+e^{\varepsilon}}{(e^{\varepsilon}-1)^2}.
V a r [ c ~ D E ( i ) ] = n ⋅ ( e ε − 1 ) 2 d − 2 + e ε .
3. Histogram Encoding(HE)
依然规定输入
v
v
v 的值是有限的,为
d
d
d 个。编码方式和Basic RAPPOR简化版类似,不过由整数变成了实数,扰动的时候加Laplace噪声。
Encoding: *将输入的整数转化成长度为
d
d
d 的01串,对应位取
1.0
1.0
1 . 0 ,其余位取
0.0
0.0
0 . 0 ,即
E
n
c
o
d
e
H
E
(
v
)
=
[
0.0
,
0.0
,
.
.
.
,
1.0
,
.
.
.
,
0.0
]
Encode_{HE}(v)=[0.0, 0.0, ..., 1.0, ..., 0.0]
E n c o d e H E ( v ) = [ 0 . 0 , 0 . 0 , . . . , 1 . 0 , . . . , 0 . 0 ] ;
Perturbing:
P
e
r
t
u
r
b
H
E
(
B
)
Perturb_{HE}(B)
P e r t u r b H E ( B ) 输出
B
′
[
i
]
=
B
[
i
]
+
L
a
p
(
2
ε
)
B'[i]=B[i]+Lap(\frac{2}{\varepsilon})
B ′ [ i ] = B [ i ] + L a p ( ε 2 ) ;
Aggregation: 有两类,分别为SHE, THE,如下:
3.1 Summation with Histogram Encoding(SHE)
Aggregate是求和,
c
~
(
i
)
=
∑
j
B
j
[
i
]
\tilde{c}(i)=\sum_{j}B^{j}[i]
c ~ ( i ) = ∑ j B j [ i ] ,
j
j
j 表示第
j
j
j 个用户。 因为
L
a
p
(
2
ϵ
)
Lap(\frac{2}{\epsilon})
L a p ( ϵ 2 ) 是无偏的(均值为
0
0
0 ),所以这种方式也是无偏的; 对应的方差为
V
a
r
[
c
~
S
H
E
(
i
)
]
=
n
8
ε
2
.
Var[\tilde{c}_{SHE}(i)]=n\frac{8}{\varepsilon^2}.
V a r [ c ~ S H E ( i ) ] = n ε 2 8 .
3.2 Thresholding with Histogram Encoding(THE)
Aggregate是设定阈值
θ
\theta
θ ,大于
θ
\theta
θ 统计为
1
1
1 ,小于等于
θ
\theta
θ 统计为
0
0
0 。其实也很容易理解,Encoding时在对应数位
B
[
v
]
B[v]
B [ v ] 取
1.0
1.0
1 . 0 ,如果增加的扰动不是太大,一般会大于某个数(取为
θ
\theta
θ );同时
B
[
i
]
B[i]
B [ i ] 为
0.0
0.0
0 . 0 ,如果增加的扰动不是太大,一般会小于某个数(取为
θ
\theta
θ )。 此时,可取
p
=
1
−
F
(
θ
−
1
)
,
q
=
1
−
F
(
θ
)
,
p=1-F(\theta-1),q=1-F(\theta),
p = 1 − F ( θ − 1 ) , q = 1 − F ( θ ) , 其中
F
(
x
)
F(x)
F ( x ) 是Laplace分布的累积函数; 一般来说,
θ
∈
[
0
,
1
]
\theta\in[0,1]
θ ∈ [ 0 , 1 ] ,此时有
p
=
1
−
1
2
e
ε
2
(
θ
−
1
)
,
q
=
1
−
1
2
e
−
ε
2
θ
,
p=1-\frac{1}{2}e^{\frac{\varepsilon}{2}(\theta-1)},q=1-\frac{1}{2}e^{-\frac{\varepsilon}{2}\theta},
p = 1 − 2 1 e 2 ε ( θ − 1 ) , q = 1 − 2 1 e − 2 ε θ , 可得方差:
V
a
r
[
c
~
T
H
E
(
i
)
]
=
n
2
e
ε
θ
/
2
−
1
(
1
+
e
ε
(
θ
−
1
/
2
)
−
2
e
ϵ
θ
/
2
)
2
.
Var[\tilde{c}_{THE}(i)]=n\frac{2e^{\varepsilon\theta/2}-1}{(1+e^{\varepsilon(\theta-1/2)-2e^{\epsilon\theta/2}})^2}.
V a r [ c ~ T H E ( i ) ] = n ( 1 + e ε ( θ − 1 / 2 ) − 2 e ϵ θ / 2 ) 2 2 e ε θ / 2 − 1 .
在
θ
∈
(
1
2
,
1
)
\theta\in(\frac{1}{2},1)
θ ∈ ( 2 1 , 1 ) 时,THE能取到最优值;因为SHE统计时
B
′
[
i
]
B'[i]
B ′ [ i ] 是在整个实数域上的,而THE中统计时
B
′
[
i
]
B'[i]
B ′ [ i ] 只有
0
,
1
0,1
0 , 1 二值,所以
V
a
r
[
c
~
T
H
E
(
i
)
]
<
V
a
r
[
c
~
S
H
E
(
i
)
]
Var[\tilde{c}_{THE}(i)]<Var[\tilde{c}_{SHE}(i)]
V a r [ c ~ T H E ( i ) ] < V a r [ c ~ S H E ( i ) ] 总是成立。
4. Unary Encoding(UE)
和Basic RAPPOR简化版非常相似,Encoding相同,Perturbing(扰动)的时候,概率
p
p
p 表示数位不变,概率
q
q
q 表示数位反转,仍有
p
>
q
p>q
p > q ;这里和Basic RAPPOR简化版不同的地方是
p
+
q
p+q
p + q 可以不为
1
1
1 。 为了保持
ε
\varepsilon
ε -LDP,仅需考虑
v
1
,
v
2
v_1,v_2
v 1 , v 2 对应的数位(其他的都相同),最坏情况下,
v
1
v1
v 1 不变,
v
2
v2
v 2 反转,可得
ε
=
l
n
(
p
(
1
−
q
)
(
1
−
p
)
q
)
\varepsilon=ln(\frac{p(1-q)}{(1-p)q})
ε = l n ( ( 1 − p ) q p ( 1 − q ) ) ,具体证明可看这里。
Encoding: 将输入的整数转化成长度为
d
d
d 的01串,对应位取
1
1
1 ,其余位取
0
0
0 ,即
E
n
c
o
d
e
(
v
)
=
[
0
,
.
.
.
,
0
,
1
,
0
,
.
.
.
,
0
]
Encode(v)=[0,...,0,1,0,...,0]
E n c o d e ( v ) = [ 0 , . . . , 0 , 1 , 0 , . . . , 0 ] ;
Perturbing: 01串
B
0
B_0
B 0 的每一位分别以
p
p
p 的概率保持,以
q
q
q (
p
+
q
≠
1
p+q\neq 1
p + q = 1 )的概率反转,产生扰动后的01串
B
1
B_1
B 1 ,即:
P
r
[
B
1
[
i
]
=
1
]
=
{
p
,
i
f
B
0
[
i
]
=
1
,
q
,
i
f
B
0
[
i
]
=
0.
Pr[B_1[i]=1]=\left\{ \begin{array}{cr} p, &if B_0[i]=1, \\ q, &if B_0[i]=0. \end{array} \right.
P r [ B 1 [ i ] = 1 ] = { p , q , i f B 0 [ i ] = 1 , i f B 0 [ i ] = 0 .
Aggregation: 略。
方差为:
V
a
r
[
c
~
U
E
(
i
)
]
=
n
⋅
(
(
e
ε
−
1
)
q
+
1
)
2
(
e
ε
−
1
)
2
(
1
−
q
)
q
.
Var[\tilde{c}_{UE}(i)]=n\cdot\frac{((e^{\varepsilon}-1)q+1)^2}{(e^{\varepsilon}-1)^2(1-q)q}.
V a r [ c ~ U E ( i ) ] = n ⋅ ( e ε − 1 ) 2 ( 1 − q ) q ( ( e ε − 1 ) q + 1 ) 2 .
4.1 Symmetric Unary Encoding(SUE)
取
p
+
q
=
1
p+q=1
p + q = 1 ,此时
p
=
e
ε
/
2
e
ε
/
2
+
1
,
q
=
1
e
ε
/
2
+
1
,
p=\frac{e^{\varepsilon/2}}{e^{\varepsilon/2}+1},q=\frac{1}{e^{\varepsilon/2}+1},
p = e ε / 2 + 1 e ε / 2 , q = e ε / 2 + 1 1 , 方差为
V
a
r
[
c
~
S
U
E
(
i
)
]
=
n
⋅
e
ε
/
2
(
e
ε
/
2
−
1
)
2
.
Var[\tilde{c}_{SUE}(i)]=n\cdot\frac{e^{\varepsilon/2}}{(e^{\varepsilon/2}-1)^2}.
V a r [ c ~ S U E ( i ) ] = n ⋅ ( e ε / 2 − 1 ) 2 e ε / 2 .
4.2 Optimized Unary Encoding(OUE)
由UE的方差,对
q
q
q 求偏导等于
0
0
0 ,可得
p
=
1
2
,
q
=
1
e
ε
/
2
+
1
,
p=\frac{1}{2},q=\frac{1}{e^{\varepsilon/2}+1},
p = 2 1 , q = e ε / 2 + 1 1 , 论文中对
p
,
q
p,q
p , q 取值的含义介绍的很不错,
p
p
p 只要对总共只有一个的
1
1
1 扰动,而
q
q
q 要对有
d
−
1
d-1
d − 1 个的
0
0
0 进行扰动,因此会对
0
0
0 取较大的隐私预算。 此时的方差为
V
a
r
[
c
~
O
U
E
(
i
)
]
=
n
⋅
4
e
ε
(
e
ε
−
1
)
2
.
Var[\tilde{c}_{OUE}(i)]=n\cdot\frac{4e^{\varepsilon}}{(e^{\varepsilon}-1)^2}.
V a r [ c ~ O U E ( i ) ] = n ⋅ ( e ε − 1 ) 2 4 e ε .
5. Local Hashing(LH)
需要先了解一下universal hashing,可以参考我写的博客 。其他参考资料有Sarah Adel Bargal的介绍,用数学的角度来介绍,非常简洁也很清楚;另外wikipedia的universal hashing,用历史的角度来介绍。
universal hashing的基本思想:一个hash函数
y
=
h
(
x
)
y=h(x)
y = h ( x ) 总是能够针对性地造一组样例,使得hash映射的结果很差很差;一种解决办法(universal hashing)是,我们用一组hash函数(a family of hash functions),每次从中随机选择一个函数作一次映射,平均意义下任意两个不同的输入
x
1
,
x
2
x_1,x_2
x 1 , x 2 的hash函数相同的概率不超过
1
g
\frac{1}{g}
g 1 ,
g
g
g 是hash table的大小。
Binary Local Hashing(BLH)
如果我们选择值域
g
=
2
g=2
g = 2 ,输出为
0
,
1
0,1
0 , 1 两种(Binary)。
Encoding: 随机均匀地从
H
\mathbb{H}
H (universal hash function family)选择一个hash函数
H
H
H ,映射输入
v
v
v ,输出hash函数和结果,得
E
n
c
o
d
e
B
L
H
(
v
)
=
<
H
,
b
=
H
(
v
)
>
Encode_{BLH}(v)=<H,b=H(v)>
E n c o d e B L H ( v ) = < H , b = H ( v ) > ;
Perturbing: 仅对结果
b
b
b 扰动,
P
e
r
t
u
r
b
B
L
H
(
<
H
,
b
>
)
=
<
H
,
b
′
>
Perturb_{BLH}(<H,b>)=<H,b'>
P e r t u r b B L H ( < H , b > ) = < H , b ′ > ,其中
P
r
[
b
′
]
=
{
p
=
e
ε
e
ε
+
1
,
i
f
b
=
1
,
q
=
1
e
ε
+
1
,
i
f
b
=
0.
Pr[b']=\left\{ \begin{array}{cr} p=\frac{e^{\varepsilon}}{e^{\varepsilon}+1}, &if\ b=1, \\ q=\frac{1}{e^{\varepsilon}+1}, &if\ b=0. \end{array} \right.
P r [ b ′ ] = { p = e ε + 1 e ε , q = e ε + 1 1 , i f b = 1 , i f b = 0 .
Aggregation: 结合Encoding和Perturbing,可得
p
∗
=
p
,
q
∗
=
1
2
,
p*=p,q*=\frac{1}{2},
p ∗ = p , q ∗ = 2 1 , 因此,方差为
V
a
r
[
c
~
B
L
H
(
i
)
]
=
n
⋅
(
e
ε
+
1
)
2
(
e
ε
−
1
)
2
.
Var[\tilde{c}_{BLH}(i)]=n\cdot\frac{(e^{\varepsilon}+1)^2}{(e^{\varepsilon}-1)^2}.
V a r [ c ~ B L H ( i ) ] = n ⋅ ( e ε − 1 ) 2 ( e ε + 1 ) 2 .
Optimized Local Hashing(OLH)
考虑到值域
g
=
2
g=2
g = 2 ,很容易丢失信息,因此会选择
g
≥
2
g\geq 2
g ≥ 2 ,同时
g
g
g 如果太大的话,也会丢失掉信息。先假设值域为
g
g
g ,则
Encoding: 随机均匀地从
H
\mathbb{H}
H 选择一个hash函数
H
H
H ,映射输入
v
v
v ,输出hash函数和结果,得
E
n
c
o
d
e
B
L
H
(
v
)
=
<
H
,
x
=
H
(
v
)
>
Encode_{BLH}(v)=<H,x=H(v)>
E n c o d e B L H ( v ) = < H , x = H ( v ) > ;
Perturbing: 仅对结果
b
b
b 扰动,
P
e
r
t
u
r
b
B
L
H
(
<
H
,
x
>
)
=
<
H
,
y
>
Perturb_{BLH}(<H,x>)=<H,y>
P e r t u r b B L H ( < H , x > ) = < H , y > ,其中
∀
i
∈
[
g
]
P
r
[
y
=
i
]
=
{
p
=
e
ε
e
ε
+
g
−
1
,
i
f
x
=
i
,
q
=
1
e
ε
+
g
−
1
,
i
f
x
≠
i
.
_{\forall i\in[g]}Pr[y=i]=\left\{ \begin{array}{cr} p=\frac{e^{\varepsilon}}{e^{\varepsilon}+g-1}, &if\ x=i, \\ q=\frac{1}{e^{\varepsilon}+g-1}, &if\ x\neq i. \end{array} \right.
∀ i ∈ [ g ] P r [ y = i ] = { p = e ε + g − 1 e ε , q = e ε + g − 1 1 , i f x = i , i f x = i .
Aggregation: 结合Encoding和Perturbing,可得
p
∗
=
p
,
q
∗
=
1
g
p
+
g
−
1
g
q
=
1
g
,
p*=p,q*=\frac{1}{g}p+\frac{g-1}{g}q=\frac{1}{g},
p ∗ = p , q ∗ = g 1 p + g g − 1 q = g 1 , 因此,方差为
V
a
r
[
c
~
L
P
(
i
)
]
=
n
⋅
(
e
ε
+
g
−
1
)
2
(
e
ε
−
1
)
2
(
g
−
1
)
,
Var[\tilde{c}_{LP}(i)]=n\cdot\frac{(e^{\varepsilon}+g-1)^2}{(e^{\varepsilon}-1)^2(g-1)},
V a r [ c ~ L P ( i ) ] = n ⋅ ( e ε − 1 ) 2 ( g − 1 ) ( e ε + g − 1 ) 2 , 方差对
g
g
g 求偏导等于
0
0
0 ,可得
g
=
e
ε
+
1
g=e^{\varepsilon}+1
g = e ε + 1 ,此时
p
∗
=
e
ε
e
ε
+
g
−
1
=
1
2
,
q
∗
=
1
g
=
1
e
ε
+
1
p*=\frac{e^{\varepsilon}}{e^{\varepsilon}+g-1}=\frac{1}{2},q*=\frac{1}{g}=\frac{1}{e^{\varepsilon}+1}
p ∗ = e ε + g − 1 e ε = 2 1 , q ∗ = g 1 = e ε + 1 1 ,所以 方差为
V
a
r
[
c
~
O
L
H
(
i
)
]
=
n
⋅
4
e
ε
(
e
ε
−
1
)
2
,
Var[\tilde{c}_{OLH}(i)]=n\cdot\frac{4e^{\varepsilon}}{(e^{\varepsilon}-1)^2},
V a r [ c ~ O L H ( i ) ] = n ⋅ ( e ε − 1 ) 2 4 e ε , 可以发现OUE和OLH的方差是一样的!非常神奇。
写这篇时,部分参考。第一次写论文相关的,内容比较多、杂,如果大家有什么不懂的,可以随时私信哦。