當(dāng)前AI圖書(shū)市場(chǎng),理論知識(shí)與實(shí)踐經(jīng)驗(yàn)的脫節(jié),是很多書(shū)籍的缺點(diǎn)。本書(shū)立足于理論,從實(shí)例入手,將理論知識(shí)和實(shí)際應(yīng)用結(jié)合,目標(biāo)是讓讀者能夠快速地熟悉人工智能中經(jīng)典算法。全書(shū)分為4篇,共20章。其中第1篇為基礎(chǔ)算法篇,主要講述排序、查找、線(xiàn)性結(jié)構(gòu)、樹(shù)、隊(duì)列、散列、圖、堆棧等基本數(shù)據(jù)結(jié)構(gòu)算法;第2篇為機(jī)器學(xué)習(xí)算法篇,主要講述分類(lèi)算法、回歸算法、聚類(lèi)算法、降維算法和集成算法;第3篇為強(qiáng)化學(xué)習(xí)算法篇,主要講述基于價(jià)值的強(qiáng)化學(xué)習(xí)算法和基于策略的強(qiáng)化學(xué)習(xí)算法;第4 篇為深度學(xué)習(xí)算法篇,主要講述神經(jīng)網(wǎng)絡(luò)模型算法、循環(huán)神經(jīng)網(wǎng)絡(luò)算法和卷積神經(jīng)網(wǎng)絡(luò)算法等內(nèi)容。
本書(shū)適合從事數(shù)據(jù)科學(xué)與人工智能相關(guān)行業(yè)的讀者閱讀。
唐宇迪,計(jì)算機(jī)專(zhuān)業(yè)博士,網(wǎng)易云課堂人工智能認(rèn)證行家,51CTO學(xué)院講師,CSDN博客講師。擁有多年人工智能領(lǐng)域培訓(xùn)經(jīng)驗(yàn),帶領(lǐng)課程研發(fā)團(tuán)隊(duì)累計(jì)開(kāi)發(fā)AI課程60余門(mén),覆蓋當(dāng)下人工智能熱門(mén)應(yīng)用領(lǐng)域。2020年10月在我社出版《人工智能數(shù)學(xué)基礎(chǔ)》,定價(jià)119元,印刷1.6萬(wàn)冊(cè)。
史衛(wèi)亞,,1973年4月出生,博士,副教授,IEEE會(huì)員,CCF會(huì)員,INNS會(huì)員。2009年獲得復(fù)旦大學(xué)計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)博士學(xué)位。2015-2016年在美國(guó)北卡羅納大學(xué)做訪(fǎng)問(wèn)學(xué)者,現(xiàn)執(zhí)教于河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院。主要研究方向:機(jī)器學(xué)習(xí)、數(shù)據(jù)庫(kù)、圖像和視頻處理、人工智能和模式識(shí)別。
羅召勇,B站人氣網(wǎng)紅講師,錄制的“數(shù)據(jù)結(jié)構(gòu)與算法”“微信公眾號(hào)開(kāi)發(fā)”“分布式微服務(wù)架構(gòu)(直播回放)”“微信公眾號(hào)開(kāi)發(fā)springboot版”視頻課程發(fā)布于B站、騰訊課堂、網(wǎng)易云課堂、愛(ài)奇藝課堂等各大平臺(tái),累計(jì)播放量超50萬(wàn),其中B站播放量30萬(wàn)余,獲得網(wǎng)絡(luò)學(xué)員的一致好評(píng)。1+X大數(shù)據(jù)職業(yè)技能等級(jí)考試出題人,1+X大數(shù)據(jù)職業(yè)技能等級(jí)考試師資培訓(xùn)專(zhuān)家,貴州省教育科學(xué)院官網(wǎng)項(xiàng)目技術(shù)指導(dǎo)。
第0章 人工智能與算法1
0.1 人工智能發(fā)展的水平 2
0.2 人工智能技術(shù)總覽 3
0.3 算法在人工智能技術(shù)中的地位 9
0.4 學(xué)好算法能有哪些競(jìng)爭(zhēng)優(yōu)勢(shì) 10
第1章 排序算法12
1.1 冒泡排序(Bubble Sort) 13
1.2 直接插入排序(Insert Sort) 20
1.3 直接選擇排序(Select Sort) 24
1.4 升級(jí)版冒泡排序——快速排序(Quick Sort) 26
1.5 升級(jí)版插入排序——希爾排序(Shell Sort) 29
1.6 升級(jí)版選擇排序——堆排序(Heap Sort) 31
1.7 歸并排序(Merge Sort) 34
1.8 基數(shù)排序(Radix Sort) 36
1.9 應(yīng)用:應(yīng)該使用哪種排序算法 40
1.10 高手點(diǎn)撥 42
1.11 編程練習(xí) 42
1.12 面試真題 42
第2章 查找算法43
2.1 線(xiàn)性查找(Line Search)——傻瓜式查找 44
2.2 二分查找(Binary Search)——排除另一半 44
2.3 插值查找(Insert Search)——預(yù)判位置 45
2.4 斐波那契查找(Fibonacci Search)——黃金分割法 46
2.5 樹(shù)結(jié)構(gòu)查找(Tree Search) 48
2.6 散列查找(Hash Search) 48
2.7 應(yīng)用:自實(shí)現(xiàn)indexOf函數(shù) 49
2.8 高手點(diǎn)撥 49
2.9 編程練習(xí) 50
2.10 面試真題 50
第3章 字符串算法51
3.1 樸素算法 52
3.2 KMP算法 53
3.3 Boyer-Moore算法 55
3.4 Rabin-Karp算法 59
3.5 Trie樹(shù) 59
3.6 應(yīng)用:AC自動(dòng)機(jī)算法 60
3.7 高手點(diǎn)撥 64
3.8 編程練習(xí) 65
3.9 面試真題 65
第4章 線(xiàn)性結(jié)構(gòu)66
4.1 鏈表 67
4.2 棧 72
4.3 隊(duì)列 73
4.4 應(yīng)用:逆波蘭計(jì)算器 74
4.5 高手點(diǎn)撥 81
4.6 編程練習(xí) 82
4.7 面試真題 82
第5章 樹(shù)結(jié)構(gòu)83
5.1 樹(shù)結(jié)構(gòu)概述 84
5.2 二叉樹(shù) 84
5.3 線(xiàn)索二叉樹(shù) 90
5.4 二叉查找樹(shù) 92
5.5 K近鄰算法與k-d樹(shù) 111
5.6 赫夫曼樹(shù) 119
5.7 多路查找樹(shù) 134
5.7.1 2-3樹(shù) 134
5.7.2 B樹(shù) 140
5.7.3 B+樹(shù) 140
5.8 高手點(diǎn)撥 141
5.9 編程練習(xí) 141
5.10 面試真題 142
第6章 堆結(jié)構(gòu)143
6.1 二叉堆 144
6.2 d-堆 144
6.3 二項(xiàng)堆 145
6.4 斐波那契堆 148
6.5 左式堆 150
6.6 斜堆 152
6.7 應(yīng)用:優(yōu)先隊(duì)列 152
6.8 高手點(diǎn)撥 153
6.9 編程練習(xí) 153
6.10 面試真題 153
第7章 散列結(jié)構(gòu)154
7.1 散列概述 155
7.2 散列函數(shù)的設(shè)計(jì) 156
7.3 解決沖突 157
7.4 完美散列 160
7.5 應(yīng)用 161
7.6 高手點(diǎn)撥 162
7.7 編程練習(xí) 162
7.8 面試真題 162
第8章 圖結(jié)構(gòu)163
8.1 圖結(jié)構(gòu)概述 164
8.2 圖的存儲(chǔ) 167
8.3 圖的搜索 170
8.4 拓?fù)渑判?173
8.5 應(yīng)用:修路問(wèn)題 175
8.6 高手點(diǎn)撥 178
8.7 編程練習(xí) 179
8.8 面試真題 179
第9章 遞歸算法180
9.1 遞歸的概述 181
9.2 應(yīng)用:漢諾塔問(wèn)題 183
9.3 高手點(diǎn)撥 185
9.4 編程練習(xí) 185
9.5 面試真題 185
第10章 分類(lèi)算法186
10.1 分類(lèi)算法概述 187
10.2 決策樹(shù) 192
10.3 支持向量機(jī) 207
10.4 樸素貝葉斯算法 223
10.5 綜合案例——基于SVM算法的癌癥預(yù)測(cè) 231
10.6 高手點(diǎn)撥 235
10.7 編程練習(xí) 236
10.8 面試真題 236
第11章 回歸算法237
11.1 回歸算法概述 238
11.2 線(xiàn)性回歸算法 238
11.3 邏輯回歸算法 251
11.4 綜合案例——信用卡欺詐檢測(cè) 259
11.5 高手點(diǎn)撥 264
11.6 編程練習(xí) 266
11.7 面試真題 267
第12章 聚類(lèi)算法268
12.1 聚類(lèi)算法概述 269
12.2 K-means算法 270
12.3 K-means算法實(shí)踐 276
12.4 DBSCAN算法 284
12.5 綜合案例——圖像分割 290
12.6 高手點(diǎn)撥 292
12.7 編程練習(xí) 293
12.8 面試真題 294
第13章 降維算法295
13.1 降維算法概述 296
13.2 主成分分析 296
13.3 線(xiàn)性判別分析 306
13.4 綜合案例——基于PCA和邏輯回歸算法對(duì)鳶尾花數(shù)據(jù)集分類(lèi) 313
13.5 高手點(diǎn)撥 315
13.6 編程練習(xí) 316
13.7 面試真題 317
第14章 集成學(xué)習(xí)算法318
14.1 集成學(xué)習(xí)概述 319
14.2 Bagging算法 319
14.3 Boosting算法 321
14.4 XGBoost算法 322
14.5 綜合案例——基于XGBoost算法的客戶(hù)流失預(yù)測(cè) 335
14.6 高手點(diǎn)撥 346
14.7 編程練習(xí) 346
14.8 面試真題 347
第15章 基于價(jià)值的強(qiáng)化學(xué)習(xí)(Value-Based RL)算法348
15.1 強(qiáng)化學(xué)習(xí) 349
15.2 Q-Learning算法 351
15.3 DQN(Deep Q-Learning)算法 356
15.4 綜合案例——讓AI自主探索迷宮 363
15.5 高手點(diǎn)撥 366
15.6 編程練習(xí) 366
15.7 面試真題 366
第16章 基于策略的強(qiáng)化學(xué)習(xí)(Policy-Based RL)算法367
16.1 策略梯度(Policy Gradient)算法 368
16.2 Actor-Critic算法 377
16.3 綜合案例——超級(jí)馬里奧的實(shí)現(xiàn) 386
16.4 高手點(diǎn)撥 389
16.5 編程練習(xí) 389
16.6 面試真題 389
第17章 神經(jīng)網(wǎng)絡(luò)模型算法390
17.1 神經(jīng)網(wǎng)絡(luò)概述 391
17.2 神經(jīng)元模型和神經(jīng)網(wǎng)絡(luò)模型 392
17.3 BP神經(jīng)網(wǎng)絡(luò)算法 39
17.4 綜合案例——使用神經(jīng)網(wǎng)絡(luò)進(jìn)行回歸預(yù)測(cè) 403
17.5 高手點(diǎn)撥 407
17.6 編程練習(xí) 407
17.7 面試真題 408