码迷,mamicode.com
首页 > 其他好文 > 详细

DNN个性化推荐模型

时间:2017-05-17 00:50:32      阅读:735      评论:0      收藏:0      [点我收藏+]

标签:title   工具   技术   截断   输入   youtube   过滤   开源   span   

 
0 推荐技术
     1)协同过滤:
               (1)基于user的协同过滤:根据历史日志中用户年龄,性别,行为,偏好等特征计算user之间的相似度,根据相似user对item的评分推荐item。缺点:新用户冷启动问题和数据稀疏不能找到置信的相似用户进行推荐。
               (2)基于item的协同过滤:根据item维度的特征计算item之间的相似度,推荐user偏好item相似的item。
               (3)基于社交网络:根据user社交网络亲密关系,推荐亲密的user偏好的item。
               (4)基于模型:LR模型,user和item等维度特征输入给模型训练,label是show:clk,根据预估的pctr进行推荐。DNN模型:见下面。
     2)基于内容的过滤:抽取item的有意义描述特征,推荐user偏好item相似度高的item,个人觉得像基于item的过滤。
     3)组合推荐:根据具体问题,组合其它几种技术进行推荐。
 
 
1 DNN推荐模型
     1)特征工程:
               用户维度:用户id,性别,年龄和职业。
               电影维度:电影id,类型和名称。
     2)模型设计:
          user和item维度特征embedding,各自的全连接网络结构,最顶层是两个维度网络结构的cosin距离代表相似度。所以为user推荐相似度高的item。
技术分享
          (1) user维度的网络结构,分别将四个特征embedding,并输入全连接层;再将四个全连接输入到全连接层,并定义激活函数为tanh(代码为paddle开源工具)。
技术分享

技术分享

 

          (2)item维度网络结构,同user维度一样,分别将三个特征embedding后输入全连接层,再相加输入全连接层(注意title用了cnn)。
技术分享
          (3)最顶层将user和item连接,cosin距离代表了user和item的相似度,并且损失函数为mse。
技术分享

技术分享

 
2 youtube推荐模型
     1)大规模推荐的系统由于数据量太大,不能直接进行全连接的排序,所以一般大致分为两个阶段:百万级到百级的触发过滤出一部分,再进行细致排序截断阶段。 
技术分享
     2)百万级到百级的触发过滤,模型采用MLP,训练时softmax做多分类,预测时计算与所有视频的相似度,取top K个视频。我认为label可以是show:clk,类似于LR进行模型推荐。
技术分享
     3)排序截断阶段:网络结构与触发阶段一样,只是最顶层是LR,做排序;特征工程方面可以更细致,比如视频ID,上次点击时间等等。
 
 
 
 
 
 
 

DNN个性化推荐模型

标签:title   工具   技术   截断   输入   youtube   过滤   开源   span   

原文地址:http://www.cnblogs.com/rongyux/p/6864233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!