连续在线集群识别的解决方案?


11

让我向您展示一个假设的在线集群应用程序的示例:

在此处输入图片说明

在时间n,点1,2,3,4被分配给蓝色群集A,点b,5,6,7被分配给红色群集B。

在时间n + 1,引入了新的点a,该点被分配给蓝色聚类A,但也导致点b也被分配给蓝色聚类A。

最后,点1,2,3,4,a,b属于A,点5,6,7属于B。对我来说,这似乎是合理的。

乍一看似乎很简单,实际上有点棘手-要跨时间步长维护标识符。让我尝试通过更多边界示例来阐明这一点:

在此处输入图片说明

绿点将导致两个蓝色和两个红色点合并为一个簇,我任意决定将其着色为蓝色-请注意,这已经是我在工作中的启发性思维!

做出此决定的计算机将必须使用规则。例如,当点合并到群集中时,群集的身份由多数决定。在这种情况下,我们将面临平局-蓝色和红色可能是新(此处为蓝色)群集的有效选择。

想象一下靠近绿色的第五个红色点。然后大多数将是红色(3红色vs 2蓝色),因此红色将是新群集的一个不错的选择-但这将与最右边群集的红色的更清晰选择相矛盾,因为那些群集是红色的,可能应该保持这种状态。

我觉得这很可疑。归根结底,我想这还没有完美的规则-启发式优化了某些稳定性标准。

这最终导致我的问题:

  1. 这个“问题”是否具有可以引用的名称?
  2. 是否有“标准”的解决方案,并...
  3. ...甚至可能有R包吗?

重复聚类中聚类身份的合理继承



您是否试图在每个时间步中尽可能维护群集的标识的问题?这样一来,在N + 1时,您可以说出集群的变化,因为N处的集群与N + 1处的集群之间存在某种关系?棘手的是,如果集群分裂并合并会发生什么?
Spacedman 2014年

@Spacedman:BINGO :) joyofdata.de/blog/…–
Raffael

我请你看看这个这个
farhawa

Answers:


1

稳定性-塑性难题,​​学习率和遗忘算法:

首先,让我说这是一个非常重要的问题,并且是发人深思的东西的类型,可以真正提高人们对ML算法的理解。

  1. 这个“问题”是否具有可以引用的名称?

这通常称为“稳定性”。有趣的是,稳定性实际上是常规群集中的一个有用概念,即不在线。通常选择算法的“稳定性”作为是否选择了正确数量的群集的选择标准。更具体地说,您描述的在线群集稳定性问题称为stability-plasticity dilemma

  1. 是否有“标准”的解决方案,并...

首先,总的答案是,当许多在线聚类算法经过大量初始数据训练后,它们出奇地稳定。但是,如果您想真正确定点的聚类身份同时允许算法对新数据做出反应,这仍然是一个问题。您的棘手问题在Ethem Alpaydin的《机器学习入门》中做了简要介绍。在第319页上,他通过应用随机梯度下降法导出了在线k均值算法,但提到stability-plasticity dilemma当选择学习率的值时会出现这种情况。较小的学习率会导致稳定性,但系统会失去适应性,而较高的学习率会获得适应性,但会降低集群稳定性。

我相信最好的方法是选择一种在线聚类的实现,该实现允许您控制随机梯度下降算法,然后选择学习率,以便使用合理的交叉验证过程来最大程度地提高稳定性和适应性。

我见过的另一种方法是某种遗忘算法,例如随着数据流的成熟而遗忘较旧的点。这样可以在快速的时间尺度上实现一个相当稳定的系统,并在较慢的时间尺度上实现进化。 Adaptive Resonance Theory是为了解决这个问题而创建的stability-plasticity dilemma。您可能会发现本文有趣。

我对R并不精通,无法提出一种算法,但是我建议您寻找一种mini-batch k-means算法,该算法可以控制其随机梯度下降算法中的学习率。

我希望这有帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.