美文网首页
矩阵分解在协同过滤推荐算法中的应用

矩阵分解在协同过滤推荐算法中的应用

作者: dreamsfuture | 来源:发表于2018-03-05 23:18 被阅读0次

1.  矩阵分解做协同过滤是广泛使用的方法

2. 遇到问题:

        在推荐系统中,常常遇到的问题是很多用户和物品组成的数据集,但是大多数用户都很少对物品进行评分。

3.目标: 

        对于每个用户,我们的目标是希望较准确的预测出用户对未评分物品的评分。

4.用途:

        将评分高的物品推荐给目标用户

5.方法:

        这个问题我们有很多解决方法,本文用矩阵分解的方法来做

6.矩阵分解方法:

        传统的奇异值分解SVD

7.效果:

        选择部分较大的一些奇异值来同时进行降维。较大的奇异值的个数,一般会远远的小于用户数和物品数

        通过这种方法,我们可以将评分表里面所有没有评分的位置得到一个预测评分。

8.传统SVD的问题:

        SVD分解要求矩阵是稠密的,也就是说矩阵的所有位置不能有空白。有空白时我们的矩阵M是没法直接进行SVD分解的

9.传统SVD处理稀疏矩阵的方法:

        对评分矩阵中的缺失值进行简单的补全,比如用全局平均值或者用用户物品平均值补全,得到补全后的矩阵

10.补全的效果:

        推荐算法上还是较难使用,效率低。因为我们的用户数和物品一般都是超级大,随便就成千上万了。这么大一个矩阵做SVD分解是非常耗时的。

11.改进办法:

        FunkSVD算法用于推荐

12.如何改进:

        FunkSVD是在传统SVD面临计算效率问题时提出来的,既然将一个矩阵做SVD分解成3个矩阵很耗时,同时还面临稀疏的问题,那么我们能不能避开稀疏问题,同时只分解成两个矩阵呢?也就是说,现在期望我们的矩阵M分解为:

        Mm×n=Pm×k*Qk×n

13.如何求解矩阵P,Q:

        采用了线性回归的思想。我们的目标是让用户的评分和用矩阵乘积得到的评分残差尽可能的小,也就是说,可以用均方差作为损失函数,来寻找最终的分解矩阵P和Q;

        本质就是训练Pi和Qj,使其接近输入数据Mij,利用梯度下降法,加入正则化缓解过拟合。

14.在funkSVD上继续改进:

        BiasSVD算法用于推荐

15.BiasSVD改进的情况:

        增加了了场景因素,在loss中增加了新的参数

16.在biasSVD继续改进:

        SVD++算法用于推荐,进一步做了增强,这里它增加考虑用户的隐式反馈

17.整体评价:

        小的推荐系统用矩阵分解应该是一个不错的选择。大型的话,则矩阵分解比起现在的深度学习的一些方法不占优势。

说明:本文是总结此文的,内容完全来自于下面的参考文献

参考文献:

[1]  矩阵分解在协同过滤推荐算法中的应用

相关文章

  • 算法笔记(1)-常用推荐算法总结

    常用推荐算法包括以下几种 1.协同过滤算法 1)基于用户的协同过滤算法 2)基于项的协同过滤算法 2.基于矩阵分解...

  • 矩阵分解在协同过滤推荐算法中的应用

    1.矩阵分解做协同过滤是广泛使用的方法 2.遇到问题: 在推荐系统中,常常遇到的问题是很多用户和物品组成的数据集,...

  • 1.推荐算法串讲

    推荐算法 1、 基于内容的推荐 2、 基于近邻的推荐(协同过滤) 3、 基于矩阵分解的隐语义模型(LFM,FM,F...

  • 推荐系统12:贝叶斯个性化排序

    矩阵分解在推荐系统中的地位非常崇高,恐怕本专栏介绍的其他算法模型都不能轻易地撼动它。它既有协同过滤的血统,又有机器...

  • 开源工具框架

    协同过滤和矩阵分解 基于用户、基于物品的协同过滤,矩阵分解,都依赖对用户物品关系矩阵的利用,这里面常常要涉及的工作...

  • 【转】矩阵分解之SVD和SVD++

    前面的内容是关于近邻推荐的相关知识,来看下另外一种推荐方法:矩阵分解。 为什么需要矩阵分解 协同过滤可以解决我们关...

  • 矩阵分解与FM

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

  • 推荐冷启动召回模型DropoutNet深度解析与改进

    为什么需要冷启动 通常推荐系统通过协同过滤、矩阵分解或是深度学习模型来生成推荐候选集,这些召回算法一般都依赖于用户...

  • 2019-03-28

    基于模型的协同过滤算法 基于模型的协同过滤算法是源自于推荐过程可以被视为分类或预测问题的这一思想,它将评分矩阵作为...

  • 协同过滤(网新关键词)

    协同过滤 协同过滤 定义: 协同过滤(Collaborative Filtering)技术,是推荐系统中应用最为广...

网友评论

      本文标题:矩阵分解在协同过滤推荐算法中的应用

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