推荐系统实践

1 好的推荐系统

1.1 基本任务:联系用户和物品

与分类目录、搜索引擎一样解决信息过载问题。

解决无明确目的的物品需求,并能发掘物品长尾。

1.2 推荐应用

应用于电子商务、视频网站、音乐电台、社交网络、个性化阅读、LBS、个性化邮件、定向广告投放。

前端页面、后台日志和推荐算法三功能。

1.3 系统评测

1)实验方法:离线实验、用户调查、在线实验。

2)评测指标:

用户满意度(问卷)。
预测准确度(评分预测RMSE和MAE、TopN推荐准确率和召回率)。
覆盖率(信息熵和基尼系数)。
多样性、新颖性、惊喜度、信任度、实时性、健壮性、商业目标。

3)评测维度:用户、物品、时间。

2 利用用户行为数据

2.1用户行为数据:正、负反馈

无上下文信息的隐性反馈数据

无上下文信息的显性反馈数据

有上下文信息的隐性反馈数据

有上下文信息的显性反馈数据

2.2 用户行为分析

1)用户活跃度和物品流行度的分布:长尾分布

2)用户活跃度和物品流行度的关系:协同过滤推荐算法

基于领域的方法:UserCF和ItemCF
隐语义模型LFM
基于图的随机游走算法

2.3 算法及评测

训练集和测试集、召回率、准确率、覆盖率、流行度

UserCF:用户相似度矩阵和用户对物品的兴趣度

ItemCF:物品相似度矩阵和用户对物品的兴趣度

LFM:P、Q矩阵SVD求解以及用户对物品的兴趣度

基于图的模型(graph-based model):度量顶点间相关性的算法,基于随机游走的PersonalRank算法

3 推荐系统冷启动问题

3.1 冷启动问题

1)用户冷启动:解决新用户个性化推荐

2)物品冷启动:解决新物品推荐给感兴趣用户

3)系统冷启动:解决新系统向用户推荐物品

4)非个性化推荐:热门排行榜

3.2 利用用户注册信息

1)人口统计学信息:年龄、性别、职业、住址等

2)用户兴趣描述

3)用户站外行为数据:豆瓣、微博等社交网站的行为数据和社交数据

3.3 选择合适的物品启动用户的兴趣

1)热门

2)代表性和区分性

3)多样性

3.4 利用物品的内容信息

向量空间模型Vector Space Model,文本-分词-实体检测-关键词排名-关键词向量

LDA话题模型

ECML/PKDD 2011年物品冷启动比赛

3.5 发挥专家的作用:专家样本标注

音乐基因项目,标注400多个特征

电影基因项目,mood\plot\genres\time\period\praise\style\look\flag

4 利用用户标签数据

4.1 UGC标签系统的代表应用

Delicious:网页打标签

CiteULike:协同过滤collaborative-filtering和评测evaluate

Last.fm:标签云tag cloud

豆瓣:评论和社交网站,用户打标签

Hulu:视频网站,热门标签

4.2 标签系统中的推荐问题:标注时推荐和标签行为推荐

标注行为:蕴涵用户兴趣信息

标签流行度也符合长尾分布

标签内容:物品种类、用户观点等

4.3 基于标签的推荐系统

标签行为:三元组(u,i,b)

SimpleTagBased算法

统计每个用户常用的标签
统计每个标签标记最多的物品
先推荐常用再推荐相关标签热门物品

TagBasedTFIDF算法

借鉴TFIDF思想

TagBasedTFIDF++算法

适当惩罚热门标签和热门物品

数据稀疏性:计算标签相似度

标签清理

4.4 基于图的推荐算法

用户、物品、标签顶点,权重边

4.5 基于标签的推荐解释

豆瓣:标签云

用户对物品的兴趣

用户对标签的兴趣tag preference
IterPopularTags算法
UserPopularTags算法
标签与物品的相关度tag relevance

用户推荐标签

ECML/PKDD2008推荐比赛的算法

张量分解tensor factorization
基于LDA的算法
基于图的算法

5 利用上下文信息

Sourcetone音乐推荐系统

5.1 时间上下文信息

用户兴趣会变化、物品有生命周期、季节效应

系统时间特性分析,三元组(u,i,t)

推荐系统的实时性

推荐算法的时间多样性

时间上下文推荐算法

1)最近最热门RecentPopularity:物品i最近流行度
2)时间上下文的ItemCF
3)时间上下文的UserCF
时间段图模型SGM:路径融合算法
USGM:物品时间节点权重为0
ISGM:用户时间节点权重为0

5.2 地点上下文信息:LBS

Hotpot服务

基于位置的推荐算法LARS:具有空间属性的物品

兴趣本地化
活动本地化

6 利用社交网络数据

6.1 获取社交网络数据的途径

电子邮件:邮箱地址

用户注册信息

用户的位置数据

论坛和讨论组

即时聊天工具

社交网站:社会图谱和兴趣图谱

6.2 社交网络数据简介

双向确认的社交网络数据:Facebook和人人网,用户关系要双方确认

单向关注的社交网络数据:Twitte和微博

基于社区的社交网络数据:论坛

社交网络用户的入度和出度分布满足长尾分布

6.3 基于社交网络的推荐:ACM2010年推荐系统大会

基于领域的社会化推荐算法:用户之间社会熟悉度和对物品兴趣相似度

基于图的社会化推荐算法

大数据级别下内存不足问题:Twitter架构解决方案

社会化推荐系统的评测:Rashmi Sinha和Kirsten Swearingen对比协同推荐的论文

信息流推荐

Facebook和Twitter:用户信息墙
EdgeRank算法:综合信息流会话的时间、长度和用户兴趣相似度

6.4 给用户推荐好友:链接预测,Jon Kleinberg的文章

基于内容的匹配

基于共同兴趣的好友推荐

基于社交网络图的好友推荐:Slashdot社交网络数据集

好友推荐算法对比

InterestBased:兴趣相似
SocailBased:社交网络
SONA:IBM内部推荐算法

6.5 扩展要点

6度原理:任意两个人都可以通过不超过6个人的路径相互认识,即社交网络图的直径为6

六度原理的证明,均匀随机图,参考Random Graph书

社交网络研究的两个著名问题

如何度量人的重要性,即社交网络顶点的中心度(centrality)
如何度量社交网络中人与人之间的关系,即链接预测

Epinion数据集

Ma Hao矩阵分解的社会化推荐算法解决评分预测问题
矩阵分解模型中加入正则化项
具有社交关系的用户的隐语义向量具有较高相似度

ACM2010年社会推荐比赛

社交网络作为上下文

7 推荐系统实例

7.1 外围架构

UI系统:网页展示并与用户交互

日志系统:记录用户的UI行为

数据收集和存储

7.2 基于特征的推荐系统架构

特征种类

人口统计学特征
用户行为特征
用户话题特征

推荐系统架构图

每个推荐引擎负责一类特征或一类任务,代表一种推荐策略

7.3 推荐引擎的架构

生成用户的特征向量

用户行为的种类
用户行为产生的时间
用户行为的次数
物品的热门程度

特征-物品相关推荐

过滤模块

用户已经产生过行为的物品
候选物品以外的物品
质量很差的物品

排名模块

新颖性排名
推荐用户不知道的、长尾中的物品
多样性
时间多样性
用户反馈

MyMedia开源推荐系统架构

项目网站:http://www.mymediaproject.org/default.aspx

8 评分预测问题:三元组(u,i,r)

评分预测算法,Netflix Prize大赛

平均值

全局平均值
用户评分平均值
物品评分平均值
用户分类对物品分类的平均值
用户和物品的平均分
用户活跃度和物品流行度

基于领域的方法:结合用户兴趣相似的用户对物品的评分

余弦相似度
皮尔逊系数
Sarwar修正余弦相似度

隐语义模型和矩阵分解模型

降维补全矩评分矩阵
传统SVD分解
Simon Funk的SVD分解
加入偏置项后的LFM
考虑领域影响的LFM

加入时间信息

基于领域的模型融合时间信息
基于矩阵分解的模型融合时间信息

模型融合

模型级联联合

模型加权联合

《推荐系统实践》要点思维导图相关推荐

  1. [原创]敏捷管理实践看板思维导图

    [原创]敏捷管理实践看板思维导图 转载于:https://www.cnblogs.com/mayingbao/p/4055934.html

  2. 制作思维导图的要点总结

    一份制作精美的 思维导图可以赢来很多赞美的声音,但是有很多刚工作的小白不清楚思维导图要怎样制作有什么注释事项,这时就要另辟蹊径了,那怎样才能制作出一份精美的思维导图呢,下面是总结的思维导图要点思维导图 ...

  3. [Java 并发] Java并发编程实践 思维导图 - 第一章 简单介绍

    阅读<Java并发编程实践>一书后整理的思维导图.

  4. 《美团机器学习实践》高清PDF+思维导图+美团算法团队

    在美团的搜索.推荐.计算广告.风控.图像处理等领域,相关的人工智能技术得到广泛的应用.<美团机器学习实践>包括通用流程.数据挖掘.搜索和推荐.计算广告.深度学习以及算法工程6大部分内容,全 ...

  5. 数据库查询·聚合分支格式化日期·思维导图要点误点(含示例)

    思维导图 1.知识要点 (1) YEAR,MONTH,DAY 函数 分别日期中的年,月,日 结果如下: (2)GETDATE 函数  获取系统当前时间 (3)DATENAME 获取时间名称 结果如下: ...

  6. 《思维导图与识字教学》理论在教学实践中的应用

    <思维导图与识字教学>理论在教学实践中的应用 纺织城小学富力分校 赵闫娇 周末去了一趟新华书店,首先就来到了素质教育的书柜前,在快速的搜寻中我的双眼"扫描"找到了我感兴 ...

  7. 未明学院:Numpy核心要点有哪些?3张思维导图帮你梳理

    Numpy是python语言中使用最频繁的基础库之一,主要是进行各种数据计算处理. 我们用思维导图的形式给大家梳理了numpy的核心要点,主要是基本操作.索引与切片.常用函数方法这3个方面. nump ...

  8. Scrum项目开发实践思维导图

    # Scrum项目开发实践思维导图 ## 一.产品规划 ### 1.1. 目标设定 - 产品愿景 - 目标设定 - 战略规划 - 产品路线图 ### 1.2. 用户调研 - 用户故事 - 用户旅程地图 ...

  9. 读书笔记 摘自:《思维导图攻略:快速上手与落地实践》

    思维导图攻略:快速上手与落地实践 王健文 出版:2019.01.01 7.3万字 内容提要 "无落地,不导图",思维导图的学习并不在于思维导图的绘制本身,而是在于实际应用和思维提升 ...

最新文章

  1. Vue之Todolist案例和ES6语法
  2. 可视化工具gephi源码探秘(二)---导入netbeans
  3. python爬虫框架实例项目_python爬虫框架scrapy实例详解
  4. 【自动驾驶】24.欧拉角、旋转向量、四元数、万向锁
  5. jQuery Todolist
  6. html浏览器引擎表示,html – Web浏览器引擎和特殊字符呈现
  7. idea jpa方法 自动提示_Spring Boot的自动配置、Commandline Runner
  8. 服务器机柜内手机信号,手机信号强度是什么
  9. 近期的技术问题让云供应商进行预设加密
  10. 关于CUDA中cutil的一些问题
  11. python手写计算器
  12. Java定时自动锁屏小程序_小程序 番茄时钟如何实现锁屏持续运行功能
  13. moudbus报文解析
  14. linux:tcgetattr 函数功能和使用场景
  15. NXOPEN/UG二次开发C#---获取NX的版本
  16. php相册排版,照片拼图在线制作 自带多种照片拼图模板,自由排版将多张照片合成一张...
  17. 红旗linux 操作系统,红旗Linux操作系统9.0官方下载-红旗Linux操作系统9.0正式版(基于c语言)免费版 - 维维软件园...
  18. matlab做kmo检验的代码,急求 KMO测度和Bartlett 的球形度检验的计算原公式
  19. 什么台灯护眼效果好?保护视力护眼灯推荐
  20. App截图录屏,iPhone用户可以开始瑟瑟发抖了

热门文章

  1. Python基础类型之元组
  2. Zabbix5.0监控系统安装详解
  3. 计算机网络:TCP滑动窗口的流量控制和拥塞控制
  4. python exe运行报 编码错误_python运行显示编码错误
  5. c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总
  6. 自动化监控--zabbix中的template(模板)详解
  7. Apache 2配置域名绑定的步骤
  8. 排序命令: sort, wc, uniq
  9. S.O.L.I.D.类设计原则
  10. [其实有加强版的]校门外的树