CluStream算法

阅读更多

思想:clustream算法的核心思想就是金字塔时间快照,以及分为on-line操作的micro-cluster和off-line操作的macro-cluster两个阶段,同时属于landmark window(界标窗口)的处理模式。

 

方法:其中micro-cluster是用来存储数据点的特征向量组的,用于存储线上分析时候整个数据流的静态统计信息,并根据金字塔时间在选定的时间来存储整个micro-cluster的snapshot。在需要进行聚类的时候,根据用户给的时间窗口参数在金字塔时间表中的快照中选取最接近的snapshot下的micro-cluster,根据这些micro-cluster使用改动的k-means方法对其进行聚类,最后,得到相应的聚类结果。

步骤:

on-line phase:

1.利用k-means算法预先建立q个 micro-cluster.

 

2.当新的数据点X到了,根据X到各个micro-cluster中心的距离是否大于微簇的RMS deviation(均方根误差),大于则为q点新建立一个独立id的micro-cluster,否则 加入到距离最近的现有micro-cluster(利用特征向量组的可加性质)。

                                     

3.一旦有新micro-cluster建立,则需要删除一个原来的micro-cluster,理论上通常根据最近到达各个微簇的m个点所形成recent time stamp来确定删除那个微簇,在实际应用中根据微簇中的时间统计信息可以得到各个数据点到达时间的均值和标准差,由于默认微簇满足正态分布,所以提取m/(2*n)的时间信息relevance time和预设的阈值δ进行比较,如果最小的relevance time小于δ,则可以删除对应的micro-cluster。

4.如果所有的relevance time的值都比δ大,则需要合并两个距离最近的micro-cluser,同时将对应id形成一个idlist。

off-line phase:

1.将各个online阶段形成micro-cluster和用户输入的真实聚类个数,以及时间窗口信息。来进行线下的聚类。

2.将各个micro-cluster当做虚拟的点,位置根据其中心来设置,使用k-means算法来计算。

 

优点和不足:

Clustream算法使用了标志性的线上和线下的模式来对数据流进行聚类,包含了数据流进化的思想,可对用户指定的各种窗口来进行聚类,同时使用了micro-cluster微簇的思想,可以很好的统计和保存数据流的统计信息。

但是也有以下不足:

1.由于使用了界标窗口,所以如果使用滑动窗口模式,则需要大量snapshot存储的开销和交大的处理代价;

2.预先设定micro-cluster个数是比较危险的,可能为outlier创建micro-cluster,同时删除正常的微簇;

3.过期数据点的影响在在线聚类过程中无法被及时消除,大大降低了算法的聚类效果;

4.由于采用距离作为各个数据点相似度的标准,通常仅能产生球形的簇。

 

你可能感兴趣的:(CluStream算法)