Java教程

推荐系统BPR算法

本文主要是介绍推荐系统BPR算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 介绍

根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。
在这里插入图片描述

2 Pre-processing

只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为0

3 算法思想

利用两个矩阵, 用户embedding矩阵 U , 物品embedding矩阵V, 预测的规则是:
在这里插入图片描述

b i b_i bi​表示items的bias , 值越高表示物品越受欢迎

找到 一个pair (u, i),表示的含义是用户u对item i给了高的评分 ,然后在找到一个pair(u, j) , 表示的含义是用户u对item j是unobserved的状态, 之后计算:
在这里插入图片描述这个算法的核心思想就是要不断的拉大这个差值 , 直观感受是用户给了高评分的预测值就要高, unobserved的预测值就要低 ,最终的优化函数是:
在这里插入图片描述
其中:

在这里插入图片描述
最后利用梯度下降优化参数。数据集使用的是ml100k

这篇关于推荐系统BPR算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!