SVD分解及推荐系统的矩阵分解

问题描述

在这里,我们将谈论的问题是评级预测问题。我们的数据是评级历史数据,即用户对项目的评级,值区间是[1,5]。我们可以把数据放在一个稀疏矩阵R

中:

R=1?2??5????1?2?43????5?3??4???2AliceBobCharlieDanielEricFrank R = ( 1 ? 2 ? ? ? ? ? ? 4 2 ? 4 5 ? ? ? 3 ? ? ? 1 ? 3 ? 5 ? ? ? 2 ) Alice Bob Charlie Daniel Eric Frank

矩阵的每一行对应一个给定用户,每一列对应一个给定项目。譬如,在上面的矩阵中,Alice对第一个项目的评级是1,Charlie对第三个项目的评级是4。在我们的问题中,我们将认为项目是电影,(电商领域是商品),在后面会交替使用“项目”和“电影”这两个术语。

SVD矩阵分解

Rm×n=Mm×mΣm×nUTn×n R m × n = M m × m Σ m × n U n × n T

Rm×n=Mm×rΣr×rUTr×n 降 维 : R m × n = M m × r Σ r × r U r × n T

如果 R R 是密集的,我们可以很容易计算 M U

  • M M 的列是 R R T 的特征向量
  • The columns of M M can build back all of the columns of R
  • U U 的列是 R T R 的特征向量。
  • The columns of U U can build back all of the rows of R
  • Σ Σ 的对角元素来源于 RRTRTR R R T 或 R T R 的特征值的平方根,并且是按从大到小的顺序排列的

但是, R R 是稀疏的,矩阵 R R T

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值