矩阵分解(基于模型的CF)

基于模型的CF:模型中包含参数,通过训练来优化参数,是误差目标最小

矩阵分解(隐语义模型),可以用来降维

输入矩阵4*3(m=4,n=3)
 I1I2I3
U1?35
U24?6
U3??7
U488

输入矩阵即用户对Item进行打分后的打分矩阵,其中"?"表示待计算的分数,以此进行推荐。 

User矩阵4*2(m=4,k=2)
 K1K2

U1

0.40.3
U20.20.5
U30.60.5
U40.40.8
Item矩阵2*3(k=2,n=3)
 I1I2I3
K10.30.20.6
K20.40.50.4

 

输入矩阵进行矩阵分解得到上面两个 分解后的两个子矩阵,k=2,过渡矩阵为2*2,每个User和Item都对应K1和K2,上面两个矩阵相乘得到下面的输出矩阵,且输出矩阵近似于原矩阵,该近似矩阵可以完成推荐目标。

输出矩阵4*3
 I1I2I3
U16.32.84.6
U24.53.65.8
U35.85.76.8
U47.87.56.8
  • 模型训练的目标,输出矩阵和输入矩阵之间的误差最小。
  • 输出矩阵的所有单元格都有值,确实值得填充代表用户评分的预测值。
  • 模型训练的输出是用户向量和物品向量,都是k维的,代表k个不同的隐藏兴趣点(例如电影的标签:K1:动作片,K2:科幻片两个兴趣点)
  • 用户*用户,用户*物品,物品*物品分别都可以计算彼此的相似度。

矩阵分解的优点

  • 将高维矩阵映射成地位矩阵的乘机,解决了数据稀疏性的问题;
  • 预测的精度比较高,高于基于邻域的协同过滤以及基于内容等方法、

矩阵分解的缺点

  • 推荐结果无法解释,其隐空间中的维度无法与现实中的概念对应起来。
  • 模型训练比较费时,比如只能天粒度离线训练。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值