相似矩阵 - >特征向量算法?

时间:2011-10-12 06:00:52

标签: algorithm vector machine-learning data-mining similarity

如果我们有一组M个单词,并且事先知道每对单词的含义的相似性(具有相似性的M×M矩阵),我们可以使用哪个算法来制作一个k维位向量对于每个单词,只需通过比较它们的向量来比较每对单词(例如,获得向量的绝对差异)?

我不知道这个特殊问题是如何被调用的。如果我知道的话,在一堆具有类似描述的算法中找到它会更容易。


补充观察:

我认为这个算法来产生一个,在这种情况下是想要的副作用。如果从矩阵中,单词A类似于单词B而B类似于C,但是检测到低[A,C]相似性,则计算结果向量差异也应该产生高[A,C]相似性。因此,我们将填充矩阵中的先前空白 - 以某种方式平滑与此算法的相似性。但除了这种平滑之外,目标是使结果尽可能接近我们在矩阵中的原始数字。

2 个答案:

答案 0 :(得分:7)

您可以执行截断singular value decomposition(SVD)以找到矩阵的最佳k等级近似值。这个想法是将矩阵分解为三个矩阵:U,sigma和V,使得U和V是正交的,sigma是对角的。

通过截断不重要的奇异值,您可以实现O(k*m)存储空间。

答案 1 :(得分:0)

如果您只对第一个特征向量+特征值感兴趣,那么功率迭代可能会很有用。我曾经用它从文本文档中提取关键字。 (基于句子内的词间距离,但相似性也可能有效)