描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111600329
内容简介
本书介绍当前推荐系统领域中的经典方法。不仅详细讨论了各类方法,还对同类技术进行了归纳总结,这有助于读者对当前推荐系统研究领域有全面的了解。书中提供了大量的例子和习题来帮助读者深入理解和掌握相关技术。此外,本书还介绍了当前新的研究方向,为读者进行推荐系统技术的研究提供参考。本书既可以作为计算机相关专业本科生和研究生的教材,也适合开发人员和研究人员阅读。
目 录
目录
Recommender Systems: The Textbook
出版者的话
译者序
前言
致谢
作者简介
第1章推荐系统概述
1.1引言
1.2推荐系统的目标
1.2.1推荐系统应用范围
1.3推荐系统的基本模型
1.3.1协同过滤模型
1.3.2基于内容的推荐系统
1.3.3基于知识的推荐系统
1.3.4人口统计推荐系统
1.3.5混合集成的推荐系统
1.3.6对推荐系统的评价
1.4推荐系统领域特有的挑战
1.4.1基于上下文的推荐系统
1.4.2时间敏感的推荐系统
1.4.3基于位置的推荐系统
1.4.4社交信息系统
1.5高级论题和应用
1.5.1推荐系统中的冷启动问题
1.5.2抗攻击推荐系统
1.5.3组推荐系统
1.5.4多标准推荐系统
1.5.5推荐系统中的主动学习
1.5.6推荐系统中的隐私问题
1.5.7应用领域
1.6小结
1.7相关工作
1.8习题
第2章基于近邻的协同过滤
2.1引言
2.2评分矩阵的关键性质
2.3通过基于近邻的方法预测评分
2.3.1基于用户的近邻模型
2.3.2基于物品的近邻模型
2.3.3高效的实现和计算复杂度
2.3.4基于用户的方法和基于物品的方法的比较
2.3.5基于近邻方法的优劣势
2.3.6基于用户的方法和基于物品的方法的联合
2.4聚类和基于近邻的方法
2.5降维与近邻方法
2.5.1处理偏差
2.6近邻方法的回归模型视角
2.6.1基于用户的近邻回归
2.6.2基于物品的近邻回归
2.6.3基于用户的方法和基于物品的方法的结合
2.6.4具有相似度权重的联合插值
2.6.5稀疏线性模型
2.7基于近邻方法的图模型
2.7.1用户物品图
2.7.2用户用户图
2.7.3物品物品图
2.8小结
2.9相关工作
2.10习题
第3章基于模型的协同过滤
3.1引言
3.2决策和回归树
3.2.1将决策树扩展到协同过滤
3.3基于规则的协同过滤
3.3.1将关联规则用于协同过滤
3.3.2面向物品的模型与面向用户的模型
3.4朴素贝叶斯协同过滤
3.4.1处理过拟合
3.4.2示例:使用贝叶斯方法处理二元评分
3.5将任意分类模型当作黑盒来处理
3.5.1示例:使用神经网络作为黑盒分类器
3.6潜在因子模型
3.6.1潜在因子模型的几何解释
3.6.2潜在因子模型的低秩解释
3.6.3基本矩阵分解原理
3.6.4无约束矩阵分解
3.6.5奇异值分解
3.6.6非负矩阵分解
3.6.7理解矩阵因子分解方法族
3.7集成因子分解和近邻模型
3.7.1基准估计:非个性化偏倚中心模型
3.7.2模型的近邻部分
3.7.3模型的潜在因子部分
3.7.4集成近邻和潜在因子部分
3.7.5求解优化模型
3.7.6关于精度的一些观察
3.7.7将潜在因子模型集成到任意模型
3.8小结
3.9相关工作
3.10习题
第4章基于内容的推荐系统
4.1引言
4.2基于内容的系统的基本组件
4.3预处理和特征提取
4.3.1特征提取
4.3.2特征表示和清洗
4.3.3收集用户的偏好
4.3.4监督特征选择和加权
4.4学习用户画像和过滤
4.4.1近邻分类
4.4.2与基于案例的推荐系统的关联性
4.4.3贝叶斯分类器
4.4.4基于规则的分类器
4.4.5基于回归的模型
4.4.6其他学习模型和比较概述
4.4.7基于内容的系统的解释
4.5基于内容的推荐与协同推荐
4.6将基于内容的模型用于协同过滤
4.6.1利用用户画像
4.7小结
4.8相关工作
4.9习题
第5章基于知识的推荐系统
5.1引言
5.2基于约束的推荐系统
5.2.1返回相关结果
5.2.2交互方法
5.2.3排序匹配的物品
5.2.4处理不可接受的结果或空集
5.2.5添加约束
5.3基于案例的推荐系统
5.3.1相似性度量
5.3.2批评方法
5.3.3批评的解释
5.4基于知识的系统的持久个性化
5.5小结
5.6相关工作
5.7习题
第6章基于集成的混合推荐系统
6.1引言
6.2从分类角度看集成方法
6.3加权型混合系统
6.3.1几种模型组合的方法
6.3.2对分类中的bagging算法的调整
6.3.3随机性注入算法
6.4切换型混合系统
6.4.1为解决冷启动问题的切换机制
6.4.2桶模型
6.5级联型混合系统
6.5.1推荐结果的逐步优化
6.5.2boosting算法
6.6特征放大型混合系统
6.7元级型混合系统
6.8特征组合型混合系统
6.8.1回归分析和矩阵分解
6.8.2元级特征
6.9交叉型混合系统
6.10小结
6.11相关工作
6.12习题
第7章推荐系统评估
7.1引言
7.2评估范例
7.2.1用户调查
7.2.2在线评估
7.2.3使用历史数据集进行离线评估
7.3评估设计的总体目标
7.3.1精确性
7.3.2覆盖率
7.3.3置信度和信任度
7.3.4新颖度
7.3.5惊喜度
7.3.6多样性
7.3.7健壮性和稳定性
7.3.8可扩展性
7.4离线推荐评估的设计要点
7.4.1Netflix Prize数据集的案例研究
7.4.2为训练和测试分解评分
7.4.3与分类设计的比较
7.5离线评估的精确性指标
7.5.1度量预测评分的精确性
7.5.2通过相关性评估排名
7.5.3通过效用评估排名
7.5.4通过ROC曲线评估排名
7.5.5哪种排名方式好
7.6评估指标的局限性
7.6.1避免评估游戏
7.7小结
7.8相关工作
7.9习题
第8章上下文敏感的推荐系统
8.1引言
8.2多维方法
8.2.1层级的重要性
8.3上下文预过滤:一种基于降维的方法
8.3.1基于集成的改进
8.3.2多级别的估计
8.4后过滤方法
8.5上下文建模
8.5.1基于近邻的方法
8.5.2潜在因子模型
8.5.3基于内容的模型
8.6小结
8.7相关工作
8.8习题
第9章时间与位
Recommender Systems: The Textbook
出版者的话
译者序
前言
致谢
作者简介
第1章推荐系统概述
1.1引言
1.2推荐系统的目标
1.2.1推荐系统应用范围
1.3推荐系统的基本模型
1.3.1协同过滤模型
1.3.2基于内容的推荐系统
1.3.3基于知识的推荐系统
1.3.4人口统计推荐系统
1.3.5混合集成的推荐系统
1.3.6对推荐系统的评价
1.4推荐系统领域特有的挑战
1.4.1基于上下文的推荐系统
1.4.2时间敏感的推荐系统
1.4.3基于位置的推荐系统
1.4.4社交信息系统
1.5高级论题和应用
1.5.1推荐系统中的冷启动问题
1.5.2抗攻击推荐系统
1.5.3组推荐系统
1.5.4多标准推荐系统
1.5.5推荐系统中的主动学习
1.5.6推荐系统中的隐私问题
1.5.7应用领域
1.6小结
1.7相关工作
1.8习题
第2章基于近邻的协同过滤
2.1引言
2.2评分矩阵的关键性质
2.3通过基于近邻的方法预测评分
2.3.1基于用户的近邻模型
2.3.2基于物品的近邻模型
2.3.3高效的实现和计算复杂度
2.3.4基于用户的方法和基于物品的方法的比较
2.3.5基于近邻方法的优劣势
2.3.6基于用户的方法和基于物品的方法的联合
2.4聚类和基于近邻的方法
2.5降维与近邻方法
2.5.1处理偏差
2.6近邻方法的回归模型视角
2.6.1基于用户的近邻回归
2.6.2基于物品的近邻回归
2.6.3基于用户的方法和基于物品的方法的结合
2.6.4具有相似度权重的联合插值
2.6.5稀疏线性模型
2.7基于近邻方法的图模型
2.7.1用户物品图
2.7.2用户用户图
2.7.3物品物品图
2.8小结
2.9相关工作
2.10习题
第3章基于模型的协同过滤
3.1引言
3.2决策和回归树
3.2.1将决策树扩展到协同过滤
3.3基于规则的协同过滤
3.3.1将关联规则用于协同过滤
3.3.2面向物品的模型与面向用户的模型
3.4朴素贝叶斯协同过滤
3.4.1处理过拟合
3.4.2示例:使用贝叶斯方法处理二元评分
3.5将任意分类模型当作黑盒来处理
3.5.1示例:使用神经网络作为黑盒分类器
3.6潜在因子模型
3.6.1潜在因子模型的几何解释
3.6.2潜在因子模型的低秩解释
3.6.3基本矩阵分解原理
3.6.4无约束矩阵分解
3.6.5奇异值分解
3.6.6非负矩阵分解
3.6.7理解矩阵因子分解方法族
3.7集成因子分解和近邻模型
3.7.1基准估计:非个性化偏倚中心模型
3.7.2模型的近邻部分
3.7.3模型的潜在因子部分
3.7.4集成近邻和潜在因子部分
3.7.5求解优化模型
3.7.6关于精度的一些观察
3.7.7将潜在因子模型集成到任意模型
3.8小结
3.9相关工作
3.10习题
第4章基于内容的推荐系统
4.1引言
4.2基于内容的系统的基本组件
4.3预处理和特征提取
4.3.1特征提取
4.3.2特征表示和清洗
4.3.3收集用户的偏好
4.3.4监督特征选择和加权
4.4学习用户画像和过滤
4.4.1近邻分类
4.4.2与基于案例的推荐系统的关联性
4.4.3贝叶斯分类器
4.4.4基于规则的分类器
4.4.5基于回归的模型
4.4.6其他学习模型和比较概述
4.4.7基于内容的系统的解释
4.5基于内容的推荐与协同推荐
4.6将基于内容的模型用于协同过滤
4.6.1利用用户画像
4.7小结
4.8相关工作
4.9习题
第5章基于知识的推荐系统
5.1引言
5.2基于约束的推荐系统
5.2.1返回相关结果
5.2.2交互方法
5.2.3排序匹配的物品
5.2.4处理不可接受的结果或空集
5.2.5添加约束
5.3基于案例的推荐系统
5.3.1相似性度量
5.3.2批评方法
5.3.3批评的解释
5.4基于知识的系统的持久个性化
5.5小结
5.6相关工作
5.7习题
第6章基于集成的混合推荐系统
6.1引言
6.2从分类角度看集成方法
6.3加权型混合系统
6.3.1几种模型组合的方法
6.3.2对分类中的bagging算法的调整
6.3.3随机性注入算法
6.4切换型混合系统
6.4.1为解决冷启动问题的切换机制
6.4.2桶模型
6.5级联型混合系统
6.5.1推荐结果的逐步优化
6.5.2boosting算法
6.6特征放大型混合系统
6.7元级型混合系统
6.8特征组合型混合系统
6.8.1回归分析和矩阵分解
6.8.2元级特征
6.9交叉型混合系统
6.10小结
6.11相关工作
6.12习题
第7章推荐系统评估
7.1引言
7.2评估范例
7.2.1用户调查
7.2.2在线评估
7.2.3使用历史数据集进行离线评估
7.3评估设计的总体目标
7.3.1精确性
7.3.2覆盖率
7.3.3置信度和信任度
7.3.4新颖度
7.3.5惊喜度
7.3.6多样性
7.3.7健壮性和稳定性
7.3.8可扩展性
7.4离线推荐评估的设计要点
7.4.1Netflix Prize数据集的案例研究
7.4.2为训练和测试分解评分
7.4.3与分类设计的比较
7.5离线评估的精确性指标
7.5.1度量预测评分的精确性
7.5.2通过相关性评估排名
7.5.3通过效用评估排名
7.5.4通过ROC曲线评估排名
7.5.5哪种排名方式好
7.6评估指标的局限性
7.6.1避免评估游戏
7.7小结
7.8相关工作
7.9习题
第8章上下文敏感的推荐系统
8.1引言
8.2多维方法
8.2.1层级的重要性
8.3上下文预过滤:一种基于降维的方法
8.3.1基于集成的改进
8.3.2多级别的估计
8.4后过滤方法
8.5上下文建模
8.5.1基于近邻的方法
8.5.2潜在因子模型
8.5.3基于内容的模型
8.6小结
8.7相关工作
8.8习题
第9章时间与位
前 言
前言Recommender Systems: The Textbook大自然呈现在我们面前的只是一头狮子的尾巴。但不要怀疑狮子的存在,尽管它因为身型巨大不能马上现出全身。
——Albert Einstein随着Web成为商务和电子交易的重要媒介,推荐系统在20世纪90年代变得越来越重要。人们很早就认识到Web为个性化服务提供了空前的机会,这是其他渠道是不可能做到的。特别是Web为数据收集提供了便利,并且提供了一种非侵入式地推荐物品的用户界面。
自此以后,在公众眼中,推荐系统已经得到了显著的发展。这一事实的证据是,有许多会议和研讨会专门探讨该领域。会议ACM Conference on Recommender Systems特别值得一提,因为它为该领域定期贡献了许多前沿工作。推荐系统领域非常多样化,因为它能够使用各种类型的用户偏好数据和用户需求数据来做推荐。推荐系统中著名的方法包括协同过滤方法、基于内容的方法和基于知识的方法。这三种方法构成了推荐系统研究领域的基本支柱。近年来,已经设计了一些专门的方法来针对不同的数据领域和上下文,例如时间、位置和社会信息。针对专门的场景提出了大量高级的方法,这些方法可以调整用于不同的应用领域,例如查询日志挖掘、新闻推荐和计算广告。本书的结构安排体现了这些重要的话题。本书的章节可以分为三类:
1)算法和评估:这些章节讨论了推荐系统中的基本算法,包括协同过滤方法(第2和4章)、基于内容的方法(第4章)和基于知识的方法(第5章)。这些方法的混合在第6章中讨论。第7章讨论了推荐系统评估。
2)特定领域和上下文的推荐:推荐系统的上下文在提供有效推荐方面扮演了至关重要的角色。例如,一个用户想要用其位置作为附加的上下文(context)来查找饭店。推荐的上下文可以被看作是影响推荐目标的重要辅助信息。不同类型的域,例如时间数据、空间数据和社会数据,提供了不同类型的上下文。相关的方法在第8~11章中讨论。第11章也讨论了利用社会信息来增加推荐过程可信度的话题。近的话题(如分解机和可信推荐系统)在这些章节中也有涉及。
3)高级话题和应用:在第12章中,我们将从各个角度讨论推荐系统的健壮性,例如欺诈(shilling)系统、攻击模式及其防御。此外,近期的一些话题,例如排名学习、多臂赌博机、组推荐系统、多标准推荐系统和主动学习系统,将在第13章中讨论。该章的一个重要目标是向读者介绍当前研究的基本思想和原则。虽然不可能在一本书里对当前所有的研究技术细节进行讨论,但我们希望后一章能够在高级话题方面为读者“破冰”。在这一章中,我们也研究了推荐技术的一些应用环境,例如新闻推荐、查询推荐和计算广告。本章还讨论了如何将前面章节中介绍的方法应用于各个不同的领域。
尽管本书是作为教科书来编写的,但仍有很多来自于工业界和学术界的读者。因此,我们也从应用角度和文献角度来撰写此书。书中提供了大量的示例和习题,使得它可以被用作教科书。由于大部分推荐系统课程只涵盖基础话题,因此有关基础话题的章节和算法着重于课堂教学。另一方面,工业界人员也许发现讨论上下文敏感的推荐系统的章节很有用,因为在许多真实的应用中会有大量可用的上下文辅助信息。第13章的应用部分是特别为工业界人员编写的,不过教师也许会发现它在推荐课程中也是有用的。
后,我们对所使用的符号进行简要的介绍。本书中一直使用一个m×n的评分矩阵,记为R,其中m是用户的数量,n是物品的数量。矩阵R是不完整的,因为只有一部分项是已观测的。R的第(i,j)项表示用户i对物品j的评分,当它是已观测项时,被记为rij。当项(i,j)是由推荐算法预测得到(而不是用户指定)时,被记为带“帽子”符号(即抑扬符号)的r∧ij,表示它是一个预测的值。向量用“上划线”来表示,例如X或y。
致谢Recommender Systems: The Textbook感谢在撰书期间妻子和女儿给予我的爱和支持,感谢父母给我持续的爱。
本书得到了很多人直接和间接的帮助,我很感激他们。在撰写本书时,我收到了许多同事的反馈,他们是Xavier Amatriain、Kanishka Bhaduri、Robin Burke、Martin Ester、Bart Goethals、Huan Liu、Xia Ning、Saket Sathe、Jiliang Tang、Alexander Tuzhilin、Koen Versetrepen和Jieping Ye。感谢他们所提供的建设性反馈。这些年来,我从大量合作者那里受益良多。这些见解直接或间接地影响了本书。首先感谢多年来与我合作的Philip S. Yu。其他重要的合作者还包括Tarek F. Abdelzaher、Jing Gao、Quanquan Gu、Manish Gupta、Jiawei Han、Alexander Hinneburg、Thomas Huang、Nan Li、Huan Liu、Ruoming Jin、Daniel Keim、Arijit Khan、Latifur Khan、Mohammad M. Masud、Jian Pei、Magda Procopiuc、Guojun Qi、Chandan Reddy、Saket Sathe、Jaideep Srivastava、Karthik Subbian、Yizhou Sun、Jiliang Tang、MinHsuan Tsai、Haixun Wang、Jianyong Wang、Min Wang、Joel Wolf、Xifeng Yan、Mohammed Zaki、ChengXiang Zhai和Peixiang Zhao。我也要感谢导师James B. Orlin在早期对我的指导。
还要感谢我的经理Nagui Halim在我撰写此书时所提供的巨大支持。他的专业支持对我过去和现在的许多书都起着重要的作用。
后,感谢Lata Aggarwal用微软PowerPoint软件帮我绘制了一些图片。
——Albert Einstein随着Web成为商务和电子交易的重要媒介,推荐系统在20世纪90年代变得越来越重要。人们很早就认识到Web为个性化服务提供了空前的机会,这是其他渠道是不可能做到的。特别是Web为数据收集提供了便利,并且提供了一种非侵入式地推荐物品的用户界面。
自此以后,在公众眼中,推荐系统已经得到了显著的发展。这一事实的证据是,有许多会议和研讨会专门探讨该领域。会议ACM Conference on Recommender Systems特别值得一提,因为它为该领域定期贡献了许多前沿工作。推荐系统领域非常多样化,因为它能够使用各种类型的用户偏好数据和用户需求数据来做推荐。推荐系统中著名的方法包括协同过滤方法、基于内容的方法和基于知识的方法。这三种方法构成了推荐系统研究领域的基本支柱。近年来,已经设计了一些专门的方法来针对不同的数据领域和上下文,例如时间、位置和社会信息。针对专门的场景提出了大量高级的方法,这些方法可以调整用于不同的应用领域,例如查询日志挖掘、新闻推荐和计算广告。本书的结构安排体现了这些重要的话题。本书的章节可以分为三类:
1)算法和评估:这些章节讨论了推荐系统中的基本算法,包括协同过滤方法(第2和4章)、基于内容的方法(第4章)和基于知识的方法(第5章)。这些方法的混合在第6章中讨论。第7章讨论了推荐系统评估。
2)特定领域和上下文的推荐:推荐系统的上下文在提供有效推荐方面扮演了至关重要的角色。例如,一个用户想要用其位置作为附加的上下文(context)来查找饭店。推荐的上下文可以被看作是影响推荐目标的重要辅助信息。不同类型的域,例如时间数据、空间数据和社会数据,提供了不同类型的上下文。相关的方法在第8~11章中讨论。第11章也讨论了利用社会信息来增加推荐过程可信度的话题。近的话题(如分解机和可信推荐系统)在这些章节中也有涉及。
3)高级话题和应用:在第12章中,我们将从各个角度讨论推荐系统的健壮性,例如欺诈(shilling)系统、攻击模式及其防御。此外,近期的一些话题,例如排名学习、多臂赌博机、组推荐系统、多标准推荐系统和主动学习系统,将在第13章中讨论。该章的一个重要目标是向读者介绍当前研究的基本思想和原则。虽然不可能在一本书里对当前所有的研究技术细节进行讨论,但我们希望后一章能够在高级话题方面为读者“破冰”。在这一章中,我们也研究了推荐技术的一些应用环境,例如新闻推荐、查询推荐和计算广告。本章还讨论了如何将前面章节中介绍的方法应用于各个不同的领域。
尽管本书是作为教科书来编写的,但仍有很多来自于工业界和学术界的读者。因此,我们也从应用角度和文献角度来撰写此书。书中提供了大量的示例和习题,使得它可以被用作教科书。由于大部分推荐系统课程只涵盖基础话题,因此有关基础话题的章节和算法着重于课堂教学。另一方面,工业界人员也许发现讨论上下文敏感的推荐系统的章节很有用,因为在许多真实的应用中会有大量可用的上下文辅助信息。第13章的应用部分是特别为工业界人员编写的,不过教师也许会发现它在推荐课程中也是有用的。
后,我们对所使用的符号进行简要的介绍。本书中一直使用一个m×n的评分矩阵,记为R,其中m是用户的数量,n是物品的数量。矩阵R是不完整的,因为只有一部分项是已观测的。R的第(i,j)项表示用户i对物品j的评分,当它是已观测项时,被记为rij。当项(i,j)是由推荐算法预测得到(而不是用户指定)时,被记为带“帽子”符号(即抑扬符号)的r∧ij,表示它是一个预测的值。向量用“上划线”来表示,例如X或y。
致谢Recommender Systems: The Textbook感谢在撰书期间妻子和女儿给予我的爱和支持,感谢父母给我持续的爱。
本书得到了很多人直接和间接的帮助,我很感激他们。在撰写本书时,我收到了许多同事的反馈,他们是Xavier Amatriain、Kanishka Bhaduri、Robin Burke、Martin Ester、Bart Goethals、Huan Liu、Xia Ning、Saket Sathe、Jiliang Tang、Alexander Tuzhilin、Koen Versetrepen和Jieping Ye。感谢他们所提供的建设性反馈。这些年来,我从大量合作者那里受益良多。这些见解直接或间接地影响了本书。首先感谢多年来与我合作的Philip S. Yu。其他重要的合作者还包括Tarek F. Abdelzaher、Jing Gao、Quanquan Gu、Manish Gupta、Jiawei Han、Alexander Hinneburg、Thomas Huang、Nan Li、Huan Liu、Ruoming Jin、Daniel Keim、Arijit Khan、Latifur Khan、Mohammad M. Masud、Jian Pei、Magda Procopiuc、Guojun Qi、Chandan Reddy、Saket Sathe、Jaideep Srivastava、Karthik Subbian、Yizhou Sun、Jiliang Tang、MinHsuan Tsai、Haixun Wang、Jianyong Wang、Min Wang、Joel Wolf、Xifeng Yan、Mohammed Zaki、ChengXiang Zhai和Peixiang Zhao。我也要感谢导师James B. Orlin在早期对我的指导。
还要感谢我的经理Nagui Halim在我撰写此书时所提供的巨大支持。他的专业支持对我过去和现在的许多书都起着重要的作用。
后,感谢Lata Aggarwal用微软PowerPoint软件帮我绘制了一些图片。
评论
还没有评论。