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