本書在理解算法如何工作和如何更好地調整模型之間架起一座橋梁。本書將幫助你掌握開發(fā)主要機器學習模型的技能,包括監(jiān)督和無監(jiān)督學習(其中包括線性/對率回歸)、決策樹、隨機森林、梯度提升機(GBM)、神經網絡、k均值聚類、主成分分析和推薦系統(tǒng)。
你將通過應用于文本挖掘的CNN、RNN和Word2vec接觸到*新的深度學習,并學習相關理論和案例研究,如情感分類、欺詐檢測、推薦系統(tǒng)和圖像識別等,以便獲得工業(yè)中使用的絕大多數機器學習算法的*佳理論和實踐。除了學習算法,你還將接觸到在所有主要云服務提供商上運行的機器學習模型。
本書適合從事AI行業(yè)的工程師,以及希望從事數據科學工作的IT人員閱讀,并可以供數據科學家工作時參考使用。
目錄
譯者序
原書前言
作者簡介
技術評審員簡介
第1章 機器學習基礎
1.1回歸和分類
1.1.1訓練數據和測試數據
1.1.2對于驗證數據集的需求
1.1.3精度測量
1.1.4AUC值和ROC曲線
1.2無監(jiān)督學習 //
1.3建立模型的典型方法
1.3.1數據從哪里獲取
1.3.2需要獲取哪些數據
1.3.3數據預處理
1.3.4特征交互
1.3.5特征生成
1.3.6建立模型
1.3.7模型生產化
1.3.8構建、部署、測試和迭代
1.4總結
第2章 線性回歸
2.1線性回歸介紹
2.1.1變量:自變量和因變量
2.1.2相關性
2.1.3因果關系
2.2簡單線性回歸與多元線性回歸
2.3形式化簡單線性回歸
2.3.1偏差項
2.3.2斜率
2.4求解一個簡單線性回歸
2.5求解簡單線性回歸更通用的方法
2.5.1平方差總和小化
2.5.2求解公式
2.6簡單線性回歸的工作細節(jié)
2.6.1讓簡單線性回歸復雜化一點
2.6.2達到優(yōu)系數值
2.6.3方均根誤差介紹
2.7在R中運行簡單線性回歸
2.7.1殘差
2.7.2系數
2.7.3殘差(殘余偏差)的SSE
2.7.4零偏差
2.7.5R平方
2.7.6F統(tǒng)計量
2.8在Python中運行簡單線性回歸
2.9簡單線性回歸的常見缺陷
2.10多元線性回歸
2.10.1多元線性回歸的工作細節(jié)
2.10.2R中的多元線性回歸
2.10.3Python中的多元線性回歸
2.10.4模型中的非重要變量問題
2.10.5多重共線性問題
2.10.6多重共線性的數學直覺
2.10.7有關多元線性回歸的其他注意事項
2.11線性回歸的假設
2.12總結
第3章 對數幾率回歸
3.1為什么線性回歸對離散結果無效
3.2一個更普遍的解決方案:Sigmoid曲線
3.2.1形式化Sigmoid曲線(Sigmoid激活)
3.2.2從Sigmoid曲線到對率回歸
3.2.3對率回歸的解釋
3.2.4對率回歸的工作細節(jié)
3.2.5估算誤差
3.2.6小二乘法與線性假設
3.3在R中運行對率回歸
3.4在Python中運行對率回歸
3.5確定興趣的度量
3.6常見陷阱
3.6.1預測和事件發(fā)生之間的時間
3.6.2自變量中的異常值
3.7總結
第4章 決策樹
4.1決策樹的構成部分
4.2存在多個離散自變量的分類決策樹
4.2.1信息增益
4.2.2計算不確定性:熵
4.2.3計算信息增益
4.2.4原始數據集中的不確定性
4.2.5衡量不確定性的改善
4.2.6哪些特定值進入左側或右側節(jié)點
4.2.7分裂過程何時停止
4.3連續(xù)自變量的分類決策樹
4.4有多個自變量時的分類決策樹
4.5存在連續(xù)自變量和離散自變量時的分類決策樹
4.6如果響應變量是連續(xù)的怎么辦
4.6.1連續(xù)因變量與多個連續(xù)自變量
4.6.2連續(xù)因變量與離散自變量
4.6.3連續(xù)因變量與離散、連續(xù)自變量
4.7在R中實現決策樹
4.8在Python中實現決策樹
4.9創(chuàng)建樹的常見技術
4.10可視化樹的構建
4.11異常值對決策樹的影響
4.12總結
第5章 隨機森林
5.1一個隨機森林的場景
5.1.1Bagging
5.1.2隨機森林的工作細節(jié)
5.2在R中實現隨機森林
5.2.1隨機森林中的參數調整
5.2.2樹的深度對AUC的影響
5.3在Python中實現隨機森林
5.4總結
第6章 梯度提升機
6.1梯度提升機介紹
6.2GBM的工作細節(jié)
6.3收縮率
6.4AdaBoost
6.4.1AdaBoost理論
6.4.2AdaBoost的工作細節(jié)
6.5GBM的附加功能
6.6在Python中實現GBM
6.7在R中實現GBM
6.8總結
第7章 人工神經網絡
7.1神經網絡的結構
7.2訓練神經網絡的工作細節(jié)
7.2.1前向傳播
7.2.2應用激活函數
7.2.3反向傳播
7.2.4計算反向傳播
7.2.5隨機梯度下降
7.2.6深入了解梯度下降
7.2.7為什么要有學習率
7.3批量訓練
7.3.1Softmax的概念
7.4不同的損耗優(yōu)化函數
7.4.1縮放數據集
7.5在Python中實現神經網絡
7.6利用正則化避免過擬合
7.7將權重分配給正則化項
7.8在R中實現神經網絡
7.9總結
第8章 Word2vec
8.1手工構建詞向量
8.2構建詞向量的方法
8.3Word2vec模型中需要注意的問題
8.3.1常用詞
8.3.2負采樣
8.4在Python中實現Word2vec
8.5總結
第9章 卷積神經網絡
9.1傳統(tǒng)神經網絡的問題
9.1.1場景1
9.1.2場景2
9.1.3場景3
9.1.4場景4
9.2了解CNN中的卷積
9.2.1從卷積到激活
9.2.2從卷積激活到池化
9.2.3卷積和池化有什么幫助
9.3使用代碼創(chuàng)建CNN
9.4CNN的工作細節(jié)
9.5深入研究卷積/內核
9.6從卷積和池化到扁平化:完全連接層
9.6.1從一個完全連接層到另一個完全連接層
9.6.2從完全連接層到輸出層
9.7連接點:前饋網絡
9.8CNN的其他細節(jié)
9.9CNN中的反向傳播
9.10將各層放在一起
9.11數據增強
9.12在R中實現CNN
9.13總結
第10章 遞歸神經網絡
10.1理解架構
10.2RNN的解釋
10.3RNN的工作細節(jié)
10.3.1時間步驟1
10.3.2時間步驟2
10.3.3時間步驟3
10.4實現RNN:SimpleRNN
10.4.1編譯模型
10.4.2驗證RNN的輸出
10.5實現RNN:生成文本
10.6RNN中的嵌入層
10.7傳統(tǒng)RNN的問題
10.7.1梯度消失問題
10.7.2梯度爆炸問題
10.8LSTM
10.9在keras中實現基本LSTM
10.10實現LSTM進行情感分類
10.11在R中實現RNN
10.12總結
第11章 聚類
11.1聚類介紹
11.1.1構建用于性能比較的商店簇
11.1.2理想聚類
11.1.3在沒有聚類和過多聚類之間取得平衡:k均值聚類
11.2聚類過程
11.3k均值聚類算法的工作細節(jié)
11.3.1k均值算法在數據集上的應用
11.3.2k均值聚類算法的性質
11.4在R中實現k均值聚類
11.5在Python中實現k均值聚類
11.6主要指標的意義
11.7確定優(yōu)的k
11.8自上向下與自下向上的聚類
11.8.1層次聚類
11.8.2層次聚類的主要缺點
11.9k均值聚類的行業(yè)使用案例
11.10總結
第12章 主成分分析
12.1PCA的直觀理解
12.2PCA的工作細節(jié)
12.3在PCA中縮放數據
12.4將PCA擴展到多變量
12.5在R中實現PCA
12.6在Python中實現PCA
12.7將PCA應用于MNIST
12.8總結
第13章 推薦系統(tǒng)
13.1了解k近鄰
13.2基于用戶的協同過濾的工作細節(jié)
13.2.1歐氏距離
13.2.2余弦相似度
13.3基于項目的協同過濾
13.4在R中實現協同過濾
13.5在Python中實現協同過濾
13.6矩陣分解的工作細節(jié)
13.7在Python中實現矩陣分解
13.8在R中實現矩陣分解
13.9總結
第14章 在云中實現算法
14.1谷歌云平臺
14.2微軟Azure
14.3亞馬遜網絡服務
14.4將文件傳輸到云實例
14.5從本地計算機運行實例Jupyter Notebook
14.6在實例上安裝R
14.7總結
附錄 Excel、R和Python基礎
A.1 Excel基礎
A.2 R語言基礎
A.3 Python基礎