DNN个性化推荐模型

时间:2024-10-04 22:04:08
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。
DNN个性化推荐模型
          (1) user维度的网络结构,分别将四个特征embedding,并输入全连接层;再将四个全连接输入到全连接层,并定义激活函数为tanh(代码为paddle开源工具)。
DNN个性化推荐模型

DNN个性化推荐模型

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

DNN个性化推荐模型

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