基于其他矩阵的矩阵元素预测
matrix elements prediction based on other matrices
也许这里不适合提出我的问题。
无论如何,我有以下矩阵,其中 A
和 B
是稀疏矩阵,C
没有元素。关于矩阵 A
和 B
?
,我如何预测矩阵 C
中的条目
假设您在所有矩阵中都有某种相似之处。然后,书籍之间有相似性,这些相似性基于关键字的共现以及不同关键字之间的相似性:
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 没有复杂的特征值)。
上面的等式可以用最小二乘法求解 V。
你需要的所有这些求解器都在所有主要编程语言中实现,例如,在 python 中是 numpy 库。
也许这里不适合提出我的问题。
无论如何,我有以下矩阵,其中 A
和 B
是稀疏矩阵,C
没有元素。关于矩阵 A
和 B
?
C
中的条目
假设您在所有矩阵中都有某种相似之处。然后,书籍之间有相似性,这些相似性基于关键字的共现以及不同关键字之间的相似性:
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 没有复杂的特征值)。
上面的等式可以用最小二乘法求解 V。
你需要的所有这些求解器都在所有主要编程语言中实现,例如,在 python 中是 numpy 库。