答案 0 :(得分:1)
假设你在所有矩阵中都有某种相似之处。然后,您在书籍之间有相似之处,这些书籍基于关键词的共同出现以及不同关键词之间的相似性:
A = B C B^T.
其中A是您的相似度矩阵,B是与书籍对应的关键词矩阵,C是不同关键词之间的相似性矩阵。
你有一个大小为n_A的矩阵,并且排名不超过n_A。那么你只能将C恢复到相同的等级n_A,所以你可以假设 C要有表格
C = V^T V.
然后,您可以通过A的特征分解轻松恢复C. 一方面,你有
A = U D U^T,
另一方面,你有
A = B^T C B.
比较这两者,你有
B V^T = U D^{1/2},
因为D是对角线(希望A没有复杂的特征值)。
上面的等式可以用最小二乘法求解。
所有这些解决方案都是用所有主要编程语言实现的,例如,在python中它是numpy库。