VBPR

模型基础

VBPR(Visual Bayesian Personalized Ranking)是一种结合视觉特征和隐式反馈的个性化推荐模型,核心思想是:
在矩阵分解(Matrix Factorization, MF)的基础上,引入视觉特征,以改进推荐系统的排序能力,特别是在冷启动场景下。

动机

传统的推荐系统(如MF)只基于用户-物品交互历史(如点击、购买),但忽略了商品的视觉外观信息。然而,在服饰、电商等领域,视觉是非常重要的决策因素。

主要创新点

  • 引入视觉因子(visual factors):通过预训练CNN(如ImageNet上训练的AlexNet)提取商品图片特征(4096维)。
  • 设计一个低维视觉嵌入空间(embedding matrix E),将高维CNN特征映射到可学习的视觉维度空间(如20维),用于与用户的视觉偏好匹配。
  • 结合贝叶斯个性化排序(BPR),进行pairwise ranking训练,使得用户更喜欢的物品在推荐列表中排序更靠前。

评分函数

推荐分数由如下几部分组成:

x^u,i=α+βu+βi+γuTγi+θuTEfi+β′Tfi \hat{x}_{u,i} = \alpha + \beta_u + \beta_i + \gamma_u^T \gamma_i + \theta_u^T E f_i + \beta'^{T} f_i x^u,i​=α+βu​+βi​+γuT​γi​+θuT​Efi​+β′Tfi​

其中:

  • γu,γi\gamma_u, \gamma_iγu​,γi​:用户/物品的潜在因子(latent factors)
  • fif_ifi​:CNN提取的物品图像特征
  • EEE:视觉嵌入矩阵
  • θu\theta_uθu​:用户的视觉偏好向量
  • β′,βu,βi\beta', \beta_u, \beta_iβ′,βu​,βi​:视觉偏置项和用户/物品偏置

模型理解

ChatGPT Image 2025年5月1日 11_15_01

Step 1:输入原始数据
  • 用户uuu:有历史交互记录(如购买/浏览)。
  • 物品 iii:带有一张商品图片(如一件衣服)。

Step 2:提取商品视觉特征
  • 利用预训练的CNN模型(如AlexNet),从商品图像中提取出一个高维特征向量 fi∈R4096f_i \in \mathbb{R}^{4096}fi​∈R4096。

Step 3:视觉特征嵌入(降维)
  • 将 CNN 提取的高维特征 fif_ifi​ 通过一个可训练的线性变换矩阵 E∈RD×4096E \in \mathbb{R}^{D \times 4096}E∈RD×4096 进行降维:
    θi=Efi \theta_i = E f_i θi​=Efi​
  • 得到低维视觉表示,捕捉用户决策相关的视觉维度(如颜色、款式等)。

Step 4:用户视觉偏好建模
  • 每个用户 uuu 有一个对应的视觉偏好向量 θu∈RD\theta_u \in \mathbb{R}^Dθu​∈RD,表示用户对不同视觉维度的兴趣强弱。

Step 5:计算视觉匹配得分
  • 将用户视觉偏好与物品的视觉表示进行内积,得出视觉偏好得分:
    θuT(Efi) \theta_u^T (E f_i) θuT​(Efi​)

Step 6:视觉偏置项
  • 计算视觉偏置项:
    β′Tfi \beta'^T f_i β′Tfi​
  • 表示该物品在视觉上整体吸引力,独立于具体用户。

Step 7:整合评分信息

整合所有评分组件,最终预测用户 uuu 对商品 iii 的兴趣程度:
x^u,i=α+βu+βi+γuTγi+θuTEfi+β′Tfi \hat{x}_{u,i} = \alpha + \beta_u + \beta_i + \gamma_u^T \gamma_i + \theta_u^T E f_i + \beta'^T f_i x^u,i​=α+βu​+βi​+γuT​γi​+θuT​Efi​+β′Tfi​


最终输出:

  • x^u,i\hat{x}_{u,i}x^u,i​:推荐系统给出的评分,用于排序推荐列表。

i + \beta’^T f_i
$$


最终输出:

  • x^u,i\hat{x}_{u,i}x^u,i​:推荐系统给出的评分,用于排序推荐列表。

更多推荐