当前位置: 首页 > news >正文

【推荐系统笔记】BPR损失函数公式

    • 一、BPR损失函数公式

      BPR 损失函数的核心公式如下:

      L BPR = − ∑ ( u , i , j ) ∈ D ln ⁡ σ ( x ^ u i j ) + λ ∣ ∣ Θ ∣ ∣ 2 L_{\text{BPR}} = - \sum_{(u, i, j) \in D} \ln \sigma(\hat{x}_{uij}) + \lambda ||\Theta||^2 LBPR=(u,i,j)Dlnσ(x^uij)+λ∣∣Θ∣2

      其中:

      • ( u , i , j ) (u, i, j) (u,i,j) 表示一个训练三元组,含义是“用户 u u u 更偏好物品 i i i(正样本)而非 j j j(负样本)”。
      • x ^ u i j = x ^ u i − x ^ u j \hat{x}_{uij} = \hat{x}_{ui} - \hat{x}_{uj} x^uij=x^uix^uj:预测评分差值,表示用户 u u u 对物品 i i i j j j 的兴趣差。
      • x ^ u i \hat{x}_{ui} x^ui:模型预测的用户 u u u 对物品 i i i 的偏好分数,常用点积 p u T q i \mathbf{p}_u^T \mathbf{q}_i puTqi表示。
      • σ ( ⋅ ) \sigma(\cdot) σ():sigmoid 函数, σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1
      • ln ⁡ σ ( x ^ u i j ) \ln \sigma(\hat{x}_{uij}) lnσ(x^uij):表示偏好差越大(即 i i i j j j 更受欢迎)的可能性越大。
      • λ ∣ ∣ Θ ∣ ∣ 2 \lambda ||\Theta||^2 λ∣∣Θ∣2:正则项,防止过拟合,( \Theta ) 表示所有模型参数,如用户/物品向量。

      二、核心思想和直觉解释

      BPR 的目标是学习一个排序模型,让用户 u u u 对正样本 i i i的评分高于负样本 j j j,即:

      x ^ u i > x ^ u j ⇒ x ^ u i j = x ^ u i − x ^ u j > 0 \hat{x}_{ui} > \hat{x}_{uj} \Rightarrow \hat{x}_{uij} = \hat{x}_{ui} - \hat{x}_{uj} > 0 x^ui>x^ujx^uij=x^uix^uj>0

      我们希望最大化这个事件的概率,也就是最大化:

      P ( x ^ u i > x ^ u j ) = σ ( x ^ u i − x ^ u j ) P(\hat{x}_{ui} > \hat{x}_{uj}) = \sigma(\hat{x}_{ui} - \hat{x}_{uj}) P(x^ui>x^uj)=σ(x^uix^uj)

      这就变成了最大化一个排序概率的对数似然函数,也就是前面提到的 BPR 损失函数。


      三、训练样本构造

      由于是隐式反馈(如点击/未点击),我们无法获得负样本,只能从“未交互”中随机采样负样本:

      • 对每个用户 u u u,正样本 i i i 是其交互过的物品。
      • 随机采样一个用户 u u u 未交互的物品 j j j,作为负样本。
      • 构造训练三元组 ( u , i , j ) (u, i, j) (u,i,j)

      四、梯度优化

      对模型参数如 p u , q i , q j \mathbf{p}_u, \mathbf{q}_i, \mathbf{q}_j pu,qi,qj 进行 SGD 梯度更新时,关键是:

      ∂ L BPR ∂ x ^ u i j = − ( 1 − σ ( x ^ u i j ) ) \frac{\partial L_{\text{BPR}}}{\partial \hat{x}_{uij}} = - (1 - \sigma(\hat{x}_{uij})) x^uijLBPR=(1σ(x^uij))

      这表达了“偏好差越大,梯度越小,更新越小”,符合排序目标。


相关文章:

  • 二叉搜索树中的搜索(递归解决)
  • 使用vue的插值表达式渲染变量,格式均正确,但无法渲染
  • 深度学习中卷积的计算复杂度与内存访问复杂度
  • 回归树:从原理到Python实战
  • 三生原理的范式引领价值?
  • 408真题笔记
  • Linux基础指令【下】
  • EBO的使用
  • 数字智慧方案5974丨智慧农业大数据应用平台综合解决方案(79页PPT)(文末有下载方式)
  • [vscode]全局配置nim缩进
  • 【工具变量】上市公司治理水平数据集-含参考文献及dta、xlsx格式(2003-2023年)
  • ClackyAI:下一代智能云开发环境的技术革新与实践价值
  • 多节点监测任务分配方法比较与分析
  • 数字智慧方案5976丨智慧农业顶层设计建设与运营方案(59页PPT)(文末有下载方式)
  • 面经-计算机网络——OSI七层模型与TCP/IP四层模型的对比详解
  • Umi-OCR项目(1)
  • 第七章:赤 色广播计划的全面启动
  • VAO与VBO的相关操作
  • Hive数据倾斜 常见解决办法
  • DeepSeek V3 训练策略:FP8混合精度与多Token预测
  • 长江财险一季度净亏1449.81万元,去年曾实现扭亏为盈
  • 国家卫健委对近日肖某引发舆情问题开展调查
  • 平安资管总经理罗水权因个人工作原因辞职
  • 山西太原小区爆炸事故已造成17人受伤
  • 兴业银行一季度净赚超237亿降逾2%,营收降逾3%
  • 中国防疫队深入缅甸安置点开展灾后卫生防疫工作