Chinaunix首页 | 论坛 | 博客
  • 博客访问: 494072
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 716
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-03 21:48
文章分类

全部博文(138)

文章存档

2019年(1)

2017年(5)

2016年(99)

2015年(33)

我的朋友

分类: 大数据

2019-12-31 01:29:34



找时间学习了一下论文:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba
该论文根据用户的行为在 item与item之间建立图。再根据Graph,使用random walk 算法生成sequence。
总共分为三个步骤:
1. 根据用户的行为在 item与item之间建立图,(需要提出一些over active user)
2. 使用random walk 算法生成sequence。
3. 利用word2vec学习每个item(node)的embedding(Baseline 版本)。

冷启动问题(cold start issue)
baseline的版本不能够解决cold start的问题。
为了解决cold start 问题,基于这个baseline版本,论文把其他的feature也放入到神经网络当中。

解决方案1:
SI 0 to n 都采用one-hot编码,然后每个SI(side information)都训练出一个embedding系列。
最后将所有的embedding做average sum。Hv为混合后的向量,再放入到神经网络中做训练。利用反向反馈训练参数。

解决方案2:
在解决方案1的基础上,每个feature的embedding计算出一个weight,但是本文中采用的矩阵A的size是(|V|*n)的,也就是每一个node都会有n个weight。计算量比较大,本文说用了100个GPU计算出来的。大厂真是有钱。这样weight sum 层之后,最后这个item的embedding变成了下面这个形式。
解决方案3:
应该将title的信息作为feature,放入embedding当中,个人觉得,这个做法可以参考CENE 那篇论文。
negative Sample training
negative sampling 采用word2vec的sample 方法。可以找batch里面与本node无关的点作为negative 数据。
φ是节点与embedding的映射函数。


实验部分的参数:1. skipgram 的context window=5,dimension=160,number of walks per node=20, length of random walk=10

应用:
这个淘宝的推荐系统是在ranking 之前挑选出candidates,并在Ranking系统中做排序,这个部分比较耗时,可以采用LSH来建索引,方便查找。

文章最后使用CTR来评估结果,CF对应base,CF是协同过滤算法。BGE是本文实现的第一个版本(baseline版本)。


阅读(7086) | 评论(0) | 转发(0) |
0

上一篇:《SED 单行脚本快速参考》的 perl 实现

下一篇:没有了

给主人留下些什么吧!~~