本書主要內容分為三部分,逐步引導學生由淺入深、由簡到難地學習。第一部分是環(huán)境基礎教學,包括第1、2章,分別是實驗環(huán)境搭建和Python編程語言基礎;第二部分是機器學習,包括第3~11?章,詳細介紹了機器學習的核心算法原理及相關實戰(zhàn)案例,如利用隱形眼鏡數據集構建隨機森林模型來預測適合客戶的隱形眼鏡類型、基于樸素貝葉斯分類算法實現年收入預測、采用支持向量機算法預測泰坦尼克號人員存活率;第三部分是深度學習,包括第12~16章,重點介紹深度學習基礎知識和不同經典網絡原理及相關實戰(zhàn)案例,如利用卷積神經網絡模型實現手寫數字識別、采用VGG16模型實現天氣識別,以人工智能的示范應用來啟發(fā)學生進一步進行深化研究。本書提供課程資源包,包括案例源代碼、課件PPT等。本書面向具有人工智能技術需求的相關專業(yè)學生,按照初學者的學習思維與人工智能的特點及規(guī)律進行設計,科學布局并合理規(guī)劃課程路線,緊密結合機器學習與深度學習發(fā)展歷程,并將陳述性理論知識穿插于技能訓練中。本書可作為高等院校計算機相關專業(yè)人工智能課程的教材或實踐配套教材,也可作為非計算機相關專業(yè)人工智能創(chuàng)新實驗課程和大專、培訓類學校的參考書。
劉立波,女,工學博士,教授。教育經歷:2007.09- 2010.07, 中國農業(yè)科學院農業(yè)信息研究所, 作物信息科學, 博士;1999.09-2002.07, 西北大學, 基礎數學, 碩士;1992.09-1996.07, 北京交通大學, 計算機及其應用, 學士;博士后工作經歷:2010.11 – 2012.08, 北京市農林科學院/北京理工大學。 工作經歷:2012.09 至今, 寧夏大學, 信息工程學院, 教授 ;2007.09-2011.09, 寧夏大學, 數學計算機學院, 副教授;2001.09-2007.09, 寧夏大學, 數學計算機學院, 講師 ;1998.07-2001.09, 寧夏大學, 數學計算機學院, 助教;1996.07-1998.07, 中國民航寧夏管理局, 運輸服務部, 助理工程師。參加的學術組織:中國人工智能學會會員;中國計算機學會會員;中國計算機學會數字農業(yè)分會分會執(zhí)行委員;中國仿真學會農業(yè)建模與仿真委員會專委;中國農學會計算機農業(yè)應用分會理事;寧夏科技廳項目評審專家;北京市自然基金委項目評審專家;江西省科技廳項目評審專家;寧夏工程技術編委;農業(yè)工程學報、浙江農業(yè)學報審稿專家。出版著作情況:《醫(yī)學圖像處理案例分析研究》,科學技術文獻出版社,2021年4月。所承擔過的重點科研或教研項目:科研項目:國家自然科學基金委員會, 應急管理項目, 61751215, 基于深度學習的圖像文本跨模態(tài)檢索研究, 2018.01.01-2018.12.31, 10萬元, 結題, 主持;國家自然科學基金委員會, 地區(qū)科學基金項目, 61862050, 生成對抗網絡在圖像文本跨模態(tài)檢索中的研究, 2019.01.01 - 2022.12.31, 40萬元, 在研, 主持;國家自然科學基金委員會, 面上項目, 62076142, 面向人臉視覺分析中不確定性的自監(jiān)督深度學習方法研究, 2021.01.01 - 2024.12.31, 59萬元, 在研, 參與;國家自然科學基金委員會, 地區(qū)科學基金項目, 61762073, 異質復雜社會網絡下社區(qū)發(fā)現及演變的系列問題研究, 2018.01.01 - 2021.12.31, 39萬元, 在研, 參與;寧夏科技廳, 寧夏自然科學基金, NZ17010 , 基于深度學習的醫(yī)學超聲影像智能診斷方法研究, 2017. 07 - 2018.12, 5萬元, 結題, 主持;寧夏科技廳, 寧夏自然科學基金, 2020AAC03031, 結合注意力機制的細粒度圖像分類方法研究, 2020. 07 - 2022.06, 10萬元, 結題, 主持;寧夏科技廳, 寧夏重點研發(fā)計劃, 2021BEG03024, 視頻大數據下的高速公路異常事件智能分析系統研發(fā)與應用, 2021.01 - 2023.12, 69萬元, 在研, 主持;寧夏科技廳, 寧夏重點研發(fā)計劃, 2021BEG03055, 面向慢阻肺防控管理的健康醫(yī)療大數據平臺技術研究與應用, 2021.07 - 2024.07, 59萬元, 在研, 參與。教研項目:寧夏教育廳, 寧夏回族自治區(qū)研究生教育創(chuàng)新計劃項目, YKC201604, 數字圖像處理研究與應用, 2016 .09 - 2019.09, 5萬元, 結題, 主持;寧夏教育廳, 寧夏本科教改項目-《面向計算思維的多維混合式翻轉教學模式—以《數據庫原理》課程為例》, 2019年。獲獎情況:獲得寧夏大學教學成果三等獎,2012年;《數字圖像處理》,寧夏回族自治區(qū)研究生教育創(chuàng)新計劃項目精品課程;1、獲得寧夏大學教學成果三等獎,2012年;清華攜手Google助力西部教育精品課程項目-《數據庫系統概論》,2019年;寧夏研究生教育創(chuàng)新計劃項目精品課程-《數字圖像處理研究與應用》,2016年;寧夏本科教改項目-《面向計算思維的多維混合式翻轉教學模式—以《數據庫原理》課程為例》,2019年;榮獲寧夏大學"立德樹人楷模”,2022年。
第一部分 環(huán)境基礎教學
第1章 實驗環(huán)境搭建 3
1.1 Anaconda的安裝 3
1.2 PyCharm的安裝與使用 7
1.3 包的安裝 10
1.3.1 pip的安裝與使用 10
1.3.2 NumPy的安裝 11
1.3.3 Matplotlib的安裝 11
1.3.4 Pandas的安裝 12
1.4 框架搭建 13
1.4.1 PyTorch-CPU的安裝 13
1.4.2 TensorFlow-CPU的安裝 15
1.5 本章小結 18
1.6 本章習題 18
第2章 Python編程語言基礎 19
2.1 基礎語法 19
2.1.1 輸入/輸出函數 20
2.1.2 標識符和關鍵字 22
2.1.3 變量、數據類型及注釋 23
2.1.4 運算符 25
2.2 基本程序設計方法 27
2.2.1 函數 28
2.2.2 分支結構 31
2.2.3 循環(huán) 33
2.3 編程進階 36
2.3.1 列表 37
2.3.2 字典 40
2.3.3 文件操作 43
2.4 本章小結 46
2.5 本章習題 47
第二部分 機器學習
第3章 機器學習基礎 51
3.1 基本概念 51
3.2 機器學習的三要素 52
3.2.1 模型 52
3.2.2 學習策略 53
3.2.3 優(yōu)化準則 54
3.3 評估方法 55
3.3.1 數據集劃分方法 56
3.3.2 性能度量 56
3.4 本章小結 58
3.5 本章習題 59
第4章 K近鄰算法 60
4.1 算法概述 60
4.1.1 基本概念 60
4.1.2 距離計算函數 61
4.2 實驗數據 61
4.2.1 準備數據 62
4.2.2 分析數據 62
4.2.3 處理數據 63
4.3 算法實戰(zhàn) 64
4.3.1 KNN算法實現 64
4.3.2 預測測試集并計算準確率 65
4.3.3 結果分析 65
4.4 本章小結 66
4.5 本章習題 66
第5章 決策樹算法 67
5.1 算法概述 68
5.1.1 基本概念 68
5.1.2 特征選擇 69
5.1.3 決策樹的生成 71
5.1.4 決策樹的剪枝 72
5.1.5 決策樹的存儲 72
5.1.6 決策樹的可視化 72
5.2 實驗數據 72
5.2.1 數據集介紹 73
5.2.2 導入數據集 73
5.2.3 劃分訓練集和測試集 74
5.3 算法實戰(zhàn) 75
5.3.1 計算香農熵 75
5.3.2 數據集最佳劃分函數 76
5.3.3 按照給定列劃分數據集 76
5.3.4 遞歸構建決策樹 77
5.3.5 利用訓練集生成決策樹 78
5.3.6 保存決策樹 78
5.3.7 預測測試集并計算準確率 78
5.3.8 繪制決策樹 79
5.4 本章小結 81
5.5 本章習題 81
第6章 樸素貝葉斯算法 82
6.1 算法概述 83
6.1.1 基本概念 83
6.1.2 貝葉斯算法的原理 84
6.1.3 樸素貝葉斯算法的類型 85
6.2 實驗數據 85
6.2.1 準備數據 85
6.2.2 分析數據 87
6.2.3 處理數據 89
6.3 算法實戰(zhàn) 92
6.3.1 算法構建 92
6.3.2 訓練測試數據 93
6.3.3 結果分析 93
6.4 本章小結 93
6.5 本章習題 94
第7章 Logistic回歸 95
7.1 Logistic回歸概述 95
7.1.1 基本概念 95
7.1.2 Logistic回歸算法 96
7.1.3 梯度下降法 99
7.2 Logistic回歸實戰(zhàn) 101
7.2.1 準備數據 102
7.2.2 分析數據 102
7.2.3 處理數據 103
7.3 算法實戰(zhàn) 104
7.3.1 算法構建 104
7.3.2 定義分類函數 106
7.3.3 預測測試集并計算準確率 106
7.3.4 結果分析 107
7.4 本章小結 108
7.5 本章習題 108
第8章 支持向量機 109
8.1 支持向量機算法思想 109
8.1.1 算法原理 109
8.1.2 算法流程 111
8.1.3 SMO算法 117
8.2 實驗數據 119
8.2.1 準備數據 119
8.2.2 分析數據 120
8.2.3 處理數據 122
8.3 算法實戰(zhàn) 124
8.3.1 算法構建 124
8.3.2 訓練測試數據 127
8.3.3 結果分析 128
8.4 本章小結 129
8.5 本章習題 129
第9章 隨機森林算法 130
9.1 算法概述 131
9.1.1 集成學習概述 131
9.1.2 隨機森林算法概述 132
9.2 實驗數據 134
9.2.1 準備數據 135
9.2.2 分析數據 135
9.2.3 處理數據 137
9.3 算法實戰(zhàn) 138
9.3.1 創(chuàng)建隨機森林分類器 138
9.3.2 創(chuàng)建修改參數的隨機森林 139
9.3.3 使用隨機森林模型找重要特征 140
9.3.4 可視化特征分數 140
9.3.5 在選定的特征上建立隨機森林模型 141
9.4 本章小結 142
9.5 本章習題 142
第10章 AdaBoost算法 143
10.1 算法概述 143
10.1.1 Boosting算法概述 143
10.1.2 AdaBoost算法概述 145
10.2 實驗數據 146
10.2.1 準備數據 146
10.2.2 處理數據 147
10.3 算法實戰(zhàn) 147
10.3.1 算法構建 147
10.3.2 訓練測試數據 152
10.3.3 結果分析 152
10.4 本章小結 153
10.5 本章習題 153
第11章 Apriori算法 154
11.1 算法概述 154
11.1.1 關聯分析 154
11.1.2 Apriori算法的思想 155
11.2 實驗數據 158
11.2.1 準備數據 158
11.2.2 分析數據 158
11.2.3 處理數據 159
11.3 算法實戰(zhàn) 160
11.3.1 算法構建 160
11.3.2 訓練測試數據 163
11.3.3 結果分析 163
11.4 本章小結 163
11.5 本章習題 164
第三部分 深度學習
第12章 深度學習基礎 167
12.1 基礎知識 167
12.1.1 框架介紹 167
12.1.2 PyTorch基礎語法 170
12.2 神經網絡基礎 172
12.2.1 神經元 172
12.2.2 激活函數概述 174
12.2.3 常見的激活函數 176
12.3 前饋神經網絡和反饋神經網絡 179
12.3.1 前饋神經網絡 179
12.3.2 反饋神經網絡 180
12.4 損失函數 186
12.4.1 L1和L2損失函數 187
12.4.2 交叉熵損失函數 187
12.4.3 其他常見損失函數 189
12.5 優(yōu)化方法 189
12.5.1 基本概念 189
12.5.2 梯度下降法 190
12.6 本章小結 191
12.7 本章習題 191
第13章 感知機算法 192
13.1 算法概述 192
13.1.1 感知機簡介 192
13.1.2 算法實現原理 193
13.2 實驗數據 196
13.3 算法實戰(zhàn) 196
13.3.1 and運算 196
13.3.2 鳶尾花分類 198
13.4 本章小結 200
13.5 本章習題 200
第14章 卷積神經網絡 201
14.1 模型概述 202
14.1.1 卷積神經網絡的結構及原理 202
14.1.2 卷積神經網絡的特點 203
14.1.3 卷積層 204
14.1.4 池化層 205
14.1.5 全連接層 206
14.2 實驗數據 207
14.2.1 準備數據 207
14.2.2 處理數據 209
14.3 模型構建 209
14.3.1 相關函數介紹 209
14.3.2 卷積神經網絡的構建 210
14.3.3 模型訓練 211
14.4 本章小結 214
14.5 本章習題 214
第15章 VGG16網絡 215
15.1 模型概述 216
15.1.1 VGG網絡的結構及原理 216
15.1.2 VGG網絡的特點 217
15.2 實驗數據 218
15.2.1 準備數據 218
15.2.2 處理數據 219
15.3 模型構建 220
15.3.1 構建VGG16網絡 220
15.3.2 測試模型 226
15.3.3 結果分析 227
15.4 本章小結 227
15.5 本章習題 228
第16章 循環(huán)神經網絡 229
16.1 算法概述 229
16.1.1 語言模型 229
16.1.2 循環(huán)神經網絡的原理 230
16.1.3 雙向循環(huán)神經網絡 231
16.1.4 循環(huán)神經網絡的訓練算法 232
16.1.5 長短時記憶網絡 234
16.2 數據處理 239
16.2.1 準備數據 239
16.2.2 分析數據 240
16.2.3 處理數據 241
16.3 算法實戰(zhàn) 242
16.3.1 模型構建 242
16.3.2 驗證數據 243
16.3.3 股票價格預測 244
16.4 本章小結 245
16.5 本章習題 245
參考文獻 246