美文网首页
矩阵分解和FM

矩阵分解和FM

作者: YANJINING | 来源:发表于2020-10-25 19:34 被阅读0次

矩阵分解(Matrix Factorization,MF)是推荐系统中非常经典的一个算法,虽然现今工业界直接使用的较少,但其背后蕴含的编码降维思想,得以广泛应用于推荐领域之中。

矩阵分解MF算法,同时兼具了协同过滤,隐语义分析和有监督学习的特性,加上矩阵分解的易实现性和高拓展性,成为推荐领域非常经典的算法。我们先来梳理下矩阵分解的基础算法。

说到矩阵分解,往往最先想到的是解析几何中奇异值分解这一概念。实际上,推荐系统中最初的矩阵分解算法也正是源于此。我们可以对User-Item矩阵A(存储用户对物品的评分)直接进行矩阵分解,然后通过选取Σ中前k大的奇异值,就可以对原先较大的矩阵A进行压缩。当我们要预测用户对物品的评分时,便可以直接从矩阵A中相对应的元素得到。

这种简单的思路,在实际运用中往往存在两个致命缺陷:

(1) 奇异值分解要求矩阵A是稠密的,也就是说不允许存在缺失值。而现实世界的User-Item矩阵却是存在大量空白的。

(2) 对M*N的矩阵进行奇异值分解的时间复杂度大约为O(N^3),这种计算量在大规模推荐场景下是无法接受的。

因此,必须对这种SVD方法进行改进才能运用到真实推荐场景中。回顾下上述的奇异值分解方法,本质上是在平方损失下对矩阵的最优近似。

纵观推荐领域的发展历程,矩阵分解无疑在其中扮演了重要的角色。但真实世界中的推荐框架,却较少地使用矩阵分解的方法。一来是因为矩阵分解方法只适用于评分预估的类似场景中,在ctr预估等其它场景中较难逼近实际目标。二来矩阵使用隐向量来表示用户和物品的特性,最终只能推荐训练样本中存在的用户和样本,冷启动问题较为严重。

工业界常用的思路是将推荐问题转换为回归问题,进行ctr预估。其中逻辑回归(LR)是早期最成熟的模型。这种通过线性模型加上人工特征组合引入非线性的模式,有着模型简单可解释性强适用于大规模数据的优点。但LR模型最大的劣势也就在于人工组合特征,需要耗费大量时间和人力,有什么改善的方法呢?

一个朴素的想法就是在LR模型中引入二阶交叉特征,这种方法虽然初步解决了特征两两组合的问题,但对于样本中未出现的交叉特征,无法对其参数进行估计,模型泛化能力差。这在大规模稀疏场景下是无法接受的,还需要进一步优化模型。

此时,回顾下上文中介绍的矩阵分解法,同样也遇到过特征稀疏的问题,最终是通过引入K维隐向量提高了用户和物品的表达性来解决。FM模型也采用了相同的思路解决二阶特性稀疏的问题,对于每个一维特征x赋予一个相对应的隐向量v,交叉特征的权重则由相对应的两个隐向量v的内积表示。本质上都是对特征进行embedding化表征,将0/1这种二值硬匹配转换为向量软匹配,使得样本中未出现的值也能通过向量计算出来,具备良好的泛化性。

经过上述讨论,可以看出FM模型能同时模拟二阶多项式核的SVM模型、MF模型和LR模型,并且拥有非常好的计算效率,因此在工业界中得以广泛的应用。

相关文章

  • 矩阵分解和FM

    矩阵分解(Matrix Factorization,MF)是推荐系统中非常经典的一个算法,虽然现今工业界直接使用的...

  • 矩阵分解与FM

    1. 矩阵分解 1.1 隐语义模型LFM(latent factor model) 协同过滤算法的特点就是完全没有...

  • FM算法详解(因子分解机)

    什么是FM? FM即Factor Machine,因子分解机。 任意的N×N 实对称矩阵]都有 N 个线性无关的特...

  • FM算法

    因子分解机(Factorization Machine, FM)是由Steffen Rendle提出的一种基于矩阵...

  • 第30课 奇异值分解

    奇异值分解:简称,是矩阵最终和最好的分解,分解的因子是正交矩阵,对角矩阵,正交矩阵,任意矩阵都有这种奇异值分解 对...

  • 非方正矩阵的LU分解_线性代数_day42

    矩阵的LU分解就是将矩阵分解成一个上三角矩阵,和一个下三角矩阵 矩阵的LU分解可以用于非方阵的分解 矩阵的LU分解...

  • FM模型的算法思想

    本章涉及到的知识点清单:1、LR模型方程2、多项式模型方程3、FM模型方程4、矩阵分解5、FM模型化简6、损失函数...

  • 矩阵分解 (乘法篇)

    ​引言 前面我们在矩阵分解 (加法篇)里面分析的加法下的矩阵分解。 这里我们来看看乘法下矩阵分解的要点。 对角和三...

  • 线代--矩阵的分解-LU分解n阶方阵

    矩阵分解的概念:初中我们接触过数的分解,如:;推广到矩阵,一个矩阵也可以分解为几个矩阵乘积的形式,矩阵分解具有不同...

  • 推荐系统算法(传统推荐模型)

    推荐系统经历两个阶段:传统推荐模型和深度学习模型 第一阶段:传统推荐模型(协同过滤,矩阵分解,LR, FM, FF...

网友评论

      本文标题:矩阵分解和FM

      本文链接:https://www.haomeiwen.com/subject/kebnmktx.html