CN112508075A - 基于横向联邦的dbscan聚类方法、及其相关设备 - Google Patents

基于横向联邦的dbscan聚类方法、及其相关设备 Download PDF

Info

Publication number
CN112508075A
CN112508075A CN202011388364.3A CN202011388364A CN112508075A CN 112508075 A CN112508075 A CN 112508075A CN 202011388364 A CN202011388364 A CN 202011388364A CN 112508075 A CN112508075 A CN 112508075A
Authority
CN
China
Prior art keywords
data set
server
sum
feature
current
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
CN202011388364.3A
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 CN202011388364.3A priority Critical patent/CN112508075A/zh
Publication of CN112508075A publication Critical patent/CN112508075A/zh
Priority to PCT/CN2021/096851 priority patent/WO2022116491A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Abstract

本申请实施例属于人工智能领域,涉及一种基于横向联邦的DBSCAN聚类方法、装置、计算机设备及存储介质,方法包括:获取第一数据集,其中,第一数据集包括若干个第一对象的第一特征;与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对第一数据集进行特征筛选,得到第一待聚类数据集;遍历第一待聚类数据集中的第一对象;计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算当前第一对象与各第二对象的欧氏距离;根据得到的欧氏距离对当前第一对象进行DBSCAN聚类,得到对象聚类结果。此外,本申请还涉及区块链技术,第一数据集可存储于区块链中。本申请提高了对象聚类的准确性。

Description

基于横向联邦的DBSCAN聚类方法、及其相关设备
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于横向联邦的DBSCAN聚类方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的深入发展,计算机应用于各种数据挖掘场景中。对象聚类是数据挖掘的一种,通过对对象各维度的数据分析,将对象进行聚类,相同或相似的对象可以被归为一类。例如,在金融营销场景中,金融机构每天都可以获得大量的用户数据,这些数据包含了大量的个人隐私或商业机密,通过对用户数据进行聚类,可以对用户进行分类,以便为不同类别的用户提供服务。
DBSCAN算法是一种基于密度的聚类算法,它将簇定义为密度相连的点的最大集合,能够把具有足够密度的区域划分为簇,并可以在有噪音的空间数据集中发现任意形状的簇。然而,传统的DBSCAN算法无法打破不同机构间的数据壁垒,只能对机构的内部数据进行聚类,且无法适用于高纬度数据,因此聚类的准确性较低。
发明内容
本申请实施例的目的在于提出一种基于横向联邦的DBSCAN聚类方法、装置、计算机设备及存储介质,以解决DBSCAN聚类准确性较低的问题。
为了解决上述技术问题,本申请实施例提供一种基于横向联邦的DBSCAN聚类方法,采用了如下所述的技术方案:
获取第一数据集,其中,所述第一数据集包括若干个第一对象的第一特征;
与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征;
遍历所述第一待聚类数据集中的第一对象;
计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离;
根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果。
为了解决上述技术问题,本申请实施例还提供一种基于横向联邦的DBSCAN聚类装置,采用了如下所述的技术方案:
数据集获取模块,用于获取第一数据集,其中,所述第一数据集包括若干个第一对象的第一特征;
特征筛选模块,用于与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征;
对象遍历模块,用于遍历所述第一待聚类数据集中的第一对象;
距离计算模块,用于计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离;
对象聚类模块,用于根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
获取第一数据集,其中,所述第一数据集包括若干个第一对象的第一特征;
与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征;
遍历所述第一待聚类数据集中的第一对象;
计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离;
根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
获取第一数据集,其中,所述第一数据集包括若干个第一对象的第一特征;
与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征;
遍历所述第一待聚类数据集中的第一对象;
计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离;
根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果。
与现有技术相比,本申请实施例主要有以下有益效果:获取到第一数据集后,与第二服务器进行横向联邦学习,通过联邦方差选择算法,在不交换具体数据的情况下对第一数据集和第二服务器中的第二数据集进行特征筛选,实现特征降维,从而适配DBSCAN算法;同时,对于第一待聚类数据集中遍历到的当前第一对象,计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离,并通过联邦欧式距离算法计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离,在不交换具体数据的情况下,计算两个相离的数据集中对象的欧氏距离,欧氏距离用于DBSCAN聚类,从而打破了数据壁垒,实现了在不侵犯数据隐私的情况下,利用不同机构的数据集进行对象聚类,提高了对象聚类的准确性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的基于横向联邦的DBSCAN聚类方法的一个实施例的流程图;
图3是根据本申请的基于横向联邦的DBSCAN聚类装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102,网络103,第一服务器104和第二服务器105。网络103用以在终端设备101、102,第一服务器104,第二服务器105之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络103与第一服务器104交互以接收或发送消息等,用户也可以使用终端设备102通过网络103与第二服务器105交互以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
第一服务器104、第二服务器105可以是提供各种服务的服务器,例如对终端设备101、102上显示的页面提供支持的后台服务器,第一服务器104、第二服务器105可以实现基于横向联邦的DBSCAN聚类服务。
需要说明的是,本申请实施例所提供的基于横向联邦的DBSCAN聚类方法一般由第一服务器和第二服务器执行,相应地,基于横向联邦的DBSCAN聚类装置一般设置于第一服务器和第二服务器中。在本申请中,以第一服务器为主体进行描述。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基于横向联邦的DBSCAN聚类方法的一个实施例的流程图。所述的基于横向联邦的DBSCAN聚类方法,包括以下步骤:
步骤S201,获取第一数据集,其中,第一数据集包括若干个第一对象的第一特征。
在本实施例中,基于横向联邦的DBSCAN聚类方法运行于其上的电子设备(例如图1所示的第一服务器)可以通过有线连接方式或者无线连接方式进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
具体地,在进行基于横向联邦的DBSCAN聚类时,第一服务器和第二服务器同时进行聚类,第一服务器获取存储在第一服务器中的第一数据集,第二服务器获取存储在第二服务器中的第二数据集。
第一数据集和第二数据集可以是两个参与方中对象的特征集合,且第一数据集和第二数据集的特征、各特征所刻画大的信息类型相同,但第一数据集和第二数据集所刻画的对象不同。例如,在金融营销场景中,第一数据集和第二数据集可以是两个公司的用户数据,特征可以包括用户的性别、学历、工作单位、过往消费数据等。第一数据集和第二数据集为对象聚类提供数据基础。
第一数据集记为
Figure BDA0002810489670000061
其中,
Figure BDA0002810489670000062
为第i个对象的特征集,特征维度为q,数据集中对象的数量记为对象数量,第一对象数量为NA,同理,对第二数据集有
Figure BDA0002810489670000063
需要强调的是,为进一步保证上述第一数据集的私密和安全性,上述第一数据集还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S202,与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对第一数据集进行特征筛选,得到第一待聚类数据集,并指示第二服务器通过联邦方差选择算法对第二数据集进行特征筛选,得到第二待聚类数据集,其中,第二数据集包括若干个第二对象的第二特征。
具体地,第一服务器和第二服务器可以组成联邦网络,并进行联邦学习,在联邦学习中,第一服务器和第二服务器在不交换具体数据的条件下完成数据运算。第一服务器和第二服务器可以通过联邦方差选择算法对第一数据集进行特征筛选,剔除掉一部分特征,得到第一待聚类数据集IA。同理,第二服务器也通过联邦方差选择算法对第二数据集进行特征筛选,剔除掉一部分特征,得到第二待聚类数据集IB
进一步的,上述步骤S202可以包括:
步骤S2021,对于第一数据集中的每种第一特征,计算第一特征的第一特征值累加和,并指示第二服务器计算与第一特征相对应的第二特征的第二特征值累加和。
具体地,对于每一个特征j,j∈[1,q],第一服务器对第一特征计算第一特征值累加和
Figure BDA0002810489670000071
第二服务器对第二特征计算第二特征值累加和
Figure BDA0002810489670000072
步骤S2022,与第二服务器通过同态加密加权平均算法,对第一特征值累加和与第二特征值累加和进行计算,得到第一特征的联合均值。
具体地,第一服务器和第二服务器通过同态加密加权平均算法,对第一特征值累加和
Figure BDA0002810489670000073
以及第二特征值累加和
Figure BDA0002810489670000074
进行计算,得到第一特征的联合均值
Figure BDA0002810489670000081
进一步的,上述步骤S2022可以包括:
步骤S20221,生成第一同态密钥对。
具体地,第一服务器生成第一同态密钥对(Ek1,Dk1),其中,Ek1为第一加密密钥,Dk1为第一解密密钥。第一同态密钥对(Ek1,Dk1)满足同态加密。
步骤S20222,通过第一同态密钥对对第一特征值累加和以及第一数据集的第一对象数量进行加密。
具体地,第一服务器使用第一同态密钥对(Ek1,Dk1)中的第一加密密钥Ek1对第一特征值累加和
Figure BDA0002810489670000082
进行加密,得到
Figure BDA0002810489670000083
并使用第一加密密钥Ek1对第一数据集的第一对象数量NA进行加密,得到n1=Ek1(NA)。
步骤S20223,将第一同态密钥对中的第一加密密钥、加密后的第一特征值累加和以及加密后的第一对象数量发送至第二服务器,以指示第二服务器根据第一加密密钥、加密后的第一特征值累加和、加密后的第一对象数量、第二特征值累加和以及第二数据集的第二对象数量进行计算,得到加密后的联合累加和与加密后的联合对象数量。
具体地,第一服务器将第一同态密钥对中的第一加密密钥Ek1、加密后的第一特征值累加和
Figure BDA0002810489670000084
以及加密后的第一对象数量n1=Ek1(NA)发送至第二服务器。
第二服务器计算一个随机消息z∈M,并计算随机消息z与第二特征值累加和
Figure BDA0002810489670000085
的乘积
Figure BDA0002810489670000086
随机消息z与第二对象数量NB的乘积z·NB,然后使用第一加密密钥Ek
Figure BDA0002810489670000087
与z·NB进行加密,得到
Figure BDA0002810489670000088
和z2∈Ek1(z·NB)。第二服务器在密文状态下计算加密后的联合累加和
Figure BDA0002810489670000089
以及加密后的联合对象数量m2=Ek1(z·NA+z·NB),然后将
Figure BDA00028104896700000810
和m2=Ek1(z·NA+z·NB)发送至第一服务器。
步骤S20224,根据第二服务器返回的加密后的联合累加和与加密后的联合对象数量,计算第一特征的联合均值。
第一服务器得到
Figure BDA0002810489670000091
和m2=Ek1(z·NA+z·NB)后,使用第一同态密钥对中的第一解密密钥Dk1对加密后的联合累加和
Figure BDA0002810489670000092
以及加密后的联合对象数量m2=Ek1(z·NA+z·NB)进行解密,得到
Figure BDA0002810489670000093
和z·(NA+NB),然后计算第一特征的联合均值
Figure BDA0002810489670000094
并将
Figure BDA0002810489670000095
发送至第二服务器,可以理解,
Figure BDA0002810489670000096
也将作为对应的第二特征的联合均值。
步骤S20221-S20224即实现了同态加密加权平均算法。
本实施例中,通过同态加密加权平均算法,在不交换底层数据的前提下,结合第一数据集和第二数据集计算得到了特征的联合均值。
步骤S2023,基于联合均值计算第一特征的第一误差累加和,并指示第二服务器基于联合均值计算第二特征的第二误差累加和。
具体地,第一服务器根据联合均值
Figure BDA0002810489670000097
和第一数据集中每个第一特征值
Figure BDA0002810489670000098
计算第一误差累加和
Figure BDA0002810489670000099
第二服务器根据联合均值
Figure BDA00028104896700000910
和第二数据集中每个第二特征值
Figure BDA00028104896700000911
计算第二误差累加和
Figure BDA00028104896700000912
步骤S2024,与第二服务器通过同态加密加权平均算法,对第一误差累加和与第二误差累加和进行计算,得到第一特征的联合均方误差。
具体地,第一服务器与第二服务器通过同态加密加权平均算法,对第一误差累加和
Figure BDA00028104896700000913
及第二误差累加和
Figure BDA00028104896700000914
进行计算,得到第一特征的联合均方误差
Figure BDA00028104896700000915
进一步的,上述步骤S2024可以包括:
步骤S20241,生成第二同态密钥对。
具体地,第一服务器生成第二同态密钥对(Ek2,Dk2),其中,Ek2为第二加密密钥,Dk2为第二解密密钥。第二同态密钥对(Ek2,Dk2)满足同态加密。
步骤S20242,通过第二同态密钥对对第一误差累加和以及第一数据集的第一对象数量进行加密。
具体地,第一服务器通过第二同态密钥对(Ek2,Dk2)中的第二加密密钥Ek2对第一误差累加和
Figure BDA0002810489670000101
进行加密,得到
Figure BDA0002810489670000102
并通过第二加密密钥Ek2对第一数据集的第一对象数量NA进行加密,得到n1=Ek2(NA)。
步骤S20243,将第二同态密钥对中的第二加密密钥、加密后的第一误差累加和以及加密后的第一对象数量发送至第二服务器,以指示第二服务器根据第二加密密钥、加密后的第一误差累加和、加密后的第一对象数量、第二误差累加和以及第二数据集的第二对象数量进行计算,得到加密后的联合误差累加和与加密后的联合对象数量。
具体地,第一服务器将第二同态密钥对中的第二加密密钥Ek、加密后的第一误差累加和
Figure BDA0002810489670000103
以及加密后的第一对象数量n1=Ek2(NA)发送至第二服务器。
第二服务器计算一个随机消息z∈M,并计算该随机消息与第二误差累加和
Figure BDA0002810489670000104
的乘积,得到
Figure BDA0002810489670000105
随机消息与第二对象数量NB的乘积z·NB,然后使用第二加密密钥Ek2
Figure BDA0002810489670000106
和z·NB进行加密,得到
Figure BDA0002810489670000107
和z2∈Ek2(z·NB)。第二服务器在密文状态下计算加密后的联合误差累加和
Figure BDA0002810489670000108
与加密后的联合对象数量m2=Ek2(z·NA+z·NB),然后将
Figure BDA0002810489670000109
和m2=Ek2(z·NA+z·NB)发送至第一服务器。
步骤S20244,根据第二服务器返回的加密后的联合误差累加和与加密后的联合对象数量,计算第一特征的联合均方误差。
具体地,第一服务器接收到加密后的联合误差累加和
Figure BDA0002810489670000111
与加密后的联合对象数量m2=Ek2(z·NA+z·NB)后,使用第二同态密钥对中的第二解密密钥Dk对加密后的联合误差累加和
Figure BDA0002810489670000112
以及加密后的联合对象数量m2=Ek2(z·NA+z·NB)进行解密,得到
Figure BDA0002810489670000113
和z·(NA+NB),然后计算第一特征的联合均方误差
Figure BDA0002810489670000114
并将
Figure BDA0002810489670000115
发送至第二服务器,可以理解,
Figure BDA0002810489670000116
也将作为对应的第二特征的联合均方误差。
步骤S20241-S20244即实现了同态加密加权平均算法。
本实施例中,通过同态加密加权平均算法,在不交换底层数据的前提下,结合第一数据集和第二数据集计算得到了特征的联合均方误差。
步骤S2025,根据得到的联合均方误差对第一数据集中的第一特征进行筛选,得到第一待聚类数据集,并指示第二服务器根据得到的联合均方误差对第二数据集中的第二特征进行筛选,得到第二待聚类数据集。
具体地,特征的联合均方误差可以作为特征重要性的衡量标准,每个特征均计算联合均方误差,并对q个联合均方误差进行降序排序,选取前d个特征作为筛选后的特征,第一服务器和第二服务器均执行上述筛选的操作,分别得到第一待聚类数据集IA和第二待聚类数据集IB
本实施例中,通过联邦方差选择算法,在不交换底层数据的情况下,对第一数据集和第二服务器中的第二数据集进行特征筛选,保留对聚类最有用的特征,同时实现特征降维,从而适配DBSCAN算法。
步骤S203,遍历第一待聚类数据集中的第一对象。
具体地,第一服务器遍历第一待聚类数据集中的第一对象,以对每个第一对象分别进行聚类处理。
步骤S204,计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算当前第一对象与各第二对象的欧氏距离。
具体地,将正在遍历的第一对象作为当前第一对象,计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离,并通过联邦欧氏距离算法,计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离。基于联邦欧氏距离算法,在计算欧氏距离时,第一服务器和第二服务器不必交换真实的底层数据。
进一步的,上述步骤S204可以包括:
步骤S2041,计算当前第一对象与各第一对象的欧氏距离。
具体地,第一服务器计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离。令当前第一对象为
Figure BDA0002810489670000121
其他第一对象记为
Figure BDA0002810489670000122
特征维度为d,则
Figure BDA00028104896700001211
Figure BDA0002810489670000123
欧氏距离
Figure BDA0002810489670000124
为:
Figure BDA0002810489670000125
数据集内部不存在数据隐私的限制,当前第一对象与各第一对象的欧氏距离可以代入每种第一特征的第一特征值直接计算。
步骤S2042,计算当前第一对象的第一特征平方和。
具体地,计算计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离时,令当前第一对象为
Figure BDA0002810489670000126
第二对象记为
Figure BDA0002810489670000127
特征维度为d,则
Figure BDA0002810489670000128
Figure BDA00028104896700001212
欧氏距离
Figure BDA0002810489670000129
为:
Figure BDA00028104896700001210
可以理解,
Figure BDA0002810489670000131
为第一对象第j个特征的特征值,
Figure BDA0002810489670000132
为第二对象第j个特征的特征值。
第一服务器计算当前第一对象的第一特征平方和
Figure BDA0002810489670000133
步骤S2043,对于每个第二对象,与第二服务器通过乘积算法,计算当前第一对象与第二对象的特征交叉乘积和,并指示第二服务器计算第二对象的第二特征平方和。
具体地,当前第一对象需要与每个第二对象计算欧氏距离,在与其中一个第二对象计算欧氏距离时,第一服务器多次输入
Figure BDA0002810489670000134
第二服务器多次输入
Figure BDA0002810489670000135
和随机数rj,j∈[1,d],其中,第二服务器需要生成d个随机数r1,r2,...rd,且满足
Figure BDA0002810489670000136
第一服务器和第二服务器通过乘积算法,计算
Figure BDA0002810489670000137
并将其求和得到第一对象与第二对象的特征交叉乘积和
Figure BDA0002810489670000138
同时,第二服务器计算计算第二对象的第二特征平方和
Figure BDA0002810489670000139
第一服务器和第二服务器在计算特征交叉乘积和时,基于乘积算法进行计算,不必交换底层的特征值。
进一步的,上述步骤S2043可以包括:
步骤S20431,生成第一随机数,并基于paillier加密算法生成第三同态密钥对。
具体地,第一服务器生成第一随机数v,并基于paillier加密算法生成第三同态密钥对(Ek3,Dk3),其中,Ek3为第三加密密钥,Dk3为第三解密密钥。paillier加密算法是一种同态加密,满足加法和数乘同态。
步骤S20432,通过第三同态密钥对中的第三加密密钥,将当前第一对象的各第一特征值与第一随机数进行联合加密,得到联合加密值。
具体地,第一服务器通过第三同态密钥对(Ek3,Dk3)中的第三加密密钥Ek3,对当前第一对象的各第一特征值
Figure BDA00028104896700001310
与第一随机数r进行联合加密,得到联合加密值
Figure BDA0002810489670000141
步骤S20433,将联合加密值发送至第二服务器,对于每个第二对象,指示第二服务器根据联合加密值、第二对象的各第二特征值以及生成的第二随机数进行计算,得到各加密特征交叉乘积,并指示第二服务器计算第二对象的第二特征平方和。
具体地,第一服务器将第三加密密钥Ek3、第一随机数r和联合加密值
Figure BDA0002810489670000142
发送至第二服务器。第二服务器生成第二随机数rj,j∈[1,d],且
Figure BDA0002810489670000143
第二服务器根据联合加密值
Figure BDA0002810489670000144
第二对象的各第二特征值
Figure BDA0002810489670000145
以及生成的第二随机数rj,j∈[1,d]进行计算,得到各加密特征交叉乘积
Figure BDA0002810489670000146
同时,第二服务器计算第二对象的第二特征平方和
Figure BDA0002810489670000147
步骤S20434,接收第二服务器返回的各加密特征交叉乘积以及第二对象的第二特征平方和。
具体地,第二服务器将各加密特征交叉乘积
Figure BDA0002810489670000148
以及第二对象的第二特征平方和
Figure BDA0002810489670000149
发送至第一服务器。在发送第二特征平方和
Figure BDA00028104896700001410
时,可以发送
Figure BDA00028104896700001411
以便对真实的第二特征平方和进行加密,其中第一随机数v的影响可以被第一服务器抵消掉。
步骤S20435,通过第三同态密钥对中的第三解密密钥,对各加密特征交叉乘积进行解密,得到当前第一对象与第二对象的特征交叉乘积和。
具体地,第一服务器使用第三同态密钥对(Ek3,Dk3)中的第三解密密钥Dk对各加密特征交叉乘积
Figure BDA00028104896700001412
进行解密:u=Dk3(u'),基于paillier加密算法固有的性质,解密后的结果即为
Figure BDA00028104896700001413
即当前第一对象与第二对象的特征交叉乘积和与第二随机数rj的和,第二随机数rj的影响可以在计算欧氏距离时被抵消。
步骤S20431-S20435即为乘积算法的实现步骤。
本实施例中,通过乘积算法,在保护第一待聚类数据集和第二待聚类数据集数据隐私的条件下,实现了计算当前第一对象与第二对象的特征交叉乘积和,保证了当前第一对象与第二对象欧氏距离计算的实现。
步骤S2044,根据第一特征平方和、特征交叉乘积和以及第二服务器返回的第二特征平方和,计算当前第一对象与第二对象的欧氏距离。
具体地,第一服务器根据第一特征平方和
Figure BDA0002810489670000151
特征交叉乘积和
Figure BDA0002810489670000152
以及第二服务器返回的第二特征平方和
Figure BDA0002810489670000153
计算当前第一对象与第二对象的欧氏距离
Figure BDA0002810489670000154
步骤S2042-S2044即为联邦欧氏距离算法。
本实施例中,通过联邦欧氏距离算法,在不侵犯数据隐私的条件下计算得到第一待聚类数据集和第二待聚类数据集中对象的欧氏距离,保证了在两个数据保护的数据集间进行DBSCAN聚类的实现。
步骤S205,根据得到的欧氏距离对当前第一对象进行DBSCAN聚类,得到对象聚类结果。
具体地,得到当前第一对象与各第一对象和各第二对象的欧氏距离后,可以根据DBSCAN算法对当前第一对象进行DBSCAN聚类,得到聚类结果。聚类结果可视为对第一待聚类数据集和第二待聚类数据集中的对象进行群体划分。
进一步的,上述步骤S205可以包括:
步骤S2051,根据得到的欧氏距离和预设的邻域对象数量阈值,确定当前第一对象是否为核心点。
具体地,在DBSCAN算法中,假设存在一数据集D={x1,x2,...,xm},有如下定义:
(1)Nε(xj):对于xj∈D,其ε邻域包含数据集D中与xj欧氏距离不大于ε的子样本集,即Nε(xj)={xi∈D|,distance(xi,xj)≤ε},|Nε(xj)|记为样本xj的ε邻域中样本数量。
(2)核心点:对于任一样本xj∈D,如果其ε邻域对应的Nε(xj)至少包含MinPts个样本,即如果|Nε(xj)|≥MinPts,则样本是xj核心点。
(3)边界点:若样本xj∈D的Nε(xj)邻域内包含的样本数目小于MinPts,但是样本xj∈D在其他核心点的邻域内,则样本点样本xj∈D为边界点。
(4)噪音点:既不是核心点也不是边界点的样本。
(5)密度直达:如果xi位于xj的ε邻域中,且xj是核心点,则xi由xj密度直达。
(6)密度可达:对于xi和xj,如果存在样本序列p1,p2,...,pT,满足p1=xi,pT=xj,且任意pt+1由pt密度直达,则称xj由xi密度可达,即,密度可达满足传递性。
(7)密度相连:对于xi和xj,如果存在核心点xk,使xi和xj均由xk密度可达,则称xi和xj密度相连。
综上,第一服务器根据计算得到的欧氏距离查询当前第一对象的聚类邻域(即ε邻域)中的对象(可以来自第一待聚类数据集,也可以来自第二待聚类数据集)数量,将对象数量与预先设定好的邻域对象数量阈值MinPts相比较,以确定当前第一对象是否为核心点。
步骤S2052,当当前第一对象为核心点时,确定当前第一对象聚类邻域中的密度可达点,得到对象聚类结果,其中,密度可达点包括第一待聚类数据集中的第一对象和第二待聚类数据集中的第二对象。
具体地,当当前第一对象为核心点时,根据DBSCAN算法的定义,根据计算得到的欧氏距离在其聚类邻域中查找密度可达点,密度可达点包括第一待聚类数据集中的第一对象和第二待聚类数据集中的第二对象,查找到的密度可达点组成一个簇。如果当前第一对象为边界点或噪音点,则不对当前第一对象进行处理,查找下一个核心点,直至第一待聚类数据集中的全部第一对象均被处理,获得对象聚类结果,其中,每个簇可以是一种聚类结果。
可以理解,第二服务器可以按照与第一服务器相同的操作对第二对象进行DBSCAN聚类。本申请的基于横向联邦的DBSCAN聚类方法实现了对象聚类,对于每种聚类结果,其中的各对象具有一定的相似度。例如,在金融营销场景中,根据用户数据对用户进行基于横向联邦的DBSCAN聚类后,每一种聚类结果可以是具有相近行为的的用户,基于横向联邦的DBSCAN聚类方法相当于对用户进行了社群划分。
本实施例中,当根据欧氏距离和预设的邻域对象数量阈值,确定当前第一对象为核心点时,对当前第一对象进行DBSCAN聚类,实现了利用不同机构的数据集进行对象聚类,打破了数据壁垒,提高了DBSCAN聚类的准确性。
本实施例中,获取到第一数据集后,与第二服务器进行横向联邦学习,通过联邦方差选择算法,在不交换具体数据的情况下对第一数据集和第二服务器中的第二数据集进行特征筛选,实现特征降维,从而适配DBSCAN算法;同时,对于第一待聚类数据集中遍历到的当前第一对象,计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离,并通过联邦欧式距离算法计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离,在不交换具体数据的情况下,计算两个相离的数据集中对象的欧氏距离,欧氏距离用于DBSCAN聚类,从而打破了数据壁垒,实现了在不侵犯数据隐私的情况下,利用不同机构的数据集进行对象聚类,提高了对象聚类的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种基于横向联邦的DBSCAN聚类装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的基于横向联邦的DBSCAN聚类装置300包括:数据集获取模块301、特征筛选模块302、对象遍历模块303、距离计算模块304以及对象聚类模块305,其中:
数据集获取模块301,用于获取第一数据集,其中,第一数据集包括若干个第一对象的第一特征。
特征筛选模块302,用于与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对第一数据集进行特征筛选,得到第一待聚类数据集,并指示第二服务器通过联邦方差选择算法对第二数据集进行特征筛选,得到第二待聚类数据集,其中,第二数据集包括若干个第二对象的第二特征。
对象遍历模块303,用于遍历第一待聚类数据集中的第一对象。
距离计算模块304,用于计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算当前第一对象与各第二对象的欧氏距离。
对象聚类模块305,用于根据得到的欧氏距离对当前第一对象进行DBSCAN聚类,得到对象聚类结果。
本实施例中,获取到第一数据集后,与第二服务器进行横向联邦学习,通过联邦方差选择算法,在不交换具体数据的情况下对第一数据集和第二服务器中的第二数据集进行特征筛选,实现特征降维,从而适配DBSCAN算法;同时,对于第一待聚类数据集中遍历到的当前第一对象,计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离,并通过联邦欧式距离算法计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离,在不交换具体数据的情况下,计算两个相离的数据集中对象的欧氏距离,欧氏距离用于DBSCAN聚类,从而打破了数据壁垒,实现了在不侵犯数据隐私的情况下,利用不同机构的数据集进行对象聚类,提高了对象聚类的准确性。
在本实施例的一些可选的实现方式中,特征筛选模块302可以包括:特征值计算子模块、累加和计算子模块、误差计算子模块、均方误差计算子模块以及特征筛选子模块,其中:
特征值计算子模块,用于对于第一数据集中的每种第一特征,计算第一特征的第一特征值累加和,并指示第二服务器计算与第一特征相对应的第二特征的第二特征值累加和。
累加和计算子模块,用于与第二服务器通过同态加密加权平均算法,对第一特征值累加和与第二特征值累加和进行计算,得到第一特征的联合均值。
误差计算子模块,用于基于联合均值计算第一特征的第一误差累加和,并指示第二服务器基于联合均值计算第二特征的第二误差累加和。
均方误差计算子模块,用于与第二服务器通过同态加密加权平均算法,对第一误差累加和与第二误差累加和进行计算,得到第一特征的联合均方误差。
特征筛选子模块,用于根据得到的联合均方误差对第一数据集中的第一特征进行筛选,得到第一待聚类数据集,并指示第二服务器根据得到的联合均方误差对第二数据集中的第二特征进行筛选,得到第二待聚类数据集。
本实施例中,通过联邦方差选择算法,在不交换底层数据的情况下,对第一数据集和第二服务器中的第二数据集进行特征筛选,保留对聚类最有用的特征,同时实现特征降维,从而适配DBSCAN算法。
在本实施例的一些可选的实现方式中,累加和计算子模块可以包括:第一生成单元、第一加密单元、第一发送单元以及均值计算单元,其中:
第一生成单元,用于生成第一同态密钥对。
第一加密单元,用于通过第一同态密钥对对第一特征值累加和以及第一数据集的第一对象数量进行加密。
第一发送单元,用于将第一同态密钥对中的第一加密密钥、加密后的第一特征值累加和以及加密后的第一对象数量发送至第二服务器,以指示第二服务器根据第一加密密钥、加密后的第一特征值累加和、加密后的第一对象数量、第二特征值累加和以及第二数据集的第二对象数量进行计算,得到加密后的联合累加和与加密后的联合对象数量。
均值计算单元,用于根据第二服务器返回的加密后的联合累加和与加密后的联合对象数量,计算第一特征的联合均值。
本实施例中,通过同态加密加权平均算法,在不交换底层数据的前提下,结合第一数据集和第二数据集计算得到了特征的联合均值。
在本实施例的一些可选的实现方式中,均方误差计算子模块可以包括:第一生成单元、第一加密单元、第一发送单元以及均值计算单元,其中:
第二生成单元,用于生成第二同态密钥对。
第二加密单元,用于通过第二同态密钥对对第一误差累加和以及第一数据集的第一对象数量进行加密。
第二发送单元,用于将第二同态密钥对中的第二加密密钥、加密后的第一误差累加和以及加密后的第一对象数量发送至第二服务器,以指示第二服务器根据第二加密密钥、加密后的第一误差累加和、加密后的第一对象数量、第二误差累加和以及第二数据集的第二对象数量进行计算,得到加密后的联合误差累加和与加密后的联合对象数量。
均方误差计算单元,用于根据第二服务器返回的加密后的联合误差累加和与加密后的联合对象数量,计算第一特征的联合均方误差。
本实施例中,通过同态加密加权平均算法,在不交换底层数据的前提下,结合第一数据集和第二数据集计算得到了特征的联合均方误差。
在本实施例的一些可选的实现方式中,距离计算模块304可以包括:距离计算子模块、平方和计算子模块、交叉计算子模块以及欧式计算子模块,其中:
距离计算子模块,用于计算当前第一对象与各第一对象的欧氏距离。
平方和计算子模块,用于计算当前第一对象的第一特征平方和。
交叉计算子模块,用于对于每个第二对象,与第二服务器通过乘积算法,计算当前第一对象与第二对象的特征交叉乘积和,并指示第二服务器计算第二对象的第二特征平方和。
欧式计算子模块,用于根据第一特征平方和、特征交叉乘积和以及第二服务器返回的第二特征平方和,计算当前第一对象与第二对象的欧氏距离。
本实施例中,通过联邦欧氏距离算法,在不侵犯数据隐私的条件下计算得到第一待聚类数据集和第二待聚类数据集中对象的欧氏距离,保证了在两个数据保护的数据集间进行DBSCAN聚类的实现。
在本实施例的一些可选的实现方式中,平方和计算子模块可以包括:生成单元、联合加密单元、加密值发送单元、接收单元以及解密单元,其中:
生成单元,用于生成第一随机数,并基于paillier加密算法生成第三同态密钥对。
联合加密单元,用于通过第三同态密钥对中的第三加密密钥,将当前第一对象的各第一特征值与第一随机数进行联合加密,得到联合加密值。
加密值发送单元,用于将联合加密值发送至第二服务器,对于每个第二对象,指示第二服务器根据联合加密值、第二对象的各第二特征值以及生成的第二随机数进行计算,得到各加密特征交叉乘积,并指示第二服务器计算第二对象的第二特征平方和。
接收单元,用于接收第二服务器返回的各加密特征交叉乘积以及第二对象的第二特征平方和。
解密单元,用于通过第三同态密钥对中的第三解密密钥,对各加密特征交叉乘积进行解密,得到当前第一对象与第二对象的特征交叉乘积和。
本实施例中,通过乘积算法,在保护第一待聚类数据集和第二待聚类数据集数据隐私的条件下,实现了计算当前第一对象与第二对象的特征交叉乘积和,保证了当前第一对象与第二对象欧氏距离计算的实现。
在本实施例的一些可选的实现方式中,对象聚类模块305可以包括:对象确定子模块以及可达点确定子模块,其中:
对象确定子模块,用于根据得到的欧氏距离和预设的邻域对象数量阈值,确定当前第一对象是否为核心点。
可达点确定子模块,用于当当前第一对象为核心点时,确定当前第一对象聚类邻域中的密度可达点,得到对象聚类结果,其中,密度可达点包括第一待聚类数据集中的第一对象和第二待聚类数据集中的第二对象。
本实施例中,当根据欧氏距离和预设的邻域对象数量阈值,确定当前第一对象为核心点时,对当前第一对象进行DBSCAN聚类,实现了利用不同机构的数据集进行对象聚类,打破了数据壁垒,提高了DBSCAN聚类的准确性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如基于横向联邦的DBSCAN聚类方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述基于横向联邦的DBSCAN聚类方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中,获取到第一数据集后,与第二服务器进行横向联邦学习,通过联邦方差选择算法,在不交换具体数据的情况下对第一数据集和第二服务器中的第二数据集进行特征筛选,实现特征降维,从而适配DBSCAN算法;同时,对于第一待聚类数据集中遍历到的当前第一对象,计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离,并通过联邦欧式距离算法计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离,在不交换具体数据的情况下,计算两个相离的数据集中对象的欧氏距离,欧氏距离用于DBSCAN聚类,从而打破了数据壁垒,实现了在不侵犯数据隐私的情况下,利用不同机构的数据集进行对象聚类,提高了对象聚类的准确性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于横向联邦的DBSCAN聚类方法的步骤。
本实施例中,获取到第一数据集后,与第二服务器进行横向联邦学习,通过联邦方差选择算法,在不交换具体数据的情况下对第一数据集和第二服务器中的第二数据集进行特征筛选,实现特征降维,从而适配DBSCAN算法;同时,对于第一待聚类数据集中遍历到的当前第一对象,计算当前第一对象与第一待聚类数据集中各第一对象的欧氏距离,并通过联邦欧式距离算法计算当前第一对象与第二待聚类数据集中各第二对象的欧氏距离,在不交换具体数据的情况下,计算两个相离的数据集中对象的欧氏距离,欧氏距离用于DBSCAN聚类,从而打破了数据壁垒,实现了在不侵犯数据隐私的情况下,利用不同机构的数据集进行对象聚类,提高了对象聚类的准确性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种基于横向联邦的DBSCAN聚类方法,其特征在于,包括下述步骤:
获取第一数据集,其中,所述第一数据集包括若干个第一对象的第一特征;
与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征;
遍历所述第一待聚类数据集中的第一对象;
计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离;
根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果。
2.根据权利要求1所述的基于横向联邦的DBSCAN聚类方法,其特征在于,所述与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征的步骤包括:
对于所述第一数据集中的每种第一特征,计算第一特征的第一特征值累加和,并指示所述第二服务器计算与所述第一特征相对应的第二特征的第二特征值累加和;
与所述第二服务器通过同态加密加权平均算法,对所述第一特征值累加和与所述第二特征值累加和进行计算,得到所述第一特征的联合均值;
基于所述联合均值计算所述第一特征的第一误差累加和,并指示所述第二服务器基于所述联合均值计算所述第二特征的第二误差累加和;
与所述第二服务器通过所述同态加密加权平均算法,对所述第一误差累加和与所述第二误差累加和进行计算,得到所述第一特征的联合均方误差;
根据得到的联合均方误差对所述第一数据集中的第一特征进行筛选,得到第一待聚类数据集,并指示所述第二服务器根据得到的联合均方误差对所述第二数据集中的第二特征进行筛选,得到第二待聚类数据集。
3.根据权利要求2所述的基于横向联邦的DBSCAN聚类方法,其特征在于,所述与所述第二服务器通过同态加密加权平均算法,对所述第一特征值累加和与所述第二特征值累加和进行计算,得到所述第一特征的联合均值的步骤包括:
生成第一同态密钥对;
通过所述第一同态密钥对对所述第一特征值累加和以及所述第一数据集的第一对象数量进行加密;
将所述第一同态密钥对中的第一加密密钥、加密后的第一特征值累加和以及加密后的第一对象数量发送至所述第二服务器,以指示所述第二服务器根据所述第一加密密钥、加密后的第一特征值累加和、加密后的第一对象数量、所述第二特征值累加和以及所述第二数据集的第二对象数量进行计算,得到加密后的联合累加和与加密后的联合对象数量;
根据所述第二服务器返回的所述加密后的联合累加和与所述加密后的联合对象数量,计算所述第一特征的联合均值。
4.根据权利要求2所述的基于横向联邦的DBSCAN聚类方法,其特征在于,所述与所述第二服务器通过所述同态加密加权平均算法,对所述第一误差累加和与所述第二误差累加和进行计算,得到所述第一特征的联合均方误差的步骤包括:
生成第二同态密钥对;
通过所述第二同态密钥对对所述第一误差累加和以及所述第一数据集的第一对象数量进行加密;
将所述第二同态密钥对中的第二加密密钥、加密后的第一误差累加和以及加密后的第一对象数量发送至所述第二服务器,以指示所述第二服务器根据所述第二加密密钥、加密后的第一误差累加和、所述加密后的第一对象数量、所述第二误差累加和以及所述第二数据集的第二对象数量进行计算,得到加密后的联合误差累加和与加密后的联合对象数量;
根据所述第二服务器返回的所述加密后的联合误差累加和与所述加密后的联合对象数量,计算所述第一特征的联合均方误差。
5.根据权利要求1所述的基于横向联邦的DBSCAN聚类方法,其特征在于,所述计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离的步骤包括:
计算当前第一对象与各第一对象的欧氏距离;
计算所述当前第一对象的第一特征平方和;
对于每个第二对象,与所述第二服务器通过乘积算法,计算所述当前第一对象与第二对象的特征交叉乘积和,并指示所述第二服务器计算所述第二对象的第二特征平方和;
根据所述第一特征平方和、所述特征交叉乘积和以及所述第二服务器返回的所述第二特征平方和,计算所述当前第一对象与所述第二对象的欧氏距离。
6.根据权利要求5所述的基于横向联邦的DBSCAN聚类方法,其特征在于,所述对于每个第二对象,与所述第二服务器通过乘积算法,计算所述当前第一对象与第二对象的特征交叉乘积和,并指示所述第二服务器计算所述第二对象的第二特征平方和的步骤包括:
生成第一随机数,并基于paillier加密算法生成第三同态密钥对;
通过所述第三同态密钥对中的第三加密密钥,将所述当前第一对象的各第一特征值与所述第一随机数进行联合加密,得到联合加密值;
将所述联合加密值发送至所述第二服务器,对于每个第二对象,指示所述第二服务器根据所述联合加密值、第二对象的各第二特征值以及生成的第二随机数进行计算,得到各加密特征交叉乘积,并指示所述第二服务器计算所述第二对象的第二特征平方和;
接收所述第二服务器返回的所述各加密特征交叉乘积以及所述第二对象的第二特征平方和;
通过所述第三同态密钥对中的第三解密密钥,对所述各加密特征交叉乘积进行解密,得到所述当前第一对象与第二对象的特征交叉乘积和。
7.根据权利要求1所述的基于横向联邦的DBSCAN聚类方法,其特征在于,所述根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果的步骤包括:
根据得到的欧氏距离和预设的邻域对象数量阈值,确定所述当前第一对象是否为核心点;
当所述当前第一对象为核心点时,确定所述当前第一对象聚类邻域中的密度可达点,得到对象聚类结果,其中,所述密度可达点包括所述第一待聚类数据集中的第一对象和所述第二待聚类数据集中的第二对象。
8.一种基于横向联邦的DBSCAN聚类装置,其特征在于,包括:
数据集获取模块,用于获取第一数据集,其中,所述第一数据集包括若干个第一对象的第一特征;
特征筛选模块,用于与第二服务器的第二数据集进行横向联邦学习,以通过联邦方差选择算法对所述第一数据集进行特征筛选,得到第一待聚类数据集,并指示所述第二服务器通过所述联邦方差选择算法对所述第二数据集进行特征筛选,得到第二待聚类数据集,其中,所述第二数据集包括若干个第二对象的第二特征;
对象遍历模块,用于遍历所述第一待聚类数据集中的第一对象;
距离计算模块,用于计算当前第一对象与各第一对象的欧氏距离,并通过联邦欧氏距离算法计算所述当前第一对象与各第二对象的欧氏距离;
对象聚类模块,用于根据得到的欧氏距离对所述当前第一对象进行DBSCAN聚类,得到对象聚类结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的基于横向联邦的DBSCAN聚类方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于横向联邦的DBSCAN聚类方法的步骤。
CN202011388364.3A 2020-12-01 2020-12-01 基于横向联邦的dbscan聚类方法、及其相关设备 Pending CN112508075A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011388364.3A CN112508075A (zh) 2020-12-01 2020-12-01 基于横向联邦的dbscan聚类方法、及其相关设备
PCT/CN2021/096851 WO2022116491A1 (zh) 2020-12-01 2021-05-28 基于横向联邦的dbscan聚类方法、及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011388364.3A CN112508075A (zh) 2020-12-01 2020-12-01 基于横向联邦的dbscan聚类方法、及其相关设备

Publications (1)

Publication Number Publication Date
CN112508075A true CN112508075A (zh) 2021-03-16

Family

ID=74969352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011388364.3A Pending CN112508075A (zh) 2020-12-01 2020-12-01 基于横向联邦的dbscan聚类方法、及其相关设备

Country Status (2)

Country Link
CN (1) CN112508075A (zh)
WO (1) WO2022116491A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487041A (zh) * 2021-07-15 2021-10-08 Oppo广东移动通信有限公司 横向联邦学习方法、装置及存储介质
CN113722753A (zh) * 2021-08-25 2021-11-30 银清科技有限公司 基于区块链的隐私数据处理方法、装置及系统
WO2022116491A1 (zh) * 2020-12-01 2022-06-09 平安科技(深圳)有限公司 基于横向联邦的dbscan聚类方法、及其相关设备
CN113722753B (zh) * 2021-08-25 2024-05-10 银清科技有限公司 基于区块链的隐私数据处理方法、装置及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115271733B (zh) * 2022-09-28 2022-12-13 深圳市迪博企业风险管理技术有限公司 一种隐私保护的区块链交易数据异常检测方法及设备
CN117640253B (zh) * 2024-01-25 2024-04-05 济南大学 基于同态加密的联邦学习隐私保护方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10700864B2 (en) * 2017-07-12 2020-06-30 International Business Machines Corporation Anonymous encrypted data
US11139961B2 (en) * 2019-05-07 2021-10-05 International Business Machines Corporation Private and federated learning
CN110827924B (zh) * 2019-09-23 2024-05-07 平安科技(深圳)有限公司 基因表达数据的聚类方法、装置、计算机设备及存储介质
CN111339212A (zh) * 2020-02-13 2020-06-26 深圳前海微众银行股份有限公司 样本聚类方法、装置、设备及可读存储介质
CN111507481B (zh) * 2020-04-17 2023-03-03 腾讯科技(深圳)有限公司 一种联邦学习系统
CN112508075A (zh) * 2020-12-01 2021-03-16 平安科技(深圳)有限公司 基于横向联邦的dbscan聚类方法、及其相关设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022116491A1 (zh) * 2020-12-01 2022-06-09 平安科技(深圳)有限公司 基于横向联邦的dbscan聚类方法、及其相关设备
CN113487041A (zh) * 2021-07-15 2021-10-08 Oppo广东移动通信有限公司 横向联邦学习方法、装置及存储介质
CN113487041B (zh) * 2021-07-15 2024-05-07 深圳市与飞科技有限公司 横向联邦学习方法、装置及存储介质
CN113722753A (zh) * 2021-08-25 2021-11-30 银清科技有限公司 基于区块链的隐私数据处理方法、装置及系统
CN113722753B (zh) * 2021-08-25 2024-05-10 银清科技有限公司 基于区块链的隐私数据处理方法、装置及系统

Also Published As

Publication number Publication date
WO2022116491A1 (zh) 2022-06-09

Similar Documents

Publication Publication Date Title
CN112148987B (zh) 基于目标对象活跃度的消息推送方法及相关设备
US20220230071A1 (en) Method and device for constructing decision tree
CN112508075A (zh) 基于横向联邦的dbscan聚类方法、及其相关设备
CN110309587B (zh) 决策模型构建方法、决策方法与决策模型
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN112116155A (zh) 基于智能决策的人口流动预测方法、装置及计算机设备
WO2022142001A1 (zh) 基于多评分卡融合的目标对象评价方法及其相关设备
CN112287244A (zh) 基于联邦学习的产品推荐方法、装置、计算机设备及介质
CN110135978B (zh) 用户金融风险评估方法、装置、电子设备和可读介质
CN113435583B (zh) 基于联邦学习的对抗生成网络模型训练方法及其相关设备
CN110148053B (zh) 用户信贷额度评估方法、装置、电子设备和可读介质
CN112307472A (zh) 基于智能决策的异常用户识别方法、装置及计算机设备
WO2023216494A1 (zh) 基于联邦学习的用户服务策略确定方法及装置
CN106911474A (zh) 一种基于业务属性的量子密钥加密方法及装置
CN113220734A (zh) 课程推荐方法、装置、计算机设备及存储介质
CN113761577A (zh) 一种大数据脱敏的方法、装置、计算机设备及存储介质
CN111160847A (zh) 一种处理流程信息的方法和装置
CN112529477A (zh) 信用评估变量筛选方法、装置、计算机设备及存储介质
Jin et al. Distributed Byzantine tolerant stochastic gradient descent in the era of big data
CN111641517A (zh) 同质网络的社群划分方法、装置、计算机设备和存储介质
Kou et al. Trust-based missing link prediction in signed social networks with privacy preservation
Tyagi et al. Mining big data to predicting future
CN115099875A (zh) 基于决策树模型的数据分类方法及相关设备
CN114090407A (zh) 基于线性回归模型的接口性能预警方法及其相关设备
Sumathi et al. Scale-based secured sensitive data storage for banking services in cloud

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