论文总结(Frequent Itemsets Mining With Differential Privacy Over Large-Scale Data)
一、论文目标:将差分隐私和频繁项集挖掘结合,主要针对大规模数据。
二、论文的整体思路:
1)预处理阶段:
对于大的数据集,进行采样得到采样数据集并计算频繁项集,估计样本数据集最大长度限制,然后再缩小源数据集;(根据最小的support值,频繁项集之外的项集从源数据集移除)
我们利用字符串匹配去剪切数据集的事务;
2)挖掘阶段:
利用压缩数据集,先构造FP-Tree,隐私预算均匀分配,对真实的结果添加噪声;
3)扰动阶段:
对于候选频繁项集添加拉普拉斯噪声并且输出
通过限制每个事务的长度减少敏感度,使用字符串匹配和最长公共子序列进行事务截断
三、论文的挑战
1)如何设计一个抽样方法去控制抽样误差?
使用中心极限定理计算合理的样本大小,通过数据分析工具包随机抽样数据集。
2)第二个挑战是如何设计一个好的字符串匹配方法来截断事务而不会尽可能地丢失信息?
我们匹配样本数据中的潜在项目集以查找最相似的项目,然后将它们与最频繁的项目合并,直到达到最大长度约束。
四、论文的核心算法
算法1:通过抽样的数据集,发现潜在的频繁项集和最大的事务长度。
这个过程获取频繁项集采用一般的方法:比较support值;而得到长度,采用每个事务长度的数量和除以数据集D的数量>一个不确定的值进行。
算法2:通过潜在的频繁项集和事务长度,得到缩小后的源数据集。
之前的FP-Tree缩减数据集通过将1-项集排序,将小于阈值的项删除;这里我们通过潜在的频繁项集进行获取,而这个过程将大大删减源数据集的数量。
算法3:通过缩减后的数据集,构建FP-Tree和前k频繁项集。
对树的每个节点进行加噪。
五、实验指标
1、F-score
2、RE(相对误差)
六、论文总结
本文其实有两个地方加了差分隐私,一个是在构建FP-Tree树,一个是挖掘出频繁项集后加噪,其实最主要还是在第二个阶段。总的来说,这是一种在中心化差分隐私下进行挖掘频繁项集,
我们希望将其的扰动过程进行提前,实现本地化差分隐私下进行频繁项集挖掘。
- 微信快速开发框架(五)-- 利用快速开发框架,快速搭建微信浏览博客园首页文章
- 对于小批量梯度下降以及如何配置批量大小的入门级介绍
- 数据结构之二叉树
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
- 数据结构之数组
- Android资源动态加载以及相关原理分析
- 微信快速开发框架(七)--发送客服信息,版本更新至V2.2 代码已更新至github
- 微信快速开发框架(八)-- V2.3--增加语音识别及网页获取用户信息,代码已更新至Github
- 微信公众平台快速开发框架 For Core 2.0 beta –JCSoft.WX.Core 5.2.0 beta发布
- Android系统层Watchdog机制源码分析
- 算法之插入排序
- Android Studio环境下搭建ReactNative
- Android实现两个ScrollView互相联动,同步滚动的效果
- 一个可以拖动的自定义Gridview代码
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 你可能不知道的pandas的5个基本技巧
- Node 脚本遭遇异常时如何安全退出
- flutter Running Gradle task 'assembleDebug'
- 如何使用 docker 高效部署 Node 应用
- fish-redux框架路由配置报错问题
- Flutter fish-redux 简单使用
- Flutter 项目.gitignore配置
- js和object的常见操作,持续更新中...
- 常见编程模式之快慢指针
- python pywifi模块——暴力破解wifi
- 面试题系列第3篇:Integer等号判断的内幕,你可能不知道?
- Go by Example 中文:工作池
- 推荐一款万能抓包神器:Fiddler Everywhere
- 猿实战04——el-upload结合nginx之通用图片处理
- 30 多个有内味道且笑死的人代码注释