进化聚类(Evolutionary Clustering)

动态社区发现除了最经典的两步思想之外,还有一些算法借鉴的进化聚类的思想,该定义在2006年的KDD会议上由Chakrabarti提出,下面就对这片论文做一个梳理。

论文题目:Evolutionary Clustering

摘要:我们关注随时间演化的聚类问题。进化聚类需要同时优化两个存在冲突的指标(criteria):1.任何时间点上的聚类应该遵循当前数据的特点;2.在一个时间片(timestep)上的聚类到另下一个时间片的变化不应该剧烈。我们提出了一个通用的框架,并讨论了两种广泛使用的聚类算法的进化版本:k-means和凝聚层次聚类(agglomerative hierarchical clustering)。我们在真实数据集上对这些算法进行了广泛的评估,结果表明,我们的算法不仅应用在当前数据的准确度较高,在反映历史数据上也有较高的准确度(fidelity)。

论文类别:Information Search and Retrieval

关键词:Clustering,Temporal Evolution,Agglomerative,k-means

简介:进化聚类是处理时间戳数据来产生聚类序列的问题,也就是说,对系统的每个时间片(timestep)进行聚类。每一个序列中的聚类应该和前一个时间片的聚类相似,并且要准确的反映当前时间片上的数据。

下面说一下该问题的一些前提。每天都有新数据到达,而且必须将它们合并到已存的聚类中。如果数据没有偏离历史预期,聚类应该与前一天的相近,这给用户提供了一种旧有的理解方式来理解新数据。(providing the user with a familiar view of the new data)。但是,如果数据的结构发生了显著的变化,则必须修改聚类以反映新的结构。因此,进化聚类算法必须权衡保留聚类在时间序列上一致性的好处和表示当前数据准确度偏离的成本。

进化聚类和传统聚类相比它的优点体现在当前的聚类被用户或系统定期使用的时候(in which the current (say, daily) clustering is being consumed regularly by a user or system)。在这样的环境下,进化聚类非常有用,原因如下:

(1)一致性(Consistency):用户将会发现每天的聚类具有相似性,因此不需要去使用一种全新的数据分割方式(segmenting data)。类似的,从前面的聚类中获得的任何发现(insights),都更可能适用于未来的聚类。

(2)除噪(Noise removal):提供高质量并且历史一致性的聚类,利用以前的数据点来增强对噪声的鲁棒性(Providing a high-quality and historically consistent clustering provides greater robustness against noise by taking previous data points into effect)。正如我们后面所描述的,我们的方法包括了窗口和移动平均线(moving averages)的标准方法。

(3)平滑性(Smoothing):如果聚类随时间而产生变化,进化聚类自然可以为用户提供提供变化的平滑视图(evolutionary clustering will naturally present the user with a smooth view of the transition)。

(4)聚类通信(Cluster correspondence):作为框架的副作用之一,通常可以将今天的聚类与昨天的聚类对应起来。因此,及时聚类发生了变化,用户仍处于历史的上下文中(historical context)。

框架概述。让为算法在时间步i上抵达的数据上获得的聚类。快照质量(snapshot quality)度量了在时间步t上如何表示数据。聚类的历史成本衡量了之间的距离,聚类使用以前的时间步(the clustering used during the previous timestep)。通常,快照质量是根据数据点本身定义,而历史成本是一个聚类模型中的函数。聚类序列的总成本是每个时间步的快照质量和历史成本的组合。

为了直观理解,我们考虑一个极端的例子来说明为什么引入历史成本可能会对集群序列产生显著影响。考虑一个数据集,可以使用两个特征中的一个来将数据分割为两个聚类:特征A和特征B。每个特征都会导致数据的正交分割,而且每个分割都同样好。然而,在奇数天,特征A提供了一个更好的分割,特征B在偶数天更好。每天的最优聚类和前一天完全不同,而使用任一特性的一致性聚类的接近最优时表现好坏是随机的(The optimal clustering on each day will shift radically from the previous day, while a consistent clustering using either feature will perform arbitrarily close to optimal)。在这种情况下,不考虑历史因素的聚类算法将会产生较差的聚类序列。

这种方法可能与增量聚类形成对比,在增量聚类中,模型随着新数据的到来而增量更新,主要为了避免存储所有历史相似性(historical similarities)的成本。然而,在进化聚类中,重点是优化包含历史偏差的新的质量度量。

贡献概括。我们考虑了两种经典的聚类算法,并将其推广到进化环境中:(1)传统的k-means算法提供向量空间点的平面聚类(flat clustering),(2)自下而上的凝聚层次聚类算法(agglomerative hierarchical clustring)。这代表了两类主要的聚类方法,我们选择他们来展示框架的通用性。这些算法被应用在一个不断发展的用户标签数据集上,数据来自flickr.com的图像上,跟踪时间超过68周。我们的实验证明了之前提到过的进化聚类的所有优点,即即使数据出现噪声行为,也能获得稳定一致的聚类,并且只需要稍微降低总快照质量,就可以得到历史代价非常低的平滑聚类序列。

我们的进化聚类框架实际上是非常通用的。通过对历史成本和快照质量的适当定义,许多其他的静态聚类算法可以扩展到我们的框架下执行进化聚类。除此之外,我们关注的是这样一种设置:在明天的数据可用之前,必须对今天的数据进行聚类。然而,自然还有许多其它的设置。比如算法只能使用一次整个序列,但是却必须重复生成在每个时间步上准确反映数据的聚类序列,同时在时间上尽可能的缓慢地移动。这个公式适用于数据应该追溯的聚类的时候,但是在时间上的可解释性是一个重要的考虑因素(This formulation applies when the data should be clustered retroactively but interpretability across time is an important consideration.)。类似的,在一些设置中,我们要跟踪的进化不是时间而是数值变量。比如我们可以按美元价值对产品进行聚类,并要求价格相似的聚类尽可能相似。我们公式可以捕捉这些东西,但是本文不做探讨。

进化聚类的框架在这篇文章中进行介绍。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值