本書的編程語言以MATLAB為主,分別從學(xué)習(xí)方式和理論知識兩個方面來對機器學(xué)習(xí)(實現(xiàn)人工智能的方法)的算法進(jìn)行分類介紹。通過閱讀本書,讀者可以對人工智能的子集機器學(xué)習(xí)形成一個系統(tǒng)、全面、完整的認(rèn)識,并且在今后的研究工作中逐步拓展,*終形成自己的體系。全書共6篇,分別為特征處理算法、分類和聚類算法、神經(jīng)網(wǎng)絡(luò)算法、優(yōu)化算法、基于不同數(shù)學(xué)思想的算法以及集成算法,每一篇都對該類別中常見算法的思想、流程、核心知識和優(yōu)缺點等內(nèi)容進(jìn)行了詳細(xì)介紹,并通過實際的案例分析和代碼展示,對算法的具體應(yīng)用進(jìn)行了完整解析。
本書適用的讀者對象包括金融機構(gòu)的量化投資經(jīng)理、科研工作者、互聯(lián)網(wǎng)企業(yè)的算法工程師、大中專院校相關(guān)專業(yè)師生,以及其他對實現(xiàn)人工智能的機器學(xué)習(xí)技術(shù)感興趣的讀者。
全面解析算法的思想、流程、核心知識、優(yōu)缺點、典型案例及源代碼
從特征處理、分類聚類到規(guī)模建模、優(yōu)化分析,完整的研究流程展示
涉及工程優(yōu)化、醫(yī)學(xué)檢測、量化投資、計算數(shù)學(xué)以及商業(yè)分析等領(lǐng)域
適用于算法工程師、量化投資經(jīng)理、科研工作者及高校相關(guān)專業(yè)師生
機器學(xué)習(xí)是一種實現(xiàn)人工智能的方法,用于研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能,其算法本質(zhì)上是一種規(guī)律發(fā)現(xiàn)或問題解決的工具和方法。本書共分6篇,每一篇都對相應(yīng)類別下常見算法的理論知識進(jìn)行了詳細(xì)介紹,并配有應(yīng)用算法和代碼的案例。
篇為特征處理算法篇,主要介紹了特征工程領(lǐng)域針對數(shù)據(jù)研究的幾種常用特征處理算法的相關(guān)知識,包括ReliefF特征選擇算法、Chi-Merge算法,以及特征規(guī)約算法。作為邁向機器學(xué)習(xí)的步,本篇詳細(xì)介紹了特征處理算法的相關(guān)思想、流程、優(yōu)缺點,并通過實例對算法的具體應(yīng)用進(jìn)行了總結(jié)。
第二篇為分類和聚類算法篇,主要對幾種常見的分類和聚類算法進(jìn)行介紹,包括KNN算法、K-Means算法、高斯混合聚類算法、ISODATA算法和譜聚類算法,詳細(xì)介紹了這些算法的思想、流程、核心知識和優(yōu)缺點,并通過實際案例,對分類和聚類相關(guān)算法的具體應(yīng)用進(jìn)行了詳細(xì)講解。
第三篇為神經(jīng)網(wǎng)絡(luò)算法篇,神經(jīng)網(wǎng)絡(luò)算法是當(dāng)下較為熱門的一個機器學(xué)習(xí)分支。神經(jīng)網(wǎng)絡(luò)有多種分類,一般較為公認(rèn)的有DNN、CNN、RNN三種。本篇將對與其相關(guān)的BP神經(jīng)網(wǎng)絡(luò)與徑向基神經(jīng)網(wǎng)絡(luò)算法、Hopfield神經(jīng)網(wǎng)絡(luò)算法以及LSTM長短期記憶網(wǎng)絡(luò)算法的思想、流程、結(jié)構(gòu)、優(yōu)缺點進(jìn)行了詳細(xì)介紹,并通過實際案例,展示了神經(jīng)網(wǎng)絡(luò)算法的具體應(yīng)用。
第四篇為優(yōu)化算法篇,優(yōu)化是數(shù)據(jù)分析的常用方法,在許多經(jīng)典問題的求解中,優(yōu)化算法都起到至關(guān)重要的作用。本篇對幾種常見優(yōu)化算法的思想、流程、優(yōu)缺點以及具體應(yīng)用進(jìn)行了介紹,包括網(wǎng)格尋優(yōu)算法、模擬退火聚類算法和EMD經(jīng)驗?zāi)B(tài)分解算法等。
第五篇為基于不同數(shù)學(xué)思想的算法篇,通過對粗糙集算法、基于核的Fisher算法、SVM支持向量機算法和傅里葉級數(shù)及變換算法的思想、流程、概念、優(yōu)缺點以及具體應(yīng)用進(jìn)行了詳細(xì)介紹,幫助讀者拓展對于算法這一概念的進(jìn)一步理解。
第六篇為集成算法篇,集成算法的主旨是將弱學(xué)習(xí)器通過某種形式良好地組織起來,使得這些弱學(xué)習(xí)器各自的性能相加組合,從而達(dá)到強學(xué)習(xí)器的效果。本篇分別對AdaBoost、Bagging、Stacking和Gradient Boosting四種集成算法的思想、流程、優(yōu)缺點以及具體應(yīng)用進(jìn)行了詳細(xì)介紹,從數(shù)據(jù)、弱學(xué)習(xí)器、集成方法三個角度出發(fā)進(jìn)行深層次闡述。通過本篇的學(xué)習(xí),讀者可以對集成算法形成較為全面的認(rèn)識。
本書主要為有志于從事機器學(xué)習(xí)領(lǐng)域相關(guān)工作的讀者建立起一個通用性的流程和框架,并對流程的關(guān)鍵環(huán)節(jié)適當(dāng)展開,給出一些介紹和程序案例。讀者可以從本書的學(xué)習(xí)中了解機器學(xué)習(xí)到底是什么,并在今后結(jié)合自身的工作,進(jìn)一步豐富和拓展這個流程和框架,從而終成為一個機器學(xué)習(xí)算法的高級開發(fā)和應(yīng)用者。
讀者定位和閱讀方法
本書分別從學(xué)習(xí)方式和理論知識兩個方面來對機器學(xué)習(xí)的算法進(jìn)行分類介紹。在介紹每個算法時,都對其原理、思想、流程、優(yōu)缺點等理論知識進(jìn)行了詳細(xì)介紹,然后以具體的實例分析和代碼展示來對該算法的應(yīng)用進(jìn)行完整解說。通過閱讀本書,讀者可以對機器學(xué)習(xí)形成一個系統(tǒng)、全面、完整的認(rèn)識,并且在今后的研究工作中逐步拓展,終形成自己的體系。本書適用的讀者對象:金融機構(gòu)的量化投資經(jīng)理、科研工作者、互聯(lián)網(wǎng)企業(yè)的算法工程師、大中專院校相關(guān)專業(yè)師生,以及其他對機器學(xué)習(xí)技術(shù)感興趣的讀者。
配套資源
編者在金融業(yè)從業(yè)多年,有著豐富的業(yè)界積累。讀者可以掃描封底二維碼(IT有得聊),進(jìn)入讀者俱樂部,其中有本書相關(guān)的視頻授課資源,以及豐富的機器學(xué)習(xí)算法資源和其他研究資源。
由于編者水平有限,書中錯誤和疏漏之處在所難免。在此,誠懇地期待廣大讀者批評指正。在技術(shù)之路上如能與大家互勉共進(jìn),也將倍感榮幸。
李一邨,浙江杭州人,浙江大學(xué)量化金融博士,現(xiàn)任杭州伊園科技有限公司總經(jīng)理。前沿量化科學(xué)領(lǐng)域的深耕者,多年來致力于將多元學(xué)科的前沿理論嫁接融合到金融投資領(lǐng)域。被聘為杭州科促會數(shù)據(jù)科學(xué)家、杭州師范大學(xué)指導(dǎo)老師。曾連續(xù)5屆(第8~12屆)獲得《證券時報》和《期貨日報》聯(lián)合評選的中國*佳金融量化策略工程師。
前言
篇特征處理算法
第1章ReliefF特征選擇算法
1.1原理介紹
1.1.1算法思想
1.1.2算法流程
1.1.3算法詳細(xì)介紹
1.2ReliefF特征選擇算法優(yōu)缺點
1.3實例分析
1.3.1數(shù)據(jù)集介紹
1.3.2函數(shù)介紹
1.3.3ReliefF算法在分類問題中的實例分析
1.3.4ReliefF算法在回歸問題中的實例分析
1.4房價回歸預(yù)測問題的特征選擇案例代碼
第2章Chi-Merge算法
2.1原理介紹
2.1.1算法思想
2.1.2算法流程
2.2Chi-Merge算法的優(yōu)缺點
2.3實例分析
2.3.1數(shù)據(jù)集介紹
2.3.2函數(shù)介紹
2.3.3結(jié)果分析
2.4代碼獲取
第3章特征規(guī)約算法
3.1特征規(guī)約算法原理介紹
3.1.1特征規(guī)約算法思想
3.1.2特征規(guī)約算法流程
3.1.3PCA算法及相關(guān)矩陣分解
3.2幾種特征規(guī)約算法的優(yōu)缺點
3.3特征規(guī)約算法實例分析
3.3.1數(shù)據(jù)集介紹
3.3.2函數(shù)介紹
3.3.3結(jié)果分析
3.4代碼獲取
第二篇分類和聚類算法
第4章KNN算法
4.1原理介紹
4.1.1算法思想
4.1.2算法流程
4.2KNN算法的核心知識
4.2.1距離或相似度的衡量
4.2.2K值的選取
4.2.3K個鄰近樣本的選取
4.3KNN算法的優(yōu)缺點
4.4實例分析
4.4.1數(shù)據(jù)集介紹
4.4.2函數(shù)介紹
4.4.3結(jié)果分析
4.5代碼獲取
第5章K-Means算法
5.1原理介紹
5.1.1算法思想
5.1.2算法流程
5.1.3K值的選取
5.2K-Means算法的優(yōu)點與缺點
5.2.1K-Means算法的優(yōu)點
5.2.2K-Means算法的缺點
5.3實例分析
5.3.1數(shù)據(jù)集介紹
5.3.2函數(shù)介紹
5.3.3K的選擇
5.3.4訓(xùn)練結(jié)果分析
5.4代碼介紹
5.4.1K-Means訓(xùn)練的函數(shù)代碼
5.4.2計算距離矩陣的函數(shù)代碼
5.4.3分析模型的代碼
5.5代碼獲取
第6章高斯混合聚類算法
6.1原理介紹
6.1.1算法思想
6.1.2算法流程
6.1.3EM算法理論與GMM參數(shù)推導(dǎo)
6.1.4EM聚類與K-Means聚類的對比
6.2高斯混合聚類算法的優(yōu)缺點
6.3實例分析
6.3.1數(shù)據(jù)集介紹
6.3.2函數(shù)介紹
6.3.3學(xué)習(xí)過程
6.3.4樣本聚類結(jié)果
6.4代碼獲取
第7章ISODATA算法
7.1.1算法思想
7.1.2算法流程
7.2ISODATA算法的優(yōu)缺點
7.3實例分析
7.3.1函數(shù)介紹
7.3.2數(shù)據(jù)介紹
7.3.3訓(xùn)練結(jié)果
7.3.4其他參數(shù)下的聚類結(jié)果
7.4代碼介紹
7.4.1鳶尾花數(shù)據(jù)測試代碼
7.4.2代碼獲取
第8章譜聚類算法
8.1原理介紹
8.1.1算法思想
8.1.2譜聚類的切圖聚類
8.1.3算法流程
8.2聚類普算法的優(yōu)缺點
8.3實例分析
8.3.1數(shù)據(jù)集介紹
8.3.2函數(shù)介紹
8.3.3結(jié)果分析
8.3.4代碼獲取
第三篇神經(jīng)網(wǎng)絡(luò)算法
第9章BP神經(jīng)網(wǎng)絡(luò)與徑向基神經(jīng)網(wǎng)絡(luò)算法
9.1原理介紹
9.1.1算法思想
9.1.2算法流程
9.1.3BP神經(jīng)網(wǎng)絡(luò)與徑向基神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)說明
9.1.4誤差反向傳遞(含權(quán)值偏置調(diào)整)
9.1.5調(diào)整輸出層的權(quán)值偏置矩陣
9.1.6調(diào)整隱含層權(quán)值偏置矩陣
9.1.7徑向基神經(jīng)網(wǎng)絡(luò)
9.2BP和徑向基神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點
9.2.1BP神經(jīng)網(wǎng)絡(luò)和徑向基神經(jīng)網(wǎng)絡(luò)的優(yōu)點
9.2.2BP神經(jīng)網(wǎng)絡(luò)和徑向基神經(jīng)網(wǎng)絡(luò)的缺點
9.3實例分析
9.3.1數(shù)據(jù)集介紹
9.3.2BP神經(jīng)網(wǎng)絡(luò)使用
9.3.3徑向基神經(jīng)網(wǎng)絡(luò)的應(yīng)用
9.4代碼獲取
第10章Hopfield神經(jīng)網(wǎng)絡(luò)算法
10.1原理介紹
10.1.1算法思想
10.1.2算法流程
10.1.3Hopfield神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
10.1.4離散Hopfield網(wǎng)絡(luò)能量函數(shù)收斂性證明
10.2Hopfield神經(jīng)網(wǎng)絡(luò)算法的優(yōu)點與缺點
10.3正交法權(quán)值計算
10.4正交法權(quán)值計算的吸引情況說明
10.5實例分析
10.6代碼獲取
第11章LSTM長短期記憶網(wǎng)絡(luò)算法
11.1原理介紹
11.1.1算法思想
11.1.2算法流程
11.2LSTM的數(shù)學(xué)推導(dǎo)和說明
11.2.1數(shù)據(jù)集符號申明
11.2.2訓(xùn)練過程
11.3激活函數(shù)求導(dǎo)說明
11.4補充
11.5LSTM算法的優(yōu)點與缺點
11.6實例分析
11.6.1數(shù)據(jù)集介紹
11.6.2函數(shù)介紹
11.6.3結(jié)果分析
11.7代碼獲取
第四篇優(yōu) 化 算 法
第12章網(wǎng)格尋優(yōu)算法
12.1原理介紹
12.1.1算法思想
12.1.2算法流程
12.2網(wǎng)格尋優(yōu)算法的優(yōu)缺點
12.3實例分析
12.3.1函數(shù)介紹
12.3.2結(jié)果分析
12.4代碼獲取
第13章模擬退火聚類算法
13.1原理介紹
13.1.1算法思想
13.1.2算法流程
13.2模擬退火算法的優(yōu)缺點
13.3實例分析
13.3.1數(shù)據(jù)介紹
13.3.2函數(shù)介紹
13.3.3結(jié)果分析
13.4代碼介紹
13.4.1分析模型的代碼
13.4.2模擬退火結(jié)合K-Means算法的代碼獲取
第14章EMD經(jīng)驗?zāi)B(tài)分解算法
14.1原理介紹
14.1.1算法思想
14.1.2算法流程
14.1.3經(jīng)驗?zāi)B(tài)分解(EMD)的核心要點
14.1.4經(jīng)驗?zāi)B(tài)分解的理論基礎(chǔ)
14.1.5包絡(luò)線擬合
14.1.6三次樣條插值的應(yīng)用
14.1.7其他插值方法介紹
14.2EMD經(jīng)驗?zāi)B(tài)分解算法的優(yōu)缺點
14.3實例分析
14.3.1數(shù)據(jù)集介紹
14.3.2函數(shù)介紹
14.3.3上證指數(shù)EMD分解
14.4代碼獲取
第五篇基于不同數(shù)學(xué)思想的算法
第15章粗糙集算法
15.1原理介紹
15.1.1算法思想
15.1.2算法流程
15.1.3基本概念
15.2粗糙集算法的優(yōu)缺點
15.3實例分析
15.3.1數(shù)據(jù)集介紹
15.3.2函數(shù)介紹
15.3.3訓(xùn)練結(jié)果
15.3.4其他說明
15.4代碼介紹
15.4.1測試案例代碼
15.4.2粗糙集算法涉及的其他代碼獲取
第16章基于核的Fisher算法
16.1基于核的Fisher算法介紹
16.1.1算法思想
16.1.2基于核的Fisher算法數(shù)學(xué)推