基于协同过滤的SVD的推荐系统

本文探讨了使用奇异值分解(SVD)处理矩阵A在推荐系统中的问题,包括矩阵稀疏性和计算复杂度。通过EM算法解决数据稀疏性,通过行向量采样降低计算复杂度,优化了SVD在大规模数据下的应用。
摘要由CSDN通过智能技术生成

参考论文:Using Singular Value Decomposition Approximation For Collaborative Filtering

背景:

m-n矩阵是一个打分矩阵,m是用户的数量,n为项目的数量,Ai,j表示用户i对项目j的评分情况。矩阵A一般存在两个问题。
1> 矩阵A通常非常的庞大,m、n可能有上百万或者是上亿的数量级
2> 矩阵A是一个非常稀疏的矩阵
所以我们希望可以定义一个低维矩阵X,实际上是一个线性模型,可以近似的接近矩阵A。我们通常会假设Aij = Xij+error,而error服从均值为0,标准差为 这里写图片描述
所以有这里写图片描述
所以在给定Xi,j条件下,Ai,j的似然函数为:
这里写图片描述

我们假定这里写图片描述 是相互独立的,则有:

这里写图片描述

我们要极大化logPr(A|X),其实就是最小化这里写图片描述
我们可以通过极小化上面的式子找到这样的一个低维矩阵X,使得可以近似A,这就转换为最小二乘法,可以用SVD来解决此类问题,如果A被分解为了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值