模式識別和機器學習是人工智能應用的基礎。本書將模式識別任務按照監(jiān)督學習和無監(jiān)督學習兩種方式進行組織。第1章討論模式識別和機器學習的內在關系,介紹了兩者的基礎知識和模式識別的設計過程。第2章和第3章介紹了zui優(yōu)化的和常規(guī)的基于實例的分類問題。第4~6章檢驗了參數(shù)的、非參數(shù)的和函數(shù)逼近的分類規(guī)則。之后在第7章和第8章就分類的誤差估計和模型選擇對分類模型的性能進行討論。第9章介紹了能夠提高分類模型的性能并減少存儲空間的降維技術。第10章和第11章分別介紹了聚類分析技術和回歸模型。本書適合相關專業(yè)高年級本科生和研究生,以及該領域的從業(yè)人員閱讀。
本書沒有對模式識別和機器學習進行百科全書式的介紹,而是精選了核心內容,使讀者在學習本書后能夠精通核心知識點。本書廣泛使用Python腳本和真實的生物信息學和材料信息學數(shù)據(jù)集來說明理論的要點。
前言
Fundamentals of Pattern Recognition and Machine Learning
“只有受過教育的人才是自由的。”
——古希臘哲學家愛比克泰德(Epictetus)
模式識別和機器學習領域的發(fā)展有著悠久而成就卓著的歷史。單就教材而言,已有很多該領域的優(yōu)秀教材,那么我們需要回答為什么仍需要一本全新的教材。本書致力于通過簡明的介紹,將理論和實踐相結合并且讓其更適用于課堂教學。本書的重點是基于Python編程語言對近期的新方法和應用實例予以展示。本書不會試圖對模式識別和機器學習進行百科全書式的面面俱到的介紹,因為該領域發(fā)展很快,這種介紹方式是不可能實現(xiàn)的。一本簡明的教科書必須有嚴格的選材要求,本書所選的主題在一定程度上不可避免會取決于我自己的經驗和喜好,但我相信它能夠使讀者精通這一領域所必須掌握的核心知識。本書只要求讀者具備本科水平的微積分和概率論知識,同時附錄中包含了研究生水平的概率論知識的簡要回顧以及書中所需的其他數(shù)學方法。
本書是從我在得克薩斯農工大學講授了十多年的模式識別、生物信息學和材料信息學研究生課程的講稿發(fā)展而來的。本書旨在通過恰當?shù)倪x題(詳細見后),在模式識別或機器學習方面,滿足一個或兩個學期的具有高年級本科層次或研究生層次的初級課程的教學需求。雖然本書是為課堂教學設計的,但它也可有效地用于自學。
本書并沒有對理論知識進行回避,因為對理論知識的理解對于模式識別和機器學習的教學過程尤為重要。模式識別和機器學習領域充滿經典的定理,如CoverHart定理、Stone定理及其推論、VapnikChervonenkis定理等。然而,本書試圖在理論和實踐之間獲取平衡。特別是,用貫穿全書的生物信息學和材料信息學的應用數(shù)據(jù)集實例來解釋理論。這些數(shù)據(jù)集也被用在章末的Python作業(yè)中。書中所有的插圖都是使用Python腳本生成的,可以從本書的網站下載。鼓勵讀者用這些腳本做試驗并在Python作業(yè)中使用它們。本書的網站還包含來自生物信息學和材料信息學應用的數(shù)據(jù)集,繪圖和Python作業(yè)中會用到它們。根據(jù)我在課堂上的經驗,一旦學生完成了Python作業(yè)并使用了來自真實應用的數(shù)據(jù),他們對主題的理解就會顯著提升。
本書的組織結構如下。第1章是對主題動機的概括性介紹。第2~8章涉及分類問題。第2章和第3章是分類的基礎章節(jié),主要涉及最優(yōu)化的和常規(guī)的基于實例的分類問題。第4~6章檢驗了三類主要的分類規(guī)則:參數(shù)的、非參數(shù)的和函數(shù)逼近的。第7章和第8章涉及分類的誤差估計和模型選擇。第9章不僅對分類問題的降維方法進行研究,也包括關于無監(jiān)督方法的學習材料。最后,第10章和第11章討論了聚類和回歸問題。教師或讀者可以靈活地從這些章節(jié)中選擇主題,并以不同的順序使用它們。特別是,部分章節(jié)末尾的“其他主題”部分涵蓋了雜項主題內容,在教學中可以包括也可以不包括這些主題,不會影響課程的連續(xù)性。此外,為了方便教師和讀者,書中用星號標記了專業(yè)性更強的章節(jié),這些部分可以在初讀時跳過。
大多數(shù)章節(jié)末尾的練習部分都包含各種難度的問題,練習中的一些是本章所討論概念的直接應用,而另一些則介紹了新的概念和理論的擴展,其中有些可能值得在課堂上討論。大多數(shù)章節(jié)末尾的Python作業(yè)要求讀者使用Python語言和scikitlearn工具包實現(xiàn)本章中討論的方法,并將它們應用于生物信息學和材料信息學應用中的合成和真實數(shù)據(jù)集。
根據(jù)我的教學經驗,建議在課堂上按照如下方式使用本書:
1一個學期的課程重點可集中在分類問題上,講授內容包括第2~9章,包括大多數(shù)標有星號的小節(jié)和其他主題部分。
2面向應用的一學期課程,授課內容可跳過第2~8章中的大部分或所有標有星號的小節(jié)和其他主題部分,涵蓋第9~11章的內容,同時重點講解各章的Python作業(yè)。
3涵蓋整本書的兩個學期課程的教學內容包括大部分或所有標有星號的小節(jié)以及其他主題部分。
本書的出版要歸功于幾位前輩。首先,Duda和Hart的經典教材(1973年首次出版,2001年的第2版加入了Stork作為共同作者)幾十年來一直是該領域的標準參考材料。此外,Devroye,Gyrfi and Lugosi[1996]本書以“作者[年份]”的形式來指代該作者于該年份發(fā)表或出版的論文或著作。 現(xiàn)在仍然是非參數(shù)模式識別的黃金標準。其他對本書存在影響的資料來源包括McLachlan[1992]、Bishop[2006]、Webb[2002]和James et al[2013]。
我要感謝所有現(xiàn)在和過去的合作者,他們幫助我塑造對模式識別和機器學習領域的理解架構。同樣,我也要感謝所有的學生,無論是由我指導過他們的研究,還是參加過我講座的學生,他們都對本書的內容提出了自己的觀點和修改意見。我要感謝Ed Dougherty、Louise Strong、John Goutsias、Ascendino Dias e Silva、Roberto Lotufo、Junior Barrera和 Severino Toscano,我從他們身上受益匪淺。感謝Ed Dougherty、Don Geman、Al Hero和 Gábor Lugosi,在編寫本書的時候他們提供了對本書的評論和對我的鼓勵。我很感謝Caio Davi,他為本書繪制了幾幅插圖。非常感謝當我在紐約市處于困難時期時由Paul Drougas在施普林格提供的專家援助。最后,感謝我的妻子Flávia以及我的孩子Maria Clara和Ulisses,感謝他們在本書的寫作過程中對我充滿耐心,并提供了一如既往的支持。
Ulisses BragaNeto
得克薩斯學院站
2020年7月
[美]烏利塞斯·布拉加-內托
目錄
Fundamentals of Pattern Recognition and Machine Learning
譯者序
前言
第1章概述111模式識別與機器學習1
12數(shù)學基礎設置1
13預測2
14預測誤差2
15監(jiān)督學習與無監(jiān)督學習3
16復雜性權衡3
17設計周期4
18應用實例5
181生物信息學5
182材料信息學7
19文獻注釋9
第2章最優(yōu)分類1021無特征分類10
22有特征分類10
23貝葉斯分類器13
24貝葉斯誤差16
25高斯模型19
251同方差情況20
252異方差情況22
26其他主題22
261極小極大分類22
262F誤差24
263貝葉斯決策理論26
*264分類問題的嚴格表達27
27文獻注釋28
28練習29
29Python作業(yè)33
第3章基于實例的分類3631分類規(guī)則36
32分類錯誤率38
*33一致性38
34沒有免費午餐定理41
35其他主題42
351集成分類42
352混合抽樣與獨立抽樣43
36文獻注釋44
37練習44
38Python作業(yè)45
第4章參數(shù)分類4741參數(shù)替換規(guī)則47
42高斯判別分析48
421線性判別分析48
422二次判別分析51
43邏輯斯諦分類53
44其他主題54
441正則化判別分析54
*442參數(shù)規(guī)則的一致性55
443貝葉斯參數(shù)規(guī)則57
45文獻注釋59
46練習60
47Python作業(yè)62
第5章非參數(shù)分類6451非參數(shù)替換規(guī)則64
52直方圖分類65
53最近鄰分類66
54核分類68
55CoverHart定理70
*56Stone定理73
57文獻注釋74
58練習75
59Python作業(yè)76
第6章函數(shù)逼近分類7861支持向量機78
611可分數(shù)據(jù)的線性支持
向量機78
612一般線性支持向量機80
613非線性支持向量機82
62神經網絡86
621反向傳播訓練89
622卷積神經網絡92
*623神經網絡的普遍逼近
性質94
624普遍一致性定理96
63決策樹97
64有序分類器100
65文獻注釋101
66練習102
67Python作業(yè)104
第7章分類誤差估計10871誤差估計規(guī)則108
72誤差估計性能109
721偏差分布109
722偏差、方差、均方根和
尾概率110
*723一致性111
73測試集誤差估計112
74再代入誤差估計113
75交叉驗證114
76自助方法116
77增強誤差估計118
78其他主題121
781凸誤差估計器121
782平滑誤差估計器123
783貝葉斯誤差估計123
79文獻注釋126
710練習127
711Python作業(yè)129
第8章分類模型選擇13181分類復雜性131
82VapnikChervonenkis理論134
*821有限模型選擇134
822打散系數(shù)與VC維度135
823幾種分類規(guī)則中的VC
參數(shù)136
824VapnikChervonenkis
定理139
825沒有免費午餐定理139
83模型選擇方法140
831驗證誤差最小化140
832訓練集誤差最小化141
833結構性風險最小化141
84文獻注釋142
85練習143
第9章降維14591面向分類任務的特征提取145
92特征選擇146
921窮舉搜索146
922單變量貪婪搜索147
923多變量貪婪搜索149
924特征選擇與分類復雜性150
925特征選擇與誤差估計150
93主成分分析152
94多維縮放155
95因子分析156
96文獻注釋158
97練習159
98Python作業(yè)160
第10章聚類162101KMeans算法162
102高斯混合模型165
1021期望最大化方法166
1022與KMeans的關系170
103層次聚類171
104自組織映射173
105文獻注釋174
106練習175
107Python作業(yè)176
第11章回歸178111最優(yōu)回歸178
112