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