首页 > 代码库 > DNN个性化推荐模型
DNN个性化推荐模型
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,上次点击时间等等。
参考:https://github.com/PaddlePaddle/book/tree/develop/05.recommender_system
DNN个性化推荐模型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。