前言
機(jī)器學(xué)習(xí)已經(jīng)成為一種解決諸多問題的有效工具,廣泛應(yīng)用于多學(xué)科交叉領(lǐng)域。本書以理工科本科生和一年級(jí)研究生的基礎(chǔ)知識(shí)為起點(diǎn),以面向工程應(yīng)用為目標(biāo),適度側(cè)重電子信息專業(yè)學(xué)生,并盡可能滿足其他專業(yè)需求,是一本通用性和專業(yè)性兼顧的機(jī)器學(xué)習(xí)入門教材。通過學(xué)習(xí)本書,讀者可以為掌握機(jī)器學(xué)習(xí)包括深度學(xué)習(xí)的本質(zhì)和算法、解決實(shí)際問題及開展與本領(lǐng)域相關(guān)的研究打下基礎(chǔ)。
本書是作者《機(jī)器學(xué)習(xí)導(dǎo)論》(以下稱《導(dǎo)論》)的姐妹篇,是對(duì)《導(dǎo)論》的精簡(jiǎn)。但本書不是經(jīng)過簡(jiǎn)單刪削的簡(jiǎn)化版,而是對(duì)內(nèi)容進(jìn)行了重新梳理和編排,更適合作為一個(gè)學(xué)期機(jī)器學(xué)習(xí)課程的基本教材!秾(dǎo)論》更適合作為對(duì)機(jī)器學(xué)習(xí)課程要求更高并留有一定自學(xué)材料的教材。與《導(dǎo)論》類似,本書在內(nèi)容選擇上盡可能地進(jìn)行了平衡,既反映機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)和經(jīng)典方法,又重視近期非;钴S的深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的內(nèi)容。深度學(xué)習(xí)很重要,尤其當(dāng)前的一些商業(yè)化應(yīng)用(包括計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理、推薦系統(tǒng)、信息檢索等),既有大數(shù)據(jù)支持,又可以通過大規(guī)模計(jì)算系統(tǒng)進(jìn)行訓(xùn)練(學(xué)習(xí)),取得了許多重要進(jìn)展。但并不是所有應(yīng)用都有必要使用深度學(xué)習(xí),許多問題用傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)就可以取得很好的結(jié)果,尤其是一些工程中的專門領(lǐng)域,獲取大數(shù)據(jù)集是非常困難的,在這些領(lǐng)域中,經(jīng)典的機(jī)器學(xué)習(xí)方法可得到更廣泛的應(yīng)用。
全書內(nèi)容共12章,分為3部分。
第一部分涵蓋前5章,包括基礎(chǔ)性介紹和一些需要補(bǔ)充的基礎(chǔ)知識(shí)。第1章是機(jī)器學(xué)習(xí)概述,介紹了機(jī)器學(xué)習(xí)要解決的基本問題,以及一些基本術(shù)語、基本類型和構(gòu)成模型的基本元素; 第2章是
統(tǒng)計(jì)與優(yōu)化基礎(chǔ),介紹了概率和統(tǒng)計(jì)基礎(chǔ)、決策論基礎(chǔ)、信息理論入門知識(shí)和優(yōu)化原理入門知識(shí),目的是使本書盡可能滿足具有不同背景的讀者需求;第3章和第4章分別介紹了基本回歸算法和基本分類算法,包括線性回歸、線性基函數(shù)回歸、Fisher線性判別分析、感知機(jī)、邏輯回歸和樸素貝葉斯方法; 第5章介紹了機(jī)器學(xué)習(xí)的評(píng)估和機(jī)器學(xué)習(xí)理論的相關(guān)知識(shí)。
第二部分由第6~8章組成,介紹了機(jī)器學(xué)習(xí)的3種重要算法: 支持向量機(jī)、決策樹和集成學(xué)習(xí)。由于這3類算法較為重要,每類都用一章的篇幅進(jìn)行專題介紹。
第三部分由最后4章組成,包括深度學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。關(guān)于神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的專題,用兩章的篇幅做了較深入的討論。第9章是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),討論了網(wǎng)絡(luò)的結(jié)構(gòu)、表示定理、目標(biāo)函數(shù)、基本優(yōu)化方法、梯度計(jì)算、初始化和正則化等,最重要的是給出了反向傳播算法的詳細(xì)介紹; 第10章詳細(xì)介紹深度學(xué)習(xí)中的兩大類網(wǎng)絡(luò)結(jié)構(gòu): 卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),分別介紹了其基本結(jié)構(gòu)、擴(kuò)展結(jié)構(gòu),以及幾個(gè)有影響的網(wǎng)絡(luò)結(jié)構(gòu)的例子,給出了殘差網(wǎng)絡(luò)、LSTM、GRU等新結(jié)構(gòu)的介紹,然后介紹了深度網(wǎng)絡(luò)的優(yōu)化技術(shù)、正則化和歸一化。第11章是關(guān)于無監(jiān)督學(xué)習(xí)算法的專題,討論了聚類算法、EM算法及主分量分析。第12章介紹了強(qiáng)化學(xué)習(xí)原理和算法,首先討論了強(qiáng)化學(xué)習(xí)的表格方法,然后介紹了值函數(shù)逼近和策略梯度兩類算法,這兩類算法都可以結(jié)合深度神經(jīng)網(wǎng)絡(luò)構(gòu)成深度強(qiáng)化學(xué)習(xí)。
目錄中標(biāo)記星號(hào)的章節(jié)屬于選讀內(nèi)容。
作為一本教材,本書每章都設(shè)置了適量的習(xí)題供選用。作者在附錄A中給出了課程的實(shí)踐型作業(yè)實(shí)例。在作者自己開設(shè)的課程中,每學(xué)期均要求學(xué)生完成若干實(shí)踐型作業(yè),作業(yè)一般來自網(wǎng)絡(luò)資源中的實(shí)際數(shù)據(jù),需要學(xué)生自己選擇預(yù)處理方法,實(shí)踐型作業(yè)的效果非常好。每年的作業(yè)都有變化,為了提供完整的參考性,附錄A給出某年的全部實(shí)踐型作業(yè)的原題,僅供使用本書作為教材的老師參考。對(duì)于不同的院校、不同的專業(yè),可以有不同的要求,但應(yīng)該至少完成一項(xiàng)實(shí)踐型作業(yè)。對(duì)于自學(xué)本書的科技人員,可以自行選擇一些題目測(cè)試自己的學(xué)習(xí)效果。真正掌握好機(jī)器學(xué)習(xí)既需要較強(qiáng)的數(shù)學(xué)知識(shí),從而理解各種算法; 又需要有較強(qiáng)的實(shí)踐能力,編程、調(diào)試完成一些實(shí)踐型作業(yè)。本書以原理和算法為主,若讀者需要學(xué)習(xí)編程基礎(chǔ),如Python語言,可自行選擇相關(guān)的編程教材或指南,本書附錄A的最后介紹了幾個(gè)編程指南的網(wǎng)絡(luò)鏈接。
作為一本綜合性、導(dǎo)論性的機(jī)器學(xué)習(xí)教材,本書對(duì)深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的介紹在深度和廣度上都做了很大的努力,希望讀者在學(xué)習(xí)到機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí)的同時(shí),對(duì)深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)有深入的了解,盡快進(jìn)入這些領(lǐng)域的前沿。
本書作為一本適合一學(xué)期課程使用的基本教材,參考文獻(xiàn)只列出了教材和專著,《導(dǎo)論》則包含了更多較新的研究論文,考慮篇幅和基本教材的定位,本書沒有再列出這些文獻(xiàn)。
許多同行和研究生對(duì)本書的出版做出了貢獻(xiàn)。微軟亞洲研究院的劉鐵巖博士對(duì)課程內(nèi)容的設(shè)置提出了寶貴意見,秦濤博士對(duì)本書的內(nèi)容給出了若干有價(jià)值的建議,清華大學(xué)電子工程系的同事汪玉、王劍、袁堅(jiān)和沈淵等教授提供了各種幫助,謹(jǐn)表示感謝!作者的學(xué)生王超博士,曾多次作為課程助教,協(xié)助進(jìn)行課程內(nèi)容的完善和實(shí)踐型作業(yè)的設(shè)計(jì),并仔細(xì)閱讀了本書的初稿,提出若干修改意見; 助教博士生金月、邱云波幫助繪制了多幅插圖,金月幫助實(shí)現(xiàn)了3.3節(jié)的實(shí)例,在此一并表示感謝。
盡管做了很大努力,但由于作者水平、時(shí)間和精力所限,本書難免有缺點(diǎn)和不足,希望讀者批評(píng)指正。
張旭東
2023年3月于清華園
第一部分基礎(chǔ)知識(shí)和基本方法
第1章機(jī)器學(xué)習(xí)概述
微課視頻 185分鐘
1.1什么是機(jī)器學(xué)習(xí)
1.2機(jī)器學(xué)習(xí)的類型
1.2.1基本分類
1.2.2監(jiān)督學(xué)習(xí)及其功能分類
1.3構(gòu)建機(jī)器學(xué)習(xí)系統(tǒng)的基本問題
1.3.1機(jī)器學(xué)習(xí)的基本元素
1.3.2機(jī)器學(xué)習(xí)的一些基本概念
1.4從簡(jiǎn)單示例理解機(jī)器學(xué)習(xí)
1.4.1一個(gè)簡(jiǎn)單的回歸示例
1.4.2一個(gè)簡(jiǎn)單的分類示例
1.5深度學(xué)習(xí)簡(jiǎn)介
1.6本章小結(jié)
習(xí)題
第2章統(tǒng)計(jì)與優(yōu)化基礎(chǔ)
微課視頻 168分鐘
2.1概率論基礎(chǔ)
2.1.1離散隨機(jī)變量
2.1.2連續(xù)隨機(jī)變量
2.1.3隨機(jī)變量的統(tǒng)一表示
2.1.4隨機(jī)變量的基本特征
2.1.5隨機(jī)特征的蒙特卡洛逼近
2.2概率實(shí)例
2.2.1離散隨機(jī)變量示例
2.2.2高斯分布
2.2.3指數(shù)族
2.2.4混合高斯過程
2.2.5馬爾可夫過程
2.3最大似然估計(jì)
2.4貝葉斯估計(jì)
2.5貝葉斯決策
2.5.1機(jī)器學(xué)習(xí)中的決策
2.5.2分類的決策
2.5.3回歸的決策
2.6隨機(jī)變量的熵特征
2.6.1熵的定義和基本性質(zhì)
2.6.2KL散度
2.7非參數(shù)方法
2.8優(yōu)化技術(shù)概述
2.9本章小結(jié)
習(xí)題
第3章基本回歸算法
微課視頻 85分鐘
3.1線性回歸
3.1.1基本線性回歸
3.1.2線性回歸的遞推學(xué)習(xí)
3.1.3多輸出線性回歸
3.2正則化線性回歸
3.3線性基函數(shù)回歸
3.4本章小結(jié)
習(xí)題
第4章基本分類算法
微課視頻 86分鐘
4.1基本分類問題
4.2線性判別函數(shù)模型
4.2.1Fisher線性判別分析
*4.2.2感知機(jī)
4.3邏輯回歸
4.3.1二分類問題的邏輯回歸
4.3.2多分類問題的邏輯回歸
4.4樸素貝葉斯方法
4.5高斯生成模型分類器
4.5.1相同協(xié)方差矩陣情況的二分類
4.5.2不同協(xié)方差矩陣情況的二分類
4.5.3多分類情況
4.6本章小結(jié)
習(xí)題
第5章機(jī)器學(xué)習(xí)的性能與評(píng)估
5.1模型的訓(xùn)練、驗(yàn)證與測(cè)試
5.2機(jī)器學(xué)習(xí)模型的性能評(píng)估
5.3機(jī)器學(xué)習(xí)模型的誤差分解
5.4機(jī)器學(xué)習(xí)模型的泛化性能
5.4.1假設(shè)空間有限時(shí)的泛化誤差界
*5.4.2假設(shè)空間無限時(shí)的泛化誤差界
5.5本章小結(jié)
習(xí)題
第二部分經(jīng)典算法
第6章支持向量機(jī)與核函數(shù)方法
微課視頻 90分鐘
6.1線性可分的支持向量機(jī)
6.1.1不等式約束的優(yōu)化
6.1.2線性可分情況SVM的原理
6.1.3線性可分情況SVM的優(yōu)化解
6.2線性不可分情況的SVM
6.2.1線性不可分情況SVM的優(yōu)化解
6.2.2合頁損失函數(shù)
6.3非線性支持向量機(jī)
6.3.1SVM分類算法小結(jié)
6.3.2核函數(shù)方法
6.4SVM用于多分類問題
*6.5支持向量回歸
6.6本章小結(jié)
習(xí)題
第7章決策樹算法
微課視頻 75分鐘
7.1基本決策樹算法
7.1.1決策樹的基本結(jié)構(gòu)
7.1.2信息增益和ID3算法
7.1.3信息增益率和C4.5算法
7.2CART算法
7.2.1分類樹
7.2.2回歸樹
7.3決策樹的一些實(shí)際問題
7.3.1連續(xù)數(shù)值變量
7.3.2正則化和剪枝技術(shù)
7.3.3缺失屬性的訓(xùn)練樣本問題
7.4本章小結(jié)
習(xí)題
第8章集成學(xué)習(xí)算法
微課視頻 60分鐘
8.1Bagging和隨機(jī)森林
8.1.1自助采樣和Bagging算法
8.1.2隨機(jī)森林算法
8.2提升和AdaBoost算法
8.3提升樹算法
8.3.1加法模型和提升樹
8.3.2梯度提升樹
8.4本章小結(jié)
習(xí)題
第三部分進(jìn)階方法
第9章神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)之一: 基礎(chǔ)
微課視頻 90分鐘
9.1神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)
9.1.1神經(jīng)元結(jié)構(gòu)
9.1.2多層神經(jīng)網(wǎng)絡(luò)解決異或問題
9.1.3多層感知機(jī)
9.1.4神經(jīng)網(wǎng)絡(luò)的逼近定理
9.2神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)和優(yōu)化
9.2.1神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)
9.2.2神經(jīng)網(wǎng)絡(luò)的優(yōu)化
9.3誤差反向傳播算法
9.3.1反向傳播算法的推導(dǎo)
9.3.2反向傳播算法的向量形式
9.4神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中的一些問題
9.4.1初始化
9.4.2正則化
9.4.3幾類等價(jià)正則化技術(shù)
9.5本章小結(jié)
習(xí)題
第10章神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)之二: 結(jié)構(gòu)與優(yōu)化
微課視頻 180分鐘
10.1卷積神經(jīng)網(wǎng)絡(luò)
10.1.1基本CNN的結(jié)構(gòu)
*10.1.2卷積的一些擴(kuò)展結(jié)構(gòu)
*10.1.3CNN示例介紹
10.2循環(huán)神經(jīng)網(wǎng)絡(luò)
10.2.1基本RNN
10.2.2RNN的計(jì)算流程
*10.2.3RNN的擴(kuò)展BP算法
10.2.4深度RNN
*10.2.5長(zhǎng)短期記憶模型
*10.2.6門控循環(huán)單元
10.3深度學(xué)習(xí)中的優(yōu)化算法
10.3.1小批量SGD算法
10.3.2動(dòng)量SGD算法
10.3.3自適應(yīng)學(xué)習(xí)率算法
10.4深度學(xué)習(xí)訓(xùn)練的正則化技術(shù)
10.4.1Dropout技術(shù)
10.4.2批歸一化
10.5本章小結(jié)
習(xí)題
第11章無監(jiān)督學(xué)習(xí)算法
微課視頻 85分鐘
11.1聚類算法
11.1.1K均值聚類算法
11.1.2其他度量和聚類算法
11.2EM算法
11.2.1獨(dú)立同分布情況
*11.2.2通過KL散度對(duì)EM算法的解釋
11.3EM算法求解高斯混合模型參數(shù)
11.3.1GMM參數(shù)估計(jì)
11.3.2GMM的軟聚類
11.4主分量分析
11.4.1主分量分析原理
11.4.2廣義Hebb算法
11.5本章小結(jié)
習(xí)題
第12章強(qiáng)化學(xué)習(xí)
微課視頻 160分鐘
12.1強(qiáng)化學(xué)習(xí)的基本問題
12.2馬爾可夫決策過程
12.2.1MDP的定義
12.2.2貝爾曼方程
12.2.3最優(yōu)策略
12.2.4強(qiáng)化學(xué)習(xí)的類型
12.2.5探索與利用
12.3動(dòng)態(tài)規(guī)劃
12.3.1策略迭代方法
12.3.2值函數(shù)迭代方法
12.4強(qiáng)化學(xué)習(xí)的蒙特卡洛方法
12.4.1MC部分策略評(píng)估
12.4.2MC策略改進(jìn)
12.5強(qiáng)化學(xué)習(xí)的時(shí)序差分方法
12.5.1基本時(shí)序差分學(xué)習(xí)和Sarsa算法
12.5.2Q學(xué)習(xí)
12.5.3DP、MC和TD算法的簡(jiǎn)單比較
12.6強(qiáng)化學(xué)習(xí)的值函數(shù)逼近
12.6.1基本線性值函數(shù)逼近
12.6.2深度Q網(wǎng)絡(luò)
12.7策略梯度方法
12.7.1MC策略梯度算法Reinforce
12.7.2行動(dòng)器評(píng)判器方法
*12.8多臂賭博機(jī)
12.9本章小結(jié)
習(xí)題
參考文獻(xiàn)
附錄A課程的實(shí)踐型作業(yè)實(shí)例
A.1第1次實(shí)踐作業(yè)
A.2第2次實(shí)踐作業(yè)
A.3第3次實(shí)踐作業(yè)
附錄B函數(shù)對(duì)向量和矩陣的求導(dǎo)
視 頻 名 稱時(shí)長(zhǎng)/分鐘位置
ML01導(dǎo)論1651.1節(jié)節(jié)首
ML02導(dǎo)論2601.3節(jié)節(jié)首
ML03導(dǎo)論3601.4節(jié)節(jié)首
ML04統(tǒng)計(jì)基礎(chǔ)1702.1節(jié)節(jié)首
ML05統(tǒng)計(jì)基礎(chǔ)2402.5節(jié)節(jié)首
ML06統(tǒng)計(jì)基礎(chǔ)3582.6節(jié)節(jié)首
ML07回歸學(xué)習(xí)853.1節(jié)節(jié)首
ML08分類學(xué)習(xí)1504.1節(jié)節(jié)首
ML09分類學(xué)習(xí)2364.4節(jié)節(jié)首
ML10核與SVM906.1節(jié)節(jié)首
ML11決策樹757.1節(jié)節(jié)首
ML12集成學(xué)習(xí)608.1節(jié)節(jié)首
ML13神經(jīng)網(wǎng)絡(luò)909.1節(jié)節(jié)首
ML14深度學(xué)習(xí)18010.1節(jié)節(jié)首
ML15深度學(xué)習(xí)24410.2節(jié)節(jié)首
ML16深度學(xué)習(xí)35610.3節(jié)節(jié)首
ML17無監(jiān)督學(xué)習(xí)16511.1節(jié)節(jié)首
ML18無監(jiān)督學(xué)習(xí)22011.4節(jié)節(jié)首
ML19強(qiáng)化學(xué)習(xí)19012.1節(jié)節(jié)首
ML20強(qiáng)化學(xué)習(xí)27012.3節(jié)節(jié)首