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

数据挖掘 机器学习 聚类
2021-09-30 06:04:04

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

在此处输入图像描述

在时间 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 个红色对 2 个蓝色),因此红色将是新集群的不错选择 - 但这与最右边的集群更清晰的红色选择相矛盾,因为那些已经是红色并且可能应该保持这种方式.

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

这最终导致了我的问题:

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

重复聚类中簇标识的合理继承

1个回答

稳定性-可塑性困境、学习率和遗忘算法:

首先,让我说这是一个非常好的问题,是一种发人深省的东西,它真正提高了人们对机器学习算法的理解。

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

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

  1. 是否有“标准”解决方案和...

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

我相信最好的前进道路是选择一种在线聚类的实现,它允许您控制随机梯度下降算法,然后选择学习率,以便使用合理的交叉验证程序尽可能地最大化稳定性和适应性。

我见过的另一种方法是某种遗忘算法,例如随着数据流的成熟而忘记旧点。这允许在快速时间尺度上相当稳定的系统,并允许在较慢时间尺度上进化。 Adaptive Resonance Theory创建是为了尝试解决stability-plasticity dilemma. 你可能会觉得这篇文章很有趣。

我对 R 的精通不足以建议一种算法,但我建议您寻找一种mini-batch k-means算法,该算法允许您在其随机梯度下降算法中控制学习率。

我希望这有帮助!