注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Python機器學習:基于PyTorch和Scikit-Learn

Python機器學習:基于PyTorch和Scikit-Learn

Python機器學習:基于PyTorch和Scikit-Learn

定 價:¥159.00

作 者: [美]塞巴斯蒂安·拉施卡 [美]劉玉溪(海登), [美]瓦希德·米爾賈利利 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111726814 出版時間: 2023-06-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

  本書是一本在PyTorch環(huán)境下學習機器學習和深度學習的綜合指南,可以作為初學者的入門教程,也可以作為讀者開發(fā)機器學習項目時的參考書。本書講解清晰、示例生動,深入介紹了機器學習方法的基礎知識,不僅提供了構建機器學習模型的說明,而且提供了構建機器學習模型和解決實際問題的基本準則。 本書添加了基于PyTorch的深度學習內容,介紹了新版Scikit-Learn。本書涵蓋了多種用于文本和圖像分類的機器學習與深度學習方法,介紹了用于生成新數據的生成對抗網絡(GAN)和用于訓練智能體的強化學習。后,本書還介紹了深度學習的新動態(tài),包括圖神經網絡和用于自然語言處理(NLP)的大型transformer。 無論是機器學習入門新手,還是計劃跟蹤機器學習進展的研發(fā)人員,都可以將本書作為使用Python進行機器學習的不二之選。學完本書,你將能夠:探索機器從數據中“學習”的框架、模型和方法。使用Scikit-Learn實現(xiàn)機器學習,使用PyTorch實現(xiàn)深度學習。訓練機器學習分類器分類圖像、文本等數據。構建和訓練神經網絡、transformer及圖神經網絡。探索評估和優(yōu)化模型的方法。使用回歸分析預測連續(xù)目標結果。使用情感分析深入地挖掘文本和社交媒體數據。

作者簡介

  塞巴斯蒂安·拉施卡 (Sebastian Raschka) 獲密歇根州立大學博士學位,現(xiàn)在是威斯康星-麥迪遜大學統(tǒng)計學助理教授,從事機器學習和深度學習研究。他的研究方向是數據受限的小樣本學習和構建預測有序目標值的深度神經網絡。他還是一位開源貢獻者,擔任Grid.ai的首席AI教育家,熱衷于傳播機器學習和AI領域知識。劉玉溪(海登) [ Yuxi (Hayden) Liu ] 在谷歌公司擔任機器學習軟件工程師,曾擔任機器學習科學家。他是一系列機器學習書籍的作者。他的本書Python Machine Learning By Example在2017年和2018年亞馬遜同類產品中排名,已被翻譯成多種語言。瓦希德·米爾賈利利 (Vahid Mirjalili) 獲密歇根州立大學機械工程和計算機科學雙博士學位,是一名專注于計算機視覺和深度學習的科研工作者。

圖書目錄

譯者序

前言
作者簡介
審校者簡介
第1章 賦予計算機從數據中學習的能力1
 1.1 將數據轉化為知識的智能系統(tǒng)1
 1.2 三種機器學習類型2
1.2.1 用于預測未來的監(jiān)督學習2
1.2.2 解決交互問題的強化學習4
1.2.3 發(fā)現(xiàn)數據中隱藏規(guī)律的無監(jiān)督學習 5
 1.3 基本術語與符號6
1.3.1 本書中使用的符號和約定6
1.3.2 機器學習術語8
 1.4 構建機器學習系統(tǒng)的路線圖8
1.4.1 數據預處理——讓數據可用8
1.4.2 訓練和選擇預測模型9
1.4.3 使用未見過的數據對模型進行評估10
 1.5 使用Python實現(xiàn)機器學習算法10
1.5.1 從Python Package Index中安裝Python和其他軟件包10
1.5.2 使用Anaconda Python
軟件包管理器11
1.5.3 科學計算、數據科學和機器學習軟件包12
 1.6 本章小結13
第2章 訓練簡單的機器學習分類算法14
 2.1 人工神經元——機器學習早期歷史一瞥14
2.1.1 人工神經元的定義15
2.1.2 感知機學習規(guī)則16
 2.2 使用Python實現(xiàn)感知機學習算法19
2.2.1 面向對象的感知機API19
2.2.2 使用鳶尾花數據集訓練感知機22
 2.3 自適應線性神經元與算法收斂27
2.3.1 使用梯度下降法最小化損失函數28
2.3.2 在Python中實現(xiàn)Adaline30
2.3.3 通過特征縮放改進梯度下降34
2.3.4 大規(guī)模機器學習與隨機梯度下降36
 2.4 本章小結41
XIV
第3章 ScikitLearn機器學習分類算法之旅42
 3.1 分類算法的選擇42
 3.2 學習ScikitLearn的第一步——訓練感知機43
 3.3 用邏輯回歸算法建模分類概率48
3.3.1 邏輯回歸與條件概率48
3.3.2 用邏輯損失函數更新模型權重51
3.3.3 從Adaline的代碼實現(xiàn)到邏輯回歸的代碼實現(xiàn)53
3.3.4 用ScikitLearn訓練邏輯回歸模型56
3.3.5 使用正則化避免模型過擬合59
 3.4 基于最大分類間隔的支持向量機62
3.4.1 理解最大分類間隔62
3.4.2 使用松弛變量解決非線性可分問題62
3.4.3 ScikitLearn中另外一種實現(xiàn)64
 3.5 使用核支持向量機求解非線性問題64
3.5.1 處理線性不可分數據的核方法64
3.5.2 使用核方法在高維空間中尋找分離超平面66
 3.6 決策樹學習69
3.6.1 最大化信息增益70
3.6.2 構建決策樹73
3.6.3 多棵決策樹組成隨機森林76
 3.7 基于惰性學習策略的k近鄰算法78
 3.8 本章小結81
第4章 構建良好的訓練數據集——數據預處理83
 4.1 處理缺失值83
4.1.1 識別表格數據中的缺失值83
4.1.2 刪除含有缺失值的樣本或特征85
4.1.3 填補缺失值85
4.1.4 ScikitLearn的估計器86
 4.2 處理類別數據87
4.2.1 用pandas實現(xiàn)類別數據編碼88
4.2.2 映射有序特征88
4.2.3 類別標簽編碼89
4.2.4 標稱特征的獨熱編碼90
 4.3 將數據集劃分為訓練數據集和測試數據集93
 4.4 使特征具有相同的尺度95
 4.5 選擇有意義的特征97
4.5.1 用L1和L2正則化對模型復雜度進行懲罰98
4.5.2 L2正則化的幾何解釋98
4.5.3 L1正則化與稀疏解99
4.5.4 序貫特征選擇算法102
 4.6 用隨機森林評估特征重要性107
 4.7 本章小結109
第5章 通過降維方法壓縮數據110
 5.1 無監(jiān)督降維的主成分分析方法110
5.1.1 主成分分析的主要步驟110
5.1.2 提取主成分的步驟112
5.1.3 總方差和被解釋的方差114
5.1.4 特征變換115
5.1.5 用ScikitLearn實現(xiàn)主成分分析118
5.1.6 評估特征的貢獻120
 5.2 監(jiān)督數據壓縮的線性判別分析方法122
5.2.1 主成分分析與線性判別分析122
5.2.2 線性判別分析基本原理123
5.2.3 計算散布矩陣124
5.2.4 為新特征子空間選擇線性判別式126
5.2.5 將樣本投影到新的特征空間128
5.2.6 用ScikitLearn實現(xiàn)線性判別分析128
 5.3 非線性降維和可視化130
5.3.1 非線性降維的不足130
5.3.2 使用tSNE可視化數據131
 5.4 本章小結135
XV
第6章 模型評估和超參數調優(yōu)的最佳實踐136
 6.1 使用pipeline方法簡化工作流程136
6.1.1 加載威斯康星乳腺癌數據集136
6.1.2 在pipeline中集成轉換器和估計器138
 6.2 使用k折交叉驗證評估模型性能140
6.2.1 holdout交叉驗證140
6.2.2 k折交叉驗證140
 6.3 用學習曲線和驗證曲線調試算法144
6.3.1 使用學習曲線解決偏差和方差問題144
6.3.2 使用驗證曲線解決過擬合和欠擬合問題146
 6.4 通過網格搜索微調機器學習模型148
6.4.1 通過網格搜索調整超參數148
6.4.2 通過隨機搜索更廣泛地探索超參數的配置149
6.4.3 連續(xù)減半超參數的搜索算法151
6.4.4 嵌套交叉驗證153
 6.5 模型性能評估指標154
6.5.1 混淆矩陣155
6.5.2 精確率和召回率156
6.5.3 繪制ROC曲線158
6.5.4 多分類器評價指標160
6.5.5 處理類別不均衡問題161
 6.6 本章小結163
XVI
第7章 組合不同模型的集成學習164
 7.1 集成學習164
 7.2 通過絕對多數投票組合分類器167
7.2.1 實現(xiàn)一個簡單的基于絕對多數投票的集成分類器167
7.2.2 使用絕對多數投票原則進行預測171
7.2.3 評估和調整集成分類器173
 7.3 bagging——基于bootstrap樣本構建集成分類器179
7.3.1 bagging簡介179
7.3.2 使用bagging對葡萄酒數據集中的樣本進行分類180
 7.4 通過自適應boosting提高弱學習器的性能184
7.4.1 boosting的工作原理184
7.4.2 用ScikitLearn實現(xiàn)AdaBoost188
 7.5 梯度boosting——基于損失梯度訓練集成分類器191
7.5.1 比較AdaBoost與梯度boosting191
7.5.2 通用的梯度boosting算法概述191
7.5.3 解釋用于分類的梯度boosting算法193
7.5.4 用梯度boosting分類的例子194
7.5.5 使用XGBoost196
 7.6 本章小結197
第8章 用機器學習進行情感分析198
 8.1 對IMDb影評數據進行文本處理198
8.1.1 獲取影評數據集199
8.1.2 將影評數據集預處理成更易使用的格式199
 8.2 詞袋模型201
8.2.1 將單詞轉換為特征向量201
8.2.2 通過詞頻-逆文檔頻率評估單詞的相關性203
8.2.3 文本數據清洗204
8.2.4 將文檔處理成token206
 8.3 訓練用于文檔分類的邏輯回歸模型208
 8.4 處理更大的數據——在線算法和核外學習方法210
 8.5 用潛在狄利克雷分配實現(xiàn)主題建模213
8.5.1 使用LDA分解文本文檔214
8.5.2 用ScikitLearn實現(xiàn)LDA214
 8.6 本章小結217
第9章 預測連續(xù)目標變量的回歸分析218
 9.1 線性回歸簡介218
9.1.1 簡單線性回歸218
9.1.2 多元線性回歸219
 9.2 探索艾姆斯住房數據集220
9.2.1 將艾姆斯住房數據集加載到DataFrame中220
9.2.2 可視化數據集的重要特征222
9.2.3 使用相關矩陣查看相關性223
 9.3 最小二乘線性回歸模型的實現(xiàn)225
9.3.1 用梯度下降法求解回歸參數225
9.3.2 用ScikitLearn估計回歸模型的系數229
 9.4 使用RANSAC擬合穩(wěn)健回歸模型231
 9.5 評估線性回歸模型的性能233
 9.6 使用正則化方法進行回歸237
 9.7 將線性回歸模型轉化為曲線——多項式回歸238
9.7.1 使用ScikitLearn添加多項式項239
9.7.2 建模艾姆斯住房數據集中的非線性關系240
 9.8 使用隨機森林處理非線性關系243
9.8.1 決策樹回歸243
9.8.2 隨機森林回歸245
 9.9 本章小結247
XVII
第10章 處理無標簽數據的
聚類分析248
 10.1 使用k均值算法對樣本分組248
10.1.1 用ScikitLearn實現(xiàn)k均值聚類248
10.1.2 k均值 ——更聰明的簇初始化方法252
10.1.3 硬聚類與軟聚類253
10.1.4 用肘方法求解最優(yōu)簇的數量255
10.1.5 通過輪廓圖量化聚類質量255
 10.2 把簇組織成層次樹260
10.2.1 自底向上的聚類260
10.2.2 在距離矩陣上進行分層聚類262
10.2.3 熱度圖與樹狀圖結合265
10.2.4 通過ScikitLearn進行凝聚聚類266
 10.3 通過DBSCAN定位高密度區(qū)域267
 10.4 本章小結272
XVIII
第11章 從零開始實現(xiàn)多層人工神經網絡273
 11.1 用人工神經網絡建立復雜函數模型273
11.1.1 單層神經網絡274
11.1.2 多層神經網絡結構275
11.1.3 利用前向傳播激活神經網絡277
 11.2 識別手寫數字279
11.2.1 獲取并準備MNIST數據集279
11.2.2 實現(xiàn)多層感知機282
11.2.3 神經網絡訓練代碼287
11.2.4 評估神經網絡的性能291
 11.3 訓練人工神經網絡295
11.3.1 損失函數的計算295
11.3.2 理解反向傳播296
11.3.3 通過反向傳播訓練神經網絡297
 11.4 關于神經網絡的收斂性300
 11.5 關于神經網絡實現(xiàn)的最后幾句話300
 11.6 本章小結301
第12章 用PyTorch并行訓練神經網絡302
 12.1 PyTorch和模型的訓練性能302
12.1.1 性能挑戰(zhàn)302
12.1.2 什么是PyTorch303
12.1.3 如何學習PyTorch304
 12.2 學習PyTorch的第一步304
12.2.1 安裝PyTorch305
12.2.2 在PyTorch中創(chuàng)建張量306
12.2.3 對張量形狀和數據類型進行操作307
12.2.4 張量數學運算307
12.2.5 拆分、堆疊和連接張量309
 12.3 在PyTorch中構建輸入pipeline310
12.3.1 使用已有張量創(chuàng)建PyTorch DataLoader311
12.3.2 將兩個張量組合成一個聯(lián)合數據集311
12.3.3 亂序、批處理和重復313
12.3.4 用存儲在本地硬盤的文件創(chuàng)建數據集314
12.3.5 從torchvision.datasets庫中獲取數據集318
 12.4 在PyTorch中構建神經網絡模型321
12.4.1 PyTorch神經網絡模塊322
12.4.2 構建線性回歸模型322
12.4.3 使用torch.nn和torch.optim模塊訓練模型325
12.4.4 構建多層感知機對鳶尾花數據集分類326
12.4.5 在測試數據集上評估訓練好的模型329
12.4.6 保存和重新加載訓練好的模型329
 12.5 為多層神經網絡選擇激活函數330
12.5.1 回顧邏輯函數331
12.5.2 使用softmax函數估計多分類中的類別概率332
12.5.3 使用雙曲正切函數拓寬輸出范圍333
12.5.4 整流線性單元335
 12.6 本章小結337
第13章 深入探討PyTorch的工作原理338
 13.1 PyTorch的主要功能338
 13.2 PyTorch的計算圖339
13.2.1 理解計算圖339
13.2.2 在PyTorch中創(chuàng)建計算圖339
 13.3 用于存儲和更新模型參數的PyTorch張量340
 13.4 通過自動微分計算梯度342
13.4.1 計算損失函數關于可微變量的梯度342
13.4.2 自動微分343
13.4.3 對抗樣本344
 13.5 使用torch.nn模塊簡化常見結構344
13.5.1 使用nn.Sequential實現(xiàn)模型344
13.5.2 選擇損失函數345
13.5.3 解決XOR分類問題346
13.5.4 使用nn.Module靈活構建模型350
13.5.5 使用PyTorch編寫自定義層352
 13.6 項目1:預測汽車的燃油效率356
13.6.1 使用特征列357
13.6.2 訓練DNN回歸模型360
 13.7 項目2:分類MNIST手寫數字362
XIX
 13.8 高級PyTorch API:PyTorch Lightning簡介364
13.8.1 構建PyTorch Lightning模型365
13.8.2 為Lightning 設置數據加載器367
13.8.3 使用PyTorch Lightning Trainer類訓練模型369
13.8.4 使用TensorBoard評估模型370
 13.9 本章小結373
第14章 使用深度卷積神經網絡對圖像進行分類374
 14.1 卷積神經網絡的組成模塊374
14.1.1 了解卷積神經網絡和層次特征375
14.1.2 離散卷積376
14.1.3 下采樣層383
XX
 14.2 構建卷積神經網絡385
14.2.1 處理多個輸入通道385
14.2.2 使用L2范數和dropout對神經網絡正則化388
14.2.3 分類任務的損失函數390
 14.3 使用PyTorch實現(xiàn)深度卷積神經網絡392
14.3.1 多層卷積神經網絡結構392
14.3.2 數據加載和預處理393
14.3.3 使用torch.nn模塊實現(xiàn)卷積神經網絡394
 14.4 使用卷積神經網絡對人臉圖像進行微笑分類400
14.4.1 加載CelebA數據集400
14.4.2 圖像轉換和數據增廣401
14.4.3 訓練卷積神經網絡微笑分類器407
 14.5 本章小結413
第15章 用循環(huán)神經網絡對序列數據建模415
 15.1 序列數據415
15.1.1 序列數據建模415
15.1.2 序列數據與時間序列數據416
15.1.3 序列數據的表示416
15.1.4 序列建模方法417
 15.2 用于序列數據建模的循環(huán)神經網絡418
15.2.1 循環(huán)神經網絡的循環(huán)機制418
15.2.2 循環(huán)神經網絡激活值計算419
15.2.3 隱藏層循環(huán)與輸出層循環(huán)421
15.2.4 遠距離學習面臨的問題424
15.2.5 長短期記憶網絡425
 15.3 在PyTorch中實現(xiàn)循環(huán)神經網絡426
15.3.1 項目1:基于IMDb影評進行情感分析427
15.3.2 項目2:在PyTorch中實現(xiàn)字符級語言建模437
 15.4 本章小結448
第16章 transformer:利用注意力機制改善自然語言處理效果449
 16.1 帶有注意力機制的循環(huán)神經網絡449
16.1.1 幫助循環(huán)神經網絡獲取信息的注意力機制450
16.1.2 循環(huán)神經網絡中最初的注意力機制451
16.1.3 用雙向循環(huán)神經網絡模型處理輸入數據452
16.1.4 根據上下文向量得到輸出452
16.1.5 計算注意力權重453
 16.2 自注意力機制453
16.2.1 自注意力機制的基本形式454
16.2.2 自注意力機制的參數化:縮放點積注意力457
 16.3 注意力是唯一需要的:最初的transformer460
16.3.1 通過多頭注意力編碼上下文嵌入向量460
16.3.2 學習語言模型:解碼器和掩碼多頭注意力464
16.3.3 實現(xiàn)細節(jié):位置編碼和層歸一化465
 16.4 利用未標注的數據構建大型語言模型467
16.4.1 預訓練和微調transformer模型467
16.4.2 使用未標注數據的GPT模型469
16.4.3 使用GPT2生成新文本471
16.4.4 雙向預訓練的BERT模型474
16.4.5 兩全其美的模型:BART476
 16.5 用PyTorch微調BERT模型478
16.5.1 加載IMDb影評數據集479
16.5.2 數據集分詞481
16.5.3 加載和微調預訓練BERT模型482
16.5.4 使用Trainer API微調transformer486
 16.6 本章小結489
XXI
第17章 用于合成新數據的生成對抗網絡491
 17.1 生成對抗網絡491
17.1.1 自編碼器492
17.1.2 用于合成新數據的生成模型493
17.1.3 用生成對抗網絡生成新樣本494
17.1.4 理解生成對抗網絡模型中生成器和判別器網絡的損失函數495
 17.2 從零開始實現(xiàn)生成對抗網絡497
17.2.1 用谷歌Colab訓練生成對抗網絡模型497
17.2.2 實現(xiàn)生成器和判別器網絡499
17.2.3 定義訓練數據集502
17.2.4 訓練生成對抗網絡模型504
 17.3 用卷積GAN和Wasserstein GAN提高生成圖像的質量510
17.3.1 轉置卷積510
17.3.2 批歸一化511
17.3.3 實現(xiàn)生成器和判別器513
17.3.4 兩個分布之間的差異度度量520
17.3.5 在生成對抗網絡實踐中使用EM距離523
17.3.6 梯度懲罰523
17.3.7 使用WGANGP實現(xiàn)深度卷積生成對抗網絡524
17.3.8 模式坍塌527
 17.4 其他生成對抗網絡應用529
 17.5 本章小結530
XXII
第18章 用于捕獲圖數據關系的圖神經網絡531
 18.1 圖數據簡介531
18.1.1 無向圖532
18.1.2 有向圖533
18.1.3 標簽圖533
18.1.4 將分子結構表示為圖533
 18.2 理解圖卷積534
18.2.1 圖卷積的基本原理534
18.2.2 實現(xiàn)一個基本的圖卷積函數536
 18.3 用PyTorch從零開始實現(xiàn)圖神經網絡540
18.3.1 定義NodeNetwork模型540
18.3.2 NodeNetwork圖卷積層編碼541
18.3.3 添加一個全局池化層處理大小不同的圖542
18.3.4 準備數據加載工具545
18.3.5 使用NodeNetwork進行預測548
18.3.6 使用PyTorch Geometric庫實現(xiàn)圖神經網絡548
 18.4 其他圖神經網絡層和最新的進展554
18.4.1 譜圖卷積554
18.4.2 池化555
18.4.3 數據歸一化556
18.4.4 圖神經網絡文獻557
 18.5 本章小結559
第19章 在復雜環(huán)境中做決策的強化學習560
 19.1 從經驗中學習概述560
19.1.1 了解強化學習561
19.1.2 智能體與環(huán)境562
 19.2 強化學習的理論基礎563
19.2.1 馬爾可夫決策過程563
19.2.2 階段性任務與持續(xù)性任務566
19.2.3 強化學習術語566
19.2.4 使用貝爾曼方程的動態(tài)規(guī)劃569
 19.3 強化學習算法569
19.3.1 動態(tài)規(guī)劃570
19.3.2 蒙特卡羅強化學習572
19.3.3 時序差分學習573
 19.4 實現(xiàn)第一個強化學習算法575
19.4.1 OpenAI Gym工具包介紹575
19.4.2 用Q學習解決網格世界問題584
 19.5 深度Q學習概覽588
19.5.1 訓練深度Q學習網絡模型589
19.5.2 實現(xiàn)深度Q學習算法591
 19.6 本章小結及本書總結595

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號