前言
第1章 機器學習概述1
1.1 何謂機器學習1
1.1.1 機器學習常用基本概念2
1.1.2 機器學習類型3
1.1.3 機器學習應用開發步驟4
1.2 集成學習發展與XGBoost提齣5
1.2.1 集成學習5
1.2.2 XGBoost6
1.3 小結7
第2章 XGBoost驪珠初探9
2.1 搭建Python機器學習環境9
2.1.1 Jupyter Notebook10
2.1.2 NumPy11
2.1.3 Pandas18
2.1.4 Matplotlib32
2.1.5 scikit-learn39
2.2 搭建XGBoost運行環境39
2.3 示例:XGBoost告訴你蘑菇是否有毒42
2.4 小結44
第3章 機器學習算法基礎45
3.1 KNN45
3.1.1 KNN關鍵因素46
3.1.2 用KNN預測鳶尾花品種47
3.2 綫性迴歸52
3.2.1 梯度下降法53
3.2.2 模型評估55
3.2.3 通過綫性迴歸預測波士頓房屋價格55
3.3 邏輯迴歸57
3.3.1 模型參數估計59
3.3.2 模型評估60
3.3.3 良性/惡性乳腺腫瘤預測61
3.3.4 softmax64
3.4 決策樹65
3.4.1 構造決策樹66
3.4.2 特徵選擇67
3.4.3 決策樹剪枝71
3.4.4 決策樹解決腫瘤分類問題71
3.5 正則化75
3.6 排序78
3.6.1 排序學習算法80
3.6.2 排序評價指標81
3.7 人工神經網絡85
3.7.1 感知器85
3.7.2 人工神經網絡的實現原理87
3.7.3 神經網絡識彆手寫體數字90
3.8 支持嚮量機92
3.8.1 核函數95
3.8.2 鬆弛變量97
3.8.3 通過SVM識彆手寫體數字98
3.9 小結99
第4章 XGBoost小試牛刀100
4.1 XGBoost實現原理100
4.2 二分類問題101
4.3 多分類問題109
4.4 迴歸問題113
4.5 排序問題117
4.6 其他常用功能121
4.7 小結145
第5章 XGBoost原理與理論證明146
5.1 CART146
5.1.1 CART生成147
5.1.2 剪枝算法150
5.2 Boosting算法思想與實現151
5.2.1 AdaBoost151
5.2.2 Gradient Boosting151
5.2.3 縮減153
5.2.4 Gradient Tree Boosting153
5.3 XGBoost中的Tree Boosting154
5.3.1 模型定義155
5.3.2 XGBoost中的Gradient Tree Boosting156
5.4 切分點查找算法161
5.4.1 精確貪心算法161
5.4.2 基於直方圖的近似算法163
5.4.3 快速直方圖算法165
5.4.4 加權分位數概要算法167
5.4.5 稀疏感知切分點查找算法167
5.5 排序學習169
5.6 DART174
5.7 樹模型的可解釋性177
5.7.1 Saabas177
5.7.2 SHAP179
5.8 綫性模型原理183
5.8.1 Elastic Net迴歸183
5.8.2 並行坐標下降法184
5.8.3 XGBoost綫性模型的實現185
5.9 係統優化187
5.9.1 基於列存儲數據塊的並行學習188
5.9.2 緩存感知訪問190
5.9.3 外存塊計算191
5.10 小結192
第6章 分布式XGBoost193
6.1 分布式機器學習框架Rabit 193
6.1.1 AllReduce193
6.1.2 Rabit195
6.1.3 Rabit應用197
6.2 資源管理係統YARN 200
6.2.1 YARN的基本架構201
6.2.2 YARN的工作流程202
6.2.3 XGBoost on YARN203
6.3 可移植分布式XGBoost4J205
6.4 基於Spark平颱的實現208
6.4.1 Spark架構208
6.4.2 RDD210
6.4.3 XGBoost4J-Spark211
6.5 基於Flink平颱的實現223
6.5.1 Flink原理簡介224
6.5.2 XGBoost4J-Flink227
6.6 基於GPU加速的實現229
6.6.1 GPU及其編程語言簡介229
6.6.2 XGBoost GPU加速原理230
6.6.3 XGBoost GPU應用236
6.7 小結239
第7章 XGBoost進階240
7.1 模型訓練、預測及解析240
7.1.1 樹模型訓練240
7.1.2 綫性模型訓練256
7.1.3 模型預測258
7.1.4 模型解析261
7.2 樹模型更新264
7.2.1 updater_colmaker264
7.2.2 updater_histmaker264
7.2.3 updater_fast_hist271
7.2.4 其他更新器276
7.3 目標函數278
7.3.1 二分類279
7.3.2 迴歸280
7.3.3 多分類282
7.3.4 排序學習284
7.4 評估函數288
7.4.1 概述289
7.4.2 二分類291
7.4.3 多分類295
7.4.4 迴歸296
7.4.5 排序297
7.5 小結299
第8章 模型選擇與優化300
8.1 偏差與方差300
8.2 模型選擇303
8.2.1 交叉驗證304
8.2.2 Bootstrap306
8.3 超參數優化307
8.3.1 網格搜索308
8.3.2 隨機搜索310
8.3.3 貝葉斯優化313
8.4 XGBoost超參數優化315
8.4.1 XGBoost參數介紹315
8.4.2 XGBoost調參示例319
8.5 小結334
第9章 通過XGBoost實現廣告分類器335
9.1 PCA335
9.1.1 PCA的實現原理335
9.1.2 通過PCA對人臉識彆數據降維338
9.1.3 利用PCA實現數據可視化341
9.2 通過XGBoost實現廣告分類器343
9.3 小結357
第10章 基於樹模型的其他研究與應用358
10.1 GBDT、LR融閤提升廣告點擊率358
10.2 mGBDT360
10.3 DEF362
10.4 一種基於樹模型的強化學習方法366
10.5 小結370
· · · · · · (
收起)