機器學習入門:數學原理解析及算法實踐
內容描述
本書面向初學者,比較全面的介紹了機器學習的基本方法,
循序漸進的闡述了其中的數學原理,讓讀者能夠知其然,然後知其所以然。
書中結合應用場景,列舉了大量編程實例幫助讀者開展動手實踐,
理論與實踐相輔相成,對算法原理產生更加直觀和感性的認識。
作者希望能夠通過本書幫助讀者揭開人工智能領域的神秘面紗,
走進人工智能和機器學習的大門,了解其中的奧秘,
甚至成為該領域的學習者、研究者和實踐者。
目錄大綱
序言
前言
第一部分
第 1 章 專家系統 2
1.1 早期的專家系統 2
1.2 正向推理 4
1.3 逆向推理 5
1.4 謂詞邏輯 6
1.5 專家系統的貢獻和困難7
1.6 動手實踐 9
1.6.1 簡化的專家系統 10
1.6.2 正向推理 10
1.6.3 逆向推理 11
參考文獻 13
第 2 章 決策樹 14
2.1 分類問題 15
2.2 構造決策樹 16
2.3 ID3 算法 17
2.4 信息熵 19
2.5 基尼不純度 21
2.6 動手實踐 22
2.6.1 計算信息熵 22
2.6.2 構造決策樹 23
2.6.3 使用 scikit-learn軟件包27
參考文獻 30
第 3 章 神經元和感知機 31
3.1 生物神經元31
3.2 早期感知機模型 33
3.3 現代的模型34
3.4 學習模型參數 36
3.4.1 梯度下降法 36
3.4.2 Delta 法則 37
3.5 動手實踐 38
3.5.1 實現感知機模型 38
3.5.2 識別手寫數字 43
參考文獻 48
第 4 章 線性回歸 49
4.1 線性回歸概述 49
4.2 最小二乘法51
4.3 矩陣形式 52
4.4 一般性的回歸問題54
4.5 動手實踐 54
4.5.1 實現一維線性回歸 54
4.5.2 實現最小二乘法 56
4.5.3 使用 numpy 軟件包59
第 5 章 邏輯斯蒂回歸和分類器 64
5.1 分類問題 64
5.2 最大似然估計 66
5.3 交叉熵損失函數 67
5.4 多類別分類68
5.4.1 多類別邏輯斯蒂回歸69
5.4.2 歸一化指數函數 70
5.4.3 交叉熵誤差和均方誤差的比較 72
5.5 分類器的決策邊界 73
5.6 支持向量機 75
5.6.1 支持向量 77
5.6.2 拉格朗日乘子法 78
5.6.3 非線性分類與核函數 80
5.7 動手實踐82
5.7.1 使用邏輯斯蒂回歸82
5.7.2 觀察分類邊界 83
5.7.3 使用支持向量機 85
參考文獻 87
第二部分
第 6 章 人工神經網絡 90
6.1 異或問題和多層感知機 90
6.2 反向傳播算法92
6.3 深度神經網絡94
6.3.1 生物神經機制的啟示 94
6.3.2 解決深度神經網絡面臨的問題 95
6.4 卷積和池化 98
6.4.1 神經連接的局部性 98
6.4.2 平移不變性99
6.4.3 卷積處理圖像的效果 99
6.4.4 簡單細胞和復雜細胞的仿生學 102
6.5 循環神經網絡 103
6.6 使用 PyTorch 軟件包 104
6.7 動手實踐 106
6.7.1 識別手寫數字106
6.7.2 準備訓練數據109
6.7.3 訓練神經網絡模型 110
6.8 物體檢測 113
6.8.1 YOLO 模型 114
6.8.2 YOLO 模型的損失函數 115
6.8.3 縮微 YOLO 模型的網絡結構116
6.8.4 實現縮微 YOLO 模型118
6.8.5 加載模型權值數據 123
6.8.6 處理真實圖像 125
6.8.7 觀察物體檢測結果128
參考文獻 129
第 7 章 集成學習131
7.1 隨機森林 131
7.2 自適應增強算法AdaBoost133
7.2.1 弱分類器的迭代組合 134
7.2.2 AdaBoost 算法的正確性 136
7.3 梯度提升算法 139
7.3.1 回顧梯度下降法 139
7.3.2 梯度提升算法的一般描述 140
7.3.3 均方誤差的梯度提升算法 142
7.4 偏差和方差143
7.5 動手實踐 146
7.5.1 使用 pandas 軟件包處理數據 146
7.5.2 使用集成學習算法 149
參考文獻 152
第 8 章 聚類分析 153
8.1 有監督學習和無監督學習153
8.2 K 均值聚類 154
8.3 距離的度量 156
8.4 期望最大化算法 157
8.5 高斯混合模型158
8.6 DBSCAN 算法 160
8.7 SOM 神經網絡 162
8.8 動手實踐 164
8.8.1 實現 K 均值聚類算法 164
8.8.2 圖像色彩聚類 166
8.8.3 使用 scikit-learn軟件包167
參考文獻 168
第 9 章 強化學習 169
9.1 馬爾可夫決策過程 169
9.2 值函數 171
9.3 蒙特卡洛法 173
9.4 時間差分法 175
9.5 深度值網絡 DQN 177
9.6 動手實踐 178
9.6.1 掃地機器人示例 179
9.6.2 描述機器人與環境的交互 179
9.6.3 實現值函數的神經網絡模型183
9.6.4 實現回放記憶 184
9.6.5 實現基於時間差分法的訓練過程 185
9.6.6 掃地機器人對房間的探索過程 189
參考文獻 190
第 10 章 自然語言處理191
10.1 隱馬爾可夫模型 192
10.2 維特比算法 194
10.3 詞向量的表示方法195
10.3.1 獨熱表示196
10.3.2 詞嵌入 196
10.3.3 統計語言模型 197
10.4 循環神經網絡 199
10.4.1 長短期記憶和門控循環單元 200
10.4.2 編碼器–解碼器模型202
10.4.3 注意力機制 203
10.5 動手實踐 206
10.5.1 英文人名翻譯 206
10.5.2 實現編碼器和解碼器 206
10.5.3 人名翻譯實驗結果 209
參考文獻212