文章目录
1.考虑问题
需要多少查询,我们可以使用什么样的组合?
-平行组合是否可能?
-我们应该使用顺序组合,高级组合,还是差异隐私的变体?
•我们可以使用稀疏向量技术吗?
•我们可以使用指数机制吗?
•我们应该如何分配隐私预算?
•如果存在无限的敏感性,我们如何约束它们?
•合成数据有帮助吗?
•“去噪”的后期处理有帮助吗?
2.解决问题
2.1Generalized Sample and Aggregate广义样本与集合
设计一个不需要分析人员指定查询输出范围的样本和聚合的变体𝑓函数。
想法:首先使用SVT在𝑓(𝑥)上为整个数据集找到好的上界和下界。𝑐𝑙𝑖𝑝(𝑓(𝑥)𝑙𝑜𝑤𝑒𝑟,𝑢𝑝𝑝𝑒𝑟)的结果有有界限的敏感性,所以我们可以使用这个查询SVT。然后通过上下界来使用样本和聚合。
2.2Summary Statistics概况统计量
设计一种算法来生成以下统计数据的不同私有版本:
均值:
μ
=
1
n
∑
i
=
1
n
x
i
\mu=\frac{1}{n} \sum_{i=1}^{n} x_{i}
μ=n1∑i=1nxi
方差:
var
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
\operatorname{var}=\frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2}
var=n1∑i=1n(xi−μ)2
标准差:
σ
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
\sigma=\sqrt{\frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2}}
σ=n1∑i=1n(xi−μ)2
想法:
均值:
- 使用SVT找到上和下裁剪边界
- 计算噪声和和计数,并通过后处理得到均值
方差:
- 将其拆分为一个计数查询(1/𝑛-我们有上面的答案)和一个求和查询
- ∑ i = 1 n ( x i − μ ) 2 \sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2} ∑i=1n(xi−μ)2的敏感度是b^2。我们可以切片并且计算 ∑ i = 1 n ( x i − μ ) 2 \sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2} ∑i=1n(xi−μ)2。然后通过后期处理相乘。
标准差:
方差开根号
2.3Heavy Hitters显要人物
谷歌的RAPPOR系统[16]是专为Chrome主页找到最流行的设置。设计一个算法:
- 如果有一份按流量计算最受欢迎的1万个网页的列表,
- 确定了10000个最受欢迎的网页中最受欢迎的前10个主页
想法:使用平行合成,取噪声前10
2.4 Hierarchical Queries分级查询
设计一个算法为美国人口普查局产生汇总统计数据。你的算法应该产生总体
按下列级别计算:
•普查区
•城市/城镇
•邮政编码
•县
•状态
•美国
想法:
想法1. 只计算底层(人口普查区),使用并行合成。将所有的土地计数相加得到城市计数,以此类推。优点:降低隐私预算。
想法2. 计算所有级别的计数,对每个级别使用并行组合。使用真实的数据调整预算分割;也许我们需要更精确的层次结构的较小级别。
想法3. 作为(2),还可以使用后处理,以更高的层次为基础重新缩放较低的层次;将计数截断为整数;将负数移到0。
2.5. Workloads of Range Queries范围查询的工作负载
设计一个算法来准确地回答范围查询的工作负载。的单个表上的查询