描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111649380
内容简介
本书除了介绍推荐系统的一般框架、典型应用和评测方法之外,还主要介绍各种典型推荐算法的思想、原理、算法设计和应用场景,包括针对“千人千面”的个性化推荐和针对“千人万面”的情境化推荐。此外,本书还包含一些和推荐系统相关的专题内容,如针对排序问题的排序学习和针对信息融合的异质信息网络模型。
本书可作为计算机科学与技术、软件工程、数据科学与大数据技术、人工智能等专业的高年级本科生和研究生的相关课程教材,也可作为从事推荐系统、搜索引擎、数据挖掘等研发工作相关人员的参考书。
本书可作为计算机科学与技术、软件工程、数据科学与大数据技术、人工智能等专业的高年级本科生和研究生的相关课程教材,也可作为从事推荐系统、搜索引擎、数据挖掘等研发工作相关人员的参考书。
目 录
目录目录前言
第1章概述1
1.1推荐系统简介1
1.1.1信息超载1
1.1.2长尾效应2
1.1.3推荐系统的价值3
1.2推荐系统的发展历史3
1.3个性化推荐4
1.3.1用户画像4
1.3.2项目画像6
1.4应用场景6
1.4.1电商6
1.4.2新闻6
1.4.3音乐8
1.5推荐系统框架与形式化定义9
1.6推荐算法分类9
1.6.1基于算法思想的分类10
1.6.2基于应用问题的分类12
习题13
第2章基于邻域的协同过滤14
2.1协同过滤简介14
2.1.1基本思想14
2.1.2算法分类15
2.1.3一般流程15
2.2基于用户的协同过滤16
2.2.1TopN推荐17
2.2.2评分预测19
2.3基于项目的协同过滤22
2.3.1TopN推荐22
2.3.2评分预测24
2.4基于距离的相似度度量26
2.5Slope One算法27
2.6基于二部图的协同过滤28
2.6.1激活扩散模型29
2.6.2物质扩散模型30
2.6.3热传导模型33
习题35
第3章基于模型的协同过滤36
3.1基于关联规则的协同过滤36
3.1.1基本概念37
3.1.2关联规则度量37
3.1.3Apriori关联规则挖掘算法38
3.1.4关联规则的相关分析39
3.2基于矩阵分解的评分预测41
3.2.1奇异值分解41
3.2.2隐语义模型43
3.2.3概率矩阵分解47
3.2.4SVD++模型50
3.3基于矩阵分解的TopN推荐51
3.3.1基于正样本过采样的矩阵分解51
3.3.2基于负样本欠采样的矩阵分解52
习题53
第4章基于内容和知识的推荐54
4.1基于内容的推荐系统框架54
4.2基于词向量空间模型的文本表示56
4.2.1词袋模型56
4.2.2TFIDF模型57
4.2.3模型改进58
4.2.4余弦相似度58
4.3基于语义的内容相似度59
4.3.1基于本体的文本相似度59
4.3.2基于网络知识的文本相似度60
4.3.3基于语料库的文本相似度62
4.4基于知识的推荐63
4.4.1基于约束的推荐63
4.4.2基于效用的推荐65
4.4.3基于实例的推荐66
习题68
第5章混合推荐系统69
5.1混合推荐实例——Netflix百万美金公开赛69
5.2混合/组合推荐的动机71
5.2.1实践经验71
5.2.2理论依据72
5.3混合/组合方法分类73
5.3.1有监督组合和无监督组合73
5.3.2并行式混合、串行式混合和整体式混合74
5.4并行式混合推荐75
5.4.1加权式混合75
5.4.2切换式混合76
5.4.3排序混合77
5.5串行式混合推荐78
5.5.1级联过滤78
5.5.2级联学习79
5.6整体式混合推荐80
5.6.1特征组合80
5.6.2特征扩充80
5.6.3基于图模型的混合81
习题82
第6章推荐系统评测83
6.1评测视角83
6.2实验方法84
6.2.1在线实验84
6.2.2用户调查85
6.2.3离线实验85
6.3评分预测评价指标86
6.3.1MAE和MSE87
6.3.2RMSE、NMAE和NRMSE87
6.4TopN推荐评价指标87
6.4.1分类准确度指标88
6.4.2ROC曲线和AUC值90
6.4.3基于排序的评价指标91
6.4.4其他常用评价指标93
6.5公开实验数据集94
习题96
第7章基于排序学习的推荐97
7.1排序学习模型分类97
7.2对级排序学习模型99
7.2.1基本框架99
7.2.2贝叶斯个性化排序100
7.2.3协同对级排序学习102
7.3列表级排序学习模型106
7.3.1PPush CR算法107
7.3.2CofiRank算法108
习题110
第8章基于情境感知的推荐111
8.1情境信息的定义111
8.2情境信息的获取113
8.3基于情境感知的推荐系统框架113
8.3.1数据立方体114
8.3.2基于树的层次信息表达115
8.4融合情境信息的推荐模型116
8.4.1情境预过滤117
8.4.2情境后过滤118
8.5情境建模118
8.5.1基于邻域的方法119
8.5.2基于模型的方法120
习题121
第9章基于时空信息的推荐122
9.1基于时间信息的推荐122
9.1.1最近最热门推荐算法123
9.1.2基于时间的项目协同过滤123
9.1.3基于时间的用户协同过滤124
9.1.4基于会话的推荐125
9.2基于序列感知的推荐126
9.2.1基于马尔可夫模型的序列预测127
9.2.2基于循环神经网络的序列预测130
9.3基于空间信息的推荐132
9.3.1位置信息的获取与推理132
9.3.2基于位置信息的推荐133
9.3.3融合其他信息的推荐134
习题135
第10章基于社交关系的推荐136
10.1社交关系数据136
10.2基于邻域的社交化推荐138
10.2.1基于用户的协同过滤138
10.2.2基于图扩散的推荐139
10.3基于模型的社交化推荐141
10.3.1基于潜在社交因子学习的推荐141
10.3.2基于显式社交关系的推荐143
10.4基于社会曝光的协同过滤146
习题148
第11章基于异质信息网络的推荐149
11.1基本概念149
11.2基于邻域的HIN推荐算法150
11.2.1基于随机游走的相关度度量150
11.2.2基于元路径的相关度度量151
11.2.3基于元路径和随机游走混合的相关度度量154
11.3基于模型的HIN推荐算法155
11.3.1两阶段融合模型155
11.3.2端到端的学习模型160
习题163
参考文献164
第1章概述1
1.1推荐系统简介1
1.1.1信息超载1
1.1.2长尾效应2
1.1.3推荐系统的价值3
1.2推荐系统的发展历史3
1.3个性化推荐4
1.3.1用户画像4
1.3.2项目画像6
1.4应用场景6
1.4.1电商6
1.4.2新闻6
1.4.3音乐8
1.5推荐系统框架与形式化定义9
1.6推荐算法分类9
1.6.1基于算法思想的分类10
1.6.2基于应用问题的分类12
习题13
第2章基于邻域的协同过滤14
2.1协同过滤简介14
2.1.1基本思想14
2.1.2算法分类15
2.1.3一般流程15
2.2基于用户的协同过滤16
2.2.1TopN推荐17
2.2.2评分预测19
2.3基于项目的协同过滤22
2.3.1TopN推荐22
2.3.2评分预测24
2.4基于距离的相似度度量26
2.5Slope One算法27
2.6基于二部图的协同过滤28
2.6.1激活扩散模型29
2.6.2物质扩散模型30
2.6.3热传导模型33
习题35
第3章基于模型的协同过滤36
3.1基于关联规则的协同过滤36
3.1.1基本概念37
3.1.2关联规则度量37
3.1.3Apriori关联规则挖掘算法38
3.1.4关联规则的相关分析39
3.2基于矩阵分解的评分预测41
3.2.1奇异值分解41
3.2.2隐语义模型43
3.2.3概率矩阵分解47
3.2.4SVD++模型50
3.3基于矩阵分解的TopN推荐51
3.3.1基于正样本过采样的矩阵分解51
3.3.2基于负样本欠采样的矩阵分解52
习题53
第4章基于内容和知识的推荐54
4.1基于内容的推荐系统框架54
4.2基于词向量空间模型的文本表示56
4.2.1词袋模型56
4.2.2TFIDF模型57
4.2.3模型改进58
4.2.4余弦相似度58
4.3基于语义的内容相似度59
4.3.1基于本体的文本相似度59
4.3.2基于网络知识的文本相似度60
4.3.3基于语料库的文本相似度62
4.4基于知识的推荐63
4.4.1基于约束的推荐63
4.4.2基于效用的推荐65
4.4.3基于实例的推荐66
习题68
第5章混合推荐系统69
5.1混合推荐实例——Netflix百万美金公开赛69
5.2混合/组合推荐的动机71
5.2.1实践经验71
5.2.2理论依据72
5.3混合/组合方法分类73
5.3.1有监督组合和无监督组合73
5.3.2并行式混合、串行式混合和整体式混合74
5.4并行式混合推荐75
5.4.1加权式混合75
5.4.2切换式混合76
5.4.3排序混合77
5.5串行式混合推荐78
5.5.1级联过滤78
5.5.2级联学习79
5.6整体式混合推荐80
5.6.1特征组合80
5.6.2特征扩充80
5.6.3基于图模型的混合81
习题82
第6章推荐系统评测83
6.1评测视角83
6.2实验方法84
6.2.1在线实验84
6.2.2用户调查85
6.2.3离线实验85
6.3评分预测评价指标86
6.3.1MAE和MSE87
6.3.2RMSE、NMAE和NRMSE87
6.4TopN推荐评价指标87
6.4.1分类准确度指标88
6.4.2ROC曲线和AUC值90
6.4.3基于排序的评价指标91
6.4.4其他常用评价指标93
6.5公开实验数据集94
习题96
第7章基于排序学习的推荐97
7.1排序学习模型分类97
7.2对级排序学习模型99
7.2.1基本框架99
7.2.2贝叶斯个性化排序100
7.2.3协同对级排序学习102
7.3列表级排序学习模型106
7.3.1PPush CR算法107
7.3.2CofiRank算法108
习题110
第8章基于情境感知的推荐111
8.1情境信息的定义111
8.2情境信息的获取113
8.3基于情境感知的推荐系统框架113
8.3.1数据立方体114
8.3.2基于树的层次信息表达115
8.4融合情境信息的推荐模型116
8.4.1情境预过滤117
8.4.2情境后过滤118
8.5情境建模118
8.5.1基于邻域的方法119
8.5.2基于模型的方法120
习题121
第9章基于时空信息的推荐122
9.1基于时间信息的推荐122
9.1.1最近最热门推荐算法123
9.1.2基于时间的项目协同过滤123
9.1.3基于时间的用户协同过滤124
9.1.4基于会话的推荐125
9.2基于序列感知的推荐126
9.2.1基于马尔可夫模型的序列预测127
9.2.2基于循环神经网络的序列预测130
9.3基于空间信息的推荐132
9.3.1位置信息的获取与推理132
9.3.2基于位置信息的推荐133
9.3.3融合其他信息的推荐134
习题135
第10章基于社交关系的推荐136
10.1社交关系数据136
10.2基于邻域的社交化推荐138
10.2.1基于用户的协同过滤138
10.2.2基于图扩散的推荐139
10.3基于模型的社交化推荐141
10.3.1基于潜在社交因子学习的推荐141
10.3.2基于显式社交关系的推荐143
10.4基于社会曝光的协同过滤146
习题148
第11章基于异质信息网络的推荐149
11.1基本概念149
11.2基于邻域的HIN推荐算法150
11.2.1基于随机游走的相关度度量150
11.2.2基于元路径的相关度度量151
11.2.3基于元路径和随机游走混合的相关度度量154
11.3基于模型的HIN推荐算法155
11.3.1两阶段融合模型155
11.3.2端到端的学习模型160
习题163
参考文献164
前 言
信息技术的飞速发展和互联网的全面普及,加快了数据产生和信息传播的速度。这为人们的生活和工作提供了便捷,同时也带来了困扰——信息超载。为解决这一问题,搜索引擎和推荐系统两种信息过滤系统应运而生。不同于搜索引擎需要“用户主动寻找信息”且反馈结果“千人一面”,推荐系统的目标是“系统主动推送信息”且推荐结果“千人千面”。这样不仅能够把用户从费时费力的信息搜索过程中解放出来,而且还能够帮助用户发现其未知的新兴趣点。
一个好的推荐系统能够让多方受益。从用户的角度,推荐系统能够帮其解决信息超载的问题,进而提高用户的决策效率,同时也能提升用户的幸福感;从平台的角度,推荐系统能够帮助其提高用户的满意度和忠诚度,同时还能给平台带来丰厚的收益,进而帮助其发展壮大;从供应商的角度,推荐系统能够帮助其进行商品推销,特别是能够帮助那些生产和供应非主流商品的供应商得以生存并持续发展;从行业的角度,推荐系统能够帮助其避免头部商品或商家形成完全垄断,进而促进整个行业更加健康和多元化发展。因此,推荐系统已经成功应用于各行各业,并已成为互联网(特别是移动互联网)应用和服务的一种标配。
做好推荐的关键在于两点:个性化和情境化。个性化推荐的目标是实现“千人千面”,其假设不同的用户有不同的偏好和需求,因此应该为不同的用户推荐不同的商品或信息。本书的前半部分主要介绍各种个性化的推荐方法,包括协同过滤、基于内容的推荐、基于知识的推荐和混合推荐。
情境化推荐的目标则是实现“千人万面”,其假设同一用户在不同的情境下(如在不同的场合和不同的人在一起)会有不同的偏好和需求,即“一人多面”。考虑情境信息,一个好的推荐系统应该是在恰当的时间、恰当的地点、恰当的场合,通过恰当的媒介,给用户推荐能满足其偏好、需求和意图的信息。情境化推荐的关键在于对情境的感知和利用。本书后半部分主要介绍各种基于情境感知的推荐算法,既包括适用于不同情境信息的通用算法,如情境预过滤、情境后过滤和情境建模,也包括针对特定情境信息的算法,如基于时空信息的推荐和基于社交关系的推荐。
本书可作为计算机科学与技术、软件工程、数据科学与大数据技术、人工智能等专业的高年级本科生和研究生的相关课程教材,也可作为从事推荐系统、搜索引擎、数据挖掘等研发工作相关人员的参考书。
在本书的编写过程中,李韬治、杜航旗、周昭育、王缤、王澳博等几位研究生以及北京大学选修《推荐技术与应用》课程的部分同学帮助完成了部分资料的整理工作,在此对他们的辛勤劳动表示感谢。
由于学识水平有限,书中难免有一些不足之处,敬请广大读者批评指正。
一个好的推荐系统能够让多方受益。从用户的角度,推荐系统能够帮其解决信息超载的问题,进而提高用户的决策效率,同时也能提升用户的幸福感;从平台的角度,推荐系统能够帮助其提高用户的满意度和忠诚度,同时还能给平台带来丰厚的收益,进而帮助其发展壮大;从供应商的角度,推荐系统能够帮助其进行商品推销,特别是能够帮助那些生产和供应非主流商品的供应商得以生存并持续发展;从行业的角度,推荐系统能够帮助其避免头部商品或商家形成完全垄断,进而促进整个行业更加健康和多元化发展。因此,推荐系统已经成功应用于各行各业,并已成为互联网(特别是移动互联网)应用和服务的一种标配。
做好推荐的关键在于两点:个性化和情境化。个性化推荐的目标是实现“千人千面”,其假设不同的用户有不同的偏好和需求,因此应该为不同的用户推荐不同的商品或信息。本书的前半部分主要介绍各种个性化的推荐方法,包括协同过滤、基于内容的推荐、基于知识的推荐和混合推荐。
情境化推荐的目标则是实现“千人万面”,其假设同一用户在不同的情境下(如在不同的场合和不同的人在一起)会有不同的偏好和需求,即“一人多面”。考虑情境信息,一个好的推荐系统应该是在恰当的时间、恰当的地点、恰当的场合,通过恰当的媒介,给用户推荐能满足其偏好、需求和意图的信息。情境化推荐的关键在于对情境的感知和利用。本书后半部分主要介绍各种基于情境感知的推荐算法,既包括适用于不同情境信息的通用算法,如情境预过滤、情境后过滤和情境建模,也包括针对特定情境信息的算法,如基于时空信息的推荐和基于社交关系的推荐。
本书可作为计算机科学与技术、软件工程、数据科学与大数据技术、人工智能等专业的高年级本科生和研究生的相关课程教材,也可作为从事推荐系统、搜索引擎、数据挖掘等研发工作相关人员的参考书。
在本书的编写过程中,李韬治、杜航旗、周昭育、王缤、王澳博等几位研究生以及北京大学选修《推荐技术与应用》课程的部分同学帮助完成了部分资料的整理工作,在此对他们的辛勤劳动表示感谢。
由于学识水平有限,书中难免有一些不足之处,敬请广大读者批评指正。
刘宏志
评论
还没有评论。