機(jī)器學(xué)習(xí)算法(原書(shū)第2版)
定 價(jià):99 元
叢書(shū)名:智能系統(tǒng)與技術(shù)叢書(shū)
- 作者:(意) 朱塞佩·博納科爾索著
- 出版時(shí)間:2020/3/1
- ISBN:9787111645788
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP181
- 頁(yè)碼:368
- 紙張:膠版紙
- 版次:2
- 開(kāi)本:16K
本書(shū)介紹了數(shù)據(jù)科學(xué)領(lǐng)域常用的所有重要機(jī)器學(xué)習(xí)算法以及TensorFlow和特征工程等相關(guān)內(nèi)容。涵蓋的算法包括線性回歸、邏輯回歸、支持向量機(jī)、樸素貝葉斯、k均值、隨機(jī)森林等,這些算法可以用于監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)或半監(jiān)督學(xué)習(xí)。在本書(shū)中,你將學(xué)會(huì)如何使用這些算法來(lái)解決所遇到的問(wèn)題,并了解這些算法的工作方式。本書(shū)還將介紹自然語(yǔ)言處理和推薦系統(tǒng),這些內(nèi)容將幫助大家進(jìn)行多種算法的實(shí)踐。 閱讀完本書(shū)后,面對(duì)你所遇到的問(wèn)題,你將了解如何選擇合適的聚類、分類或回歸的機(jī)器學(xué)習(xí)算法。
與機(jī)器學(xué)習(xí)領(lǐng)域很多偏重于理論的書(shū)相比,本書(shū)在簡(jiǎn)明扼要地闡明基本原理的基礎(chǔ)上,側(cè)重于介紹如何在Python環(huán)境下使用機(jī)器學(xué)習(xí)方法庫(kù),并通過(guò)大量實(shí)例清晰形象地展示了不同場(chǎng)景下機(jī)器學(xué)習(xí)方法的應(yīng)用。從這個(gè)角度來(lái)說(shuō),本書(shū)是一本使機(jī)器學(xué)習(xí)算法通過(guò)Python實(shí)現(xiàn)真正“落地”的書(shū),而這無(wú)疑將給想要或致力于機(jī)器學(xué)習(xí)應(yīng)用的讀者帶來(lái)方法理解和實(shí)現(xiàn)上的巨大裨益。
書(shū)中所有實(shí)例都是用Python編寫(xiě),使用了scikit-learn機(jī)器學(xué)習(xí)框架、自然語(yǔ)言工具包(NLTK)、Crab、langdetect、Spark(PySpark)、Gensim、Keras和TensorFlow(深度學(xué)習(xí)框架)。這些程序適用于Linux、macOS X和Windows系統(tǒng),Python 2.7和3.3+版本。
本書(shū)主要面向希望在預(yù)測(cè)分析和機(jī)器學(xué)習(xí)領(lǐng)域建立扎實(shí)基礎(chǔ)的機(jī)器學(xué)習(xí)工程師、數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家。
本書(shū)介紹了機(jī)器學(xué)習(xí),一個(gè)不僅對(duì)于IT專業(yè)人員和分析師,而且對(duì)于所有想要利用如預(yù)測(cè)分析、分類、聚類和自然語(yǔ)言處理等強(qiáng)大技術(shù)的數(shù)據(jù)科學(xué)家和工程師都十分重要的領(lǐng)域。為便于學(xué)習(xí),所有的理論后都附有基于Python的具體實(shí)例。
要想對(duì)該領(lǐng)域有基本而扎實(shí)的理解需要具備一定的數(shù)學(xué)基礎(chǔ),這不僅是解釋算法所必需的,同時(shí)還能使讀者理解如何通過(guò)調(diào)整超參數(shù)以獲得盡可能高的精度。當(dāng)然,本書(shū)不可能覆蓋所有細(xì)節(jié)內(nèi)容,因而對(duì)某些內(nèi)容只進(jìn)行了簡(jiǎn)單的描述,僅將理論用于結(jié)果解釋。這樣,用戶能有更多的機(jī)會(huì)專注于沒(méi)有過(guò)于復(fù)雜數(shù)學(xué)理論的基礎(chǔ)內(nèi)容,并可以通過(guò)文獻(xiàn)來(lái)深入研究所有感興趣的內(nèi)容。
所有章節(jié)的閱讀不需要按特定的順序,可以隨意跳過(guò)你已經(jīng)知道的內(nèi)容。必要時(shí)可以參考解釋某些概念的章節(jié)。作者在此對(duì)本書(shū)中任何不準(zhǔn)確或筆誤的內(nèi)容表示歉意,同時(shí)感謝所有Packt出版社編輯人員的合作和持續(xù)關(guān)注。
讀者對(duì)象
本書(shū)適合那些希望在預(yù)測(cè)分析和機(jī)器學(xué)習(xí)領(lǐng)域建立扎實(shí)基礎(chǔ)的機(jī)器學(xué)習(xí)工程師、數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家閱讀。熟悉Python將是一個(gè)額外的優(yōu)勢(shì),這將使你能夠充分利用本書(shū)。
本書(shū)內(nèi)容
第1章介紹了機(jī)器學(xué)習(xí)的世界,解釋了創(chuàng)建智能應(yīng)用程序涉及的最重要方法的基本概念,重點(diǎn)介紹了不同類型的學(xué)習(xí)方法。
第2章解釋了關(guān)于常見(jiàn)機(jī)器學(xué)習(xí)問(wèn)題的數(shù)學(xué)概念,包括可學(xué)習(xí)性的概念和信息論的內(nèi)容。本章包含一些理論,但如果你從頭開(kāi)始學(xué)習(xí)本章內(nèi)容,它將非常有用,因?yàn)槠渲猩钊虢榻B了大多數(shù)算法中使用的最重要的數(shù)學(xué)工具。
第3章描述了用于預(yù)處理數(shù)據(jù)集、選擇信息量最大的特性和降低原始維度的重要技術(shù)。
第4章描述了線性回歸算法及其優(yōu)化方法,包括Ridge、Lasso和ElasticNet。本章還給出了更高級(jí)的模型,可用于解決非線性回歸問(wèn)題或減輕異常值的影響。
第5章介紹了線性分類的概念,重點(diǎn)介紹了邏輯回歸、感知器、隨機(jī)梯度下降算法和被動(dòng)攻擊算法。5.7節(jié)介紹了最重要的評(píng)價(jià)指標(biāo),這些指標(biāo)用于衡量模型的性能并找到最優(yōu)的超參數(shù)集。
第6章解釋了貝葉斯概率理論并描述了廣泛使用的樸素貝葉斯分類器的結(jié)構(gòu)。在6.4節(jié)中,通過(guò)一些具體的例子分析了線性和二次判別。
第7章介紹了SVM算法,特別介紹了利用核技巧解決線性和非線性分類問(wèn)題。本章的最后介紹了支持向量回歸和更復(fù)雜的分類模型。
第8章解釋了分層決策過(guò)程的概念,描述了決策樹(shù)分類、隨機(jī)森林、bootstrapped和袋裝樹(shù)以及投票分類器的概念。
第9章描述了高斯混合、k-NN算法和k-means算法。本章最后介紹了確定最優(yōu)簇?cái)?shù)和度量模型性能的不同方法。
第10章介紹了更復(fù)雜的聚類技術(shù),包括DBSCAN、譜聚類和雙聚類,這些方法可用于非凸數(shù)據(jù)集結(jié)構(gòu)。10.3節(jié)介紹了兩種在線聚類算法(mini-batch k-means聚類和BIRCH)。
第11章在上一章的基礎(chǔ)上介紹更復(fù)雜的聚類算法,還介紹了凝聚聚類和樹(shù)形圖的概念。
第12章解釋了推薦系統(tǒng)中最廣泛使用的算法:基于內(nèi)容和用戶的策略、協(xié)同過(guò)濾和交替最小二乘法。一個(gè)基于Apache Spark的完整示例展示了如何使用交替最小二乘法處理非常大的數(shù)據(jù)集。
第13章解釋了詞袋策略的概念,并介紹了有效處理自然語(yǔ)言數(shù)據(jù)集所需的最重要的技術(shù)(標(biāo)記、詞干抽取、停止詞刪除、標(biāo)注和向量化)。13.4節(jié)還討論了基于Reuters數(shù)據(jù)集的分類器示例。
第14章介紹了主題建模的概念,并描述了最重要的算法,如潛在語(yǔ)義分析(確定性和概率性)和隱性狄利克雷分配。14.2節(jié)和14.3節(jié)分別介紹了詞嵌入和情感分析的問(wèn)題,闡述了解決這一問(wèn)題的使用最廣泛的方法。
第15章介紹了深度學(xué)習(xí)的內(nèi)容,解釋了神經(jīng)網(wǎng)絡(luò)和計(jì)算圖的概念。15.2節(jié)以多層感知器的具體例子介紹了高級(jí)深度學(xué)習(xí)框架Keras。
第16章解釋了最重要的深度學(xué)習(xí)層的基本功能,并以深度卷積網(wǎng)絡(luò)和用于處理時(shí)間序列的循環(huán)網(wǎng)絡(luò)(LSTM)的Keras示例來(lái)說(shuō)明。16.4節(jié)簡(jiǎn)要介紹了TensorFlow框架,并通過(guò)一些示例來(lái)展示它的一些基本功能。
第17章解釋了如何定義完整的機(jī)器學(xué)習(xí)管道,重點(diǎn)介紹了每個(gè)步驟的特性和缺點(diǎn)。
充分利用本書(shū)
為完全理解本書(shū)中的所有算法,需要掌握線性代數(shù)、概率論和微積分的基本知識(shí)。
所有實(shí)例都是用Python編寫(xiě)的,使用了scikit-learn機(jī)器學(xué)習(xí)框架、自然語(yǔ)言工具包(NLTK)、Crab、langdetect、Spark(PySpark)、Gensim、Keras和TensorFlow(深度學(xué)習(xí)框架)。這些程序適用于Linux、macOS X和Windows系統(tǒng)的Python 2.7及Python 3.3或以上版本。當(dāng)特定框架用于特定任務(wù)時(shí),將提供詳細(xì)的說(shuō)明和參考。第1~14章的所有示例都可以使用Python 2.7執(zhí)行(而TensorFlow需要Python 3.5或以上版本)。但是,強(qiáng)烈建議讀者使用Python 3.5或以上版本的發(fā)行版。數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)最常見(jiàn)的選擇是Anaconda(https://www.anaconda.com/distribution/),它已經(jīng)包含了所有最重要的軟件包。
下載示例代碼及彩色圖像
本書(shū)的示例代碼及所有截圖和樣圖可以從http://www.packtpub.com通過(guò)個(gè)人賬號(hào)下載,也可以訪問(wèn)華章圖書(shū)官網(wǎng)http://www.hzbook.com,通過(guò)注冊(cè)并登錄個(gè)人賬號(hào)下載。
約定使用
本書(shū)中使用了一些字體約定。
代碼:表示文本中的代碼、數(shù)據(jù)庫(kù)表名、文件夾名、文件名、文件擴(kuò)展名、路徑名、虛
朱塞佩·博納科爾索(Giuseppe Bonaccorso)一家大型跨國(guó)公司的數(shù)據(jù)科學(xué)主管。他擁有意大利卡塔尼亞大學(xué)電子工程專業(yè)工程學(xué)碩士學(xué)位,然后在意大利羅馬第二大學(xué)、英國(guó)埃塞克斯大學(xué)深造過(guò)。在他的職業(yè)生涯中,擔(dān)任過(guò)公共管理、軍事、公用事業(yè)、醫(yī)療保健、診斷和廣告等多個(gè)業(yè)務(wù)領(lǐng)域的IT工程師,使用Java、Python、Hadoop、Spark、Theano和TensorFlow等多種技術(shù)進(jìn)行過(guò)項(xiàng)目開(kāi)發(fā)與管理。他的主要研究興趣包括人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、數(shù)據(jù)科學(xué)等。
譯者序
前言
第1章機(jī)器學(xué)習(xí)簡(jiǎn)介
1.1簡(jiǎn)介——經(jīng)典機(jī)器和自適應(yīng)的機(jī)器
1.1.1描述性分析
1.1.2預(yù)測(cè)性分析
1.2關(guān)于學(xué)習(xí)
1.2.1監(jiān)督學(xué)習(xí)
1.2.2無(wú)監(jiān)督學(xué)習(xí)
1.2.3半監(jiān)督學(xué)習(xí)
1.2.4強(qiáng)化學(xué)習(xí)
1.2.5計(jì)算神經(jīng)科學(xué)
1.3超越機(jī)器學(xué)習(xí)——深度學(xué)習(xí)和基于生物啟發(fā)的適應(yīng)系統(tǒng)
1.4機(jī)器學(xué)習(xí)和大數(shù)據(jù)
1.5本章小結(jié)
第2章機(jī)器學(xué)習(xí)的重要元素
2.1數(shù)據(jù)格式
2.2可學(xué)習(xí)性
2.2.1欠擬合和過(guò)擬合
2.2.2誤差度量和成本函數(shù)
2.2.3PAC學(xué)習(xí)
2.3統(tǒng)計(jì)學(xué)習(xí)方法介紹
2.3.1最大后驗(yàn)概率學(xué)習(xí)
2.3.2最大似然學(xué)習(xí)
2.4類平衡
2.4.1可置換的重采樣
2.4.2合成少數(shù)類過(guò)采樣
2.5信息論的要素
2.5.1熵
2.5.2交叉熵和互信息
2.5.3兩個(gè)概率分布的散度
2.6本章小結(jié)
第3章特征選擇與特征工程
3.1scikit-learn的toy數(shù)據(jù)集
3.2創(chuàng)建訓(xùn)練集和測(cè)試集
3.3管理分類數(shù)據(jù)
3.4管理缺失特征
3.5數(shù)據(jù)縮放和歸一化
3.6特征選擇和過(guò)濾
3.7主成分分析
3.7.1非負(fù)矩陣分解
3.7.2稀疏PCA
3.7.3核PCA
3.8獨(dú)立成分分析
3.9原子提取和字典學(xué)習(xí)
3.10使用t-SNE可視化高維數(shù)據(jù)集
3.11本章小結(jié)
第4章回歸算法
4.1線性模型
4.2一個(gè)二維的例子
4.3基于scikit-learn的線性回歸和更高維
4.3.1決定系數(shù)
4.3.2可解釋方差
4.3.3回歸的解析表達(dá)
4.4Ridge回歸、Lasso回歸和ElasticNet
4.4.1Ridge回歸
4.4.2Lasso回歸
4.4.3ElasticNet
4.5穩(wěn)健回歸
4.5.1隨機(jī)抽樣一致算法
4.5.2Huber回歸
4.6貝葉斯回歸
4.7多項(xiàng)式回歸
4.8保序回歸
4.9本章小結(jié)
第5章線性分類算法
5.1線性分類
5.2邏輯回歸
5.3實(shí)現(xiàn)和優(yōu)化
5.4隨機(jī)梯度下降算法
5.5被動(dòng)攻擊算法
5.6通過(guò)網(wǎng)格搜索找到最優(yōu)超參數(shù)
5.7評(píng)估分類的指標(biāo)
5.7.1混淆矩陣
5.7.2精確率
5.7.3召回率
5.7.4F-Beta
5.7.5Kappa系數(shù)
5.7.6分類報(bào)告
5.7.7學(xué)習(xí)曲線
5.8ROC曲線
5.9本章小結(jié)
第6章樸素貝葉斯和判別分析
6.1貝葉斯定理
6.2樸素貝葉斯分類器
6.3scikit-learn中的樸素貝葉斯
6.3.1伯努利樸素貝葉斯
6.3.2多項(xiàng)式樸素貝葉斯
6.3.3高斯樸素貝葉斯
6.4判別分析
6.5本章小結(jié)
第7章支持向量機(jī)
7.1線性支持向量機(jī)
7.2scikit-learn實(shí)現(xiàn)
7.3基于內(nèi)核的分類
7.3.1徑向基函數(shù)
7.3.2多項(xiàng)式核
7.3.3Sigmoid核
7.3.4自定義核
7.3.5非線性例子
7.4受控支持向量機(jī)
7.5支持向量回歸
7.6半監(jiān)督支持向量機(jī)簡(jiǎn)介
7.7本章小結(jié)
第8章決策樹(shù)和集成學(xué)習(xí)
8.1二元決策樹(shù)
8.1.1二元決策
8.1.2不純度的衡量
8.1.3特征重要度
8.2基于scikit-learn的決策樹(shù)分類
8.3決策樹(shù)回歸
8.4集成學(xué)習(xí)簡(jiǎn)介
8.4.1隨機(jī)森林
8.4.2AdaBoost
8.4.3梯度樹(shù)提升
8.4.4投票分類器
8.5本章小結(jié)
第9章聚類原理
9.1聚類基礎(chǔ)
9.2k-NN算法
9.3高斯混合
9.4k-means
9.5基于樣本標(biāo)記的評(píng)價(jià)方法
9.5.1同質(zhì)性
9.5.2完整性
9.5.3修正蘭德指數(shù)
9.6本章小結(jié)
第10章高級(jí)聚類
10.1DBSCAN
10.2譜聚類
10.3在線聚類
10.3.1mini-batch k-means
10.3.2BIRCH
10.4雙聚類
10.5本章小結(jié)
第11章層次聚類
11.1分層策略
11.2凝聚聚類
11.2.1樹(shù)形圖
11.2.2scikit-learn中的凝聚聚類
11.2.3連接限制
11.3本章小結(jié)
第12章推薦系統(tǒng)介紹
12.1樸素的基于用戶的系統(tǒng)
12.2基于內(nèi)容的系統(tǒng)
12.3無(wú)模式(或基于內(nèi)存的)協(xié)同過(guò)濾
12.4基于模型的協(xié)同過(guò)濾
12.4.1奇異值分解策略
12.4.2交替最小二乘法策略
12.4.3用Apache Spark MLlib實(shí)現(xiàn)交替最小二乘法策略
12.5本章小結(jié)
第13章自然語(yǔ)言處理簡(jiǎn)介
13.1NLTK和內(nèi)置語(yǔ)料庫(kù)
13.2詞袋策略
13.2.1標(biāo)記
13.2.2停止詞的刪除
13.2.3詞干抽取
13.2.4向量化
13.3詞性
13.4示例文本分類器
13.5本章小結(jié)
第14章NLP中的主題建模與情感分析
14.1主題建模
14.1.1隱性語(yǔ)義分析
14.1.2概率隱性語(yǔ)義分析
14.1.3隱性狄利克雷分配
14.2使用Gensim的Word2vec簡(jiǎn)介
14.3情感分析
14.4本章小結(jié)
第15章神經(jīng)網(wǎng)絡(luò)介紹
15.1深度學(xué)習(xí)簡(jiǎn)介
15.2基于Keras的MLP
15.3本章小結(jié)
第16章高級(jí)深度學(xué)習(xí)模型
16.1深層結(jié)構(gòu)
16.2基于Keras的深度卷積網(wǎng)絡(luò)示例
16.3基于Kears的LSTM網(wǎng)絡(luò)示例
16.4TensorFlow簡(jiǎn)介
16.4.1梯度計(jì)算
16.4.2邏輯回歸
16.4.3用多層感知器進(jìn)行分類
16.4.4圖像卷積
16.5本章小結(jié)
第17章創(chuàng)建機(jī)器學(xué)習(xí)架構(gòu)
17.1機(jī)器學(xué)習(xí)框架
17.1.1數(shù)據(jù)收集
17.1.2歸一化
17.1.3降維
17.1.4數(shù)據(jù)擴(kuò)充
17.1.5數(shù)據(jù)轉(zhuǎn)換
17.1.6建模、網(wǎng)格搜索和交叉驗(yàn)證
17.1.7可視化
17.1.8GPU支持
17.1.9分布式架構(gòu)簡(jiǎn)介
17.2用于機(jī)器學(xué)習(xí)架構(gòu)的scikit-learn工具
17.2.1管道
17.2.2特征聯(lián)合
17.3本章小結(jié)