1 / 23

作者 : 庄程 旭 清华大学电子工程系

基于邻域, LDA 和 FM 的 混合推荐系统 设计. 作者 : 庄程 旭 清华大学电子工程系. 百度电影推荐. ?. 评分. 训练数据: 1,262,741 测试数据: 314,679 电影总数: 8,369 用户总数: 143,670 标签总数: 1,129 平均关注数: 6.91 用户观看电影记录: 9,871,737. 关注. 标签. 魔幻片. 外语片. 问题描述. FM. 基础模型. kNN. RBM. LibFM. Factorization machines. Basic

ghada
Download Presentation

作者 : 庄程 旭 清华大学电子工程系

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于邻域,LDA和FM的 混合推荐系统设计 作者: 庄程旭 清华大学电子工程系

  2. 百度电影推荐 ? 评分 训练数据:1,262,741 测试数据: 314,679 电影总数: 8,369 用户总数: 143,670 标签总数: 1,129 平均关注数: 6.91 用户观看电影记录: 9,871,737 关注 标签 魔幻片 外语片 问题描述

  3. FM 基础模型 kNN RBM LibFM Factorization machines Basic Models 2. SVD++ Random Forest 文献综述 比赛之后 模型建立 实证研究

  4. Main Point Basic Features • Tag作为item feature • 根据用户喜爱程度调整参数 • 根据tag的所标注电影数进行分类 文献综述 比赛之后 模型建立 实证研究

  5. Basic Features 将Social信息直接作为user feature 只保留相似度高的好友 相似度计算: 2. 只保留入度高的好友 文献综述 比赛之后 模型建立 实证研究

  6. Advanced Features • 计算“品味相同”的人,取前30个直接作为user feature • 2. 计算“品味相同”的电影,取前 30个直接作为moviefeature • 基本思路:参考kNN的思想,参考相邻的人的打分来得出最后的打分 文献综述 比赛之后 模型建立 实证研究

  7. 初步实验 每一套模型均采用以下4种参数和程序运行方式: LibFM:采用MCMC学习,初始值选取参数0.1,特征维数20维,迭代100轮 SVD++_2:采用SGD学习,迭代200轮,特征维数50维,前100轮步长0.01,后100轮步长0.001,参数惩罚0.0001,用sigmoid化。 SVD++_3:采用SGD学习,迭代400轮,特征维数50维,前200轮步长0.01,后200轮步长0.001,参数惩罚0.0001,用sigmoid化。 SVD++_1:采用SGD学习,迭代200轮,特征维数50维,前100轮步长0.01,后100轮步长0.001,参数惩罚0.1。 文献综述 比赛之后 模型建立 实证研究

  8. 初步实验 文献综述 比赛之后 模型建立 实证研究

  9. 初步分析 • Tag和sns之间的对比 • Tag比起sns来说更加密集 • 这是个很不成熟的Sns系统: • 3. 一部电影至少1个tag,大部分电影有10个tag • 一部电影平均有12.93个tag • 一个人平均只有6.91个关注(并且大部分人关注一个从未有打分记录的官方账号) • 总共143,670个人,有98733个人只有3个或者以下被关注数目,有40715个人根本没有人关注 文献综述 比赛之后 模型建立 实证研究

  10. 根据数据分析 含义: 相似的人太相似; user的相似对里有54.2%的相似度超过0.5,甚至有30.1%的相似度超过0.7。 而movie的相似对里面只有9.1%的相似度超过了0.5。 而相似的电影能够很好的扩大数据量 通过相似的电影,能够看到更多的潜在的打分用户 2. movie数据的集中性 1. user数据的分散性 本质考虑: 在人和电影的二分图之间引入隐层来增强两两之间的联系,从而相当于扩大了训练数据量 文献综述 比赛之后 模型建立 实证研究

  11. 深入分析 现象: 人的打分记录的分散。 电影打分记录的集中。 “对称性破缺” 启发: movie的feature效果更好。 因为movie需要更多的自由度!来应对更多的user。 文献综述 比赛之后 模型建立 实证研究

  12. 深入分析 深入思考: 对于不同数据量的电影,给予不同的重视,用较多的feature的数量来满足其适应data的需求。对于较少的数据量的电影,用较少的feature来防止过拟合。 文献综述 比赛之后 模型建立 实证研究

  13. 修改之前的模型 • 用聚类来使user更集中: • 用LDA的方法来做user的聚类,之后添加最相似的30个类作为user feature。 • 直接选取观看电影数超过100的人作为相似分析的全集。 • 只选取打过分的人作为相似分析的全集(只有9873个人打过分) 2. 将相似电影和其他feature混合: movie + tag movie + snsall movie50 文献综述 比赛之后 模型建立 实证研究

  14. 新模型测试 文献综述 比赛之后 模型建立 实证研究

  15. 在比赛中实践 比赛中共设计了30套以上的模型: Tag+average,user_movie Sum+average,movie_user Sns+actor,movietagall Movie+topic,sns+tag+movie … 技巧:切分训练数据,重新训练模型后混合结果; 对于训练数据,做后抹零处理 … 用最优线性混合对于所有的模型进行混合 文献综述 比赛之后 模型建立 实证研究

  16. 深入思考 如何利用不成熟的sns信息? 长尾数据的利用一直是机器学习的难题。 如何良好的聚类user信息? 这个主要的思路在于找到很好的相似人。品味相似,而且能够扩充数据。 文献综述 比赛之后 模型建立 实证研究

  17. 深入思考 更好的寻找“相似”? 现在寻找相似的方法忽略了二阶相似之间的联系。 因此可以采用随机游走的方法,关在在于多游走几次。 问题在于时间效率。 文献综述 比赛之后 模型建立 实证研究

  18. 对于推荐系统实践的建议 相似人 相似电影 Tag和标签 文献综述 比赛之后 模型建立 实证研究

  19. 比赛之后对于训练集的重新拷问 为什么和第一名差这么多? 数据泄露。 文献综述 比赛之后 模型建立 实证研究

  20. 比赛之后对于训练集的重新拷问 对于user history的顺序问题: 乱序? 时间顺序!! 文献综述 比赛之后 模型建立 实证研究

  21. 比赛之后对于训练集的重新拷问 前k打分,后k打分:vali上的rmse为0.6173 Movie_tag:vali上打分0.6223 打乱顺序之后:vali上打分0.6332 文献综述 比赛之后 模型建立 实证研究

  22. 比赛之后对于训练集的重新拷问 前k打分,后k打分为什么效果这么好: 对于人的处理,从心情角度。而不是从内容角度。 实际上: 在真实的推荐系统上,肯定不能获得之后的评分。但是能够知道今天的评分。有一定的作用。 文献综述 比赛之后 模型建立 实证研究

  23. 谢 欢迎提问

More Related