●第1章機器學習和統計科學1
1.1機器學習的發展2
1.2編程語言與庫6
1.3基本數學概念11
1.3.1統計學——不確定性建模的基本支柱11
1.3.2概率與隨機變量14
1.3.3概率函數的統計度量21
1.3.4微分基礎22
1.3.5預備知識22
1.4小結27
第2章學習過程28
2.1理解問題28
2.2數據集定義與檢索30
2.2.1ETL過程30
2.2.2加載數據與使用Scipy和Pandas進行探索分析31
2.2.3與IPython交互32
2.2.4二維數據處理34
2.3特征工程37
2.3.1缺失數據估算37
2.3.2獨熱編碼38
2.4數據預處理39
規範化和特征縮放39
2.5模型定義41
提出正確的問題41
2.6損失函數定義42
2.7模型擬合和評價43
數據集劃分43
2.8模型應用與結果分析44
2.8.1回歸指標45
2.8.2分類指標46
2.8.3聚類質量評估48
2.9小結50
第3章聚類51
3.1分組——一種人類行為51
3.2自動化聚類過程52
3.3尋找一個共同的中心——K-means53
3.3.1K-means的優缺點56
3.3.2K-means算法分解56
3.3.3K-means算法實現58
3.4最近鄰(NearestNeighbors)62
3.5K-NN算法實現示例64
3.6算法擴展67
3.7小結68
第4章線性回歸和邏輯回歸69
4.1回歸分析69
回歸的應用70
4.2線性回歸71
4.2.1代價函數的確定72
4.2.2分析方法74
4.2.3協方差和相關性75
4.2.4尋找協方差和相關性的斜率和截距77
4.2.5梯度下降法79
4.2.6遞歸過程表示83
4.3實踐中的數據研究和線性回歸86
4.3.1鳶尾花數據集87
4.3.2線性回歸與梯度下降93
4.4邏輯回歸103
4.4.1線性回歸和邏輯回歸103
4.4.2logit函數105
4.4.3應用邏輯回歸建立心髒疾病模型的實例109
4.5小結112
第5章神經網絡113
5.1神經模型的歷史114
5.1.1感知器模型115
5.1.2改進預測結果——ADALINE算法116
5.1.3感知器和ADALINE之間的異同118
5.1.4單層和多層感知器120
5.2使用單層感知器實現簡單的功能124
5.2.1定義並繪制傳遞函數類型124
5.2.2表示和理解傳遞函數125
5.2.3Sigmoid函數或邏輯函數126
5.2.4使用Sigmoid函數126
5.2.5修正128
5.2.6線性傳遞函數129
5.2.7定義損失函數130
5.3小結136
第6章卷積神經網絡137
6.1卷積神經網絡的起源137
6.1.1從卷積開始138
6.1.2卷積核和卷積140
6.1.3在實例中實現二維離散卷積143
6.1.4下采樣(池化)146
6.1.5通過Dropout操作提高效率148
6.2深度神經網絡149
6.2.1深度卷積網絡框架的發展149
6.2.2深度卷積神經網絡解決的問題類型154
6.3使用Keras部署一個深度神經網絡156
6.4用Quiver開發卷積模型158
6.4.1用Quiver開發卷積網絡158
6.4.2遷移學習的實現162
6.5小結167
第7章循環神經網絡168
7.1按順序解決問題——RNN168
7.1.1RNN的定義169
7.1.2RNN的發展169
7.2LSTM172
7.2.1門和乘法運算172
7.2.2設置遺忘參數(輸入門)174
7.2.3設置保持參數174
7.2.4175
7.2.5輸出過濾狀態175
7.3采用電能消耗數據預測單變量時間序列176
數據集的描述和加載176
7.4小結182
第8章近期的新模型及其發展183
8.1GAN183
GAN的應用類別184
8.2強化學習188
8.2.1馬爾可夫決策過程189
8.2.2優化馬爾可夫過程190
8.3基本強化學習技術:Q學習191
8.4小結193
第9章軟件安裝與配置194
9.1Linux繫統環境安裝194
9.1.1初始配置要求195
9.1.2Anaconda安裝195
9.1.3pip安裝200
9.2macOSX繫統環境安裝201
9.2.1Anaconda安裝201
9.2.2pip安裝204
9.3Windows繫統環境安裝205
Anaconda安裝205
9.4小結208
參考資料209