没有合适的资源?快使用搜索试试~ 我知道了~
首页推荐系统实践详解:理论与实战指南
推荐系统实践详解:理论与实战指南
需积分: 0 0 下载量 19 浏览量
更新于2024-07-01
收藏 13.3MB PDF 举报
《推荐系统实践》是一本由项亮编著,陈义和王益两位合作者虽未参与写作但提供了重要贡献的书籍。本书针对互联网行业的推荐系统进行了深入且全面的探讨,旨在填补现有理论分析和论述的空白。作者不仅详尽地讲解了推荐系统的基础理论,如个性化推荐、用户行为分析、覆盖率、满意度等评价标准,还介绍了诸如AB测试等评估方法。 书中特别关注实际应用,列举了亚马逊、Netflix、Pandora、Facebook、Google Reader以及个性化广告等领域中的具体案例,展示了推荐系统在电商、搜索、社交网络等场景中的实际效果。对于希望开发推荐系统的读者,本书提供了实用的设计和实现策略,以及计算机实现的算法,具有很高的实践指导价值。 作者注重理论与实践的结合,强调了用户行为分析在推荐系统中的关键作用。书中的内容既专业又通俗易懂,适合对推荐技术感兴趣的IT从业人员作为参考。吴军,腾讯副总裁,在其著作《数学之美》中给予了高度评价,认为这本书文笔流畅,是一本难得的优秀参考资料。 总体来说,《推荐系统实践》不仅涵盖了理论框架,还深入到行业实践,是推荐系统研究者、开发者和专业人士不可多得的一本工具书,对于提升读者在推荐系统领域的理解和能力具有显著帮助。读者可以通过该书了解到最新的推荐技术动态,掌握如何设计和优化自己的推荐系统,以适应日益竞争激烈的互联网市场。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86283475/bg10.jpg)
4 图表目录
图 7-4 亚马逊同时给用户推荐电子产品和图书
..............................................................................................
169
图 7-5 亚马逊的社会化推荐结果中包含了各种物品
......................................................................................
170
图 7-6 亚马逊给用户推荐最新加入的物品
......................................................................................................
170
图 7-7 豆瓣电台考虑用户来源的上下文(该页面地址链接中加入了 context 参数)
............................
170
图 7-8 推荐系统的架构图
..................................................................................................................................
171
图 7-9 推荐引擎的架构图
..................................................................................................................................
172
图 7-10 相关物品之间流行度之间的关系
........................................................................................................
176
表 1-1 使用了 Facebook Instant Personalization 工具的网站
.............................................................................
13
表 1-2 离线实验的优缺点
....................................................................................................................................
21
表 1-3 获取各种评测指标的途径
........................................................................................................................
33
表 2-1 显性反馈数据和隐性反馈数据的比较
....................................................................................................
37
表 2-2 各代表网站中显性反馈数据和隐性反馈数据的例子
............................................................................
38
表 2-3 用户行为的统一表示
................................................................................................................................
38
表 2-4 MovieLens 数据集中 UserCF 算法在不同 K 参数下的性能
...................................................................
48
表 2-5 两种基础算法在 MovieLens 数据集下的性能
........................................................................................
48
表 2-6 MovieLens 数据集中 UserCF 算法和 User-IIF 算法的对比
....................................................................
50
表 2-7 利用ItemCF 在 MovieLens 数据集上计算出的电影相似度
..................................................................
54
表 2-8 MovieLens 数据集中 ItemCF 算法离线实验的结果
...............................................................................
57
表 2-9 MovieLens 数据集中 ItemCF 算法和 ItemCF-IUF 算法的对比
..............................................................
58
表 2-10 MovieLens 数据集中 ItemCF 算法和 ItemCF-Norm 算法的对比
.........................................................
59
表 2-11 UserC
F 和 ItemCF 优缺点的对比
...........................................................................................................
61
表 2-12 惩罚流行度后 ItemCF 的推荐结果性能
................................................................................................
63
表 2-13 MovieLens 数据集中根据 LFM 计算出的不同隐类中权重最高的物品
..............................................
69
表 2-14 Netflix 数据集中 LFM 算法在不同 F 参数下的性能
............................................................................
70
表 2-15 MovieLens 数据集中 PersonalRank 算法的离线实验结果
...................................................................
76
表 3-1 年轻用户和老年用户经常看的图书的列表
............................................................................................
83
表 3-2 年轻用户比例最高的 5 本书和老年人比例最高的 5 本书
.....................................................................
83
表 3-3 4 种不同粒度算法的召回率、准确率和覆盖率
.....................................................................................
85
表 3-4 常见物品的内容信息
................................................................................................................................
89
表 3-5 MovieLens/GitHub 数据集中几种推荐算法性能的对比
........................................................................
91
表 4-1 Delicious 和 CiteULike 数据集的基本信息
...........................................................................................
103
表 4-2 Delicious 和 CiteULike 数据集中最热门的 20 个标签
..........................................................................
103
表 4-3 基于标签的简单推荐算法在 Delicious 数据集上的评测结果
.............................................................
107
表 4-4 Delicous 和 CiteULike 数据集上 TagBasedTFIDF 的性能
....................................................................
107
表 4-5 Delicous 和 CiteULike 数据集上 TagBasedTFIDF++的性能
................................................................
108
表 4-6 CiteULike 数据集中 recommender_system 的相关标签
........................................................................
108
表 4-7 Delicious 数据集中 google 的相关标签
.................................................................................................
109
表 4-8 考虑标签扩展后的推荐性能
..................................................................................................................
109
表 4-9 10 个用户最满意的主观类标签
.............................................................................................................
114
![](https://csdnimg.cn/release/download_crawler_static/86283475/bg11.jpg)
图表目录 5
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
17
表 4-10 10 个用户最满意的客观类标签
...........................................................................................................
114
表 4-11 3 种标签推荐算法在 N=10 时的准确率和召回率
...............................................................................
117
表 4-12 HybridPopularTags 算法在不同线性融合系数
下的准确率和召回率
..............................................
117
表 5-1 离线实验数据集的基本统计信息
..........................................................................................................
125
表 5-2 美国、英国、德国用户兴趣度最高的歌手
..........................................................................................
141
表 6-1 3 种不同好友推荐算法的召回率和准确率
...........................................................................................
163
表 6-2 不同好友推荐算法的问卷调查结果
......................................................................................................
164
表 7-1 电子商务网站中的典型行为
..................................................................................................................
167
表 7-2 离线相关表在 MySQL 中的存储格式
...................................................................................................
173
表 8-1 评分预测问题举例
..................................................................................................................................
179
表 8-2 MovieLens 数据集上不同平均值方法的 RMSE
...................................................................................
184
表 8-3 MovieLens 数据集中对平均值方法采用级联融合后的效果
................................................................
194
表 8-4 Netflix Prize 上著名算法的 RMSE
.........................................................................................................
195
![](https://csdnimg.cn/release/download_crawler_static/86283475/bg12.jpg)
1.1 什么是推荐系统 1
1
2
3
4
5
7
6
4
5
好的推荐系统
在研究如何设计推荐系统前,了解什么是好的推荐系统至关重要。只有了解了优秀推荐系统
的特征,我们才能在设计推荐系统时根据实际情况进行取舍。本章分3个步骤来回答这个问题:
首先,本章将介绍什么是推荐系统、推荐系统的主要任务、推荐系统和分类目录以及搜索引擎的
区别等;然后,本章将按照不同领域分门别类地介绍目前业界常见的个性化推荐应用;最后,本
章将介绍推荐系统的评测,通过介绍评测指标给出“好”的定义,从而最终解答“什么是好的推
荐系统”这个问题。
1.1 什么是推荐系统
如果想买一包花生米,你有多少种办法?假设附近有一个24小时便利店,你可以走进店里,
看看所有的货架,转一圈找到花生米,然后比较几个牌子的口碑或者价格找到自己喜欢的牌子,
掏钱付款。如果家附近有一家沃尔玛,你可以走进店里,按照分类指示牌走到食品所在的楼层,
接着按照指示牌找到卖干果的货架,然后在货架上仔细寻找你需要的花生米,找到后付款。如果
你很懒,不想出门,可以打开当当或者淘宝,在一个叫做搜索框的东西里输入花生米3个字,然
后你会看到一堆花生米,找到喜欢的牌子,付费,然后等待送货上门。上面这几个例子描述了用
户在有明确需求的情况下,面对信息过载所采用的措施。在24小时便利店,因为店面很小,用户
可以凭自己的经验浏览所有货架找到自己需要的东西。在沃尔玛,商品已经被放在无数的货架上,
此时用户就需要借用分类信息找到自己需要的商品。而在淘宝或者当当,由于商品数目巨大,用
户只能通过搜索引擎找到自己需要的商品。
但是,如果用户没有明确的需求呢?比如你今天很无聊,想下载一部电影看看。但当你打开
某个下载网站,面对100年来发行的数不胜数的电影,你会手足无措,不知道该看哪一部。此时,
你遇到了信息过载的问题,需要一个人或者工具来帮助你做筛选,给出一些建议供你选择。如果
这时候有个喜欢看电影的朋友在身边,你可能会请他推荐几部电影。不过,总不能时时刻刻都去
麻烦“专家”给你推荐,你需要的是一个自动化的工具,它可以分析你的历史兴趣,从庞大的电
影库中找到几部符合你兴趣的电影供你选择。这个工具就是个性化推荐系统。
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information
overload)的时代
①
。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:作为
——————————
① 参见 http://en.wikipedia.org/wiki/Information_overload。
第
1
章
![](https://csdnimg.cn/release/download_crawler_static/86283475/bg13.jpg)
2 第1 章 好的推荐系统
信息消费者,如何从大量信息中找到自己感兴趣的信息是一件非常困难的事情;作为信息生产者,
如何让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统就
是解决这一矛盾的重要工具。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己
有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息
生产者的双赢(如图1-1所示)。(本书后面将信息统称为“物品”,即可以供用户消费的东西。)
图1-1 推荐系统的基本任务是联系用户和物品,解决信息过载的问题
众所周知,为了解决信息过载的问题,已经有无数科学家和工程师提出了很多天才的解决方
案,其中代表性的解决方案是分类目录和搜索引擎。而这两种解决方案分别催生了互联网领域的
两家著名公司——雅虎和谷歌。著名的互联网公司雅虎凭借分类目录起家,而现在比较著名的分
类目录网站还有国外的DMOZ、国 内 的 Hao123等。这些目录将著名的网站分门别类,从而方便用
户根据类别查找网站。但是随着互联网规模的不断扩大,分类目录网站也只能覆盖少量的热门网
站,越来越不能满足用户的需求。因此,搜索引擎诞生了。以谷歌为代表的搜索引擎可以让用户
通过搜索关键词找到自己需要的信息。但是,搜索引擎需要用户主动提供准确的关键词来寻找信
息,因此不能解决用户的很多其他需求,比如当用户无法找到准确描述自己需求的关键词时,搜
索引擎就无能为力了。和搜索引擎一样,推荐系统也是一种帮助用户快速发现有用信息的工具。
和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用
户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。因此,从某种意义上说,
推荐系统和搜索引擎对于用户来说是两个互补的工具。搜索引擎满足了用户有明确目的时的主动
查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。
从物品的角度出发,推荐系统可以更好地发掘物品的长尾(long tail)。美国《连线》杂志主
编Chris Anderson在2004年发表了“The Long Tail”(长尾)一文并于2006年出版了《长尾理论》
一书。该书指出,传统的80/20原则(80%的销售额来自于20%的热门品牌)在互联网的加入下会
受到挑战。互联网条件下,由于货架成本极端低廉,电子商务网站往往能出售比传统零售店更多
的商品。虽然这些商品绝大多数都不热门,但与传统零售业相比,这些不热门的商品数量极其庞
大,因此这些长尾商品的总销售额将是一个不可小觑的数字,也许会超过热门商品(即主流商品)
带来的销售额。主流商品往往代表了绝大多数用户的需求,而长尾商品往往代表了一小部分用户
推荐系统
![](https://csdnimg.cn/release/download_crawler_static/86283475/bg14.jpg)
1.1 什么是推荐系统 3
1
2
3
4
5
7
6
4
5
的个性化需求。因此,如果要通过发掘长尾提高销售额,就必须充分研究用户的兴趣,而这正是
个性化推荐系统主要解决的问题。推荐系统通过发掘用户的行为,找到用户的个性化需求,从而
将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。
要了解推荐系统是如何工作的,可以先回顾一下现实社会中用户面对很多选择时做决定的过
程。仍然以看电影为例,一般来说,我们可能用如下方式决定最终看什么电影。
向朋友咨询。我们也许会打开聊天工具,找几个经常看电影的好朋友,问问他们有没有
什么电影可以推荐。甚至,我们可以打开微博,发表一句“我要看电影”,然后等待热心
人推荐电影。这种方式在推荐系统中称为社会化推荐(social recommendation),即让好
友给自己推荐物品。
我们一般都有喜欢的演员和导演,有些人可能会打开搜索引擎,输入自己喜欢的演员名,
然后看看返回结果中还有什么电影是自己没有看过的。比如我非常喜欢周星驰的电影,于
是就去豆瓣搜索周星驰,发现他早年的一部电影我还没看过,于是就会看一看。这种方式
是寻找和自己之前看过的电影在内容上相似的电影。推荐系统可以将上述过程自动化,通
过分析用户曾经看过的电影找到用户喜欢的演员和导演,然后给用户推荐这些演员或者导
演的其他电影。这种推荐方式在推荐系统中称为基于内容的推荐 (content-based filtering)。
我们还可能查看排行榜,比如著名的IMDB电影排行榜,看看别人都在看什么电影,别人
都喜欢什么电影,然后找一部广受好评的电影观看。这种方式可以进一步扩展:如果能
找到和自己历史兴趣相似的一群用户,看看他们最近在看什么电影,那么结果可能比宽
泛的热门排行榜更能符合自己的兴趣。这种方式称为基于协同过滤(collaborative filtering)
的推荐。
从上面3种方法可以看出,推荐算法的本质是通过一定的方式将用户和物品联系起来,而不
同的推荐系统利用了不同的方式。图1-2展示了联系用户和物品的常用方式,比如利用好友、用
户的历史兴趣记录以及用户的注册信息等。
图1-2 推荐系统常用的3种联系用户和物品的方式
好友
历史兴趣
注册信息
剩余214页未读,继续阅读
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/02f9d88c8fb746b58bed39845a9a5234_weixin_35805055.jpg!1)
小小二-yan
- 粉丝: 32
- 资源: 299
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)