与简单的 k-means 相比,使用频谱 k-means 有什么好处?

数据挖掘 机器学习 k-均值 核心 谱聚类
2022-02-26 20:29:38

我明白了为什么 k-means 会陷入 local minima现在,我很想知道谱 k 均值如何帮助避免这个局部最小值问题。

根据这篇论文A tutorial on Spectral,光谱算法按以下方式进行

  1. 项目数据进入 Rn 矩阵

  2. 使用高斯核 K 或
    邻接矩阵定义亲和矩阵 A

  3. 从 A 构造图拉普拉斯算子(即决定归一化)

  4. 解决特征值问题

  5. 选择k个最低(或最高)特征值对应的k个特征向量来定义一个k维子空间

  6. 使用 k-means 在该子空间中形成簇

在第 6 步中,它使用 k-means。它如何克服 k-means 的局部最小值问题此外,谱比 k-means 有什么好处?

如果有人对此提供详细的见解,那对我将非常有帮助。

1个回答

它们是完全不同的方法。Spectral Embedding 是数据的一种表示,它在新的特征空间中映射相邻的数据点。这有助于 k-means 处理更多可分离的簇而不是原始空间。但这不是我对你问题的回答!答案是您不仅需要了解光谱聚类算法,还需要了解它如何将数据映射到新的向量空间。如果您阅读有关内容,您将很容易理解它。我在这里试一试:

  1. Spectral Embedding(在其上应用简单的聚类并获得 Spectral Clustering!)基本上是一种图嵌入方法。图表的含义超出了此答案的范围,我假设您知道。在图中,良好的聚类将那些具有许多“内部连接”(彼此之间)和一些“之间连接”(与图的其他部分)的节点放入一个集群中。请参阅下图以了解更多信息。

    在此处输入图像描述

    红色节点彼此之间有多个连接,但只有一个连接将它们与图形的其他部分相关联。这是一个很好的集群,对吧?

    一个应用示例可以是在 Facebook 中推荐朋友。Facebook 是一个图,其中每个节点都是一个人,每个连接都意味着 FB 上的友谊。你和你的朋友圈有很多联系,其他人也有同样的“朋友圈”。如果我们在FB图上对人进行聚类,我们可以检查同一聚类中的哪些人不是朋友,我们会互相推荐他们,对吧?!

    基于Miroslav Fiedler名为“图的代数连通性”的出色工作,这种图聚类可以很容易地通过找到那些删除它们的边来实现,并以我上面提到的方式对数据进行聚类。

    Spectral Clustering 主要是在做这件事。现在的问题是“在对 k-means 来说很难的聚类问题中,我如何才能从这种图表示中受益?”

  2. 看下图。这是一个著名的非线性可分数据示例,k-means 很容易无法聚类(因为红点位于蓝色圆圈不同侧的任意两个蓝点之间。K-means 在这里混淆了!)

    在此处输入图像描述

    现在我们使用规则将数据转换为图,每个数据点都是一个节点,每个节点都连接到它的 k 最近邻这张图会是什么样子?!它将与蓝色点相关的节点彼此密集连接,与红色点相关的节点彼此连接,并且任何蓝色和红色节点之间的连接可能非常少,因为它们几乎不相邻。我们所做的是“将原始空间中的非线性可分离但连接的圆圈转换为图形表示中连接的节点束”。现在我们只需要将图形表示转换为数值向量和 Taddaaa!我们将拥有那些奇怪的集群,因为这里是两个精美可分离的点,k-mean 不再混淆了!

免责声明:我的回答中有很多简化,并且没有准确地使用术语。我试图直观而不是准确(例如,我们的示例数据将导致两个断开的子图,需要使用谱聚类对数值解进行聚类,但无论如何都不影响概念)