融合用户或产品属性的BPR模型
2016-06-17 17:20
246 查看
背景介绍
问题分析
预备知识
属性到隐特征的映射
kNN映射kNN-BPR
线性映射lin-BPR
map-BPR
y^ui=∑f=1kwufhif=<wu,hi>(1)
通过随机梯度下降方法,BPR-MF模型得到如下的用户和产品特征矩阵:
W=⎛⎝⎜0.21.30.91.20.31.1⎞⎠⎟H=⎛⎝⎜⎜⎜?0.91.10.1?1.00.21.2⎞⎠⎟⎟⎟
W中的每行代表一个用户,H中的每行代表一个产品。假设第一行产品之前没有评分记录,因此无法学习到隐特征向量。为了预测用户对第一件产品的评分,我们可以通过产品之间的属性关联来估计特征。
产品属性矩阵AI∈R|I|×n,其中aIil等于1当且仅当产品i具有属性l,n为属性个数。
例:假设我们有五部电影,每部电影属于1个或者多个流派。那么产品属性矩阵可以用下表表示
AI=⎛⎝⎜⎜⎜10101000010101000010⎞⎠⎟⎟⎟
将产品属性映射到隐特征从而进行评分预测的一般形式为:
y^ui:=∑f=1kwufϕf(aIi)=<wu,ϕ(aIi)>(2)
其中ϕf:Rn→R表示将产品属性映射到第f个隐特征上的函数,而ϕ:Rn→Rk表示将产品属性映射到所有隐特征的函数。
首先根据属性向量余弦相似度来将k近邻作为产品最相似的产品,然后我们可以根据如下公式估计每种特征:
ϕf(aIi):=∑j∈Nk(i)sim(aIi,aIj)hjf∑j∈Nk(i)sim(aIi,aIj)(3)
例:产品之间的相似度矩阵如下表所示
那么’The usual suspects’的特征可以用下式估计
h^1:=ϕ(aIi)=⎛⎝⎜⎜0.5⋅h3,10.50.5⋅h3,20.5⎞⎠⎟⎟=(1.10.2)
由此我们可以估计新产品的评分为
y^1,1=<w1,h^1>=0.2⋅1.1+1.2⋅0.2=0.46
ϕf(aIi)=∑l=1nmflaIil=<mf,aIi>(4)
上式的解释是每个产品特征是产品属性的线性加权 。
例:假设我们训练一个有如下权重的线性映射模型:
M=(0.70.10.00.00.10.81.01.10.70.0)
矩阵M中的行对应不同维度的隐特征,而列表示每个特征对隐特征的影响。那么隐特征可以用下式估计:
y^1=(1⋅0.71⋅0.11⋅0.01⋅0.00⋅0.10⋅0.80⋅1.00⋅1.10⋅0.70⋅0.0)=(0.70.1)
一种学习线性映射函数中的参数的方法是直接脊灰归,但是产品或者用户属性可能维度较高,因此用随机梯度下降来学习参数,不过后面的实验结果表明这种方法的效果一般,所以作者提出了另一种方法map-BPR。
y^ui−y^uj=∑f=1kwuf∑l=1nmflaIil−∑f=1kwuf∑l=1nmflaIjl(5)
上式可进一步约简为:
y^ui−y^uj=∑f=1k∑l=1nwufmflaIil−∑f=1k∑l=1nwufmflaIjl=∑f=1k∑l=1nwufmfl(aIil−aIjl)(6)
为了训练LearnBPR,我们需要求关于mlf的偏导数:
∂∂mfl(y^ui−y^uj)=wuf(aIil−aIjl)(7)
Rendle S, Freudenthaler C, Gantner Z, et al. BPR: Bayesian personalized ranking from implicit feedback[C]//Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence. AUAI Press, 2009: 452-461. ↩
Gantner Z, Drumond L, Freudenthaler C, et al. Learning attribute-to-feature mappings for cold-start recommendations[C]//Data Mining (ICDM), 2010 IEEE 10th International Conference on. IEEE, 2010: 176-185. ↩
问题分析
预备知识
属性到隐特征的映射
kNN映射kNN-BPR
线性映射lin-BPR
map-BPR
背景介绍
BPR模型是Steffen Rendle提出的一种面向隐反馈偏好数据的排序模型1,该排序模型较好地对用户的正负向反馈进行建模,且可以与传统的协同过滤模型如矩阵分解模型进行结合即BPR-MF,本文介绍如何在BPR-MF模型中融合用户或者产品属性2,融合用户或者产品属性的BPR模型可以较好地解决冷启动问题。问题分析
预备知识
BPR-MF模型将评分矩阵Y^分解为两个低秩矩阵W∈R|U|×k和H∈R|I|×k。用户u对产品i的预测得分为:y^ui=∑f=1kwufhif=<wu,hi>(1)
通过随机梯度下降方法,BPR-MF模型得到如下的用户和产品特征矩阵:
W=⎛⎝⎜0.21.30.91.20.31.1⎞⎠⎟H=⎛⎝⎜⎜⎜?0.91.10.1?1.00.21.2⎞⎠⎟⎟⎟
W中的每行代表一个用户,H中的每行代表一个产品。假设第一行产品之前没有评分记录,因此无法学习到隐特征向量。为了预测用户对第一件产品的评分,我们可以通过产品之间的属性关联来估计特征。
产品属性矩阵AI∈R|I|×n,其中aIil等于1当且仅当产品i具有属性l,n为属性个数。
例:假设我们有五部电影,每部电影属于1个或者多个流派。那么产品属性矩阵可以用下表表示
AI=⎛⎝⎜⎜⎜10101000010101000010⎞⎠⎟⎟⎟
属性到隐特征的映射
文献介绍了三种属性到隐特征的映射方法分别称为kNN-BPR,lin-BPR和map-BPR,后面两种方法的主要区别在于学习参数的方法不同。并且以学习产品属性到隐特征的映射进行举例,同样可以用类似的方法来学习用户属性到隐特征的映射。将产品属性映射到隐特征从而进行评分预测的一般形式为:
y^ui:=∑f=1kwufϕf(aIi)=<wu,ϕ(aIi)>(2)
其中ϕf:Rn→R表示将产品属性映射到第f个隐特征上的函数,而ϕ:Rn→Rk表示将产品属性映射到所有隐特征的函数。
1. kNN映射(kNN-BPR)
一种将属性空间映射到隐特征空间的方法是对每个特征使用加权k近邻回归方法。首先根据属性向量余弦相似度来将k近邻作为产品最相似的产品,然后我们可以根据如下公式估计每种特征:
ϕf(aIi):=∑j∈Nk(i)sim(aIi,aIj)hjf∑j∈Nk(i)sim(aIi,aIj)(3)
例:产品之间的相似度矩阵如下表所示
Movie | US | AB | TG | RT |
---|---|---|---|---|
The Usual Suspects | 1 | 0 | 0.5 | 0 |
American Beauty | 0 | 1 | 0 | 0.5 |
The Godfather | 0.5 | 0 | 1 | 0 |
Road Trip | 0 | 0.5 | 0 | 1 |
h^1:=ϕ(aIi)=⎛⎝⎜⎜0.5⋅h3,10.50.5⋅h3,20.5⎞⎠⎟⎟=(1.10.2)
由此我们可以估计新产品的评分为
y^1,1=<w1,h^1>=0.2⋅1.1+1.2⋅0.2=0.46
2. 线性映射(lin-BPR)
为了将产品属性线性映射到产品隐特征,我们在(2)式加上一个线性函数ϕf(aIi)=∑l=1nmflaIil=<mf,aIi>(4)
上式的解释是每个产品特征是产品属性的线性加权 。
例:假设我们训练一个有如下权重的线性映射模型:
M=(0.70.10.00.00.10.81.01.10.70.0)
矩阵M中的行对应不同维度的隐特征,而列表示每个特征对隐特征的影响。那么隐特征可以用下式估计:
y^1=(1⋅0.71⋅0.11⋅0.01⋅0.00⋅0.10⋅0.80⋅1.00⋅1.10⋅0.70⋅0.0)=(0.70.1)
一种学习线性映射函数中的参数的方法是直接脊灰归,但是产品或者用户属性可能维度较高,因此用随机梯度下降来学习参数,不过后面的实验结果表明这种方法的效果一般,所以作者提出了另一种方法map-BPR。
3. map-BPR
为了优化线性函数的参数,我们使用BPR-OPT方法。当优化BPR-OPT时,我们主要关注对于同一个用户两个产品得分之差:y^ui−y^uj=∑f=1kwuf∑l=1nmflaIil−∑f=1kwuf∑l=1nmflaIjl(5)
上式可进一步约简为:
y^ui−y^uj=∑f=1k∑l=1nwufmflaIil−∑f=1k∑l=1nwufmflaIjl=∑f=1k∑l=1nwufmfl(aIil−aIjl)(6)
为了训练LearnBPR,我们需要求关于mlf的偏导数:
∂∂mfl(y^ui−y^uj)=wuf(aIil−aIjl)(7)
Rendle S, Freudenthaler C, Gantner Z, et al. BPR: Bayesian personalized ranking from implicit feedback[C]//Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence. AUAI Press, 2009: 452-461. ↩
Gantner Z, Drumond L, Freudenthaler C, et al. Learning attribute-to-feature mappings for cold-start recommendations[C]//Data Mining (ICDM), 2010 IEEE 10th International Conference on. IEEE, 2010: 176-185. ↩
相关文章推荐
- The RecSys2015 conference之Top-N Recommendation for Shared Accounts总结评述
- 推荐系统中常见的几种相似度计算方法和其适用数据
- 信息系统规划方法-业务流程再造(BPR)
- 总结一下我所设想的推荐引擎怎么做
- 一种简单有效的个性化推荐方法
- 谈业务流程全生命周期管理支撑业务流程再造(1)
- TimeSVD++:动态协同过滤推荐算法
- 推荐评价指标之AUC
- 个性化推荐基本算法及源码分析(一)— 基于用户的协同过滤
- Unifying User-Based and Item-Based Collaborative Filtering Approaches by Similarity Function 译文与j...
- 关于BPR中的组织结构调整
- “流程•十年”观点回顾之BPR:曾风靡全球的企业流程重组 推荐
- ERP与BPR有联系但不能互相代替
- 个性化推荐技术攻略
- 《推荐系统实践》读书总结--个性化推荐系统的概念和应用
- 聊聊淘宝天猫个性化推荐技术演进史
- 推荐系统实践学习笔记(一)
- LDA在资讯推荐的应用
- 使用文本挖掘实现站点个性化推荐
- 个性化推荐算法比较