CN112381163B - 一种用户聚类方法、装置及设备 - Google Patents
一种用户聚类方法、装置及设备 Download PDFInfo
- Publication number
- CN112381163B CN112381163B CN202011307323.7A CN202011307323A CN112381163B CN 112381163 B CN112381163 B CN 112381163B CN 202011307323 A CN202011307323 A CN 202011307323A CN 112381163 B CN112381163 B CN 112381163B
- Authority
- CN
- China
- Prior art keywords
- data source
- data
- user
- feature
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Abstract
本发明提供用户聚类方法、装置及设备,其中,方法包括:第一数据源确定第一聚类中心,第一聚类中心是预聚类的k个聚类中心中的任一个,第一数据源根据第一数据源拥有的第一用户的特征数据以及第一数据源拥有的第一聚类中心对应的用户的特征数据,计算第一用户与第一聚类中心之间的第一距离估计值,第一数据源根据第一距离估计值生成至少一个第一特征数,并发送给m个数据源中的第二数据源,根据至少一个第一特征数与第二距离估计值获取第一用户与第一聚类中心之间的实际距离,根据所述实际距离,对所述第一用户进行聚类。该技术方案可以保证在数据信息不出本地的情况下,对多数据源的用户进行聚类,聚类结果准确、可靠。
Description
技术领域
本发明涉及数据挖掘领域,尤其涉及一种用户聚类方法、装置及设备。
背景技术
现如今,聚类算法的应用越来越广泛,通常会对各个数据源所拥有的多个相同用户进行聚类,例如,对各个银行所拥有的信用卡用户进行聚类,从而可以识别高风险用户,有利于商业银行防范和化解信用卡风险,完善信用卡违约风险管理工作。而对用户进行聚类时,计算用户到各个聚类中心之间的距离成为一个非常重要的步骤。
目前,各个数据源为了保障自己所拥有的用户特征数据的安全性,各个数据源之间是不进行数据共享的,因此,现有技术各个数据源在计算用户到聚类中心的距离时,不会参考别的数据源所拥有的用户特征数据,而仅仅参考自身所拥有的用户特征数据进行距离计算,聚类结果不准确。或者,各个数据源将自身所拥有的用户特征数据发送给第三方服务器,由第三方服务器根据各个数据源所拥有的用户特征数据计算用户到聚类中心之间的距离,从而完成聚类,这种方式,各个数据源需要将自身所拥有的用户特征数据发送出本地,因此有泄露本地所拥有的用户特征数据的风险。
发明内容
本发明实施例提供一种用户聚类方法、装置及设备,在对用户进行聚类时,可以保证用户特征数据不出本地,确保用户特征数据不被泄露,保障数据的安全性,并且还可以联合各个数据源所拥有的用户特征数据进行距离的计算,保障聚类结果的准确性。
第一方面,提供一种用户聚类方法,所述方法适用于通信系统,所述通信系统包括m个数据源,m为大于或者等于2的整数,所述方法包括:
第一数据源确定第一聚类中心,所述第一聚类中心是预聚类的k个聚类中心中的任一个,所述k个聚类中心对应k个用户,一个聚类中心对应一个用户,所述k个用户是待分类的n个用户中的用户,所述第一数据源是所述m个数据源中的任一个,所述n为整数,且n>1;
所述第一数据源根据所述第一数据源拥有的第一用户的特征数据以及所述第一数据源拥有的所述第一聚类中心对应的用户的特征数据,计算所述第一用户与所述第一聚类中心之间的第一距离估计值,所述第一用户为所述n个用户中除所述k个用户外的任一用户;
所述第一数据源根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中的第二数据源;
所述第一数据源获取所述第一用户与所述第一聚类中心之间的实际距离,其中,所述实际距离是根据所述至少一个第一特征数与第二距离估计值生成的,所述第二距离估计值是根据所述第二数据源拥有的所述第一用户的特征数据和所述第一聚类中心对应的用户的特征数据计算得到的;
所述第一数据源根据所述实际距离,对所述第一用户进行聚类。
结合第一方面,在一种可能的实现方式中,所述第一数据源对所述第一距离估计值进行拆分,得到m-1个第一特征数;所述第一数据源将所述m-1个第一特征数分别发送给所述m个数据源中除所述第一数据源外的m-1个第二数据源,其中,一个第一特征数发送给一个第二数据源。
结合第一方面,在一种可能的实现方式中,所述m个数据源中包括主数据源和从数据源,所述第一数据源从所述m-1个第二数据源接收m-1个第二特征数,其中,一个第二特征数来自于一个第二数据源,所述第二特征数是根据所述第二距离估计值生成的;所述第一数据源计算所述m-1个第二特征数之和,获得第一累计值;若所述第一数据源为所述m个数据源中的主数据源,所述第一数据源从所述m-1个第二数据源接收m-1个第二累计值,并根据所述第一累计值与所述m-1个第二累计值,计算所述第一用户与所述第一聚类中心之间的实际距离,其中,一个第二累计值来源于一个第二数据源,所述第二累计值是根据所述第一特征数计算得到;若所述第一数据源为所述m个数据源中的从数据源,所述第一数据源向所述m个数据源中的主数据源发送所述第一累计值,并从所述主数据源接收所述第一用户与所述第一聚类中心之间的实际距离,所述实际距离是所述主数据源根据所述第一累计值与m-1个第二累计值计算得到,所述第二累计值是根据所述第一特征数计算得到。
结合第一方面,在一种可能的实现方式中,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的主数据源;所述第一数据源根据所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数;所述第一数据源将所述第一特征数发送给排列在所述第一数据源之后的且距离所述第一数据源最近的第二数据源。
结合第一方面,在一种可能的实现方式中,所述第一数据源从排列在最后的第二数据源接收第二特征数,并根据所述第二特征数确定所述第一用户与所述第一聚类中心之间的实际距离,所述第二特征数是根据所述第一特征数、m-1个第二距离估计值以及m-1个第二随机数生成的,一个第二距离估计值来源于所述m个数据源中的一个第二数据源,一个第二随机数来源于所述m个数据源中的一个第二数据源。
结合第一方面,在一种可能的实现方式中,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的从数据源,所述第一数据源从排列在所述第一数据源之前的且距离所述第一数据源最近的第二数据源接收第二特征数,所述第二特征数是根据至少一个第二距离估计值和至少一个第二随机数生成的,一个第二距离估计值来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源,一个第二随机数来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源;所述第一数据源根据所述第二特征数、所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数;所述第一数据源将所述第一特征数发送给排列在所述第一数据源之后的第二数据源。
结合第一方面,在一种可能的实现方式中,若所述第一数据源是所述m个数据源中的从数据源,所述第一数据源从所述m个数据源中的主数据源接收所述第一用户与所述第一聚类中心之间的实际距离。
第二方面,提供一种用户聚类装置,所述装置应用于通信系统中的第一数据源,所述通信系统包括m个数据源,m为大于或者等于2的整数,所述用户聚类装置包括:
确定模块,用于确定第一聚类中心,所述第一聚类中心是预聚类的k个聚类中心中的任一个,所述k个聚类中心对应k个用户,一个聚类中心对应一个用户,所述k个用户是待分类的n个用户中的用户,所述第一数据源是所述m个数据源中的任一个,所述n为整数,且n>1;
计算模块,用于根据所述第一数据源拥有的第一用户的特征数据以及所述第一数据源拥有的第一聚类中心对应的用户的特征数据,计算所述第一用户与所述第一聚类中心之间的第一距离估计值,所述第一用户为所述n个用户中除所述k个用户外的任一用户;
发送模块,用于根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中的第二数据源;
获取模块,用于获取所述第一用户与所述第一聚类中心之间的实际距离,其中,所述实际距离是根据所述至少一个第一特征数与第二距离估计值生成的,所述第二距离估计值是根据所述第二数据源拥有的所述第一用户的特征数据和所述第一聚类中心对应的用户的特征数据计算得到的;
聚类模块,用于根据所述实际距离,对所述第一用户进行聚类。
结合第二方面,在一种可能的实现方式中,特征数模块,用于:对所述第一距离估计值进行拆分,得到m-1个第一特征数,并将所述m-1个第一特征数分别发送给所述m个数据源中除所述第一数据源外的m-1个第二数据源,其中,一个第一特征数发送给一个第二数据源。
结合第二方面,在一种可能的实现方式中,所述m个数据源中包括主数据源和从数据源,获取模块,用于从所述m-1个第二数据源接收m-1个第二特征数,其中,一个第二特征数来自于一个第二数据源,所述第二特征数是根据所述第二距离估计值生成的,获取模块还用于计算所述m-1个第二特征数之和,获得第一累计值;若所述第一数据源为所述m个数据源中的主数据源,获取模块用于从所述m-1个第二数据源接收m-1个第二累计值,并根据所述第一累计值与所述m-1个第二累计值,计算所述第一用户与所述第一聚类中心之间的实际距离,其中,一个第二累计值来源于一个第二数据源,所述第二累计值是根据所述第一特征数计算得到;
结合第二方面,在一种可能的实现方式中,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的主数据源;发送模块,用于根据所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数,并将所述第一特征数发送给排列在所述第一数据源之后的且距离所述第一数据源最近的第二数据源。
结合第二方面,在一种可能的实现方式中,获取模块还用于从排列在最后的第二数据源接收第二特征数,并根据所述第二特征数确定所述第一用户与所述第一聚类中心之间的实际距离,所述第二特征数是根据所述第一特征数、m-1个第二距离估计值以及m-1个第二随机数生成的,一个第二距离估计值来源于所述m个数据源中的一个第二数据源,一个第二随机数来源于所述m个数据源中的一个第二数据源。
结合第二方面,在一种可能的实现方式中,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的从数据源;所述发送模块用于从排列在所述第一数据源之前的且距离所述第一数据源最近的第二数据源接收第二特征数,所述第二特征数是根据至少一个第二距离估计值和至少一个第二随机数生成的,一个第二距离估计值来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源,一个第二随机数来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源;所述发送模块还用于根据所述第二特征数、所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数,并发送给排列在所述第一数据源之后的第二数据源。
结合第二方面,在一种可能的实现方式中,若所述第一数据源是所述m个数据源中的从数据源,获取模块还用于从所述m个数据源中的主数据源接收所述第一用户与所述第一聚类中心之间的实际距离。
第三方面,提供用户聚类设备,包括处理器、存储器、以及输入输出接口,所述处理器、存储器和输入输出接口相互连接,其中,所述输入输出接口用于输入或输出数据,所述存储器用于存储用户聚类设备执行上述方法的应用程序代码,所述处理器被配置用于执行上述第一方面的方法。
第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明实施例中,第一数据源在计算用户到聚类中心的距离时,可以根据该数据源本地拥有的该用户的特征数据以及聚类中心对应的用户的特征数据,计算第一距离估计值,并根据该第一距离估计值生成至少一个第一特征数发送给其他第二数据源,从而保证用户特征数据不出本地,确保用户特征数据不被泄露,保障数据的安全性,并且第一数据源进行聚类时所使用的实际距离是根据该特征数和第二距离估计值生成的,该第二距离估计值是其他第二数据源所拥有的该用户的特征数据和聚类中心对应的用户的特征数据计算得到的,即本申请还可以联合各个数据源所拥有的用户特征数据进行距离的计算,保障聚类结果的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种用户聚类方法的流程示意图;
图2是本发明实施例提供的一种获取第一用户和第一聚类中心的实际距离的流程示意图;
图3是本发明实施例提供的另一种获取第一用户和第一聚类中心的实际距离的流程示意图;
图4是本发明实施例提供的另一种用户聚类方法的流程示意图;
图5是本发明实施例提供的一种用户聚类装置的组成结构示意图;
图6是本发明实施例提供的一种用户聚类设备的组成结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或电路的过程、方法、系统、产品或设备没有限定于已列出的步骤或电路,而是可选地还包括没有列出的步骤或电路,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或电路。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例的方案适用于多数据源的情况下对用户进行聚类的场景,在一个包括m个数据源的通信系统中,m为大于或者等于2的整数,第一数据源确定第一聚类中心,第一聚类中心是预聚类的k个聚类中心中的任一个,k个聚类中心对应k个用户,一个聚类中心对应一个用户,上述k个用户是待分类的n个用户中的用户,第一数据源是m个数据源中的任一个,n为整数,且n>1;
第一数据源根据第一数据源拥有的第一用户的特征数据以及第一数据源拥有的第一聚类中心对应的用户的特征数据,计算第一用户与所述第一聚类中心之间的第一距离估计值,该第一用户为上述n个用户中除k个用户外的任一用户;
第一数据源根据第一距离估计值生成至少一个第一特征数,并将至少一个第一特征数发送给m个数据源中的第二数据源;
第一数据源获取第一用户与第一聚类中心之间的实际距离,其中,实际距离是根据至少一个第一特征数与第二距离估计值生成的,该第二距离估计值是根据第二数据源拥有的第一用户的特征数据和第一聚类中心对应的用户的特征数据计算得到的;
第一数据源根据实际距离,对第一用户进行聚类。
由上述可知,本发明实施例是一个针对多数据源聚类的方法,比单一数据源的聚类结果更加准确、可靠;同时参与聚类的每一个数据源都参与计算了基于本地数据计算而得的用户与聚类中心间的距离,在数据源之间传输的并不是数据本身,而是基于计算得到的距离生成的特征数,该特征数包括上述第一特征数以及第二特征数,从而保证了数据信息的安全性。
参见图1,图1是本发明实施例提供的一种用户聚类方法的流程示意图,为了便于理解,这里具体以对金融机构的信用卡用户聚类为例,金融机构对于本地数据中用户的保密性有更高的要求,与本发明实施例能够保证数据不出本地的特性十分契合,具体过程包括:
S101:第一数据源确定第一聚类中心,第一聚类中心是预聚类的k个聚类中心中的任一个。
参与聚类的m个金融机构为m个数据源,该m个数据源包含n个相同的用户,其中m、和n为整数,且m≥2,n>1。各数据源对该n个用户中的每个用户的行为特征进行提取,获得用户的特征数据,该特征数据包括至少一个特征维度,其中,一个特征维度对应该用户的一类行为特征。在参与计算的情况下,每一个数据源提供不同类的用户特征,所有数据源提供的特征维度之和为L。
在m个数据源中选择一个数据源为主数据源,主数据源可以是参与聚类的m个数据源里的任一个,为了保证数据的绝对安全性,在可能的实现方式中,该主数据源也可以是受信任的数据源,主数据源从n个待分类的用户中随机选择k个用户ID作为聚类中心,其中k个聚类中心的维度均为L,k为聚类簇的个数。
由于不同的数据源提供的用户数据具有不同的特征维度,主数据源按照各个数据源提供的用户数据的不同特征维度进行划分后,将携带有不同特征维度标识的用户id发给其他数据源,其中该用户id所携带的特征维度标识与数据源中所具有的特征维度相适应,各个数据源接收到主数据源的消息后,根据本地数据中具有的该用户id的数据的特征维度与接收到的用户id的特征维度标识进行匹配,形成本地的聚类中心。
这里,该主数据源将携带有不同特征维度标识的用户id发给其他数据源,发送用户id给其他数据源的目的是为了让m个数据源对相同的聚类中心进行聚类,发送的用户id仅携带有不同数据源具有的特征维度的维度标识,不携带有本地数据,能够保证数据不出本地,保证数据信息的安全性。
第一数据源是m个数据源中的任一数据源,即该第一数据源可以是上述提到的主数据源也可以是m个数据源中的其他数据源,该数据源在k个聚类中心中任意选择一个聚类中心为第一聚类中心。
应理解的是,由于需要联合m个数据源中的信息数据进行计算,故m个数据源中每一个数据源中的第一聚类中心是同一聚类中心。
S102:第一数据源根据第一数据源拥有的第一用户的特征数据以及第一数据源拥有的第一聚类中心对应的用户的特征数据,计算第一用户与第一聚类中心之间的第一距离估计值。
第一数据源根据本地数据中拥有的第一用户的特征数据以及第一数据源拥有的第一聚类中心对应的用户的特征数据,计算第一用户与第一聚类中心之间的第一距离估计值,其中,第一用户为n个用户中除所述k个用户外的任一用户。
与上述第一数据源相同,m个数据源中的m-1个第二数据源根据本地数据中拥有的第一用户的特征数据以及第一聚类中心对应的用户的特征数据,计算第一用户与第一聚类中心之间的第二距离估计值,这里的第二数据源是指m个数据源中除了第一数据源的其他数据源。
也即参与聚类的每一个数据源都要基于本地数据计算第一用户与第一聚类中心之间的距离。
由于本方案实施例是多个数据源联合参与计算,各个数据源会提供第一用户不同类的特征,即不同的特征维度,这里的第一距离估计值为第一数据源中提供的特征维度中:第一用户与第一聚类中心之间的距离,第二距离估计值为第二数据源中提供的特征维度中:第一用户与第一聚类中心之间的距离。
应理解的是,上述第一距离估计值以及第二距离估计值是基于数据源中的用户特征数据计算而来的,是指数据源中第一用户与第一聚类中心之间的距离,该距离由距离函数Dist计算,例如欧氏距离、曼哈顿距离等,可根据不同的应用场景来定义Dist。
S103:第一数据源根据第一距离估计值生成至少一个第一特征数,并发送给m个数据源中的第二数据源,根据至少一个第一特征数与第二距离估计值获取第一用户与第一聚类中心之间的实际距离。
本发明实施例提供两种获取第一用户与第一聚类中心之间的实际距离的方法。
方法一:拆分求和法,拆分求和法包括以下步骤:
一、对第一距离估计值进行拆分,得到m-1个第一特征数。
为便于说明,将上述第一距离估计值记为表示第一数据源中,第一用户与第一聚类中心之间的距离,对/>进行随机拆分为m-1个随机数:/>使得/>也即该m-1个随机数之和为第一距离估计值,该m-1个随机数:/>也即上述m-1个第一特征数。
与第一数据源中进行的处理相似,第二数据源将第二距离估计值记为 表示第j个第二数据源中第一用户与第一聚类中心之间的距离,其中j为整数,且1≤j≤m-1,对/>进行随机拆分为m-1个随机数:/>使得/>上述m-1个随机数:/>即为m-1个第二特征数。
应理解的是,由于上述第一数据源可以是m个数据源中的任一数据源,这里的第一数据源和m-1个第二数据源只是为了对数据源加以区分,在步骤一中,第一数据源与第二数据源所做的处理无本质区别。
即m个数据源中的每一个数据源都会基于本地数据计算的第一用户与第一聚类中心之间的距离生成m-1个特征数,该特征数包括上述的第一特征数或第二特征数,若发送方是第一数据源则为第一特征数,若发送方为第二数据源,则为第二特征数。
为了便于理解这里结合图2对数据具体化进行说明,如图2所示,图中包括数据源1、数据源2以及数据源3共三个数据源,即此时m的数目为3,步骤一对应图2中的“随机拆分”部分,图中的数值5、7、9相当于上述各个数据源中基于本地数据计算的第一用户与第一聚类中心之间的距离,如图中所示,数据源1中5被拆分成了2和3,数据源2中7被拆分成了3和4,数据源3中9被拆分成了-1和10。在步骤一中,若数据源1为第一数据源,则数据源2以及数据源3均为第二数据源;若数据源2为第一数据源,则数据源1以及数据源2均为第二数据源;若数据源3为第一数据源,则数据源1以及数据源2均为第二数据源。显然m个数据源中的每一个数据源在步骤一中所做的处理无本质区别。
应理解的是,图中所示的拆分情况仅为多种情况中的一种,实际上,步骤一中的拆分过程是随机的。
二、发送生成的特征数
第一数据源将m-1个第一特征数:分别发送给所述m个数据源中除所述第一数据源外的m-1个第二数据源,其中,一个第一特征数发送给一个第二数据源。
与第一数据源中的处理相似,第二数据源将m-1个第二特征数分别发送给所述m个数据源中除自己以外的数据源,同样一个第二特征数发送给一个数据源。
也即m个数据源中的每一个数据源都会将上述生成的m-1特征数分别发送给m个数据源中的其他数据源,该特征数包括上述的第一特征数或第二特征数,若发送方是第一数据源则为第一特征数,若发送方为第二数据源,则为第二特征数。
应理解的是,由于上述第一数据源可以是m个数据源中的任一数据源,这里的第一数据源和m-1个第二数据源只是为了对数据源加以区分,在步骤二中,第一数据源与第二数据源所做的处理无本质区别。
结合图2,在图2中,数据源1将拆分得到的随机数2和3分别发送给了数据源2和数据源3;数据源2将拆分得到的随机数3和4分别发送给了数据源1和数据源3;数据源3将拆分得到的随机数-1和10分别发送给了数据源1和数据源2。若数据源1为第一数据源,则图中的2和3为第一特征数,3和4为作为第二数据源的数据源2中生成的第二特征数,-1和10为作为第二数据源的数据源3中生成的第二特征数;若数据源2为第一数据源,则3和4为第一特征数;若数据源3为第一数据源,则-1和10为第一特征数。
显然m个数据源中的每一个数据源在步骤二中所做的处理无本质区别。
三、第一数据源从m-1个第二数据源接收m-1个第二特征数,其中,一个第二特征数来自于一个第二数据源。
上述第一数据源从m-1个第二数据源接收m-1个第二特征数,该第一数据源计算所述m-1个第二特征数的特征数之和,获得第一累计值。由于m个数据源中包括主数据源和从数据源,若上述第一数据源为所述m个数据源中的主数据源,所述第一数据源存储所述第一累计值;若上述第一数据源为m个数据源中的从数据源,第一数据源向m个数据源中的主数据源发送上述计算得到的第一累计值。
与第一数据源中的处理相似,第二数据源也将收到m-1个特征数,该特征数包括上述的第一特征数或第二特征数,若发送方是第一数据源则为第一特征数,若发送方为第二数据源,则为第二特征数,对收到的特征数求和,获得第二累计值。
即m个数据源中的每一个数据源都会接收m-1个特征数,该特征数包括上述的第一特征数或第二特征数,若发送方是第一数据源则为第一特征数,若发送方为第二数据源,则为第二特征数,数据源对接收到的特征数求和,若该数据源为主数据源就将求和结果储存;若该数据源是从数据源,就将该求和结果发送给主数据源。
结合图2,数据源1接收3、-1,求和得到2;数据源2接收2、10,求和得到12;数据源3接收3、4,求和得到7。如图所示,若数据源1为第一数据源,则作为第一数据源的数据源1接收到的m-1个第二特征数为3和-1,求和得到的数据2为第一累计值,数据源2求和得到的12是作为第二数据源的数据源2的第二特征数和,数据源3求和得到的7是作为第二数据源的数据源2的第二累计值;同样的,若数据源2或者数据源3是第一数据源,则第一累计值就为12或7。显然m个数据源中的每一个数据源都会接收到m-1个特征数,该特征数包括上述的第一特征数或第二特征数,若发送方是第一数据源则为第一特征数,若发送方为第二数据源,则为第二特征数;数据源对接收到的特征数求和得到求和结果,该求和结果即为第一累计值或第二累计值,若进行求和的是第一数据源,则为第一累计值,若进行求和的是第二数据源,则为第二累计值。
如图2所示,此时数据源1为主数据源,数据源1储存求和得到的数据,数据源2以及数据源3为从数据源,将求和得到的12、7发送给主数据源,即数据源1。
应理解的是,由于每一个数据源中的用户具有不同的特征维度,在本发明实施例中进行具体的求和运算时,考虑不同维度的数据求和方法,并不是普通的对于数值进行加和,在图2中所举的加和方法仅为了便于说明。
四、获取第一用户与第一聚类中心之间的实际距离。
若第一数据源为所述m个数据源中的主数据源,第一数据源从所述m-1个第二数据源接收m-1个第二特征数和,并根据本地存储的第一累计值以及接收到的m-1个第二特征数和,计算第一用户与第一聚类中心之间的实际距离。获得第一用户与第一聚类中心之间的实际距离之后,还需要将该实际距离发送给m个数据源中的从数据源。
结合图2,如图2所示,图2中数据源1为主数据源,数据源1接收到作为从数据源的数据源2发来的第二特征数和12以及作为从数据源的数据源3发来的第二特征数和7,12和7即为作为主数据源的数据源1接收到的2个第二特征数和。数据源1对接收到的2个第二特征数和求和得到数据21,即相当于本发明实施例中的实际距离。
应理解的是,由于每一个数据源中的用户具有不同的特征维度,在进行具体的求和运算时,考虑不同维度的数据求和方法,并不是普通的对于数值进行加和。
显然,m个数据源中唯一与其他数据源所做的处理有所不同的只有主数据源。
由上述求和方法可知,首先,m个数据源中的每一个数据源都参与了计算,并且每一个数据源中的计算量大致相同,即使是主数据源也不会对算力有很高的要求,即本发明实施例具有可拓展性,也即在有需要的时候,可以增加更多的数据源进行聚类,使得结果更加可靠和准确,同时又不会对于主数据源造成太多的负担。
其次,每一个参与聚类的数据源都能接收到求和的结果,同时,参与聚类的每一个数据源都保证了数据没有出本地,在保证数据信息安全性的前提下,达到了资源共享的效果。
最后,由于每一个参与聚类的数据源都参与了计算,即整个系统拥有多台计算机的计算能力,拥有更快的处理速度。
方法二:随机数求和法,随机数求和法包括以下步骤
一、主数据源生成特征数并发送。
m个数据源中包括主数据源和从数据源,m个数据源按照数据传输的先后顺序进行排列,主数据源排列在第一位,m个数据源中每个数据源各拥有一个随机数,若第一数据源是m个数据源中的主数据源;第一数据源根据第一数据源拥有的第一随机数以及所述第一距离估计值生成第一特征数,并将第一特征数发送给排列在第一数据源之后的且距离第一数据源最近的第二数据源。
结合图3,如图3所示,图中作为第一数据源的数据源1为主数据源,排列在第一位,数据源1基于本地数据计算的第一距离估计值为D1,V1为数据源1拥有的第一随机数,数据源1对D1和V1进行求和得到第一特征数C1,并发送给排列在数据源1后的数据源2。此时的数据源2即为排列在所述第一数据源之后的且距离所述第一数据源最近的第二数据源。
二、从数据源生成特征数并发送。
若第一数据源是m个数据源中的从数据源,第一数据源从排列在第一数据源之前的且距离第一数据源最近的第二数据源接收第二特征数,第二特征数是根据至少一个第二距离估计值和至少一个第二随机数生成的,一个第二距离估计值来源于排列在第一数据源之前的至少一个第二数据源中的一个第二数据源,一个第二随机数来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源。第一数据源根据所述第二特征数、第一数据源拥有的第一随机数以及第一距离估计值,生成第一特征数,并将所述第一特征数发送给排列在所述第一数据源之后的第二数据源。
结合图3,如图3所示,图中数据源2为从数据源,若数据源2为第一数据源,则图3中其他数据源均为第二数据源,而数据源1为排列在第一数据源之前的至少一个第二数据源中的一个第二数据源,数据源2从数据源1中接收第二特征数C1,第二特征数C1是根据作为第二数据源的数据源1的第二距离估计值和数据源1拥有的第二随机数V1生成的。数据源2根据接收到的第二特征数C1、作为第一数据源的数据源2拥有的第一随机数V2以及作为第一数据源的数据源2中的第一距离估计值D1生成第一特征数C2,并将C2发送给数据源3,图中数据源3则为排列在作为第一数据源的数据源2之后的第二数据源。由于数据源2、数据源3、数据源4以及数据源5为从数据源,则数据源3、数据源4或数据源5作为第一数据源的情况与数据源2作为第一数据源的情况相似,具体可以结合图3以及数据源2作为第一数据源的情况理解,在此不做赘述。
三、主数据源获得第一用户与第一聚类中心之间的实际距离。
若第一数据源是m个数据源中的主数据源,第一数据源从排列在最后的第二数据源接收第二特征数,并根据第二特征数确定第一用户与第一聚类中心之间的实际距离,第二特征数是根据第一特征数、m-1个第二距离估计值以及m-1个第二随机数生成的,一个第二距离估计值来源于m个数据源中的一个第二数据源,一个第二随机数来源于m个数据源中的一个第二数据源。
如图3中所示,图中的数据源1为主数据源,若数据源1为第一数据源主数据源,数据源1接收到作为第二数据源的数据源5发送的第二特征数C5,主数据源也就是数据源1对接收到的第二特征数C5进行处理,根据该第二特征数即可确定第一用户与第一聚类中心之间的实际距离,具体处理方式为减去随机数V1、V2、V3、V4以及V5的和,在确定实际距离后,数据源1将实际距离发送给m个数据源中的从数据源,此时数据源5为排列在最后的第二数据源。
m个数据源中的每一个数据源都拥有一个随机数,该随机数的获得方式有如下两种:
1、由主数据源分别发送,主数据源随机生成m个随机数,并记录m个随机数的和,随机将m个随机数分给自己在内的m个数据源,其中,一个随机数发送给一个数据源。
2、数据源本地随机生成一个随机数,若每个数据源中的随机数由本地随机生成,则在数据源生成随机数之后,需要将该随机数发送给主站点,以使主站点可以获取m个随机数之和。
四、从数据源获得第一用户与第一聚类中心之间的实际距离。
若第一数据源是m个数据源中的从数据源,第一数据源从m个数据源中的主数据源接收第一用户与所述第一聚类中心之间的实际距离。
如图3中所示,数据源1为主数据源,数据源2、数据源3、数据源4以及数据源5为从数据源,若数据源2、数据源3、数据源4以及数据源5中的任一个数据源为第一数据源,该第一数据源获得第一用户与第一聚类中心之间的实际距离的方式为从数据源1接收第一用户与第一聚类中心之间的实际距离。
在上述随机数求和方法中,基于本地数据计算得到第一用户以及第一聚类中心的距离,在加上一个随机数从而生成一个特征数之后,通过在数据源中传递该特征数而不是直接传输数据,对本地数据的安全性有了进一步的保障,该特征数指的是上述第一特征数或第二特征数。上述方法中,m个数据源中的每一个数据源在接收到一个特征数后,都会在求和时再加上一个随机数,这样,即使是相邻的两个数据源共谋,也不能获得在数据源之间传递的原始数据。
在参与聚类的数据源的数目仅为两个的时候,如果进行上述两种方法的获得实际距离的方法,考虑将从数据源中的距离估计值直接发给主数据源,减少了计算的复杂度,同时对数据源中本地数据的安全性有一定保证。
S104:第一数据源根据所述实际距离,对所述第一用户进行聚类。
在步骤S101到S103的过程中,m个数据源中的每一个数据源都获得了第一用户和第一聚类中心的实际距离,由于第一聚类中心是上述k个聚类中心中的任意一个,在上述k个聚类中心中选择不同的第一聚类中心,能够获取第一用户与k个聚类中心的实际距离,比较得出该k个实际距离中的最小值,则将第一用户划入该类。
进一步地,参考图4,图4是本发明实施例通过多轮分类完成最终分类的流程示意图。在对上述第一用户进行聚类之后,可以经过多轮迭代完成所有用户的聚类,具体过程包括:
S201,主数据源选择k个聚类中心分发给各数据源,可参见步骤S101中主数据源选择聚类中心的过程。
S202,各数据源计算本地数据中用户到聚类中心的距离估计值。
参见步骤S102中获取第一用户与第一聚类中心的距离估计值的步骤,改变第一用户和第一聚类中心的选取,各个数据源可以获得本地数据中任一用户到任一聚类中心的距离估计值。
S203,获得所有用户到各个聚类中心的实际距离,参见步骤S103获取第一用户与第一聚类中心之间的实际距离的方法,可以获得任一用户与任一聚类中心之间的实际距离。
S204,将用户划入与聚类中心实际距离最小的簇类。
参见步骤S104中对第一用户聚类的方法,在选择不同用户的情况下,可以得到n个用户中每一个用户的第一轮分类。
S205,各个数据源在本地对划入某聚类簇的点求均值,作为新的聚类中心。
在得到n个用户的分类之后,对于被分在某一类的用户,第一数据源首先在本地求得被划分在该类中的用户的具体数目以及这一类中的用户的数据在不同维度上的和,然后根据上述中不同维度上的求和结果以及用户数目计算出这一类中的用户的数据在不同维度上的均值,作为新的k个聚类中心。
为了便于理解,这里对于上述计算新的聚类中心的方式做具体说明,例如,某一个数据源中被划分到某一类的点的坐标分别为(2,3)、(6,2)以及(1,1),则被划分到该类的个数为3,对上述三个点在不同维度上求和,根据数目3求出两个维度上的均值分别为3和2,则下一轮的聚类中心点为(3,2)。
S206,各数据源计算原有中心点和现中心点的移动距离和。
第一数据源分别计算新的k个聚类中心与上一轮聚类中对应的聚类中心之间的距离,将计算得到的对应的聚类中心之间的距离记为中心距离,则可以得到k个中心距离,该k个中心距离也即为聚类中心移动的距离,与基于本地数据计算距离估计值一样,该距离同样由距离函数Dist计算,例如欧氏距离、曼哈顿距离等,可根据不同的应用场景来定义Dist。上述第一数据源对k个中心距离求和,得到第一中心距离,也即k个聚类中心移动的距离和。
与第一数据源的处理相似,第二数据源分别计算新的k个聚类中心与上一轮聚类中对应的聚类中心之间的距离,将计算得到的对应的聚类中心之间的距离记为中心距离,则可以得到k个中心距离,上述第二数据源对k个中心距离求和,得到第二中心距离。
也即,m个数据源中到的每一个数据源都会基于k个新的聚类中心与原k个聚类中心得到k个中心距离的和。
S207,获取原聚类中心和新的聚类中心的实际移动距离和。
由于在m个数据源中,聚类中心在不同维度上发生改变,这里,为了获得k个聚类中心移动的实际距离,需要对m个数据源中不同维度上的移动距离求和。求和的方式可以采用上述拆分求和法以及随机数求合法,具体步骤可以参考上述提供的两种获取第一用户与第一聚类中心之间的实际距离的方法以及图2、图3,在采用上述两种获取实际距离的方法时,第一中心距离相当于第一距离估计值,第二中心距离相当于第二距离估计值。
S208,比较k个聚类中心移动的实际距离与终止阈值的大小。
在上述k个聚类中心移动的实际距离大于第一阈值的情况下,数据源根据新的聚类中心对n个用户进行下一轮聚类,进行下一轮聚类的具体步骤与第一轮聚类中的步骤一致,从而得到新的聚类结果。
在上述k个聚类中心移动的实际距离小于终止阈值的情况下,停止聚类,将此时的聚类结果作为最终的聚类结果。
上述终止阈值的取值一般根据需要设定,一般设定在0到10-5之间,上述k个聚类中心移动的实际距离小于终止阈值的情况下,我们认为该k个聚类中心没有移动,聚类结果也不会发生改变。
上面介绍了本发明实施例的方法,下面介绍本发明实施例的装置。
参见图5,图5是本发明实施例提供的一种用户聚类装置的组成结构示意图,该装置50包括:
确定模块501,用于确定第一聚类中心,所述第一聚类中心是预聚类的k个聚类中心中的任一个,所述k个聚类中心对应k个用户,一个聚类中心对应一个用户,所述k个用户是待分类的n个用户中的用户,所述第一数据源是所述m个数据源中的任一个,所述n为整数,且n>1,在主数据源中,确定模块501还用于确定预聚类的k个聚类中心;
计算模块502,用于根据所述第一数据源拥有的第一用户的特征数据以及所述第一数据源拥有的第一聚类中心对应的用户的特征数据,计算所述第一用户与所述第一聚类中心之间的第一距离估计值,所述第一用户为所述n个用户中除所述k个用户外的任一用户;
发送模块503,用于根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中的第二数据源;
获取模块504,用于获取所述第一用户与所述第一聚类中心之间的实际距离,其中,所述实际距离是根据所述至少一个第一特征数与第二距离估计值生成的,所述第二距离估计值是根据所述第二数据源拥有的所述第一用户的特征数据和所述第一聚类中心对应的用户的特征数据计算得到的;
聚类模块505,用于根据所述实际距离,对所述第一用户进行聚类。
在一种可能的设计中,发送模块503,用于:对所述第一距离估计值进行拆分,得到m-1个第一特征数,并将所述m-1个第一特征数分别发送给所述m个数据源中除所述第一数据源外的m-1个第二数据源,其中,一个第一特征数发送给一个第二数据源。
在一种可能的设计中,所述m个数据源中包括主数据源和从数据源,获取模块504,用于从所述m-1个第二数据源接收m-1个第二特征数,其中,一个第二特征数来自于一个第二数据源,所述第二特征数是根据所述第二距离估计值生成的,获取模块504还用于计算所述m-1个第二特征数之和,获得第一累计值;若所述第一数据源为所述m个数据源中的主数据源,获取模块504用于从所述m-1个第二数据源接收m-1个第二累计值,并根据所述第一累计值与所述m-1个第二累计值,计算所述第一用户与所述第一聚类中心之间的实际距离,其中,一个第二累计值来源于一个第二数据源,所述第二累计值是根据所述第一特征数计算得到;
在一种可能的设计中,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的主数据源;发送模块503,用于根据所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数,并将所述第一特征数发送给排列在所述第一数据源之后的且距离所述第一数据源最近的第二数据源。
在一种可能的设计中,获取模块504还用于从排列在最后的第二数据源接收第二特征数,并根据所述第二特征数确定所述第一用户与所述第一聚类中心之间的实际距离,所述第二特征数是根据所述第一特征数、m-1个第二距离估计值以及m-1个第二随机数生成的,一个第二距离估计值来源于所述m个数据源中的一个第二数据源,一个第二随机数来源于所述m个数据源中的一个第二数据源。
在一种可能的设计中,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的从数据源;所述发送模块503用于从排列在所述第一数据源之前的且距离所述第一数据源最近的第二数据源接收第二特征数,所述第二特征数是根据至少一个第二距离估计值和至少一个第二随机数生成的,一个第二距离估计值来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源,一个第二随机数来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源;所述发送模块503还用于根据所述第二特征数、所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数,并发送给排列在所述第一数据源之后的第二数据源。
在一种可能的设计中,若所述第一数据源是所述m个数据源中的从数据源,获取模块504还用于从所述m个数据源中的主数据源接收所述第一用户与所述第一聚类中心之间的实际距离。
进一步地,在一种可能的设计中,所述装置还包括:获取聚类中心移动距离模块506,用于参考获取第一用户和第一聚类中心实际距离的方法获取k个聚类中心移动的实际距离。
所述装置还包括:终止模块507,用于比较k个聚类中心移动的实际距离以及终止阈值的大小,在上述k个聚类中心移动的实际距离大于第一阈值的情况下,数据源根据新的聚类中心对n个用户进行下一轮聚类,进行下一轮聚类的具体步骤与第一轮聚类中的步骤一致,从而得到新的聚类结果。
在上述k个聚类中心移动的实际距离小于终止阈值的情况下,停止聚类,将此时的聚类结果作为最终的聚类结果。
需要说明的是,图5对应的实施例中未提及的内容可参见方法实施例的描述,这里不再赘述。
本发明实施例中,通过确定聚类中心,由各个数据源本地计算用户与聚类中心不同维度的距离,也就是距离估计值,在数据源之间传输基于距离估计值生成的特征数来确定用户与聚类中心的实际距离,从而根据该实际距离对用户进行聚类。由于在本发明实施例中保证了数据不出本地,并且数据的详细信息不被泄露,安全的联合了多方数据信息对客户进行聚类,以此对用户进行聚类。同时,各参与方可以同步进行计算,整个系统拥有多台计算机的计算能力,拥有更快的处理速度。
参见图6,图6是本发明实施例提供的一种用户聚类设备的组成结构示意图,该设备60包括处理器601、存储器602以及输入输出接口603。处理器601连接到存储器602和输入输出接口603,例如处理器601可以通过总线连接到存储器602和输入输出接口603。
处理器601被配置为支持所述用户聚类设备执行图1-图2、图4所述的用户聚类方法中相应的功能。该处理器601可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器602用于存储程序代码等。存储器602可以包括易失性存储器(volatilememory,VM),例如随机存取存储器(random access memory,RAM);存储器602也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器602还可以包括上述种类的存储器的组合。
所述输入输出接口603用于输入或输出数据。
处理器601可以调用所述程序代码以执行以下操作:
确定第一聚类中心,第一聚类中心是预聚类的k个聚类中心中的任一个;
根据第一数据源拥有的第一用户的特征数据以及第一数据源拥有的第一聚类中心对应的用户的特征数据,计算第一用户与第一聚类中心之间的第一距离估计值;
根据第一距离估计值生成至少一个第一特征数,并发送给m个数据源中的第二数据源,根据至少一个第一特征数与第二距离估计值获取第一用户与第一聚类中心之间的实际距离;
根据所述实际距离,对所述第一用户进行聚类。
需要说明的是,各个操作的实现还可以对应参照上述方法实施例的相应描述;所述处理器601还可以与输入输出接口603配合执行上述方法实施例中的其他操作。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的用户聚类设备的一部分。例如为上述的处理器601。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种用户聚类方法,其特征在于,所述方法适用于通信系统,所述通信系统包括m个数据源,m为大于或者等于2的整数,所述方法包括:
第一数据源确定第一聚类中心,所述第一聚类中心是预聚类的k个聚类中心中的任一个,所述k个聚类中心对应k个用户,一个聚类中心对应一个用户,所述k个用户是待分类的n个用户中的用户,所述第一数据源是所述m个数据源中的任一个,所述n为整数,且n>1;
所述第一数据源根据所述第一数据源拥有的第一用户的特征数据以及所述第一数据源拥有的所述第一聚类中心对应的用户的特征数据,计算所述第一用户与所述第一聚类中心之间的第一距离估计值,所述第一用户为所述n个用户中除所述k个用户外的任一用户;
所述第一数据源根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中的第二数据源;
所述第一数据源获取所述第一用户与所述第一聚类中心之间的实际距离,其中,所述实际距离是根据所述至少一个第一特征数与第二距离估计值生成的,所述第二距离估计值是根据所述第二数据源拥有的所述第一用户的特征数据和所述第一聚类中心对应的用户的特征数据计算得到的;
所述第一数据源根据所述实际距离,对所述第一用户进行聚类。
2.如权利要求1所述的方法,其特征在于,所述第一数据源根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中的第二数据源,包括:
所述第一数据源对所述第一距离估计值进行拆分,得到m-1个第一特征数;
所述第一数据源将所述m-1个第一特征数分别发送给所述m个数据源中除所述第一数据源外的m-1个第二数据源,其中,一个第一特征数发送给一个第二数据源。
3.如权利要求2所述的方法,其特征在于,所述m个数据源中包括主数据源和从数据源,所述第一数据源获取所述第一用户与所述第一聚类中心之间的实际距离,包括:
所述第一数据源从所述m-1个第二数据源接收m-1个第二特征数,其中,一个第二特征数来自于一个第二数据源,所述第二特征数是根据所述第二距离估计值生成的;
所述第一数据源计算所述m-1个第二特征数之和,获得第一累计值;
若所述第一数据源为所述m个数据源中的主数据源,所述第一数据源从所述m-1个第二数据源接收m-1个第二累计值,并根据所述第一累计值与所述m-1个第二累计值,计算所述第一用户与所述第一聚类中心之间的实际距离,其中,一个第二累计值来源于一个第二数据源,所述第二累计值是根据所述第一特征数计算得到;
若所述第一数据源为所述m个数据源中的从数据源,所述第一数据源向所述m个数据源中的主数据源发送所述第一累计值,并从所述主数据源接收所述第一用户与所述第一聚类中心之间的实际距离,所述实际距离是所述主数据源根据所述第一累计值与m-1个第二累计值计算得到,所述第二累计值是根据所述第一特征数计算得到。
4.如权利要求1所述的方法,其特征在于,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的主数据源;
所述第一数据源根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中除所述第一数据源外的第二数据源,包括:
所述第一数据源根据所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数;
所述第一数据源将所述第一特征数发送给排列在所述第一数据源之后的且距离所述第一数据源最近的第二数据源。
5.如权利要求4所述的方法,其特征在于,所述第一数据源获取所述第一用户与所述第一聚类中心之间的实际距离,包括:
所述第一数据源从排列在最后的第二数据源接收第二特征数,并根据所述第二特征数确定所述第一用户与所述第一聚类中心之间的实际距离,所述第二特征数是根据所述第一特征数、m-1个第二距离估计值以及m-1个第二随机数生成的,一个第二距离估计值来源于所述m个数据源中的一个第二数据源,一个第二随机数来源于所述m个数据源中的一个第二数据源。
6.如权利要求1所述的方法,其特征在于,所述m个数据源中包括主数据源和从数据源,所述m个数据源按照数据传输的先后顺序进行排列,所述主数据源排列在第一位,所述m个数据源中每个数据源各拥有一个随机数,若所述第一数据源是所述m个数据源中的从数据源;
所述第一数据源根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中除所述第一数据源外的第二数据源包括:
所述第一数据源从排列在所述第一数据源之前的且距离所述第一数据源最近的第二数据源接收第二特征数,所述第二特征数是根据至少一个第二距离估计值和至少一个第二随机数生成的,一个第二距离估计值来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源,一个第二随机数来源于排列在所述第一数据源之前的至少一个第二数据源中的一个第二数据源;
所述第一数据源根据所述第二特征数、所述第一数据源拥有的第一随机数以及所述第一距离估计值,生成第一特征数;
所述第一数据源将所述第一特征数发送给排列在所述第一数据源之后的第二数据源。
7.如权利要求6所述的方法,其特征在于,所述第一数据源获取所述第一用户与所述第一聚类中心之间的实际距离,包括:
所述第一数据源从所述m个数据源中的主数据源接收所述第一用户与所述第一聚类中心之间的实际距离。
8.一种用户聚类装置,其特征在于,所述装置应用于通信系统中的第一数据源,所述通信系统包括m个数据源,m为大于或者等于2的整数,所述用户聚类装置包括:
确定模块,用于确定第一聚类中心,所述第一聚类中心是预聚类的k个聚类中心中的任一个,所述k个聚类中心对应k个用户,一个聚类中心对应一个用户,所述k个用户是待分类的n个用户中的用户,所述第一数据源是所述m个数据源中的任一个,所述n为整数,且n>1;
计算模块,用于根据所述第一数据源拥有的第一用户的特征数据以及所述第一数据源拥有的第一聚类中心对应的用户的特征数据,计算所述第一用户与所述第一聚类中心之间的第一距离估计值,所述第一用户为所述n个用户中除所述k个用户外的任一用户;
发送模块,用于根据所述第一距离估计值生成至少一个第一特征数,并将所述至少一个第一特征数发送给所述m个数据源中的第二数据源;
获取模块,用于获取所述第一用户与所述第一聚类中心之间的实际距离,其中,所述实际距离是根据所述至少一个第一特征数与第二距离估计值生成的,所述第二距离估计值是根据所述第二数据源拥有的所述第一用户的特征数据和所述第一聚类中心对应的用户的特征数据计算得到的;
聚类模块,用于根据所述实际距离,对所述第一用户进行聚类。
9.一种用户聚类设备,其特征在于,包括处理器、存储器以及输入输出接口,所述处理器、存储器和输入输出接口相互连接,其中,所述输入输出接口用于输入或输出数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1-3或4-7任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011307323.7A CN112381163B (zh) | 2020-11-20 | 2020-11-20 | 一种用户聚类方法、装置及设备 |
PCT/CN2021/097306 WO2022105183A1 (zh) | 2020-11-20 | 2021-05-31 | 一种用户聚类方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011307323.7A CN112381163B (zh) | 2020-11-20 | 2020-11-20 | 一种用户聚类方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112381163A CN112381163A (zh) | 2021-02-19 |
CN112381163B true CN112381163B (zh) | 2023-07-25 |
Family
ID=74585264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011307323.7A Active CN112381163B (zh) | 2020-11-20 | 2020-11-20 | 一种用户聚类方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112381163B (zh) |
WO (1) | WO2022105183A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381163B (zh) * | 2020-11-20 | 2023-07-25 | 平安科技(深圳)有限公司 | 一种用户聚类方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012089902A1 (en) * | 2010-12-30 | 2012-07-05 | Nokia Corporation | Method, apparatus, and computer program product for image clustering |
CN107067045A (zh) * | 2017-05-31 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 数据聚类方法、装置、计算机可读介质和电子设备 |
WO2018196673A1 (zh) * | 2017-04-25 | 2018-11-01 | 中兴通讯股份有限公司 | 一种聚类方法、设备及存储介质 |
CN110895706A (zh) * | 2019-11-07 | 2020-03-20 | 苏宁云计算有限公司 | 一种目标聚类数的获取方法、装置及计算机系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2922296A1 (en) * | 2015-03-02 | 2016-09-02 | Slyce Holdings Inc. | System and method for clustering data |
CN110135856B (zh) * | 2019-05-16 | 2023-10-24 | 中国银联股份有限公司 | 一种重复交易风险监测方法、装置及计算机可读存储介质 |
CN111783875B (zh) * | 2020-06-29 | 2024-04-30 | 中国平安财产保险股份有限公司 | 基于聚类分析的异常用户检测方法、装置、设备及介质 |
CN112381163B (zh) * | 2020-11-20 | 2023-07-25 | 平安科技(深圳)有限公司 | 一种用户聚类方法、装置及设备 |
-
2020
- 2020-11-20 CN CN202011307323.7A patent/CN112381163B/zh active Active
-
2021
- 2021-05-31 WO PCT/CN2021/097306 patent/WO2022105183A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012089902A1 (en) * | 2010-12-30 | 2012-07-05 | Nokia Corporation | Method, apparatus, and computer program product for image clustering |
WO2018196673A1 (zh) * | 2017-04-25 | 2018-11-01 | 中兴通讯股份有限公司 | 一种聚类方法、设备及存储介质 |
CN108734188A (zh) * | 2017-04-25 | 2018-11-02 | 中兴通讯股份有限公司 | 一种聚类方法、设备及存储介质 |
CN107067045A (zh) * | 2017-05-31 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 数据聚类方法、装置、计算机可读介质和电子设备 |
CN110895706A (zh) * | 2019-11-07 | 2020-03-20 | 苏宁云计算有限公司 | 一种目标聚类数的获取方法、装置及计算机系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112381163A (zh) | 2021-02-19 |
WO2022105183A1 (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125727B (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
US9442885B2 (en) | Estimating the time until a reply email will be received using a recipient behavior model | |
CN106682906B (zh) | 一种风险识别、业务处理方法和设备 | |
CN111523144B (zh) | 针对多方的隐私数据进行安全运算的方法和装置 | |
CN108848125B (zh) | 区块链中提供共识服务的方法和装置及存储介质 | |
CN110427969A (zh) | 数据处理方法、装置和电子设备 | |
CN112381163B (zh) | 一种用户聚类方法、装置及设备 | |
CN115065459A (zh) | 一种多方隐私集合求交方法、装置、设备及存储介质 | |
CN111292190A (zh) | 交易生成方法、区块创建方法及相关装置、设备 | |
KR20230044318A (ko) | 모델 파라미터 조정 방법, 기기, 저장매체 및 프로그램 제품 | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN114978510A (zh) | 针对隐私向量的安全处理方法和装置 | |
CN114528916A (zh) | 样本聚类处理方法、装置、设备及存储介质 | |
CN117349671A (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN116108473B (zh) | 多方安全计算中的数据处理方法及装置 | |
CN111046431B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN106534234B (zh) | 关系链处理系统、方法和装置 | |
JPWO2019111319A1 (ja) | 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム | |
JP6928320B2 (ja) | サーバ装置、秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム | |
CN112182593A (zh) | 一种数据处理方法、装置和电子设备 | |
Rana et al. | The strength of social strength: an evaluation study of algorithmic versus user-defined ranking | |
US11321403B2 (en) | Method, apparatus, and computing device for determining heat degrees of information dissemination | |
CN113094696A (zh) | 口令破解的效果评估方法、装置、电子设备及存储介质 | |
CN107203578B (zh) | 建立用户标识的关联的方法和装置 | |
CN112395623A (zh) | 一种数据处理方法、装置和电子设备 |
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 |