機(jī)器學(xué)習(xí)是設(shè)計(jì)與應(yīng)用算法的科學(xué),可從數(shù)據(jù)中進(jìn)行學(xué)習(xí)和預(yù)測(cè),其應(yīng)用已經(jīng)非常普遍。金融領(lǐng)域集中了大量的交易數(shù)據(jù),為人工智能技術(shù)的運(yùn)用奠定了良好的數(shù)據(jù)基礎(chǔ)。本書面向金融領(lǐng)域的讀者,介紹了機(jī)器學(xué)習(xí)技術(shù)的原理與實(shí)踐。
本書包括10章,介紹了神經(jīng)網(wǎng)絡(luò)算法、結(jié)構(gòu)化數(shù)據(jù)的處理、計(jì)算機(jī)視覺處理技術(shù)、時(shí)間序列分析、自然語言處理、生成模型的應(yīng)用、強(qiáng)化學(xué)習(xí)技術(shù)、數(shù)據(jù)建模與調(diào)試、貝葉斯推理和概率編程等內(nèi)容。
本書由資深金融從業(yè)者編寫,融合了其在金融項(xiàng)目中關(guān)于機(jī)器學(xué)習(xí)的實(shí)踐經(jīng)驗(yàn),適合金融領(lǐng)域的數(shù)據(jù)科學(xué)家、數(shù)據(jù)分析師、金融科技公司的技術(shù)研發(fā)人員以及對(duì)金融領(lǐng)域的機(jī)器學(xué)習(xí)技術(shù)感興趣的讀者閱讀。
1. 本書是聚焦于金融業(yè)的現(xiàn)代機(jī)器學(xué)習(xí)使用指南
2. 配套代碼+圖片講解幫助讀者快速上手
3. 詳細(xì)的理論推到和算法分析,引導(dǎo)讀者了解機(jī)器學(xué)習(xí)的內(nèi)核
4. 知識(shí)點(diǎn)與代碼示例環(huán)環(huán)相扣,理論與編程實(shí)踐完美結(jié)合
簡(jiǎn)尼斯·克拉斯(Jannes Klaas)是一名擁有金融學(xué)和經(jīng)濟(jì)學(xué)背景的量化分析師。他曾主導(dǎo)過兩個(gè)機(jī)器學(xué)習(xí)訓(xùn)練營(yíng)項(xiàng)目,也同研發(fā)數(shù)據(jù)驅(qū)動(dòng)類應(yīng)用的公司和交易策略類公司有過合作。目前,他的研究領(lǐng)域包括系統(tǒng)風(fēng)險(xiǎn)和大規(guī)模自動(dòng)化的知識(shí)挖掘。
第 1章 神經(jīng)網(wǎng)絡(luò)和基于梯度的優(yōu)化 1
1.1 本書的內(nèi)容概要 2
1.2 什么是機(jī)器學(xué)習(xí) 3
1.3 監(jiān)督學(xué)習(xí) 4
1.4 非監(jiān)督學(xué)習(xí) 5
1.5 強(qiáng)化學(xué)習(xí) 5
1.5.1 極其有效的數(shù)據(jù) 6
1.5.2 模型即是錯(cuò) 6
1.6 創(chuàng)建工作區(qū) 8
1.7 使用Kaggle內(nèi)核 8
1.8 使用AWS深度學(xué)習(xí)AMI 12
1.9 近似函數(shù) 12
1.10 前向傳遞 13
1.11 邏輯回歸器 14
1.12 優(yōu)化模型參數(shù) 17
1.13 評(píng)估模型損失 18
1.13.1 梯度下降 19
1.13.2 反向傳播 20
1.13.3 參數(shù)更新 22
1.13.4 階段小結(jié) 22
1.14 深度網(wǎng)絡(luò) 25
1.15 Keras簡(jiǎn)介 29
1.15.1 導(dǎo)入Keras庫 30
1.15.2 Keras中的雙層模型 30
1.15.3 Keras和TensorFlow 33
1.16 張量和計(jì)算圖 33
1.17 練習(xí) 35
1.18 本章小結(jié) 35
第 2章 機(jī)器學(xué)習(xí)在結(jié)構(gòu)化數(shù)據(jù)中的應(yīng)用 37
2.1 數(shù)據(jù) 38
2.2 啟發(fā)式模型、基于特征的模型和E2E模型 40
2.3 機(jī)器學(xué)習(xí)軟件棧 41
2.4 啟發(fā)式方法 42
2.4.1 使用啟發(fā)式模型來預(yù)測(cè) 42
2.4.2 F1分?jǐn)?shù) 43
2.4.3 基于混淆矩陣的評(píng)價(jià) 44
2.5 特征工程方法 45
2.5.1 特征源于直覺—詐騙者永不眠 46
2.5.2 專家視角—轉(zhuǎn)賬后提款 48
2.5.3 統(tǒng)計(jì)奇事—余額中的錯(cuò)誤 48
2.6 Keras庫的數(shù)據(jù)準(zhǔn)備 49
2.6.1 one-hot編碼 50
2.6.2 實(shí)體嵌入(entity embeddings) 51
2.7 使用Keras創(chuàng)建預(yù)測(cè)模型 54
2.7.1 提取目標(biāo) 55
2.7.2 創(chuàng)建測(cè)試集 55
2.7.3 創(chuàng)建驗(yàn)證集 56
2.7.4 訓(xùn)練數(shù)據(jù)的過采樣 56
2.7.5 構(gòu)建模型 57
2.8 基于決策樹方法的簡(jiǎn)要入門 61
2.8.1 一個(gè)簡(jiǎn)單的決策樹 61
2.8.2 隨機(jī)森林 62
2.8.3 XGBoost 63
2.9 E2E模型 64
2.10 練習(xí) 65
2.11 本章小結(jié) 65
第3章 計(jì)算機(jī)視覺的應(yīng)用 66
3.1 卷積神經(jīng)網(wǎng)絡(luò) 68
3.1.1 過濾MNIST數(shù)據(jù)集 68
3.1.2 第二個(gè)過濾器 70
3.2 彩色圖片的過濾技術(shù) 71
3.3 Keras ConvNet組成模塊 72
3.3.1 Conv2D 72
3.3.2 最大池化 76
3.3.3 Flatten層 77
3.3.4 Dense層 78
3.3.5 訓(xùn)練MNIST 78
3.4 神經(jīng)網(wǎng)絡(luò)的延展 83
3.4.1 動(dòng)量 83
3.4.2 Adam優(yōu)化器 84
3.4.3 正則化(regularization) 85
3.4.4 失效(dropout) 88
3.4.5 批歸一化(BatchNorm) 90
3.5 采用大圖片數(shù)據(jù)集 91
3.6 采用預(yù)訓(xùn)練模型 93
3.6.1 修改VGG16 95
3.6.2 隨機(jī)圖像增強(qiáng) 96
3.7 模塊度權(quán)衡 99
3.8 計(jì)算機(jī)視覺不止分類 100
3.8.1 人臉識(shí)別 100
3.8.2 邊框預(yù)測(cè) 102
3.9 練習(xí) 104
3.10 本章小結(jié) 104
第4章 理解時(shí)間序列 106
4.1 數(shù)據(jù)的可視化與Pandas準(zhǔn)備 107
4.1.1 匯總?cè)痔卣鹘y(tǒng)計(jì) 109
4.1.2 檢查采樣時(shí)間序列 112
4.1.3 不同平穩(wěn)特性 115
4.1.4 為什么平穩(wěn)性重要 116
4.1.5 讓時(shí)間序列具有平穩(wěn)性 116
4.1.6 何時(shí)忽略平穩(wěn)性問題 118
4.2 快速傅里葉變換 118
4.3 自相關(guān) 121
4.4 構(gòu)建訓(xùn)練和測(cè)試方案 123
4.5 回測(cè) 124
4.6 中位數(shù)預(yù)測(cè) 126
4.7 ARIMA模型 128
4.8 卡曼濾波 131
4.9 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè) 136
4.10 Conv1D 142
4.11 因果卷積和擴(kuò)張卷積 143
4.12 簡(jiǎn)單的RNN 145
4.13 LSTM 146
4.14 循環(huán)dropout 149
4.15 貝葉斯深度學(xué)習(xí) 150
4.16 練習(xí) 153
4.17 本章小結(jié) 154
第5章 用自然語言處理解析文本數(shù)據(jù) 155
5.1 spaCy的入門指南 156
5.2 命名實(shí)體識(shí)別 158
5.3 詞性標(biāo)記 166
5.4 基于規(guī)則的匹配 168
5.4.1 在匹配器中添加自定義函數(shù) 170
5.4.2 匹配器添加到pipeline中 172
5.4.3 基于規(guī)則和學(xué)習(xí)相結(jié)合的系統(tǒng) 172
5.5 正則表達(dá)式 173
5.5.1 Python正則表達(dá)式 174
5.5.2 Pandas正則表達(dá)式 175
5.5.3 何時(shí)使用正則表達(dá)式 175
5.6 文本分類任務(wù) 175
5.7 準(zhǔn)備數(shù)據(jù) 176
5.7.1 清理字符 176
5.7.2 詞形還原 177
5.7.3 制定目標(biāo) 178
5.7.4 準(zhǔn)備訓(xùn)練集和測(cè)試集 179
5.8 詞袋模型 179
5.9 主題模型 181
5.10 單詞嵌入 183
5.10.1 針對(duì)單詞向量訓(xùn)練的預(yù)處理 184
5.10.2 加載預(yù)先訓(xùn)練的單詞向量 186
5.10.3 單詞向量的時(shí)間序列模型 190
5.11 具有單詞嵌入的文檔相似度 191
5.12 快速瀏覽Keras函數(shù)API 192
5.13 注意力機(jī)制 195
5.14 注意力模塊 197
5.15 seq2seq模型 199
5.15.1 seq2seq架構(gòu)概述 199
5.15.2 數(shù)據(jù) 200
5.15.3 字符編碼 202
5.15.4 構(gòu)建推斷模型 206
5.15.5 翻譯 208
5.16 練習(xí) 210
5.17 本章小結(jié) 211
第6章 生成模型的應(yīng)用 212
6.1 理解自編碼器 213
6.1.1 MNIST的自編碼器 214
6.1.2 信用卡自編碼器 217
6.2 使用t-SNE可視化隱空間 221
6.3 變分自編碼器 225
6.3.1 MNIST實(shí)例 226
6.3.2 使用Lambda層 227
6.3.3 Kullback-Leibler散度 228
6.3.4 創(chuàng)建自定義損失 230
6.3.5 使用VAE生成數(shù)據(jù) 231
6.3.6 針對(duì)端到端詐騙檢測(cè)系統(tǒng)的VAE 233
6.4 時(shí)間序列的VAE 234
6.5 GAN 236
6.5.1 MNIST GAN 238
6.5.2 理解GAN隱向量 245
6.5.3 GAN訓(xùn)練技巧 245
6.6 使用更少的數(shù)據(jù)—主動(dòng)學(xué)習(xí) 248
6.6.1 高效使用標(biāo)簽預(yù)算 248
6.6.2 采用機(jī)器來為人類打標(biāo)簽 250
6.6.3 未打標(biāo)簽數(shù)據(jù)的偽標(biāo)簽 251
6.6.4 使用生成模型 251
6.7 用于詐騙檢測(cè)的SGAN 251
6.8 練習(xí) 258
6.9 本章小結(jié) 258
第7章 金融市場(chǎng)中的強(qiáng)化學(xué)習(xí) 259
7.1 “接水果”游戲—強(qiáng)化學(xué)習(xí)的快速指南 260
7.1.1 Q-learning將強(qiáng)化學(xué)習(xí)變成監(jiān)督學(xué)習(xí) 262
7.1.2 定義Q-learning模型 265
7.1.3 訓(xùn)練玩“接水果”游戲 266
7.2 馬爾可夫過程和貝爾曼方程—強(qiáng)化學(xué)習(xí)的形式化介紹 268
7.3 優(yōu)勢(shì)動(dòng)作評(píng)論(A2C)模型 273
7.3.1 學(xué)習(xí)平衡 275
7.3.2 學(xué)習(xí)交易 286
7.4 進(jìn)化策略和基因算法 290
7.5 強(qiáng)化學(xué)習(xí)工程的實(shí)用建議 292
7.5.1 設(shè)計(jì)良好的收益函數(shù) 292
7.5.2 強(qiáng)魯棒性的強(qiáng)化學(xué)習(xí) 294
7.6 強(qiáng)化學(xué)習(xí)技術(shù)前沿 295
7.6.1 多代理強(qiáng)化學(xué)習(xí) 295
7.6.2 學(xué)習(xí)如何去學(xué)習(xí) 296
7.6.3 通過強(qiáng)化學(xué)習(xí)理解大腦 297
7.7 練習(xí) 298
7.8 本章小結(jié) 298
第8章 調(diào)試和發(fā)布產(chǎn)品 299
8.1 調(diào)試數(shù)據(jù) 300
8.1.1 如何查看數(shù)據(jù)是否勝任任務(wù) 300
8.1.2 沒有足夠數(shù)據(jù)該怎么辦 302
8.1.3 單元測(cè)試數(shù)據(jù) 302
8.1.4 保證數(shù)據(jù)隱私并遵守法規(guī) 306
8.1.5 為訓(xùn)練準(zhǔn)備數(shù)據(jù) 308
8.1.6 了解何種輸入導(dǎo)致何種預(yù)測(cè) 309
8.2 調(diào)試模型 311
8.2.1 Hyperas搜索超參 311
8.2.2 高效的學(xué)習(xí)率搜索 316
8.2.3 學(xué)習(xí)率調(diào)度 318
8.2.4 TensorBoard監(jiān)控訓(xùn)練 320
8.2.5 梯度爆炸和消失 324
8.3 部署 325
8.3.1 快速上線 326
8.3.2 理解和監(jiān)控指標(biāo) 327
8.3.3 了解數(shù)據(jù)的來源 328
8.4 性能建議 329
8.4.1 使用合適的硬件 329
8.4.2 使用分布式訓(xùn)練和TF估計(jì)器 329
8.4.3 使用CuDNNLSTM優(yōu)化層 331
8.4.4 優(yōu)化管道 331
8.4.5 使用Cython加速代碼 334
8.4.6 緩存頻繁的請(qǐng)求 336
8.5 練習(xí) 336
8.6 本章小結(jié) 336
第9章 挑戰(zhàn)偏見 338
9.1 機(jī)器學(xué)習(xí)中不公平的來源 339
9.2 法律視角 340
9.3 量化公平 341
9.4 訓(xùn)練公平 344
9.5 因果學(xué)習(xí) 354
9.5.1 獲得因果模型 355
9.5.2 工具變量 356
9.5.3 非線性因果模型 357
9.6 解釋模型來確保公平 359
9.7 不公平則是復(fù)雜系統(tǒng)的失敗 364
9.7.1 復(fù)雜系統(tǒng)本質(zhì)上是危險(xiǎn)系統(tǒng) 365
9.7.2 諸多故障引發(fā)災(zāi)難 365
9.7.3 復(fù)雜系統(tǒng)以降級(jí)模式運(yùn)行 365
9.7.4 人工操作既能引發(fā)事故也能防止事故 365
9.7.5 無事故操作要求有故障經(jīng)驗(yàn) 365
9.8 開發(fā)公平模型的檢查清單 366
9.8.1 模型開發(fā)人員的目標(biāo)是什么 366
9.8.2 數(shù)據(jù)存在偏見嗎 366
9.8.3 錯(cuò)誤是否有偏見 366
9.8.4 如何整合反饋 367
9.8.5 模型可解釋嗎 367
9.8.6 模型部署后會(huì)發(fā)生什么 367
9.9 練習(xí) 367
9.10 本章小結(jié) 368
第 10章 貝葉斯推理和概率編程 369
10.1 貝葉斯推理入門指南 370
10.1.1 扁平先驗(yàn) 371
10.1.2 < 50%先驗(yàn) 373
10.1.3 先驗(yàn)與后驗(yàn) 374
10.1.4 馬爾可夫鏈蒙特卡羅算法 376
10.1.5 Metropolis-Hastings MCMC 381
10.1.6 從概率編程到深度概率編程 386
10.2 本章小結(jié) 387
結(jié)束語 388
推薦讀物 389