【推荐系统】推荐系统中分解共现矩阵的优点与局限性

简介: 【推荐系统】推荐系统中分解共现矩阵的优点与局限性

由于使用协同过滤,单纯考虑user或item之间的正反馈交互以及相似度量,这不能很好的利用全局信息,如果两个用户没有相同的历史行为,或者两个物品没有相同的用户购买,那么对于这两个物品或者用户来说,它们之间的相似度为0,这就会导致使用协同过滤不具备泛化利用全局信息的能力。

而隐向量的生成过程其实是对共享矩阵进行全局拟合的过程,因此隐向量其实是利用全局信息生成的。

矩阵分解的优点:

  • 泛化能力强:在一定程度上解决了矩阵稀疏的问题
  • 空间复杂度低:使用协同过滤进行推荐,需要维护用户和物品的相似度矩阵,而使用隐向量只需要存储物品和用户的隐向量矩阵即可,这就使得空间复杂度从 n 2 n^2n2 降低到 k ( m + n ) k(m+n)k(m+n)
  • 更好的扩展性和灵活性:矩阵分解的最终产出是用户和物品的隐向量矩阵,这其实与深度学习中的Embedding思想不谋而合,因此矩阵分解的结果也非常便于与其它特征进行组合和拼接,并便于与深度学习网络进行无缝结合

局限性:

  • 矩阵分解只能够使用共现矩阵,不能将用户、物品和上下文特征考虑在内进行建模,这将丧失很多信息


目录
相关文章
|
搜索推荐 算法 数据挖掘
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
|
6天前
|
分布式计算 搜索推荐 算法
推荐系统的数学模型-从矩阵分解到推荐系统(Scala实现)
推荐系统的数学模型-从矩阵分解到推荐系统(Scala实现)
39 0
|
机器学习/深度学习 数据采集 资源调度
【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵
【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵
127 0
【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵
|
机器学习/深度学习 搜索推荐 算法
# 【推荐系统入门到项目实战】(五):SVD矩阵分解 -
# 【推荐系统入门到项目实战】(五):SVD矩阵分解
# 【推荐系统入门到项目实战】(五):SVD矩阵分解 -
|
6月前
|
搜索推荐 算法 前端开发
旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
167 0
|
6天前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
120 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
6天前
|
算法 搜索推荐 数据挖掘
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
|
6天前
|
存储 搜索推荐 算法
python推荐系统实现(矩阵分解来协同过滤)
python推荐系统实现(矩阵分解来协同过滤)
|
6天前
|
机器学习/深度学习 搜索推荐 算法
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
|
6天前
|
搜索推荐 算法
推荐系统中的协同过滤介绍
推荐系统中的协同过滤介绍
19 0