CN111523143B - 针对多方的隐私数据进行聚类的方法和装置 - Google Patents
针对多方的隐私数据进行聚类的方法和装置 Download PDFInfo
- Publication number
- CN111523143B CN111523143B CN202010631310.9A CN202010631310A CN111523143B CN 111523143 B CN111523143 B CN 111523143B CN 202010631310 A CN202010631310 A CN 202010631310A CN 111523143 B CN111523143 B CN 111523143B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- cluster
- vector
- party
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种针对多方的隐私数据进行聚类的方法和装置,方法包括:第一方确定K个类簇当前分别对应的各中心数据的第一数据部分,第一数据部分对应于第一维度集合;第二方具有各中心数据的对应于第二维度集合的第二数据部分;分别将各中心数据作为目标中心数据,基于N个样本中任一样本的第一特征部分和目标中心数据的第一数据部分,通过本地计算得到任一样本和目标中心数据的目标距离的第一分片;基于各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;将最近的目标距离对应的类簇,确定为任一样本当前归属的类簇。能够防止泄露隐私数据。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对多方的隐私数据进行聚类的方法和装置。
背景技术
聚类是机器学习中一种很常用的技术。它常常被应用于社区发现、异常检测等任务。通常的聚类算法,是一种无监督学习算法,目的是将相似的对象归到同一个类蔟中。类蔟内的对象越相似,聚类的效果就越好。聚类和分类最大的不同在于,分类的目标事先已知,而聚类则不一样。其产生的结果和分类相同,而只是类别没有预先定义。
在某些场景下,数据垂直分布在多方。各方具有的数据可能为隐私数据,也就是说,一方具有的隐私数据不能公开给其他方。这种情况下,现有技术未提供合适的聚类方法。
因此,希望能有改进的方案,在针对多方的隐私数据进行聚类时,能够防止泄露隐私数据。
发明内容
本说明书一个或多个实施例描述了一种针对多方的隐私数据进行聚类的方法和装置,在针对多方的隐私数据进行聚类时,能够防止泄露隐私数据。
第一方面,提供了一种针对多方的隐私数据进行聚类的方法,所述多方包括第一方和第二方,所述第一方的隐私数据包括N个样本的第一特征部分,所述第一特征部分对应于第一维度集合,所述第二方的隐私数据包括所述N个样本的第二特征部分,所述第二特征部分对应于第二维度集合,所述方法通过所述第一方执行,包括多轮迭代过程,其中任意一轮迭代包括:
确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;
分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片;
基于各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;
将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。
在一种可能的实施方式中,所述本地计算包括:
将所述任一样本的第一特征部分作为第一子向量,将目标中心数据的第一数据部分作为第二子向量,计算所述第一子向量和所述第二子向量之间的向量距离,将所述向量距离确定为所述任一样本和所述目标中心数据的目标距离的第一分片。
在一种可能的实施方式中,所述任意一轮迭代为第一轮迭代,所述K个类簇当前分别对应的各中心数据的第一数据部分为随机初始化的数据。
在一种可能的实施方式中,所述联合比较包括:
基于所述各目标距离中任意两个目标距离的第一分片,利用秘密共享的方式,与所述第二方中的该任意两个目标距离的第二分片进行联合比较,确定该任意两个目标距离之间的距离远近的比较结果;
根据各比较结果,确定所述各目标距离中的最近的目标距离。
在一种可能的实施方式中,所述将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇之后,所述方法还包括:
根据同一类簇的各样本的第一特征数据中对应于任一维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值。
进一步地,所述更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值之后,所述方法还包括:
判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件;
若判断结果为各类簇的中心数据的变化量不满足预先设定的停止迭代条件,则进行所述多轮迭代过程中的下一轮迭代。
进一步地,所述方法还包括:
若判断结果为各类簇的中心数据的变化量满足预先设定的停止迭代条件,则将所述任一样本当前归属的类簇确定为所述任一样本最终归属的类簇。
进一步地,所述判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件,包括:
将所述各类簇中的任一类簇作为目标类簇,将该目标类簇的更新前的中心数据的第一数据部分作为第三子向量、该目标类簇的更新后的中心数据的第一数据部分作为第四子向量,计算所述第三子向量和所述第四子向量之间的第一向量距离,确定所述第一向量距离和第一阈值之间的第一比较结果;
从所述第二方接收第二向量距离和第二阈值之间的第二比较结果;所述第二向量距离为所述第二方将该目标类簇的更新前的中心数据的第二数据部分作为第五子向量、该目标类簇的更新后的中心数据的第二数据部分作为第六子向量,计算所述第五子向量和所述第六子向量之间的第二向量距离;
当所述第一比较结果示出所述第一向量距离小于或等于所述第一阈值,且所述第二比较结果示出所述第二向量距离小于或等于所述第二阈值,确定该目标类簇的中心数据的变化量满足预先设定的停止迭代条件。
第二方面,提供了一种针对多方的隐私数据进行聚类的装置,所述多方包括第一方和第二方,所述第一方的隐私数据包括N个样本的第一特征部分,所述第一特征部分对应于第一维度集合,所述第二方的隐私数据包括所述N个样本的第二特征部分,所述第二特征部分对应于第二维度集合,所述装置设置于所述第一方,用于执行多轮迭代过程,包括用于执行任意一轮迭代的如下单元:
中心确定单元,用于确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;
本地计算单元,用于分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和所述中心确定单元确定的目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片;
联合比较单元,用于基于所述本地计算单元得到的各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;
类簇确定单元,用于将所述联合比较单元确定的最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,不是由任何一方单独确定各个类簇的中心数据,而是由第一方确定K个类簇当前分别对应的各中心数据的第一数据部分,第一数据部分对应于第一维度集合;第二方确定各中心数据的第二数据部分,第二数据部分对应于第二维度集合;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;并且后续在确定任一样本和目标中心数据的目标距离时,通过本地计算的方式,第一方确定该目标距离的第一分片,第二方确定该目标距离的第二分片;在确定各目标距离中的最近的目标距离时,利用了秘密共享的方式,与第二方进行联合比较;最后将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。整个过程以安全多方计算为基础,在针对多方的隐私数据进行聚类时,能够防止泄露隐私数据。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对多方的隐私数据进行聚类的方法流程图;
图3示出根据一个实施例的针对多方的隐私数据进行聚类的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对多方的隐私数据进行聚类。可以理解的是,上述多方可以为两方或两方以上,例如,三方、四方等。本说明书实施例,以针对两方的隐私数据进行聚类为例进行说明。参照图1,第一方11具有隐私数据10、隐私数据20、隐私数据30、隐私数据40、隐私数据50;第二方12具有隐私数据11、隐私数据21、隐私数据31、隐私数据41、隐私数据51。其中,第一方的隐私数据包括样本的第一特征部分,第一特征部分对应于第一维度集合,第二方的隐私数据包括样本的第二特征部分,第二特征部分对应于第二维度集合。以样本1为例,第一方的隐私数据10为样本1的第一特征部分,第二方的隐私数据11为样本1的第二特征部分,第一特征部分和第二特征部分分别对应于样本1的若干维度。
可以理解的是,第一方和第二方仅为对两方的区分,还可以将第一方称为A方,将第二方称为B方,等。假设有A和B两方,N个样本中每个样本的样本维度为d,其中A方拥有样本的d1维特征,B方拥有样本的d2维特征,d=d1+d2,本说明书实施例,想安全的将样本聚为K类(c1, c2,…,cK),K可以为2、3或更大的数目。
本说明书实施例中,样本由第一方的隐私数据和第二方的隐私数据构成,对于各方的隐私数据涵盖的信息不做限定,可以是任何不可外传的信息,例如,用户的个人信息或商业秘密等。举例来说,隐私数据为用户的个人信息,包括了用户的姓名、年龄、收入等,隐私数据中的每项信息可以作为样本的一个维度的特征,具体可以参照表一所示的各样本包含特征的对应关系表。
由表一可见,表一中不同列的数据可能分布在不同方,例如,姓名和年龄分布在第一方,收入、理财金额、消费金额分布在第二方,这种数据垂直分布在多方的数据分布方式,可以称为垂直切分。
本说明书实施例,需要针对多方的隐私数据进行聚类,以图1为例,就是针对隐私数据10、隐私数据20、隐私数据30、隐私数据40、隐私数据50、隐私数据11、隐私数据21、隐私数据31、隐私数据41、隐私数据51进行聚类,分布在不同方的隐私数据共同构成一个样本,一个样本最终被划分到哪个类簇中,不仅取决于第一方的隐私数据,还取决于第二方的隐私数据。本说明书实施例,利用安全多方计算(secure multi-party computation,MPC)的方式,在不泄露隐私数据的前提下,实现针对多方的隐私数据进行聚类。
图2示出根据一个实施例的针对多方的隐私数据进行聚类的方法流程图,该方法可以基于图1所示的实施场景。所述多方包括第一方和第二方,所述第一方的隐私数据包括N个样本的第一特征部分,所述第一特征部分对应于第一维度集合,所述第二方的隐私数据包括所述N个样本的第二特征部分,所述第二特征部分对应于第二维度集合,所述方法通过所述第一方执行,包括多轮迭代过程,如图2所示,其中任意一轮迭代包括以下步骤:步骤21,确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;步骤22,分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片;步骤23,基于各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;步骤24,将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。下面描述以上各个步骤的具体执行方式。
首先在步骤21,确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据。可以理解的是,上述K的取值可以是预先设定的,例如,K的取值为2,即预先设定将多方的隐私数据划分为两个类簇。
本说明书实施例中,每个类簇对应一个中心数据,各中心数据是由第一方和第二方联合确定的,第一方只能确定各中心数据的第一数据部分,第一数据部分对应于第一维度集合,由第二方确定各中心数据的第二数据部分,第二数据部分对应于第二维度集合,第一方和第二方中的任何一方都不能够单独确定中心数据。
在一个示例中,所述任意一轮迭代为第一轮迭代,所述K个类簇当前分别对应的各中心数据的第一数据部分为随机初始化的数据。
举例来说,第一维度集合包含的维度数目d1=2,第二维度集合包含的维度数目d2=3,类簇数目K=2,则第一方和第二方共同选择K个样本,作为初始中心数据,第一方保存K个中心数据的前2维,第二方保存K个中心数据的后3维,比如对于中心数据c1(c1_1, c1_2,c1_3, c1_4, c1_5),第一方保存(c1_1, c1_2),第二方保存(c1_3, c1_4, c1_5)。
进一步地,第一方可以针对每个样本,初始化一个K维的类簇向量,用于标记该样本所属的类簇,其中,K为类簇的数目,当K=2时,初始化一个2维的类簇向量,例如,初始为全0的向量,即[0,0]。
然后在步骤22,分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片。可以理解的是,目标距离的第一分片与目标距离的第二分片之和为目标距离。第一方计算目标距离的第一分片,第二方计算目标距离的第二分片,从而使目标距离以和共享的方式分布于第一方和第二方。
在一个示例中,所述本地计算包括:
将所述任一样本的第一特征部分作为第一子向量,将目标中心数据的第一数据部分作为第二子向量,计算所述第一子向量和所述第二子向量之间的向量距离,将所述向量距离确定为所述任一样本和所述目标中心数据的目标距离的第一分片。
举例来说,样本x1(x1_1, x1_2, x1_3, x1_4, x_5),中心数据c1(c1_1, c1_2,c1_3, c1_4, c1_5),目标距离为样本x1和中心数据c1之间的距离。第一方具有样本x1的第一特征部分(x1_1, x1_2),以及中心数据c1的第一数据部分(c1_1, c1_2),计算(x1_1 -c1_1)^2 + (x1_2 - c1_2)^2,得到目标距离的第一分片,记为<x1c1>1;第二方具有样本x1的第二特征部分(x1_3, x1_4, x_5),以及中心数据c1的第二数据部分(c1_3, c1_4, c1_5),计算(x1_3 - c1_3)^2 + (x1_4 - c1_4)^2 + (x1_5 - c1_5)^2,得到目标距离的第二分片,记为<x1c1>2。<x1c1>1与<x1c1>2之和为x1和c1之间的目标距离,记为x1c1。
同理,第一方和第二方分别计算样本x1到中心数据c2的目标距离,第一方得到目标距离的第一分片,记为<x1c2>1,第二方得到目标距离的第二分片,记为<x1c2>2。<x1c2>1与<x1c2>2之和为x1和c2之间的目标距离,记为x1c2。
接着在步骤23,基于各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离。可以理解的是,各目标距离为样本与各中心数据之间的距离,目标距离的第一分片与目标距离的第二分片之和为目标距离。
本说明书实施例中,当类簇的数目为两个时,中心数据有两个,相应地,目标距离有两个,比较这两个目标距离的大小,即可确定各目标距离中的最近的目标距离。举例来说,比较x1c1和x1c2的大小,其中,较小的那个对应的类簇即为x1所属的类簇,这里假设x1c2是小的值,则说明x1离c2最近,则其类簇向量变为[0,1]。
当类簇的数目为三个以上时,中心数据有三个以上,相应地,目标距离有三个以上,比较其中任意两个目标距离的大小,即可确定各目标距离中的最近的目标距离。
在一个示例中,所述联合比较包括:
基于所述各目标距离中任意两个目标距离的第一分片,利用秘密共享的方式,与所述第二方中的该任意两个目标距离的第二分片进行联合比较,确定该任意两个目标距离之间的距离远近的比较结果;
根据各比较结果,确定所述各目标距离中的最近的目标距离。
最后在步骤24,将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。可以理解的是,在不同轮的迭代过程中,同一样本归属的类簇可能不同。
在一个示例中,所述将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇之后,所述方法还包括:
根据同一类簇的各样本的第一特征数据中对应于任一维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值。
可以理解的是,上述同一类簇为前述K个类簇中的任一类簇。
举例来说,第一方和第二方根据所有样本的类簇向量,更新中心数据(c1和c2),以c1为例,更新过程如下:
第一方计算所有类簇向量为[1,0]的样本的第一特征数据中对应于第一维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于第一维度的数据值,也就是说,更新中心数据c1的c1_1;第一方计算所有类簇向量为[1,0]的样本的第一特征数据中对应于第二维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于第二维度的数据值,也就是说,更新中心数据c1的c1_2,从而得到更新后中心数据c1的第一数据部分(c1_1,c1_2)。
第二方计算所有类簇向量为[1,0]的样本的第二特征数据中对应于第三维度的特征均值,更新该类簇的中心数据的第二数据部分中对应于第三维度的数据值,也就是说,更新中心数据c1的c1_3;第二方计算所有类簇向量为[1,0]的样本的第二特征数据中对应于第四维度的特征均值,更新该类簇的中心数据的第二数据部分中对应于第四维度的数据值,也就是说,更新中心数据c1的c1_4;第二方计算所有类簇向量为[1,0]的样本的第二特征数据中对应于第五维度的特征均值,更新该类簇的中心数据的第二数据部分中对应于第五维度的数据值,也就是说,更新中心数据c1的c1_5,从而得到更新后中心数据c1的第二数据部分(c1_3,c1_4,c1_5)。
进一步地,所述更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值之后,所述方法还包括:
判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件;
若判断结果为各类簇的中心数据的变化量不满足预先设定的停止迭代条件,则进行所述多轮迭代过程中的下一轮迭代。
例如,上述停止迭代条件为|C(t)-C(t+1)|^2 < delta,其中,delta可以是个预设置的值,C(t)表示更新前的中心数据,C(t+1)表示更新后的中心数据。
进一步地,所述方法还包括:
若判断结果为各类簇的中心数据的变化量满足预先设定的停止迭代条件,则将所述任一样本当前归属的类簇确定为所述任一样本最终归属的类簇。
进一步地,所述判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件,包括:
将所述各类簇中的任一类簇作为目标类簇,将该目标类簇的更新前的中心数据的第一数据部分作为第三子向量、该目标类簇的更新后的中心数据的第一数据部分作为第四子向量,计算所述第三子向量和所述第四子向量之间的第一向量距离,确定所述第一向量距离和第一阈值之间的第一比较结果;
从所述第二方接收第二向量距离和第二阈值之间的第二比较结果;所述第二向量距离为所述第二方将该目标类簇的更新前的中心数据的第二数据部分作为第五子向量、该目标类簇的更新后的中心数据的第二数据部分作为第六子向量,计算所述第五子向量和所述第六子向量之间的第二向量距离;
当所述第一比较结果示出所述第一向量距离小于或等于所述第一阈值,且所述第二比较结果示出所述第二向量距离小于或等于所述第二阈值,确定该目标类簇的中心数据的变化量满足预先设定的停止迭代条件。
可以理解的是,在针对多方的隐私数据进行聚类的方法中,第一方和第二方的地位平等,第一方和第二方的处理过程无实质的不同,本说明书实施例中,主要以第一方为执行主体描述相应的处理过程。
通过本说明书实施例提供的方法,不是由任何一方单独确定各个类簇的中心数据,而是由第一方确定K个类簇当前分别对应的各中心数据的第一数据部分,第一数据部分对应于第一维度集合;第二方确定各中心数据的第二数据部分,第二数据部分对应于第二维度集合;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;并且后续在确定任一样本和目标中心数据的目标距离时,通过本地计算的方式,第一方确定该目标距离的第一分片,第二方确定该目标距离的第二分片;在确定各目标距离中的最近的目标距离时,利用了秘密共享的方式,与第二方进行联合比较;最后将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。整个过程以安全多方计算为基础,在针对多方的隐私数据进行聚类时,能够防止泄露隐私数据。
根据另一方面的实施例,还提供一种针对多方的隐私数据进行聚类的装置,该装置用于执行本说明书实施例提供的针对多方的隐私数据进行聚类的方法。所述多方包括第一方和第二方,所述第一方的隐私数据包括N个样本的第一特征部分,所述第一特征部分对应于第一维度集合,所述第二方的隐私数据包括所述N个样本的第二特征部分,所述第二特征部分对应于第二维度集合,所述装置设置于所述第一方,用于执行多轮迭代过程。图3示出根据一个实施例的针对多方的隐私数据进行聚类的装置的示意性框图。如图3所示,该装置300包括用于执行任意一轮迭代的如下单元:
中心确定单元31,用于确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;
本地计算单元32,用于分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和所述中心确定单元31确定的目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片;
联合比较单元33,用于基于所述本地计算单元32得到的各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;
类簇确定单元34,用于将所述联合比较单元33确定的最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。
可选地,作为一个实施例,所述本地计算单元32,具体用于将所述任一样本的第一特征部分作为第一子向量,将目标中心数据的第一数据部分作为第二子向量,计算所述第一子向量和所述第二子向量之间的向量距离,将所述向量距离确定为所述任一样本和所述目标中心数据的目标距离的第一分片。
可选地,作为一个实施例,所述任意一轮迭代为第一轮迭代,所述K个类簇当前分别对应的各中心数据的第一数据部分为随机初始化的数据。
可选地,作为一个实施例,所述联合比较单元33包括:
第一比较子单元,用于基于所述各目标距离中任意两个目标距离的第一分片,利用秘密共享的方式,与所述第二方中的该任意两个目标距离的第二分片进行联合比较,确定该任意两个目标距离之间的距离远近的比较结果;
第一确定子单元,用于根据所述第一比较子单元得到的各比较结果,确定所述各目标距离中的最近的目标距离。
可选地,作为一个实施例,所述装置还包括:
更新单元,用于在所述类簇确定单元34将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇之后,根据同一类簇的各样本的第一特征数据中对应于任一维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值。
进一步地,所述装置还包括:
判断单元,用于在所述更新单元更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值之后,判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件;
迭代触发单元,用于若所述判断单元的判断结果为各类簇的中心数据的变化量不满足预先设定的停止迭代条件,则进行所述多轮迭代过程中的下一轮迭代。
进一步地,所述装置还包括:
最终确定单元,用于若所述判断单元的判断结果为各类簇的中心数据的变化量满足预先设定的停止迭代条件,则将所述任一样本当前归属的类簇确定为所述任一样本最终归属的类簇。
进一步地,所述判断单元包括:
第二比较子单元,用于将所述各类簇中的任一类簇作为目标类簇,将该目标类簇的更新前的中心数据的第一数据部分作为第三子向量、该目标类簇的更新后的中心数据的第一数据部分作为第四子向量,计算所述第三子向量和所述第四子向量之间的第一向量距离,确定所述第一向量距离和第一阈值之间的第一比较结果;
接收子单元,用于从所述第二方接收第二向量距离和第二阈值之间的第二比较结果;所述第二向量距离为所述第二方将该目标类簇的更新前的中心数据的第二数据部分作为第五子向量、该目标类簇的更新后的中心数据的第二数据部分作为第六子向量,计算所述第五子向量和所述第六子向量之间的第二向量距离;
第二确定子单元,用于当所述第二比较子单元确定的第一比较结果示出所述第一向量距离小于或等于所述第一阈值,且所述接收子单元接收的第二比较结果示出所述第二向量距离小于或等于所述第二阈值,确定该目标类簇的中心数据的变化量满足预先设定的停止迭代条件。
通过本说明书实施例提供的装置,不是由任何一方单独确定各个类簇的中心数据,而是由第一方的中心确定单元31确定K个类簇当前分别对应的各中心数据的第一数据部分,第一数据部分对应于第一维度集合;第二方确定各中心数据的第二数据部分,第二数据部分对应于第二维度集合;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;并且后续在确定任一样本和目标中心数据的目标距离时,第一方的本地计算单元32通过本地计算的方式,确定该目标距离的第一分片,第二方确定该目标距离的第二分片;在确定各目标距离中的最近的目标距离时,联合比较单元33利用了秘密共享的方式,与第二方进行联合比较;最后类簇确定单元34将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。整个过程以安全多方计算为基础,在针对多方的隐私数据进行聚类时,能够防止泄露隐私数据。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (18)
1.一种针对多方的隐私数据进行聚类的方法,所述多方包括第一方和第二方,所述第一方的隐私数据包括N个样本的第一特征部分,所述第一特征部分对应于第一维度集合,所述第二方的隐私数据包括所述N个样本的第二特征部分,所述第二特征部分对应于第二维度集合,所述方法通过所述第一方执行,包括多轮迭代过程,其中任意一轮迭代包括:
确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;
分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片;
基于各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;
将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。
2.如权利要求1所述的方法,其中,所述本地计算包括:
将所述任一样本的第一特征部分作为第一子向量,将目标中心数据的第一数据部分作为第二子向量,计算所述第一子向量和所述第二子向量之间的向量距离,将所述向量距离确定为所述任一样本和所述目标中心数据的目标距离的第一分片。
3.如权利要求1所述的方法,其中,所述任意一轮迭代为第一轮迭代,所述K个类簇当前分别对应的各中心数据的第一数据部分为随机初始化的数据。
4.如权利要求1所述的方法,其中,所述联合比较包括:
基于所述各目标距离中任意两个目标距离的第一分片,利用秘密共享的方式,与所述第二方中的该任意两个目标距离的第二分片进行联合比较,确定该任意两个目标距离之间的距离远近的比较结果;
根据各比较结果,确定所述各目标距离中的最近的目标距离。
5.如权利要求1所述的方法,其中,所述将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇之后,所述方法还包括:
根据同一类簇的各样本的第一特征数据中对应于任一维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值。
6.如权利要求5所述的方法,其中,所述更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值之后,所述方法还包括:
判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件;
若判断结果为各类簇的中心数据的变化量不满足预先设定的停止迭代条件,则进行所述多轮迭代过程中的下一轮迭代。
7.如权利要求6所述的方法,其中,所述方法还包括:
若判断结果为各类簇的中心数据的变化量满足预先设定的停止迭代条件,则将所述任一样本当前归属的类簇确定为所述任一样本最终归属的类簇。
8.如权利要求6所述的方法,其中,所述判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件,包括:
将所述各类簇中的任一类簇作为目标类簇,将该目标类簇的更新前的中心数据的第一数据部分作为第三子向量、该目标类簇的更新后的中心数据的第一数据部分作为第四子向量,计算所述第三子向量和所述第四子向量之间的第一向量距离,确定所述第一向量距离和第一阈值之间的第一比较结果;
从所述第二方接收第二向量距离和第二阈值之间的第二比较结果;所述第二向量距离为所述第二方将该目标类簇的更新前的中心数据的第二数据部分作为第五子向量、该目标类簇的更新后的中心数据的第二数据部分作为第六子向量,计算所述第五子向量和所述第六子向量之间的第二向量距离;
当所述第一比较结果示出所述第一向量距离小于或等于所述第一阈值,且所述第二比较结果示出所述第二向量距离小于或等于所述第二阈值,确定该目标类簇的中心数据的变化量满足预先设定的停止迭代条件。
9.一种针对多方的隐私数据进行聚类的装置,所述多方包括第一方和第二方,所述第一方的隐私数据包括N个样本的第一特征部分,所述第一特征部分对应于第一维度集合,所述第二方的隐私数据包括所述N个样本的第二特征部分,所述第二特征部分对应于第二维度集合,所述装置设置于所述第一方,用于执行多轮迭代过程,包括用于执行任意一轮迭代的如下单元:
中心确定单元,用于确定K个类簇当前分别对应的各中心数据的第一数据部分,所述第一数据部分对应于所述第一维度集合;所述第二方具有所述各中心数据的对应于所述第二维度集合的第二数据部分;任一中心数据的第一数据部分和该中心数据的第二数据部分共同构成该中心数据;
本地计算单元,用于分别将所述各中心数据作为目标中心数据,基于所述N个样本中任一样本的第一特征部分和所述中心确定单元确定的目标中心数据的第一数据部分,通过本地计算得到所述任一样本和所述目标中心数据的目标距离的第一分片;所述第二方具有所述目标距离的第二分片;
联合比较单元,用于基于所述本地计算单元得到的各目标距离的第一分片,利用秘密共享的方式,与第二方中的各目标距离的第二分片进行联合比较,确定各目标距离中的最近的目标距离;
类簇确定单元,用于将所述联合比较单元确定的最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇。
10.如权利要求9所述的装置,其中,所述本地计算单元,具体用于将所述任一样本的第一特征部分作为第一子向量,将目标中心数据的第一数据部分作为第二子向量,计算所述第一子向量和所述第二子向量之间的向量距离,将所述向量距离确定为所述任一样本和所述目标中心数据的目标距离的第一分片。
11.如权利要求9所述的装置,其中,所述任意一轮迭代为第一轮迭代,所述K个类簇当前分别对应的各中心数据的第一数据部分为随机初始化的数据。
12.如权利要求9所述的装置,其中,所述联合比较单元包括:
第一比较子单元,用于基于所述各目标距离中任意两个目标距离的第一分片,利用秘密共享的方式,与所述第二方中的该任意两个目标距离的第二分片进行联合比较,确定该任意两个目标距离之间的距离远近的比较结果;
第一确定子单元,用于根据所述第一比较子单元得到的各比较结果,确定所述各目标距离中的最近的目标距离。
13.如权利要求9所述的装置,其中,所述装置还包括:
更新单元,用于在所述类簇确定单元将所述最近的目标距离对应的类簇,确定为所述任一样本当前归属的类簇之后,根据同一类簇的各样本的第一特征数据中对应于任一维度的特征均值,更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值。
14.如权利要求13所述的装置,其中,所述装置还包括:
判断单元,用于在所述更新单元更新该类簇的中心数据的第一数据部分中对应于该任一维度的数据值之后,判断各类簇的中心数据的变化量是否满足预先设定的停止迭代条件;
迭代触发单元,用于若所述判断单元的判断结果为各类簇的中心数据的变化量不满足预先设定的停止迭代条件,则进行所述多轮迭代过程中的下一轮迭代。
15.如权利要求14所述的装置,其中,所述装置还包括:
最终确定单元,用于若所述判断单元的判断结果为各类簇的中心数据的变化量满足预先设定的停止迭代条件,则将所述任一样本当前归属的类簇确定为所述任一样本最终归属的类簇。
16.如权利要求14所述的装置,其中,所述判断单元包括:
第二比较子单元,用于将所述各类簇中的任一类簇作为目标类簇,将该目标类簇的更新前的中心数据的第一数据部分作为第三子向量、该目标类簇的更新后的中心数据的第一数据部分作为第四子向量,计算所述第三子向量和所述第四子向量之间的第一向量距离,确定所述第一向量距离和第一阈值之间的第一比较结果;
接收子单元,用于从所述第二方接收第二向量距离和第二阈值之间的第二比较结果;所述第二向量距离为所述第二方将该目标类簇的更新前的中心数据的第二数据部分作为第五子向量、该目标类簇的更新后的中心数据的第二数据部分作为第六子向量,计算所述第五子向量和所述第六子向量之间的第二向量距离;
第二确定子单元,用于当所述第二比较子单元确定的第一比较结果示出所述第一向量距离小于或等于所述第一阈值,且所述接收子单元接收的第二比较结果示出所述第二向量距离小于或等于所述第二阈值,确定该目标类簇的中心数据的变化量满足预先设定的停止迭代条件。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项的所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631310.9A CN111523143B (zh) | 2020-07-03 | 2020-07-03 | 针对多方的隐私数据进行聚类的方法和装置 |
US17/353,541 US11275845B2 (en) | 2020-07-03 | 2021-06-21 | Method and apparatus for clustering privacy data of plurality of parties |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631310.9A CN111523143B (zh) | 2020-07-03 | 2020-07-03 | 针对多方的隐私数据进行聚类的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523143A CN111523143A (zh) | 2020-08-11 |
CN111523143B true CN111523143B (zh) | 2020-10-23 |
Family
ID=71912979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631310.9A Active CN111523143B (zh) | 2020-07-03 | 2020-07-03 | 针对多方的隐私数据进行聚类的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11275845B2 (zh) |
CN (1) | CN111523143B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539041B (zh) * | 2020-07-08 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种安全选择方法和系统 |
CN112084384B (zh) * | 2020-09-11 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN113821825A (zh) * | 2021-09-10 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 特征距离的确定方法、装置和服务器 |
CN114996449B (zh) * | 2022-05-25 | 2024-06-28 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的聚类方法及装置 |
CN115081642B (zh) * | 2022-07-19 | 2022-11-15 | 浙江大学 | 一种多方协同更新业务预测模型的方法及系统 |
CN116975897B (zh) * | 2023-09-22 | 2023-12-19 | 青岛国信城市信息科技有限公司 | 一种智慧社区人员隐私信息安全管理系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019182590A1 (en) * | 2018-03-21 | 2019-09-26 | Visa International Service Association | Automated machine learning systems and methods |
CN110609831B (zh) * | 2019-08-27 | 2020-07-03 | 浙江工商大学 | 基于隐私保护和安全多方计算的数据链接方法 |
CN111062487B (zh) * | 2019-11-28 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
CN111143865B (zh) * | 2019-12-26 | 2022-12-30 | 国网湖北省电力有限公司 | 一种密文数据上标签自动生成的用户行为分析系统及方法 |
-
2020
- 2020-07-03 CN CN202010631310.9A patent/CN111523143B/zh active Active
-
2021
- 2021-06-21 US US17/353,541 patent/US11275845B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111523143A (zh) | 2020-08-11 |
US11275845B2 (en) | 2022-03-15 |
US20220004646A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523143B (zh) | 针对多方的隐私数据进行聚类的方法和装置 | |
CN111444544B (zh) | 针对多方的隐私数据进行聚类的方法和装置 | |
CN109902721B (zh) | 异常点检测模型验证方法、装置、计算机设备及存储介质 | |
Vihola | Robust adaptive Metropolis algorithm with coerced acceptance rate | |
CN111444545B (zh) | 针对多方的隐私数据进行聚类的方法和装置 | |
CN111445007A (zh) | 对抗生成神经网络的训练方法及系统 | |
CN111461215B (zh) | 业务模型的多方联合训练方法、装置、系统及设备 | |
CN110705602A (zh) | 大规模数据聚类方法、装置及计算机可读存储介质 | |
Zhang et al. | Pruning and nonparametric multiple change point detection | |
CN108681493A (zh) | 数据异常检测方法、装置、服务器和存储介质 | |
CN116629376A (zh) | 一种基于无数据蒸馏的联邦学习聚合方法和系统 | |
US20180239993A1 (en) | Face recognition in big data ecosystem using multiple recognition models | |
CN111694923A (zh) | 基于名称映射的参数赋值方法、装置、计算机设备 | |
CN105989161A (zh) | 一种处理大数据的方法和装置 | |
CN108108395A (zh) | 一种互助导航定位数据可信度评价方法及系统 | |
CN116028832A (zh) | 一种样本聚类处理方法、装置、存储介质及电子设备 | |
CN111667394B (zh) | 一种基于特征描述的地图缩放比例推断方法 | |
CN110580200B (zh) | 数据同步方法和装置 | |
CN113537308A (zh) | 基于本地化差分隐私的两阶段k-means聚类处理系统及方法 | |
CN107248929B (zh) | 一种多维关联数据的强关联数据生成方法 | |
CN113361055B (zh) | 扩展社交网络中的隐私处理方法、装置、电子设备和存储介质 | |
CN112101390A (zh) | 属性信息确定方法、属性信息确定装置及电子设备 | |
CN111723247A (zh) | 基于图的假设计算 | |
CN112016123B (zh) | 隐私保护算法的验证方法、装置及电子设备 | |
Horta et al. | Fast evolutionary algorithms for relational clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035496 Country of ref document: HK |