【推荐系统】VBPR(Visual Bayesian Personalized Ranking)
·
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+θuTEfi+β′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:视觉偏置项和用户/物品偏置
模型理解

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+θuTEfi+β′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:推荐系统给出的评分,用于排序推荐列表。
更多推荐

所有评论(0)