深度学习在推荐系统的应用(三)
DSSM(深度语义匹配模型)
- 模型原始论文
Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
- 模型原理
- 1.输入是一个Query和相关的Doc,这里的输入特征可以是One-Hot,也可以是word embeding的输出vector
- 2.Word Hashing,主要是 NLP场景下的降维,比如五十万个的单词的维度降到三万
- 3.接下来是多层神经网络,输出128维的语义特征向量
- 4.使用cosine计算Query和Doc的相关性
- 5.通过softmax预测概率
- 模型特点
- 1.Word Hashing解决大规模数据的字典爆炸问题。
- 2.引入监督信息,使用用户点击数据,优化语义空间映射问题。
模型案例
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
1.baharefatemi/DSSM
2.干货 | 基于用户行为的视频聚类方案
BPR(贝叶斯个性化排序)
- 模型原始论文
BPR: Bayesian Personalized Ranking from Implicit Feedback
- 模型简介
- 1.这篇文章提出了一种个性化排名的方法BPR-OPT,这种方法是基于贝叶斯理论的极大化后验概率。用户的显式反馈一般从用户与系统的交互行为中得出,比如用户的购买历史,观看历史等,这些很容易从后台日志中得到。
2.排序推荐算法大体上可以分为三类,第一类排序算法类别是点对方法(Pointwise Approach),这类算法将排序问题被转化为分类、回归之类的问题,并使用现有分类、回归等方法进行实现。第二类排序算法是成对方法(Pairwise Approach),在序列方法中,排序被转化为对序列分类或对序列回归。所谓的pair就是成对的排序,比如(a,b)一组表明a比b排的靠前。第三类排序算法是列表方法(Listwise Approach),它采用更加直接的方法对排序问题进行了处理。它在学习和预测过程中都将排序列表作为一个样本。排序的组结构被保持。之前我们介绍的算法大都是Pointwise的方法,今天我们来介绍一种Pairwise的方法:贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR)
- 模型原理
1.数据pair化预处理:
BPR算法将用户对物品的评分(显示反馈“1”,隐式反馈“0”)处理为一个pair对的集合<i,j>,其中i为评分为1的物品,j为评分为0的物品。假设某用户有M个“1”的评分,N个“0”的评分,则该用户共有M*N个pair对。
这样数据集就由三元组<u,i,j>表示,该三元组的物理含义为:相对于物品“j”,用户“u”更喜欢物品“i”。- 2.数据假设:
- 每个用户之间的偏好行为相互独立
- 同一用户对不同物品的偏序相互独立
- 每个用户之间的偏好行为相互独立
则优化问题为极大化如下目标:
其中theta为所求模型,具体包括:表示用户的隐含因子矩阵P,及表达物品的隐含因子矩阵Q。
对应的最小化问题为:
——其中 λθ 为正则系数"model specic regularization parameters"。
采用SGD求解上述最小化问题,分别针对pu qi qj求偏导如下:
偏导即为梯度下降方向,模型迭代求解的公式如下:
其中α为学习速率。
模型特点
模型案例
1.推荐系统遇上深度学习(二十)--贝叶斯个性化排序(BPR)算法原理及实战
2.Bayesian Personalized Ranking 算法解析及Python实现
3.BPR [Bayesian Personalized Ranking] 算法详解
4.alfredolainez/bpr-spark
5.AaronHeee/APR
