基于lfm混合推荐算法.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于lfm混合推荐算法

作者: 庄程旭 清华大学电子工程系 基于邻域,LDA和FM的 混合推荐系统设计 百度电影推荐 问题描述 评分 标签 关注 魔幻片 外语片 ? 训练数据:1,262,741 测试数据: 314,679 电影总数: 8,369 用户总数: 143,670 标签总数: 1,129 平均关注数: 6.91 用户观看电影记录: 9,871,737 基础模型 模型建立 实证研究 比赛之后 文献综述 LibFM 2. SVD++ Basic Features 模型建立 实证研究 比赛之后 文献综述 模型建立 实证研究 比赛之后 文献综述 Basic Features 实证研究 比赛之后 文献综述 模型建立 Advanced Features 基本思路:参考kNN的思想,参考相邻的人的打分来得出最后的打分 模型建立 实证研究 比赛之后 文献综述 初步实验 每一套模型均采用以下4种参数和程序运行方式: LibFM:采用MCMC学习,初始值选取参数0.1,特征维数20维,迭代100轮 SVD++_2:采用SGD学习,迭代200轮,特征维数50维,前100轮步长0.01,后100轮步长0.001,参数惩罚0.0001,用sigmoid化。 SVD++_1:采用SGD学习,迭代200轮,特征维数50维,前100轮步长0.01,后100轮步长0.001,参数惩罚0.1。 SVD++_3:采用SGD学习,迭代400轮,特征维数50维,前200轮步长0.01,后200轮步长0.001,参数惩罚0.0001,用sigmoid化。 模型建立 实证研究 比赛之后 文献综述 初步实验 模型 LibFM SVD++_1 SVD++_2 SVD++_3 Tag 0.6198 0.6382 0.6242 0.6435 GoodTag 0.6186 0.6390 0.6262 0.6451 Tag+diff 0.6200 0.6348 0.6283 0.6592 Sns 0.6207 0.6388 0.6297 0.6426 Sns+thread 0.6208 0.6389 0.6325 0.6527 Sns50 0.6227 0.6375 0.6243 0.6510 Snsall 0.6234 0.6375 0.6259 0.6440 Movieall 0.6148 0.6304 0.6168 0.6365 模型建立 实证研究 比赛之后 文献综述 初步分析 Tag和sns之间的对比 Tag比起sns来说更加密集 这是个很不成熟的Sns系统: 3. 一部电影至少1个tag,大部分电影有10个tag 一部电影平均有12.93个tag 一个人平均只有6.91个关注(并且大部分人关注一个从未有打分记录的官方账号) 总共143,670个人,有98733个人只有3个或者以下被关注数目,有40715个人根本没有人关注 1. user数据的分散性 模型建立 实证研究 比赛之后 文献综述 根据数据分析 2. movie数据的集中性 含义: 相似的人太相似; user的相似对里有54.2%的相似度超过0.5,甚至有30.1%的相似度超过0.7。 而movie的相似对里面只有9.1%的相似度超过了0.5。 而相似的电影能够很好的扩大数据量 通过相似的电影,能够看到更多的潜在的打分用户 本质考虑: 在人和电影的二分图之间引入隐层来增强两两之间的联系,从而相当于扩大了训练数据量 模型建立 实证研究 比赛之后 文献综述 深入分析 现象: 人的打分记录的分散。 电影打分记录的集中。 “对称性破缺” 启发: movie的feature效果更好。 因为movie需要更多的自由度!来应对更多的user。 模型建立 实证研究 比赛之后 文献综述 深入分析 深入思考: 对于不同数据量的电影,给予不同的重视,用较多的feature的数量来满足其适应data的需求。对于较少的数据量的电影,用较少的feature来防止过拟合。 模型建立 实证研究 比赛之后 文献综述 修改之前的模型 用聚类来使user更集中: 用LDA的方法来做user的聚类,之后添加最相似的30个类作为user feature。 直接选取观看电影数超过100的人作为相似分析的全集。 只选取打过分的人作为相似分析的全集(只有9873个人打过分) 2. 将相似电影和其他feature混合: movie + tag movie + snsall movie50 模型建立 实证研究 比赛之后 文献综述 新模型测试 模型 LibFM SVD++_1 SVD++_2 SVD++_3 Movie+tag 0.6138 0.6309 0.6159 0.6390 Movie50 0.6148 0

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档