根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。
只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为0
利用两个矩阵, 用户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