【问题标题】:matrix elements prediction based on other matrices基于其他矩阵的矩阵元素预测
【发布时间】:2016-07-08 16:29:11
【问题描述】:

也许这里不适合提出我的问题。

无论如何,我有以下矩阵,AB 是稀疏的,C 没有元素。我如何预测矩阵C中的条目,关于矩阵AB?

【问题讨论】:

  • 你可以做C = B' BC = B' A B 或者完全随机地对C 进行采样......以及许多其他事情,而无需准确指定每个人代表什么,没有答案 .
  • 谢谢@lejlot。 matirx A显示了书籍之间的一种先决关系。例如书“ee”是书“cc”的先决条件。然后你可以看到 A 是一个有向图,它显示了书籍之间的先决关系

标签: matrix machine-learning artificial-intelligence factorization


【解决方案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 没有复杂的特征值)。

上面的方程可以用最小二乘法求解V。

您需要的所有这些求解器都在所有主要编程语言中实现,例如,在 python 中它是 numpy 库。

【讨论】:

  • 感谢@Moonwalker。很好的解释。我只是无法得到这个公式“B V^T = U D^{1/2}”,请您说得更清楚一些
  • A = B C B^T, C = V^T V => A = B V^T V B^T;另一方面 A = U D U^T, 因此 B V^T V B^T = U D U^T, => B V^T = U \sqrt{D}
  • 抱歉@Moonwalker 问了很多问题。但是,让我以另一种方式提出我的问题。 V 和 V^T 是什么(你是通过矩阵分解得到的吗?)。在最终方程“B V^T = U \sqrt{D}”中,V B^T 和 U^T 会发生什么。另外,我们如何从最后一个公式“ B V^T = U D^{1/2} ”得出C,最后矩阵之间的运算是什么(是内矩阵乘积还是外矩阵乘积)?再次抱歉问了很多问题
  • @EsterSilva 我们假设 C 的形式为 $C = V^T V$。在最后的方程中我们使用了对称性,即如果矩阵 X = Y^T Y 和相同的 X = Z^T Z,则 Y = Z。从最后一个公式,你需要解决 B V^T = U D^{1/ 2} 为 V 然后重构 C = V^T V
  • @EsterSilva 如果你打算继续这行工作,你真的应该去看看线性代数的课程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多