目 錄
第1章 線性回歸 1
1.1 線性回歸模型 1
1.2 小二乘法 2
1.3 梯度下降 4
1.3.1 梯度下降算法 4
1.3.2 隨機梯度下降和小批量梯度下降 6
1.4 算法實現(xiàn) 7
1.4.1 小二乘法 7
1.4.2 梯度下降 9
1.5 項目實戰(zhàn) 12
1.5.1 準備數(shù)據 12
1.5.2 模型訓練與測試 13
第2章 Logistic回歸與Softmax回歸 20
2.1 Logistic回歸 20
2.1.1 線性模型 20
2.1.2 logistic函數(shù) 21
2.1.3 Logistic回歸模型 23
2.1.4 極大似然法估計參數(shù) 24
2.1.5 梯度下降更新公式 25
2.2 Softmax回歸 26
2.2.1 Softmax函數(shù) 26
2.2.2 Softmax回歸模型 27
2.2.3 梯度下降更新公式 27
2.3 編碼實現(xiàn) 28
2.3.1 Logistic回歸 28
2.3.2 Softmax回歸 32
2.4 項目實戰(zhàn) 36
2.4.1 Logistic回歸 36
2.4.2 Softmax回歸 43
第3章 決策樹——分類樹 46
3.1 決策樹模型 46
3.2 生成決策樹 48
3.3 切分特征的選擇 49
3.3.1 信息熵 49
3.3.2 條件信息熵 50
3.3.3 信息增益 51
3.3.4 信息增益比 53
3.4 算法實現(xiàn) 53
3.5 繪制決策樹 57
3.6 項目實戰(zhàn) 64
3.6.1 準備數(shù)據 64
3.6.2 模型訓練與測試 66
第4章 決策樹——分類回歸樹 70
4.1 CART算法的改進 70
4.2 處理連續(xù)值特征 71
4.3 CART分類樹與回歸樹 72
4.3.1 CART分類樹 72
4.3.2 CART回歸樹 74
4.4 算法實現(xiàn) 75
4.4.1 CART分類樹 75
4.4.2 CART回歸樹 80
4.5 項目實戰(zhàn) 85
4.5.1 CART分類樹 85
4.5.2 CART回歸樹 89
第5章 樸素貝葉斯 95
5.1 樸素貝葉斯模型 95
5.1.1 貝葉斯公式 95
5.1.2 貝葉斯分類器 97
5.1.3 樸素貝葉斯分類器 97
5.2 模型參數(shù)估計 98
5.2.1 極大似然估計 98
5.2.2 貝葉斯估計 102
5.3 算法實現(xiàn) 103
5.4 項目實戰(zhàn) 105
5.4.1 準備數(shù)據 106
5.4.2 模型訓練與測試 108
第6章 支持向量機 110
6.1 線性可分支持向量機 110
6.1.1 分離超平面 110
6.1.2 間隔化 112
6.1.3 拉格朗日對偶法 113
6.1.4 分類決策函數(shù) 116
6.1.5 線性可分支持向量機算法 117
6.2 線性支持向量機 118
6.2.1 軟間隔化 118
6.2.2 線性支持向量機算法 121
6.3 非線性支持向量機 122
6.3.1 空間變換 122
6.3.2 核技巧 123
6.3.3 非線性支持向量機算法 124
6.4 SMO算法 125
6.4.1 兩個變量化問題的求解 126
6.4.2 變量選擇 129
6.4.3 更新b 131
6.4.4 更新E緩存 132
6.5 算法實現(xiàn) 133
6.6 項目實戰(zhàn) 139
6.6.1 準備數(shù)據 140
6.6.2 模型訓練與測試 141
第7章 k近鄰學習 145
7.1 kNN學習 145
7.1.1 kNN學習模型 145
7.1.2 距離的度量 146
7.1.3 k值的選擇 149
7.2 kNN的一種實現(xiàn):k-d樹 150
7.2.1 構造k-d樹 150
7.2.2 搜索k-d樹 153
7.3 算法實現(xiàn) 155
7.3.1 線性掃描版本 155
7.3.2 k-d樹版本 157
7.4 項目實戰(zhàn) 161
7.4.1 準備數(shù)據 162
7.4.2 模型訓練與測試 163
第8章 K-Means 167
8.1 K-Means 167
8.1.1 距離的度量 168
8.1.2 聚類算法的性能 169
8.1.3 K-Means算法 171
8.2 K-Means 172
8.3 算法實現(xiàn) 173
8.3.1 K-Means 173
8.3.2 K-Means 176
8.4 項目實戰(zhàn) 179
8.4.1 準備數(shù)據 180
8.4.2 模型訓練與測試 181
第9章 人工神經網絡 184
9.1 神經網絡 184
9.1.1 人造神經元 184
9.1.2 神經網絡 187
9.2 反向傳播算法 188
9.2.1 輸出節(jié)點的權值更新 189
9.2.2 隱藏節(jié)點的權值更新 190
9.3 算法實現(xiàn) 192
9.3.1 神經網絡分類器 192
9.3.2 神經網絡回歸器 196
9.4 項目實戰(zhàn) 202
9.4.1 準備數(shù)據 203
9.4.2 模型訓練與測試 206