课程简介 Course Introduction

大数据浪潮,汹涌来袭,与互联网的发明一样,这绝不仅仅是信息技术领域的革命,也是在全球范围启动透明政府,加速企业创新,创造无限商机,引领社会变革的
利器。
本课程将从从大数据的前世今生、4V特性、发展趋势及商业价值来讲述----大数据浪潮
汹涌来袭。从社会经济管理、医疗与健康、数字新闻学、物联网和教育领域来阐述大数据的应用及如何引领社会创新。从舌尖上的大数据、大数据中的“家” 、数据无涯行无涯、由数据开始走遍世界、网购狂欢节、当银行爱上大数据、社交网络与智慧生活六个方面来讲述大数据如何服务于我们的智慧生活。讲述
如何运用云计算、存储技术、数据库技术、Hadoop、数据挖掘等技术,来挖掘链接分析、购物篮模型、Web广告、推荐系统中的商业智能。从隐私权和各国立法、数据生命周期及隐私保护、大数据治理及取舍之道来讲述大数据中的隐私空间。从大数据带来的挑战、智慧地球、政策制定等阐述大数据的
未来。通过对以上内容的学习,激发我们利用大数据的关键技术为智慧地球做深度思考并付诸行动,用数据来说话,洞察商业趋势、挖掘潜在机会、判定新闻质量、测定实时交通路况等,为个人生活、社会管理、经济发展等提供更有价值的决策信息。

教学大纲 Teaching Syllabus

课程名称:大数据技术及应用

英文名称:Big data technology and its application

适用对象:计算机专业本科三年级以上的学生

课时:36课时

一、课程性质、目的和任务

1. 本课程为计算机专业大学本科生及研究生选修的一门课程;

2. 目的是让学生了解并掌握四个领域(即大数据系统的起源及系统特征、大数据系统的架构设计及功能目标设计、大数据系统程序开发、企业大数据案例分析)的内容,同时利用真机实验环节以及大数据实训一体机来提升学生对大数据开发的实践能力;

3. 本课程重点让学生掌握五个方面的内容:

(一) 大数据在各行各业的应用;

(二) 数据挖掘概念;

(三) MapReduce开发;

(四) 数据相似性发现;

(五) PageRank算法的应用;

(六) Web广告实现;

(七) 推荐系统的开发;

(八) 大数据案例分析;

二、教学内容及要求

第一章 数据大爆炸

授课学时:2

基本要求:

1. 了解课程参考教材;

2. 了解大数据概念、特征、数据计量单位以及大数据的类型;

3. 了解大数据与云计算的关系

第二章 大数据应用

授课学时:2

基本要求:

了解大数据在当今各个行业的应用及其未来的发展,例如医疗、新闻学、社会管理、家居、经济、物联网;

第三章 大数据挖掘

授课学时:4

基本要求:

1. 掌握进行大数据挖掘的准备工作;

2. 了解数据挖掘概念及其实现过程

3. 熟悉一些用于数据挖掘方面的算法;

第四章 Map-Reduce

授课学时:4

基本要求:

1. 了解分布式文件系统;

2. 了解Map-Reduce的设计思想、基本概念、系统架构、作业运行机制和关键技术;

3. 掌握Map-Reduce的算法的使用;

4. 了解Map-Reduce的扩展及效率;

第五章 相似项发现

授课学时:4

基本要求:

1. 了解近邻搜索的应用,比如Jaccard相似度、文档的相似度,并学会解决协同过滤问题;

2. 了解文档的Shingling;

3. 掌握文档的局部敏感哈希算法;

4. 了解面向高相似度的方法;

第六章 数据流挖掘

授课学时:4

基本要求:

1. 学会建立数据流模型;

2. 了解流过滤,了解布隆过滤器的实现过程并学会使用布隆过滤器;

3. 学会统计流中独立元素的数目;

4. 了解矩估计;

第七章 链接分析

授课学时:4

基本要求:

1. 了解PageRank算的定义及其在搜索引擎中的使用;

2. 学习PageRank的快速计算;

3. 了解导航页功能的实现的过程;

第八章 频繁项集

授课学时:4

基本要求:

1. 了解购物篮模型,并学会使用该模型;

2. 了解购物篮及A-Priori算法;

第九章 Web广告

授课学时:2

基本要求:

1. 了解在线广告;

2. 了解Web广告的实现算法;

3. 从解决广告匹配问题中学习各种匹配算法;

4. 了解Adwords问题并学会Adwords的实现;

第十章 推荐系统

授课学时:2

基本要求:

1. 了解推荐系统的模型;

2. 了解基于内容的推荐,学到各种推荐算法;

3. 了解协同过滤;

第十一章 大数据的安全

授课学时:2

基本要求:

1. 了解在大数据方面发生过的安全危害事件并知晓大数据的安全概念;

2. 了解大数据的取舍之道;

第十二章 大数据的未来

授课学时:2

基本要求:

了解未来大数据在各行业的发展;

三、课程考核

课程成绩中期末考试成绩占60%,平时成绩占40%;

期末考试为上交课程论文。


附录:教材目录

第1章  数据挖掘基本概念  1

1.1  数据挖掘的定义  1

1.1.1  统计建模  1

1.1.2  机器学习  1

1.1.3  建模的计算方法  2

1.1.4  数据汇总  2

1.1.5  特征抽取  3

1.2  数据挖掘的统计限制  4

1.2.1  整体情报预警  4

1.2.2  邦弗朗尼原理  4

1.2.3  邦弗朗尼原理的一个例子  5

1.2.4  习题  6

1.3  相关知识  6

1.3.1  词语在文档中的重要性  6

1.3.2  哈希函数  7

1.3.3  索引  8

1.3.4  二级存储器  10

1.3.5  自然对数的底e  10

1.3.6  幂定律  11

1.3.7  习题  12

1.4  本书概要  13

1.5  小结  14

1.6  参考文献  14

第2章  大规模文件系统及Map-Reduce  16

2.1  分布式文件系统  16

2.1.1  计算节点的物理结构  17

2.1.2  大规模文件系统的结构  18

2.2  Map-Reduce  18

2.2.1  Map任务  19

2.2.2  分组和聚合  20

2.2.3  Reduce任务  20

2.2.4  组合器  21

2.2.5  Map-Reduce的执行细节  21

2.2.6  节点失效的处理  22

2.3  使用Map-Reduce的算法  22

2.3.1  基于Map-Reduce的矩阵—向量乘法实现  23

2.3.2  向量v无法放入内存时的处理  23

2.3.3  关系代数运算  24

2.3.4  基于Map-Reduce的选择运算  26

2.3.5  基于Map-Reduce的投影运算  26

2.3.6  基于Map-Reduce的并、交和差运算  27

2.3.7  基于Map-Reduce的自然连接运算  27

2.3.8  一般性的连接算法  28

2.3.9  基于Map-Reduce的分组和聚合运算  28

2.3.10  矩阵乘法  29

2.3.11  基于单步Map-Reduce的矩阵乘法  29

2.3.12  习题  30

2.4  Map-Reduce的扩展  31

2.4.1  工作流系统  31

2.4.2  Map-Reduce的递归扩展版本  32

2.4.3  Pregel系统  34

2.4.4  习题  35

2.5  集群计算算法的效率问题  35

2.5.1  集群计算的通信开销模型  35

2.5.2  实耗通信开销  36

2.5.3  多路连接  37

2.5.4  习题  40

2.6  小结  40

2.7  参考文献  42

第3章  相似项发现  44

3.1  近邻搜索的应用  44

3.1.1  集合的Jaccard相似度  44

3.1.2  文档的相似度  45

3.1.3  协同过滤——一个集合相似问题  46

3.1.4  习题  47

3.2  文档的Shingling  47

3.2.1  k-Shingle  47

3.2.2  shingle大小的选择  48

3.2.3  对shingle进行哈希  48

3.2.4  基于词的shingle  49

3.2.5  习题  49

3.3  保持相似度的集合摘要表示  49

3.3.1  集合的矩阵表示  50

3.3.2  最小哈希  50

3.3.3  最小哈希及Jaccard相似度  51

3.3.4  最小哈希签名  52

3.3.5  最小哈希签名的计算  52

3.3.6  习题  54

3.4  文档的局部敏感哈希算法  55

3.4.1  面向最小哈希签名的LSH  56

3.4.2  行条化策略的分析  57

3.4.3  上述技术的综合  58

3.4.4  习题  59

3.5  距离测度  59

3.5.1  距离测度的定义  59

3.5.2  欧氏距离  60

3.5.3  Jaccard距离  60

3.5.4  余弦距离  61

3.5.5  编辑距离  62

3.5.6  海明距离  63

3.5.7  习题  63

3.6  局部敏感函数理论  64

3.6.1  局部敏感函数  65

3.6.2  面向Jaccard距离的局部敏感函数族  66

3.6.3  局部敏感函数族的放大处理  66

3.6.4  习题  68

3.7  面向其他距离测度的LSH函数族  68

3.7.1  面向海明距离的LSH函数族  69

3.7.2  随机超平面和余弦距离  69

3.7.3  梗概  70

3.7.4  面向欧氏距离的LSH函数族  71

3.7.5  面向欧氏空间的更多LSH函数族  72

3.7.6  习题  72

3.8  LSH函数的应用  73

3.8.1  实体关联  73

3.8.2  一个实体关联的例子  74

3.8.3  记录匹配的验证  74

3.8.4  指纹匹配  75

3.8.5  适用于指纹匹配的LSH函数族  76

3.8.6  相似新闻报道检测  77

3.8.7  习题  78

3.9  面向高相似度的方法  79

3.9.1  相等项发现  79

3.9.2  集合的字符串表示方法  79

3.9.3  基于长度的过滤  80

3.9.4  前缀索引  81

3.9.5  位置信息的使用  82

3.9.6  使用位置和长度信息的索引  83

3.9.7  习题  85

3.10  小结  85

3.11  参考文献  87

第4章  数据流挖掘  89

4.1  流数据模型  89

4.1.1  一个数据流管理系统  89

4.1.2  流数据源的例子  90

4.1.3  流查询  91

4.1.4  流处理中的若干问题  92

4.2  流当中的数据抽样  92

4.2.1  一个富于启发性的例子  93

4.2.2  代表性样本的获取  93

4.2.3  一般的抽样问题  94

4.2.4  样本规模的变化  94

4.2.5  习题  95

4.3  流过滤  95

4.3.1  一个例子  95

4.3.2  布隆过滤器  96

4.3.3  布隆过滤方法的分析  96

4.3.4  习题  97

4.4  流中独立元素的数目统计  98

4.4.1  独立元素计数问题  98

4.4.2  FM算法  98

4.4.3  组合估计  99

4.4.4  空间需求  100

4.4.5  习题  100

4.5  矩估计  100

4.5.1  矩定义  100

4.5.2  二阶矩估计的AMS算法  101

4.5.3  AMS算法有效的原因  102

4.5.4  更高阶矩的估计  103

4.5.5  无限流的处理  103

4.5.6  习题  104

4.6  窗口内的计数问题  105

4.6.1  精确计数的开销  105

4.6.2  DGIM算法  105

4.6.3  DGIM算法的存储需求  107

4.6.4  DGIM算法中的查询应答  107

4.6.5  DGIM条件的保持  108

4.6.6  降低错误率  109

4.6.7  窗口内计数问题的扩展  109

4.6.8  习题  110

4.7  衰减窗口  110

4.7.1  最常见元素问题  110

4.7.2  衰减窗口的定义  111

4.7.3  最流行元素的发现  111

4.8  小结  112

4.9  参考文献  113

第5章  链接分析  115

5.1  PageRank  115

5.1.1  早期的搜索引擎及词项作弊  115

5.1.2  PageRank的定义  117

5.1.3  Web结构  119

5.1.4  避免终止点  121

5.1.5  采集器陷阱及“抽税”法  123

5.1.6  PageRank在搜索引擎中的使用  125

5.1.7  习题  125

5.2  PageRank的快速计算  126

5.2.1  转移矩阵的表示  127

5.2.2  基于Map-Reduce的PageRank迭代计算  128

5.2.3  结果向量合并时的组合器使用  128

5.2.4  转移矩阵中块的表示  129

5.2.5  其他高效的PageRank迭代方法  130

5.2.6  习题  131

5.3  面向主题的PageRank  131

5.3.1  动机  131

5.3.2  有偏的随机游走模型  132

5.3.3  面向主题的PageRank的使用  133

5.3.4  基于词汇的主题推断  134

5.3.5  习题  134

5.4  链接作弊  135

5.4.1  垃圾农场的架构  135

5.4.2  垃圾农场的分析  136

5.4.3  与链接作弊的斗争  137

5.4.4  TrustRank  137

5.4.5  垃圾质量  137

5.4.6  习题  138

5.5  导航页和权威页  139

5.5.1  HITS的直观意义  139

5.5.2  导航度和权威度的形式化  139

5.5.3  习题  142

5.6  小结  143

5.7  参考文献  145

第6章  频繁项集  146

6.1  购物篮模型  146

6.1.1  频繁项集的定义  146

6.1.2  频繁项集的应用  148

6.1.3  关联规则  149

6.1.4  高可信度关联规则的发现  150

6.1.5  习题  151

6.2  购物篮及A-Priori算法  152

6.2.1  购物篮数据的表示  152

6.2.2  项集计数中的内存使用  153

6.2.3  项集的单调性  154

6.2.4  二元组计数  155

6.2.5  A-Priori算法  155

6.2.6  所有频繁项集上的A-Priori算法  157

6.2.7  习题  158

6.3  更大数据集在内存中的处理  159

6.3.1  PCY算法  160

6.3.2  多阶段算法  161

6.3.3  多哈希算法  163

6.3.4  习题  164

6.4  有限扫描算法  166

6.4.1  简单的随机化算法  166

6.4.2  抽样算法中的错误规避  167

6.4.3  SON算法  168

6.4.4  SON算法和Map-Reduce  168

6.4.5  Toivonen算法  169

6.4.6  Toivonen算法的有效性分析  170

6.4.7  习题  170

6.5  流中的频繁项计数  171

6.5.1  流的抽样方法  171

6.5.2  衰减窗口中的频繁项集  172

6.5.3  混合方法  172

6.5.4  习题  173

6.6  小结  173

6.7  参考文献  175

第7章  聚类  176

7.1  聚类技术介绍  176

7.1.1  点、空间和距离  176

7.1.2  聚类策略  177

7.1.3  维数灾难  178

7.1.4  习题  179

7.2  层次聚类  179

7.2.1  欧氏空间下的层次聚类  180

7.2.2  层次聚类算法的效率  183

7.2.3  控制层次聚类的其他规则  183

7.2.4  非欧空间下的层次聚类  185

7.2.5  习题  186

7.3  k-均值算法  187

7.3.1  k-均值算法基本知识  187

7.3.2  k-均值算法的簇初始化  187

7.3.3  选择k的正确值  188

7.3.4  BFR算法  189

7.3.5  BFR算法中的数据处理  191

7.3.6  习题  192

7.4  CURE算法  193

7.4.1  CURE算法的初始化  194

7.4.2  CURE算法的完成  195

7.4.3  习题  195

7.5  非欧空间下的聚类  196

7.5.1  GRGPF算法中的簇表示  196

7.5.2  簇表示树的初始化  196

7.5.3  GRGPF算法中的点加入  197

7.5.4  簇的分裂及合并  198

7.5.5  习题  199

7.6  流聚类及并行化  199

7.6.1  流计算模型  199

7.6.2  一个流聚类算法  200

7.6.3  桶的初始化  200

7.6.4  桶合并  200

7.6.5  查询应答  202

7.6.6  并行环境下的聚类  202

7.6.7  习题  203

7.7  小结  203

7.8  参考文献  205

第8章  Web广告  207

8.1  在线广告相关问题  207

8.1.1  广告机会  207

8.1.2  直投广告  208

8.1.3  展示广告的相关问题  208

8.2  在线算法  209

8.2.1  在线和离线算法  209

8.2.2  贪心算法  210

8.2.3  竞争率  211

8.2.4  习题  211

8.3  广告匹配问题  212

8.3.1  匹配及完美匹配  212

8.3.2  最大匹配贪心算法  213

8.3.3  贪心匹配算法的竞争率  213

8.3.4  习题  214

8.4  Adwords问题  214

8.4.1  搜索广告的历史  215

8.4.2  Adwords问题的定义  215

8.4.3  Adwords问题的贪心方法  216

8.4.4  Balance算法  217

8.4.5  Balance算法竞争率的一个下界  217

8.4.6  多投标者的Balance算法  219

8.4.7  一般性的Balance算法  220

8.4.8  Adwords问题的最后论述  221

8.4.9  习题  221

8.5  Adwords的实现  221

8.5.1  投标和搜索查询的匹配  222

8.5.2  更复杂的匹配问题  222

8.5.3  文档和投标之间的匹配算法  223

8.6  小结  224

8.7  参考文献  226

第9章  推荐系统  227

9.1  一个推荐系统的模型  227

9.1.1  效用矩阵  227

9.1.2  长尾现象  228

9.1.3  推荐系统的应用  230

9.1.4  效用矩阵的填充  230

9.2  基于内容的推荐  231

9.2.1  项模型  231

9.2.2  文档的特征发现  231

9.2.3  基于Tag的项特征获取  232

9.2.4  项模型的表示  233

9.2.5  用户模型  234

9.2.6  基于内容的项推荐  235

9.2.7  分类算法  235

9.2.8  习题  237

9.3  协同过滤  238

9.3.1  相似度计算  238

9.3.2  相似度对偶性  241

9.3.3  用户聚类和项聚类  242

9.3.4  习题  243

9.4  降维处理  243

9.4.1  UV分解  244

9.4.2  RMSE  244

9.4.3  UV分解的增量式计算  245

9.4.4  对任一元素的优化  247

9.4.5  一个完整UV分解算法的构建  248

9.4.6  习题  250

9.5  NetFlix竞赛  250

9.6  小结  251

9.7  参考文献  253

索引  254


留言板 Message Board
条留言  共

  • 参与互动
    Interaction

  • 扫码加入课程
    Scan QR Code
请输入以下信息:
  • 学号号:
  • 班级选择:

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
课程
引导