第 1章 数据挖掘基本概念 1
1.1 数据挖掘的定义 1
1.1.1 建模 1
1.1.2 统计建模 2
1.1.3 机器学习 2
1.1.4 建模的计算方法 3
1.1.5 数据概括 3
1.1.6 特征抽取 4
1.2 数据挖掘的统计限制 5
1.2.1 整体情报预警 5
1.2.2 邦弗朗尼原理 5
1.2.3 邦弗朗尼原理的一个例子 6
1.2.4 习题 7
1.3 相关知识 7
1.3.1 词语在文档中的重要性 7
1.3.2 哈希函数 8
1.3.3 索引 9
1.3.4 二级存储器 10
1.3.5 自然对数的底e 11
1.3.6 幂定律 12
1.3.7 习题 13
1.4 本书概要 14
1.5 小结 15
1.6 参考文献 16
第 2章 MapReduce和新软件栈 17
2.1 分布式文件系统 18
2.1.1 计算节点的物理结构 18
2.1.2 大规模文件系统的结构 19
2.2 MapReduce 20
2.2.1 Map任务 21
2.2.2 按键分组 21
2.2.3 Reduce任务 22
2.2.4 组合器 22
2.2.5 MapReduce的执行细节 23
2.2.6 节点故障的处理 24
2.2.7 习题 24
2.3 使用MapReduce的算法 24
2.3.1 基于MapReduce的矩阵—向量乘法实现 25
2.3.2 向量v无法放入内存时的处理 26
2.3.4 基于MapReduce的选择运算 28
2.3.5 基于MapReduce的投影运算 28
2.3.6 基于MapReduce的并、交和差运算 29
2.3.7 基于MapReduce的自然连接运算 29
2.3.8 基于MapReduce的分组和聚合运算 30
2.3.9 矩阵乘法 30
2.3.10 基于单步MapReduce的矩阵乘法 31
2.3.11 习题 32
2.4 MapReduce的扩展 32
2.4.1 工作流系统 33
2.4.2 Spark 34
2.4.3 Spark实现 36
2.4.4 TensorFlow 37
2.4.5 MapReduce的递归扩展版本 38
2.4.6 整体同步系统 40
2.4.7 习题 41
2.5 通信开销模型 41
2.5.1 任务网络的通信开销 42
2.5.2 时钟时间 43
2.5.3 多路连接 43
2.5.4 习题 46
2.6 MapReduce复杂性理论 47
2.6.1 Reducer规模及复制率 47
2.6.2 一个例子:相似性连接 48
2.6.3 MapReduce问题的一个图模型 51
2.6.5 并非所有输入都存在时的处理 52
2.6.7 案例分析:矩阵乘法 54
2.6.8 习题 57
2.7 小结 58
2.8 参考文献 59
第3章 相似项发现 61
3.1 集合相似度的应用 62
3.1.1 集合的Jaccard相似度 62
3.1.2 文档的相似度 62
3.1.3 协同过滤——一个集合相似问题 63
3.1.4 习题 64
3.2 文档的shingling 65
3.2.1 k-shingle 65
3.2.2 shingle大小的选择 65
3.2.3 对shingle进行哈希 66
3.2.4 基于词的shingle 66
3.2.5 习题 67
3.3 保持相似度的集合摘要表示 67
3.3.1 集合的矩阵表示 67
3.3.2 最小哈希 68
3.3.3 最小哈希和Jaccard相似度 69
3.3.4 最小哈希签名 69
3.3.5 最小哈希签名的计算 70
3.3.6 对最小哈希加速 72
3.3.7 使用哈希加速 73
3.3.8 习题 75
3.4 文档的局部敏感哈希算法 76
3.4.1 面向最小哈希签名的LSH 76
3.4.2 行条化策略的分析 77
3.4.3 上述技术的综合 79
3.4.4 习题 79
3.5 距离测度 80
3.5.1 距离测度的定义 80
3.5.2 欧氏距离 80
3.5.3 Jaccard 距离 81
3.5.4 余弦距离 81
3.5.5 编辑距离 82
3.5.6 海明距离 83
3.5.7 习题 83
3.6 局部敏感函数理论 85
3.6.1 局部敏感函数 85
3.6.2 面向Jaccard距离的局部敏感函数族 86
3.6.3 局部敏感函数族的放大处理 87
3.6.4 习题 89
3.7 面向其他距离测度的LSH函数族 89
3.7.1 面向海明距离的LSH函数族 89
3.7.2 随机超平面和余弦距离 90
3.7.3 梗概 91
3.7.4 面向欧氏距离的LSH函数族 91
3.7.5 面向欧氏空间的更多LSH函数族 92
3.7.6 习题 93
3.8 LSH函数的应用 93
3.8.1 实体关联 94
3.8.2 一个实体关联的例子 94
3.8.3 记录匹配的验证 95
3.8.4 指纹匹配 96
3.8.5 适用于指纹匹配的LSH函数族 98
3.8.7 习题 99
3.9 面向高相似度的方法 99
3.9.1 相等项发现 99
3.9.2 集合的字符串表示方法 100
3.9.3 基于长度的过滤 100
3.9.4 前缀索引 101
3.9.5 位置信息的使用 102
3.9.6 使用位置和长度信息的索引 103
3.9.7 习题 105
3.10 小结 106
3.11 参考文献 108
第4章 数据流挖掘 109
4.1 流数据模型 109
4.1.1 一个数据流管理系统 109
4.1.2 流数据源的例子 110
4.1.3 流查询 111
4.1.4 流处理中的若干问题 112
4.2 流当中的数据抽样 112
4.2.1 一个富有启发性的例子 112
4.2.2 代表性样本的获取 113
4.2.3 一般的抽样问题 114
4.2.4 样本规模的变化 114
4.2.5 习题 115
4.3 流过滤 115
4.3.1 一个例子 115
4.3.2 布隆过滤器 116
4.3.3 布隆过滤方法的分析 116
4.3.4 习题 117
4.4 流中独立元素的数目统计 118
4.4.1 独立元素计数问题 118
4.4.2 FM算法 118
4.4.3 组合估计 119
4.4.4 空间需求 120
4.4.5 习题 120
4.5 矩估计 120
4.5.1 矩定义 120
4.5.2 二阶矩估计的AMS算法 121
4.5.3 AMS算法有效的原因 122
4.5.4 更高阶矩的估计 122
4.5.5 无限流的处理 123
4.5.6 习题 124
4.6 窗口内的计数问题 124
4.6.1 精确计数的开销 125
4.6.2 DGIM算法 125
4.6.3 DGIM算法的存储需求 127
4.6.4 DGIM算法中的查询应答 127
4.6.5 DGIM条件的保持 127
4.6.6 降低错误率 128
4.6.7 窗口内计数问题的扩展 129
4.6.8 习题 130
4.7 衰减窗口 130
4.7.1 最常见元素问题 130
4.7.2 衰减窗口的定义 130
4.7.3 最流行元素的发现 131
4.8 小结 132
4.9 参考文献 133
第5章 链接分析 134
5.1 PageRank 134
5.1.1 早期的搜索引擎及词项作弊 134
5.1.2 PageRank的定义 136
5.1.3 Web结构 138
5.1.4 避免终止点 140
5.1.5 采集器陷阱和“抽税”法 142
5.1.6 PageRank在搜索引擎中的使用 144
5.1.7 习题 144
5.2 PageRank的快速计算 145
5.2.1 转移矩阵的表示 146
5.2.2 基于MapReduce的PageRank迭代计算 146
5.2.3 结果向量合并时的组合器使用 147
5.2.4 转移矩阵中块的表示 148
5.2.5 其他高效的PageRank迭代方法 149
5.2.6 习题 150
5.3 面向主题的PageRank 150
5.3.1 动机 150
5.3.2 有偏的随机游走模型 151
5.3.3 面向主题的PageRank的使用 153
5.3.5 习题 153
5.4 链接作弊 153
5.4.1 垃圾农场的架构 154
5.4.2 垃圾农场的分析 155
5.4.3 与链接作弊的斗争 156
5.4.4 TrustRank 156
5.4.5 垃圾质量 156
5.4.6 习题 157
5.5 导航页和权威页 157
5.5.1 HITS的直观意义 158
5.5.2 导航度和权威度的形式化 158
5.5.3 习题 161
5.6 小结 161
5.7 参考文献 164
第6章 频繁项集 165
6.1 购物篮模型 165
6.2 购物篮和A-Priori算法 171
6.3 更大数据集在内存中的处理 178
6.4 有限扫描算法 185
6.5 流中的频繁项计数 190
6.6 小结 192
6.7 参考文献 194
第7章 聚类 195
7.1 聚类技术介绍 195
7.2 层次聚类 198
7.3 k-均值算法 206
7.4 CURE算法 212
7.5 非欧空间下的聚类 215
7.6 流聚类及并行化 218
7.7 小结 222
7.8 参考文献 224
第8章 Web广告 226
8.1 在线广告相关问题 226
8.2 在线算法 228
8.3 广告匹配问题 231
8.4 adwords问题 233
8.5 adwords的实现 240
8.6 小结 243
8.7 参考文献 245
第9章 推荐系统 246
9.1 推荐系统的模型 246
9.2 基于内容的推荐 249
9.3 协同过滤 257
9.4 降维处理 262
9.5 Netflix竞赛 270
9.6 小结 271
9.7 参考文献 272
第 10章 社会网络图挖掘 273
10.1 将社会网络看成图 273
10.2 社会网络图的聚类 277
10.3 社区的直接发现 283
10.4 图划分 287
10.5 重叠社区的发现 293
10.6 Simrank 299
10.7 三角形计数问题. 306
10.8 图的邻居性质 311
10.9 小结 324
10.10 参考文献 326
第 11章 降维处理 328
11.1 特征值和特征向量 328
11.2 主成分分析 334
11.3 奇异值分解 339
11.4 CUR分解 347
11.5 小结 352
11.6 参考文献 353
第 12章 大规模机器学习 354
12.1 机器学习模型 354
12.2 感知机 360
12.3 支持向量机 371
12.4 近邻学习 381
12.5 决策树 387
12.6 各种学习方法的比较 397
12.7 小结 397
12.8 参考文献 399
第 13章 神经网络与深度学习 400
13.1 神经网络简介 400
13.2 密集型前馈网络 405
13.3 反向传播与梯度下降 413
13.4 卷积神经网络 420
13.5 循环神经网络 427
13.6 正则化 433
13.7 小结 435
13.8 参考文献 436