現(xiàn)代決策樹模型及其編程實(shí)踐:從傳統(tǒng)決策樹到深度決策樹
定 價(jià):129 元
叢書名:智能科學(xué)與技術(shù)叢書
- 作者:黃智瀕
- 出版時(shí)間:2022/7/1
- ISBN:9787111706366
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP18
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
決策樹是數(shù)據(jù)分析中廣泛使用的機(jī)器學(xué)習(xí)模型,其模型簡(jiǎn)單、算法快速且具有可解釋性。但隨著大數(shù)據(jù)的涌現(xiàn),將決策樹真正應(yīng)用到實(shí)踐中還面臨諸多困難。本書正是為解決這一痛點(diǎn)而作,旨在幫助讀者系統(tǒng)且全面地了解決策樹,并成功地將其用于工程實(shí)踐。
生活中,我們處處在做決策,這類決策也許是快速而直接的。工作中,我們可能要做出一些重大而復(fù)雜的決策,這類決策往往需要我們細(xì)致地收集各種影響要素,量化分析其權(quán)重,最終得到符合意圖的決策結(jié)果。正是這種認(rèn)知行為意識(shí)使得決策分析和基于樹的決策工具在1500年前就開始使用了,長(zhǎng)期的樹形分析實(shí)踐為后來(lái)決策樹方法的誕生提供了豐富的養(yǎng)分,F(xiàn)代決策樹算法的演化是人工智能深入發(fā)展過程中的重要組成部分。由于優(yōu)秀的可解釋性、模型的簡(jiǎn)單性、算法的快速性,使得決策樹算法受到了越來(lái)越廣泛的關(guān)注,正在成為數(shù)據(jù)科學(xué)和智能科學(xué)領(lǐng)域技術(shù)人員的必備工具。我相信決策樹還將深入影響未來(lái)人工智能模式的發(fā)展。
在過去的三年中,我有幸參與了一個(gè)以決策樹作為主要工具的重點(diǎn)項(xiàng)目。我們通過深入學(xué)習(xí)、探索和研究各類決策樹模型,最終實(shí)現(xiàn)了具有良好可解釋性、能有效處理超大規(guī)模數(shù)據(jù)且能快速實(shí)現(xiàn)預(yù)測(cè)評(píng)估的機(jī)器學(xué)習(xí)模型。本書是我們?cè)陧?xiàng)目實(shí)踐過程中的積累與總結(jié)。
本書從決策分析及其應(yīng)用引入主題,首先介紹決策樹與人工智能的關(guān)系(第1章),然后介紹經(jīng)典的決策樹算法(第2章),通過對(duì)CART、ID3和C4.5等算法的介紹,幫助讀者對(duì)決策樹形成明確且清晰的概念。之后結(jié)合分類問題和回歸問題進(jìn)行實(shí)踐,特別是對(duì)回歸問題進(jìn)行了深入討論回歸模型正成為現(xiàn)代決策樹模型與深度學(xué)習(xí)模型的有效結(jié)合點(diǎn)。第3章深入講解經(jīng)典的決策樹剪枝方法,特別是代價(jià)復(fù)雜度剪枝、錯(cuò)誤率降低剪枝、悲觀錯(cuò)誤剪枝和最小錯(cuò)誤剪枝,通過示例和編程實(shí)踐進(jìn)行詳細(xì)描述。第4章介紹隨機(jī)森林的基本原理,結(jié)合示例和編程實(shí)踐詳細(xì)描述了隨機(jī)森林的構(gòu)造過程,并對(duì)套袋法進(jìn)行分析。第5章介紹當(dāng)前較為熱門的集成學(xué)習(xí)方法(提升法、梯度提升法、堆疊法),通過示例和編程實(shí)踐詳細(xì)講解AdaBoost和梯度提升法。第6章著重介紹并行決策樹的幾種主流算法,包括XGBoost、LightGBM和CatBoost,并簡(jiǎn)要介紹了較新的NGBoost算法。該章首先對(duì)各算法的核心原理做了分析,然后從工程化角度介紹其并行化加速方法,同時(shí)還提供了一些應(yīng)用實(shí)例。第7章介紹常見的幾類蟻群算法以及在此基礎(chǔ)上的蟻群決策樹算法和自適應(yīng)蟻群決策森林。群智模型作為人工智能2.0時(shí)代的典型智能模型,其群體智能的全局搜索能力與決策樹的可解釋性的有效結(jié)合,也許會(huì)帶來(lái)預(yù)料之外的成功。第8章介紹深度決策樹算法,包括深度森林、深度神經(jīng)決策樹、自適應(yīng)神經(jīng)決策樹、神經(jīng)支持決策樹和深度神經(jīng)決策森林,并借助PyTorch等工具對(duì)程序和示例進(jìn)行分析。
本書圍繞決策樹算法和現(xiàn)代決策樹模型,通過大量的示例和完整的代碼實(shí)現(xiàn)詳細(xì)講解決策樹的精髓,既涵蓋必要的公式推導(dǎo),又考慮具體的應(yīng)用需求。本書的所有代碼均可免費(fèi)獲取,有需要的讀者請(qǐng)?jiān)L問華章網(wǎng)站(www.hzbook.com)搜索本書并下載。通過閱讀本書,希望讀者能對(duì)決策樹有系統(tǒng)和全面的了解,并能夠?qū)⑵淇焖賾?yīng)用在工作和生活實(shí)踐中。如果這本書能給你帶來(lái)開卷有益的感受,那將是我最大的欣慰了。
最后,感謝家人和朋友的支持和幫助。感謝在本書撰寫過程中做出貢獻(xiàn)的人,特別是常霄、曹凌婧、劉小萌、洪藝賓、張瑞濤、劉濤、傅廣濤、董丹陽(yáng)、法天昊、靳夢(mèng)凡、汪鑫等,常霄負(fù)責(zé)全書代碼的編寫和整理工作。還要感謝機(jī)械工業(yè)出版社的各位編輯,以及北京郵電大學(xué)計(jì)算機(jī)學(xué)院(國(guó)家示范性軟件學(xué)院)的大力支持。
黃智瀕
于北京郵電大學(xué)目錄
贊譽(yù)
推薦序一
推薦序二
推薦序三
前言
第1章決策樹與人工智能1
1.1決策與智能1
1.2決策樹算法的起源2
1.3決策樹的核心術(shù)語(yǔ)4
1.4決策樹的可解釋性5
1.5作為決策分析工具的決策樹7
1.5.1決策分析8
1.5.2基于決策分析流程的決策樹9
1.6作為機(jī)器學(xué)習(xí)算法的決策樹15
1.6.1機(jī)器學(xué)習(xí)算法的類型15
1.6.2基于數(shù)據(jù)的決策樹18
1.6.3決策樹算法面臨的基本問題24
1.6.4基于規(guī)則的機(jī)器學(xué)習(xí)27
1.7作為特征學(xué)習(xí)與決策融合的決策樹30
1.8參考文獻(xiàn)31
第2章經(jīng)典決策樹算法33
2.1經(jīng)典決策樹應(yīng)用的一般流程33
2.1.1缺失值的處理33
2.1.2連續(xù)數(shù)值屬性的離散化處理34
2.2CART算法34
2.2.1基尼不純度、基尼增益與基尼指數(shù)34
2.2.2CART分類決策樹的原理38
2.2.3CART分類決策樹的編程實(shí)踐43
2.2.4回歸問題與回歸算法55
2.2.5CART回歸決策樹的特征和分割點(diǎn)選擇準(zhǔn)則65
2.2.6CART回歸決策樹的原理66
2.2.7CART回歸決策樹的編程實(shí)踐70
2.3ID3算法75
2.3.1信息熵與信息增益75
2.3.2ID3算法示例78
2.3.3ID3算法的編程實(shí)踐84
2.4C4.5算法87
2.4.1信息增益率88
2.4.2連續(xù)屬性的處理88
2.4.3缺失值的處理88
2.4.4基于C4.5算法處理連續(xù)屬性生成分類決策樹的示例91
2.4.5C4.5算法的后續(xù)改進(jìn)C5.0算法96
2.5決策樹的評(píng)估98
2.6決策樹的5種可視化方法100
2.7小結(jié)107
2.8參考文獻(xiàn)107
第3章決策樹的剪枝109
3.1代價(jià)復(fù)雜度剪枝110
3.1.1CCP算法的基本原理110
3.1.2CCP算法的編程實(shí)踐113
3.1.3基于sklearn的CCP示例121
3.2錯(cuò)誤率降低剪枝127
3.2.1REP算法的基本原理127
3.2.2REP算法的編程實(shí)踐128
3.3悲觀錯(cuò)誤剪枝133
3.3.1PEP算法的基本原理133
3.3.2PEP算法的編程實(shí)踐135
3.4最小錯(cuò)誤剪枝139
3.4.1MEP算法的基本原理139
3.4.2MEP算法的編程實(shí)踐140
3.5其他決策樹剪枝算法簡(jiǎn)介145
3.6小結(jié)147
3.7參考文獻(xiàn)147
第4章隨機(jī)森林149
4.1隨機(jī)森林的基本原理149
4.1.1構(gòu)造隨機(jī)森林的步驟150
4.1.2隨機(jī)森林的簡(jiǎn)單示例151
4.1.3基于sklearn的隨機(jī)森林編程示例152
4.1.4選擇最優(yōu)的隨機(jī)特征屬性數(shù)量153
4.2套袋法156
4.2.1套袋法的算法流程157
4.2.2套袋法的偏差和方差157
4.2.3套袋法的優(yōu)缺點(diǎn)159
4.3隨機(jī)森林的參數(shù)設(shè)置與調(diào)優(yōu)159
4.3.1sklearn隨機(jī)森林的參數(shù)159
4.3.2調(diào)參示例161
4.3.3OOB錯(cuò)誤率與交叉驗(yàn)證166
4.4隨機(jī)森林的優(yōu)缺點(diǎn)174
4.5使用隨機(jī)森林進(jìn)行特征屬性的重要性區(qū)分的示例175
4.5.1基于基尼指數(shù)的特征屬性重要性評(píng)估175
4.5.2基于袋外數(shù)據(jù)錯(cuò)誤率的特征屬性重要性評(píng)估177
4.6使用隨機(jī)森林進(jìn)行無(wú)監(jiān)督聚類的示例179
4.7使用隨機(jī)森林進(jìn)行回歸分析的示例182
4.8隨機(jī)森林與核方法的結(jié)合184
4.9小結(jié)186
4.10參考文獻(xiàn)186
第5章集成學(xué)習(xí)方法188
5.1提升法188
5.1.1AdaBoost算法原理189
5.1.2AdaBoost算法實(shí)現(xiàn)199
5.1.3AdaBoost算法的編程實(shí)踐基于sklearn解決分類問題203
5.1.4AdaBoost算法的編程實(shí)踐基于sklearn解決回歸問題205
5.1.5提升法的分類、優(yōu)點(diǎn)和挑戰(zhàn)207
5.2梯度提升法208
5.2.1梯度提升法的原理和示例208
5.2.2梯度提升決策樹211
5.2.3梯度提升分類決策樹213
5.2.4梯度提升回歸決策樹223
5.2.5隨機(jī)梯度提升樹227
5.2.6基于梯度提升法的機(jī)器學(xué)習(xí)庫(kù)228
5.3堆疊法233
5.3.1簡(jiǎn)單的二階段堆疊算法234
5.3.2基于K折交叉驗(yàn)證的二階段堆疊法237
5.3.3基于sklearn的K折交叉驗(yàn)證的二階段堆疊法的編程實(shí)踐238
5.3.4多階段堆疊模型247
5.4套袋法、提升法、堆疊法的比較250
5.5小結(jié)252
5.6參考文獻(xiàn)253
第6章并行決策樹256
6.1隨機(jī)森林的并行化256
6.2XGBoost基礎(chǔ)259
6.2.1XGBoost核心原理260
6.2.2XGBoost系統(tǒng)設(shè)計(jì)及其并行化加速270
6.2.3XGBoost編程基礎(chǔ)272
6.2.4XGBoost回歸問題編程275
6.2.5XGBoost分類問題編程277
6.2.6XGBoost隨機(jī)森林編程278
6.2.7XGBoost特征篩選編程281
6.2.8XGBoost與傳統(tǒng)提升樹的比較283
6.2.9XGBoost的缺點(diǎn)284
6.3LightGBM基礎(chǔ)284
6.3.1LightGBM核心原理285
6.3.2LightGBM系統(tǒng)設(shè)計(jì)及其并行化加速291
6.3.3LigthGBM編程基礎(chǔ)294
6.3.4LightGBM與sklearn結(jié)合的示例300
6.3.5LightGBM回歸問題編程302
6.3.6LightGBM分類問題編程303
6.3.7LightGBM的優(yōu)缺點(diǎn)305
6.4CatBoost基礎(chǔ)306
6.4.1CatBoost核心原理306
6.4.2CatBoost系統(tǒng)設(shè)計(jì)及其并行化加速313
6.4.3CatBoost編程基礎(chǔ)313
6.4.4CatBoost分類問題編程(不帶分類特征屬性)317
6.4.5CatBoost回歸問題編程(不帶分類特征屬性)319
6.4.6CatBoost回歸問題編程(帶分類特征屬性)321
6.4.7CatBoost的優(yōu)缺點(diǎn)323
6.4.8XGBoost、LightGBM、CatBoost的比較324
6.5NGBoost簡(jiǎn)介325
6.6小結(jié)326
6.7參考文獻(xiàn)326
第7章蟻群決策樹329
7.1蟻群元啟發(fā)式算法329
7.1.1典型蟻群算法330
7.1.2MMAS算法331
7.1.3ACS算法332
7.2基于蟻群的分類規(guī)則提取333
7.2.1Ant-Miner規(guī)則提取方法334
7.2.2Ant-Miner算法實(shí)現(xiàn)339
7.2.3Ant-Miner算法的早期變種345
7.2.4MYRA開源實(shí)現(xiàn)349
7.2.5Ant-MinerMA G算法350
7.2.6AMclr算法353
7.3蟻群