我们何时将降维与聚类结合在一起?


16

我正在尝试执行文档级群集。我构建了术语文档频率矩阵,并尝试使用k均值对这些高维向量进行聚类。我所做的不是直接聚类,而是首先应用LSA(潜在语义分析)奇异矢量分解来获得U,S,Vt矩阵,然后使用scree图选择合适的阈值,然后对归约矩阵进行聚类(特别是Vt,因为它给了我一个概念文件信息),似乎给了我很好的结果。

我听说有人说SVD(奇异矢量分解)正在聚类(通过使用余弦相似性度量等),并且不确定是否可以在SVD的输出上应用k-均值。我认为这在逻辑上是正确的,因为SVD是降维技术,为我提供了许多新矢量。另一方面,k均值将采用簇数作为输入,并将这些向量划分为指定的簇数。这个程序有缺陷吗,或者有什么方法可以改进?有什么建议么?


好问题。我个人一直在考虑这些东西。但没有一个好的答案。
suncoolsu 2011年

1
有一些方法可以同时执行降维和聚类。这些方法寻求最佳选择的低维表示,以便于集群的识别。例如,请参阅R中的clustrd程序包和相关的引用。
Nat

Answers:


6

这绝不是一个完整的答案,您应该问的问题是“进行降维时保留什么样的距离?”。由于诸如K-means之类的聚类算法仅对距离进行操作,因此(理论上)要使用的正确距离度量是通过降维保留的距离度量。这样,降维步骤可以看作是在较低维空间中对数据进行聚类的计算捷径。(也可以避免局部最小值等)

这里有许多微妙之处,我不会假装理解(局部距离与全局距离,相对距离如何失真等),但是我认为这是从理论上考虑这些问题的正确方向。


+1这是一个非常有趣的问题。在那种情况下,欧几里得能被视为一个这样的指标吗?随着维数的减小,这些点将投影到一个较低维的空间中,但这可能意味着距离的概念可能会丢失。我很难看清在使用这种缩小方法时如何保持距离。
传奇

1
我认为这个答案基本上是正确的。您想在较小的空间中找到一些嵌入物,以保留距离(一些距离概念)。有两个很好的算法可以检查出IsomapLocal-Linear Embedding。如果您的目标是集群化,那么“邻居保护”似乎是一个好方法。
笨拙的乔·皮特2012年

5

回答您的标题“我们何时将降维与聚类结合在一起?” 而不是完整的问题。一个可能的原因很明显:当我们要确保反对派离群值时。如果没有初始中心提示,则K均值算法会将云中k个最分开的点作为初始中心,对的这些很可能是异常值。通过PCA进行预先处理,可以消除位于初级组件中的异常值,方法是将它们投影到保留在PCA中的少数高级组件中。

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.