CN114386071A - 去中心的联邦聚类方法、装置、电子设备及存储介质 - Google Patents

去中心的联邦聚类方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114386071A
CN114386071A CN202210033987.1A CN202210033987A CN114386071A CN 114386071 A CN114386071 A CN 114386071A CN 202210033987 A CN202210033987 A CN 202210033987A CN 114386071 A CN114386071 A CN 114386071A
Authority
CN
China
Prior art keywords
participant
data set
samples
enc
clustering
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.)
Pending
Application number
CN202210033987.1A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202210033987.1A priority Critical patent/CN114386071A/zh
Publication of CN114386071A publication Critical patent/CN114386071A/zh
Priority to PCT/CN2022/089954 priority patent/WO2023134070A1/zh
Pending legal-status Critical Current

Links

Images

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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

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

Abstract

本发明属于人工智能技术领域,公开一种去中心的联邦聚类方法、装置、电子设备及存储介质,主要用于聚类场景;所述去中心的联邦聚类方法包括:利用同态加密与随机值缩放处理结合的加密模式,有效实现去中心化的联邦聚类建模,能够满足用无标签数据进行分类的需求;只需要参与者A和参与者B即可以实现去中心的联邦聚类,避免了第三方参与建模过程,同时也能有效保障建模的安全性与传输的合法性,传输内容不会泄露原始数据相关信息。

Description

去中心的联邦聚类方法、装置、电子设备及存储介质
技术领域
本发明属于人工智能技术领域,特别涉及一种去中心的联邦聚类方法、装置、电子设备及存储介质。
背景技术
同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
现有技术中,利用同态加密方法来实现的中心化的联邦学习往往需要第三方来生成和保管公、私钥,建模双方都需要与第三方进行连接,并受限于第三方,而大多数情况下业务方更希望能够与合作方直接进行点对点的联合建模,不需要第三方参与。
发明内容
本发明的目的在于提供一种去中心的联邦聚类方法、装置、电子设备及存储介质,以解决现有技术中利用同态加密方法来实现的中心化的联邦学习时,需要第三方参与的技术问题。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种去中心的联邦聚类方法,包括以下步骤:
S1、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S2、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将挑选的K个样本的id发给参与者B,用于参与者B同步初始质心;
S3、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|il|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S4、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算数据集XA中离第i个样本距离最近的质心索引
Figure BDA0003467584200000021
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行;将kmax=[kmax(0),kmax(1),…,kmax(c)]发送给参与者B;根据kmax将数据集XA和数据集XB中所有样本划分到距离最近的质心的聚类簇中;
S5、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S6、重复步骤S3~S5,直到满足模型迭代要求,完成去中心的联邦聚类。
本发明进一步的改进在于:步骤S3中,所述
Figure BDA0003467584200000022
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
本发明进一步的改进在于:步骤S4中密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值;密文Enc(DB)为参与者B用公钥P对参与者B的所有样本与K个质心的距离矩阵DB中每个值进行加密获得;DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;
Figure BDA0003467584200000023
本发明进一步的改进在于:所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
第二方面,本发明提供一种去中心的联邦聚类方法,包括以下步骤:
S11、参与者B接收参与者A发送的公钥P;
S12、参与者B接收参与者A发送的K个样本的id,同步以K个样本作为K个聚类簇的初始质心;
S13、参与者B接收参与者A发送的密文Enc(DA);
S14、参与者B根据距离公式
Figure BDA0003467584200000031
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值,将密文Enc(Dr)发送给参与者A;
S15、参与者B接收参与者A发送的信息:kmax=[kmax(0),kmax(1),…,kmax(c)],将数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
Figure BDA0003467584200000032
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行;kmax(i)为参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引;
S16、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S17、重复步骤S13~S16,直到满足模型迭代要求,完成去中心的联邦聚类。
本发明进一步的改进在于:步骤S11中所述公钥P由参与者A采用同态加密的方法生成;参与者A生成公钥D的同时还生成私钥S。
本发明进一步的改进在于:步骤S12中K个样本的id为参与者A从数据集XA中随机挑选K个样本的id。
本发明进一步的改进在于:步骤S13中密文Enc(DA)由参与者A将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密获得;DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],其中,
Figure BDA0003467584200000041
为数据集XA中第i个样本到第j个质心的距离;数据集Xa的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
本发明进一步的改进在于:所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
第三方面,本发明提供一种去中心的联邦聚类方法,包括以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将挑选的K个样本的id发给参与者B,用于参与者B同步初始质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、参与者B根据距离公式
Figure BDA0003467584200000042
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r并发送给参与者A;r为参与者B随机生成的一个大于0的值;
S105、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000051
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行;将kmax=[kmax(0),kmax(1),…,kmax(c)]发送给参与者B,根据kmax将数据集XA和数据集XB中所有样本划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类。
本发明进一步的改进在于:步骤S103中,所述
Figure BDA0003467584200000052
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
本发明进一步的改进在于:所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
第四方面,本发明提供一种去中心的联邦聚类装置,包括:参与者A和参与者B;参与者A和参与者B相互交互进行去中心的联邦聚类,具体以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将挑选的K个样本的id发给参与者B,用于参与者B同步初始质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、参与者B根据距离公式
Figure BDA0003467584200000061
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r并发送给参与者A;r为参与者B随机生成的一个大于0的值;
S105、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000062
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i);将kmax=[kmax(0),kmax(1),…,kmax(c)]发送给参与者B,,根据kmax将数据集XA和数据集XB中所有样本划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类。
本发明进一步的改进在于:步骤S103中,所述
Figure BDA0003467584200000063
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
本发明进一步的改进在于:所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
第五方面,本发明提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现所述的去中心的联邦聚类方法。
第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现所述的去中心的联邦聚类方法。
相对于现有技术,本发明具有以下有益效果:
本发明提供一种去中心的联邦聚类方法、装置、电子设备和存储介质,主要用于聚类场景;本发明利用同态加密与随机值缩放处理结合的加密模式,能够有效实现去中心化的联邦聚类建模,能够满足用无标签数据进行分类的需求;只需要参与者A和参与者B即可以实现去中心的联邦聚类,避免了第三方参与建模过程,同时也能有效保障建模的安全性与传输的合法性,传输内容不会泄露原始数据相关信息。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一种去中心的联邦聚类方法的流程示意图;
图2为本发明一种去中心的联邦聚类装置的结构框图;
图3为本发明一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本发明所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
实施例1
请参阅图1所示,本实施例一种去中心的联邦聚类方法,假设参与者A和参与者B为参与建模的两方,参与者A和参与者B双方数据求交处理,获得交集数据集XA和数据集XB,数据集XA和数据集XB中的交集样本的数量和id相同,但是特征值不一定相同;具体包括以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将K个样本的id发给参与者B,用于参与者B同步初始化质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为
Figure BDA0003467584200000081
(考虑到本方案中距离值只用于比较大小,因此直接用平方值来计算距离,效果等同于
Figure BDA0003467584200000082
),其中数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。对于第i个样本,可以得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密(其中DA的大小为c×K),获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、同样地,参与者B根据距离公式
Figure BDA0003467584200000083
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值。参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r(其中r为参与者B随机生成的一个大于0的值,对各距离值等比例放大或缩小),将密文Enc(Dr)发送给参与者A;
S105、参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000091
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i)。将kmax=[kmax(0),kmax(1),…,kmax(c)](长度为c)发送给参与者B,以此将数据集XA和数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
实施例2
本实施例一种去中心的联邦聚类方法,假设参与者A和参与者B为参与建模的两方,参与者A和参与者B双方数据求交处理,获得交集数据集XA和数据集XB,数据集XA和数据集XB中的交集样本的数量和id相同,但是特征值不一定相同;具体包括以下步骤:
S1、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S2、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将K个样本的id发给参与者B,用于参与者B同步初始化质心;
S3、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]A中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;所述
Figure BDA0003467584200000101
Figure BDA0003467584200000102
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值;
S4、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000103
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i);将kmax=[kmax(0),kmax(1),…,kmax(c)]发送给参与者B,将数据集XA和数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值;密文Enc(DB)为参与者B用公钥P对参与者B的所有样本与K个质心的距离矩阵DB中每个值进行加密获得;DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;
Figure BDA0003467584200000104
S5、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S6、重复步骤S3~S5,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
实施例3
本实施例一种去中心的联邦聚类方法,假设参与者A和参与者B为参与建模的两方,参与者A和参与者B双方数据求交处理,获得交集数据集XA和数据集XB,数据集XA和数据集XB中的交集样本的数量和id相同,但是特征值不一定相同;具体包括以下步骤:
S11、参与者B接收参与者A发送的公钥P;所述公钥P由参与者A采用同态加密的方法生成;参与者A生成公钥P的同时还生成了私钥S;
S12、参与者B接收参与者A发送的K个样本的id,同步初始化质心;K个样本的id为参与者A从数据集XA中随机挑选K个样本的id;
S13、参与者B接收参与者A发送的密文Enc(DA);密文Enc(DA)由参与者A将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密获得;DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],其中,
Figure BDA0003467584200000111
为数据集XA中第i个样本到第j个质心的距离;数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值;
S14、参与者B根据距离公式
Figure BDA0003467584200000112
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值,将密文Enc(Dr)发送给参与者A;
S15、参与者B接收参与者A发送的信息:kmax=[kmax(0),kmax(1),…,kmax(c)],将数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
Figure BDA0003467584200000113
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i);kmax()为参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引;
S16、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S17、重复步骤S13~S16,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
实施例4
请参阅图2所示,本实施例一种去中心的联邦聚类装置,包括:参与者A和参与者B;参与者A和参与者B为参与建模的两方,参与者A和参与者B双方数据求交处理,获得交集数据集XA和数据集XB,数据集XA和数据集XB中的交集样本的数量和id相同,但是特征值不一定相同;参与者A和参与者B相互交互进行去中心的联邦聚类,具体以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将K个样本的id发给参与者B,用于参与者B同步初始化质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为
Figure BDA0003467584200000121
(考虑到本方案中距离值只用于比较大小,因此直接用平方值来计算距离,效果等同于
Figure BDA0003467584200000122
),其中数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。对于第i个样本,可以得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密(其中DA的大小为c×K),获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、同样地,参与者B根据距离公式
Figure BDA0003467584200000123
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值。参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r(其中r为参与者B随机生成的一个大于0的值,对各距离值等比例放大或缩小),将密文Enc(Dr)发送给参与者A;
S105、参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000131
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i)。将kmax=[kmax(0),kmax(1),…,kmax(c)](长度为c)发送给参与者B,以此将数据集XA和数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
实施例5
请参阅图3所示,本发明还提供一种去中心的联邦聚类方法的电子设备100;所述电子设备100包括存储器101、至少一个处理器102、存储在所述存储器101中并可在所述至少一个处理器102上运行的计算机程序103及至少一条通讯总线104。
存储器101可用于存储所述计算机程序103,所述处理器102通过运行或执行存储在所述存储器101内的计算机程序,以及调用存储在存储器101内的数据,实现实施例1至3中任一个所述的去中心的联邦聚类方法的方法步骤。所述存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器101可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述至少一个处理器102可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,所述处理器102是所述电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。
所述电子设备100中的所述存储器101存储多个指令以实现一种去中心的联邦聚类方法,所述处理器102可执行所述多个指令从而实现所述去中心的联邦聚类方法。
所述去中心的联邦聚类方法,具体包括以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将K个样本的id发给参与者B,用于参与者B同步初始化质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为
Figure BDA0003467584200000141
(考虑到本方案中距离值只用于比较大小,因此直接用平方值来计算距离,效果等同于
Figure BDA0003467584200000142
),其中数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。对于第i个样本,可以得到由k个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密(其中DA的大小为c×K),获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、同样地,参与者B根据距离公式
Figure BDA0003467584200000151
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值。参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r(其中r为参与者B随机生成的一个大于0的值,对各距离值等比例放大或缩小),将密文Enc(Dr)发送给参与者A;
S105、参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000152
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i)。将kmax=[kmax(0),kmax(1),…,kmax(c)](长度为c)发送给参与者B,以此将数据集XA和数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
或者,所述去中心的联邦聚类方法,具体包括以下步骤:
S1、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S2、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将K个样本的id发给参与者B,用于参与者B同步初始化质心;
S3、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由k个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(C)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;所述
Figure BDA0003467584200000161
Figure BDA0003467584200000162
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值;
S4、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure BDA0003467584200000163
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i);将kmax=[kmax(0),kmax(1),…,kmax(c)]发送给参与者B,将数据集XA和数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值;密文Enc(DB)为参与者B用公钥P对参与者B的所有样本与K个质心的距离矩阵DB中每个值进行加密获得;DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;
Figure BDA0003467584200000164
S5、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S6、重复步骤S3~S5,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
或者,所述去中心的联邦聚类方法,具体包括以下步骤:
S11、参与者B接收参与者A发送的公钥P;所述公钥P由参与者A采用同态加密的方法生成;参与者A生成公钥P的同时还生成后私钥S;
S12、参与者B接收参与者A发送的K个样本的id,同步初始化质心;K个样本的id为参与者A从数据集XA中随机挑选K个样本的id;
S13、参与者B接收参与者A发送的密文Enc(DA);密文Enc(DA)由参与者A将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),…,DA(c)]T中每个值分别用公钥P加密获得;DA(i)=[dA|i0|,dA|i1|,…,dA|ik|],其中,
Figure BDA0003467584200000171
为数据集XA中第i个样本到第j个质心的距离;数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值;
S14、参与者B根据距离公式
Figure BDA0003467584200000172
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),…,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,…,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值,将密文Enc(Dr)发送给参与者A;
S15、参与者B接收参与者A发送的信息:kmax=[kmax(0),kmax(1),…,kmax(c)],将数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
Figure BDA0003467584200000173
其中Dri=[dri0,dri1,…,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i);kmax()为参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引;
S16、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S17、重复步骤S13~S16,直到满足模型迭代要求,完成去中心的联邦聚类;所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成样本的分类。
实施例6
所述电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-Only Memory)。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (17)

1.去中心的联邦聚类方法,其特征在于,包括以下步骤:
S1、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S2、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将挑选的K个样本的id发给参与者B,用于参与者B同步初始质心;
S3、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,...,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),...,DA(c)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S4、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算数据集XA中离第i个样本距离最近的质心索引
Figure FDA0003467584190000012
其中Dri=[dri0,dri1,...,drik]为距离矩阵Dr中的第i行;将kmax=[kmax(0),kmax(1),...,kmax(c)]发送给参与者B;根据kmax将数据集XA和数据集XB中所有样本划分到距离最近的质心的聚类簇中;
S5、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S6、重复步骤S3~S5,直到满足模型迭代要求,完成去中心的联邦聚类。
2.根据权利要求1所述的去中心的联邦聚类方法,其特征在于,步骤S3中,所述
Figure FDA0003467584190000011
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
3.根据权利要求1所述的去中心的联邦聚类方法,其特征在于,步骤S4中密文Enc(Dr)=(Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值;密文Enc(DB)为参与者B用公钥P对参与者B的所有样本与K个质心的距离矩阵DB中每个值进行加密获得;DB=[DB(0),DB(1),...,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,...,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;
Figure FDA0003467584190000021
Figure FDA0003467584190000022
4.根据权利要求1所述的去中心的联邦聚类方法,其特征在于,所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
5.去中心的联邦聚类方法,其特征在于,包括以下步骤:
S11、参与者B接收参与者A发送的公钥P;
S12、参与者B接收参与者A发送的K个样本的id,同步以K个样本作为K个聚类簇的初始质心;
S13、参与者B接收参与者A发送的密文Enc(DA);
S14、参与者B根据距离公式
Figure FDA0003467584190000023
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),...,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,...,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,Cx(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=(Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r;r为参与者B随机生成的一个大于0的值,将密文Enc(Dr)发送给参与者A;
S15、参与者B接收参与者A发送的信息:kmax=[kmax(0),kmax(1),...,kmax(c)],将数据集XB中所有样本重新划分到距离最近的质心的聚类簇中;
Figure FDA0003467584190000032
其中Dri=[dri0,dri1,...,drik]为距离矩阵Dr中的第i行;kmax(i)为参与者A采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引;
S16、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S17、重复步骤S13~S16,直到满足模型迭代要求,完成去中心的联邦聚类。
6.根据权利要求5所述的去中心的联邦聚类方法,其特征在于,步骤S11中所述公钥P由参与者A采用同态加密的方法生成;参与者A生成公钥P的同时还生成私钥S。
7.根据权利要求5所述的去中心的联邦聚类方法,其特征在于,步骤S12中K个样本的id为参与者A从数据集XA中随机挑选K个样本的id。
8.根据权利要求5所述的去中心的联邦聚类方法,其特征在于,步骤S13中密文Enc(DA)由参与者A将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),...,DA(c)]T中每个值分别用公钥P加密获得;DA(i)=[dA|i0|,dA|i1|,...,dA|ik|],其中,
Figure FDA0003467584190000031
为数据集XA中第i个样本到第j个质心的距离;数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
9.根据权利要求5所述的去中心的联邦聚类方法,其特征在于,所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
10.去中心的联邦聚类方法,其特征在于,包括以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将挑选的K个样本的id发给参与者B,用于参与者B同步初始质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,...,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),...,DA(c)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、参与者B根据距离公式
Figure FDA0003467584190000041
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),...,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,...,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=(Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r并发送给参与者A;r为参与者B随机生成的一个大于0的值;
S105、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure FDA0003467584190000042
其中
Figure FDA0003467584190000043
为距离矩阵Dr中的第i行;将kmax=[kmax(0),kmax(1),...,kmax(c)]发送给参与者B,根据kmax将数据集XA和数据集XB中所有样本划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类。
11.根据权利要求10所述的去中心的联邦聚类方法,其特征在于,步骤S103中,所述
Figure FDA0003467584190000044
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
12.根据权利要求10所述的去中心的联邦聚类方法,其特征在于,所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
13.去中心的联邦聚类装置,其特征在于,包括:参与者A和参与者B;参与者A和参与者B相互交互进行去中心的联邦聚类,具体以下步骤:
S101、参与者A采用同态加密的方法生成用于同态加密、解密的公钥P和私钥S,并将公钥P发给参与者B;
S102、参与者A从数据集XA中随机挑选K个样本,以挑选的K个样本作为K个聚类簇的初始质心,并将挑选的K个样本的id发给参与者B,用于参与者B同步初始质心;
S103、参与者A计算数据集XA中每个样本分别与K个质心的距离,第i个样本到第j个质心的距离为dA|ij|;对于第i个样本,得到由K个距离值组成的数组DA(i)=[dA|i0|,dA|i1|,...,dA|ik|],并将参与者A的所有样本与K个质心的距离矩阵DA=[DA(0),DA(1),...,DA(c)]T中每个值分别用公钥P加密,获得密文Enc(DA);发送密文Enc(DA)给参与者B;
S104、参与者B根据距离公式
Figure FDA0003467584190000051
计算得到参与者B的所有样本与K个质心的距离矩阵DB=[DB(0),DB(1),...,DB(c)]T,其中DB(i)=[dB|i0|,dB|i1|,...,dB|ik|],表示第i个样本到K个质心的距离数组,数据集XB的维度为c×n2,n2为样本特征维度;XB(i,m)为XB中第i条样本特征的第m个值,CB(j,m)为B的第j个质心的第m个值;参与者B用公钥P对DB中每个值进行加密,获得密文Enc(DB);计算密文Enc(Dr)=(Enc(DA)+Enc(DB))*r=Enc(DA+DB)*r并发送给参与者A;r为参与者B随机生成的一个大干0的值;
S105、参与者A接收参与者B发送的密文Enc(Dr),并采用私钥S解密Enc(Dr)中每个值,计算离第i个样本距离最近的质心索引
Figure FDA0003467584190000061
其中Dri=[dri0,dri1,...,drik]为距离矩阵Dr中的第i行,Dri=DA(i)+DB(i);将kmax=[kmax(0),kmax(1),...,kmax(c)]发送给参与者B,,根据kmax将数据集XA和数据集XB中所有样本划分到距离最近的质心的聚类簇中;
S106、对每个聚类簇中的样本特征求平均后作为对应聚类簇的新质心;
S107、重复步骤S103~S106,直到满足模型迭代要求,完成去中心的联邦聚类。
14.根据权利要求13所述的去中心的联邦聚类装置,其特征在于,步骤S103中,所述
Figure FDA0003467584190000062
数据集XA的维度为c×n1,c为数据集XA中样本的总数量,n1为样本特征维度;XA(i,m)为数据集XA中第i个样本特征的第m个值,CA(j,m)为数据集XA的第j个质心的第m个值。
15.根据权利要求13所述的去中心的联邦聚类装置,其特征在于,所述迭代要求为:到达预设的最大迭代次数,或者迭代直至质心不再变化,并获得K个聚类簇,完成去中心的联邦聚类。
16.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至12中任意一项所述的去中心的联邦聚类方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至12中任意一项所述的去中心的联邦聚类方法。
CN202210033987.1A 2022-01-12 2022-01-12 去中心的联邦聚类方法、装置、电子设备及存储介质 Pending CN114386071A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210033987.1A CN114386071A (zh) 2022-01-12 2022-01-12 去中心的联邦聚类方法、装置、电子设备及存储介质
PCT/CN2022/089954 WO2023134070A1 (zh) 2022-01-12 2022-04-28 去中心的联邦聚类方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210033987.1A CN114386071A (zh) 2022-01-12 2022-01-12 去中心的联邦聚类方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114386071A true CN114386071A (zh) 2022-04-22

Family

ID=81201930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210033987.1A Pending CN114386071A (zh) 2022-01-12 2022-01-12 去中心的联邦聚类方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114386071A (zh)
WO (1) WO2023134070A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115545215A (zh) * 2022-10-18 2022-12-30 上海零数众合信息科技有限公司 一种去中心化的联邦聚类学习方法、装置、设备及介质
WO2023134070A1 (zh) * 2022-01-12 2023-07-20 平安科技(深圳)有限公司 去中心的联邦聚类方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858269B (zh) * 2019-02-20 2022-11-01 安徽师范大学 一种基于同态加密的隐私保护密度峰聚类方法
CN112231760A (zh) * 2020-11-20 2021-01-15 天翼电子商务有限公司 一种隐私保护的分布式纵向K-means聚类
CN112487481B (zh) * 2020-12-09 2022-06-10 重庆邮电大学 一种具有隐私保护的可验证多方k-means联邦学习方法
CN113239393B (zh) * 2021-04-29 2022-03-22 重庆邮电大学 纵向联邦k-Means隐私保护方法、装置及电子设备
CN113222181B (zh) * 2021-04-29 2022-05-17 浙江大学 一种面向k-means聚类算法的联邦学习方法
CN114386071A (zh) * 2022-01-12 2022-04-22 平安科技(深圳)有限公司 去中心的联邦聚类方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023134070A1 (zh) * 2022-01-12 2023-07-20 平安科技(深圳)有限公司 去中心的联邦聚类方法、装置、电子设备及存储介质
CN115545215A (zh) * 2022-10-18 2022-12-30 上海零数众合信息科技有限公司 一种去中心化的联邦聚类学习方法、装置、设备及介质
CN115545215B (zh) * 2022-10-18 2023-10-27 上海零数众合信息科技有限公司 一种去中心化的联邦聚类学习方法、装置、设备及介质
WO2024082515A1 (zh) * 2022-10-18 2024-04-25 上海零数众合信息科技有限公司 一种去中心化的联邦聚类学习方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2023134070A1 (zh) 2023-07-20

Similar Documents

Publication Publication Date Title
CN111931253B (zh) 基于节点群的数据处理方法、系统、设备和介质
CN114595835B (zh) 基于联邦学习的模型训练方法及装置、设备、存储介质
CN110633806A (zh) 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN109886029B (zh) 基于多项式表示的隐私保护集合交集计算方法与系统
CN114386071A (zh) 去中心的联邦聚类方法、装置、电子设备及存储介质
CN110661764A (zh) 安全多方计算协议的输入获取方法和装置
CN113761557A (zh) 一种基于全同态加密算法的多方深度学习隐私保护方法
CN110400162B (zh) 一种数据处理方法、装置、服务器及系统
CN111104968B (zh) 一种基于区块链的安全svm训练方法
CN114418134A (zh) 一种基于区块链的联邦学习方法和系统
CN113159289A (zh) 基于神经网络的联邦模型的训练方法、装置及计算机设备
CN114004363B (zh) 联合更新模型的方法、装置及系统
CN113722753B (zh) 基于区块链的隐私数据处理方法、装置及系统
CN111563262A (zh) 一种基于可逆深度神经网络的加密方法及系统
CN115733602A (zh) 一种用于非平衡隐私集合求交的方法和装置
CN112381000A (zh) 基于联邦学习的人脸识别方法、装置、设备及存储介质
CN117521853A (zh) 聚合结果可验证和梯度质量可检验的隐私保护联邦学习方法
CN117456989A (zh) 基于全同态加密的隐私保护语音分类方法及系统
CN108989736A (zh) 多媒体资源加密方法、装置、系统、存储介质及处理器
CN114189351A (zh) 一种基于cnn和签密技术的密态图像检索方法及系统
CN116865938A (zh) 基于秘密共享和同态加密的多服务器联邦学习方法
CN116451804A (zh) 一种基于同态加密的联邦学习方法及其相关设备
CN115758402A (zh) 结合同态加密和模型水印的人工智能模型联邦学习方法
CN115361196A (zh) 一种基于区块链网络的业务交互方法
CN114844635A (zh) 一种对数据安全地进行Shuffle的方法

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