基于矩阵分解的推荐算法

https://www.toutiao.com/a6656899746516435469/

 

2019-02-12 08:10:52

1、算法介绍

在推荐算法中,主要解决的问题是找到用户对物品的偏好得分。矩阵分解算法它的基本思想是认为用户对物品的偏好是外在表现,内在是用户对主题的偏好,而主题对不同物品又有不同的权重,通过用户->主题->物品这条链路才形成用户对物品的偏好。

矩阵分解的公式:U=PQ

其中U表示用户对不同物品的偏好矩阵, P表示用户对不同主题的偏好矩阵, Q表示不同主题对应用的权重。

2、模型求解

在实际的业务实践中,往往是已知用户对物品的部分偏好得分,求解用户对未知物品的偏好得分。

以应用商店广告场景为例:已知用户在端内的物品曝光点击记录,求解用户对不同广告偏好得分。

  • Step1:根据样本数据构造矩阵U

根据样本数据,用户对曝光物品有点击记为1,没有点击记为0,没有曝光过的物品不赋值(记为-),示例如下:

基于矩阵分解的推荐算法_第1张图片

  • Step2:求解矩阵P和矩阵Q

设矩阵U的大小为N×M,主题数定义为K,那么矩阵的大小是N×K,Q矩阵的大小是K×M,构造损失函数,如下:

基于矩阵分解的推荐算法

其中ui,j表示矩阵U的第i行第j列元素,pi表示矩阵P的第i行,qj表示矩阵Q的第j列,

通过梯度下降法可以求解矩阵P和矩阵Q。

  • Step3:预测用户对没有曝光过物品的偏好得分

给定一个用户i,需要预测该用户对物品j的偏好得分,公式为:

基于矩阵分解的推荐算法

  • Step4:如何给用户推荐物品

给定一个用户,通过Step3的公式计算该用户对所有物品的偏好得分,取该用户没有曝光过得分排名前10的物品进行推荐。

你可能感兴趣的:(人工智能,矩阵分解,推荐算法)