美文网首页
矩阵分解和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

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