【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵

简介: 【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵

在推荐领域,我们为了捕捉更多隐含特征,需要对用户-物品共现矩阵进行分解,对矩阵分解的方法主要有三种:

  • 特征值分解(Eigen Decomposition)
  • 奇异值分解(Singular Value Decomposion)
  • 梯度下降(Gradient Descent)

如果使用特征值分解,前提要求是待分解矩阵为方阵,在真实情况中显然是不适用的。

对于奇异值分解,存在共现矩阵M(m,n),我们可以将其分解成:

image.png

其中 U UU 是(m,m)的正交矩阵,V VV 是(n,n)的正交矩阵,Σ \SigmaΣ 为(m,n)的特征值矩阵

虽然这个方法可以将我们的特征矩阵进行分解,但是会存在两个问题:

  • 奇异值分解要求共现矩阵是稠密的,但是在大多数场景下,用户的行为历史很少,所以用户-物品的共现矩阵是非常稀疏的,大多数的值都为0,表示未交互,所以不适宜使用奇异值分解,如果一定要使用,那么在使用之前需要对稀疏矩阵进行填补,如果填补不当会进行干扰原数据,导致数据质量下降
  • 传统奇异值分解的计算复杂度达到了 O ( m n 2 ) O(mn^2)O(mn2) 的级别,这对于商品数量几百万,用户数量几千万的互联网场景来说几乎是不能够接受的,因为工程开销过于巨大


目录
相关文章
|
3月前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
50 4
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的矩阵分解和FM模型
推荐系统的矩阵分解和FM模型
28 0
|
7月前
|
机器学习/深度学习 搜索推荐 算法
【阿旭机器学习实战】【37】电影推荐系统---基于矩阵分解
【阿旭机器学习实战】【37】电影推荐系统---基于矩阵分解
|
8月前
|
存储 搜索推荐 算法
python推荐系统实现(矩阵分解来协同过滤)
python推荐系统实现(矩阵分解来协同过滤)
|
8月前
|
机器学习/深度学习 搜索推荐 算法
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
|
8月前
|
分布式计算 搜索推荐 算法
推荐系统的数学模型-从矩阵分解到推荐系统(Scala实现)
推荐系统的数学模型-从矩阵分解到推荐系统(Scala实现)
153 0
|
5月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
198 1
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
|
7月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
7月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
5月前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
506 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现

热门文章

最新文章