spark高级数据分析-推荐系统(学习笔记)

1.数据准备

数据集地址
http://www-etud.iro.umontreal.ca/~bergstrj/audioscrobbler_data.html
主要的数据集在文件user_artist_data.txt 中,它包含141 000 个用户和160 万个艺术家,记录了约2420 万条用户播放艺术家歌曲的信息,其中包括播放次数信息。数据集在artist_data.txt 文件中给出了每个艺术家的ID 和对应的名字。请注意,记录播放信息时,客户端应用提交的是艺术家的名字。名字如果有拼写错误,或使用了非标准的名称,事后才能被发现。比如,“The Smiths”“Smiths, The”和“the smiths”看似代表不同艺术家的ID,但它们其实明显是指同一个艺术家。因此,为了将拼写错误的艺术家ID 或ID 变体对应到该艺术家的规范ID,数据集提供了artist_alias.txt 文件。

2.交替最小二乘推荐算法

(http://en.wikipedia.org/wiki/Factor_analysis
矩阵分解(http://en.wikipedia.org/wiki/Nonnegative_matrix_factorization
QR 分解(http://en.wikipedia.org/wiki/QR_decomposition
SVD,也称为矩阵补全,把稀疏矩阵X分解为两个稠密‘瘦’矩阵,X,Y。
为了求解X 和Y 时,本章使用交替最小二乘(Alternating Least Squares,ALS)算法。
虽然Y 是未知的,但我们可以把它初始化为随机行向量矩阵。接着运用简单的线性代数,
就能在给定A 和Y 的条件下求出X 的最优解。实际上,X 的第i 行是A 的第i 行和Y 的函
数,因此可以很容易分开计算X 的每一行。因为X 的每一行可以分开计算,所以我们可以
将其并行化,而并行化是大规模计算的一大优点。
A_iY/(Y’Y)= X_i
要想两边精确相等是不可能的,因此实际的目标是最小化|A_iY/(Y’Y) -Xi|,或者最小化两个矩阵的平方误差。

3.数据准备

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值