分解机器和矩阵分解之间的区别?


Answers:


7

矩阵分解是一种很好地分解矩阵的方法。它完成了将矩阵分解为两个矩阵的工作,以使它们的乘积与原始矩阵非常匹配。

但是与矩阵因式分解相比,因式分解机本质上是相当通用的。问题表述本身是非常不同的。它被公式化为线性模型,特征之间的交互作为附加参数。此功能交互以其潜在空间表示而不是其纯格式完成。因此,除了像矩阵分解中的特征相互作用外,它还采用了不同特征的线性权重。

因此,与矩阵分解相比,主要区别如下:

  1. 在通常使用矩阵分解的推荐系统中,我们不能使用辅助功能。例如,对于电影推荐系统,我们无法在矩阵分解中使用电影类型,语言等。分解本身必须从现有的交互中学习这些。但是我们可以在分解机中传递此信息
  2. 因数分解机还可以用于其他预测任务,例如回归和二进制分类。矩阵分解通常不是这种情况

在上一个答案中共享的论文是谈论FM的原始论文。关于什么是FM确切也有很好的说明性例子。


4

矩阵分解是一种不同的分解模型。从有关FM文章中

有许多不同的分解模型,例如矩阵分解,并行因子分析或专用模型,例如SVD ++,PITF或FPMC。这些模型的缺点是它们不适用于一般的预测任务,而仅适用于特殊的输入数据。此外,针对每个任务分别导出了它们的模型方程式和优化算法。我们证明了FM仅通过指定输入数据(即特征向量)就可以模仿这些模型。这使得FM甚至适用于没有因数分解模型专业知识的用户。

来自libfm.org:

“分解机(FM)是一种通用方法,可以通过特征工程来模拟大多数分解模型。这样,分解机将特征工程的普遍性与分解模型的优越性结合在一起,用于估计大范围分类变量之间的交互。”


2

只是对Dileep答案的一些扩展。

如果涉及的唯一特征是两个分类变量(例如,用户和物品),则FM等效于矩阵分解模型。但是,FM可以轻松应用于两个以上且真正有价值的功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.