专业的编程技术博客社区

网站首页 > 博客文章 正文

基于矩阵分解的推荐算法(基于矩阵分解的推荐系统)

baijin 2024-09-18 11:51:40 博客文章 3 ℃ 0 评论

1、算法介绍

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

矩阵分解的公式:U=PQ

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

2、模型求解

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

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

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

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

  • 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的物品进行推荐。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表