大數(shù)據(jù)浪潮,洶涌來襲,與互聯(lián)網(wǎng)的發(fā)明一樣,這絕不僅僅是信息技術領域的革命,也是在全球范圍啟動透明政府,加速企業(yè)創(chuàng)新,創(chuàng)造無限商機,引領社會變革的
利器。
本課程將從從大數(shù)據(jù)的前世今生、4V特性、發(fā)展趨勢及商業(yè)價值來講述----大數(shù)據(jù)浪潮
洶涌來襲。從社會經(jīng)濟管理、醫(yī)療與健康、數(shù)字新聞學、物聯(lián)網(wǎng)和教育領域來闡述大數(shù)據(jù)的應用及如何引領社會創(chuàng)新。從舌尖上的大數(shù)據(jù)、大數(shù)據(jù)中的“家” 、數(shù)據(jù)無涯行無涯、由數(shù)據(jù)開始走遍世界、網(wǎng)購狂歡節(jié)、當銀行愛上大數(shù)據(jù)、社交網(wǎng)絡與智慧生活六個方面來講述大數(shù)據(jù)如何服務于我們的智慧生活。講述
如何運用云計算、存儲技術、數(shù)據(jù)庫技術、Hadoop、數(shù)據(jù)挖掘等技術,來挖掘鏈接分析、購物籃模型、Web廣告、推薦系統(tǒng)中的商業(yè)智能。從隱私權和各國立法、數(shù)據(jù)生命周期及隱私保護、大數(shù)據(jù)治理及取舍之道來講述大數(shù)據(jù)中的隱私空間。從大數(shù)據(jù)帶來的挑戰(zhàn)、智慧地球、政策制定等闡述大數(shù)據(jù)的
未來。通過對以上內(nèi)容的學習,激發(fā)我們利用大數(shù)據(jù)的關鍵技術為智慧地球做深度思考并付諸行動,用數(shù)據(jù)來說話,洞察商業(yè)趨勢、挖掘潛在機會、判定新聞質(zhì)量、測定實時交通路況等,為個人生活、社會管理、經(jīng)濟發(fā)展等提供更有價值的決策信息。
課程名稱:大數(shù)據(jù)技術及應用
英文名稱:Big data technology and its application
適用對象:計算機專業(yè)本科三年級以上的學生
課時:36課時
一、課程性質(zhì)、目的和任務
1. 本課程為計算機專業(yè)大學本科生及研究生選修的一門課程;
2. 目的是讓學生了解并掌握四個領域(即大數(shù)據(jù)系統(tǒng)的起源及系統(tǒng)特征、大數(shù)據(jù)系統(tǒng)的架構設計及功能目標設計、大數(shù)據(jù)系統(tǒng)程序開發(fā)、企業(yè)大數(shù)據(jù)案例分析)的內(nèi)容,同時利用真機實驗環(huán)節(jié)以及大數(shù)據(jù)實訓一體機來提升學生對大數(shù)據(jù)開發(fā)的實踐能力;
3. 本課程重點讓學生掌握五個方面的內(nèi)容:
(一) 大數(shù)據(jù)在各行各業(yè)的應用;
(二) 數(shù)據(jù)挖掘概念;
(三) MapReduce開發(fā);
(四) 數(shù)據(jù)相似性發(fā)現(xiàn);
(五) PageRank算法的應用;
(六) Web廣告實現(xiàn);
(七) 推薦系統(tǒng)的開發(fā);
(八) 大數(shù)據(jù)案例分析;
二、教學內(nèi)容及要求
第一章 數(shù)據(jù)大爆炸
授課學時:2
基本要求:
1. 了解課程參考教材;
2. 了解大數(shù)據(jù)概念、特征、數(shù)據(jù)計量單位以及大數(shù)據(jù)的類型;
3. 了解大數(shù)據(jù)與云計算的關系
第二章 大數(shù)據(jù)應用
授課學時:2
基本要求:
了解大數(shù)據(jù)在當今各個行業(yè)的應用及其未來的發(fā)展,例如醫(yī)療、新聞學、社會管理、家居、經(jīng)濟、物聯(lián)網(wǎng);
第三章 大數(shù)據(jù)挖掘
授課學時:4
基本要求:
1. 掌握進行大數(shù)據(jù)挖掘的準備工作;
2. 了解數(shù)據(jù)挖掘概念及其實現(xiàn)過程
3. 熟悉一些用于數(shù)據(jù)挖掘方面的算法;
第四章 Map-Reduce
授課學時:4
基本要求:
1. 了解分布式文件系統(tǒng);
2. 了解Map-Reduce的設計思想、基本概念、系統(tǒng)架構、作業(yè)運行機制和關鍵技術;
3. 掌握Map-Reduce的算法的使用;
4. 了解Map-Reduce的擴展及效率;
第五章 相似項發(fā)現(xiàn)
授課學時:4
基本要求:
1. 了解近鄰搜索的應用,比如Jaccard相似度、文檔的相似度,并學會解決協(xié)同過濾問題;
2. 了解文檔的Shingling;
3. 掌握文檔的局部敏感哈希算法;
4. 了解面向高相似度的方法;
第六章 數(shù)據(jù)流挖掘
授課學時:4
基本要求:
1. 學會建立數(shù)據(jù)流模型;
2. 了解流過濾,了解布隆過濾器的實現(xiàn)過程并學會使用布隆過濾器;
3. 學會統(tǒng)計流中獨立元素的數(shù)目;
4. 了解矩估計;
第七章 鏈接分析
授課學時:4
基本要求:
1. 了解PageRank算的定義及其在搜索引擎中的使用;
2. 學習PageRank的快速計算;
3. 了解導航頁功能的實現(xiàn)的過程;
第八章 頻繁項集
授課學時:4
基本要求:
1. 了解購物籃模型,并學會使用該模型;
2. 了解購物籃及A-Priori算法;
第九章 Web廣告
授課學時:2
基本要求:
1. 了解在線廣告;
2. 了解Web廣告的實現(xiàn)算法;
3. 從解決廣告匹配問題中學習各種匹配算法;
4. 了解Adwords問題并學會Adwords的實現(xiàn);
第十章 推薦系統(tǒng)
授課學時:2
基本要求:
1. 了解推薦系統(tǒng)的模型;
2. 了解基于內(nèi)容的推薦,學到各種推薦算法;
3. 了解協(xié)同過濾;
第十一章 大數(shù)據(jù)的安全
授課學時:2
基本要求:
1. 了解在大數(shù)據(jù)方面發(fā)生過的安全危害事件并知曉大數(shù)據(jù)的安全概念;
2. 了解大數(shù)據(jù)的取舍之道;
第十二章 大數(shù)據(jù)的未來
授課學時:2
基本要求:
了解未來大數(shù)據(jù)在各行業(yè)的發(fā)展;
三、課程考核
課程成績中期末考試成績占60%,平時成績占40%;
期末考試為上交課程論文。
附錄:教材目錄
第1章 數(shù)據(jù)挖掘基本概念 1
1.1 數(shù)據(jù)挖掘的定義 1
1.1.1 統(tǒng)計建模 1
1.1.2 機器學習 1
1.1.3 建模的計算方法 2
1.1.4 數(shù)據(jù)匯總 2
1.1.5 特征抽取 3
1.2 數(shù)據(jù)挖掘的統(tǒng)計限制 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 哈希函數(shù) 7
1.3.3 索引 8
1.3.4 二級存儲器 10
1.3.5 自然對數(shù)的底e 10
1.3.6 冪定律 11
1.3.7 習題 12
1.4 本書概要 13
1.5 小結 14
1.6 參考文獻 14
第2章 大規(guī)模文件系統(tǒng)及Map-Reduce 16
2.1 分布式文件系統(tǒng) 16
2.1.1 計算節(jié)點的物理結構 17
2.1.2 大規(guī)模文件系統(tǒng)的結構 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的執(zhí)行細節(jié) 21
2.2.6 節(jié)點失效的處理 22
2.3 使用Map-Reduce的算法 22
2.3.1 基于Map-Reduce的矩陣—向量乘法實現(xiàn) 23
2.3.2 向量v無法放入內(nèi)存時的處理 23
2.3.3 關系代數(shù)運算 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 工作流系統(tǒng) 31
2.4.2 Map-Reduce的遞歸擴展版本 32
2.4.3 Pregel系統(tǒng) 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章 相似項發(fā)現(xiàn) 44
3.1 近鄰搜索的應用 44
3.1.1 集合的Jaccard相似度 44
3.1.2 文檔的相似度 45
3.1.3 協(xié)同過濾——一個集合相似問題 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 局部敏感函數(shù)理論 64
3.6.1 局部敏感函數(shù) 65
3.6.2 面向Jaccard距離的局部敏感函數(shù)族 66
3.6.3 局部敏感函數(shù)族的放大處理 66
3.6.4 習題 68
3.7 面向其他距離測度的LSH函數(shù)族 68
3.7.1 面向海明距離的LSH函數(shù)族 69
3.7.2 隨機超平面和余弦距離 69
3.7.3 梗概 70
3.7.4 面向歐氏距離的LSH函數(shù)族 71
3.7.5 面向歐氏空間的更多LSH函數(shù)族 72
3.7.6 習題 72
3.8 LSH函數(shù)的應用 73
3.8.1 實體關聯(lián) 73
3.8.2 一個實體關聯(lián)的例子 74
3.8.3 記錄匹配的驗證 74
3.8.4 指紋匹配 75
3.8.5 適用于指紋匹配的LSH函數(shù)族 76
3.8.6 相似新聞報道檢測 77
3.8.7 習題 78
3.9 面向高相似度的方法 79
3.9.1 相等項發(fā)現(xiàn) 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章 數(shù)據(jù)流挖掘 89
4.1 流數(shù)據(jù)模型 89
4.1.1 一個數(shù)據(jù)流管理系統(tǒng) 89
4.1.2 流數(shù)據(jù)源的例子 90
4.1.3 流查詢 91
4.1.4 流處理中的若干問題 92
4.2 流當中的數(shù)據(jù)抽樣 92
4.2.1 一個富于啟發(fā)性的例子 93
4.2.2 代表性樣本的獲取 93
4.2.3 一般的抽樣問題 94
4.2.4 樣本規(guī)模的變化 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 流中獨立元素的數(shù)目統(tǒng)計 98
4.4.1 獨立元素計數(shù)問題 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 窗口內(nèi)的計數(shù)問題 105
4.6.1 精確計數(shù)的開銷 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 窗口內(nèi)計數(shù)問題的擴展 109
4.6.8 習題 110
4.7 衰減窗口 110
4.7.1 最常見元素問題 110
4.7.2 衰減窗口的定義 111
4.7.3 最流行元素的發(fā)現(xiàn) 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 轉(zhuǎn)移矩陣的表示 127
5.2.2 基于Map-Reduce的PageRank迭代計算 128
5.2.3 結果向量合并時的組合器使用 128
5.2.4 轉(zhuǎn)移矩陣中塊的表示 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 垃圾農(nóng)場的架構 135
5.4.2 垃圾農(nóng)場的分析 136
5.4.3 與鏈接作弊的斗爭 137
5.4.4 TrustRank 137
5.4.5 垃圾質(zhì)量 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 關聯(lián)規(guī)則 149
6.1.4 高可信度關聯(lián)規(guī)則的發(fā)現(xiàn) 150
6.1.5 習題 151
6.2 購物籃及A-Priori算法 152
6.2.1 購物籃數(shù)據(jù)的表示 152
6.2.2 項集計數(shù)中的內(nèi)存使用 153
6.2.3 項集的單調(diào)性 154
6.2.4 二元組計數(shù) 155
6.2.5 A-Priori算法 155
6.2.6 所有頻繁項集上的A-Priori算法 157
6.2.7 習題 158
6.3 更大數(shù)據(jù)集在內(nèi)存中的處理 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 抽樣算法中的錯誤規(guī)避 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 流中的頻繁項計數(shù) 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 維數(shù)災難 178
7.1.4 習題 179
7.2 層次聚類 179
7.2.1 歐氏空間下的層次聚類 180
7.2.2 層次聚類算法的效率 183
7.2.3 控制層次聚類的其他規(guī)則 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算法中的數(shù)據(jù)處理 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 并行環(huán)境下的聚類 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的實現(xiàn) 221
8.5.1 投標和搜索查詢的匹配 222
8.5.2 更復雜的匹配問題 222
8.5.3 文檔和投標之間的匹配算法 223
8.6 小結 224
8.7 參考文獻 226
第9章 推薦系統(tǒng) 227
9.1 一個推薦系統(tǒng)的模型 227
9.1.1 效用矩陣 227
9.1.2 長尾現(xiàn)象 228
9.1.3 推薦系統(tǒng)的應用 230
9.1.4 效用矩陣的填充 230
9.2 基于內(nèi)容的推薦 231
9.2.1 項模型 231
9.2.2 文檔的特征發(fā)現(xiàn) 231
9.2.3 基于Tag的項特征獲取 232
9.2.4 項模型的表示 233
9.2.5 用戶模型 234
9.2.6 基于內(nèi)容的項推薦 235
9.2.7 分類算法 235
9.2.8 習題 237
9.3 協(xié)同過濾 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 對任一元素的優(yōu)化 247
9.4.5 一個完整UV分解算法的構建 248
9.4.6 習題 250
9.5 NetFlix競賽 250
9.6 小結 251
9.7 參考文獻 253
索引 254