本書主要涉及數(shù)據(jù)工程、人工智能算法原理,大數(shù)據(jù)平臺(tái)技術(shù)、人工智能算法在大數(shù)據(jù)平臺(tái)上的實(shí)現(xiàn)、人工智能算法的應(yīng)用于實(shí)踐。 第1章是大數(shù)據(jù)與人工智能的歷史、應(yīng)用。第2章是數(shù)據(jù)工程。第三章是人工智能基礎(chǔ)算法的原理介紹。第四章是大數(shù)據(jù)平臺(tái)的介紹。第五章以第三章中的幾種算法為例子,介紹了它們是如何在大數(shù)據(jù)平臺(tái)上分布式實(shí)現(xiàn)的。第六章是當(dāng)前熱門的深度學(xué)習(xí)技術(shù)的介紹。第七章是實(shí)踐。 本書針對(duì)1.對(duì)大數(shù)據(jù)和人工智能感興趣、希望快速了解和入門本領(lǐng)域知識(shí)的在讀本科生、研究生。2.希望從事大數(shù)據(jù)和人工智能崗位、需要快速提升理論基礎(chǔ)和實(shí)戰(zhàn)技能的求職者。3.計(jì)算機(jī)和互聯(lián)網(wǎng)領(lǐng)域,對(duì)人工智算法感興趣或工作中迫切需要一定本領(lǐng)域知識(shí)的工程師。
針對(duì)如何快速把握大數(shù)據(jù)與人工智能的精髓、避免陷入過(guò)多的數(shù)學(xué)細(xì)節(jié)推導(dǎo)的問(wèn)題,以及人工智能算法和大數(shù)據(jù)平臺(tái)技術(shù)的結(jié)合問(wèn)題,本書作者做出了不懈探索。一是選材上,不僅分別單獨(dú)講授人工智能和大數(shù)據(jù),還突出兩者相結(jié)合的內(nèi)容。二是內(nèi)容上,突出淺顯易懂,繁雜的數(shù)學(xué)推導(dǎo)適當(dāng)做減法,宏觀的介紹和實(shí)戰(zhàn)技能適當(dāng)做加法。三是結(jié)構(gòu)上,由淺入深,由宏觀到比較圍觀,由基礎(chǔ)知識(shí)到新技術(shù),由理論到實(shí)踐。本書主要突出優(yōu)點(diǎn)如下。 1.知識(shí)點(diǎn)覆蓋全。對(duì)大數(shù)據(jù)與人工智能領(lǐng)域的常用基礎(chǔ)技術(shù)、算法、模型均有介紹,保障讀者知識(shí)體系的完整性。而目前市場(chǎng)上相當(dāng)同類書只涉及本領(lǐng)域其中的幾個(gè)問(wèn)題,使讀者不能較好得從宏觀角度來(lái)體會(huì)大數(shù)據(jù)和人工智能的技術(shù)。 2.知識(shí)點(diǎn)覆蓋新。緊跟本領(lǐng)域zui新研究成果。尤其重點(diǎn)介紹了深度學(xué)習(xí)基礎(chǔ)知識(shí)及其應(yīng)用。深度學(xué)習(xí)是當(dāng)前人工智能領(lǐng)域的潮流和趨勢(shì)。目前市場(chǎng)上同類書對(duì)本領(lǐng)域新趨勢(shì)的關(guān)注明顯滯后。 3.知識(shí)點(diǎn)難易程度嚴(yán)格控制。有利于讀者構(gòu)建完整、清晰的知識(shí)體系,抓住主干,避免鉆進(jìn)個(gè)別牛角尖。許多同類書往往不能把做好難度控制,經(jīng)常羅列大段生僻公式,使初學(xué)者喪失興趣,也使初學(xué)者忽視了主干知識(shí)的學(xué)習(xí)。 4.理論與實(shí)戰(zhàn)相結(jié)合。本書不僅介紹了理論知識(shí),還注重問(wèn)題建模、數(shù)據(jù)分析、算法實(shí)現(xiàn)、模型應(yīng)用等實(shí)戰(zhàn)技能。主流的同類圖書基本以理論介紹為主,容易使讀者眼高手低,不能真正把知識(shí)用于實(shí)踐。 5.知識(shí)脈絡(luò)構(gòu)建有特色。市場(chǎng)上同類圖書要么是只講人工智能算法,要么只講大數(shù)據(jù)工具平臺(tái)。本書認(rèn)為,當(dāng)前人工智能取得重要進(jìn)展的zui根本原因是大數(shù)據(jù),絕不能把兩者割裂開來(lái)。
姚海鵬,博士,北京郵電大學(xué)副教授,主要講授網(wǎng)絡(luò)大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能等課程,主要研究方向?yàn)槲磥?lái)網(wǎng)絡(luò)體系架構(gòu)、網(wǎng)絡(luò)大數(shù)據(jù)、物聯(lián)網(wǎng)等。
1
及時(shí)章 緒論 10
1.1日益增長(zhǎng)的數(shù)據(jù) 10
1.1.1大數(shù)據(jù)基本概念 11
1.1.2大數(shù)據(jù)發(fā)展歷程 11
1.1.3大數(shù)據(jù)的特征 12
1.1.4大數(shù)據(jù)的基本認(rèn)識(shí) 13
1.2人工智能 14
1.2.1認(rèn)識(shí)人工智能 14
1.2.2人工智能的派別與發(fā)展歷史 14
1.2.3人工智能的現(xiàn)狀與應(yīng)用 14
1.2.3 當(dāng)人工智能遇上大數(shù)據(jù) 15
1.3 大數(shù)據(jù)與人工智能的機(jī)遇與挑戰(zhàn) 16
1.3.1大數(shù)據(jù)與人工智能面臨的難題 16
1.3.2大數(shù)據(jù)與人工智能的前景 17
第二章 數(shù)據(jù)工程 18
2.1數(shù)據(jù)的多樣性 18
2.1.1數(shù)據(jù)格式的多樣性 18
2.1.2數(shù)據(jù)來(lái)源的多樣性 19
2.1.3數(shù)據(jù)用途的多樣性 20
2.2數(shù)據(jù)工程的一般流程 21
2.2.1 數(shù)據(jù)獲取 21
2.2.2 數(shù)據(jù)存儲(chǔ) 21
2.2.3 數(shù)據(jù)清洗 21
2.2.4 數(shù)據(jù)建模 21
2.2.5 數(shù)據(jù)處理 22
2.3數(shù)據(jù)的獲取 22
2.3.1數(shù)據(jù)來(lái)源 23
2.3.2數(shù)據(jù)采集方法 23
2.3.3 大數(shù)據(jù)采集平臺(tái) 25
2.4數(shù)據(jù)的存儲(chǔ)與數(shù)據(jù)倉(cāng)庫(kù) 25
2.4.1數(shù)據(jù)存儲(chǔ) 25
2.4.2數(shù)據(jù)倉(cāng)庫(kù) 26
2.5數(shù)據(jù)的預(yù)處理技術(shù) 27
2.5.1 為什么要進(jìn)行數(shù)據(jù)預(yù)處理 27
2.5.2 數(shù)據(jù)清理 28
2.5.3 數(shù)據(jù)集成 29
2.5.4 數(shù)據(jù)變換 30
2.5.5 數(shù)據(jù)規(guī)約 30
2.6模型的構(gòu)建與評(píng)估 31
2.6.1模型的構(gòu)建 31
2.6.2評(píng)價(jià)指標(biāo) 31
2.7數(shù)據(jù)的可視化 33
2.7.1 可視化的發(fā)展 34
2.7.2 可視化工具 34
第三章 機(jī)器學(xué)習(xí)算法 41
3-1機(jī)器學(xué)習(xí)緒論 41
3.1.1 機(jī)器學(xué)習(xí)基本概念 41
3.1.2評(píng)價(jià)標(biāo)準(zhǔn) 43
3.1.3 機(jī)器模型的數(shù)學(xué)基礎(chǔ) 46
3-2決策樹理論 50
3.2.1決策樹模型 50
3.2.2 決策樹的訓(xùn)練 53
3.2.3 本節(jié)總結(jié) 58
3.3 樸素貝葉斯理論 59
3.4線性回歸 63
3.5邏輯斯蒂回歸 66
3.5.1二分類邏輯回歸模型 66
3.5.2 二分類邏輯斯蒂回歸的訓(xùn)練 68
3.5.3 softmax分類器 71
3.5.4邏輯斯蒂回歸和softmax的應(yīng)用 72
3.5.5本節(jié)總結(jié) 72
3.6神經(jīng)網(wǎng)絡(luò) 73
3.6.1生物神經(jīng)元和人工神經(jīng)元 73
3.6.2感知機(jī) 75
3.6.3 BP神經(jīng)網(wǎng)絡(luò) 77
3.6.4 Sklearn中的神經(jīng)網(wǎng)絡(luò) 80
3.6.5本章小結(jié) 81
3.6.6 拓展閱讀 81
3.7支持向量機(jī) 81
3.7.1 間隔 82
3.7.2 支持向量機(jī)的原始形式 84
3.7.3 支持向量機(jī)的對(duì)偶形式 86
3.7.4特征空間的隱式映射:核函數(shù) 87
3.7.5 支持向量機(jī)拓展 90
3.7.6 支持向量機(jī)的應(yīng)用 90
3.8集成學(xué)習(xí) 91
3.8.1 基礎(chǔ)概念 91
3.8.2 Boosting 94
3.8.3 Bagging 98
3.8.4 Stacking 99
3.9聚類 100
3.9.1聚類思想 100
3.9.2性能計(jì)算和距離計(jì)算 100
3.9.3原型聚類:K-means 101
3.9.4密度聚類:DBSCAN 103
3.9.5層次聚類 105
3.9.6 Sklearn中的聚類 105
3.9.7本章小結(jié) 106
3.9.8拓展閱讀 106
3.10降維與特征選擇 106
3.10.1維數(shù)爆炸與降維 106
3.10.2降維技術(shù) 107
3.10.3特征選擇算法 109
3.10.4 Sklearn中的降維 112
3.10.5本章小結(jié) 112
第四章 大數(shù)據(jù)框架 113
4-1 Hadoop簡(jiǎn)介 113
4.1.1 Hadoop的由來(lái) 113
4.1.2 MapReduce和HDFS 114
4-2 Hadoop大數(shù)據(jù)處理框架 115
4.2.1 HDFS組件與運(yùn)行機(jī)制 116
4.2.2 MapReduce組件與運(yùn)行機(jī)制 120
4.2.3 Yarn框架和運(yùn)行機(jī)制 122
4.2.4 Hadoop相關(guān)技術(shù) 123
4-3 Hadoop安裝與部署 124
4.3.1 安裝配置單機(jī)版Hadoop 124
4.3.2 單機(jī)版WordCount程序 128
4.3.3 安裝配置偽分布式Hadoop 129
4-4 MapReduce編程 135
4.4.1 MapReduce綜述 136
4.4.2 Map階段 136
4.4.3 shuffle階段 137
4.4.4 Reduce階段 138
4-5 HBase、Hive和Pig和簡(jiǎn)介 138
4.5.1 HBase簡(jiǎn)介 139
4.5.2 Hive簡(jiǎn)介 139
4.5.3 Pig簡(jiǎn)介 141
4-6 Spark簡(jiǎn)介 141
4.6.1 spark概述 141
4.6.2 Spark基本概念 142
4.6.3 spark生態(tài)系統(tǒng) 143
4.6.4 spark組件與運(yùn)行機(jī)制 144
4-7 Spark安裝使用 145
4.7.1 JDK安裝 146
4.7.2 Scala安裝 148
4.7.3 Spark安裝 148
4.7.4 Winutils安裝 148
4.7.5 使用Spark Shell 149
4.7.6 Spark文件目錄 151
4-8 Spark實(shí)例講解 152
第五章 分布式數(shù)據(jù)挖掘算法 153
5-1 K-Means聚類方法 154
5.1.1 K-Means聚類算法簡(jiǎn)介 154
5.1.2 K-Means算法的分布式實(shí)現(xiàn) 154
5-2 樸素貝葉斯分類算法 160
5.2.1 樸素貝葉斯分類并行化設(shè)計(jì)思路 160
5.2.2 樸素貝葉斯分類并行化實(shí)現(xiàn) 161
5-3 頻繁項(xiàng)集挖掘算法 166
5.3.1 Apriori頻繁項(xiàng)集挖掘算法簡(jiǎn)介 167
5.3.2 Apriori頻繁項(xiàng)集挖掘的并行化實(shí)現(xiàn) 167
5-4參考資料 172
第六章 深度學(xué)習(xí)簡(jiǎn)介 173
6-1從神經(jīng)網(wǎng)絡(luò)到深度神經(jīng)網(wǎng)絡(luò) 173
6.1.1深度學(xué)習(xí)應(yīng)用 173
6.1.2 深度神經(jīng)網(wǎng)絡(luò)的困難 175
6-2卷積神經(jīng)網(wǎng)絡(luò)CNN 176
6.2.1卷積神經(jīng)網(wǎng)絡(luò)的生物學(xué)基礎(chǔ) 176
6.2.2卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 177
6-3循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 182
6.3.1循環(huán)神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介 182
6.3.2循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 182
第七章 數(shù)據(jù)分析實(shí)例 185
7-1 基本數(shù)據(jù)分析 185
7.1.1數(shù)據(jù)介紹 185
7.1.2數(shù)據(jù)導(dǎo)入與數(shù)據(jù)初識(shí) 185
7.1.3分類 189
7.1.4 聚類 191
7.1.5回歸 192
7.1.6降維 194
7.2深度學(xué)習(xí)項(xiàng)目實(shí)戰(zhàn) 195
7.2.1 Tensorflow與keras安裝部署 196
7.2.2使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行手寫數(shù)字識(shí)別 198
7.2.3使用LSTM進(jìn)行文本情感分類 201
附 錄 206
A 矩陣基礎(chǔ) 206
B 梯度下降 209
牛頓法 210
C 拉格朗日對(duì)偶性 211
D python 語(yǔ)法知識(shí) 213
E Java語(yǔ)法基礎(chǔ)介紹 228