CN107423636A - 一种基于MapReduce的差分隐私K均值聚类方法 - Google Patents

一种基于MapReduce的差分隐私K均值聚类方法 Download PDF

Info

Publication number
CN107423636A
CN107423636A CN201710546207.2A CN201710546207A CN107423636A CN 107423636 A CN107423636 A CN 107423636A CN 201710546207 A CN201710546207 A CN 201710546207A CN 107423636 A CN107423636 A CN 107423636A
Authority
CN
China
Prior art keywords
data
cluster
point
value
canopy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710546207.2A
Other languages
English (en)
Other versions
CN107423636B (zh
Inventor
尚涛
赵铮
杨英
马旭
关振宇
刘建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201710546207.2A priority Critical patent/CN107423636B/zh
Publication of CN107423636A publication Critical patent/CN107423636A/zh
Application granted granted Critical
Publication of CN107423636B publication Critical patent/CN107423636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明一种基于MapReduce的差分隐私K均值聚类方法,首先使用改进的Canopy算法得到聚类个数K,其次使用差分隐私K均值聚类算法得到满足差分隐私保护的聚类中心点。1)在MapRedcue中实现改进Canopy算法,确定初始中心点;2)在MapReduce中实现差分隐私K均值算法得到最终结果。本发明在一定程度上对随机选取中心点的问题作出了改进,且在可以大数据环境下应用,在获得较好隐私保护的前提下,使聚类结果的可用性有较好的保障。本发明将差分隐私技术与经典的挖掘聚类方法相结合,基于Hadoop中的MapReduce并行框架上实行操作,在可用性上得到了改善,且最终聚类结果的准确性较好。

Description

一种基于MapReduce的差分隐私K均值聚类方法
技术领域
本发明涉及一种基于MapReduce的差分隐私K均值聚类方法,属于网络 安全技术领域。
背景技术
随着数据分析和发布等应用需求的出现和发展,如何保护数据隐私和防止 敏感信息泄露成为当前大数据技术面临的重大挑战。差分隐私作为一种新出现 的隐私保护框架,能够防止攻击者拥有任意背景知识下的攻击并提供有力的保 护。为了保证大数据平台安全和促进大数据技术的应用,需要研究适用于大数 据平台的差分隐私模型,扩展差分隐私保护框架,使其能够保护具有关联性的 数据集。
隐私保护问题最早在20世纪70年代末被提出,此后众多学者陆续研发出 许多隐私保护的模型。在当前已有的隐私保护模型中,K-匿名模型及在相同理 论基础上的一些扩展模型是被大量研究和普遍应用的。但是,这些隐私保护模 型中存在两个主要问题:(1)这些模型具有背景相关依赖性,即该模型假定了 某一攻击模型或者攻击者所具备的相关知识;(2)这些模型普遍缺少较为严格 的数学过程来说明隐私保护水平的高低,若是该类模型中的某些参数变化,分 析并评价其隐私保护水平将十分困难。2006年,由Dwork发表文献中定义的差 分隐私(Differential Privacy,DP)方法很好地解决了这两个问题。
数据挖掘可以使用多种方法实现,其中一种常用的分析方法就是聚类分析。 聚类分析就是在没有已知条件的情况下,将众多无规律、离散的数据记录依据 各自具有的特性划分到与其特性近似的聚簇中。目前数据挖掘领域内涉及隐私 保护方面的方法重点在分类和关联规则上,且差分隐私保护的研究仍处在初期 阶段,因而将聚类分析与差分隐私保护两者结合进行研究的成果相对较少。
研究大数据平台上的差分隐私保护方法,着重于大数据中的数据挖掘领域, 将聚类分析中经典的K均值(K-means)方法与差分隐私保护方法结合,并将 其实施于Hadoop平台中,保证大数据平台上聚类结果准确性和隐私性达到一 定的平衡。
发明内容
本发明的技术解决问题:针对Hadoop平台现有安全技术的不足,提供一 种基于MapReduce的差分隐私K均值聚类方法,以解决聚类分析过程中隐私 泄露问题以及在大数据平台上的并行化实现问题。
本发明采取的技术方案是:一种基于MapReduce的差分隐私K均值聚类 方法,它包含以下步骤:
步骤1:对数据进行归一化处理。数据集D中记录数为N条,分别记为 xi(1≤i≤N),每条数据维数为d,即数据集D中某一数据值xi=(xi1,xi2,...,xid)T是d维 属性,T表示行列式的转置运算。读取数据集D的每条记录xi(1≤i≤N),设置第 一条记录x1的每维属性为其所在维的初始最大值max和初始最小值min,将剩余 记录的各维属性分别与max和min比较大小,得到每维属性的最大值Max和最小 值Min,通过归一化公式将xi的各维属性归一化处理至空间[0,1]d中, 形成新数据集D'。
步骤2:确定优化Canopy算法中每个Map任务中的局部中心点。主任务 Driver调用MapReduce中的Mapper类,map函数中设置集合Q为空,设置迭 代次数L为map函数中的局部数据集大小;在不超过迭代次数的前 提下,若集合Q为空,求数据集D'中数据点xi与坐标原点距离的最小值min,将 该点保存至集合Q,若集合Q不为空,计算数据集D'中数据点xi与集合Q中数据 点的距离,得出最小距离中的最大者Distmin,保存至集合Q中;
步骤3:采用局部中心点确定聚类个数K值,确定Canopy的区域半径T1。 主任务Driver调用MapReduce中的Reducer类,reduce函数接收集合 Q={Q1,...Qn},首先计算P=Count(Q),P为集合Q的数据总量,设置循环次数为 在不超过循环次数的前提下,循环计算集合Q中数据点之间距离最小 值中最大者Dist2min,并将该点保存至集合Q',计算集合Q'的数据总量K,设置 循环次数为K。在不超过循环次数K的前提下,计算得到集合Q'中Depth(i)的最 大值并输出区域半径T1=Dist2min,将集合中前i个点赋值至空集合U中。
步骤4:将步骤3输出的Canopy初始中心点集合U,以文件形式保存,再 次调用Mapper类map函数计算各节点数据与中心点之间的欧氏距离D。当 D≤T1,则将该数据点xi归于对应的Canopy,可以得到K个Canopy并将结果输 出。
步骤5:设置添加的随机噪声。随机噪声通常为Laplace噪声,即该噪声服 从Laplace分布Lap(b),b=Δfε,Δf为全局敏感度,ε为隐私保护预算。设置添 加噪声的隐私保护预算参数ε。若聚类执行时迭代执行总m未知,那么在聚类迭 代执行时不断变换隐私预算参数ε的值,通常采用的为首次迭代使用预算值是 ε2,后续的迭代中每轮使用的隐私预算是剩余值的12,即εm=ε2m。设置添加 噪声的全局敏感度参数Δf,Δf=d+1,d为数据维数。
步骤6:主任务Driver读取步骤4输出的K个Canopy,对于每个Canopy 计算其数据点之和sum=Sum(Canopy)
与集合内的数据点数目之和num=Count(Canopy),
对sum和num添加随机噪声X然后两者相除,将得到的数据点作为新的聚类 中心
步骤7:主任务Driver调用MapReduce中的Mapper类,map函数首先 读取文件中的聚类中心点其中m为迭代次数,读入到事先定义的 集合R中,然后map函数读取该分任务中接收到的不同记录xi。分别得出每条 记录与聚类中心点的距离值Distance,得到与其距离值最小的聚类中心点ck,将 其划分到此聚类,每个map函数输出的应是键值对(key,value),其中key为数据 记录所在的聚类标号,value为数据记录的各维属性值和聚类当前数据记录的数 目,此时数目都为1。
步骤8:主任务Driver调用MapReduce中的Reducer类,Reduce分任务 接收步骤7的键值对(key,value)后,合并属于同一个聚类标号即同一个key值的聚 类,reduce函数可统计同一个类中数据数目总和numk和每条数据记录的各维属 性值总和sumk,将两者添加随机噪声得到numk'和sumk',两者相除获取到新的聚 类中心ck,并把该中心集合输出。
步骤9:主任务Driver读取接收步骤8最新生成的聚类中心集合和步骤7 的K个聚类中心集合,得到这两轮聚类中心点集合间的欧式距离Dis,若这两轮 中中心点集合的各维属性之差的距离Dis小于指定阈值Threshold或者循环次数已 经到达迭代总数值M,则迭代终止,主任务Driver调用MapReduce中的Mapper 类按照最新生成的聚类中心点集合C将数据集D'进行实现聚类操作,输出聚类 后的结果;若不满足要求,继续重复步骤7~步骤9。
本发明与现有技术相比的优点在于:
(1)本发明提出的改进差分隐私K均值方法在一定程度上对随机选取中心 点的问题作出了改进,并且在可以大数据环境下应用,在获得较好隐私保护的 前提下,使聚类结果的可用性有较好的保障。
(2)本发明将差分隐私技术与经典的挖掘聚类方法相结合,基于Hadoop 中的MapReduce并行框架上实行操作,在可用性上得到了改善,并且最终聚类 结果的准确性较好。
附图说明
图1为本发明的并行数据处理操作示意图。
图2为本发明的Canopy算法优化选取示意图。
图3为本发明的差分隐私K均值聚类并行算法流程图。
图中符号说明如下:
k1,k2,k3,k4,key表示聚类标识;
values,val表示数据记录属性值;
(k1,values),(k2,values),(k3,values),(K1,val),(K1,val),(K3,val)表示键值对;
X1,X2,X3,X4表示基于优化Canopy算法选取的数据点;
K表示聚类个数;
D'表示归一化数据集;
Threshold表示判定迭代是否结束的阈值;
M表示设置的总迭代次数;
Map阶段中value表示数据点各维属性,Reduce阶段中value表示表示数据 点的各维属性值以及当前聚类内数据点的总数和。
具体实施方式
本发明所提出的一种基于MapReduce的差分隐私K均值聚类方法,需解 决以下两个问题:第一、如何解决聚类分析过程中隐私泄露问题;第二、如何 部署差分隐私K均值聚类方法到大数据平台上。
下面分三个部分阐述本发明的具体实施方法:
1.K均值聚类方法及其隐私保护问题
K均值聚类方法的核心思想是将聚簇个数K作为输入参数,随机找到K个聚 类中心点c1,c2,...cK,将包含N个数据点的数据集根据每个数据点xi(1≤i≤N)与聚 类中心的距离进行划分,得到K个聚类,使得每个聚类内数据点相似性尽可能大, 各个类别间的相似值尽可能小。为了达到上述目标,应尽可能使最后输出的每 个数据点与其处于的聚簇的中心点之间的误差平方和收敛。
在K均值聚类执行过程中存在隐私泄露的情况有两种:
(1)在方法迭代过程中会计算各个数据点与聚类中心集合的距离大小,这 个操作有可能导致隐私信息的泄露。若假定攻击者得知了每一轮迭代过程中目 标数据点和每个聚类中心点之间的距离值,则攻击者就能使用已获取的距离值 进行计算推理出目标数据点准确的属性数值,并且当数据点具有的属性数量越 少,迭代重复次数越多时,目标数据点的隐私被泄露地就越准确。
(2)K均值方法执行完成后得到并且公布的聚类中心点集合,若被攻击者 联合自身拥有的背景知识可能造成隐私信息泄露的情况。该聚类过程最后得到 的结果为聚类中心点集合,基于此集合就可以获知数据集的具体情况,若攻击 者有最大背景知识,也就是假设攻击者已知数据点xj属于以ci为聚类中心点的聚 类A(x1,x2,...xj)中,并且已知该聚类中除了数据点xj之外的所有数据样本,则攻 击者能计算出数据点xj属性的具体值。
从K均值聚类具体过程可知,方法执行中避免泄露隐私信息的重点在于聚 类的中心点。聚类中心点是每个聚类中数据点之和与聚类内数据点数目之和进 行相除计算得到的结果。在对某一数据集结果对外发布时,具体数据点属性值 信息是不必要发布的,只要将聚类中心集合的大致近似值发布即可,这种方式 就能使数据集中的隐私信息不被泄露,而且也不会对最终的结果产生太大的影 响。因此,差分隐私K均值聚类方法基本思想是通过在原始K均值聚类计算得 出的聚类中心点处加入适量的随机噪声,使聚类中心点的披露风险满足差分隐 私保护。这种情况下即使攻击者拥有最大背景知识,也无法通过已经获取的中 心点和其他数据点的信息来推断某一数据点属性的具体值。差分隐私K均值聚 类方法基本过程描述如下:
步骤1:在待处理数据集D中随机地选择K个数据点后并为其添加随机噪 声,将其看作初始聚类中心点c1,c2,...cK
步骤2:由欧式距离公式分别计算输入数据集D中每个数据点与K个聚类中 心点的距离,并把它划分至距其最小距离的聚类内,得到K个数据点集合 D1,D2,...,DK
步骤3:对于每个数据点集合Di(1≤i≤K),计算其数据点之和 sum=∑xj(xj∈Di)与集合内的数据点数目之和num=|Di|,对sum和num添加随机噪 声后两者相除,将得到的数据点作为新的聚类中心;
步骤4:对步骤2、步骤3不断进行重复直到数据点集合D1,D2,...,DK不再变 化或者相邻两轮迭代中数据点集合的变化小于阈值,或者迭代次数达到上限。
在步骤1和步骤3中添加的随机噪声通常为Laplace噪声。该噪声服从 Laplace分布Lap(b),b=Δf/ε,Δf为全局敏感度,ε参数称为隐私保护预算。
经过上述过程得到的聚类结果很好地解决了迭代过程中隐私信息可能被泄 露的相关问题,即使攻击者拥有最大背景知识,也无法通过已经获取的中心点 和其他数据点的信息来推断计算出目标数据点属性的具体值。
然而,上述过程中仍然存在一些问题:
(1)经由实验证明,该方法执行过程中初始聚类中心点的选取比较敏感。 若初始聚类中心点随机地选取,则方法迭代中对初始聚类中心点加入随机噪声 后得到的新聚类中心点通常情况下与初始聚类中心点有较大偏差,使最终聚类 结果受到影响,并且在不超过设置迭代次数的条件下,这种情况可能导致迭代 次数的增多,进而使隐私保护预算ε不断消耗减小,加入的噪声值随之会越来越 大,导致聚类最终结果的可用性迅速降低。
(2)在添加服从Laplace分布的随机噪声时,Lap(b)中参数b=Δf/ε,需要 设置隐私保护预算ε和全局敏感度Δf,上述步骤中没有明确指出设置方式。
2.MapReduce框架
Hadoop大数据平台上的MapReduce框架是开源实现的,其计算工作具有 以下特点:该工作内容可以被划分为多项子工作,且这些子工作相对独立,彼 此之间无牵制,可以并行计算完成,子工作完成后,该项工作内容也随之完成。 MapReduce应用于大规模数据集的并行编程接口,基于“分而治之”的思想实 现,其归纳了经典的顺序式处理大数据的流程和特点,并借助函数式设计语言 Lisp的基本思想,将map函数和reduce函数设计为两个高级的并行编程接口 和抽象模型,通过在这两个并行接口上进行编程处理就可以迅速进行并行化计 算。
MapReduce框架主要由以下部分组成。
1)JobTracker
JobTracker是在master节点上进行的一个服务,工作范围是接收Job,协 调处理Job每个子任务Task运行在TaskTracker上,会监控任务的运行,若观 察到出现错误的Task,则重新运行它们。
2)TaskTracker
TaskTracker是在多个节点上进行的slaver服务,通过心跳机制与 JobTracker进行通信,接收并执行Job。
3)JobClient
每个Job都会在用户端通过JobClient类将应用程序以及用户的配置参数Configuration打包成jar文件,存储在HDFS中,并将设置好的参数上传至 JobTracker的master中,由master创建Task任务并将其划分至每个 TaskTracker中实现。
4)JobInProgress
JobClient提交Job后,JobTracker创建一个JobInProgress来跟踪和调度 这个Job并将其添加到Job队列中。此外会依照已提交jar任务中已设置的输入 数据集来产生出一批TaskInProgress用来观察和协调各个MapTask,此时也会 产生已经设置好的一定数量的TaskInProgress用于观察和协调ReduceTask。
5)TaskInProgress
JobTracker启动任务是通过每个TaskInProgress来运行Task,并将此次 Task序列化地传输至相应的TaskTracker中,TaskTracker收到任务后产生相应 的TaskInProgerss用于观察和协调Task。启动具体的Task进程,主要通过 TaskInProgerss进行管理,通过TaskRunner对象来运行。TaskRunner会自动 下载任务的jar文件并依照情况定义环境变量,然后运行一个独立的Java child 去实现Task。
6)MapTask与ReduceTask
一个完整的Job会自动执行Mapper、Combiner和Reducer。Mapper和 Combiner是由MapTask调用执行,Reducer由ReducerTask调用。Combiner 实际上是Reducer接口类的实现。Mapper会读取(key1,value1)键值对,输出 (key2,value2)键值对,若定义了Combiner,MapTask会使用Combiner类将同一 key值做出合并,减少任务中输出的键值对数量,然后再交由ReduceTask进程 中的Reducer进行最终计算,输出(key3,value3)键值对。
整个MapReduce框架数据处理能分为两部分,Map阶段和Reduce阶段, 分别是两个编程接口,其中分别定义了Mapper类、Reducer类,使用者通过对 其进行编程实现。
map:(k1,v1)→[(k2,v2)]
其中,输入参数是键值对(k1,v1)表示的数据,处理过程是:一个数据记录, 比如文件中的某一行,会以键值对的形式传入map函数中;map函数对输入的 键值对进行相应计算后用另外形式的键值对代表的中间结果[(k2,v2)]进行输出。
reduce:(k2,[v2])→[(k3,v3)]
其中,输入参数是由map函数输出的键值对(k2,[v2]),[v2]表示值集合,因 为同一个主键k2下通过往往包含不同的输出值v2,到达reduce函数时会把含有 同样键值k2中的v2集中至一个集合中计算。处理过程是将Map阶段输出的中间 计算值接着执行一些处理计算,最终的输出为[(k3,v3)]形式的键值对结果。
map和reduce函数将数据从一个数据集转换为另一个数据集,处理过程如 图1所示。并行数据处理模型的基本过程如下:
1)分配一定数目的Map节点将已划分的若干个数据块实施并行操作,由 每个数据块生成对应的结果输出;
2)分配相应的Reduce节点对应地计算处理,每个担任不同key值的计算 处理;
3)在数据块进入Reduce节点之前,要等待全部的Map节点计算完成。 如图1所示,在传输到Reduce节点前一步骤中需要同步障(Barrier)阶段, 这一步骤中会对Map节点输出的键值对结果实现收集整理(Aggregation& Shuffle)操作,这项操作使得Reduce节点可方便地只对各自节点上的数据集 进行处理从而得到输出值;
4)将全部Reduce节点得到的键值对数据进行汇总,即可获得输出的最终 结果。
上面步骤中阐述的MapReduce框架处理过程中,还有一个可供选择的步骤 即Combiner类,位置应处在Reduce节点接收到数据块之前,MapReduce框 架中可以运用Combiner类对Map节点得到的键值对实现一定的排序及合并处 理。Hadoop平台设计是为了降低工作执行过程中开销比较高的部分,一般情况 下是磁盘和网络部分,但是Map节点的输出往往是巨大的,可能是原始输入数 据的许多倍,直接传输给Reduce节点的话,将造成巨大的网络传输开销,因 而为了完成这种中间结果的数据传输优化,Combiner可专门负责这类事情,从 而优化传输效率。虽然Combiner类没有属于自己的编程接口,但是它计算处理 数据与Reduce节点有同样的特性,因而它同样继承的也是Reducer类。
3.基于MapReduce的差分隐私K均值聚类方法
为了解决传统K均值聚类的隐私泄露和确定聚类个数K较为困难的两个问 题,设计了改进的差分隐私K均值聚类方法,并部署在MapReduce中进行并 行化处理以提高数据处理效率。
本专利的方法首先使用改进的Canopy算法得到聚类个数K,其次使用差分 隐私K均值聚类算法得到满足差分隐私保护的聚类中心点。本专利的方法包括 两部分:1)在MapRedcue中实现改进Canopy算法,确定初始中心点;2) 在MapReduce中实现差分隐私K均值算法得到最终结果。
一种基于MapReduce的差分隐私保护K均值聚类方法具体过程如下:
步骤1:对数据进行归一化处理。数据集D中记录数为N条,分别记为 xi(1≤i≤N),每条数据维数为d,即数据集D中某一数据值xi=(xi1,xi2,...,xid)T是d维 属性,T表示行列式的转置运算。读取数据集D的每条记录xi(1≤i≤N),设置第 一条记录x1的每维属性为其所在维的初始最大值max和初始最小值min,将剩余 记录的各维属性分别与max和min比较大小,得到每维属性的最大值Max和最小 值Min,通过归一化公式将xi的各维属性归一化处理至空间[0,1]d中, 形成新数据集D'。
在大数据处理时,并行化可从两个方面入手:算法的并行和数据的并行。 差分隐私K均值聚类方法的重点集中于聚类中心点和数据点之间的欧式距离的 计算并得到较准确的聚类中心点,这种方法下进行计算的数据有一定的并行性, 因此本专利采用的并行化方法应为数据的并行,即先将输入的数据集分为几块, 分配到同等数量的子节点中,子节点分别计算分配到的数据块,同步更新聚类 中心点后子节点再继续计算和分类数据块,直到聚类中心点的变化小于阈值或 者迭代次数达到上限。另外,关于聚类个数K的选取采用优化的Canopy算法, 优化的Canopy算法的为了避免局部最优的情况,使最初任意两个Canopy之间 的距离尽可能远,因此假设已知前m个中心点,那么第m+1个中心点应是待选取数据点中与前m个中心点之间最小距离中最大者,针对大数据集,可先求取局部 Canopy中心点,以此为基础求取全局中心点,这种方法计算时的数据有一定的 并行性,因此计算聚类个数K的也采用数据并行的方法,即将输入的数据集分为 几块,分配到同等数量的子节点中,子节点分为计算分配到的数据块得到局部 的Canopy中心点,以此为基础合并求取全局中心点。
本专利实施方案中聚类过程若要实现并行化处理,需要注意两个重要因素, 分别是执行操作时的全局性和局部性。优化的Canopy算法中得到K个Canopy 有两个操作应加以考虑,一是在不同子节点中计算分配到的数据块,得到 Canopy中心点,此操作属于局部过程,得到局部Canopy中心点,二是对每个 局部Canopy中心点,汇集局部Canopy中心点,在此基础上计算全局Canopy 中心点并得到聚类个数K,此操作属于全局过程,得到最初K个Canopy中心点; 聚类算法中有两个主要步骤应加以考虑,一是得到数据点到聚类中心点的距离 大小从而将其正确地归类,该步骤属于局部过程,分任务中只须有聚类中心点 和数据点就能实现聚类步骤;二是对每个聚类的操作,计算出新的聚类中心并 且使所有分任务执行更新操作,该步骤属于全局过程。根据MapReduce框架, 将数据处理任务分为两部分:Map阶段和Reduce阶段,其中分别定义了Mapper 类、Reducer类。
从步骤2到步骤4,主要用于在MapReduce中实现优化的Canopy算法, 确定初始中心点。
步骤2:确定优化Canopy算法中每个Map任务中的局部中心点。主任务 Driver调用MapReduce中的Mapper类,map函数中设置集合Q为空,设置迭 代次数L为map函数中的局部数据集大小;在不超过迭代次数的前 提下,若集合Q为空,求数据集D'中数据点xi与坐标原点距离的最小值min,将 该点保存至集合Q,若集合Q不为空,计算数据集D'中数据点xi与集合Q中数据 点的距离,得出最小距离中的最大者Distmin,保存至集合Q中;
关于聚类个数为K的设置问题,在大多数聚类个数未知的情况下,K的选取 是依据经验值确定,设置的经验值不同会影响到聚类效果,因此需要解决K的设 置问题。
仿真实验证明可以通过Canopy算法确定K值,但是从原理上可以看出传统 的Canopy算法易受区域半径T1和T2的影响。当T1过大时,将会使某一点属于多 个Canopy内;当T2过大时,将减小聚类个数K。另外,Canopy中初始中心点 的个数决定了聚类个数K,这种方式多由经验决定,对于不同的数据集,K的取 值没有借鉴性。为了解决上述两个问题,可依据“最大最小原则”来提高Canopy 算法中分类个数的准确性。
Canopy算法的基本思想是将数据集分为若干个Canopy,其中任意两个 Canopy的距离表示的是聚类间的间距大小。为避免聚类的结果出现局部最优的 情况,最初任意两个Canopy中心的距离应尽可能远。假设已知前m个中心点, 那么第m+1个中心点应是待选取数据点中与前m个中心点之间最小距离中最大 者,公式如下:
L表示当前任务中数据集的数据总量,DisCollect(m+1)表示待确定的第m+1 个中心点与前m个中心点间距中的最小值,Distmin(m+1)表示第m+1个中心点应是 最小距离中的最大值。这样就避免了区域半径T2的设置。
由于Canopy中心点并非最终聚类中心点,在确定时只需要保证各Canopy 中心点间距离间距最大,因此采用更为简单的方式。首先,使用距离坐标原点 最近、最远的数据点代替数据集中初始距离最远的数据,具体选取优化如图3 所示;其次,先求取局部Canopy中心点,以此为基础求取全局中心点;最后, 生成局部Canopy中心点时,为降低迭代次数,可选择迭代次数为此处L为 局部数据集大小,一般情况下
步骤3:采用局部中心点确定聚类个数K值,确定Canopy的区域半径T1。 主任务Driver调用MapReduce中的Reducer类,reduce函数接收集合 Q={Q1,...Qn},首先计算P=Count(Q),P为集合Q的数据总量,设置循环次数为 在不超过循环次数的前提下,循环计算集合Q中数据点之间距离最小 值中最大者Dist2min,并将该点保存至集合Q′,计算集合Q′的数据总量K,设置 循环次数为K。在不超过循环次数K的前提下,计算得到集合Q'中Depth(i)的最 大值并输出区域半径T1=Dist2min,将集合中前i个点赋值至空集合U中。
在实际应用时应注意:当Canopy个数低于或者超过类别数是,Distmin的 变化幅度较小;当Canopy个数接近或达到类别数时,该值有较大变化。因此, 为了确定Canopy个数和区域半径T1,可引入指标Depth(i)表示Dist2min变化幅度, 公式如下:
Depth(i)=|Dist2min(i)-Dist2min(i-1)|+|Dist2min(i+1)-Dist2min(i)|
(改)
当i达到一定值时,Depth(i)可取得最大值,此时可设区域半径T1=Dist2min
步骤4:将步骤3输出的Canopy初始中心点集合U,以文件形式保存,再 次调用Mapper类map函数计算各节点数据与中心点之间的欧氏距离D。当 D≤T1,则将该数据点xi归于对应的Canopy,可以得到K个Canopy并将结果输 出。
计算数据样本xj和聚类中心ci两者间的欧氏距离,定义如下:
其中
表示第i个聚类的中心点位置,i=1,2,...,K,ni是第i个聚类中的数据点数目, xj是第i个聚类中的数据点。
关于初始中心点的选择问题,由于随机性中心点对聚类的最后结果的影响 较大,上述步骤中输出了K个Canopy,在此基础上本专利实施方案中按照差分 隐私K均值聚类方法得到加噪后的中心点,将其作为初始聚类中心点。即对于 每个Canopy计算其数据点之和sum=Sum(Canopy)与集合内的数据点数目之和 num=Count(Canopy),对sum和num添加随机噪声X然后两者相除,将得到的数据 点作为新的聚类中心随机噪声X通常为Laplace噪声,即该噪声服 从Laplace分布Lap(b),b=Δf/ε,Δf为全局敏感度,ε为隐私保护预算。
步骤5:设置添加的随机噪声。随机噪声通常为Laplace噪声,即该噪声服 从Laplace分布Lap(b),b=Δf/ε,Δf为全局敏感度,ε为隐私保护预算。设置添 加噪声的隐私保护预算参数ε。若聚类执行时迭代执行总m未知,那么在聚类迭 代执行时不断变换隐私预算参数ε的值,通常采用的为首次迭代使用预算值是 ε/2,后续的迭代中每轮使用的隐私预算是剩余值的1/2,即εm=ε/2m。设置添加 噪声的全局敏感度参数Δf,Δf=d+1,d为数据维数。
为了实现差分隐私保护,需要在数据中加入随机噪声。噪声多少是决定聚 类效果的关键因素,添加随机噪声的决定参数包括隐私保护预算ε和全局敏感度 Δf。
根据Dwork在发表的文章,关于差分隐私K均值算法过程中隐私预算ε设 置的重要性和如何设置隐私预算有两种方式。第一,若聚类过程中总迭代次数 已知为m,则每次迭代时消耗隐私预算为ε/m,可保证算法执行过程中隐私预算 的消耗不超过指定值,从而使全部的迭代执行过程都满足差分隐私保护。第二, 若聚类执行时迭代执行总m未知,那么在聚类迭代执行时不断变换隐私预算参数 ε的值,通常采用的为首次迭代使用预算值是ε/2,后续的迭代中每轮使用的隐 私预算是剩余值的1/2,即εm=ε/2m
考虑到使用算法、数据集规模、属性等都会造成迭代总数的差异,并且没 有明确的标准来指定迭代总次数,不能说明迭代总数的设置是否合理;根据以 往聚类算法的实验说明,通常情况下迭代中前期产生的聚类对最终的聚类会造 成较大影响,本专利采取了第二种方式,前期消耗的隐私预算较多添加噪声较 小,可在一定程度上降低中心点的误差。
定义设有函数f:D→Rd,输入是数据集D,输出是d维实数向量,对于 任意两个邻近数据集D1和D2
则称Δf为函数的全局敏感度。
对于两个邻近数据集D1和D2,两个数据集的属性均为d维,由全局敏感度 定义公式,差分隐私K均值聚类方法基本步骤3)中数据点数目之和num在两个 数据集中最多只有一条记录之差,对于计数查询而言,num的敏感度值为 Δfnum=1;对于的数据点之和sum,为便于求和查询函数的分析,将两个数据集D1和D2的d维属性分别进行归一化处理,归一化到[0,1]d,则差分隐私K均值聚类 方法获取中心点的计算就相当于直方图查询时在区间[0,1]d中进行了划分,因此 对于sum来说,当数据集D1和D2只有至多有一条记录不同时,计算数据点之和每 个属性值变化最大为1,由公式可知该求和查询sum的全局敏感度为Δfsum=d,所 以整体Δf=d+1。
步骤6:主任务Driver读取步骤4输出的K个Canopy,对于每个Canopy 计算其数据点之和sum=Sum(Canopy)
与集合内的数据点数目之和num=Count(Canopy),
对sum和num添加随机噪声X然后两者相除,将得到的数据点作为新的聚类 中心
从差分隐私K均值聚类过程来看,在迭代过程中需要对数据点进行不断地 调整,同时意味着会进行很多次聚类中心点的计算。随着大规模数据集的陆续 出现,聚类算法对数据点较多的数据集处理效果并不理想,而且若数据点较多 时,聚类过程的时间复杂度变大,处理的效率也会降低。在这种情况下为使其 能够有效的执行聚类过程,本专利实施方案从并行计算角度出发,使聚类算法 结合MapReduce并行计算框架中,来解决这个问题。
Map阶段负责的任务有:(1)map函数开始时会读入上轮迭代或者初始的 聚类中心点;(2)每一个Map任务对于接收到的数据块,分别执行数据点与聚 类中心点距离的计算操作,并把该点归至最小距离的聚类;(3)输出键值对 (key,value),key为数据所在的聚类标号,value为数据的各维属性向量值。之后对 该过程得到的键值对执行归并操作,将带有同样key值的键值对进行(key,value)归 并统计每个聚类下的数据点数目,此时key仍代表聚类标号,value1则代表数据的 各维属性值和聚类中的数据数目,将新的键值对(key,value1)输出。
Reduce阶段负责的任务有:接收键值对(key,value1),计算同一聚类下的数 据点各维属性之和sum,根据数据点之和sum和数据点数目之和num计算新的聚 类中心点。之后由主任务决定是否符合迭代结束条件。
从步骤7到步骤9,主要用于在MapReduce中实现差分隐私K均值算法得 到最终结果。
步骤7:主任务Driver调用MapReduce中的Mapper类,map函数首先 读取文件中的聚类中心点其中m为迭代次数,读入到事先定义的 集合R中,然后map函数读取该分任务中接收到的不同记录xi。分别得出每条 记录与聚类中心点的距离值Distance,得到与其距离值最小的聚类中心点ck,将 其划分到此聚类,每个map函数输出的应是键值对(key,value),其中key为数据 记录所在的聚类标号,value为数据记录的各维属性值和聚类当前数据记录的数 目,此时数目都为1。
步骤8:主任务Driver调用MapReduce中的Reducer类,
Reduce分任务接收键值对(key,value)后,合并属于同一个聚类标号即同一个 key值的聚类,reduce函数可统计同一个类中数据数目总和numk和每条数据记录 的各维属性值总和sumk,将两者添加随机噪声得到numk'和sumk',两者相除获取 到新的聚类中心ck,并把该中心集合输出。
步骤9:主任务Driver读取接收步骤8最新生成的聚类中心集合和步骤7 的K个聚类中心集合,得到这两轮聚类中心点集合间的欧式距离Dis,若这两轮 中中心点集合的各维属性之差的距离Dis小于指定阈值Threshold或者循环次数已 经到达迭代总数值M,则算法迭代终止,主任务Driver调用MapReduce中的 Mapper类按照最新生成的聚类中心点集合C将数据集D'进行实现聚类操作,输 出聚类后的结果;若不满足要求,继续重复步骤7~步骤9。
假设有n个数据样本X={x1,x2,...,xn}为待处理数据集,其中xj=(xj1,xj2,...,xjd)T是d维向量,该算法目标是得到总数为K的聚类中心点集合C={c1,c2,...,cK}T,再将数据集进行划分,判断迭代是否重复的条件之一就是通过误差平方和函数:
公式中Si代表第i个聚类中数据样本的集合,ci是第i个聚类的中心点, d(xj,ci)代表计算数据样本xj和聚类中心ci两者间的欧氏距离,定义如下:
其中
表示第i个聚类的中心点位置,i=1,2,...,K,ni是第i个聚类中的数据点数目, xj是第i个聚类中的数据点。
从上述步骤中可以看出MapReduce并行框架下实施本专利实施方案的聚 类过程时通过在每步reduce函数操作中添加服从Laplace分布的随机噪声来满 足保护隐私信息的需求。该聚类过程中的每次迭代与多个随机算法的序列组合 相似,根据差分隐私的组合性质可知,假设共有M次迭代,则该算法总共的ε值 应为:
其中εm代表第m次迭代消耗的隐私预算,预算分配方面,已确定的εm=ε/2m
聚类中每次进行迭代操作时,各个Reduce分任务之间是并行地处理,每 输出的结果与随机算法的并行组合相似,根据并行组合性质,则每次迭代中 Reduce分任务执行操作是使用的隐私预算均是εm。由公式可知,numk的全局敏 感度为Δfnum=1,并且数据集归一化后,sumk的全局敏感度Δfsum=d,根据序列组 合性,整个算法的全局敏感度为Δf=d+1。由Laplace机制可知,在初始中心点 的计算过程中在加入的噪声服从Lap(b)分布(b=(d+1)*2/ε),在算 法第m次迭代中numk和sumk添加的噪声服从Lap(b)分布(b=(d+1)*2m/ε)。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现 有技术。
以上所述仅是本发明一种基于MapReduce的差分隐私K均值聚类方法优 选的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本 发明一种基于MapReduce的差分隐私K均值聚类方法原理的前提下,还可以 做出若干改进和润饰,这些改进和润饰也应视为本发明一种基于MapReduce 的差分隐私K均值聚类方法的保护范围。

Claims (1)

1.一种基于MapReduce的差分隐私K均值聚类方法,其特征在于:该方法包含以下步骤:
步骤1:对数据进行归一化处理;数据集D中记录数为N条,分别记为xi(1≤i≤N),每条数据维数为d,即数据集D中某一数据值xi=(xi1,xi2,...,xid)T是d维属性,T表示行列式的转置运算;读取数据集D的每条记录xi(1≤i≤N),设置第一条记录x1的每维属性为其所在维的初始最大值max和初始最小值min,将剩余记录的各维属性分别与max和min比较大小,得到每维属性的最大值Max和最小值Min,通过归一化公式将xi的各维属性归一化处理至空间[0,1]d中,形成新数据集D';
步骤2:确定优化Canopy算法中每个Map任务中的局部中心点;主任务Driver调用MapReduce中的Mapper类,map函数中设置集合Q为空,设置迭代次数L为map函数中的局部数据集大小;在不超过迭代次数的前提下,若集合Q为空,求数据集D'中数据点xi与坐标原点距离的最小值min,将该点保存至集合Q,若集合Q不为空,计算数据集D'中数据点xi与集合Q中数据点的距离,得出最小距离中的最大者Distmin,保存至集合Q中;
步骤3:采用局部中心点确定聚类个数K值,确定Canopy的区域半径T1;主任务Driver调用MapReduce中的Reducer类,reduce函数接收集合Q={Q1,...Qn},首先计算P=Count(Q),P为集合Q的数据总量,设置循环次数为在不超过循环次数的前提下,循环计算集合Q中数据点之间距离最小值中最大者Dist2min,并将该点保存至集合Q',计算集合Q'的数据总量K,设置循环次数为K;在不超过循环次数K的前提下,计算得到集合Q'中Depth(i)的最大值并输出区域半径T1=Dist2min,将集合中前i个点赋值至空集合U中;
步骤4:将步骤3输出的Canopy初始中心点集合U,以文件形式保存,再次调用Mapper类map函数计算各节点数据与中心点之间的欧氏距离D;当D≤T1,则将该数据点xi归于对应的Canopy,可以得到K个Canopy并将结果输出;
步骤5:设置添加的随机噪声;随机噪声通常为Laplace噪声,即该噪声服从Laplace分布Lap(b),b=Δf/ε,Δf为全局敏感度,ε为隐私保护预算;设置添加噪声的隐私保护预算参数ε;若聚类执行时迭代执行总m未知,那么在聚类迭代执行时不断变换隐私预算参数ε的值,通常采用的为首次迭代使用预算值是ε/2,后续的迭代中每轮使用的隐私预算是剩余值的1/2,即εm=ε/2m;设置添加噪声的全局敏感度参数Δf,Δf=d+1,d为数据维数;
步骤6:主任务Driver读取步骤4输出的K个Canopy,对于每个Canopy计算其数据点之和sum=Sum(Canopy)
与集合内的数据点数目之和num=Count(Canopy),
对sum和num添加随机噪声X然后两者相除,将得到的数据点作为新的聚类中心
步骤7:主任务Driver调用MapReduce中的Mapper类,map函数首先读取文件中的聚类中心点其中m为迭代次数,读入到事先定义的集合R中,然后map函数读取该分任务中接收到的不同记录xi;分别得出每条记录与聚类中心点的距离值Distance,得到与其距离值最小的聚类中心点ck,将其划分到此聚类,每个map函数输出的应是键值对(key,value),其中key为数据记录所在的聚类标号,value为数据记录的各维属性值和聚类当前数据记录的数目,此时数目都为1;
步骤8:主任务Driver调用MapReduce中的Reducer类,Reduce分任务接收步骤7的键值对(key,value)后,合并属于同一个聚类标号即同一个key值的聚类,reduce函数可统计同一个类中数据数目总和numk和每条数据记录的各维属性值总和sumk,将两者添加随机噪声得到numk'和sumk',两者相除获取到新的聚类中心ck,并把该中心集合输出;
步骤9:主任务Driver读取接收步骤8最新生成的聚类中心集合和步骤7的K个聚类中心集合,得到这两轮聚类中心点集合间的欧式距离Dis,若这两轮中中心点集合的各维属性之差的距离Dis小于指定阈值Threshold或者循环次数已经到达迭代总数值M,则迭代终止,主任务Driver调用MapReduce中的Mapper类按照最新生成的聚类中心点集合C将数据集D'进行实现聚类操作,输出聚类后的结果;若不满足要求,继续重复步骤7~步骤9。
CN201710546207.2A 2017-07-06 2017-07-06 一种基于MapReduce的差分隐私K均值聚类方法 Active CN107423636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710546207.2A CN107423636B (zh) 2017-07-06 2017-07-06 一种基于MapReduce的差分隐私K均值聚类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710546207.2A CN107423636B (zh) 2017-07-06 2017-07-06 一种基于MapReduce的差分隐私K均值聚类方法

Publications (2)

Publication Number Publication Date
CN107423636A true CN107423636A (zh) 2017-12-01
CN107423636B CN107423636B (zh) 2021-05-04

Family

ID=60427110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710546207.2A Active CN107423636B (zh) 2017-07-06 2017-07-06 一种基于MapReduce的差分隐私K均值聚类方法

Country Status (1)

Country Link
CN (1) CN107423636B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280491A (zh) * 2018-04-18 2018-07-13 南京邮电大学 一种面向差分隐私保护的k均值聚类方法
CN108470699A (zh) * 2018-03-29 2018-08-31 深圳市创艺工业技术有限公司 一种半导体制造设备和工艺的智能控制系统
CN108959958A (zh) * 2018-06-14 2018-12-07 中国人民解放军战略支援部队航天工程大学 一种关联大数据的隐私保护方法及系统
CN109388972A (zh) * 2018-10-29 2019-02-26 山东科技大学 基于optics聚类的医疗数据异方差差分隐私保护方法
CN109492683A (zh) * 2018-10-30 2019-03-19 国网湖南省电力有限公司 一种针对广域量测电力大数据数据质量的快速在线评估方法
CN109558426A (zh) * 2018-11-22 2019-04-02 河南财经政法大学 一种基于差分隐私的流式直方图的发布方法
CN109615426A (zh) * 2018-12-05 2019-04-12 重庆锐云科技有限公司 一种基于客户聚类的营销方法、系统
CN110619231A (zh) * 2019-08-26 2019-12-27 北京航空航天大学 一种基于MapReduce的差分可辨性k原型聚类方法
CN110968612A (zh) * 2018-09-30 2020-04-07 华为技术有限公司 键值对数据的收集方法和装置
CN112990797A (zh) * 2021-05-13 2021-06-18 江西省自然资源厅国土资源勘测规划院 基于云计算技术的灾害风险预警管理方法、装置
CN113704787A (zh) * 2021-08-30 2021-11-26 国网江苏省电力有限公司营销服务中心 一种基于差分隐私的隐私保护聚类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘宝龙 等: "双MapReduce改进的Canopy-Kmeans算法", 《西安工业大学学报》 *
李灵芳: "基于差分隐私的K_means聚类分析", 《西南交通大学硕士学位论文》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470699A (zh) * 2018-03-29 2018-08-31 深圳市创艺工业技术有限公司 一种半导体制造设备和工艺的智能控制系统
CN108470699B (zh) * 2018-03-29 2019-12-06 新沂市瓦窑工业园区有限公司 一种半导体制造设备和工艺的智能控制系统
CN108280491A (zh) * 2018-04-18 2018-07-13 南京邮电大学 一种面向差分隐私保护的k均值聚类方法
CN108280491B (zh) * 2018-04-18 2020-03-06 东莞市盟大塑化科技有限公司 一种面向差分隐私保护的k均值聚类方法
CN108959958A (zh) * 2018-06-14 2018-12-07 中国人民解放军战略支援部队航天工程大学 一种关联大数据的隐私保护方法及系统
US11615099B2 (en) 2018-09-30 2023-03-28 Huawei Technologies Co., Ltd. Method and apparatus for collecting key-value pair data
CN110968612A (zh) * 2018-09-30 2020-04-07 华为技术有限公司 键值对数据的收集方法和装置
CN109388972A (zh) * 2018-10-29 2019-02-26 山东科技大学 基于optics聚类的医疗数据异方差差分隐私保护方法
CN109492683A (zh) * 2018-10-30 2019-03-19 国网湖南省电力有限公司 一种针对广域量测电力大数据数据质量的快速在线评估方法
CN109558426A (zh) * 2018-11-22 2019-04-02 河南财经政法大学 一种基于差分隐私的流式直方图的发布方法
CN109615426A (zh) * 2018-12-05 2019-04-12 重庆锐云科技有限公司 一种基于客户聚类的营销方法、系统
CN110619231A (zh) * 2019-08-26 2019-12-27 北京航空航天大学 一种基于MapReduce的差分可辨性k原型聚类方法
CN110619231B (zh) * 2019-08-26 2021-06-18 北京航空航天大学 一种基于MapReduce的差分可辨性k原型聚类方法
CN112990797A (zh) * 2021-05-13 2021-06-18 江西省自然资源厅国土资源勘测规划院 基于云计算技术的灾害风险预警管理方法、装置
CN113704787A (zh) * 2021-08-30 2021-11-26 国网江苏省电力有限公司营销服务中心 一种基于差分隐私的隐私保护聚类方法
CN113704787B (zh) * 2021-08-30 2023-12-29 国网江苏省电力有限公司营销服务中心 一种基于差分隐私的隐私保护聚类方法

Also Published As

Publication number Publication date
CN107423636B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN107423636A (zh) 一种基于MapReduce的差分隐私K均值聚类方法
CN104951425B (zh) 一种基于深度学习的云服务性能自适应动作类型选择方法
CN104809408B (zh) 一种基于差分隐私的直方图发布方法
CN103235974B (zh) 一种提高海量空间数据处理效率的方法
CN106302522A (zh) 一种基于神经网络和大数据的网络安全态势分析方法和系统
CN111340493B (zh) 一种多维度分布式异常交易行为检测方法
CN110555455A (zh) 一种基于实体关系的在线交易欺诈检测方法
CN107577771A (zh) 一种大数据挖掘系统
Yang et al. Efficient plane extraction using normal estimation and RANSAC from 3D point cloud
CN104391879B (zh) 层次聚类的方法及装置
CN105205052A (zh) 一种数据挖掘方法及装置
CN111339818A (zh) 一种人脸多属性识别系统
CN106708647A (zh) 大数据环境下的分布式跨维度异常数据检测方法
CN106022359A (zh) 基于有序信息熵的模糊熵空间聚类分析方法
CN110704694A (zh) 一种基于网络表示学习的组织层级划分方法及其应用
CN110349159A (zh) 基于权重能量自适应分布的三维形状分割方法及系统
CN105913235A (zh) 一种客户转账关系分析方法及系统
CN109767227A (zh) 通过rds实现支付风险智能判断和控制的系统及方法
Yin et al. Mobile Anomaly Detection Based on Improved Self‐Organizing Maps
CN104834709B (zh) 一种基于负载均衡的并行余弦模式挖掘方法
Akkus et al. Automated land reallotment using genetic algorithm
CN116168789A (zh) 一种多中心医疗数据生成系统和方法
Cui et al. A k-means++ based user classification method for social e-commerce
CN110071845A (zh) 一种对未知应用进行分类的方法及装置
CN105512726A (zh) 基于免疫遗传优化的可靠性分配方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant