关于贝叶斯个性化排序 (BPR) 的简单笔记。
贝叶斯个性化排序 (Bayesian Personalized Ranking, BPR),最早在 BPR: Bayesian Personalized Ranking from Implicit Feedback 中被提及。本篇笔记就来简单整理这篇论文提供的想法、主要贡献和一些问题。
# 概述
# 背景
推荐系统是基于用户 (user) 对项目 (item) 的反应,推测用户对项目的偏好并对用户基于项目推荐的系统。
用户对项目的反应可以分为显式反馈和隐式反馈。显式反馈 (explicit feedback) 特指用户对项目的评分,认作是量化的、可排序的评价。相反地,隐式反馈 (implicit feedback) 指用户对项目的其它动作行为,如点击、购买、点赞、转发等。隐式反馈的特点是包含的信息量小,且可能存在错误。例如,我们无法肯定用户的点击一定出于用户的偏好而非误触,也无法肯定用户未点击的项目是用户的厌恶项,而非用户的忽略。第一种情况出现的可能性是相对较小的,而第二种情况出现的可能性是相对较大的。因此我们认为隐式反馈中的积极项 (positive items) 是有效的,而消极项 (negative items) 一般不纳入考虑。隐式反馈在日常情况下数据量远大于显式反馈,因此聚焦于隐式反馈是更加有价值的。
事实上,隐式反馈相比于显式反馈的建模是更贴合实际情况的。这可以类比于经济学中的基数效用和序数效用。我们认为基数效用的可靠性是低于序数效用的。能否更加深入理解隐式反馈的内涵,采用更加可靠的模型进行描述,是一个值得思考的问题。毕竟,BPR 采用的建模方法也不是十分先进。(或许要依赖经济学的一些模型吧...)
# 基本想法
BPR 正是建立在隐式反馈数据的基础上的。BPR 模型基于排序的想法,通过对隐式反馈进行恰当建模,提出了 BPR 模型下的优化项 BPR-OPT。只要对优化项 BPR-OPT 进行最优化,就能得到具有最大概率的序关系,进而在序中顺序选取给出具体推荐。
此外,BPR 还通过建模优化,假定隐式反馈的消极数据偏序关系不定,达到了支持动态训练的特点。也正是凭借此特点,BPR 提出了对应的优化方法,极大提高了模型训练的速度。
# 特点
BPR 实际上是一个概率模型。通过最优化概率实现参数训练。也正是因为此,BPR 可以广泛应用于各种推荐模型,包括矩阵分解模型 (matrix factorization) 和自适应最近邻算法 (adaptive kNN) 等。
# 公式记号
- : 用户集;
- : 项目集;
- : 隐式反馈;
- : 对用户 存在隐式反馈的项目集;
- : 对项目 存在隐式反馈的用户集;
- : 用户 对项目 的个性化评分;
- : 用户 对项目的偏好个性化排序;
- : 表示存在明确偏好关系的用户・偏序集合;
- : 待训练模型的参数组成的向量;
- : 示性函数, 为真则取,否则取;
- : Heavside 函数,是一种激活函数;
- : 梯度下降中的学习率;
- : 参数向量 的正则化系数.