【推荐系统】推荐场景为什么不可以使用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月前
|
机器学习/深度学习 搜索推荐 算法
【阿旭机器学习实战】【37】电影推荐系统---基于矩阵分解
【阿旭机器学习实战】【37】电影推荐系统---基于矩阵分解
|
4月前
|
存储 搜索推荐 算法
python推荐系统实现(矩阵分解来协同过滤)
python推荐系统实现(矩阵分解来协同过滤)
|
4月前
|
机器学习/深度学习 搜索推荐 算法
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
|
4月前
|
分布式计算 搜索推荐 算法
推荐系统的数学模型-从矩阵分解到推荐系统(Scala实现)
推荐系统的数学模型-从矩阵分解到推荐系统(Scala实现)
86 0
|
机器学习/深度学习 存储 人工智能
深度学习应用篇-推荐系统[11]:推荐系统的组成、场景转化指标(pv点击率,uv点击率,曝光点击率)、用户数据指标等评价指标详解
深度学习应用篇-推荐系统[11]:推荐系统的组成、场景转化指标(pv点击率,uv点击率,曝光点击率)、用户数据指标等评价指标详解
深度学习应用篇-推荐系统[11]:推荐系统的组成、场景转化指标(pv点击率,uv点击率,曝光点击率)、用户数据指标等评价指标详解
|
机器学习/深度学习 搜索推荐 算法
# 【推荐系统入门到项目实战】(五):SVD矩阵分解 -
# 【推荐系统入门到项目实战】(五):SVD矩阵分解
# 【推荐系统入门到项目实战】(五):SVD矩阵分解 -
|
数据采集 机器学习/深度学习 搜索推荐
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec(2)
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec
180 0
|
机器学习/深度学习 数据采集 移动开发
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec(1)
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec
258 0
|
1月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
|
3月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)