[ICASSP 2019] 差分隐私压缩 K 均值

news2024/11/28 12:37:16

Differentially Private Compressive K-means

Differentially Private Compressive K-means | IEEE Conference Publication | IEEE Xplore

摘要:

这项工作解决了从大量数据中学习并保证隐私的问题。概述的学习框架建议通过将大规模数据集压缩为广义随机矩的单个向量来处理大规模数据集,然后从中执行学习任务。我们修改标准草图机制以提供差分隐私,使用拉普拉斯噪声的添加与子采样机制相结合(每个时刻都是根据数据集的子集计算的)。数据可以在多个传感器之间划分,每个传感器在本地应用隐私保护机制,在重新组合时产生整个数据集的差异隐私草图。我们将此框架应用于 k 均值聚类问题,为此提供了根据信噪比来衡量该机制的效用,

介绍

在过去的几十年中,数据集的大小和可用性呈指数级增长。虽然这些数据有望取得重大进展,但其庞大的规模带来了挑战,需要新的机器学习方法能够在时间和内存上有效处理大型数据集。除了可处理性问题之外,使用和发布这些数据还引发了严重的隐私问题,因此需要机器学习算法来保证用户的隐私。

在压缩学习框架[1]中,数据集被压缩为广义随机矩向量(有时称为草图),然后可以使用大大减少的计算资源来执行学习阶段。在本文中,我们提出了一种基于这种方法的机制,通过计算数据集子样本的噪声时刻,从具有可证明隐私保证的压缩数据集中学习。该机制被证明可以提供差异隐私[2],这是 Dwork 等人提出的一种流行的隐私定义。非正式地说,它确保机器学习算法的输出不依赖于数据集中某个人的存在。

我们的方法在分布式环境中运行,其中数据集在多个设备之间共享,每个设备一劳永逸地公开发布和公开发布其有权访问的数据的混乱草图。这可以即时完成,并且内存消耗低。然后,中央分析师将每台设备的草图平均化为一个全局乱序草图,稍后将其用于机器学习任务。学习任务被表述为传统压缩学习中的逆问题。虽然本文重点关注k-意味着聚类,我们的方法是通用的,可以很容易地应用于其他学习任务,例如高斯混合建模或主成分分析。在聚类的情况下,我们证明了噪声草图的效用,即其后续学习的质量,可以通过信噪比来衡量;我们用这个量来解释隐私和实用性之间存在的权衡,并激励我们选择参数。

我们在第 2 节中给出了k均值聚类、压缩学习和差分隐私的一些背景知识,并在第 3 节中介绍了我们的攻击模型和数据发布机制。第4节和第5节分别提供了隐私保证和效用措施,第6节讨论了两者之间的权衡,第7节介绍了相关工作。

符号和背景

 

差异隐私被广泛认为是一种强有力且特别保守的隐私定义。根据定义,它可以保护记录的隐私,即使对手知道数据集中的所有其他记录。此外,它已被证明可以抵抗多种类型的攻击[9]。形式上,我们的定义提供了事件级 DP [10],如果每个人在数据集中只有一条记录,则相当于用户级。然而,为通用分析实施差异化私有机制仍然是一个公开的挑战[11]。尽管无法再从(乱序的)草图计算一些统计数据,但我们的机制仍然允许解决多个学习任务[1]。

 

4. 实现差异化隐私

我们现在正式证明,所提出的计算扰乱草图的本地和全局机制是有差别的私有的。

 

 

实用性的实验测量

定义了我们的机制并证明它实现了差异隐私后,我们现在展示噪声和屏蔽如何影响效用,为k均值定义为 SSE。为此,我们定义了平均草图的信噪比 (SNR),并通过实验证明 SSE 直接由该 SNR 和草图大小m 驱动。这些结果是针对任意噪声方差制定的σΨ2和掩蔽参数r。在第 6 节中,我们将使用第 4 节中的理论值来研究ε -DP 如何影响效用。

 

 

隐私与实用性的权衡

在本节中,我们研究第 4 节和第 5节分别提出的隐私保证和效用措施之间存在的权衡。当将获得-DP(命题1)所需的σ ψ值代入SNR(6)时,我们得到后者由ε和机构的其他参数参数化的表达式:

 

我们在图 3中显示了隐私-效用曲线,即相对 SSE 作为 ε 的函数,是针对0、Lα rm的不同值获得的,并且我们使用 SNR ( 7 ) 的这个表达式来解释结果。

我们还将我们的方法与 DPLloyd [15](Lloyd 迭代算法的噪声变体)和 EUGkM [16](构建数据的噪声直方图)进行比较。DPLloyd 根据[17]在 matlab 中实现,按照作者的建议使用 5 次迭代。初始化要么统一执行,要么使用[16]中提出的方法执行。我们使用了作者的python EUGkM 实现1 ,以及建议的初始化。

当使用L = 1 设备(集中数据集)时,我们获得了良好的聚类结果,即相对 SSE 低于 1.2,前提是 ε>10 -2。参数α r不会对结果产生太大改变,因为子采样操作(即使用α r < 1)引起的方差项与( 7 )中的加性噪声​​引起的方差项相比较小。因此,我们可以自由地使用α r < 1 来降低计算成本,而不会降低实用性。与我们的方法相比,标准 DPLloyd 似乎表现不佳,但使用改进的初始化[16]确实有很大帮助。对于 EUGkM,由于算法基于直方图的性质,只能计算与较低 ε 值相对应的点,箱的数量变得很大;此类方法最适合中等大小的低维数据集。因此,我们得出的结论是,我们的方法至少与以前开发的方法一样好,同时需要较少的计算,具有受控的内存使用,并且可在分布式设置中使用。

相关工作

差分私有k均值已经在文献中受到关注。例如,拉普拉斯噪声的添加已在 SuLQ 框架[15]中使用,该框架提出了劳埃德迭代算法 (DPLloyd) 的噪声版本,或者在非交互式方法中使用,例如 EUGkM,它释放数据的噪声直方图[18],[16]。噪声水平有时会适应算法执行的实例,例如在样本和聚合方法中[13]。指数机制是选择用户定义的效用度量的输出概率的另一种标准方法,也已与遗传算法一起使用[19]。Feldman 等人对私有核心集进行了研究。[20]、[21]。流行的 k-means++ 播种方法也已推广到私有框架[22]。巴尔坎等人。使用基于 Johnson-Lindenstrauss 降维的方法研究了大规模高维设置[23]。已经提出了许多其他基于随机投影的嵌入作为数据的隐私保护编码,参见例如[24],通常假设对手不知道投影矩阵。

与我们的工作更接近的是,Balog 等人。最近提议发布内核均值嵌入[25],要么作为输入空间中的合成数据点集,要么使用特征图(就像我们所做的那样)。他们的工作依赖于高斯机制,导致差分隐私的定义较弱,附加项δ > 0。据我们所知,研究基于均值嵌入的机制的实用性是文献中的新内容。

结论

压缩数据集不仅减少了学习所需的资源,而且本质上有助于构建私有算法。我们提出了一种基于添加拉普拉斯噪声的草图方法,与子采样机制相结合以提高效率,该方法被证明是差分隐私的。

尽管我们专注于k均值聚类,但其他学习任务可以通过压缩方式解决,并且应该进行研究,例如高斯混合拟合或主成分分析。我们将使用量化草图[26](隐私量化已被考虑[27]、[28])并利用快速变换来加速过程[29]的想法留给未来的工作。在数据样本本身上使用加性噪声也是一种应该研究的可能性。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/741897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino为GD32芯片编程

GD32F103用Arduino编程 板子线路图Ardunino编程程序编制编译下载 板子线路图 这个STM32F103C8T6用国产的GD32来代替。 Ardunino编程 使用Arduino编程&#xff0c;在板子管理器中安装&#xff1a; 安装需要一些时间&#xff0c;在这里可以看到&#xff0c;STM32F1xx支持GD32F…

Flink-intervalJoin源码和并行度问题

1.源码 底层用的是connect 把两个流的数据先保存到状态中 先判断有没有迟到&#xff0c;迟到就放到侧输出流 再根据范围找数据 然后根据上界删除数据 package com.atguigu.gmall.realtime.test;import org.apache.flink.api.common.eventtime.SerializableTimestampAssigne…

【Java基础教程】(十一)面向对象篇 · 第五讲:透彻讲解Java中的static关键字及代码块——静态属性、静态方法和普通代码块、构造块、静态块的使用~

Java基础教程之面向对象 第五讲 本节学习目标1️⃣ static 关键字1.1 static定义静态属性1.2 static定义静态方法1.3 主方法1.4 实际应用功能一&#xff1a;实现类实例化对象个数的统计功能二&#xff1a; 实现属性的自动设置 2️⃣ 代码块2.1 普通代码块2.2 构造块2.3 静态块…

gulimall-首页渲染-nginx域名搭建

首页渲染与nginx域名搭建 前言一、首页1.1 整合 thymeleaf1.2 整合 dev-tools1.3 渲染分类数据 二、Nginx 域名搭建2.1 搭建域名访问环境2.2 nginx 配置文件2.3 总结 前言 本文继续记录B站谷粒商城项目视频 P136-140 的内容&#xff0c;做到知识点的梳理和总结的作用。 一、首…

组合取球-2022年全国青少年信息素养大赛Python国赛第6题

[导读]&#xff1a;超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲&#xff0c;这是超平老师解读Python编程挑战赛真题系列的第8讲。 全国青少年信息素养大赛&#xff08;原全国青少年电子信息智能创新大赛&#xff09;是“世界机器人大会青少年机器人设计…

教你如何自定义 Github 首页

一、创建自定义首页仓库 若要自定义首页&#xff0c;首先需要创建一个与你 Github ID 同名的仓库 创建完成后就可以开始为你的首页添加一些有趣的内容了&#xff0c;代码格式可以是 markdown 语法&#xff0c;也可以是 HTML 语法&#xff0c;但 HTML 的扩展性更强一点&#xf…

大唐京兆韦氏,两个老来发奋的诗人

在唐朝&#xff0c;诗人文学政治家如过江之鲫&#xff0c;有两个人物是绝对不可忽略的&#xff0c;那就是韦应物和韦庄。其中韦应物是韦庄的曾祖父。 京兆韦氏是整个唐朝时期最重要的士族家族之一&#xff0c;代有人才出&#xff0c;衣冠鼎盛&#xff0c;为关中望姓之首。韦氏…

I/O多复用函数(select、poll、epoll)

目录 一、select函数二、poll函数 select函数 int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);poll函数 int poll(struct pollfd *fds, nfds_t nfds, int timeout);epoll API epoll_create epoll_wait epoll_ctl一、sel…

Spring Boot 系列3 -- 日志文件

目录 1. 日志有什么用? 2. 日志的使用 2.1 得到日志对象 2.2 使用日志对象打印日志 3. 日志级别 3.1 日志级别的用途 3.2 日志级别的分类和使用 3.3 日志的打印规则 3.4 日志级别的设置 4. 日志持久化 5. 更简单的日志输出--lombok 6. 拓展1 lombok的原理 7. 拓…

SSM整合-1

SSM整合 创建工程SSM整合 2.1 Spring: SpringConfig 2.2 SpringMvc: ServletConfig、SpringMvcConfig 3.3 Mybatis JdbcConfig、MybatisConfig、jdbc.properties 3.功能模块 表与实体类 dao(接口自动代理) service(接口实现类) 业务层接口测试&#xff08;整合Junit&#xff…

在vite创建的vue3项目中使用Cesium加载立体地形信息并调整初始化角度

在vite创建的vue3项目中使用Cesium加载立体地形信息并调整初始化角度 使用vite创建vue3项目 npm create vitelatestcd到创建的项目文件夹中 npm install安装Cesium npm i cesium vite-plugin-cesium vite -D配置 &#xff08;1&#xff09;在项目的vite.config.js文件中添加&am…

新手学习编程有什么注意事项?

为什么要学习如何编码&#xff1f; 世界正在成为一个地球村。编码是它发生的一个重要原因。 你应该学习如何编码的原因有很多&#xff0c;我将在这里触及其中的一些。 首先&#xff0c;学习编码可以大大提高你的分析和解决问题的能力。 您的收入潜力增加&#xff1a;有高级开…

NTIRE2023 图像复原和增强赛事Efficient Super-Resolution赛道冠军方案解读——DIPNet

DIPNet: Efficiency Distillation and Iterative Pruning for Image Super-Resolution 0. 简介 NTIRE 的全称为New Trends in Image Restoration and Enhancement Challenges&#xff0c;即“图像复原和增强挑战中的新趋势”&#xff0c;是CVPR(IEEE Conference on Computer V…

【JAVAEE】JVM中垃圾回收机制 GC

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 上篇文章我们讲了java运行时内存的各个区域。 传送门&#xff1a;【JavaEE】JVM的组成及类加载过程_xyk:的博客-CSDN博客 对于程序计数器、虚拟机栈、本地方法栈这三部分区域而言&#x…

6.S081——CPU调度部分(CPU的复用和调度)——xv6源码完全解析系列(10)

0.briefly speaking 终于到这里了&#xff0c;我们在之前阅读很多地方的内核代码时&#xff0c;总是习惯性地绕开CPU调度的部分(比如yield函数)。现在我们总算可以深入进去一探究竟了&#xff0c;这次总算是将整个操作系统中的一块重要拼图拼上去了。 有操作系统相关基础概念…

5 字符串拼接

5 字符串拼接作者: 赵晓鹏时间限制: 1S章节: 动态规划与贪心 输入说明 : 见问题描述。 输出说明 : 见问题描述。 输入范例 : aaaaaaaaaab aaaaaaaac aaaaaaaaaacaaaaaaaab 输出范例 : YES aa_________aaaaaaaab #include<iostream> #include<vector> using …

【数据分析 - 基础入门之pandas篇②】- pandas数据结构——Series

文章目录 前言一、Series的创建1.1 列表创建1.2 NumPy数组创建1.3 字典创建 二、Series索引2.1 显式索引2.2 隐式索引 三、Series切片2.1 显式切片2.2 隐式切片 四、Series基本属性和方法4.1 属性4.2 方法4.3 案例——使用 bool 值去除空值 五、Series运算六、Series多层行索引…

带你全面了解四大内存操作函数memset(),memcpy(),memmove(),memcmp()(附模拟实现)

内存操作函数 文章目录 内存操作函数memcpymemmovememcmpmemset 注&#xff1a;点击蓝色标题可以跳转到官方网站查看更权威的解析哦。 memcpy void * memcpy ( void * destination, const void * source, size_t num );函数memcpy从source的位置开始&#xff0c;向后复制num个…

Linux - CentOS 7 源码安装 MySQL 8.0.31

一、mysql-boost-8.0.31.tar.gz 源码下载 下载地址&#xff1a;https://dev.mysql.com 二、源码安装 MySQl 要求 cmake、Boost C库、ncurses库、OpenSSL库 //需要cmake3&#xff0c;gcc-5.3以上&#xff1b; 三、源码搭建 MySQL 环境 1、创建用户名和组 groupadd mysql …

ChatLaw团队招实习生啦!真格基金的创业、投资与AI详细指南;远程工作的8个安全法则;游戏开发者的数学教程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 北大 ChatLaw 团队招聘实习生&#xff0c;开放算法和前后端岗位 ChatLaw 是一个开源的中文法律大模型&#xff0c;由北京大学与北大-兔…