【推荐系统】协同过滤的进化——矩阵分解算法

本文探讨了推荐系统中的传统模型和协同过滤的进化,重点介绍了矩阵分解算法。通过隐语义模型,将评分矩阵分解为用户和物品的隐向量表示,以预测用户评分并进行推荐。讲解了Basic SVD、RSVD和SVD++等求解方法,分析了矩阵分解的优缺点,如泛化能力强、解决稀疏问题,但也存在过拟合问题。矩阵分解在推荐系统中展示了强大的扩展性和灵活性,但忽略了用户和物品的特征信息。
摘要由CSDN通过智能技术生成

1 传统的推荐系统模型

传统模型演化关系
在这里插入图片描述

这里对应的核心是 ——> 协同过滤那里的评分矩阵给分解成用户矩阵乘上物品矩阵的形式

2 协同过滤的进化——矩阵分解算法

2.1 隐语义模型? 这家伙到底是个啥?


在这里插入图片描述

举例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:
在这里插入图片描述
想办法基于这个评分矩阵去找到上面例子中的那两个矩阵, 也就是用户兴趣和物品的隐向量表达, 然后就把这个评分矩阵分解成Q和P两个矩阵乘积的形式, 这时候就可以基于这两个矩阵去预测某个用户对某个物品的评分了。 然后基于这个评分去进行推荐

2.2 矩阵分解算法的原理

原理图:
在这里插入图片描述

k的大小决定了隐向量表达能力的强弱, k越大, 表达信息就越强, 理解起来就是把用户的兴趣和物品的分类划分的越具体

原理公式:
在这里插入图片描述

2.3 矩阵分解算法的求解(BacisSVD, RSVD, ASVD, SVD++)

  • 引:
    传统的特征值分解(EVD) ——》 要求是方阵
    传统的SVD——》要求原始矩阵是稠密的

2.3.1 Basic SVD(LFM)

  • 思想
    把求解上面两个矩阵的参数问题转换成一个最优化问题, 可以通过训练集里面的观察值利用最小化来学习用户矩阵和物品矩阵。
    在这里插入图片描述

  • 具体公式
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 有个问题

    • 两个矩阵很大的时候, 往往容易陷入过拟合的困境, 这时候, 就需要在目标函数上面加上正则化的损失, 就变成了RSVD

2.3.2 RSVD

在目标函数中加入正则化参数(加入惩罚项)
一些在原来矩阵的基础加了偏置项(考虑的是其它的一些因素)

2.3.3 SVD++

将用户历史评分的物品加入到了LFM模型里

2.4 矩阵分解的优缺点

优点

  1. 泛化能力强
  2. 一定程度上解决了稀疏问题
  3. 空间复杂度低,由于用户和物品都用隐向量的形式存放, 少了用户和物品相似度矩阵, 空间复杂度由n^2,降到了( n + m ) ∗ f。
  4. 更好的扩展和灵活性:矩阵分解的最终产物是用户和物品隐向量,这个和深度学习中的embedding思想不谋而合,因此矩阵分解的结果非常便于与其他特征进行组合和拼接,并可以与深度学习无缝结合

缺点

  1. 矩阵分解只用到了频分矩阵,没有考虑到用户特征,物品特征和上下文特征,为了解决这个问题,后面提出了回归模型及后序的因子分解模型
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值