CN108229528A - 聚类模型训练方法和装置、电子设备、计算机存储介质 - Google Patents
聚类模型训练方法和装置、电子设备、计算机存储介质 Download PDFInfo
- Publication number
- CN108229528A CN108229528A CN201710706068.5A CN201710706068A CN108229528A CN 108229528 A CN108229528 A CN 108229528A CN 201710706068 A CN201710706068 A CN 201710706068A CN 108229528 A CN108229528 A CN 108229528A
- Authority
- CN
- China
- Prior art keywords
- clustering model
- global
- node
- model
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种聚类模型训练方法和装置、电子设备、计算机存储介质,其中方法包括:基于主节点,获取全局聚类模型;针对通过分布式系统各中至少一个从节点中的任一从节点,从分布式系统中的主节点获取全局聚类模型,并分别基于全局聚类模型和分配给相应任一从节点的计算数据进行聚类估计,获得各任一从节点对应的局部聚类模型;分布式系统包括主节点、和至少一个与主节点通信连接的从节点;其中,主节点与各从节点之间通信连接;基于各至少一个从节点对应获得的局部聚类模型,对全局聚类模型进行训练。本发明实施例所述聚类模型训练方法,降低了计算节点之间的同步率,提高了聚类效率。
Description
技术领域
本发明涉及人工智能技术,尤其是一种聚类模型训练方法和装置、电子设备、计算机存储介质。
背景技术
在分布式计算系统上进行的计算称为分布式计算,一个分布式计算系统通常由多个计算节点组成,各计算节点通过网络互相连接。与并行计算相似,分布式计算要求调动所有的处理器、并行完成计算任务。与并行计算不同的是,在分布式系统中,处理器之间往往没有共享的内存,处理器之间的数据交换不能通过共享的内而需要经由网络通信,数据交换成本较大。
聚类分析是一类重要的无监督学习方法,聚类分析的目的是按照样本之间的相似度把给定的数据集划分成若干子集,并使得子集内部样本相似度高,子集之间样本相似度低。通常情况下,样本会被表示为几何空间中的点,这种情况下,聚类分析把距离相近的点划归在同一子集内。聚类分析的方法可以分为参数化和非参数化的两类。参数化方法要求人为指定聚类的个数,按照这个指定的数目对数据集进行分割;非参数化方法不要求人为指定聚类的个数,可以根据数据集的规模自动调整目标聚类个数。
发明内容
本发明实施例提供一种聚类模型训练技术。
本发明实施例提供的一种聚类模型训练方法,包括:
基于主节点,获取全局聚类模型;
针对通过分布式系统各中至少一个从节点中的任一从节点,从所述分布式系统中的主节点获取全局聚类模型,并分别基于所述全局聚类模型和分配给相应所述任一从节点的计算数据进行聚类估计,获得各所述任一从节点对应的局部聚类模型;所述分布式系统包括所述主节点、和至少一个与所述主节点通信连接的从节点;其中,所述主节点为计算系统中的任意一个计算节点,所述从节点为所述计算系统中除所述主节点之外的计算节点,所述主节点与各所述从节点之间通信连接;
基于各所述至少一个从节点对应获得的局部聚类模型,对所述全局聚类模型进行训练。
在基于本发明上述各方法的另一个实施例中,基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练,包括:
基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行更新,得到更新后的全局聚类模型;
将所述更新后的全局聚类模型作为主节点中的全局聚类模型;
迭代执行各所述从节点分别基于所述全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各所述从节点对应的局部聚类模型;基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练,得到更新后的全局聚类模型;直到所述更新后的全局聚类模型满足预设收敛条件。
在基于本发明上述各方法的另一个实施例中,基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行更新,包括:
在所述从节点基于所述全局聚类模型和分配给所述从节点的计算数据进行聚类估计的同时,所述主节点基于已获得的所述局部聚类模型对所述全局聚类模型进行更新;
或,在所述所有从节点分别基于所述全局聚类模型和分配给所述从节点的计算数据进行聚类估计之后,所述主节点基于各所述局部聚类模型对所述全局聚类模型进行更新。
在基于本发明上述各方法的另一个实施例中,所述主节点基于各所述局部聚类模型对所述全局聚类模型进行更新,包括:
将各所述局部聚类模型中的局部聚类分别与所述全局聚类模型中的各全局聚类进行比较;
当所述局部聚类在所述全局聚类模型中不存在对应的全局聚类时,将所述局部聚类添加到所述全局聚类模型中;
当所述局部聚类在所述全局聚类模型中存在对应的全局聚类时,将所述局部聚类合并到所述全局聚类模型中;所述全局聚类模型中包括至少一个全局聚类。
在基于本发明上述各方法的另一个实施例中,将所述局部聚类添加到所述全局聚类模型中,包括:
分别计算各所述局部聚类模型对应的局部聚类与所述全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照所述合并分离比率对所述全局聚类模型中的各全局聚类进行采样,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的全局聚类中;所述合并分离比率大于或等于预设值时,执行合并;所述合并分离比率小于预设值时,不执行合并。
在基于本发明上述各方法的另一个实施例中,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的聚类中,包括:
当采样结果对应的采样值大于所述全局聚类模型的全局聚类数量值时,将所述局部聚类增加到所述全局聚类模型中,所述全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于所述全局聚类模型的全局聚类数量值时,将所述局部聚类合并到所述全局聚类模型中的全局聚类中,所述全局聚类模型中的全局聚类数量值不变。
在基于本发明上述各方法的另一个实施例中,所述主节点基于各所述局部聚类模型对所述全局聚类模型进行更新,包括:
将各所述局部聚类模型获得的所有局部聚类分别增加到所述全局聚类模型的全局聚类中,得到对应的新全局聚类模型;对所述新全局聚类模型中的所有全局聚类进行重组,对所述所有全局聚类分别执行拆分或合并。
在基于本发明上述各方法的另一个实施例中,对所述所有全局聚类分别执行拆分或合并,包括:
每次以预设的概率取所述两个全局聚类执行合并,或以预设的概率取所述一个全局聚类执行拆分,直到所述新全局聚类模型中所有全局聚类都已执行合并或拆分。
在基于本发明上述各方法的另一个实施例中,取所述两个全局聚类执行合并,包括:
计算每两个所述全局聚类之间的合并分离比率,以正比于合并分离比率的第一抽样概率,从所述新全局聚类模型中抽样获得两个全局聚类,根据所述第一抽样概率计算第一接受概率;
以所述第一接受概率合并所述抽样获得的两个全局聚类。
在基于本发明上述各方法的另一个实施例中,取所述一个全局聚类执行拆分,包括:
将可拆分组中的全局聚类拆分为至少两个局部聚类,计算所述拆分得到的至少两个局部聚类重新合并为所述全局聚类的分离度概率,以正比于分离度概率的第二抽样概率,从所述可拆分组中获得一个全局聚类,对所述全局聚类对应的所有局部聚类执行合并,得到两个新聚类,及合并得到所述新聚类的合并概率;所述可拆分组中包括所有由至少两个局部聚类合并而成的全局聚类;
基于所述第二抽样概率和合并概率获得第二接受概率,基于所述第二接受概率拆分所述采样得到的全局聚类,得到两个新聚类。
在基于本发明上述各方法的另一个实施例中,所述主节点基于已获得的所述局部聚类模型对所述全局聚类模型进行更新之前,还包括:
每个所述从节点获得对应的局部聚类模型之后,将所述局部聚类模型传输给所述主节点。
在基于本发明上述各方法的另一个实施例中,所述主节点基于已获得的所述局部聚类模型对所述全局聚类模型进行更新,包括:
将所述局部聚类模型中的局部聚类分别与所述全局聚类模型中的各全局聚类进行比较;
当所述局部聚类在所述全局聚类模型中不存在对应的全局聚类时,将所述局部聚类添加到所述全局聚类模型中;
当所述局部聚类在所述全局聚类模型中存在对应的全局聚类时,将所述局部聚类合并到所述全局聚类模型中;所述全局聚类模型中包括至少一个全局聚类。
在基于本发明上述各方法的另一个实施例中,将所述局部聚类添加到所述全局聚类模型中,包括:
计算所述局部聚类模型对应的局部聚类与所述全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照所述合并分离比率对所述全局聚类模型中的各全局聚类进行采样,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的全局聚类中;所述合并分离比率大于或等于预设值时,执行合并;所述合并分离比率小于预设值时,不执行合并。
在基于本发明上述各方法的另一个实施例中,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的聚类中,包括:
当采样结果对应的采样值大于所述全局聚类模型的全局聚类数量值时,将所述局部聚类增加到所述全局聚类模型中,所述全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于所述全局聚类模型的全局聚类数量值时,将所述局部聚类合并到所述全局聚类模型中的原有聚类中,所述全局聚类模型中的全局聚类数量值不变。
在基于本发明上述各方法的另一个实施例中,所述计算系统包括分布式计算系统。
根据本发明实施例的另一个方面,提供的一种聚类模型训练装置,包括:
模型获取单元,用于基于主节点,获取全局聚类模型;
局部模型估计单元,用于针对各从节点,分别基于所述全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各所述从节点对应的局部聚类模型;其中,所述主节点为计算系统中的任意一个计算节点,所述从节点为所述计算系统中除所述主节点之外的计算节点,所述主节点与各所述从节点之间通信连接;
全局模型训练单元,用于基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练。
在基于本发明上述各装置的另一个实施例中,所述全局模型训练单元包括:
模型更新模块,用于基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行更新,得到更新后的全局聚类模型;
模型设置模块,用于将所述更新后的全局聚类模型作为主节点中的全局聚类模型;
迭代模块,用于迭代执行各所述从节点分别基于所述全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各所述从节点对应的局部聚类模型;基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练,得到更新后的全局聚类模型;直到所述更新后的全局聚类模型满足预设收敛条件。
在基于本发明上述各装置的另一个实施例中,所述模型更新模块,包括:
异步更新模块,用于在所述从节点基于所述全局聚类模型和分配给所述从节点的计算数据进行聚类估计的同时,所述主节点基于已获得的所述局部聚类模型对所述全局聚类模型进行更新;
或,同步更新模块,用于在所述所有从节点分别基于所述全局聚类模型和分配给所述从节点的计算数据进行聚类估计之后,所述主节点基于各所述局部聚类模型对所述全局聚类模型进行更新。
在基于本发明上述各装置的另一个实施例中,所述同步更新模块包括:
比较模块,用于将各所述局部聚类模型中的局部聚类分别与所述全局聚类模型中的各全局聚类进行比较;
添加模块,用于当所述局部聚类在所述全局聚类模型中不存在对应的全局聚类时,将所述局部聚类添加到所述全局聚类模型中;
合并模块,用于当所述局部聚类在所述全局聚类模型中存在对应的全局聚类时,将所述局部聚类合并到所述全局聚类模型中;所述全局聚类模型中包括至少一个全局聚类。
在基于本发明上述各装置的另一个实施例中,所述添加模块,具体用于分别计算各所述局部聚类模型对应的局部聚类与所述全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照所述合并分离比率对所述全局聚类模型中的各全局聚类进行采样,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的全局聚类中;所述合并分离比率大于或等于预设值时,执行合并;所述合并分离比率小于预设值时,不执行合并。
在基于本发明上述各装置的另一个实施例中,所述合并模块,具体用于当采样结果对应的采样值大于所述全局聚类模型的全局聚类数量值时,将所述局部聚类增加到所述全局聚类模型中,所述全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于所述全局聚类模型的全局聚类数量值时,将所述局部聚类合并到所述全局聚类模型中的原有聚类中,所述全局聚类模型中的全局聚类数量值不变。
在基于本发明上述各装置的另一个实施例中,所述同步更新模块,具体用于将各所述局部聚类模型获得的所有局部聚类分别增加到所述全局聚类模型的全局聚类中,得到对应的新全局聚类模型;对所述新全局聚类模型中的所有全局聚类进行重组,对所述所有全局聚类分别执行拆分或合并。
在基于本发明上述各装置的另一个实施例中,所述同步更新模块对所述所有全局聚类分别执行拆分或合并时,具体用于每次以预设的概率取所述两个全局聚类执行合并,或以预设的概率取所述一个全局聚类执行拆分,直到所述新全局聚类模型中所有全局聚类都已执行合并或拆分。
在基于本发明上述各装置的另一个实施例中,所述同步更新模块取所述两个全局聚类执行合并时,具体用于计算每两个所述全局聚类之间的合并分离比率,以正比于合并分离比率的第一抽样概率,从所述新全局聚类模型中抽样获得两个全局聚类,根据所述第一抽样概率计算第一接受概率;以所述第一接受概率合并所述抽样获得的两个全局聚类。
在基于本发明上述各装置的另一个实施例中,所述同步更新模块取所述一个全局聚类执行拆分时,具体用于将可拆分组中的全局聚类拆分为至少两个局部聚类,计算所述拆分得到的至少两个局部聚类重新合并为所述全局聚类的分离度概率,以正比于分离度概率的第二抽样概率,从所述可拆分组中获得一个全局聚类,对所述全局聚类对应的所有局部聚类执行合并,得到两个新聚类,及合并得到所述新聚类的合并概率;所述可拆分组中包括所有由至少两个局部聚类合并而成的全局聚类;
基于所述第二抽样概率和合并概率获得第二接受概率,基于所述第二接受概率拆分所述采样得到的全局聚类,得到两个新聚类。
在基于本发明上述各装置的另一个实施例中,所述异步更新模块,还用于每个所述从节点获得对应的局部聚类模型之后,将所述局部聚类模型传输给所述主节点。
在基于本发明上述各装置的另一个实施例中,所述异步更新模块,包括:
异步比较模块,用于将所述局部聚类模型中的局部聚类分别与所述全局聚类模型中的各全局聚类进行比较;
异步添加模块,用于当所述局部聚类在所述全局聚类模型中不存在对应的全局聚类时,将所述局部聚类添加到所述全局聚类模型中;
异步合并模块,用于当所述局部聚类在所述全局聚类模型中存在对应的全局聚类时,将所述局部聚类合并到所述全局聚类模型中;所述全局聚类模型中包括至少一个全局聚类。
在基于本发明上述各装置的另一个实施例中,所述异步添加模块,具体用于计算所述局部聚类模型对应的局部聚类与所述全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照所述合并分离比率对所述全局聚类模型中的各全局聚类进行采样,根据采样结果将所述局部聚类合并到所述全局聚类模型的全局聚类中;所述合并分离比率大于或等于预设值时,执行合并;所述合并分离比率小于预设值时,不执行合并。
在基于本发明上述各装置的另一个实施例中,所述异步合并模块,具体用于当采样结果对应的采样值大于所述全局聚类模型的全局聚类数量值时,将所述局部聚类增加到所述全局聚类模型中,所述全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于所述全局聚类模型的全局聚类数量值时,将所述局部聚类合并到所述全局聚类模型中的原有聚类中,所述全局聚类模型中的全局聚类数量值不变。
在基于本发明上述各装置的另一个实施例中,所述计算系统包括分布式计算系统。
根据本发明实施例的另一个方面,提供的一种电子设备,设置有如上所述的聚类模型训练装置。
根据本发明实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上所述聚类模型训练方法的操作。
根据本发明实施例的另一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时执行如上所述聚类模型训练方法的操作。
基于本发明上述实施例提供的一种聚类模型训练方法和装置、电子设备、计算机存储介质,基于主节点,获取全局聚类模型;针对各从节点,分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型,实现高效地进行模型估计;基于各从节点对应的局部聚类模型,对全局聚类模型进行训练;降低了计算节点之间的同步率,提高了聚类效率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明聚类模型训练方法一个实施例的流程图。
图2为本发明通过逐一合并方法对全局聚类模型更新的结构示意图。
图3为本发明通过集中合并方法对全局聚类模型更新的结构示意图。
图4为本发明聚类模型训练装置一个实施例的结构示意图。
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
设计分布式算法时,不仅需要考虑算法的并行性,还需要考虑网络通信的成本。一般来说,分布式算法可以直接应用在并行系统上,但是并行算法不一定能直接应用在分布式系统上。
生成式方法通常基于数据的统计模型。
判定式算法不涉及对数据的建模,而是直接针对数据进行分析计算,并得到聚类结果。K均值算法是一种常用的判定式聚类分析方法。
马尔柯夫链蒙特卡洛与变分推断:是两类常用的对复杂模型进行近似估计的方法。马尔柯夫链蒙特卡洛方法对模型进行采样,利用样本对原概率分布进行近似。变分推断方法直接对模型的概率分布进行近似。
图1为本发明聚类模型训练方法一个实施例的流程图。如图1所示,该实施例方法包括:
步骤101,基于主节点,获取全局聚类模型。
其中,计算节点包括主节点、和至少一个与主节点通信连接的从节点,主节点的获取可以是在计算节点中随机的旋转一个与其他各计算节点都存在通信的计算节点作为主节点,与主节点相通信的各计算节点作为从节点;将计算数据分布到各从节点中;主节点中预存有一个全局聚类模型,全局聚类模型是一个混合模型。
步骤102,针对各从节点,分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型。
其中,主节点为计算系统中的任意一个计算节点,从节点为计算系统中除主节点之外的计算节点,主节点与各从节点之间通信连接。每个从节点从主节点获取全局聚类模型的一个拷贝,并在全局聚类模型基础之上利用从节点中的计算数据进行进一步的估计;这个估计过程可以借助吉布斯采样,或者其他适用于单节点的估计算法;由于不同从节点的估计过程是独立的,因此这一轮估计结束时,每个从节点得到的局部聚类模型是不同的;通过在各从节点中分别利用计算数据进行模型估计,提高了模型估计速度,并提高了模型同步效率。
步骤103,基于各从节点对应的局部聚类模型,对全局聚类模型进行训练。
数学上严格的方法要求每完成一次抽样就要在计算节点之间同步一次统计量,而本发明将统计频率降低到每完成一轮抽样(或同数量级)同步一次;这使得每个计算节点可以高效独立地进行模型估计(同时可以产生新的聚类),也是本发明方法可以异步运行的基础。
基于本发明上述实施例提供的一种聚类模型训练方法,基于主节点,获取全局聚类模型;针对各从节点,分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型,实现高效地进行模型估计;基于各从节点对应的局部聚类模型,对全局聚类模型进行训练;降低了计算节点之间的同步率,提高了聚类效率。
本发明聚类模型训练方法的另一个实施例,在上述实施例的基础上,操作103包括:
基于各从节点对应的局部聚类模型,对全局聚类模型进行更新,得到更新后的全局聚类模型;
将更新后的全局聚类模型作为主节点中的全局聚类模型;
迭代执行各从节点分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型;基于各从节点对应的局部聚类模型,对全局聚类模型进行训练,得到更新后的全局聚类模型;直到更新后的全局聚类模型满足预设收敛条件。全局聚类模型是一个混合模型,对于聚类分析,混合模型(如高斯混合模型)是一类常用的概率模型。混合模型使用多个简单概率分布的组合去拟合一个复杂的概率分布,而模型中的一个简单概率分布就构成了一个聚类。当混合模型的先验分布与似然函数满足共轭先验条件(例如:似然函数是“已知方差的高斯分布”,参数为均值,先验分布(即关于参数“均值”的分布)是高斯分布时,既满足共轭先验条件)时,全局聚类模型中的聚类结果可以完全由该聚类包含样本的总个数和样本的充分统计量的总和表示;而预设收敛条件可以设置为:通过观察似然函数的变化判断收敛,如果似然函数在迭代过程中不再上升,则满足收敛条件。
充分统计量:统计量是样本数据的函数,在统计学中,T(x)为未知分布P的参数θ的充分统计量,当且仅当T(x)可以提供θ的全部信息,也就是说,没有统计量可以提供关于θ的额外信息。统计量是实际上是一种对数据分布的压缩,在样本加工为统计量的过程中,样本中所含的信息可能有所损失,若在将样本加工为统计量时,信息毫无损失,则称此统计量为充分统计量。比如,在正态分布中,可以用两个充分统计量样本均值和样本方差描述整个数据分布。知道了充分统计量就可以扔掉样本,因为样本里的信息全都被包含在充分统计量里面。因此,本发明在通信过程中不传输样本里的信息,通信数据量较小,对于共享内存的大小没有要求,可以适用于没有共享内存的分布式计算环境。
本发明聚类模型训练方法的又一个实施例,在上述实施例的基础上,基于各从节点对应的局部聚类模型,对全局聚类模型进行更新,包括:
所有从节点分别基于全局聚类模型和分配给从节点的计算数据进行聚类估计之后,主节点中基于各局部聚类模型对全局聚类模型进行更新。
在本实施例中,提出了同步对主节点中的全局聚类模型进行更新,同步更新的情况下,需要所有与主节点通信的从节点都完成模型估计之后,才能对主节点中的全局聚类模型进行更新,由于大大减少了计算节点之间的同步次数,使得每个计算节点可以高效独立地进行模型估计。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,主节点基于各局部聚类模型对全局聚类模型进行更新,包括:
将各局部聚类模型中的局部聚类分别与全局聚类模型中的各全局聚类进行比较;
当局部聚类在全局聚类模型中不存在对应的全局聚类时,将局部聚类添加到全局聚类模型中;
当局部聚类在全局聚类模型中存在对应的全局聚类时,将局部聚类合并到全局聚类模型中。
其中,全局聚类模型中包括至少一个全局聚类,示例性地,如果该聚类在本轮估计之前包含nls个样本,充分统计量总和为φls,本轮估计结束时包含nle个样本,充分统计量总和为φle,全局聚类模型中该聚类包含ng个样本,充分统计量总和为φg,则将全局聚类模型中该聚类的两项统计量更新为ng-nls+nle和φg-φls+φle。
由于通信过程仅涉及每个聚类的样本总数以及充分统计量的总和,不涉及具体样本的信息,因此通信量仅正比于子节点个数、每个子节点上聚类的个数、以及充分统计量的维度,与样本个数无关,使本发明方法在通信过程中,通信数据量小。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,将局部聚类合并到全局聚类模型中,包括:
分别计算各局部聚类模型对应的局部聚类与全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照合并分离比率对全局聚类模型中的各全局聚类进行采样,根据采样结果将所述局部聚类合并或增加到全局聚类模型的全局聚类中。
其中,合并分离比率大于或等于预设值时,执行合并;合并分离比率小于预设值时,不执行合并。
计算聚类S1和聚类S2的合并分离比率的公式如公式(1)所示:
其中,α为狄利克雷过程混合模型中狄利克雷过程的超参数,Γ表示Gamma伽玛函数,n为聚类中样本的个数,b为狄利克雷过程的先验分布的“归一化分配函数”的对数(英文为log partition function),exp为以自然常数e为底的指数函数,β0和κ0为指数分布族表示形式中的参数,β1=β0+φ(S1),其中φ(S1)为聚类S1中所有样本的充分统计量的总和,κ1=κ0+c·n1。同理有β2=β0+φ(S2),κ2=κ0+c·n2以及β12=β0+φ(S1)+φ(S2),κ2=κ0+c·n1+c·n2。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,根据采样结果将局部聚类合并或增加到全局聚类模型的聚类中,包括:
当采样结果对应的采样值大于全局聚类模型的全局聚类数量值时,将局部聚类增加到全局聚类模型中,全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于全局聚类模型的全局聚类数量值时,将局部聚类合并到全局聚类模型中的原有聚类中,全局聚类模型中的全局聚类数量值不变。
本实施例采用的是逐一合并方法,对于一个新产生的聚类,计算该聚类和全局聚类模型中所有已有聚类的“合并分离比率”,并按设定概率进行采样,该设定概率的公式如公式(2)所示:
这里K为全局聚类模型中聚类的总数。表示聚类S′和聚类的合并分离比率,具体计算可根据公式(1)获得,如果采样结果u=k=K+1,此时,设定概率P(u=k)=1,则将这个新产生的局部聚类独立成为一个新的聚类,并加入到全局聚类模型中;如果采样结果u=k≤K,此时,设定概率则将这个聚类合并到全局聚类模型中已有的第k个聚类中,并将新的聚类的样本总数和充分统计量的综合累计到全局聚类模型中的第k个聚类中。通过本实施例方法,逐一合并所有从节点中产生的局部聚类。图2为本发明通过逐一合并方法对全局模型更新的结构示意图。如图2所示,从节点中每产生一个新的聚类,即上传到主节点中,主节点基于新的聚类更新全局模型;通过本实施例方法,逐一合并所有从节点中产生的局部聚类。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,主节点基于各局部聚类模型对全局聚类模型进行更新,包括:
将各局部聚类模型获得的所有局部聚类分别增加到全局聚类模型的全局聚类中,得到对应的新全局聚类模型;对该新全局聚类模型中的所有全局聚类进行重组,对所有全局聚类分别执行拆分或合并。
本实施例中,通过集中合并方法实现对全局聚类模型的更新,图3为本发明通过集中合并方法对全局模型更新的结构示意图。如图3所示,子节点把所有新产生的聚类上传到主节点,此时主节点不进行任何合并操作,而是把这些新产生的聚类全部当作新的聚类并加入到全局聚类模型中。之后,主节点利用Metropolis-Hasting算法对新全局聚类模型中所有的聚类进行重组:MH算法每一步以设定概率(如:1/2)尝试合并某两个聚类或拆分某个聚类。
本发明提供的逐一合并方法和集中合并方法可以分别使用对全局聚类模型进行更新,也可以同时采用逐一合并方法和集中合并方法共同对全局聚类模型进行更新。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,对所有全局聚类执行拆分或合并,包括:
每次以预设的概率取两个全局聚类执行合并,或以预设的概率取一个全局聚类执行拆分,直到新全局聚类模型中所有全局聚类都已执行合并或拆分。
通过对新全局聚类模型中的所有聚类完成合并或拆分,实现对该新全局聚类模型的重组。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,取两个全局聚类执行合并,包括:
计算每两个全局聚类之间的合并分离比率,以正比于合并分离比率的第一抽样概率,从新全局聚类模型中抽样获得两个全局聚类,根据第一抽样概率计算第一接受概率;
以第一接受概率合并抽样获得的两个全局聚类。
示例性地,如果尝试合并,考察新全局聚类模型中的全部无序聚类组(A,B),并计算他们的“合并分离比率”,然后以正比于合并分离比率的第一采样概率,从全部无序聚类组(A,B)中选出一组,根据选择该组的概率计算接受概率,并以该接受概率合并这该组中的两个聚类。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,取一个全局聚类执行拆分,包括:
将可拆分组中的全局聚类拆分为至少两个局部聚类,计算拆分得到的至少两个局部聚类重新合并为该全局聚类的分离度概率,以正比于分离度概率的第二抽样概率,从可拆分组中获得一个全局聚类,对该全局聚类对应的所有局部聚类执行合并,得到两个新聚类,及合并得到新聚类的合并概率;可拆分组中包括所有由至少两个局部聚类合并而成的全局聚类;
基于第二抽样概率和合并概率获得第二接受概率,基于第二接受概率拆分采样得到的全局聚类,得到两个新聚类。
示例性地,将新全局聚类模型中由各从节点中的至少两个局部聚类合并而成的全局聚类归类到可拆分组,新全局聚类模型中其他由从节点中的一个局部聚类构成的全局聚类归类到不可拆分组;如果尝试分离,则首先需要选择一个全局聚类,再拆分该全局聚类,对于新全局聚类模型中的一个全局聚类C,它一定是由一个或多个子节点产生的局部聚类合并而成,如果是一个局部聚类,则不参与拆分,如果是两个以上的局部聚类合并而成的全局聚类,则可以执行拆分,将该全局聚类C拆分成至少两个局部聚类,计算这些局部聚类经过上述“逐一合并方法”仍可以合并回一个全局聚类(即C本身)的概率,这个概率即为该全局聚类C的分离度概率,基于与全局聚类的分离度概率呈正比的第二抽样概率,从全部可拆分的全局聚类C中选出一个进行拆分。
对于选定的可拆分全局聚类C,利用上述“逐一合并方法”,重新合并全局聚类C所包含的局部聚类,形成两个聚类A和B,同时计算得到该结果的合并概率。需要注意的是,这里使用的“逐一合并方法”中,在聚类总数(即公式中的K)达到2时,不再考虑产生新聚类,即不考虑公式中u=K+1的情况。
最后,根据第二抽样概率和合并概率计算第二接受概率,示例性地,可以采用第二抽样概率乘以合并概率获得该第二接受概率,并以该第二接受概率拆分这个全局聚类C,得到基于全局聚类C拆分得到的两个新聚类A和B。
本发明聚类模型训练方法的还一个实施例,在上述实施例的基础上,基于各从节点对应的局部聚类模型,对全局聚类模型进行更新,包括:
在从节点基于全局聚类模型和分配给任一从节点的计算数据进行聚类估计的同时,主节点基于已获得的局部聚类模型通过合并或拆分对全局聚类模型进行更新。
在本实施例中,提出了对主节点中的全局聚类模型进行异步更新,异步更新的情况下,每当有从节点得到估计的局部聚类模型,将将该局部聚类模型发送到主节点中,而在其他从节点进行模型估计的同时,主节点通过已接收的局部聚类模型对全局聚类模型进行更新,主节点和从节点之间的运行互不干扰,同时进行。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,主节点基于已获得的局部聚类模型对所述全局聚类模型进行更新之前,还包括:
每个从节点获得对应的局部聚类模型之后,将局部聚类模型传输给主节点。
为了实现异步更新,主节点中需要具有局部聚类模型,因此每当有从节点通过估计得到局部聚类模型,及时将该局部聚类模型发送给主节点。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,主节点中基于已获得的局部聚类模型对全局聚类模型进行更新,包括:
将局部聚类模型中的局部聚类分别与全局聚类模型中的各全局聚类进行比较;
当局部聚类在全局聚类模型中不存在对应的全局聚类时,将局部聚类添加到全局聚类模型中;
当局部聚类在全局聚类模型中存在对应的全局聚类时,将局部聚类合并到全局聚类模型中;全局聚类模型中包括至少一个全局聚类。
其中,全局聚类模型中包括至少一个全局聚类,示例性地,如果该聚类在本轮估计之前包含nls个样本,充分统计量总和为φls,本轮估计结束时包含nle个样本,充分统计量总和为φle,全局聚类模型中该聚类包含ng个样本,充分统计量总和为φg,则将全局聚类模型中该聚类的两项统计量更新为ng-nls+nle和φg-φls+φle。
由于通信过程仅涉及每个聚类的样本总数以及充分统计量的总和,不涉及具体样本的信息,因此通信量仅正比于子节点个数、每个子节点上聚类的个数、以及充分统计量的维度,与样本个数无关,使本发明方法在通信过程中,通信数据量小。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,将局部聚类添加到全局聚类模型中,包括:
计算局部聚类模型对应的局部聚类与全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照合并分离比率对全局聚类模型中的各全局聚类进行采样,根据采样结果将局部聚类合并或增加到全局聚类模型的全局聚类中;
其中,合并分离比率大于或等于预设值时,执行合并;合并分离比率小于预设值时,不执行合并。
计算聚类S1和聚类S2的合并分离比率的公式如公式(1)所示:
其中,α为狄利克雷过程混合模型中狄利克雷过程的超参数,Γ表示Gamma伽玛函数,n为聚类中样本的个数,b为狄利克雷过程的先验分布的“归一化分配函数”的对数(英文为log partition function),exp为以自然常数e为底的指数函数,β0和κ0为指数分布族表示形式中的参数(详见论文中公式2),β1=β0+φ(S1),其中φ(S1)为聚类S1中所有样本的充分统计量的总和,κ1=κ0+c·n1。同理有β2=β0+φ(S2),κ2=κ0+c·n2以及β12=β0+φ(S1)+φ(S2),κ2=κ0+c·n1+c·n2。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,根据采样结果将局部聚类合并或增加到全局聚类模型的聚类中,包括:
当采样结果对应的采样值大于全局聚类模型的全局聚类数量值时,将局部聚类增加到全局聚类模型中,全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于全局聚类模型的全局聚类数量值时,将局部聚类合并到全局聚类模型中的原有聚类中,全局聚类模型中的全局聚类数量值不变。
本实施例采用的是逐一合并方法,对于一个新产生的聚类,计算该聚类和全局聚类模型中所有已有聚类的“合并分离比率”,并按设定概率进行采样,该设定概率的公式如公式(2)所示:
这里K为全局聚类模型中聚类的总数。表示聚类S′和聚类的合并分离比率,具体计算可根据公式(1)获得,如果采样结果u=k=K+1,此时,设定概率P(u=k)=1,则将这个新产生的局部聚类独立成为一个新的聚类,并加入到全局聚类模型中;如果采样结果u=k≤K,此时,设定概率则将这个聚类合并到全局聚类模型中已有的第k个聚类中,并将新的聚类的样本总数和充分统计量的综合累计到全局聚类模型中的第k个聚类中。通过本实施例方法,逐一合并所有从节点中产生的局部聚类。
在本发明聚类模型训练方法上述各实施例的一个具体示例中,计算系统包括分布式计算系统。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明聚类模型训练装置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图4所示,该实施例的装置包括:
模型获取单元41,用于基于主节点,获取全局聚类模型。
局部模型估计单元42,用于针对各从节点,分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型。
其中,主节点为计算系统中的任意一个计算节点,从节点为计算系统中除主节点之外的计算节点,主节点与各从节点之间通信连接。
全局模型训练单元43,用于基于各从节点对应的局部聚类模型,对全局聚类模型进行训练。
基于本发明上述实施例提供的一种聚类模型训练装置,基于主节点,获取全局聚类模型;针对各从节点,分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型,实现高效地进行模型估计;基于各从节点对应的局部聚类模型,对全局聚类模型进行训练;降低了计算节点之间的同步率,提高了聚类效率。
本发明聚类模型训练装置的另一个实施例,在上述实施例的基础上,全局模型训练单元43包括:
模型更新模块,用于基于各从节点对应的局部聚类模型,对全局聚类模型进行更新,得到更新后的全局聚类模型;
模型设置模块,用于将更新后的全局聚类模型作为主节点中的全局聚类模型;
迭代模块,用于迭代执行各从节点分别基于全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各从节点对应的局部聚类模型;基于各从节点对应的局部聚类模型,对全局聚类模型进行训练,得到更新后的全局聚类模型;直到更新后的全局聚类模型满足预设收敛条件。
全局聚类模型是一个混合模型,对于聚类分析,混合模型(如高斯混合模型)是一类常用的概率模型。混合模型使用多个简单概率分布的组合去拟合一个复杂的概率分布,而模型中的一个简单概率分布就构成了一个聚类。当混合模型的先验分布与似然函数满足共轭先验条件(例如:似然函数是“已知方差的高斯分布”,参数为均值,先验分布(即关于参数“均值”的分布)是高斯分布时,既满足共轭先验条件)时,全局聚类模型中的聚类结果可以完全由该聚类包含样本的总个数和样本的充分统计量的总和表示;而预设收敛条件可以设置为:通过观察似然函数的变化判断收敛,如果似然函数在迭代过程中不再上升,则满足收敛条件。
本发明聚类模型训练方法的又一个实施例,在上述实施例的基础上,全局模型更新单元42,包括:
同步更新模块,用于在所有从节点分别基于全局聚类模型和分配给从节点的计算数据进行聚类估计之后,主节点基于各局部聚类模型对全局聚类模型进行更新。
在本实施例中,提出了同步对主节点中的全局聚类模型进行更新,同步更新的情况下,需要所有与主节点通信的从节点都完成模型估计之后,才能对主节点中的全局聚类模型进行更新,由于大大减少了计算节点之间的同步次数,使得每个计算节点可以高效独立地进行模型估计。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,同步更新模块包括:
比较模块,用于将各局部聚类模型中的局部聚类分别与全局聚类模型中的各全局聚类进行比较;
添加模块,用于当局部聚类在全局聚类模型中不存在对应的全局聚类时,将局部聚类添加到全局聚类模型中;
合并模块,用于当局部聚类在全局聚类模型中存在对应的全局聚类时,将局部聚类合并到全局聚类模型中;全局聚类模型中包括至少一个全局聚类。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,添加模块,具体用于分别计算各局部聚类模型对应的局部聚类与全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照合并分离比率对全局聚类模型中的各全局聚类进行采样,根据采样结果将局部聚类合并或增加到全局聚类模型的全局聚类中;合并分离比率大于或等于预设值时,执行合并;合并分离比率小于预设值时,不执行合并。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,合并模块,具体用于:
当采样结果对应的采样值大于全局聚类模型的全局聚类数量值时,将局部聚类增加到全局聚类模型中,全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于全局聚类模型的全局聚类数量值时,将局部聚类合并到全局聚类模型中的原有聚类中,全局聚类模型中的全局聚类数量值不变。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,同步更新模块具体用于,用于将各局部聚类模型获得的所有局部聚类分别增加到全局聚类模型的全局聚类中,得到对应的新全局聚类模型;对新全局聚类模型中的所有全局聚类进行重组,对所有全局聚类分别执行拆分或合并。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,同步更新模块对所有全局聚类分别执行拆分或合并时,具体用于每次以预设的概率取两个全局聚类执行合并,或以预设的概率取一个全局聚类执行拆分,直到新全局聚类模型中所有全局聚类都已执行合并或拆分。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,同步更新模块取两个全局聚类执行合并时,具体用于计算每两个全局聚类之间的合并分离比率,以正比于合并分离比率的第一抽样概率,从新全局聚类模型中抽样获得两个全局聚类,根据第一抽样概率计算第一接受概率;以第一接受概率合并抽样获得的两个全局聚类。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,同步更新模块取一个全局聚类执行拆分时,具体用于将可拆分组中的全局聚类拆分为至少两个局部聚类,计算拆分得到的至少两个局部聚类重新合并为全局聚类的分离度概率,以正比于分离度概率的第二抽样概率,从可拆分组中获得一个全局聚类,对全局聚类对应的所有局部聚类执行合并,得到两个新聚类,及合并得到新聚类的合并概率;可拆分组中包括所有由至少两个局部聚类合并而成的全局聚类;
基于第二抽样概率和合并概率获得第二接受概率,基于第二接受概率拆分采样得到的全局聚类,得到两个新聚类。
本发明聚类模型训练装置的还一个实施例,在上述实施例的基础上,全局模型更新单元,包括:
异步更新模块,用于在从节点基于全局聚类模型和分配给该从节点的计算数据进行聚类估计的同时,主节点基于已获得的局部聚类模型对全局聚类模型进行更新。
在本实施例中,提出了异步对主节点中的全局聚类模型进行更新,异步更新的情况下,每当有从节点得到估计的局部聚类模型,将将该局部聚类模型发送到主节点中,而在其他从节点进行模型估计的同时,主节点通过已接收的局部聚类模型对全局聚类模型进行更新,主节点和从节点之间的运行互不干扰,同时进行。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,异步更新模块,还用于每个从节点获得对应的局部聚类模型之后,将局部聚类模型传输给所述主节点。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,异步更新模块,包括:
异步比较模块,用于将局部聚类模型中的局部聚类分别与全局聚类模型中的各全局聚类进行比较;
异步添加模块,用于当局部聚类在全局聚类模型中不存在对应的全局聚类时,将局部聚类添加到全局聚类模型中;
异步合并模块,用于当局部聚类在全局聚类模型中存在对应的全局聚类时,将局部聚类合并到所述全局聚类模型中;全局聚类模型中包括至少一个全局聚类。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,异步添加模块,具体用于计算局部聚类模型对应的局部聚类与全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照合并分离比率对全局聚类模型中的各全局聚类进行采样,根据采样结果将局部聚类合并到全局聚类模型的全局聚类中;合并分离比率大于或等于预设值时,执行合并;合并分离比率小于预设值时,不执行合并。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,异步合并模块,具体用于当采样结果对应的采样值大于全局聚类模型的全局聚类数量值时,将局部聚类增加到全局聚类模型中,全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于全局聚类模型的全局聚类数量值时,将局部聚类合并到全局聚类模型中的原有聚类中,全局聚类模型中的全局聚类数量值不变。
在本发明聚类模型训练装置上述各实施例的一个具体示例中,计算系统包括但不限于分布式计算系统。
根据本发明实施例的另一个方面,提供的一种电子设备,设置有本发明聚类模型训练装置上述任一实施例。
根据本发明实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与存储器通信以执行可执行指令从而完成本发明聚类模型训练方法上述任一实施例的操作。
根据本发明实施例的另一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时执行本发明聚类模型训练方法上述任一实施例的操作。
本发明实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备500的结构示意图:如图5所示,计算机系统500包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)501,和/或一个或多个图像处理器(GPU)513等,处理器可以根据存储在只读存储器(ROM)502中的可执行指令或者从存储部分508加载到随机访问存储器(RAM)503中的可执行指令而执行各种适当的动作和处理。通信部512可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,
处理器可与只读存储器502和/或随机访问存储器530中通信以执行可执行指令,通过总线504与通信部512相连、并经通信部512与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,基于主节点,获取全局聚类模型;针对通过分布式系统各中至少一个从节点中的任一从节点,从分布式系统中的主节点获取全局聚类模型,并分别基于全局聚类模型和分配给相应任一从节点的计算数据进行聚类估计,获得各任一从节点对应的局部聚类模型;分布式系统包括主节点、和至少一个与主节点通信连接的从节点;其中,主节点为计算系统中的任意一个计算节点,从节点为计算系统中除主节点之外的计算节点,主节点与各从节点之间通信连接;基于各至少一个从节点对应获得的局部聚类模型,对全局聚类模型进行训练。
此外,在RAM 503中,还可存储有装置操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。在有RAM503的情况下,ROM502为可选模块。RAM503存储可执行指令,或在运行时向ROM502中写入可执行指令,可执行指令使处理器501执行上述通信方法对应的操作。输入/输出(I/O)接口505也连接至总线504。通信部512可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
需要说明的,如图5所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图5的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明公开的保护范围。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,基于主节点,获取全局聚类模型;针对通过分布式系统各中至少一个从节点中的任一从节点,从分布式系统中的主节点获取全局聚类模型,并分别基于全局聚类模型和分配给相应任一从节点的计算数据进行聚类估计,获得各任一从节点对应的局部聚类模型;分布式系统包括主节点、和至少一个与主节点通信连接的从节点;其中,主节点为计算系统中的任意一个计算节点,从节点为计算系统中除主节点之外的计算节点,主节点与各从节点之间通信连接;基于各至少一个从节点对应获得的局部聚类模型,对全局聚类模型进行训练。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
可能以许多方式来实现本发明的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种聚类模型训练方法,其特征在于,包括:
基于主节点,获取全局聚类模型;
针对各从节点,分别基于所述全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各所述从节点对应的局部聚类模型;其中,所述主节点为计算系统中的任意一个计算节点,所述从节点为所述计算系统中除所述主节点之外的计算节点,所述主节点与各所述从节点之间通信连接;
基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练。
2.根据权利要求1所述的方法,其特征在于,基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练,包括:
基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行更新,得到更新后的全局聚类模型;
将所述更新后的全局聚类模型作为主节点中的全局聚类模型;
迭代执行各所述从节点分别基于所述全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各所述从节点对应的局部聚类模型;基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练,得到更新后的全局聚类模型;直到所述更新后的全局聚类模型满足预设收敛条件。
3.根据权利要求2所述的方法,其特征在于,基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行更新,包括:
在所述从节点基于所述全局聚类模型和分配给所述从节点的计算数据进行聚类估计的同时,所述主节点基于已获得的所述局部聚类模型对所述全局聚类模型进行更新;
或,在所述所有从节点分别基于所述全局聚类模型和分配给所述从节点的计算数据进行聚类估计之后,所述主节点基于各所述局部聚类模型对所述全局聚类模型进行更新。
4.根据权利要求3所述的方法,其特征在于,所述主节点基于各所述局部聚类模型对所述全局聚类模型进行更新,包括:
将各所述局部聚类模型中的局部聚类分别与所述全局聚类模型中的各全局聚类进行比较;
当所述局部聚类在所述全局聚类模型中不存在对应的全局聚类时,将所述局部聚类添加到所述全局聚类模型中;
当所述局部聚类在所述全局聚类模型中存在对应的全局聚类时,将所述局部聚类合并到所述全局聚类模型中;所述全局聚类模型中包括至少一个全局聚类。
5.根据权利要求4所述的方法,其特征在于,将所述局部聚类添加到所述全局聚类模型中,包括:
分别计算各所述局部聚类模型对应的局部聚类与所述全局聚类模型中的各全局聚类的一个以上合并分离比率,并分别按照所述合并分离比率对所述全局聚类模型中的各全局聚类进行采样,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的全局聚类中;所述合并分离比率大于或等于预设值时,执行合并;所述合并分离比率小于预设值时,不执行合并。
6.根据权利要求5所述的方法,其特征在于,根据采样结果将所述局部聚类合并或增加到所述全局聚类模型的聚类中,包括:
当采样结果对应的采样值大于所述全局聚类模型的全局聚类数量值时,将所述局部聚类增加到所述全局聚类模型中,所述全局聚类模型中的全局聚类数量值加一;
当采样结果对应的采样值小于或等于所述全局聚类模型的全局聚类数量值时,将所述局部聚类合并到所述全局聚类模型中的全局聚类中,所述全局聚类模型中的全局聚类数量值不变。
7.一种聚类模型训练装置,其特征在于,包括:
模型获取单元,用于基于主节点,获取全局聚类模型;
局部模型估计单元,用于针对各从节点,分别基于所述全局聚类模型和分配给相应从节点的计算数据进行聚类估计,获得各所述从节点对应的局部聚类模型;其中,所述主节点为计算系统中的任意一个计算节点,所述从节点为所述计算系统中除所述主节点之外的计算节点,所述主节点与各所述从节点之间通信连接;
全局模型训练单元,用于基于各所述从节点对应的局部聚类模型,对所述全局聚类模型进行训练。
8.一种电子设备,其特征在于,设置有如权利要求7所述的聚类模型训练装置。
9.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成权利要求1至6任意一项所述聚类模型训练方法的操作。
10.一种计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1至6任意一项所述聚类模型训练方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710706068.5A CN108229528A (zh) | 2017-08-16 | 2017-08-16 | 聚类模型训练方法和装置、电子设备、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710706068.5A CN108229528A (zh) | 2017-08-16 | 2017-08-16 | 聚类模型训练方法和装置、电子设备、计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108229528A true CN108229528A (zh) | 2018-06-29 |
Family
ID=62655118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710706068.5A Pending CN108229528A (zh) | 2017-08-16 | 2017-08-16 | 聚类模型训练方法和装置、电子设备、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108229528A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242048A (zh) * | 2018-11-07 | 2019-01-18 | 电子科技大学 | 基于时间序列的视觉目标分布式聚类方法 |
CN110276449A (zh) * | 2019-06-24 | 2019-09-24 | 深圳前海微众银行股份有限公司 | 一种无监督学习方法及装置 |
CN110289924A (zh) * | 2019-06-05 | 2019-09-27 | 宁波大学 | 一种变分推断估计噪声功率的方法 |
CN111078488A (zh) * | 2018-10-18 | 2020-04-28 | 杭州海康威视数字技术股份有限公司 | 数据采集方法、装置、存储介质及系统 |
CN111510327A (zh) * | 2020-04-08 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 用于共同训练模型的训练参与端的网络连接方法和装置 |
CN114121206A (zh) * | 2022-01-26 | 2022-03-01 | 中电云数智科技有限公司 | 一种基于多方联合k均值建模的病例画像方法及装置 |
-
2017
- 2017-08-16 CN CN201710706068.5A patent/CN108229528A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078488A (zh) * | 2018-10-18 | 2020-04-28 | 杭州海康威视数字技术股份有限公司 | 数据采集方法、装置、存储介质及系统 |
CN109242048A (zh) * | 2018-11-07 | 2019-01-18 | 电子科技大学 | 基于时间序列的视觉目标分布式聚类方法 |
CN110289924A (zh) * | 2019-06-05 | 2019-09-27 | 宁波大学 | 一种变分推断估计噪声功率的方法 |
CN110289924B (zh) * | 2019-06-05 | 2021-06-22 | 宁波大学 | 一种变分推断估计噪声功率的方法 |
CN110276449A (zh) * | 2019-06-24 | 2019-09-24 | 深圳前海微众银行股份有限公司 | 一种无监督学习方法及装置 |
CN111510327A (zh) * | 2020-04-08 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 用于共同训练模型的训练参与端的网络连接方法和装置 |
US11811864B2 (en) | 2020-04-08 | 2023-11-07 | Douyin Vision Co., Ltd. | Network connection method and device for training participant end of common training model |
CN114121206A (zh) * | 2022-01-26 | 2022-03-01 | 中电云数智科技有限公司 | 一种基于多方联合k均值建模的病例画像方法及装置 |
CN114121206B (zh) * | 2022-01-26 | 2022-05-20 | 中电云数智科技有限公司 | 一种基于多方联合k均值建模的病例画像方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229528A (zh) | 聚类模型训练方法和装置、电子设备、计算机存储介质 | |
Foss et al. | kamila: clustering mixed-type data in R and Hadoop | |
Opgen-Rhein et al. | From correlation to causation networks: a simple approximate learning algorithm and its application to high-dimensional plant gene expression data | |
Tan et al. | The cluster graphical lasso for improved estimation of Gaussian graphical models | |
US20230351192A1 (en) | Robust training in the presence of label noise | |
Aghaeepour et al. | Rapid cell population identification in flow cytometry data | |
KR20210028724A (ko) | 기계 학습 모델을 이용한 편향 데이터 제거 | |
CN112633511B (zh) | 用于计算量子配分函数的方法、相关装置及程序产品 | |
CN105488539B (zh) | 分类模型的生成方法及装置、系统容量的预估方法及装置 | |
US20030023571A1 (en) | Enhancing knowledge discovery using support vector machines in a distributed network environment | |
WO2022142859A1 (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN110458187A (zh) | 一种恶意代码家族聚类方法和系统 | |
CN103838803A (zh) | 一种基于节点Jaccard相似度的社交网络社团发现方法 | |
de Arruda et al. | A complex networks approach for data clustering | |
US20210089870A1 (en) | Data valuation using reinforcement learning | |
CN104008420A (zh) | 一种基于自动编码机的分布式离群点检测方法及系统 | |
Vaughan | Efficient big data model selection with applications to fraud detection | |
Xie et al. | Dynamic interaction graphs with probabilistic edge decay | |
CN115204416A (zh) | 基于分层抽样优化的面向异构客户端的联合学习方法 | |
CN112131322A (zh) | 时间序列分类方法及装置 | |
Wu et al. | Stable estimation of heterogeneous treatment effects | |
CN109376651A (zh) | 一种基于cuda架构的gpu加速锋电位分类的系统 | |
US11281686B2 (en) | Information processing apparatus, method, and program | |
CN109951327A (zh) | 一种基于贝叶斯混合模型的网络故障数据合成方法 | |
Sendera et al. | Supermodeling: the next level of abstraction in the use of data assimilation |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |