![跟我一起學機器學習](https://static.coderbridge.com/images/books/9787302592846.jpg)
跟我一起學機器學習
內容描述
本書系統地闡述機器學習中常見的幾類模型,包括模型的思想、原理及實現細節等。同時,本書還結合了當前熱門的機器學習框架Sklearn,對書中所涉及的模型進行用法上詳細講解。
全書共10章,第1章介紹機器學習開發環境的配置;第2章講解線性回歸模型的基本原理、回歸模型中常見的幾種評價指標,以及用於有監督模型訓練的梯度下降算法;第3章介紹邏輯回歸模型的基本原理和分類模型中常見的幾種評價指標;第4章介紹模型的改善與泛化,包括特徵標準化、如何避免過擬合及如何進行模型選擇等;第5章講解K最近鄰分類算法的基本原理及kd樹的構造與搜索;第6章介紹樸素貝葉斯算法的基本原理;第7章介紹幾種常見的文本特徵提取方法,包括詞袋模型和TF-IDF等;第8章講解決策樹的基本原理,包括幾種經典的決策樹生成算法和集成模型;第9章介紹支持向量機的基本原理與求解過程;第10章介紹幾種經典的聚類算法及相應的評價指標計算方法。
本書包含大量的代碼示例及實際案例介紹,不僅可以作為電腦相關專業學生入門機器學習的讀物,同時也適用於非電腦專業及培訓機構的參考學習書籍。
目錄大綱
目錄
第1章環境配置
1.1安裝Conda
1.1.1Windows環境
1.1.2Linux環境
1.2替換源
1.3Conda環境管理
1.3.1虛擬環境安裝
1.3.2虛擬環境使用
1.4PyCharm安裝與配置
1.5小結
第2章線性回歸
2.1模型的建立與求解
2.1.1理解線性回歸模型
2.1.2建立線性回歸模型
2.1.3求解線性回歸模型
2.1.4sklearn簡介
2.1.5安裝sklearn及其他庫
2.1.6線性回歸示例代碼
2.1.7小結
2.2多變量線性回歸
2.2.1理解多變量
2.2.2多變量線性回歸建模
2.2.3多變量回歸示例代碼
2.3多項式回歸
2.3.1理解多項式
2.3.2多項式回歸建模
2.3.3多項式回歸示例代碼
2.3.4小結
2.4回歸模型評估
2.4.1常見回歸評估指標
2.4.2回歸指標示例代碼
2.4.3小結
2.5梯度下降
2.5.1方向導數與梯度
2.5.2梯度下降算法
2.5.3小結
2.6正態分佈
2.6.1一個問題的出現
2.6.2正態分佈
2.7目標函數推導
2.7.1目標函數
2.7.2求解梯度
2.7.3矢量化計算
2.7.4從零實現線性回歸
2.7.5小結
第3章邏輯回歸
3.1模型的建立與求解
3.1.1理解邏輯回歸模型
3.1.2建立邏輯回歸模型
3.1.3求解邏輯回歸模型
3.1.4邏輯回歸示例代碼
3.1.5小結
3.2多變量與多分類
3.2.1多變量邏輯回歸
3.2.2多分類邏輯回歸
3.2.3多分類示例代碼
3.2.4小結
3.3常見的分類評估指標
3.3.1二分類場景
3.3.2二分類指標示例代碼
3.3.3多分類場景
3.3.4多分類指標示例代碼
3.3.5小結
3.4目標函數推導
3.4.1映射函數
3.4.2概率表示
3.4.3極大似然估計
3.4.4求解梯度
3.4.5從零實現二分類邏輯回歸
3.4.6從零實現多分類邏輯回歸
3.4.7小結
第4章模型的改善與泛化
4.1基本概念
4.2特徵標準化
4.2.1等高線
4.2.2梯度與等高線
4.2.3標準化方法
4.2.4特徵組合與映射
4.2.5小結
4.3過擬合
4.3.1模型擬合
4.3.2過擬合與欠擬合
4.3.3解決欠擬合與過擬合問題
4.3.4小結
4.4正則化
4.4.1測試集導致糟糕的泛化誤差
4.4.2訓練集導致糟糕的泛化誤差
4.4.3正則化中的參數更新
4.4.4正則化示例代碼
4.4.5小結
4.5偏差、方差與交叉驗證
4.5.1偏差與方差定義
4.5.2模型的偏差與方差
4.5.3超參數選擇
4.5.4模型選擇
4.5.5小結
4.6實例分析手寫體識別
4.6.1數據預處理
4.6.2模型選擇
4.6.3模型測試
4.6.4小結
第5章K近鄰
5.1K近鄰思想
5.2K近鄰原理
5.2.1算法原理
5.2.2K值選擇
5.2.3距離度量
5.3sklearn接口與示例代碼
5.3.1sklearn接口介紹
5.3.2K近鄰示例代碼
5.3.3小結
5.4kd樹
5.4.1構造kd樹
5.4.2最近鄰kd樹搜索
5.4.3最近鄰搜索示例
5.4.4K近鄰kd樹搜索
5.4.5K近鄰搜索示例
5.4.6小結
第6章樸素貝葉斯
6.1樸素貝葉斯算法
6.1.1概念介紹
6.1.2理解樸素貝葉斯
6.1.3計算示例
6.1.4求解步驟
6.1.5小結
6.2貝葉斯估計
6.2.1平滑處理
6.2.2計算示例
6.2.3小結
第7章文本特徵提取與模型復用
7.1詞袋模型
7.1.1理解詞袋模型
7.1.2文本分詞
7.1.3構造詞表
7.1.4文本向量化
7.1.5考慮詞頻的文本向量化
7.1.6小結
7.2基於貝葉斯算法的垃圾郵件分類
7.2.1載入原始文本
7.2.2製作數據集
7.2.3訓練模型
7.2.4復用模型
7.2.5小結
7.3考慮權重的詞袋模型
7.3.1理解TFIDF
7.3.2TFIDF計算原理
7.3.3TFIDF計算示例
7.3.4TFIDF示例代碼
7.3.5小結
7.4詞雲圖
7.4.1生成詞雲圖
7.4.2自定義樣式
7.4.3小結
第8章決策樹與集成學習
8.1決策樹的基本思想
8.1.1冠軍球隊
8.1.2信息的度量
8.1.3小結
8.2決策樹的生成之ID3與C4.5
8.2.1基本概念與定義
8.2.2計算示例
8.2.3ID3生成算法
8.2.4C4.5生成算法
8.2.5特徵劃分
8.2.6小結
8.3決策樹生成與可視化
8.3.1ID3算法示例代碼
8.3.2決策樹可視化
8.3.3小結
8.4決策樹剪枝
8.4.1剪枝思想
8.4.2剪枝步驟
8.4.3剪枝示例
8.4.4小結
8.5CART生成與剪枝算法
8.5.1CART算法
8.5.2分類樹生成算法
8.5.3分類樹生成示例
8.5.4分類樹剪枝步驟
8.5.5分類樹剪枝示例
8.5.6小結
8.6集成學習
8.6.1集成學習思想
8.6.2集成學習種類
8.6.3Bagging集成學習
8.6.4Boosting集成學習
8.6.5Stacking集成學習
8.6.6小結
8.7隨機森林
8.7.1隨機森林原理
8.7.2隨機森林示例代碼
8.7.3特徵重要性評估
8.7.4小結
8.8泰坦尼克號生還預測
8.8.1讀取數據集
8.8.2特徵選擇
8.8.3缺失值填充
8.8.4特徵值轉換
8.8.5乘客生還預測
8.8.6小結
第9章支持向量機
9.1SVM思想
9.2SVM原理
9.2.1超平面的表達
9.2.2函數間隔
9.2.3幾何間隔
9.2.4最大間隔分類器
9.2.5函數間隔的性質
9.2.6小結
9.3SVM示例代碼與線性不可分
9.3.1線性SVM示例代碼
9.3.2從線性不可分談起
9.3.3將低維特徵映射到高維空間
9.3.4SVM中的核技巧
9.3.5從高維到無窮維
9.3.6常見核函數
9.3.7小結
9.4SVM中的軟間隔
9.4.1軟間隔定義
9.4.2最大化軟間隔
9.4.3SVM軟間隔示例代碼
9.4.4小結
9.5拉格朗日乘數法
9.5.1條件極值
9.5.2求解條件極值
9.5.3小結
9.6對偶性與KKT條件
9.6.1廣義拉格朗日乘數法
9.6.2原始優化問題
9.6.3對偶優化問題
9.6.4KKT條件
9.6.5計算示例
9.6.6小結
9.7SVM優化問題
9.7.1構造硬間隔廣義拉格朗日函數
9.7.2硬間隔求解計算示例
9.7.3構造軟間隔廣義拉格朗日函數
9.7.4軟間隔中的支持向量
9.7.5小結
9.8SMO算法
9.8.1坐標上升算法
9.8.2SMO算法思想
9.8.3SMO算法原理
9.8.4偏置b求解
9.8.5SVM算法求解示例
9.8.6小結
第10章聚類
10.1聚類算法的思想
10.2kmeans聚類算法
10.2.1算法原理
10.2.2k值選取
10.2.3kmeans聚類示例代碼
10.2.4小結
10.3kmeans算法求解
10.3.1kmeans算法目標函數
10.3.2求解簇中心矩陣Z
10.3.3求解簇分配矩陣U
10.3.4小結
10.4從零實現kmeans聚類算法
10.4.1隨機初始化簇中心
10.4.2簇分配矩陣實現
10.4.3簇中心矩陣實現
10.4.4聚類算法實現
10.4.5小結
10.5kmeans++聚類算法
10.5.1算法原理
10.5.2計算示例
10.5.3從零實現kmeans++聚類算法
10.5.4小結
10.6聚類評估指標
10.6.1聚類純度
10.6.2蘭德系數與F值
10.6.3調整蘭德系數
10.6.4聚類指標示例代碼
10.6.5小結
10.7加權kmeans聚類算法
10.7.1引例
10.7.2加權kmeans聚類算法思想
10.7.3加權kmeans聚類算法原理
10.7.4加權kmeans聚類算法迭代公式
10.7.5從零實現加權kmeans聚類算法
10.7.6參數求解
10.7.7小結