
梅須遜雪三分白,雪卻輸梅一段香。
——宋代 · 盧鉞《雪梅》

本書對機器學習的基礎知識和基本算法進行了詳細的介紹,對廣泛應用的經典算法(如線性回歸、邏輯回歸、樸素貝葉斯、支持向量機、決策樹和集成學習等)進行了深入的分析,並討論了無監督學習的基本方法。用5章對深度學習和深度強化學習進行了相當全面的敘述,不僅深入地討論了反向傳播算法、多層感知機、卷積神經網絡、循環神經網絡和長短期記憶網絡等深度神經網絡的核心知識和結構,對於一些發展中的專題(如生成對抗網絡和Transformer等)也給予了一定深度的介紹。對於強化學習,不僅介紹了經典表格方法,也較詳細地討論了深度強化學習。本書對於基礎和前沿、經典方法和熱門技術儘可能平衡,使讀者不僅能在機器學習領域打下一個良好的基礎,同時也可以利用所學知識解決遇到的實際問題並進入學科前沿。
本書是一本面向大學理工科和管理類各專業的寬口徑、綜合性的機器學習教材,可供高年級本科生和研究生使用,也可幫助科技人員、工程師和程序員自學機器學習的原理和算法。
作者簡介
張旭東 清華大學電子工程系長聘教授,博士生導師,主要研究方向為信號處理和機器學習。先後承擔國家、省部級和國際合作項目數十項,在IEEE、IET、ACM等重要刊物和NIPS、AAAI、ICASSP、SIGIR等重要會議上發表學術論文150餘篇,出版著作5部。獲得Elsevier的引用獎(The Most Cited Paper Award)和IET國際雷達年會論文獎,兩次獲得清華大學教學成果一等獎,3次獲得清華大學優秀教材獎。
圖書目錄
第1章機器學習概述
1.1什麼是機器學習
1.2機器學習的分類
1.2.1基本分類
1.2.2監督學習及其功能分類
1.3構建機器學習系統
1.3.1機器學習的基本元素
1.3.2機器學習的一些基本概念
1.3.3機器學習模型的性能評估
1.4通過簡單示例理解機器學習
1.4.1一個簡單的回歸示例
1.4.2一個簡單的分類示例
1.5訓練、驗證與測試
1.6深度學習簡介
1.7本章小結
習題
第2章統計與優化基礎
2.1概率基礎
2.1.1離散隨機變量
2.1.2連續隨機變量
2.1.3隨機變量的基本特徵
2.1.4隨機特徵的蒙特卡洛逼近
2.2概率實例
2.2.1離散隨機變量示例
2.2.2高斯分布
2.2.3指數族
2.2.4混合高斯過程
2.2.5馬爾可夫過程
2.3最大似然估計
2.4貝葉斯估計——最大後驗估計
2.5隨機變量的熵特徵
2.5.1熵的定義和基本性質
2.5.2KL散度、互信息和負熵
2.6非參數方法
2.7優化技術概述
2.7.1基本優化算法
2.7.2拉格朗日方法
2.8本章小結
習題
第3章貝葉斯決策
3.1機器學習中的決策
3.2分類的決策
3.2.1加權錯誤率準則
3.2.2拒絕判決
3.3回歸的決策
3.4高斯情況下的分類決策
3.4.1相同協方差矩陣情況的二分類
3.4.2不同協方差矩陣情況的二分類
3.4.3多分類情況
3.5KNN方法
*3.6概率圖模型概述
3.6.1貝葉斯網絡
3.6.2無向圖模型
3.6.3圖模型的學習與推斷
3.7本章小結
習題
第4章基本回歸算法
4.1線性回歸
4.1.1基本線性回歸
4.1.2線性回歸的遞推學習
4.1.3正則化線性回歸
4.1.4多輸出線性回歸
*4.2稀疏線性回歸Lasso
4.2.1Lasso的循環坐標下降算法
4.2.2Lasso的LAR算法
4.3線性基函數回歸
*4.4奇異值分解
4.5回歸學習的誤差分解
4.6本章小結
習題
第5章基本分類學習
5.1基本分類問題
5.2線性判別函數模型
5.2.1Fisher線性判別分析
*5.2.2感知機
5.3邏輯回歸
5.3.1二分類問題的邏輯回歸
5.3.2多分類問題的邏輯回歸
5.4樸素貝葉斯方法
*5.5機器學習理論簡介
5.5.1假設空間有限時的泛化誤差界
5.5.2假設空間無限時的泛化誤差界
5.6本章小結
習題
第6章支持向量機與核函數方法
6.1線性支持向量機
6.1.1不等式約束的優化
6.1.2線性可分情況的SVM
6.1.3不可分情況的SVM
6.1.4合頁損失函數
6.1.5SVM用於多分類問題
6.2非線性支持向量機
6.2.1SVM分類算法小結
*6.2.2SMO算法
6.3支持向量回歸
*6.4核函數方法
6.5本章小結
習題
第7章決策樹
7.1基本決策樹算法
7.1.1決策樹的基本結構
7.1.2信息增益和ID3算法
7.1.3信息增益率和C4.5算法
7.2CART算法
7.2.1分類樹
7.2.2回歸樹
7.3決策樹的一些實際問題
7.3.1連續數值變量
7.3.2正則化和剪枝技術
7.3.3缺失屬性的訓練樣本問題
7.4本章小結
習題
第8章集成學習
8.1Bagging和隨機森林
8.1.1自助採樣和Bagging算法
8.1.2隨機森林算法
8.2提升和AdaBoost算法
8.2.1AdaBoost算法介紹
*8.2.2AdaBoost算法分析
8.3提升樹算法
8.3.1加法模型和提升樹
8.3.2梯度提升樹
8.4本章小結
習題
第9章神經網絡與深度學習之一:基礎
9.1神經網絡的基本結構
9.1.1神經元結構
9.1.2多層神經網絡解決異或問題
9.1.3多層感知機
9.1.4神經網絡的逼近定理
9.2神經網絡的目標函數和優化
9.2.1神經網絡的目標函數
9.2.2神經網絡的優化
9.3誤差反向傳播算法
9.3.1反向傳播算法的推導
9.3.2反向傳播算法的向量形式
9.3.3反向傳播算法的擴展
9.4神經網絡學習中的一些問題
9.4.1初始化
9.4.2正則化
9.4.3幾類等價正則化技術
9.5本章小結
習題
第10章神經網絡與深度學習之二:結構
10.1卷積神經網絡
10.1.1卷積運算及其物理意義
10.1.2基本CNN的結構
10.1.3CNN的參數學習
*10.1.4卷積的一些擴展結構
*10.1.5CNN示例介紹
10.2循環神經網絡
10.2.1基本RNN
10.2.2RNN的計算和訓練
*10.2.3長短期記憶模型
*10.2.4門控循環單元
10.3本章小結
習題
第11章神經網絡與深度學習之三:技術和應用
11.1深度學習中的優化算法
11.1.1小批量SGD算法
11.1.2動量SGD算法
11.1.3自適應學習率算法
11.2深度學習訓練的正則化技術
11.2.1Dropout技術
11.2.2批歸一化
*11.2.3層歸一化
*11.3對抗訓練
*11.4自編碼器
11.4.1自編碼器的基本結構
11.4.2自編碼器的一些擴展
*11.5生成對抗網絡
*11.6注意力機制和Transformer
11.6.1注意力機制
11.6.2序列到序列模型
11.6.3Transformer
11.7本章小結
第12章聚類和EM算法
12.1聚類算法
12.1.1K均值聚類算法
12.1.2DBSCAN聚類算法
12.1.3其他度量和聚類算法
12.2EM算法
12.2.1EM算法的隱變量形式
12.2.2獨立同分布情況
*12.2.3EM算法擴展到MAP估計
*12.2.4通過KL散度對EM算法的解釋
12.3基於EM算法的高斯混合模型參數估計
12.3.1GMM參數估計
12.3.2GMM的軟聚類
12.4本章小結
習題
第13章降維和連續隱變量學習
13.1主分量分析
13.1.1主分量分析原理
13.1.2廣義Hebb算法
*13.2樣本向量的白化和正交化
13.2.1樣本向量的白化
13.2.2向量集的正交化
*13.3獨立分量分析
13.3.1獨立分量分析的原理和目標函數
13.3.2不動點算法FastICA
13.3.3自然梯度算法
13.3.4仿真實驗舉例
13.4本章小結
習題
第14章強化學習之一:經典方法
14.1強化學習的基本問題
14.2馬爾可夫決策過程
14.2.1MDP的定義
14.2.2貝爾曼方程
14.2.3最優策略
14.2.4強化學習的類型
14.2.5探索與利用
14.3動態規劃
14.3.1策略迭代方法
14.3.2值函數迭代方法
14.4強化學習的蒙特卡洛方法
14.4.1MC部分策略評估
14.4.2MC策略改進
14.4.3在軌策略和離軌策略
14.5強化學習的時序差分方法
14.5.1基本時序差分學習和Sarsa算法
14.5.2離軌策略和Q學習
14.5.3DP、MC和TD算法的簡單比較
*14.5.4多步時序差分學習和資格跡算法
*14.6多臂賭博機
14.7本章小結
習題
第15章強化學習之二:深度強化學習
15.1強化學習的值函數逼近
15.1.1基本線性值函數逼近
*15.1.2線性值函數逼近的最小二乘策略迭代算法
15.1.3深度Q網絡
15.2策略梯度方法
15.2.1MC策略梯度算法Reinforce
15.2.2行動器評判器方法
*15.3連續動作確定性策略梯度方法
15.3.1DPG算法
15.3.2DDPG算法
15.3.3連續動作DRL的一些進展概述
15.4本章小結
習題
附錄A課程的實踐型作業實例
A.1第1次實踐作業
A.2第2次實踐作業
A.3第3次實踐作業
附錄B函數對向量和矩陣的求導
術語表
參考文獻
前言/序言
機器學習已經成為一種解決諸多問題的有效工具,廣泛應用於多學科交叉領域。本書以理工科高年級本科生和一年級研究生的基礎知識為起點,以面向工程應用為目標,適度側重電子信息專業學生,並儘可能滿足其他專業需求,是一本通用性和專業性兼顧的機器學習教材。通過學習本書,讀者可以為掌握機器學習的本質和算法、解決實際問題以及開展與本領域相關的研究打下基礎。
不考慮機器學習當前的熱度,其解決問題的思想和方法有長遠價值,今後或許會有冷熱反覆,但這是一個有長遠發展的方向。 本書是作者在清華大學講授「機器學習」課程的講義基礎上修訂而成的,該課程主要面向電子信息專業的本科生和研究生的「本研貫通」課程,對其他理工科和管理類專業開放,先後有20多個院系的本科生和研究生也選修了該課程。 作為「機器學習」課程的教材,本書在材料選擇上做了儘可能的平衡,既要反映機器學習的基礎知識和經典方法,又要重視近期非常活躍的深度學習的內容。由於機器學習的成果非常豐富,構成一本教材的材料的可選擇面非常廣,因此我們在基礎和前沿的材料中做了仔細的選擇。深度學習很重要,尤其是當前的一些商業化應用(包括計算機視覺、語音識別、自然語言處理、推薦系統、信息檢索等),既有大數據支持,又可以通過大規模計算系統進行訓練(學習),取得了許多重要進展。但並不是所有應用都有必要使用深度學習,許多問題用傳統機器學習技術就可以取得很好的結果,尤其是一些工程中的專門領域,獲取大數據集是非常困難的,對於這些領域,經典的機器學習方法可得到更廣泛應用。 基於以上考慮,本書對機器學習的經典算法和深度學習算法都給予相當深入的介紹,全書內容分為6個單元。第1單元涵蓋前3章,包括基礎性介紹和一些需要補充的基礎知識。第1章是機器學習概述,介紹了機器學習要解決的基本問題,以及一些基本術語、基本類型和構成模型的基本元素;第2章是統計與優化基礎,目的是使本書儘可能滿足更廣泛的讀者需求;第3章是貝葉斯決策,這是構成機器學習系統的一個相對獨立的基本單元,同時簡單介紹了圖模型基礎。 第2單元包括第4、5章,分別介紹了基本回歸算法和基本分類算法,包括線性回歸、基函數回歸、稀疏回歸、Fisher線性判別分析、感知機、邏輯回歸和樸素貝葉斯算法。同時,這兩章還分別結合回歸和分類簡要介紹了機器學習理論中的兩個重要問題:方差與偏的折中和泛化界定理。該單元通過相對簡單的模型,介紹了構成機器學習算法的核心要素,對於理解機器學習的基本原理很有幫助,所介紹的算法對中小規模問題仍有實用價值。 第3單元由第6-8章構成,分別介紹了機器學習的3種重要算法:支持向量機、決策樹和集成學習。由於這3類算法的重要性,每類都用一章的篇幅進行專題介紹。 第4單元是關於神經網絡與深度學習的專題,用3章的篇幅深入討論這一專題,分別介紹了本專題的3方面:基礎、結構、技術。第9章討論了網絡的結構、表示定理、目標函數、基本優化方法、梯度計算、初始化和正則化等,最重要的是給出了反向傳播算法的深入介紹;第10章詳細介紹了深度學習中的兩大類網絡結構,即卷積神經網絡和循環神經網絡,並分別介紹了其基本結構、擴展結構和專門的反向傳播算法,以及幾個有影響的網絡結構的例子,給出了殘差網絡、長短期記憶網絡、門控循環單元等新結構的介紹;第11章匯集了深度學習中若干關鍵技術和新進展,包括深度網絡的優化技術、正則化和歸一化、對抗訓練、自編碼器、生成對抗網絡、注意力機制和Transformer等。
第5單元由第12章和第13章組成,是關於無監督學習的專題,討論了聚類算法、EM算法、主分量分析和獨立分量分析。
第6單元由第14章和第15章組成,介紹了強化學習。第14章介紹了基本的強化學習原理和算法,主要討論了強化學習的表格方法;第15章介紹了強化學習的更現代的內容,主要包括值函數逼近和策略梯度兩類算法,這兩類算法都可以結合深度神經網絡構成深度強化學習。第15章還介紹了對於連續動作的確定性策略算法。強化學習是近年來機器學習中最活躍的分支之一,本書給出了比較綜合性的介紹。
作為一本教材,本書除第11章外,每章都設置了適量的習題。附錄A給出了課程的實踐型作業的實例。自本課程開設以來,每學期均要求學生完成3個實踐型作業,作業數據一般來自網絡資源中的實際數據,需要學生自己選擇預處理方法,實踐作業的效果非常好。每年的作業都有變化,為了提供完整的參考性,附錄A給出某年的全部實踐作業的原題,僅供使用本書作為教材的老師參考。對於不同的院校、不同的專業,可以有不同的要求,但應該至少完成一個實踐作業。對於自學本書的科技人員,可以自行選擇一些題目測試自己的學習效果。真正掌握好機器學習,讀者既需要較強的數學知識,能理解各種算法,又要有較強的實踐能力,能夠編程、調試完成一些實踐型作業。本書以原理和算法為主,若讀者需要學習編程基礎,如Python語言,可自行選擇相關的編程教材或指南,附錄A的最後給出了幾個編程指南的網絡鏈接。
作為一本綜合性、導論性的機器學習教材,本書對深度學習和強化學習的介紹在深度和廣度上都做了儘可能的努力,希望讀者在學習到較全面的機器學習知識的同時,對深度學習和強化學習有深入的了解,並儘快進入這些領域的前沿。
本書的材料已足夠一個學期課程所需,作為一本教材,希望控制其在合適的篇幅內,因此有許多重要的專題沒有介紹,如變分貝葉斯和非參貝葉斯學習、半監督學習和自監督學習、遷移學習、自動學習等,對這些內容感興趣的讀者,可參考相關專著和近期的論文。其中目錄中標記星號的章節屬於高階選讀內容。
本書列出的參考文獻,都是作者在撰寫本書時直接參考或希望讀者延伸閱讀的。本書一些材料是若干年教學積累的結果,作者努力包含對本書寫作有影響的所有參考資料,但若有個別參考過的文獻有所疏漏,作者表示歉意。
許多同事和研究生對本書的出版做出了貢獻。微軟亞洲研究院的劉鐵岩博士對課程內容的設置提出了寶貴意見,秦濤博士對本書的內容給出了若干有價值的建議,合作團隊的汪玉、王劍、袁堅和沈淵等教授提供了各種幫助,謹表示感謝!作者的學生王超博士,曾多次作為課程助教,協助作者進行課程內容的完善和實踐作業的設計,並仔細閱讀了本書的初稿,提出若干修改意見;助教博士生金月、邱雲波幫助繪製了多幅插圖,金月幫助實現了4.3節的實例,在此一併表示感謝。許多選課學生的反饋對於改善本書初稿很有幫助,如安南、許璀傑等,在此對所有對本書有所建議的學生表示感謝。
儘管做了很大努力,但由於作者水平、時間和精力所限,本書難免有缺點和不足,希望讀者批評指正。
張旭東
2021年10月於清華園
編輯推薦
機器學習具有多學科交叉的特點,是當前學術界和工業界均關注的熱點領域,其應用範圍十分廣泛,已經成為一種解決諸多問題的有效工具。本書以理工科高年級本科生和低年級研究生的基礎知識為立足點,以面向工程應用為目標,是一本綜合性的機器學習教程。
本書既反映機器學習的基礎知識和經典方法,又重視深度學習和強化學習的知識內容,使讀者不僅能在機器學習領域打下堅實的基礎,同時也可以利用所學知識解決遇到的實際問題並進入學科前沿。本書的主要內容包括:
機器學習理論概述;
機器學習的統計與優化基礎;
基本回歸與分類學習算法;
支持向量機;
決策樹與集成學習;
無監督學習算法;
神經網絡與深度學習;
深度學習專題(GAN、Transformer等);
強化學習與深度強化學習。
本書的教學資源包括:
微課視頻
教學大綱
教學課件
習題解答
相關圖書