一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于KMeans的跨特征联邦聚类方法及相关设备与流程

2021-11-18 01:23:00 来源:中国专利 TAG:

基于kmeans的跨特征联邦聚类方法及相关设备
技术领域
1.本公开涉及联邦学习领域,具体而言,涉及一种基于kmeans的跨特征联邦聚类方法、装置、电子设备和计算机可读介质。


背景技术:

2.知识联邦指的是将散落在不同机构或个人的数据联合起来,转换成有价值的知识,同时在联合过程中采用安全协议来保护数据隐私。知识联邦不是一种单一的技术方法,它是一套理论框架体系,是人工智能、大数据、密码学等几个领域交叉融合的产物。
3.在不同的机构可能保存着同一样本对应的不同的特征数据,例如,不同的电商平台可能存储了同一用户的不同数据,如果各个机构仅仅依赖本地保存的特征数据对样本进行聚类,那么聚类往往达不到最优效果;并且没有充分利用到各个机构的数据中的“知识”。如果要将各个机构的数据统一获取再统一进行聚类,又会侵犯数据的隐私安全,因此,在实际应用场景中,难以兼顾数据的隐私安全与数据的充分利用。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开实施例的目的在于提供一种基于kmeans的跨特征联邦聚类方法、装置、电子设备和计算机可读介质,能够在保证各个参与方的数据隐私安全的情况下,充分利用各个参与方的数据,提高数据聚类分析的可靠性。
6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
7.根据本公开实施例的第一方面,提供了一种基于kmeans的跨特征联邦聚类方法,所述知识联邦包括多个参与方,样本对象的多种特征数据分别存储在不同的参与方,所述方法包括:
8.接收各个参与方发送的第一距离,其中,所述第一距离为样本对象在参与方本地存储的特征数据与所述参与方的聚类中心之间的距离;
9.结合各个所述参与方的第一距离,确定所述样本对象与各个聚类中心的联邦距离;
10.根据所述联邦距离确定所述样本对象的聚类标签;
11.将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类。
12.在本公开的一种示例性实施方式中,所述参与方的聚类中心的初始值为所述参与方本地存储的目标样本的特征数据,其中,所述目标样本为所述参与方本地存储的一个样本对象。
13.在本公开的一种示例性实施方式中,结合各个所述参与方的第一距离,确定所述
样本对象与各个聚类中心的联邦距离包括:
14.针对同一聚类中心,根据所述样本对象的样本标识将所述样本对象在各个参与方中与该所述聚类中心的第一距离进行加和,得到所述样本对象与该所述聚类中心的联邦距离;其中,
15.所述各个参与方中,对应的所述目标样本标识相同的聚类中心为同一聚类中心。
16.在本公开的一种示例性实施方式中,所述根据所述联邦距离确定所述样本对象的聚类标签包括;
17.根据所述样本对象与各个聚类中心的联邦距离中的最小值,确定所述样本对象对应的目标聚类中心;
18.将所述目标聚类中心对应的目标样本标识作为所述样本对象的聚类标签。
19.在本公开的一种示例性实施方式中,所述将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类之后,还包括:
20.接收各个所述参与方发送的偏移量,其中,所述偏移量为所述参与方进行聚类之后的类簇的新聚类中心与聚类之前的所述聚类中心之间的偏移量;
21.根据各个所述参与方发送的偏移量,计算每一类簇的联邦偏移量;
22.根据所述每一类簇的联邦偏移量确定是否继续聚类,若继续聚类则基于当前的类簇更新所述样本对象的聚类标签。
23.在本公开的一种示例性实施方式中,所述根据所述每一类簇的联邦偏移量确定是否继续聚类包括:
24.将所述每一类簇的联邦偏移量发送至各个参与方,以使所述参与方确定是否继续聚类。
25.在本公开的一种示例性实施方式中,所述根据所述每一类簇的联邦偏移量确定是否继续聚类包括:
26.记录当前的聚类次数;
27.当所述聚类次数超过预定迭代次数时,结束聚类;
28.当所述聚类次数未超过所述预定迭代次数时,继续聚类。
29.在本公开的一种示例性实施方式中,所述将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类之后,还包括:
30.获取参与方计算的样本对象对应的类内距离和类间距离;
31.结合各个参与方的同一样本对象的所述类内距离和所述类间距离计算聚类评价指标,并返回至所述参与方。
32.根据本公开实施例的第二方面,提供了另一种基于kmeans的跨特征联邦聚类方法,所述知识联邦包括至少一个协调方,应用于所述参与方,所述方法包括:
33.从本地存储的特征数据中确定聚类中心的初始值;
34.计算样本对象对应的本地存储的特征数据分别与各个所述聚类中心的第一距离;
35.将所述第一距离发送至所述协调方,通过所述协调方确定所述特征数据的聚类标签,以对所述样本对象进行聚类。
36.在本公开的一种示例性实施方式中,所述从本地存储的特征数据中确定聚类中心的初始值包括:
37.随机确定一组目标样本标识,将所述目标样本标识对应的特征数据作为所述聚类中心,并将所述目标样本标识发送至其他参与方,以使其他参与方确定各自的聚类中心。
38.在本公开的一种示例性实施方式中,所述通过所述协调方确定所述特征数据的聚类标签,以对所述样本对象进行聚类包括:
39.根据各个特征数据的所述聚类标签对各个所述特征数据进行聚类,得到多个类簇,其中一个所述聚类中心对应一个类簇;
40.根据聚类后得到的类簇,计算所述类簇的新聚类中心;
41.计算每一类簇的所述新聚类中心与所述聚类之前的所述聚类中心之间的距离,作为偏移量;
42.根据每一类簇的所述偏移量确定是否继续聚类,若继续聚类则更新所述特征数据的聚类标签并将每一个类簇的聚类中心更新为所述类簇的新聚类中心。
43.在本公开的一种示例性实施方式中,根据每一类簇的所述偏移量确定是否继续聚类,若继续聚类则更新所述特征数据的聚类标签包括:
44.将各个类簇的所述偏移量发送至所述协调方,以通过所述协调方确定各个类簇的联邦偏移量;
45.根据所述各个类簇的所述联邦偏移量确定是否继续聚类,若继续聚类,则重新计算各样本对象的所述特征数据与当前的所述新聚类中心的第一距离;
46.将重新计算得到的第一距离发送至所述协调方,以更新所述特征数据的聚类标签。
47.根据本公开的一种示例性实施方式,上述方法还包括:记录当前的聚类次数;
48.当所述聚类次数超过预定迭代次数时,结束聚类;
49.当所述聚类次数未超过所述预定迭代次数时,继续聚类。
50.根据本公开实施例的第三方面,提供了一种基于知识联邦的聚类装置,所述知识联邦包括多个参与方,样本对象的多种特征数据分别存储在不同的参与方,所述装置包括:
51.距离数据获取模块,用于接收各个参与方发送的第一距离,其中,所述第一距离为样本对象在参与方本地存储的特征数据与所述参与方的聚类中心之间的距离;
52.联邦距离计算模块,用于结合各个所述参与方的第一距离,确定所述样本对象与各个聚类中心的联邦距离;
53.聚类模块,用于根据所述联邦距离确定所述样本对象的聚类标签;
54.聚类结果返回模块,用于将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类。
55.根据本公开实施例的第四方面,提供了一种基于知识联邦的聚类装置,所述知识联邦包括至少一个协调方,所述装置包括:
56.聚类中心确定模块,用于从本地存储的特征数据中确定聚类中心;
57.距离计算模块,用于计算样本对象对应的本地存储的特征数据分别与各个所述聚类中心的第一距离;
58.聚类确定模块,用于将所述第一距离发送至所述协调方,通过所述协调方确定所述特征数据的聚类标签,以对所述样本对象进行聚类。
59.根据本公开实施例的第五方面,提供了一种电子设备,包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面或第二方面所述的基于kmeans的跨特征联邦聚类方法。
60.根据本公开实施例的第六方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面或第二方面所述的基于kmeans的跨特征联邦聚类方法。
61.本公开实施例所提供的基于kmeans的跨特征联邦聚类方法,通过各个参与方发送的第一距离确定样本对象的聚类标签,结合各个参与方的数据对样本对象进行聚类,能够充分利用数据,实现数据共享,并且有利于数据的进一步创新;同时,各个参与方各自存储的特征数据并没有对外提供,而是在参与方本地进行计算,利用了计算得到的距离来进行聚类,极大地保证了参与方的隐私安全。
62.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
63.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
64.图1示意性示出了一种应用于本公开实施例的基于kmeans的跨特征联邦聚类方法或基于知识联邦的聚类装置的示例性系统架构示意图;
65.图2示意性示出了根据本公开的一个实施例的基于kmeans的跨特征联邦聚类方法的第一个流程图;
66.图3示意性示出了根据本公开的一实施例中基于kmeans的跨特征联邦聚类方法的第二个流程图;
67.图4示意性示出了根据本公开的一个实施例的基于kmeans的跨特征联邦聚类方法的第三个流程图;
68.图5示意性示出了根据本公开的一实施例中基于kmeans的跨特征联邦聚类方法的第四个流程图;
69.图6示意性示出了根据本公开的一个实施例的基于kmeans的跨特征联邦聚类方法的第五个流程图;
70.图7示意性示出了根据本公开的一个实施例的基于kmeans的跨特征联邦聚类方法的第六个流程图;
71.图8示意性示出了根据本公开的一个实施例的基于知识联邦的聚类装置的框图;
72.图9示意性示出了根据本公开的又一个实施例的基于知识联邦的聚类装置的框图;
73.图10示出了一种适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
74.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
75.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
76.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
77.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
78.本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思,并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”、“第三”等仅作为标记使用,不是对其对象的数量限制。
79.下面结合附图对本公开示例实施方式进行详细说明。
80.图1示出了一种应用于本公开实施例的基于kmeans的跨特征联邦聚类方法或基于知识联邦的聚类装置的示例性应用环境的系统架构的示意图。
81.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
82.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。其中,终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑、可穿戴设备、虚拟现实设备、智能家居等等。
83.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
84.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
85.本公开实施例所提供的基于kmeans的跨特征联邦聚类方法一般由服务器105执行,相应地,基于知识联邦的聚类装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的基于kmeans的跨特征联邦聚类方法也可以由终端设备101、102、103执行,相应的,基于知识联邦的聚类装置也可以设置于终端设备101、102、103中。
86.并且,上述实施例的第一方面与第二方面所提供的方法可以分别在不同的终端设备执行,或者由不同的服务器执行,例如,由终端设备101作为协调方执行上述实施例中第一方面提供的方法,由终端设备102作为参与方执行上述实施例中第二方面提供的方法,本示例性实施例中对此不做特殊限定。
87.基于上述系统架构,第一方面,本公开实施例提供一种基于kmeans的跨特征联邦聚类方法,其中,该知识联邦包括多个参与方,样本对象的多种特征数据分别存储在不同的参与方。
88.知识联邦旨在确保各个参与方数据不离开本地的情况下,各参与方交换数据中的知识,从而建立一个充分利用各个参与方数据的模型,达到“数据可用不可见,知识共创可共享”的目的。根据各个参与方数据分布的特点,知识联邦可分为跨特征联邦、跨样本联邦以及复合型联邦。
89.其中,跨特征联邦是指每个参与方的数据具有相同的样本,但各方的参与的特征是独立的,即每个参与方都有与同一样本对应的不同特征数据,跨特征联邦的目的是为了在特征和标签数据均不出本地的情况下充分利用所有方的特征数据,获取一个比仅仅使用本方特征训练的模型效果更优的联邦模型。
90.如图2所示,本公开实施例提供的基于kmeans的跨特征联邦聚类方法可以包括以下步骤:
91.步骤s21:接收各个参与方发送的第一距离,其中,所述第一距离为样本对象在参与方本地存储的特征数据与所述参与方的聚类中心之间的距离。
92.步骤s22:结合各个所述参与方的第一距离,确定所述样本对象与各个聚类中心的联邦距离。
93.步骤s23:根据所述联邦距离确定所述样本对象的聚类标签。
94.步骤s24:将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类。
95.在该实施例中,执行上述步骤的终端或者服务器可以作为协调方。对于协调方来说,接收到所有的参与方发送的第一距离,结合所有数据对样本对象进行聚类,能够在不侵犯各参与方数据隐私的前提下,充分地利用数据,提高数据的共享性;并且由于参与聚类的数据覆盖到了所有参与方,因此极大地提高了数据聚类的准确性。
96.下面对本公开实施例中的各个步骤进行详细说明。
97.步骤s21中,接收各个参与方发送的第一距离,其中,所述第一距离为样本对象在参与方本地存储的特征数据与所述参与方的聚类中心之间的距离。
98.本实施方式中,参与方可以是各种机构、企业或个人,所有请求加入联邦建模的数据提供方都可以作为参与方。
99.参与方本地存储有样本对象的特征数据,样本对象可以包括各种事物对象,例如图像、语音等或用户对象;特征数据可以包括样本对象的多个维度的特征,例如样本对象为用户a,特征数据为该用户的年龄、性别、身高等;本实施方式对以上均不做特殊限定。
100.参与方在自己本地计算出第一距离后,将计算得到的第一距离发送至协调方。第一距离为参与方本地存储的特征数据与其聚类中心之间的距离,该第一距离可以通过欧式平方距离来计算。并且,通过其他满足条件的距离算法也可以计算第一距离。参与方的聚类
中心可以预先确定,例如人工选取一组特征数据作为聚类中心的初始值等。聚类中心的数量可以根据实际需求确定,确定聚类中心之后再将本地存储的其他特征数据一一与聚类中心进行计算,得到每个特征数据与每个聚类中心之间的第一距离。
101.聚类是指利用特定的准则把数据集划分成不同的类或簇,使得相似的数据属于同一个类簇,差异较大的数据则分布在不同的类簇中,是一种常用的数据分析方法。常用的聚类算法包括kmeans、mean

shift、分层聚类等等,其中由于kmeans算法适用于大数据量聚类、算法高效等优点,是最为常用的聚类算法之一。
102.本实施方式中,参与方可以包括多个聚类中心,该初始的聚类中心可以由参与方选取,例如人工指定k个样本作为聚类中心等。
103.示例性的,其中一个参与方随机确定k个目标样本标识,将所述目标样本标识对应的特征数据作为所述聚类中心,并将所述目标样本标识发送至其他参与方,以使其他参与方确定各自的聚类中心的初始值。
104.样本标识用于唯一标识样本对象,同一样本对象在不同的参与方中可以存储不同的特征数据。其中一个参与方可以随机选取k个样本标识作为目标样本标识。每个参与方接收到目标样本标识后,就将自己本地中与该目标样本标识相对应的特征数据作为聚类中心,可以保证不同参与方的聚类中心的初始值为同一样本对象。举例而言,如k=5时,目标样本标识为1、2、5、7、8,则参与方a的聚类中心则为1、2、5、7、8样本标识对应样本对象的本地存储的特征数据,参与方b的聚类中心也为这5个样本标识对应样本对象的本地存储的特征数据,即参与方a与参与方b的聚类中心为同样的5个样本。每个聚类中心有相同的聚类中心类簇标识,示例性的,当k=5时,每个聚类类簇的标识可以是1、2、3、4、5。
105.步骤s22中,结合各个所述参与方的第一距离,确定所述样本对象与各个聚类中心的联邦距离。
106.本实施方式中,综合各个参与方中样本对象的第一距离,来总的确定各个样本与各个聚类中心的联邦距离。具体的,针对同一样本标识对应的样本对象,将所述样本对象在各个参与方中到相同类簇对应的聚类中心的第一距离进行加和,得到所述样本对象与每个类簇的聚类中心之间的联邦距离。本实施方式中,聚类中心的标识可以自行定义,例如对每个聚类中心进行编号,作为每个聚类中心的标识。示例性的,当有5个聚类中心时,每个聚类类簇的标识可以是1、2、3、4、5。
107.样本与聚类中心的联邦距离可以为各个参与方中该样本与该聚类中心的第一距离之和,也就是说,对于样本对象a,和聚类中心1,在参与方a中存储的样本对象a的特征数据与聚类中心1之间的第一距离加上参与方b中样本对象a的特征数据与参与方b的聚类中心1之间的第一距离,依次累加,最终得到的和即为样本对象a与聚类中心1之间的联邦距离。
108.举例来说,对于样本对象a,在参与方a中,样本对象a的特征数据a1与参与方a的各个聚类中心的第一距离分别为d1、d2、d3、

、dk(k为聚类中心的个数),在参与方b中,样本对象a的特征数据a2与参与方b的各个聚类中心的第一距离分别为n1、n2、n3、

、nk,则样本对象a与第一个聚类中心的联邦距离为d1 n1,样本对象a与第二聚类中心的联邦距离为d2 n2等等,依次类推,可以得到样本对象a分别与k个聚类中心的联邦距离。
109.步骤s23中,根据所述联邦距离确定所述样本对象的聚类标签。
110.本实施方式中,结合所有参与方计算出每个样本对象与各个聚类中心的联邦距离之后,可以将样本对象进行聚类,即将样本对象划分至其中的一个类簇中。具体的,根据所述样本对象与各个聚类中心的联邦距离中的最小值,确定所述样本对象对应的目标聚类中心;将所述目标聚类中心对应的类簇标识作为所述样本对象的聚类标签。
111.举例而言,对于样本对象a,计算出a与各个聚类中心的联邦距离后,将联邦距离最小值对应的聚类中心作为样本对象a的目标聚类中心,则需要将样本对象a划分到目标聚类中心所在的类簇中。需要理解的是,每个聚类中心对应一个类簇。示例性的,将目标聚类中心对应的目标样本标识作为样本对象的聚类标签,例如当聚类中心1与样本对象a的联邦距离最小时,则聚类标签为“1”。
112.步骤s24中,将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类和聚类中心更新。
113.将各个样本对象的聚类标签返回至各个参与方,当参与方接收到各个样本对象的聚类标签后可以将该样本对象对应的特征数据划分到对应的类簇中。同时,将本方的聚类中心更新为新划分后的类簇的中心。
114.本实施方式中,上述过程可以反复进行,即,反复进行聚类,直到样本对象的聚类符合预设条件为止,确保聚类的准确性。具体的,该方法包括步骤s31、步骤s32以及步骤s33,如图3所示。
115.步骤s31中,接收各个所述参与方发送的偏移量,其中,所述偏移量为所述参与方进行聚类之后的类簇的新聚类中心与聚类之前的所述聚类中心之间的偏移量。参与方获取到协调方返回的聚类标签后,根据聚类标签对样本对象进行了划分,划分后得到各个类簇,然后重新计算划分后的类簇的新聚类中心,新聚类中心可以通过计算类簇中特征数据的平均值来确定。得到新聚类中心之后,计算新聚类中心与之前的聚类中心之间的偏移量,该偏移量可以通过欧式平方距离来计算,用于衡量聚类中心的变化量。参与方将自己的每个类簇的偏移量计算出来之后发送至协调方。
116.步骤s32中,根据各个所述参与方发送的偏移量,计算每一类簇的联邦偏移量。示例性的,对于第一个类簇,将各个参与方的该类簇的偏移量进行求和,得到该类簇的联邦偏移量,同理的,得到每个类簇的联邦偏移量。
117.步骤s33中,根据所述每一类簇的联邦偏移量确定是否继续聚类,若继续聚类则基于当前的类簇更新所述样本对象的聚类标签。示例性的,协调方可以判断联邦偏移量是否超出最小变化阈值,如果联邦偏移量超出最小变化阈值,则可以继续聚类;如果没有超出最小变化阈值则可以结束聚类。如果继续聚类,则将步骤s21至步骤s24重新执行一次,获得第二次划分的类簇,然后可以根据当前的类簇的联邦偏移量再次判断是否需要继续聚类,反复迭代,直到联邦偏移量不超过最小变化阈值时停止迭代,最终得到的聚类则为各个参与方的最后的聚类结果。其中,最小变化阈值可以根据实际情况确定,例如,0.5、0.2等等,本实施方式对此不做特殊限定。
118.协调方计算出每个类簇的联邦偏移量之后,可以将每一类簇的联邦偏移量发送至各个参与方,以使参与方来确定是否继续聚类。
119.此外,是否需要继续聚类还可以由聚类次数来确定,具体的,记录当前的聚类次数;当所述聚类次数超过预定迭代次数时,结束聚类;当所述聚类次数未超过所述预定迭代
次数时,继续聚类。其中,聚类次数初始为零,每进行一次聚类,聚类次数加1,当聚类次数超过预定迭代次数时,结束聚类。
120.第二方面,本实施方式还提供一种基于kmeans的跨特征联邦聚类方法。如图4所示,该方法包括以下步骤:
121.步骤s41:从本地存储的特征数据中确定聚类中心。
122.步骤s42:计算样本对象对应的本地存储的特征数据分别与各个所述聚类中心的第一距离。
123.步骤s43:将所述第一距离发送至所述协调方,通过所述协调方确定所述特征数据的聚类标签,以对所述样本对象进行聚类。
124.执行上述步骤的终端或服务器可以作为参与方,与知识联邦中的协调方进行交互。
125.对于参与方来说,根据自己本地存储的特征数据计算第一距离,利用第一距离从协调方获得聚类标签,能够保证本地的数据安全,在数据安全的前提下,完成数据的聚类。
126.其中,步骤s41中,从本地存储的特征数据中确定聚类中心。
127.示例性的,若为第一次聚类,参与方可以接收其中一个参与方所发送的目标样本标识,将所述目标样本标识对应的特征数据作为所述聚类中心的初始值。目标样本标识可以由其中一个参与方随机选取,也可以预先确定特定的样本对象。此外,若为非第一次聚类,参与方接收协调方发送来的各样本聚类标签,根据各样本的聚类标签重新对其进行聚类,求取新聚类类簇的中心,将各个聚类中心更新为对应新聚类类簇的中心。
128.步骤s42中,计算样本对象对应的本地存储的特征数据分别与各个所述聚类中心的第一距离。
129.参与方选择出聚类中心后,将本地存储的所有特征数据与每个聚类中心分别进行计算,计算每个特征数据与聚类中心之间的第一距离,将计算的结果发送至协调方。举例来说,参与方i的聚类中心为:其中,k为聚类中心的个数,为参与方i的特征数据,n为样本对象总数,参与方i的第一距离为:其中,为第n个样本对象与第j个聚类中心的第一距离。该距离算法可以为欧式平方距离。
130.步骤s43中,将所述第一距离发送至所述协调方,通过所述协调方确定所述特征数据的聚类标签,以对所述样本对象进行聚类。
131.将第一距离发送至协调方之后,协调方可以计算样本对象的联邦距离,即样本对象在所有参与方的第一距离之和,将和的最小值对应的聚类中心作为该样本对象的类簇,从而确定该样本对象的聚类标签,并返回给参与方。示例性的,假设有两个参与方,分别为p1和p2,则每个样本对象的联邦距离其中,x与c的上标(1)、(2)指的得是参与方p1和参与方p2,计算出的d则为样本对象与k个聚类中心的联邦距
离。联邦距离的最小值对应的聚类中心可以作为样本对象的聚类标签。例如,聚类标签为:离。联邦距离的最小值对应的聚类中心可以作为样本对象的聚类标签。例如,聚类标签为:其中,label为d
n
中最小值对应的聚类中心的索引,即聚类类簇的标识。协调方计算出聚类标签后发送给参与方,参与方根据聚类标签对本地的特征数据进行聚类。
132.示例性实施方式中,对样本对象进行聚类的过程可以多次迭代,如图5所示,该方法包括以下步骤:
133.步骤s51中,根据各个特征数据的所述聚类标签对各个所述特征数据进行聚类,得到多个类簇,其中一个所述聚类中心对应一个类簇。
134.参与方接收到协调方发送过来的聚类标签后,根据每个样本对象的聚类标签确定本地存储的每个特征数据所属的类簇,将特征数据划分到对应的类簇中。类簇与聚类中心相对应,每个类簇有一个聚类中心点。
135.步骤s52中,根据聚类后得到的类簇,计算所述类簇的新聚类中心。
136.新聚类中心是类簇的聚类中心点,因此根据聚类后的类簇,计算类簇中包含的所有特征数据的平均值,得到结果可以作为新聚类中心。
137.步骤s53中,计算每一类簇的所述新聚类中心与所述聚类之前的所述聚类中心之间的偏移量。
138.利用计算距离的算法,如欧式平方距离等可以计算新聚类中心与之前的聚类中心之间的距离,将计算得到的结果作为两个聚类中心之间的偏移量。
139.步骤s54中,根据每一类簇的所述偏移量确定是否继续聚类,若继续聚类则更新所述特征数据的聚类标签。
140.参与方可以判断计算出的偏移量是否超出预设阈值,如果超出预设阈值则可以确定需要继续聚类;如果没有超出预设阈值则不需要继续聚类。或者,每个参与方可以将计算出的每个类簇的偏移量发送至协调方,通过协调方计算出每个类簇在所有参与方的总的联邦偏移量,将联邦偏移量再发送给各个参与方,参与方利用联邦偏移量来确定是否继续聚类。如果联邦偏移量没有超出最小变化阈值,则不继续聚类,如果联邦偏移量超出最小变化阈值则继续聚类。再或者,可以通过聚类次数来确定是否需要继续聚类,参与方本地可以对聚类次数进行记录,该聚类次数初始为0,每聚类一次,聚类次数加1,如果当前的聚类次数超出最大迭代次数,则停止聚类,若没超过则继续聚类。
141.示例性实施方式中,如图6所示,该方法可以包括以下步骤:
142.步骤s61:将各个类簇的所述偏移量发送至所述协调方,以通过所述协调方确定各个类簇的联邦偏移量。
143.对于某一个类簇来说,其联邦偏移量为各参与方的偏移量之和。协调方获取到各个参与方的偏移量后,可以针对每个类簇将各参与方的数据进行加和,得到每个类簇的联邦偏移量,再发送回参与方。
144.步骤s62:根据所述各个类簇的所述联邦偏移量确定是否继续聚类,若继续聚类,则重新计算各样本对象的所述特征数据与当前的所述新聚类中心的第一距离。
145.如果联邦偏移量超出最小变化阈值,则继续聚类。若继续聚类,则参与方根据上一次聚类后划分的类簇,重新计算各样本对象与当前类簇的新聚类中心的第一距离。
146.步骤s63:将重新计算得到的第一距离发送至所述协调方,以更新所述特征数据的
聚类标签。
147.将再次计算得到的第一距离发送至协调方,通过协调方根据第一距离确定各个样本对象对应的目标类簇,从而得到各个特征数据的聚类标签,该聚类标签即为目标类簇对应的目标样本标识。
148.可以理解的是,上述图6中的步骤可以反复迭代执行,每得到一次聚类标签可以对类簇进行重新划分,进而重新计算类簇的偏移量,确定是否继续聚类,若继续聚类则更新当前类簇的聚类中心,计算各特征数据与当前类簇的聚类中心的第一距离,利用第一距离再得到特征数据的聚类标签,再进行聚类,依次迭代,直到聚类次数超过最大迭代次数,或者联邦偏移量不超过最小变化阈值时,停止迭代,得到最终的聚类结果。
149.示例性实施方式中,如图7所示,本公开提供的基于kmeans的跨特征联邦聚类方法可以包括以下步骤:
150.步骤s71中,参与方701发起聚类请求,并选取目标样本标识,将目标样本标识对应的特征数据作为聚类中心的初始值。步骤s72中,参与方701将目标样本标识发送至其他各个参与方,本实施方式中以参与方702为例,即,将目标样本标识发送至参与方702,以供参与方702确定聚类中心。步骤s73中,各参与方计算特征数据与聚类中心的第一距离。也就是说,参与方701计算自己的特征数据与自己的聚类中心之间的第一距离,参与方702计算自己本地的特征数据与自己的聚类中心之间的第一距离。步骤s74中,参与方将第一距离发送至协调方703。步骤s75中,协调方根据第一距离计算每个样本对象与各个聚类中心之间的联邦距离。步骤s76中,协调方根据联邦距离确定各样本对象的聚类标签。步骤s77中,协调方将聚类标签返回给各个参与方。步骤s78中,参与方701接收到聚类标签后将该聚类标签对应的样本对象的特征数据划分到对应的类簇中。参与方702同理。步骤s79中,参与方701根据聚类后的类簇计算聚类中心,并计算偏移量,将偏移量发送至协调方703。步骤s80中,协调方计算联邦偏移量,返回至各个参与方。步骤s81中,参与方判断联邦偏移量是否超出最小变化阈值s,若超出,则转到步骤s73,循环执行;若未超出,则结束聚类,各参与方均可以得到最终的聚类结果。可以理解的,各个参与方的最小变化阈值s相同,若参与方701的联邦偏移量超出s,则参与方702的联邦偏移量也会超出s,即,每个参与方的联邦偏移量均超出最小变化阈值。此外,在步骤s81中,可以同时判断联邦偏移量与聚类次数,若联邦偏移量超出最小变化阈值s,或者当前的聚类次数超出最大迭代次数,两个条件中任何一个条件成立则可以判定继续聚类,若两个条件均不成立则结束聚类。
151.在聚类结束之后,协调方还可以计算聚类的评价指标,来量化聚类结果的好坏。具体的,获取参与方计算的样本对象对应的类内距离和类间距离;结合各个参与方的同一样本对象的所述类内距离和所述类间距离计算聚类评价指标,并返回至所述参与方。
152.在聚类结束之后,参与方可以根据当前的各个类簇,计算每个特征数据与其在同一类簇内的特征之间的距离的平均值,作为类内距离;计算与其在不同类的特征之间的距离的平均值作为类间距离,示例性的,类间距离可以计算样本对象与其最近的类簇(相邻类簇)中的样本对象之间的距离。其中距离的计算方式可以是欧式平方距离,也可以是其他距离计算算法,本实施方式对此不做特殊限定。根据各个参与方的类内距离和类间距离可以计算距离评价指标,例如轮廓系数(silhouette coefficient)、chi(calinski

harabaz index)、dbi(davies

bouldin index)指标等。
153.举例而言,对于轮廓系数指标来说,参与方根据聚类标签计算每个样本对象与类内特征之间的欧氏平方距离并求平均值得到a
i
,并计算其与邻簇内样本特征之间的欧氏平方距离并求平均值b
i
,并将a
i
和b
i
发送给协调方。协调方根据所有参与方发送来的每个样本对应的a
i
和b
i
,对所有参与方同一样本的a
i
进行累和,得到单个样本的联邦类内距离,同样地,对所有参与方的同一样本的b
i
求和,得到单个样本的联邦类间距离,根据联邦类内距离和联邦类间距离求得单个样本的联邦轮廓系数sc
i
,轮廓系统可以通过下式计算:将所有样本的轮廓系数sc
i
进行求平均,即可得到聚类结果的轮廓系数指标sc,即,其中,n为样本的数量。协调方计算出sc后将sc发送给所有参与方;参与方接收协调方发送来的sc,从而得到轮廓系数评价指标。
154.对于chi指标来说,参与方首先计算出本地的所有特征数据的平均值,作为所有样本中心点,然后计算每个类簇中样本的中心点与上述平均值之间的距离c
k
,并计算每个类簇内各个样本与簇中心点的距离之和d
k
,并将c
k
、d
k
发送给协调方。协调方接收所有参与方发送来的每个簇的c
k
、d
k
;对每个簇,将所有参方对应的c
k
求和,同样地,对所有参与方对应的d
k
求和,从而计算chi指标。示例性的,其中,k为聚类的类簇的个数;n
k
为类簇k内样本总个数;c
k
为簇k中样本的中心点与所有样本中心点之间的距离;d
k
为簇k内的样本与该簇中心点之间的距离之和。计算出该指标后,将该指标发送给所有参与方。
155.对于dbi指标来说,参与方计算每一个簇的中心点与其他簇中心点之间的距离d
ij
,并计算该簇内所有样本与簇中心点之间的平均距离s
i
,将计算的结果发送给协调方,协调方将所有参与方的s
i
进行求和,得到联邦s
i
,同样地,将所有参与方的d
ij
进行求和,得到联邦的d
ij
;然后通过公式:来计算dbi指标。其中,s
i
为簇i内样本与该簇中心点之间的平均距离,其中,d
ij
为簇i与簇j的中心点之间的距离。计算出dbi指标后,将dbi指标发送至各个参与方。
156.参与方通过聚类评价指标可以评价聚类效果的好坏,如果聚类效果较差还可以对聚类进行进一步的优化,提高聚类准确性。举例来说,其中sc的取值在[

1,1]之间,值越大表示同类样本相距较近,不同样本相距较远,聚类效果也越好;chi计算的是簇间距离与簇类距离的比值,值越大表示每个类簇本身越紧密,簇与簇之间越分散,即聚类结果越好;dbi用来计算类内距离之和与类外距离之比,下限为0,dbi指数越小,聚类性能越好。
[0157]
下面,本实施例以一组示例性的数据为例对以上步骤进行说明。
[0158]
假设机构(参与方)a、b均有共同的样本对象10000个,其中a方拥有这10000个样本的2维特征数据,机构b拥有这10000个样本的其他3维特征数据,两机构的特征数据分布如下表所示:
[0159][0160][0161][0162]
现机构a希望联邦机构b方的特征数据对这10000个样本进行聚类,因此机构a发起联邦聚类的请求且机构b同意参与;同时机构c同意加入此次联邦聚类,且机构a、b均同意机构c作为此次联邦聚类的协调方。具体聚类实施步骤如下所示:
[0163]
步骤一:机构a作为发起方先将聚类参数发送给参与方b,该聚类参数可以包括最大迭代次数:如300;最小变化阈值:如1e

4,类簇的个数为2等。同时在样本中随机选择一组目标样本作为聚类簇的初始聚类中心,并将目标样本的样本标识发送给机构b。如机构a随机选择的样本对象为1和9999,则机构a的2个初始的聚类中心为:
[0164]
聚类中心序号特征1特征210.15.521.22.3
[0165]
其中,聚类中心序号与自定义的2个编号,如上表中的1和2。
[0166]
步骤二:机构b接收机构a发送来的聚类参数和聚类中心的样本标识号,得到本方初始的聚类中心,如机构b的通过样本标识得到初始的聚类中心如下:
[0167]
聚类中心序号特征3特征4特征5172.81293.25
[0168]
步骤三:机构a、b分别本地计算每个样本与本方聚类中心的欧氏平方距离,将所有样本与聚类中心的距离发送给机构c;如机构a、机构b每个样本与聚类中心的距离如下表所示:
[0169][0170][0171]
步骤四:机构c接收机构a、b发送来的所有样本分别与两个聚类中心的距离,对相同索引样本的相应聚类中心的距离进行求和从而得到每个样本的聚类标签,相同索引样本指的是样本标识相同的样本,其中聚类标签为距离之和最小的聚类中心的索引值,如对两方发送来的两表的距离进行对应位置求和,以及根据求和后得到的聚类标签如下所示:
[0172][0173]
[0174]
根据上表中每个样本与每个聚类中心的联邦距离,可知,距离最小的聚类中心,进而得到样本的聚类标签如下:
[0175]
样本序号聚类标签112132
……
99992100002
[0176]
步骤五:机构c得到样本的聚类标签后,发送给结构a、b。机构a、b接收机构c发来的聚类标签,根据聚类标签将本方样本划分成两类,并计算两类样本的聚类中心,即两类样本特征的平均值,得到新的聚类中心,并计算新的聚类中心与原聚类中心之前的欧氏平方距离,即偏移量,并将此偏移量发送给协调方c。如a、b的新聚类中心为
[0177][0178][0179]
则机构a、b可计算得到新旧聚类中心的偏移量分别为:
[0180][0181][0182]
步骤六:机构c接收机构a、b发送来的聚类中心的偏移量,对对应聚类中心的进行累和,得到联邦偏移量,并将联邦偏移量送给a、b两方;如根据上表中求得的每个类簇的联邦偏移量如下所示:
[0183]
聚类中心序号偏移量11.8722.76
[0184]
步骤七:机构a、b两方接收机构c发送来的联邦偏移量;若每个联邦偏移量均小于阈值1e

4或迭代次数达到最大迭代次数300次,训练停止;否则,将重新划分的类簇更新为当前的类簇,将步骤五中计算的新的聚类中心作为当前的聚类中心,重复上述步骤三至步骤七,获得最终的聚类结果。
[0185]
聚类结束之后计算距离评价指标的步骤如下:
[0186]
机构a、b:根据最终的聚类标签将本方样本划分成不同的类簇:对每个簇内的样本两两之间计算欧式平方距离;对每个簇内的样本计算其与最近邻簇内的所有样本之间的欧氏平方距离。然后对每个样本统计与其簇内样本之间距离的平均值a
i
,并统计其内最近邻簇内样本之间距离的平均值b
i
,并将a
i
和b
i
发送机构c。示例性的,机构a的类内距离与类间距离如下:
[0187][0188]
机构b的类内距离与类间距离如下:
[0189][0190]
机构c接收机构a、b发送来的所有样本与类内样本之间平均距离以及与最近邻内样本的平均距离,并对每个样本的距离进行聚合,并求得每个样本的sc
i
,计算该指标的公式上述实施例中已经介绍过,此处不再赘述。每个样本的sc
i
如下表:
[0191][0192]
利用所有样本的sc
i
可以计算最终的sc,发送给机构a与机构b。机构a与b接收到sc之后可以对聚类效果进行评价,从而为后续的应用或优化作参考。
[0193]
通过上述实施方式中的聚类方法,参与方可以在不泄露本方数据的情况下,结合其他参与方对样本进行聚类,充分地利用了各方数据中的“知识”,实现数据可用并同时保证数据隐私安全;并且参与聚类的样本覆盖了各个参与方,数据比较全面,大大地提高了聚类的准确性。
[0194]
以下介绍本公开的装置实施例,可以用于执行本公开实施例中第一方面所述的基于kmeans的跨特征联邦聚类方法。参考图8,本公开实施例提供一种基于知识联邦的聚类装置,其中,所述知识联邦包括多个参与方,样本对象的多种特征数据分别存储在不同的参与方。具体的,该装置80可以包括:距离数据获取模块81,用于接收各个参与方发送的第一距离,其中,所述第一距离为样本对象在参与方本地存储的特征数据与所述参与方的聚类中心之间的距离;联邦距离计算模块82,用于结合各个所述参与方的第一距离,确定所述样本对象与各个聚类中心的联邦距离;聚类模块83,用于根据所述联邦距离确定所述样本对象的聚类标签;聚类结果返回模块84,用于将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类。
[0195]
在本公开的示例性实施方式中,所述装置还包括:样本筛选模块,用于随机确定一组目标样本标识,发送至各个所述参与方,以使所述参与方根据所述目标样本标识确定各自的聚类中心的初始值;其中,所述参与方的聚类中心实始值为所述参与方本地存储的所述目标样本标识对应的特征数据。
[0196]
在本公开的示例性实施方式中,所述距离计算模块82用于:针对同一样本标识对应的样本对象,将所述样本对象在各个参与方中到相同类簇对应的聚类中心的第一距离进行加和,得到所述样本对象与每个类簇的聚类中心之间的联邦距离。本实施方式中,聚类中心的标识可以自行定义,例如对每个聚类中心进行编号,作为每个聚类中心的标识。。
[0197]
在本公开的示例性实施方式中,聚类模块83包括:目标类确定模块,用于根据所述样本对象与各个聚类中心的联邦距离中的最小值,确定所述样本对象对应的目标聚类中心;标签确定模块,用于将所述目标聚类中心对应的聚类类簇标识作为所述样本对象的聚类标签。
[0198]
在本公开的示例性实施方式中,所述装置还包括:偏移计算模块,用于接收各个所述参与方发送的偏移量,其中,所述偏移量为所述参与方进行聚类之后的类簇的新聚类中心与聚类之前的所述聚类中心之间的偏移量;联邦偏移确定模块,用于根据各个所述参与
方发送的偏移量,计算每一类簇的联邦偏移量;循环判定模块,用于根据所述每一类簇的联邦偏移量确定是否继续聚类,若继续聚类则基于当前的类簇标识更新所述样本对象的聚类标签。
[0199]
在本公开的示例性实施方式中,所述循环判定模块具体可用于:将所述每一类簇的联邦偏移量发送至各个参与方,以使所述参与方确定是否继续聚类。
[0200]
在本公开的示例性实施方式中,所述循环判定模块可包括:聚类次数记录模块,用于记录当前的聚类次数;结束聚类模块,用于当所述聚类次数超过预定迭代次数时,结束聚类;继续聚类模块,用于当所述聚类次数未超过所述预定迭代次数时,继续聚类。
[0201]
在本公开的示例性实施方式中,所述装置还包括:聚类参数计算模块,用于获取参与方计算的样本对象对应的类内距离和类间距离;评价指标确定模块,用于结合各个参与方的同一样本对象的所述类内距离和所述类间距离计算聚类评价指标,并返回至所述参与方。
[0202]
进一步的,本实施方式还提供一种基于知识联邦的聚类装置,如图9所示,可以用于执行本公开第二方面所述的基于kmeans的跨特征联邦聚类方法。
[0203]
参考图9,该基于知识联邦的聚类装置90包括:聚类中心确定模块91,用于从本地存储的特征数据中确定聚类中心的初始值,根据聚类标签更新聚类簇,更新聚类中心;聚类中心更新模块,用于根据聚类后得到的类簇,更新聚类中心;距离计算模块92,用于计算样本对象对应的本地存储的特征数据分别与各个所述聚类中心的第一距离;聚类确定模块93,用于将所述第一距离发送至所述协调方,通过所述协调方确定所述特征数据的聚类标签,以对所述样本对象进行聚类。
[0204]
在本公开的示例性实施方式中,聚类中心确定模块91用于:接收一个参与方发送的目标样本标识,将所述目标样本标识对应的特征数据作为所述聚类中心的初始值。
[0205]
在本公开的示例性实施方式中,所述聚类确定模块93包括:类簇划分模块,用于根据各个特征数据的所述聚类标签对各个所述特征数据进行聚类,得到多个类簇,其中一个所述聚类中心对应一个类簇;聚类中心计算模块,用于根据聚类后得到的类簇,计算所述类簇的新聚类中心;中心偏移计算模块,用于计算每一类簇的所述新聚类中心与所述聚类之前的所述聚类中心之间的偏移量;聚类迭代模块,用于根据每一类簇的所述偏移量确定是否继续聚类,若继续聚类则更新所述特征数据的聚类标签。
[0206]
在本公开的示例性实施方式中,所述聚类迭代模块包括:联邦偏移计算模块,用于将各个类簇的所述偏移量发送至所述协调方,以通过所述协调方确定各个类簇的联邦偏移量;迭代判定模块,用于根据所述各个类簇的所述联邦偏移量确定是否继续聚类,若继续聚类,则重新计算各样本对象的所述特征数据与当前的所述新聚类中心的第一距离;标签更新模块,用于将重新计算得到的第一距离发送至所述协调方,以更新所述特征数据的聚类标签。
[0207]
由于本公开的示例实施例的基于知识联邦的聚类装置的各个功能模块与上述基于kmeans的跨特征联邦聚类方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的基于kmeans的跨特征联邦聚类方法的实施例。
[0208]
下面参考图10,其示出了一种适于用来实现本公开实施例的电子设备的计算机系统1000的结构示意图。图10示出的电子设备的计算机系统1000仅是一个示例,不应对本公
开实施例的功能和使用范围带来任何限制。
[0209]
如图10所示,计算机系统1000包括中央处理单元(cpu)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。在ram 1003中,还存储有系统操作所需的各种程序和数据。cpu 1201、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
[0210]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0211]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的上述功能。
[0212]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0213]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要
注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0214]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0215]
作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的基于kmeans的跨特征联邦聚类方法。
[0216]
例如,所述的电子设备可以实现如图2中所示的:步骤s21:接收各个参与方发送的第一距离,其中,所述第一距离为样本对象在参与方本地存储的特征数据与所述参与方的聚类中心之间的距离;步骤s22:结合各个所述参与方的第一距离,确定所述样本对象与各个聚类中心的联邦距离;步骤s23:根据所述联邦距离确定所述样本对象的聚类标签;步骤s24:将所述聚类标签返回至各个参与方,以使所述参与方对本地存储的特征数据进行聚类。
[0217]
又如,所述的电子设备可以实现如图3

7所示的各个步骤。
[0218]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0219]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
[0220]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0221]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献