• Programming Differential Privacy第十二章EXERCISES IN ALGORITHM DESIGN算法设计练习


    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} μ=n1i=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=n1i=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}} σ=n1i=1n(xiμ)2

    想法:
    均值:

    1. 使用SVT找到上和下裁剪边界
    2. 计算噪声和和计数,并通过后处理得到均值

    方差:

    1. 将其拆分为一个计数查询(1/𝑛-我们有上面的答案)和一个求和查询
    2. ∑ 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. 如果有一份按流量计算最受欢迎的1万个网页的列表,
    2. 确定了10000个最受欢迎的网页中最受欢迎的前10个主页

    想法:使用平行合成,取噪声前10

    2.4 Hierarchical Queries分级查询

    设计一个算法为美国人口普查局产生汇总统计数据。你的算法应该产生总体

    按下列级别计算:

    •普查区
    •城市/城镇
    •邮政编码
    •县
    •状态
    •美国

    想法
    想法1. 只计算底层(人口普查区),使用并行合成。将所有的土地计数相加得到城市计数,以此类推。优点:降低隐私预算。
    想法2. 计算所有级别的计数,对每个级别使用并行组合。使用真实的数据调整预算分割;也许我们需要更精确的层次结构的较小级别。
    想法3. 作为(2),还可以使用后处理,以更高的层次为基础重新缩放较低的层次;将计数截断为整数;将负数移到0。

    2.5. Workloads of Range Queries范围查询的工作负载

    设计一个算法来准确地回答范围查询的工作负载。的单个表上的查询

  • 相关阅读:
    分享一下在微信公众号上怎么实现预约功能
    Android 修改系统息屏时间.
    Real-Time Rendering——9.8.2 Multiple-Bounce Surface Reflection多次反射表面反射
    API架构的选择,RESTful、GraphQL还是gRPC
    Python3中map()、reduce()、filter()的用法
    Cpp/Qtday010906cpp基础
    211. 添加与搜索单词 - 数据结构设计
    zabbix监控Nginx
    我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:区分栈的指令集架构和寄存器的指令集架构
    RabbitMQ 消息队列学习 (四)
  • 原文地址:https://blog.csdn.net/weixin_43886282/article/details/127600837