2011-07-07 36 views
6

这是一个比实际实现更概念化的问题,我希望有人能够澄清。我的目标如下:给定一组文档,我想对它们进行聚类,使属于同一个聚类的文档具有相同的“概念”。将概念上类似的文档聚类在一起?

据我了解,Latent Semantic Analysis让我找到给定矩阵X术语文档矩阵即低秩近似,它会分解X为三个矩阵的乘积,其中有一个是对角矩阵Σ

SVD

现在,我会选择一个低阶近似进行选择,即只能从Σ前k值,然后计算出X'。一旦我有了这个矩阵,我就必须应用一些聚类算法,最终的结果将是一组集合文件的类似概念。这是应用集群的正确方法吗?我的意思是,计算X',然后在其上应用集群或者是否有其他一些方法?

此外,在一定程度上我的related question,有人告诉我,一个邻居的意义丢失的维度数量的增加。在这种情况下,从X'聚类这些高维数据点的理由是什么?我猜测,集群类似文件的要求是一个真实世界的要求,在这种情况下,人们如何去解决这个问题呢?

回答

4

对于你的问题的第一部分:不,你不需要再执行任何'集群'。这种集群已经可以从您的singular value decomposition获得。如果这仍不清楚,请详细了解您的链接Latent Semantic Analysis

对于你的第二部分:请找出你的问题的第一部分,然后根据这个问题重申你的问题的这一部分。

+0

谢谢。所以你的意思是说,我将Vt截断k行,然后比较列或者在列上运行k-means来获得最终的集群?为了说清楚,我没有任何查询文件。我试图将原始文档聚类在一起。我读过这篇文章,只是在接近尾声时我感到困惑。 – Legend

+0

我重申,AFAIU,不需要职位群集。分类基于X^TX或XX^T。或多或少,只需要替代X = U_k * S_k * V_k^T(其中U_k,S_k,V_k表示U,S,V = svd(X)的'k'最大奇异值的分割一个合适的'k'你可能喜欢谷歌'scree plot')。谢谢 – eat

+0

谢谢你的建议。我不确定我们是否在同一页。根据我的理解,SVD或PCA是降维技术和k- Means是一种聚类技术,如果我将k-means直接应用到我的高维数据上,结果聚类可能是错误的。为此,预处理步骤一般是利用维数降低技术来减少维数然后应用聚类算法对数据进行聚类,请参阅下一条评论 – Legend