A Dynamic Recurrent Model for Next Basket Recommendation

基于购物篮的物品推荐系统

简单来说就是根据你买过哪些东西,然后给你推荐新的物品,用过淘宝的应该很好理解。

ABSTRACT

现在大多模型分为两类,一类是时序特性模型(认为前一个买什么对这个有影响,比如前面买了手机,这时很可能买手机壳等装饰品),另一类是总体特性模型(也表现为用户爱好,比如用户买了很多体育器材,猜测用户可能喜欢体育,就可以推荐体育相关用品给用户)。也有一些同时处理这两个问题,然后以某种方式将它组合到一个新的模型中。

大部分最优模型都是基于马尔科夫链(Markov Chains,MC),但它只把握了相邻两个物品的特征关系(即一阶)。

在本文,作者提出他的模型-Dynamic REcurrent bAsket Model(DREAM)。DREAM不仅学习了用户的动态表示,还掌握了购物篮物品的全局顺序特性。用户的动态表示可以显示出用户在不同时间的爱好。全局顺序特性反应了用户的所有购物篮随时间的相互作用。

 

INTRODUCTION

通常这里有两种实现购物篮推荐系统的方法,一种是协同过滤(Collaborative Filtering,CF),它抓住用户的总体特性,但是没有考虑时序特征。矩阵分解(Matrix factorization)能分析用户的爱好特征。因此,一个更好的方式就是结合两者的特征。FPMC(Factorization Personalized Markov Chains)可以模拟时序行为以及用户的爱好特征。FPMC在多个矩阵上只使用了一个线性操作,不能描述多个矩阵见的相互作用。HRM(Hierarchical Representation Model)在一定程度上解决了这个问题。然而所有基于MC(包括FPMC和HRM)的模型都有一个共性的缺点,这些推荐系统只能在相邻的购物篮中建立局部时序特征,并且其中有些是不相关的。例如,在t1时刻某用户买了一台笔记本,t2时刻买了一些食物,t3时刻买了笔记本相关的一些配件。相邻的两个购物篮完全没有任何联系。所以我们需要建立一个全局时序模型,这样我们就能发现t1和t3时刻间的联系。

为了能够挖掘出全局时序特征并且反应用户动态表示,模型使用了DRNN。DREAM的输入是一系列用户购物篮物品的集合。池化和矩阵操作可以随着时间的推移为每个用户提供具有不同购物篮的动态表示。此外,RNN的循环结构可以为所有用户从总体历史事务数据中获取一些全局时序特征。

 

THE PROPOSED APPROACH

上面是DREAM的模型图,每个用户的每个购物篮都包含了一系列物品,因此用一个向量表示,通过一个池化操作聚合成新的向量,这里引用了两种池化操作-最大化池化和平均化池化。隐藏层h(u,ti),显示了用户u在ti的动态表示。recurrent architecture的权值矩阵R用来在邻近的h(u,ti-1)和h(u,ti)之间传递时序信息。X是传递矩阵

模型最后的输出是O(u,ti),N是物品矩阵

Objective Function

该模型引入了BPR(Bayesian Personalized Ranking),BPR是一个前沿的排名框架。目标函数引入了负样本,负样本可以是除购物篮中意外的其它任何物品。计算物品估计概率方法如下:

v'表示负样本, σ是非线性函数,本文中选取的是sigmoid函数,加入极大似然估计和正则化之后的公式如下:

更进一步,这个目标函数可以使用BPTT(Back Propagation Through Time)进行优化,BPTT迭代的计算不同参数J的值,并获取参数的梯度。然后使用随机梯度下降调参。

EXPERIMENTS

实验采用了Ta-Feng,和T-mall两个数据集,对比实验有TOP,MC,NMF。项目评价指标是F1-score,和NDCG。

实验结果如下:

下面是使用两种池化,模型的效果:

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值