隨著大數(shù)據(jù)時(shí)代的到來,統(tǒng)計(jì)機(jī)器學(xué)習(xí)近年來引起了人們的廣泛關(guān)注。統(tǒng)計(jì)機(jī)器學(xué)習(xí)內(nèi)容涵蓋統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)、數(shù)學(xué)等多個(gè)學(xué)科,形成交叉學(xué)科研究,其應(yīng)用范圍越來越廣。
本書的特點(diǎn)是均衡相關(guān)理論闡述和相關(guān)算法的具體實(shí)現(xiàn),盡可能用最精簡的語言闡明基本理論,用最簡單的實(shí)例說明算法實(shí)現(xiàn)過程,使讀者既能領(lǐng)會(huì)理論內(nèi)涵又能學(xué)會(huì)算法的實(shí)際操作。書中數(shù)據(jù)幾乎都由相關(guān)工具包提供,或者是模擬產(chǎn)生,這樣會(huì)省去讀者加載相關(guān)數(shù)據(jù)的麻煩,相關(guān)算法的代碼也很容易推廣到其他數(shù)據(jù)應(yīng)用中。
本書共分12章和兩個(gè)附錄。第1章主要介紹R語言基本操作,是后面各章節(jié)算法實(shí)現(xiàn)的基礎(chǔ)。第2章介紹多元分布,主要闡述多元分布的均值向量和協(xié)方差矩陣等基本內(nèi)容及性質(zhì)。第3章介紹線性回歸、對數(shù)線性回歸、嶺回歸和Lasso回歸等線性模型。第4章闡述貝葉斯判別分析、Fisher判別分析和基于距離的判別分析等內(nèi)容。第5章給出支持向量機(jī)分類和回歸等相關(guān)算法,并給出算法的詳細(xì)推導(dǎo)。第6章內(nèi)容是決策樹理論及實(shí)現(xiàn)方法。第7章介紹提升算法、裝袋算法和隨機(jī)森林分類等集成學(xué)習(xí)方法。第8章介紹主成分分析和因子分析。第9章介紹多維縮放和等度量映射、局部線性嵌入、隨機(jī)近鄰嵌入等流形學(xué)習(xí)降維方法。第10章給出幾種常用的聚類算法,包括k均值聚類、層次聚類和基于密度的聚類算法。第11章介紹一組因變量和一組自變量之間的偏最小二乘回歸算法。第12章主要介紹前饋神經(jīng)網(wǎng)絡(luò)以及比較流行的卷積神經(jīng)網(wǎng)絡(luò)和LSTM等幾種深度神經(jīng)網(wǎng)絡(luò)模型,并給出比較詳細(xì)的算法推導(dǎo)。附錄給出向量和矩陣函數(shù)的導(dǎo)數(shù)以及拉格朗日對偶性等相關(guān)數(shù)學(xué)基礎(chǔ),作為相關(guān)章節(jié)算法推導(dǎo)的理論基礎(chǔ)。
R是一款開源的免費(fèi)統(tǒng)計(jì)軟件,提供了廣泛的統(tǒng)計(jì)計(jì)算和作圖技術(shù),并且隨時(shí)在擴(kuò)展更新,已經(jīng)成為最常用的數(shù)據(jù)分析和數(shù)據(jù)處理工具。為了更方便地搭建深度神經(jīng)網(wǎng)絡(luò)模型,R語言建立了與Python語言的接口,可以借助Keras和TensorFlow等技術(shù)實(shí)現(xiàn)復(fù)雜的神經(jīng)網(wǎng)絡(luò)。Keras由純Python語言編寫而成,是神經(jīng)網(wǎng)絡(luò)的高層API。為R語言安裝Keras包之前,需要先安裝Python。本書安裝的是Python的發(fā)行版Anaconda 3.8和R語言的4.1.1版本,書中的所有代碼都可以在這個(gè)環(huán)境下實(shí)現(xiàn)。
本書除了參考文獻(xiàn)中列出的文獻(xiàn)外,還參考了許多網(wǎng)絡(luò)資源,在此對所涉及的專家學(xué)者表示衷心的感謝。同時(shí)感謝遼寧省教育廳項(xiàng)目的資助(編號: LJKMZ20221424)。由于編者水平有限,書中難免存在疏漏和不妥之處,敬請廣大讀者不吝指正。
編者2023年1月
第1章R語言基礎(chǔ)
1.1R的下載與安裝
1.2輔助性操作命令
1.3基本運(yùn)算與賦值
1.4向量
1.4.1向量定義
1.4.2向量運(yùn)算
1.4.3向量元素的獲取
1.4.4向量主要運(yùn)算函數(shù)
1.5矩陣
1.5.1生成對角矩陣和單位陣
1.5.2矩陣元素取出
1.5.3矩陣行和列的維數(shù)
1.5.4矩陣的主要運(yùn)算函數(shù)
1.5.5矩陣合并
1.5.6矩陣apply()運(yùn)算函數(shù)
1.6因子(factor)和有序因子(ordered factor)
1.6.1創(chuàng)建一個(gè)因子
1.6.2創(chuàng)建一個(gè)有序因子
1.6.3用cut()函數(shù)將一般的數(shù)據(jù)轉(zhuǎn)換成因子或有序因子
1.7數(shù)組
1.7.1產(chǎn)生一個(gè)三維和四維數(shù)組
1.7.2dim()函數(shù)可將向量轉(zhuǎn)化成數(shù)組或矩陣
1.7.3張量的三個(gè)關(guān)鍵屬性
1.7.4數(shù)據(jù)張量
1.7.5張量重塑
1.8列表
1.9數(shù)據(jù)框
1.9.1生成一個(gè)數(shù)據(jù)框
1.9.2合并數(shù)據(jù)框
1.9.3判斷數(shù)據(jù)對象是否為數(shù)據(jù)框
1.9.4數(shù)據(jù)框的行名和列名
1.9.5連接函數(shù)
1.9.6數(shù)據(jù)框的數(shù)據(jù)抽取
1.10數(shù)據(jù)讀取
1.10.1讀取外部數(shù)據(jù)
1.10.2數(shù)據(jù)保存
1.11數(shù)據(jù)類型查看及環(huán)境設(shè)置
1.11.1數(shù)據(jù)類型
1.11.2數(shù)據(jù)查看
1.11.3環(huán)境設(shè)置函數(shù)options()
1.12繪圖
1.12.1繪圖參數(shù)命令
1.12.2常用的繪圖命令
1.12.3繪圖函數(shù)輔助
1.12.4三維繪圖
1.13隨機(jī)數(shù)產(chǎn)生
1.14編程基礎(chǔ)
1.14.1條件語句
1.14.2循環(huán)語句
1.14.3自定義函數(shù)
1.15R語言的更新
第2章多元分布
2.1一元分布
2.1.1樣本
2.1.2常用統(tǒng)計(jì)量
2.1.3常用分布
2.1.4重要定理
2.2多元分布
2.2.1p維總體
2.2.2隨機(jī)向量X的數(shù)字特征
2.2.3多元分布的參數(shù)估計(jì)
2.3R語言相關(guān)操作
2.3.1一元正態(tài)隨機(jī)數(shù)
2.3.2多元正態(tài)隨機(jī)數(shù)
第3章線性模型
3.1線性回歸
3.1.1基本形式
3.1.2一元線性回歸
3.1.3多元線性回歸
3.1.4多重共線對回歸模型的影響
3.1.5回歸模型檢驗(yàn)
3.2對數(shù)線性回歸
3.3邏輯斯蒂回歸
3.4多項(xiàng)邏輯回歸
3.5嶺回歸
3.6Lasso回歸
3.7模型的評估標(biāo)準(zhǔn)
3.7.1分類模型的評估
3.7.2回歸模型的評估
3.8R語言實(shí)現(xiàn)
3.8.1線性回歸
3.8.2邏輯斯蒂回歸
3.8.3嶺回歸
3.8.4Lasso回歸
第4章判別分析
4.1距離判別法
4.1.1常用距離
4.1.2判別方法
4.2貝葉斯判別法
4.2.1貝葉斯公式
4.2.2基于最小錯(cuò)誤率的貝葉斯決策
4.2.3樸素貝葉斯法的學(xué)習(xí)與分類
4.2.4連續(xù)場合下貝葉斯決策的參數(shù)估計(jì)
4.3Fisher判別分析
4.3.1兩類分類
4.3.2多類分類
4.4R語言實(shí)例
4.4.1線性判別分析
4.4.2樸素貝葉斯判別分析
4.4.3二次判別分析
第5章支持向量機(jī)
5.1小樣本統(tǒng)計(jì)學(xué)習(xí)理論
5.2兩類支持向量機(jī)
5.2.1線性可分情況
5.2.2線性不可分情況
5.3一類分類支持向量機(jī)
5.4多類支持向量機(jī)
5.4.1一對多法
5.4.2一對一法
5.4.3SVM決策樹法
5.4.4ECC-SVM方法
5.4.5基于一類分類的多類分類算法
5.5基于線性規(guī)劃的支持向量機(jī)分類
5.5.1數(shù)學(xué)背景
5.5.2線性規(guī)劃的分類算法
5.5.3線性規(guī)劃下的一類分類算法
5.6支持向量回歸
5.6.1二次規(guī)劃下的支持向量回歸
5.6.2幾種線性規(guī)劃下的支持向量回歸
5.6.3最小二乘支持向量回歸
5.7R語言實(shí)驗(yàn)
5.7.1分類問題
5.7.2回歸問題
第6章決策樹
6.1決策樹的概念
6.2決策樹分類器設(shè)計(jì)
6.2.1ID3算法
6.2.2C4.5算法
6.2.3決策樹剪枝
6.2.4從決策樹提取分類規(guī)則
6.3決策樹的CART算法實(shí)現(xiàn)
6.3.1分類樹
6.3.2回歸樹
6.4R語言實(shí)驗(yàn)
6.4.1分類樹
6.4.2回歸樹
第7章集成學(xué)習(xí)
7.1個(gè)體與集成
7.2自適應(yīng)提升算法
7.3梯度提升算法
7.4提升樹
7.4.1提升樹模型
7.4.2提升樹算法
7.5Bagging與隨機(jī)森林
7.5.1Bagging
7.5.2隨機(jī)森林
7.5.3結(jié)合策略
7.6R語言實(shí)驗(yàn)
7.6.1裝袋法回歸
7.6.2隨機(jī)森林分類
7.6.3提升法
第8章主成分分析與因子分析
8.1主成分分析
8.1.1基本原理
8.1.2主成分應(yīng)用
8.2因子分析
8.2.1因子分析模型
8.2.2因子分析模型的計(jì)算
8.3R語言試驗(yàn)
8.3.1主成分分析
8.3.2因子分析
第9章降維
9.1k近鄰學(xué)習(xí)
9.2低維嵌入
9.3流形學(xué)習(xí)
9.3.1等度量映射
9.3.2局部線性嵌入
9.3.3隨機(jī)近鄰嵌入
9.3.4t分布隨機(jī)近鄰嵌入
9.4R語言實(shí)驗(yàn)
9.4.1LLE降維
9.4.2MDS降維
9.4.3qkIsomap函數(shù)實(shí)現(xiàn)Isomap
9.4.4"Rtsne"包實(shí)現(xiàn)tSNE
第10章聚類分析
10.1基于距離的聚類
10.1.1相似性度量
10.1.2層次聚類
10.1.3k均值聚類
10.2基于密度的聚類
10.3R語言實(shí)驗(yàn)
10.3.1k均值聚類
10.3.2層次聚類
10.3.3基于密度的聚類
第11章偏最小二乘回歸
11.1基本思想
11.2基本算法
11.3模型成分個(gè)數(shù)的確定
11.4R語言實(shí)現(xiàn)
第12章深度神經(jīng)網(wǎng)絡(luò)
12.1感知機(jī)
12.1.1定義
12.1.2基本思想
12.1.3算法
12.2人工神經(jīng)網(wǎng)絡(luò)的基本思想
12.2.1神經(jīng)元
12.2.2激活函數(shù)
12.3前饋神經(jīng)網(wǎng)絡(luò)
12.3.1網(wǎng)絡(luò)結(jié)構(gòu)
12.3.2BP算法
12.3.3BP算法總結(jié)
12.4自動(dòng)編碼器網(wǎng)絡(luò)
12.5受限玻爾茲曼機(jī)
12.6深度置信網(wǎng)絡(luò)
12.7卷積神經(jīng)網(wǎng)絡(luò)
12.7.1卷積
12.7.2池化
12.7.3全連接層
12.7.4訓(xùn)練算法
12.7.5典型網(wǎng)絡(luò)
12.8循環(huán)神經(jīng)網(wǎng)絡(luò)
12.8.1基本概念
12.8.2網(wǎng)絡(luò)的訓(xùn)練
12.8.3Elman神經(jīng)網(wǎng)絡(luò)
12.8.4Jordan神經(jīng)網(wǎng)絡(luò)
12.8.5LSTM網(wǎng)絡(luò)
12.8.6GRU網(wǎng)絡(luò)
12.9R語言實(shí)現(xiàn)
12.9.1neuralnet包實(shí)現(xiàn)前饋神經(jīng)網(wǎng)絡(luò)
12.9.2Keras包創(chuàng)建神經(jīng)網(wǎng)絡(luò)
12.9.3循環(huán)神經(jīng)網(wǎng)絡(luò)
12.9.4自編碼器網(wǎng)絡(luò)
12.9.5受限玻爾茲曼機(jī)
12.9.6深度信念網(wǎng)
12.9.7Jordan網(wǎng)絡(luò)
12.9.8Elman網(wǎng)絡(luò)
附錄A向量和矩陣函數(shù)的導(dǎo)數(shù)
附錄B拉格朗日對偶性
參考文獻(xiàn)