Embedding在推荐系统中的应用(DeepFM算法)

一、DeepFM算法

DeepFM = FM + DNN: 提取低阶(low order)特征 => 因子分解机FM 既可以做1阶特征建模,也可以做2阶特征建模 提取高阶(high order)特征 => 神经网络DNN end-to-end,共享特征输入 对于特征i,wi是1阶特征的权重, Vi表示该特征与其他特征的交互影响,输入到FM模型中可以获得特征的2阶特征表示,输入到DNN模型得到高阶特征。

二、推荐系统应用

在推荐系统中,可以通过Embedding向量进行快速召回 向量化召回,通过模型来学习用户和物品的兴趣向量,并通过内积来计算用户和物品之间的相似性,从而得到最终的候选集(经典的Youtube召回模型) 收集数据:神经网络需要大量的训练样本; 数据处理:根据具体问题将数据按照embedding的场景标准进行处理 训练weights:建立embedding模型训练weights; 使用weights:使用Embedding weight进行recommendation和visualizations 推荐:通过内积计算用户与物品之间的相似度 可视化,可以通过PCA进行可视化

三、 使用近似最近邻查找加速

对于在线服务,有严格的性能要求(几十毫秒)。通过保存用户兴趣embedding和视频兴趣embedding,通过最近邻搜索的方法得到top N的结果 代表算法是LSH,局部敏感Hash

如果将视频库中的每一个视频当作一个类别,那么在时刻t,对于用户U和上下文C,用户会观看视频i的概率为 u是用户的embedding(网络最后一个Relu激活函数的输出) vi是视频i的embedding 输入层的embedding分别是用户空间和Video空间的向量,最终的输出层,通过user embedding和全部video embedding矩阵进行点积(全联接层的线性变化),将两者转换到了同一空间,所以对于用户和视频来说,输出层的embedding是同一空间(可以理解是兴趣空间,二者的内积代表相似性)

 四、Faiss工具

Faiss工具 FAIR(Facebook AI Research)团队开发的AI相似性搜索工具,处理大规模d维向量近邻检索的问题 使用Faiss,Facebook 在十亿级数据集上创建的最邻近搜索(nearest neighbor search),速度提升了 8.5 倍 Faiss 只支持在 RAM 上搜索 Faiss 用 C++ 实现,支持 Python pip install faiss-cpu pip install faiss-gpu

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值