在推荐场景中, 我们可以把useritem的行为, 用评分矩阵RR|U|×|P|表示.
U={user},为用户集合, P={item}, 为item集合.
以商品为例,比如说用户u1对商品p1加购物车, 那就令 Ru1,p1=3, 用户u1对商品p2做出购买行为, 那就令 Ru1,p2=5.

问题描述

在真实场景中, 用户只会对部分item做出反馈, 所以矩阵是非常稀疏的.
推荐的task就是预测出用户可能感兴趣的未见商品.
我们假设用户喜欢某个商品是因为用户的特征偏好与该商品的特征能够吻合起来.
那这些特征是什么呢? 以音乐推荐为例, 见图1
推荐系统中的矩阵分解
figure 1 音乐推荐中, latent space 的一种假设

这些特征我们不必人为定义, 可以引入latent space的假定, 有k个潜在的特征.
用户对每个特征都有一个偏好程度, 用矩阵Q表示, 每个物品都有一个特征的吻合程度, 用P表示,所以我们的任务就是求出这两个矩阵, 然后对R进行补全, 找出得分高的未见商品推荐给用户.

问题定义

R^=QWTs.t.QR|U|×k,WR|P|×k

推荐系统中的矩阵分解
figure 矩阵分解示意, 网络盗图,符号跟上面公式不一样

求解方法

(1)minQ,Pu,i(Ru,iQuPiT)2+λ||Qu||2+λ||Pi||2

式1 为目标函数. 求解方法通常为 alternating least squares (ALS), 交替最小二乘法.

参考

  1. 网易云音乐的歌单推荐算法是怎样的? - nick lee的回答 - 知乎

相关文章: