基于会话推荐的递归神经网络

标准RNN的更新方式:

这里g()是指有界的有界函数例如sigmoid函数,xt是指在t时刻输入的量,给定当前状态ht,输出序列下一个元素的概率分布。
GRU激活,既是先前状态和候选状态的插值。

更新门:
在这里插入图片描述
候选状态计算:

重置门:

该模型的三个主要内容:
1.证明RNN可以用于会话推荐
2.针对稀疏序列建模
3.设计适配于该推荐任务的损失函数

1.推荐模型的初始化输入是用户进入该网站第一个点击的项目;

2.GRU的输入是session当前的输入item(event),输出是下一个item(event);

3.模型输出是item的预测偏好,例如每个item成为session的下一个item的可能性;

4.本文实验证明 weighted one-hot representation 优于embedding layer;weighted的含义是权重值随时序向前递减。

5.本文实验证明将input介入深层GRU有助于提高效果。

6.使用1-of-N encoding,这里假设这个vector的维数就等于世界上所有单词的数目,那么对每一个单词来说,只需要某一维为1,其余都是0即可;但这会导致任意两个vector都是不一样的,你无法建立起同类word之间的联系。这里1-of-N encoding表现较好

图示为网络总结构,这里一次处理事件流中的一个事件。

1.会话并行的小型批处理
该任务不像序列标注任务那样,可以对序列不等长的情况进行序列补长(PADDING),所以本文采取了以下方法:

为会话创建一个表单,前x个会话的第一个事件构成第一个小批量的输入(期望输出的是会话的第二个事件),第二小批量由第二个事件组成,依次类推。
当该batch内的session结束时,用batch以外session填补,当然模型的参数要重置。

2.对输出进行采样
由于item数量过大,本文选择对正样本和负样本分别采样计算score及更新weight;并且本文做了一个假设,missing item即dislike,所以本文的负样本为该batch中其他训练数据中的item。
missing item:用户不知道该项目存在,因此没有交互,不喜欢的可能性大。

3.RANKING LOSS
推荐系统的核心是项目的基于相关性的排名。本文使用Pairwise ranking,即比较正样本和负样本的得分或排名,并确保正样本的loss要低于负样本。
本文使用了两种基于Pairwise ranking的loss function:
在这里插入图片描述

参考:https://zhuanlan.zhihu.com/p/28776432

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值