人工智能應(yīng)用實踐教程(Python實現(xiàn))(慕課版)
定 價:59.8 元
- 作者:陳景強(qiáng) 周劍 薛景 陳可佳 汪云云
- 出版時間:2024/1/1
- ISBN:9787115626585
- 出 版 社:人民郵電出版社
- 中圖法分類:TP18
- 頁碼:236
- 紙張:
- 版次:01
- 開本:16開
本書主要介紹主流的人工智能理論、算法以及Python實現(xiàn)方法,目的是使學(xué)生學(xué)會人工智能理論及推導(dǎo)過程,并且掌握調(diào)用Python人工智能庫和自定義編碼的方法。全書共分10章,分別為人工智能與Python概述、Python基礎(chǔ)、線性回歸及其Python實現(xiàn)、邏輯斯蒂分類及其Python實現(xiàn)、最大熵模型及其Python實現(xiàn)、K-近鄰分類與K-均值聚類及其Python實現(xiàn)、樸素貝葉斯分類及其Python實現(xiàn)、決策樹及其Python實現(xiàn)、神經(jīng)網(wǎng)絡(luò)及其Python實現(xiàn)、圖像識別領(lǐng)域的應(yīng)用案例。
本書可作為計算機(jī)專業(yè)相關(guān)課程的教材,也可作為程序設(shè)計人員的參考書。
(1)重點介紹人工智能的主要模型方法及其Python語言的實現(xiàn)。
(2)對于人工智能主要模型方法的學(xué)習(xí),本著使讀者“知其然,知其所以然”的宗旨。
(3)通過案例教學(xué),使讀者在解決實際問題的過程中學(xué)習(xí)Python語言和人工智能。
陳景強(qiáng) 教學(xué)經(jīng)歷:擔(dān)任《高級語言程序設(shè)計A》、《面向?qū)ο蟪绦蛟O(shè)計及C++》、《Python語言程序設(shè)計》、《Python編程及人工智能應(yīng)用》教學(xué)工作;擔(dān)任貝爾學(xué)院《高級語言程序設(shè)計A》課程負(fù)責(zé)人、《Python編程及人工智能應(yīng)用》課程負(fù)責(zé)人。 科研經(jīng)歷:研究方向為自動摘要、自然語言處理、人工智能,以第一作者身份在EMNLP、FGCS等高水平國際會議和期刊上發(fā)表文章7篇,主持并結(jié)題國家自然科學(xué)基金青年基金1項,主持并結(jié)題江蘇省自然科學(xué)基金青年基金1項。
第1章 人工智能與Python概述 1
1.1 人工智能的起源與發(fā)展 1
1.2 人工智能的核心概念 3
1.2.1 人工智能的三大學(xué)派 3
1.2.2 強(qiáng)人工智能與弱人工智能 4
1.3 人工智能的分支領(lǐng)域 5
1.3.1 機(jī)器學(xué)習(xí)與深度學(xué)習(xí) 5
1.3.2 人工智能的應(yīng)用分支領(lǐng)域 7
1.4 人工智能行業(yè)應(yīng)用與人才需求 9
1.4.1 人工智能行業(yè)應(yīng)用舉例 9
1.4.2 人工智能人才需求 11
1.5 Python與人工智能的關(guān)系 12
1.6 Python人工智能開發(fā)環(huán)境安裝 13
1.6.1 Python的安裝和運行 13
1.6.2 人工智能開發(fā)庫的安裝 15
1.6.3 Python集成開發(fā)環(huán)境 16
1.6.4 Anaconda 18
本章小結(jié) 19
課后習(xí)題 19
第2章 Python基礎(chǔ) 21
2.1 基本語法 21
2.1.1 對象及其類型 21
2.1.2 變量和賦值 22
2.1.3 運算符和表達(dá)式 23
2.1.4 字符串 24
2.1.5 流程控制 26
2.2 組合數(shù)據(jù)類型 28
2.2.1 列表(list) 29
2.2.2 元組(tuple) 30
2.2.3 字典(dict) 31
2.2.4 集合(set和frozenset) 33
2.3 函數(shù) 34
2.3.1 函數(shù)的定義和調(diào)用 34
2.3.2 匿名函數(shù)與lambda關(guān)鍵字 35
2.4 異常處理和文件操作 35
2.4.1 異常處理 35
2.4.2 文件處理的一般過程 36
2.4.3 文件的寫操作 36
2.4.4 文件的讀操作 37
2.5 面向?qū)ο蟪绦蛟O(shè)計 37
2.5.1 類和對象 37
2.5.2 類的繼承 39
2.6 數(shù)值計算庫NumPy 39
2.6.1 NumPy多維數(shù)組 39
2.6.2 NumPy數(shù)組的索引和切片 44
2.6.3 NumPy數(shù)組的運算 45
2.6.4 NumPy數(shù)組的讀寫操作 46
2.6.5 NumPy中的數(shù)據(jù)統(tǒng)計與
分析 47
本章小結(jié) 49
課后習(xí)題 49
第3章 線性回歸及其Python實現(xiàn) 53
3.1 線性回歸問題簡介 53
3.2 單變量線性回歸問題 54
3.3 基于scikit-learn庫求解單變量線性
回歸 55
3.3.1 scikit-learn庫的LinearRegression
類說明 55
3.3.2 求解步驟與編程實現(xiàn) 56
3.3.3 基于scikit-learn庫的模型
評價 58
3.4 基于最小二乘法的自定義求解
單變量線性回歸 61
3.4.1 使用導(dǎo)數(shù)法求解 61
3.4.2 使用矩陣法求解 64
3.5 基于梯度下降法的自定義求解
單變量線性回歸 65
3.5.1 簡單二次函數(shù)的梯度下降法
求極值 65
3.5.2 批量梯度下降法 67
3.5.3 隨機(jī)梯度下降法 70
3.6 多變量線性回歸問題 71
3.6.1 基于scikit-learn庫求解 72
3.6.2 基于最小二乘法自定義求解 72
3.6.3 基于梯度下降法自定義求解 73
3.6.4 數(shù)據(jù)歸一化問題 74
3.6.5 高階擬合問題 75
本章小結(jié) 77
課后習(xí)題 77
第4章 邏輯斯蒂分類及其Python實現(xiàn) 79
4.1 邏輯斯蒂分類簡介 79
4.2 二分類邏輯斯蒂分類問題 81
4.3 基于scikit-learn庫求解二分類
邏輯斯蒂分類問題 83
4.3.1 scikit-learn庫的
LogisticRegression類說明 83
4.3.2 求解步驟與編程實現(xiàn) 84
4.4 基于梯度下降法求解二分類
邏輯斯蒂分類 86
4.4.1 確定優(yōu)化目標(biāo) 86
4.4.2 梯度計算 87
4.4.3 Python編程實現(xiàn) 88
4.5 分類模型的評價 90
4.5.1 分類模型的評價方法 90
4.5.2 正確率、精準(zhǔn)率、召回率和
F1指數(shù) 90
4.5.3 ROC曲線 93
4.6 非線性分類問題 94
4.6.1 非線性分類問題的提出與
分析 94
4.6.2 基于scikit-learn庫的求解
實現(xiàn) 96
4.7 正則化問題 97
4.7.1 正則化問題的提出與分析 97
4.7.2 正則化問題的求解實現(xiàn) 98
4.8 多分類邏輯斯蒂分類 100
4.8.1 問題提出與分析 100
4.8.2 基于scikit-learn庫的
求解實現(xiàn) 101
4.8.3 基于梯度下降法的自定義
求解實現(xiàn) 102
本章小結(jié) 103
課后習(xí)題 103
第5章 最大熵模型及其Python實現(xiàn) 105
5.1 最大熵模型簡介 105
5.2 最大熵模型定義與對偶形式 106
5.2.1 最大熵模型的定義 106
5.2.2 最大熵模型的對偶形式 107
5.2.3 最大熵模型的應(yīng)用舉例 109
5.2.4 最大熵模型與Softmax
分類器 111
5.3 最大熵模型的優(yōu)化算法及
Python實現(xiàn) 111
5.3.1 通用迭代尺度算法 111
5.3.2 基于GIS算法的最大熵模型的
Python實現(xiàn) 112
5.3.3 改進(jìn)的迭代尺度算法 115
5.3.4 基于IIS算法的最大熵模型的
Python實現(xiàn) 117
5.4 熵相關(guān)指標(biāo)總結(jié) 119
本章小結(jié) 121
課后習(xí)題 121
第6章 K-近鄰分類與K-均值聚類及其Python實現(xiàn) 122
6.1 “近鄰”與分類和聚類 122
6.2 K-近鄰分類 122
6.2.1 K-近鄰分類的定義 122
6.2.2 自定義程序?qū)崿F(xiàn)K-近鄰
分類算法 123
6.2.3 K-近鄰分類模型的3個基本
要素 125
6.2.4 基于scikit-learn庫實現(xiàn)K-近鄰
分類算法 126
6.2.5 K-近鄰分類算法的優(yōu)缺點
分析 127
6.3 K-均值聚類 129
6.3.1 K-均值聚類算法的定義 129
6.3.2 自定義程序?qū)崿F(xiàn)K-均值
聚類算法 130
6.3.3 基于scikit-learn庫實現(xiàn)K-均值
聚類算法 131
本章小結(jié) 132
課后習(xí)題 132
第7章 樸素貝葉斯分類及其Python
實現(xiàn) 134
7.1 貝葉斯分類簡介 134
7.2 樸素貝葉斯分類的定義、推導(dǎo)與
建!135
7.2.1 定義與推導(dǎo) 135
7.2.2 對房屋是否好賣預(yù)測案例的
建模與計算 136
7.3 自定義程序?qū)崿F(xiàn)樸素貝葉斯分類 138
7.3.1 建立特征矩陣 138
7.3.2 計算先驗概率 138
7.3.3 進(jìn)行預(yù)測 139
7.3.4 Python編程實現(xiàn) 140
7.4 基于scikit-learn庫實現(xiàn)樸素
貝葉斯分類 141
7.4.1 scikit-learn庫的
MultinomialNB類說明 141
7.4.2 求解步驟與編程實現(xiàn) 142
7.5 連續(xù)型特征值的樸素貝葉斯分類 143
7.5.1 問題定義與分析 143
7.5.2 基于scikit-learn庫的
GaussianNB類實現(xiàn) 145
本章小結(jié) 145
課后習(xí)題 146
第8章 決策樹及其Python實現(xiàn) 148
8.1 決策樹簡介 148
8.2 ID3決策樹 149
8.2.1 ID3決策樹的基本原理 149
8.2.2 基于NumPy庫構(gòu)建ID3
決策樹 150
8.2.3 用ID3決策樹實現(xiàn)分類 156
8.3 CART決策樹 157
8.3.1 CART決策樹的基本原理 157
8.3.2 scikit-learn庫的
DecisionTreeRegressor類介紹 158
8.3.3 基于scikit-learn庫構(gòu)建
CART決策樹 159
8.3.4 用CART回歸樹實現(xiàn)預(yù)測 162
本章小結(jié) 163
課后習(xí)題 164
第9章 神經(jīng)網(wǎng)絡(luò)及其Python實現(xiàn) 166
9.1 神經(jīng)網(wǎng)絡(luò)簡介 166
9.2 TensorFlow 167
9.2.1 TensorFlow簡介 167
9.2.2 TensorFlow 2.0的安裝 168
9.2.3 TensorFlow 2.0的張量 168
9.2.4 TensorFlow 2.0的基本運算 169
9.2.5 TensorFlow 2.0的自動微分和
梯度計算 170
9.2.6 TensorFlow 2.0的常用模塊 171
9.3 Keras 171
9.3.1 Keras簡介 171
9.3.2 Keras的安裝 172
9.3.3 Keras的Sequential模型 172
9.3.4 Keras的Model模型 173
9.4 全連接神經(jīng)網(wǎng)絡(luò)及其Keras實現(xiàn) 174
9.4.1 全連接神經(jīng)網(wǎng)絡(luò)的基本原理 174
9.4.2 基于Keras庫構(gòu)建全連接
神經(jīng)網(wǎng)絡(luò) 176
9.4.3 基于Keras庫訓(xùn)練全連接
神經(jīng)網(wǎng)絡(luò) 179
9.4.4 用全連接神經(jīng)網(wǎng)絡(luò)實現(xiàn)
圖像識別 181
9.5 全連接神經(jīng)網(wǎng)絡(luò)的自定義程序
實現(xiàn) 182
9.5.1 全連接神經(jīng)網(wǎng)絡(luò)類的定義 182
9.5.2 激活函數(shù)和損失函數(shù)的定義 183
9.5.3 全連接神經(jīng)網(wǎng)絡(luò)模型的定義 184
9.5.4 訓(xùn)練函數(shù)的定義 185
9.5.5 測試函數(shù)的定義 186
9.5.6 主函數(shù)的定義 186
9.6 卷積神經(jīng)網(wǎng)絡(luò)及其TensorFlow
實現(xiàn) 187
9.6.1 卷積神經(jīng)網(wǎng)絡(luò)的基本原理 187
9.6.2 基于TensorFlow庫構(gòu)建卷積
神經(jīng)網(wǎng)絡(luò) 189
9.6.3 基于TensorFlow庫訓(xùn)練卷積
神經(jīng)網(wǎng)絡(luò) 191
9.6.4 用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)
圖像識別 193
9.7 卷積神經(jīng)網(wǎng)絡(luò)的AlexNet編程
實現(xiàn) 193
9.7.1 準(zhǔn)備工作 194
9.7.2 AlexNet類的定義 195
9.7.3 主函數(shù)的定義 196
本章小結(jié) 196
課后習(xí)題 197
第10章 圖像識別領(lǐng)域的應(yīng)用案例 198
10.1 圖像識別問題簡介 198
10.2 CIFAR10數(shù)據(jù)集 198
10.2.1 數(shù)據(jù)集簡介 198
10.2.2 數(shù)據(jù)預(yù)處理和加載
cifar10_reader.py 200
10.3 基于K-近鄰分類的圖像識別 203
10.3.1 問題分析 203
10.3.2 數(shù)據(jù)采樣 203
10.3.3 數(shù)據(jù)間距離計算 204
10.3.4 實現(xiàn)K-近鄰分類算法 206
10.3.5 用常規(guī)驗證方法選取K值 207
10.3.6 用交叉驗證法選取K值 208
10.4 基于邏輯斯蒂分類的圖像識別 210
10.4.1 自定義程序?qū)崿F(xiàn)圖像識別 210
10.4.2 基于LogisticRegression
類實現(xiàn)圖像識別 211
10.5 基于最大熵模型的圖像識別 212
10.5.1 Softmax分類器 212
10.5.2 加載和預(yù)處理數(shù)據(jù) 214
10.5.3 實現(xiàn)圖像識別 215
10.5.4 歸一化方法的影響 217
10.6 基于樸素貝葉斯分類的圖像識別 217
10.6.1 連續(xù)型特征值的樸素貝葉斯
圖像識別 217
10.6.2 離散型特征值的樸素貝葉斯
圖像識別 218
10.7 基于全連接神經(jīng)網(wǎng)絡(luò)的圖像識別 220
10.7.1 基于Keras實現(xiàn)全連接神經(jīng)
網(wǎng)絡(luò)圖像識別 220
10.7.2 自定義程序?qū)崿F(xiàn)雙層全連接
神經(jīng)網(wǎng)絡(luò) 223
10.7.3 使用自定義TwoLayerNet
類進(jìn)行圖像分類 226
10.8 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別 228
10.8.1 基于基礎(chǔ)卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)
圖像識別 228
10.8.2 基于VGGNet實現(xiàn)圖像
識別 230
10.8.3 基于ResNet實現(xiàn)圖像
識別 232
本章小結(jié) 236
課后習(xí)題 236