为你推荐
内容简介
致谢
关于本书
关于作者
关于封面插图
第1部分 推荐系统的准备工作
什么是推荐
1.1 现实生活中的推荐
1.1.1 推荐系统在互联网上大显身手
1.1.2 长尾
1.1.3 Netflix的推荐系统
1.1.4 推荐系统的定义
1.2 推荐系统的分类
1.2.1 域
1.2.2 目的
1.2.3 上下文
1.2.4 个性化级别
1.2.5 专家意见
1.2.6 隐私与可信度
1.2.7 接口
1.2.8 算法
1.3 机器学习与Netflix Prize
1.4 MovieGEEKs网站
1.4.1 设计与规范
1.4.2 架构
1.5 构建一个推荐系统
小结
用户行为以及如何收集用户行为数据
2.1 在浏览网站时Netflix如何收集证据
2.1.1 Netflix收集的证据
2.2 寻找有用的用户行为
2.2.1 捕获访客印象
2.2.2 可以从浏览者身上学到什么
2.2.3 购买行为
2.2.4 消费商品
2.2.5 访客评分
2.2.6 以(旧的)Netflix方式了解你的用户
2.3 识别用户
2.4 从其他途径获取访客数据
2.5 收集器
2.5.1 构建项目文件
2.5.2 数据模型
2.5.3 告密者(snitch):客户端证据收集器
2.5.4 将收集器集成到MovieGEEKs中
2.6 系统中的用户是谁以及如何对其进行建模
小结
监控系统
3.1 为什么添加仪表盘是个好主意
3.1.1 回答“我们做得怎么样?”
3.2 执行分析
3.2.1 网站分析
3.2.2 基本统计数据
3.2.3 转化
3.2.4 分析转化路径
3.2.5 转化路径
3.3 角色
3.4 MovieGEEKs仪表盘
3.4.1 自动生成日志数据
3.4.2 分析仪表盘的规范和设计
3.4.3 分析仪表盘示意图
3.4.4 架构
小结
评分及其计算方法
4.1 用户-商品喜好
4.1.1 什么是评分
4.1.2 用户-商品矩阵
4.2 显式评分和隐式评分
4.2.1 如何选择可靠的推荐来源
4.3 重温显式评分
4.4 什么是隐式评分
4.4.1 与人相关的推荐
4.4.2 关于计算评分的思考
4.5 计算隐式评分
4.5.1 看看行为数据
4.5.2 一个有关机器学习的问题
4.6 如何计算隐式评分
4.6.1 添加时间因素
4.7 低频商品更有价值
小结
非个性化推荐
5.1 什么是非个性化推荐
5.1.1 什么是广告
5.1.2 推荐有什么作用
5.2 当没有数据的时候如何做推荐
5.2.1 商品的十大排行榜
5.3 榜单的实现以及推荐系统组件的准备工作
5.3.1 推荐系统组件
5.3.2 GitHub上的MovieGEEKs网站代码
5.3.3 推荐系统
5.3.4 为MovieGEEKs网站添加一个榜单
5.3.5 使内容看起来更具吸引力
5.4 种子推荐
5.4.1 频繁购买的商品与你正在查看的商品很相似
5.4.2 关联规则
5.4.3 实现关联规则
5.4.4 在数据库中存储关联规则
5.4.5 计算关联规则
5.4.6 运用不同的事件来创建关联规则
小结
冷用户(冷商品)
6.1 什么是冷启动
6.1.1 冷商品
6.1.2 冷用户
6.1.3 灰羊
6.1.4 现实生活中的例子
6.1.5 面对冷启动你能做什么
6.2 追踪访客
6.2.1 执着于匿名用户
6.3 用算法来解决冷启动问题
6.3.1 使用关联规则为冷用户创建推荐信息
6.3.2 使用领域知识和业务规则
6.3.3 使用分组
6.3.4 使用类别来避免灰羊问题以及如何介绍冷商品
6.4 那些不询问就很难被发现的人
6.4.1 当访客数据不够新时
6.5 使用关联规则快速进行推荐
6.5.1 收集数据项
6.5.2 检索关联规则并根据置信度对其排序
6.5.3 显示推荐内容
6.5.4 评估
小结
第2部分 推荐算法
找出用户之间和商品之间的相似之处
7.1 什么是相似度
7.1.1 什么是相似度函数
7.2 基本的相似度函数
7.2.1 Jaccard距离
7.2.2 使用Lp-norm测量距离
7.2.3 Cosine相似度
7.2.4 通过Pearson相关系数查找相似度
7.2.5 运行Pearson相似度
7.2.6 Pearson相关性系数与Cosine相似度类似
7.3 k-means聚类
7.3.1 k-means聚类算法
7.3.2 使用Python实现k-means聚类算法
7.4 实现相似度
7.4.1 在MovieGEEKs网站上实现相似度
7.4.2 在MovieGEEKs 网站上实现聚类
小结
邻域协同过滤
8.1 协同过滤:一节历史课
8.1.1 当信息被协同过滤时
8.1.2 互帮互助
8.1.3 评分矩阵
8.1.4 协同过滤管道
8.1.5 应该使用用户-用户还是物品-物品的协同过滤
8.1.6 数据要求
8.2 推荐的计算
8.3 相似度的计算
8.4 Amazon预测物品相似度的算法
8.5 选择邻域的方法
8.6 找到正确的邻域
8.7 计算预测评分的方法
8.8 使用基于物品的过滤进行预测
8.8.1 计算物品的预测评分
8.9 冷启动问题
8.10 机器学习术语简介
8.11 MovieGeeks网站上的协同过滤
8.11.1 基于物品的过滤
8.12 关联规则推荐和协同推荐之间有什么区别
8.13 用于协同过滤的工具
8.14 协同过滤的优缺点
小结
评估推荐系统
9.1 推荐系统的评估周期
9.2 为什么评估很重要
9.3 如何解释用户行为
9.4 测量什么
9.4.1 了解我的喜好,尽量减少预测错误
9.4.2 多样性
9.4.3 覆盖率
9.4.4 惊喜度
9.5 在实现推荐之前
9.5.1 验证算法
9.5.2 回归测试
9.6 评估的类型
9.7 离线评估
9.7.1 当算法不产生任何推荐时该怎么办
9.8 离线实验
9.8.1 准备实验数据
9.9 在MovieGEEKs中实现这个实验
9.9.1 待办任务清单
9.10 评估测试集
9.10.1 从基线预测器开始
9.10.2 找到正确的参数
9.11 在线评估
9.11.1 对照实验
9.11.2 A/B测试
9.12 利用exploit/explore持续测试
9.12.1 反馈循环
小结
基于内容的过滤
10.1 举例说明
10.2 什么是基于内容的过滤
10.3 内容分析器
10.3.1 从物品配置文件提取特征
10.3.2 数量较少的分类数据
10.3.3 将年份转换为可比较的特征
10.4 从描述中提取元数据
10.4.1 准备描述
10.5 使用TF-IDF查找重要单词
10.6 使用LDA进行主题建模
10.6.1 有什么方法可以调整LDA
10.7 查找相似内容
10.8 如何创建用户配置文件
10.8.1 使用LDA创建用户配置文件
10.8.2 使用TF-IDF创建用户配置文件
10.9 MovieGEEKs中基于内容的推荐
10.9.1 加载数据
10.9.2 训练模型
10.9.3 创建物品配置文件
10.9.4 创建用户配置文件
10.9.5 展示推荐
10.10 评估基于内容的推荐系统
10.11 基于内容过滤的优缺点
小结
用矩阵分解法寻找隐藏特征
11.1 有时减少数据量是好事
11.2 你想要解决的问题的例子
11.3 谈一点线性代数
11.3.1 矩阵
11.3.2 什么是因子分解
11.4 使用SVD构造因子分解
11.4.1 通过分组加入添加新用户
11.4.2 如何使用SVD进行推荐
11.4.3 基线预测
11.4.4 时间动态
11.5 使用Funk SVD构造因子分解
11.5.1 均方根误差
11.5.2 梯度下降
11.5.3 随机梯度下降
11.5.4 最后是因子分解
11.5.5 增加偏差
11.5.6 如何开始,何时结束
11.6 用Funk SVD进行推荐
11.7 MovieGEEKs中的Funk SVD实现
11.7.1 如何处理异常值
11.7.2 保持模型的更新
11.7.3 更快的实施方法
11.8 显式数据与隐式数据
11.9 评估
11.10 用于Funk SVD的参数
小结
运用最佳算法来实现混合推荐
12.1 混合推荐系统的困惑世界
12.2 单体
12.2.1 将基于内容的特征与行为数据混合,以改进协同过滤推荐系统
12.3 掺杂式混合推荐
12.4 集成推荐
12.4.1 可切换的集成推荐
12.4.2 加权式集成推荐
12.4.3 线性回归
12.5 特征加权线性叠加(FWLS)
12.5.1 元特征:权重作为函数
12.5.2 算法
12.6 实现
小结
排序和排序学习
13.1 Foursquare的排序学习例子
13.2 重新排序
13.3 什么是排序学习
13.3.1 三种类型的LTR算法
13.4 贝叶斯个性化排序
13.4.1 BPR排序
13.4.2 数学魔术(高级巫术)
13.4.3 BPR算法
13.4.4 具有矩阵分解的BPR
13.5 BPR的实现
13.5.1 执行推荐
13.6 评估
13.7 用于BPR的参数
小结
推荐系统的未来
14.1 本书内容总结
14.2 接下来要学习的主题
14.2.1 延伸阅读
14.2.2 算法
14.2.3 所处环境
14.2.4 人机交互
14.2.5 选择一个好的架构
14.3 推荐系统的未来是什么
14.4 最后的想法
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜