CN105447008A - 时序聚类的分布式处理方法及系统 - Google Patents
时序聚类的分布式处理方法及系统 Download PDFInfo
- Publication number
- CN105447008A CN105447008A CN201410393542.XA CN201410393542A CN105447008A CN 105447008 A CN105447008 A CN 105447008A CN 201410393542 A CN201410393542 A CN 201410393542A CN 105447008 A CN105447008 A CN 105447008A
- Authority
- CN
- China
- Prior art keywords
- state
- distance
- transition matrix
- time series
- transition
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种时序聚类的分布式处理方法及系统,为简化时序聚类而设计。所述方法包括:依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;计算任意两个所述状态转移矩阵之间的距离;及依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
Description
技术领域
本发明涉及计算机领域的数据处理技术,尤其涉及一种时序聚类的分布式处理方法及系统。
背景技术
随着互联网技术的迅猛发展,基于互联网提供的各类服务层出不穷,伴随产生的信息量也呈爆炸式增长,如何快速地从海量数据中挖掘出有价值的信息变得日益重要。在这些数据中有这样一类数据,它按照时间先后顺序详细记录下了用户的操作过程,数据中隐藏着用户的行为特征、偏好等信息,这些信息对于完善服务、提升用户体验、辅助决策、优化运营策略有极大的帮助,但这些信息无法直接得到,必须通过对数据深入挖掘才能获取。
上述具有时序特征的数据挖掘,可以通过时序聚类来实现,上述信息可抽象成时序聚类的原始数据,通过时序聚类处理,得到这些信息的内在规律,比如发现用户在购买物件A和物件B之间的关联性的强弱等。具体如基于用户行为轨迹分析、用户偏好分析以及用户分群等。现有方法对上述具有时序特点的数据进行时序聚类时,通常采用k-means聚类。所述k-means聚类又称为k-means算法;k-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,每次迭代都需要重新计算任意两点(类)之间的距离,从而所有的数据必须由同一台设备处理。
k-means聚类的操作至少包括聚类迭代和距离计算两种;现有的算法根据聚类和距离计算的先后顺序包括以下两种:
第一、先计算距离后聚类,采用这种算法时间复杂度为O(n^2),对计算及的内存需求也为O(n^2)。
第二、一边聚类一边计算距离,可以将内存需求O(1),但是时间复杂度为O(n^4)。
故现有的时序聚类算法对计算机处理能力要求高或者处理效率低。
发明内容
有鉴于此,本发明实施例期望提供一种时序聚类的分布式处理方法及系统,能够降低对计算机处理能力的要求或提高处理效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明第一方面提供一种时序聚类的分布式处理方法,所述方法包括:
依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;
计算任意两个所述状态转移矩阵之间的距离;
依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
优选地,
所计算任意两个所述状态转移矩阵之间的距离还包括:
对所述N个状态转移矩阵做归一化处理,形成N个归一化状态转移矩阵;
计算所述任意两个所述归一化状态转移矩阵之间的距离。
优选地,
所述依据所述距离采用基于密度的聚类算法分布式计算时序聚类结果包括:
依据所述距离分布式计算出一个或多个核心点、每一个所述核心点的直接密度可达的点以及间接密度可达的点。
优选地,
所述计算任意两个所述状态转移矩阵之间的距离为:
采用欧式距离范数计算所述任意两个状态转移矩阵之间的距离。
优选地,
所述基于密度的聚类算法为OPTICS聚类算法。
本发明第二方面提供一种时序聚类的分布式处理系统,所述系统包括:
形成单元,用于依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;
处理单元,用于计算任意两个所述状态转移矩阵之间的距离;
计算单元,用于依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
优选地,
所述处理单元还包括:
归一化处理模块,用于对所述N个状态转移矩阵做归一化处理,形成N个归一化状态转移矩阵;
计算模块,用于计算所述任意两个所述归一化状态转移矩阵之间的距离。
优选地,
所述计算单元,具体用于依据所述距离分布式计算出一个或多个核心点、每一个所述核心点的直接密度可达的点以及间接密度可达的点。
优选地,
所述处理单元,具体采用欧式距离范数计算所述任意两个状态转移矩阵之间的距离。
优选地,
所述基于密度的聚类算法为OPTICS聚类算法。
本发明实施例中所述的时序聚类的分布式处理方法及系统,根据基于密度的聚类算法的特点,采用基于密度的聚类算法替代现有的K-means算法对具有时序相关性的原始数据进行时序聚类,且采用分布式执行所述时序聚类的操作,从而提升了计算效率,相对于集中处理,降低了对单一计算机的处理能力的要求。
附图说明
图1为本发明实施例所述的时序聚类的分布式处理方法的流程示意图;
图2为本发明实施例所述的距离计算的流程示意图;
图3为本发明实施例所述的时序聚类的分布式处理方法的结构示意图之一;
图4为本发明实施例所述的处理单元的结构示意图之一;
图5为本发明实施例所述的时序聚类的分布式处理方法的结构示意图之二。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
实施例一:
如图1所示,本实施例提供一种时序聚类的分布式处理方法,所述方法包括:
步骤S110:依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;
步骤S120:计算任意两个所述状态转移矩阵之间的距离;
步骤S130:依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
所述标识信息任意两个原始数据的区分信息,具体如序列号或名称。在具体的实现过程中,所述标识信息可以为用户ID,如用户A进行网购时形成的原始数据;该原始数据包括用户A用于网购的用户ID,网购时进行的操作,如浏览、预定以及订购等操作行为。为了区分各操作行为之间的先后顺序,还对应有表征每一个操作行为的时序相关信息。
表征所述时序相关信息可以为具体的时间,如用户浏览商品的具体时间,如6月30号12:15,下单订购的时间为6月30号13:15等。所述时序相关信息还可以是用户A在执行各个操作的时间形成的排序序号;如浏览在预定之前,则浏览对应的时序先于所述预定的时序。
此外,还可以通过一个标识信息对应的多个操作行为之间按照时序形成的转换路径来表示。
在步骤S110中针对每一个标识信息形成一个状态转移矩阵,所述状态转移矩阵用于表针每一标识信息对应的M个操作行为之间的转换状况;所述M个操作行为分为m种行为,则所述状态转移矩阵为m*m维的矩阵。
具体如,再一次处理时所述原始数据如下表;
标识信息 | 操作行为 | 转换路径 |
用户A | 访问,订购 | 访问->订购->访问 |
用户B | 访问,订购 | 访问->订购->订购 |
用户C | 访问,订购 | 访问->访问->访问 |
其中,所述转化路径中位于箭头之前的操作行为为前一操作行为,所述箭头所指向的操作行为后一操作行为;且每一个用户对应的操作行为都分为两类,从而对应每一个用户都形成2*2的矩阵。所述表格中一行记录对应了本发明实施例所述的一个原始数据。
对应用户A的状态转移矩阵如下:
对应用户B的状态转移矩阵如下:
对应用户C的状态转移矩阵如下::
在上述的3个状态矩阵中,所述第一行第一列均表示的是从访问到访问的转换次数;所述第一行第二列均表示的是从访问到订购的转换次数;所述第二行第一列均表示的是从订购到访问的转换次数;所述第二行第二列均表示的是从订购到订购的转换次数。
在步骤S120中计算所述距离可以由一台计算机集中处理,也可以采用分布式处理计算任意两状态转移矩阵之间的距离,具体可为采用至少两台计算机分布式计算所述距离,针对上述三个状态转移矩阵,则是计算出对应用户A的状态转移矩阵与对应于用户B的状态转移矩阵之间的距离,对应于用户A的状态转移矩阵与对应于用户C的状态转移矩阵之间的距离,对应于用户C的状态转移矩阵与对应于用户B的状态转移矩阵之间的距离。
在具体的实现过程中,若采用分布式处理计算任意两状态转移矩阵之间的距离,可以根据每一台计算机的处理能力分布计算任务,已获得最优化的计算效率。具体如当前计算系统中包括3台计算机,其中,计算机A的处理能力很强;计算机B和计算机C的处理能力相对较弱;在进行分布式处理时,可以使计算机A多进行一些距离计算。
所述步骤S110中对应每一用户标识信息的N个状态转移矩阵,可以由一台计算机形成,也可以采用分布式处理方法,将原始数据分发到各台计算机上,由各台计算及形成对应的状态转移矩阵,当在步骤S110中由一台计算机形成状态转移矩阵时,则所述步骤S120包括从形成有状态转移矩阵的计算机处获取需所述状态转移矩阵,如当前第一计算机被指派需要计算用户A对应的状态转移矩阵与用于B对应的状态转移矩阵之间的距离,则此时,所述第一计算机至少需要接收用户A对应的状态转移矩阵及用户B对应的状态转移矩阵;在具体的实现过程中,为了避免筛选所需要的发送到第一计算机的数据,还可以直接将所有的状态转移矩阵发给所述第一计算机,由所述第一计算机根据被指派的计算任务,选择原始数据并形成状态转移矩阵。
当所述步骤S110中的状态转移矩阵也是由多台计算机分布式处理形成时,此时,优选为形成状态转移矩阵的计算机,同时对其形成的至少两个状态转移矩阵进行所述距离的计算。具体如,现在有200个状态转移矩阵,而第二计算机形成了所述200个状态转移矩阵中的10个,则优选为所述第二计算机被指派至少计算由其形成的10个状态转移矩阵中任意两个的距离。这样能减少状态转移矩阵在各台计算机之间的转发。此外,所述第二计算机还可以接收其他计算机发送的状态转移矩阵,计算其接收的状态转移矩阵与由其计算的状态转移矩阵之间的距离。
在步骤S130中所述的基于密度的聚类算法为聚类算法的一种,核心思想是:只要将一个区域中的点的密度大于某个阈值,则将该区域中的点添加到与其相近的聚类中去。所述基于密度的聚类算法包括DBSCAN算法、OPTICS算法及DENCLUE算法等。
在本实施例中,为了加快处理效率,在进行时序聚类时,采用分布式计算的方式,即至少由两台计算机参与依据步骤S120中计算的结果,进行时序聚类结果的形成。
本实施例提供了一种时序聚类的处理方法,采用基于密度的聚类算法替代现有的K-mean是聚类算法来进行时序聚类,并依据基于密度的聚类算法的特点,采用分布式处理计算所述时序聚类结果,从而降低对单一计算机处理能力的要求,且通过分布式计算能提高计算效率。
优选地,
如图2所示,所述步骤S120具体可包括:
步骤S121:对所述N个状态转移矩阵做归一化处理,形成N个归一化状态转移矩阵;
步骤S122:计算所述任意两个所述归一化状态转移矩阵之间的距离.
执行所述步骤S121时,是转换成转移概率,具体如在状态转移矩阵矩阵的第x行第y列中转移次数为X,若第x行均是从操作a转换到另一操作,该行状态转移总次数为Y,则形成的归一化状态转移矩阵的第x行第y列的值为X/Y;其中,所述Y为正数;所述X为不大于所述Y的正数。在状态转移矩阵矩阵的第x行第y列的次数,若第y列均是一个操作转换到操作b;且该列转移总次数Y,则形成的归一化状态转移矩阵的第x行第y列的值为X/Y。
上述对应用户A及对应于用户B的状态转移矩阵在归一处理后,保持不变;对应于用户C的状态转移矩阵在归一化处理后,形成如下矩阵:
在本实施例中具体限定了如何计算两状态转移矩阵之间的距离,具有实现简单快捷的优点。
进一步地,所述步骤S130具体可为:
依据所述距离分布式计算出一个或多个核心点、每一个所述核心点的直接密度可达的点以及间接密度可达的点。
在本实施例中,将每一标识信息映射为一个区域内的一个点;两不同标识信息对应的状态转移矩阵间的距离在该领域表现为其对应的点之间的距离。
若一个点的邻域内至少包括除该点外i个点,且i大于指定值MinPts,则该点为核心点。通常所述邻域的大小及所述指定值均可以是事先指定的。
所述核心点的直接密度可达的点为:若果点q在点p的邻域内,若点p为核心点,那么点q为核心点的直接密度可达的点。
若存在p1、p2、p3…pj、pj+1,…pn,p=p1;q=pn,且从点pj到点pj+1直接密度可达,则点q为点p的间接密度可达的点。
其中,所述j的取值为不小于1,且小于n-1的正整数;所述n为不小于2的正整数。
通过在本实施例中所述核心点的确定,核心点的直接密度可达的点及间接密度可达的点的确定,即得到了时序聚类结果;根据该聚类结果,即可得出多个标识信息之间的关联性。
具体的如何根据距离得到核心点、核心点的直接密度可达的点及核心点的间接密度可达的点,可以参见现有技术中的任一方法,在此就不再做进一步的赘述了。
优选地,在执行所述步骤S120时,具体为:采用欧式距离范数计算所述任意两个状态转移矩阵之间的距离。具体的为,将状态转移矩阵完成归一化处理后的归一化状态转移矩阵。若此时所述归一化状态矩阵为m*m的矩阵,则所述归一化状态转移矩阵对应了一个m维空间。欧式距离为所述m为空间内的两对象之间的欧几里得距离,为两对象在该m维空间内的真实距离。本发明实施例所述的归一化状态转移矩阵中的某一个具体的矩阵值即为所述m维空间内的一个对象。
所述范数是针对矩阵的距离这一概念的一种计算方式。只需要满足正定性、齐次性、三角不等式和相容性的函数都可以作为矩阵的范数函数。
所述是欧氏距离范数为计算任意两个状态转移矩阵之间的欧式距离的范数函数。所述范数函数可以为事先指定的函数,具体的如本实施例所述采用欧式距离范数计算所述距离包括:
计算两归一化状态转移矩阵中相同位置处的矩阵值的平方差;
将对应于不同位置的各个平方差相加,即得到步骤S120中所述的状态转移矩阵之间的距离。
实践证明,采用上述欧式距离范数计算任意两个状态转移矩阵之间的距离,相对于现有的利用DL距离范数进行距离计算,计算复杂度大大的减少了。
具体如,采用本实施例所述的欧式距离范数计算对应于用户A、用户B及用户C的状态转移矩阵之间的距离,得到的结果是:对应于用户A的状态转移矩阵与对应于用户B的状态转移矩阵之间的距离为2;对应于用户A的状态转移矩阵与对应于用户C的状态转移矩阵之间的距离为3;对应于用户B的状态转移矩阵与对应于用户C的状态转移矩阵之间的距离也为3。
若根据预设条件确认对应于两不同用户的状态转移矩阵之间的距离小于3,则该两状态转移矩阵对应的用户为同一类用户,则在本实施例中,所述用户A和用户B为同一类用户,用户C与用户A和用户B属于不同类用户。此外,根据时序聚类结果,还可知道用户A和用户B对应状态转移矩阵中的相同时序特征为都进行访问到订购的操作,且对应的访问到订购的转移概率也相同。
在具体的实现过程中,在分布式处理计算距离时,可以以一个标识信息对应的所有操作行为与其他标识信息对应的所有操作行为之间的距离为计算的最小单元,划分到各个计算机,还可以以一个标识信息对应的一个操作行为与其他标识信息对应的操作行为为计算的最小单元,划分到各个计算机。在具体实现时,可以根据当前处理系统的计算机台数及原始数据量的大小等因素来确定计算的所述最小单元。
在具体的实现过程中,所述基于密度的聚类算法有多种,在本实施例中优选采用OPTICS聚类算法。在具体的实现过程中,DBSCAN算法也可以应用于本实施例进行所述时序聚类的计算,但是相较于所述OPTICS聚类需要事先确定阀值;且采用DBSCAN进行时序聚类时,时序聚类结果根据阀值的不同可能发生变化。进而可能需要多次时序聚类结果的计算才能得到满足用户要求的时序聚类结果。而OPTICS算法在完成所述时序聚类计算之后,形成的时序聚类结果为时序聚类队列。该时序聚类队列中包括了所有的核心点、对应于该核心点的直接密度可达的点及间接密度可达的点。所述时序聚类队列的排序,按照核心点到直接密度可达的点的核心距离进行排序;计算机还可以根据用户输入的用户需求在所述时序聚类队列中找到满足用户要求的核心点、所述核心点对应的直接密度可达的点及间接密度可达的点输出,OPTICS算法对应的时间复杂度为O(N),显然OPTICS算法可以在较小的计算量及较短的时间内完成所述时序聚类,提高了时序聚类的效率。
综合上述,本实施例提供了一种时序聚类的分布式处理方法,采用基于密度的聚类算法取代现有的K-means聚类算法、采用分布式处理取代现有的集中处理,整个计算的时间复杂度可优化为O(N^2),内存需求可有优化为O(1);具有对计算机处理能力要求低及效率高的优点。
实施例二:
如图3所示,本实施例提供一种时序聚类的分布式处理系统,所述系统包括:
形成单元110,用于依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;
处理单元120,用于计算任意两个所述状态转移矩阵之间的距离;
计算单元130,用于依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
所述形成单元110可对应一个或多个处理器,或对应一台或多台计算机;当对应与多台计算机时,多台计算机直接可以通过物理连接网络建立直连链路,也可以是通过互连网建立连接。
所述处理单元120的具体结构可包括一台或多台计算机,当包括至少两台计算机;任意两台计算机之间可以电缆等连接线建立直接的连接,也可以是通过互连网建立的连接。所述互联网可以是有线网、无线网或有线与无线的混合网络。
所述计算单元130的具体结构可包括至少两个分离设置的计算器或计算功能的计算机。任意两台计算机之间可以电缆等连接线建立直接的连接,也可以是通过互连网建立的连接。所述互联网可以是有线网、无线网或有线与无线的混合网络。
在本发明实施例中所述的计算机为具有计算功能的电子设备,具体的可以笔记本电脑、台式电脑、平板电脑或大型计算机等。
如图4所示,所述处理单元120还包括:
归一化处理模块121,用于对所述N个状态转移矩阵做归一化处理,形成N个归一化状态转移矩阵;
计算模块122,用于计算所述任意两个所述归一化状态转移矩阵之间的距离。
所述归一化处理模块121和所述计算模块122的具体结构都对应相同的或不同的处理器;当对应于相同的处理器时,所述归一化处理模块121及所述计算模块122采用时分处理或并发线程来完成各模块的功能。
在具体的实现过程中,所述计算模块122的具体结构还可以是计算器。
所述计算单元130,具体用于依据所述距离分布式计算出一个或多个核心点、每一个所述核心点的直接密度可达的点以及间接密度可达的点。
所述处理单元120,具体采用欧式距离范数计算所述任意两个状态转移矩阵之间的距离。
通过上述限定,具体的限定了计算单元130和处理单元120具体如何执行各自的功能,在具体的实现过程中,所述系统还包括存储介质;所述存储介质用来存储原始数据、形成的状态转移矩阵、归一化状态转移矩阵以及时序聚类结果等处理源数据、处理中间结果及最终结果等。此外所述存储介质还可存储有计算机可执行指令;所述系统执行所述计算机可执行指令,能实现上述各个单元的功能。
在本实施例中,为了进一步降低计算的复杂度及提高计算效率,优选为所述基于密度的聚类算法为OPTICS聚类算法。
综合上述,本实施例所述的系统为实施例一所述的方法,提供了硬件支撑,能有效的降低处理复杂度及对计算机的性能要求。
如图5所示,本实施例所述的系统包括4台计算机,计算机101、计算机102、计算机103及计算机104;其中,计算机104分别与计算机103及计算机101建立直连链路;计算机102分别与计算机101、计算机103及计算机104均通过网络连接。
上述4台计算机在执行实施例一所述的方法时,对步骤S130中进行时序聚类结果计算时,至少由其中两台来执行。在具体的实现过程中,还可以在所述系统中还可指定一台中心计算机,具体如选用分别与计算机103及计算机101建立了直连链路的计算机104来控制实施例一中步骤S110到步骤S130的实现;具体的如,计算机104根据原始数据的数据量确定参与分布式处理的计算机的数量、向各台计算机分发原始数据或状态转移矩阵等。
所述中心计算机可以根据各台计算机的处理能力来指定,通常可以指定处理能力较强的计算机为中心计算机;还可以综合考虑计算机的当前的负载,优选为选定当前负载较小的计算机为中心计算机;此外,还可以根据连接方式及安全性要求,可以选定安全性高的计算机为中心计算机等。
以下在实施例一和实施二的基础上提供的一个具体示例,在本示例中所述标识信息对应的是用户,所述时序聚类的分布式处理方法包括:
第一步:依据原始数据,计算出对应于所有用户的状态转移矩阵;
第二步:计算初始距离:
计算机A分发有对应于用户a、用户b及用户c的状态转移矩阵;
计算机A计算出距离ab、距离ac及距离bc;距离ab为用户a对应的状态转移矩阵与用户b对应的状态转移矩阵之间的距离;距离ac为用户a对应的状态转移矩阵与用户c对应的状态转移矩阵之间的距离;距离bc为用户b对应的状态转移矩阵与用户c对应的状态转移矩阵之间的距离。
在计算机B分发有对应于用户d、用户e及用户f的状态转移矩阵,计算距离de、距离df及距离ef。距离de为用户d对应的状态转移矩阵与用户e对应的状态转移矩阵之间的距离;距离df为用户d对应的状态转移矩阵与用户f对应的状态转移矩阵之间的距离;距离ef为用户e对应的状态转移矩阵与用户f应的状态转移矩阵之间的距离。
然后将对应于用户a、用户b及用户c对应的状态转移矩阵分发至计算机B,将d对应于用户d、用户e及用户f的状态转移矩阵分发至计算机A。再计算距离ad、距离db、距离dc、距离ae及距离af。距离ad为用户a对应的状态转移矩阵与用户d对应的状态转移矩阵之间的距离;距离db为用户d对应的状态转移矩阵与用户b对应的状态转移矩阵之间的距离;距离dc为用户d对应的状态转移矩阵与用户c对应的状态转移矩阵之间的距离;距离ae为用户a对应的状态转移矩阵与用户e对应的状态转移矩阵之间的距离;距离af为用户a对应的状态转移矩阵与用户f对应的状态转移矩阵之间的距离。
在具体的实现过程中,为了减少数据量的转发,在各台计算机之间可以采用转发原始数据替代转发转移状态矩阵。
本步骤需考虑计算机的容量,若用户数据较多,无法全部分发,可能需要多次循环,以计算全部两两距离。
第三步:计算出核心点:
将所有两两距离在任一计算机上进行汇总,从所计算出的距离中找到核心密度值和所有的核心点。将此核心密度值和对应与所有的核心点的原始数据分发回每台节点上。
第四步:分布式计算所有核心点的直接密度可达的点。
所述直接密度可达的点为与核心点的距离小于所述核心密度值的点。
第五步:分布式计算与核心点间接密度可达的点:
将计算出的直接密度可达的点对应的用户的原始数据分发到每台计算机,由各台计算机再与其他用户对应的数据计算距离,从而得到间接密度可达的点。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种时序聚类的分布式处理方法,其特征在于,所述方法包括:
依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;
计算任意两个所述状态转移矩阵之间的距离;
依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
2.根据权利要求1所述的方法,其特征在于,
所计算任意两个所述状态转移矩阵之间的距离还包括:
对所述N个状态转移矩阵做归一化处理,形成N个归一化状态转移矩阵;
计算所述任意两个所述归一化状态转移矩阵之间的距离。
3.根据权利要求1或2所述的方法,其特征在于,
所述依据所述距离采用基于密度的聚类算法分布式计算时序聚类结果包括:
依据所述距离分布式计算出一个或多个核心点、每一个所述核心点的直接密度可达的点以及间接密度可达的点。
4.根据权利要求1或2所述的方法,其特征在于,
所述计算任意两个所述状态转移矩阵之间的距离为:
采用欧式距离范数计算所述任意两个状态转移矩阵之间的距离。
5.根据权利要求1或2所述的方法,其特征在于,
所述基于密度的聚类算法为OPTICS聚类算法。
6.一种时序聚类的分布式处理系统,其特征在于,所述系统包括:
形成单元,用于依据至少两个原始数据形成对应于所述原始数据的N个状态转移矩阵;每一个所述原始数据包括一个标识信息、对应该标志信息的M操作行为及表征每个所述操作行为的时序的信息;所述N为所述标识信息的总个数;所述N为不小于2的整数;所述M为不小于2的整数;一个所述状态转移矩阵用于表征的一个所述标识信息对应的任意两个所述操作行为之间的转换状况;
处理单元,用于计算任意两个所述状态转移矩阵之间的距离;
计算单元,用于依据所述距离及基于密度的聚类算法分布式计算时序聚类结果。
7.根据权利要求6所述的系统,其特征在于,
所述处理单元还包括:
归一化处理模块,用于对所述N个状态转移矩阵做归一化处理,形成N个归一化状态转移矩阵;
计算模块,用于计算所述任意两个所述归一化状态转移矩阵之间的距离。
8.根据权利要求6或7所述的系统,其特征在于,
所述计算单元,具体用于依据所述距离分布式计算出一个或多个核心点、每一个所述核心点的直接密度可达的点以及间接密度可达的点。
9.根据权利要求6或7所述的系统,其特征在于,
所述处理单元,具体采用欧式距离范数计算所述任意两个状态转移矩阵之间的距离。
10.根据权利要求6或7所述的系统,其特征在于,
所述基于密度的聚类算法为OPTICS聚类算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410393542.XA CN105447008A (zh) | 2014-08-11 | 2014-08-11 | 时序聚类的分布式处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410393542.XA CN105447008A (zh) | 2014-08-11 | 2014-08-11 | 时序聚类的分布式处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447008A true CN105447008A (zh) | 2016-03-30 |
Family
ID=55557203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410393542.XA Pending CN105447008A (zh) | 2014-08-11 | 2014-08-11 | 时序聚类的分布式处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447008A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682116A (zh) * | 2016-12-08 | 2017-05-17 | 重庆邮电大学 | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154942A1 (en) * | 2006-12-22 | 2008-06-26 | Cheng-Fa Tsai | Method for Grid-Based Data Clustering |
CN101996198A (zh) * | 2009-08-31 | 2011-03-30 | 中国移动通信集团公司 | 聚类实现方法及系统 |
CN102426674A (zh) * | 2011-10-28 | 2012-04-25 | 山东电力集团公司青岛供电公司 | 一种基于马尔科夫链的电力系统负荷预测方法 |
US20140149412A1 (en) * | 2012-11-26 | 2014-05-29 | Ricoh Company, Ltd. | Information processing apparatus, clustering method, and recording medium storing clustering program |
CN104615638A (zh) * | 2014-11-25 | 2015-05-13 | 浙江银江研究院有限公司 | 一种面向大数据的分布式密度聚类方法 |
-
2014
- 2014-08-11 CN CN201410393542.XA patent/CN105447008A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154942A1 (en) * | 2006-12-22 | 2008-06-26 | Cheng-Fa Tsai | Method for Grid-Based Data Clustering |
CN101996198A (zh) * | 2009-08-31 | 2011-03-30 | 中国移动通信集团公司 | 聚类实现方法及系统 |
CN102426674A (zh) * | 2011-10-28 | 2012-04-25 | 山东电力集团公司青岛供电公司 | 一种基于马尔科夫链的电力系统负荷预测方法 |
US20140149412A1 (en) * | 2012-11-26 | 2014-05-29 | Ricoh Company, Ltd. | Information processing apparatus, clustering method, and recording medium storing clustering program |
CN104615638A (zh) * | 2014-11-25 | 2015-05-13 | 浙江银江研究院有限公司 | 一种面向大数据的分布式密度聚类方法 |
Non-Patent Citations (2)
Title |
---|
毛锐: "基于密度的分布式聚类算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》 * |
邢永康等: "一种基于Markov链模型的动态聚类方法", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682116A (zh) * | 2016-12-08 | 2017-05-17 | 重庆邮电大学 | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 |
CN106682116B (zh) * | 2016-12-08 | 2020-08-04 | 重庆邮电大学 | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shahvari et al. | Hybrid flow shop batching and scheduling with a bi-criteria objective | |
Simaria et al. | A genetic algorithm based approach to the mixed-model assembly line balancing problem of type II | |
CN104685497A (zh) | 通过过滤方法操作的聚合/分组的硬件实现 | |
Vasiljevic et al. | Handling ties in heuristics for the permutation flow shop scheduling problem | |
Digalakis et al. | A multipopulation cultural algorithm for the electrical generator scheduling problem | |
CN107239468B (zh) | 任务节点管理方法及装置 | |
CN107066534B (zh) | 多源数据聚合方法及系统 | |
Xie et al. | A new algorithm for complex product flexible scheduling with constraint between jobs | |
CN105589968A (zh) | 数据汇总系统及方法 | |
Ciarleglio et al. | ConsNet—A tabu search approach to the spatially coherent conservation area network design problem | |
CN105224532A (zh) | 数据处理方法及装置 | |
CN109325032A (zh) | 一种索引数据存储及检索方法、装置及存储介质 | |
CN107391137B (zh) | 电子地图显示方法、装置和系统 | |
CN105117326A (zh) | 一种基于组合混沌序列的测试用例集生成方法 | |
CN102521706A (zh) | Kpi 数据的分析方法及装置 | |
CN103577455A (zh) | 用于数据库聚集操作的数据处理方法和系统 | |
Zoulfaghari et al. | Multi-objective availability-redundancy allocation problem for a system with repairable and non-repairable components | |
CN104794130B (zh) | 一种表间关联查询方法和装置 | |
CN102831129A (zh) | 一种基于多示例学习的检索方法及系统 | |
CN107220463B (zh) | 一种混合极性xnor/or电路面积优化方法 | |
Javadi et al. | A hybrid electromagnetism-like algorithm for dynamic inter/intra-cell layout problem | |
CN106326462A (zh) | 一种视频索引分级方法及装置 | |
CN101501687A (zh) | 控制关系数据库系统的方法 | |
CA2423619A1 (en) | Improved system and method for case-based reasoning | |
CN105447008A (zh) | 时序聚类的分布式处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160315 Address after: West high tech Zone Fucheng Road in Chengdu city of Sichuan province 610000 399 No. 6 Building 1 unit 12 floor No. 3 Applicant after: MIGU MUSIC CO., LTD. Address before: 610041 No. 10 Peng Da Road, hi tech Zone, Sichuan, Chengdu Applicant before: China Mobile Communication Group Sichuan Co., Ltd. |
|
C10 | Entry into 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: 20160330 |