注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡人工智能構建實時機器學習系統(tǒng)

構建實時機器學習系統(tǒng)

構建實時機器學習系統(tǒng)

定 價:¥59.00

作 者: 彭河森,汪涵 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111575573 出版時間: 2017-09-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  本書是國內少有的從系統(tǒng)構架角度介紹機器學習應用的圖書,總結了筆者多年來在Google、微軟工作中積累的精華。書中內容可以從工具、理論和案例三條線路來概括:工具方面,除了數(shù)據(jù)分析工具Pandas、機器學習工具Scikit Learn和Docker以外,還介紹了RabbitMQ、Elasticsearch,以及MySQL、Cassandra數(shù)據(jù)庫等。理論方面,不僅介紹了監(jiān)督式機器學習基礎、衡量和評價方法,機器學習的常見構架,還在本書末尾對機器學習構架的設計模式進行了總結,這樣的總結也屬國內外業(yè)界首創(chuàng)。案例方面,采用美股交易秒級數(shù)據(jù)作為案例數(shù)據(jù),利用Pandas對秒級交易數(shù)據(jù)進行分析,利用Scikit Learn對股票變化方向進行預測,還打造了一個以RabbitMQ為消息傳導中樞的實時處理系統(tǒng)。

作者簡介

  彭河森,資深機器學習科學家,曾在Google、Amaz*n、微軟等公司從事一線機器學習構架和開發(fā)工作,參與了Google實時數(shù)據(jù)警報、Amazo*產(chǎn)品廣告自動化優(yōu)化、微軟必應廣告等多項海量數(shù)據(jù)、延時要求苛刻的機器學習應用工作。也參與Scikit-learn、Airflow、R等多項開源項目。對機器學習項目的生存期管理、架構設計、軟件開發(fā)以及應用關鍵有著豐富的經(jīng)驗。汪涵,資深機器學習開發(fā)者,曾是Amaz*n、微軟、Quantlab、晨星等公司一線機器學習開發(fā)人員,參與了Amazo*AB檢驗服務、微軟必應搜索問答系統(tǒng)等多項關鍵大數(shù)據(jù)處理和機器學習應用的構架和開發(fā)工作。對機器學習、自然語言處理有著深刻的體會。

圖書目錄

前 言
第1部分 實時機器學習方法論
第1章 實時機器學習綜述 2
1.1 什么是機器學習 2
1.2 機器學習發(fā)展的前世今生 3
1.2.1 歷史上機器學習無法調和的難題 3
1.2.2 現(xiàn)代機器學習的新融合 4
1.3 機器學習領域分類 5
1.4 實時是個“萬靈丹” 6
1.5 實時機器學習的分類 7
1.5.1 硬實時機器學習 7
1.5.2 軟實時機器學習 7
1.5.3 批實時機器學習 8
1.6 實時應用對機器學習的要求 8
1.7 案例:Netflix在機器學習競賽中學到的經(jīng)驗 9
1.7.1 Netflix 用戶信息被逆向工程 9
1.7.2 Netflix 最終勝出者模型無法在生產(chǎn)環(huán)境中使用 9
1.8 實時機器學習模型的生存期 10
第2章 實時監(jiān)督式機器學習 12
2.1 什么是監(jiān)督式機器學習 12
2.1.1 “江湖門派”對預測模型的
不同看法 13
2.1.2 工業(yè)界的學術門派 14
2.1.3 實時機器學習實戰(zhàn)的思路 15
2.2 怎樣衡量監(jiān)督式機器學習模型 16
2.2.1 統(tǒng)計量的優(yōu)秀 16
2.2.2 應用業(yè)績的優(yōu)秀 20
2.3 實時線性分類器介紹 20
2.3.1 廣義線性模型的定義 20
2.3.2 訓練線性模型 21
2.3.3 冷啟動問題 22
第3章 數(shù)據(jù)分析工具 Pandas 23
3.1 顛覆 R 的 Pandas 23
3.2 Pandas 的安裝 24
3.3 利用 Pandas 分析實時股票報價數(shù)據(jù) 24
3.3.1 外部數(shù)據(jù)導入 25
3.3.2 數(shù)據(jù)分析基本操作 25
3.3.3 可視化操作 26
3.3.4 秒級收盤價變化率初探 28
3.4 數(shù)據(jù)分析的三個要點 30
3.4.1 不斷驗證假設 30
3.4.2 全面可視化,全面監(jiān)控化 30
第4章 機器學習工具 Scikit-learn 31
4.1 如何站在風口上?向Scikit-learn 學習 31
4.1.1 傳統(tǒng)的線下統(tǒng)計軟件 R 31
4.1.2 底層軟件黑盒子 Weka 32
4.1.3 跨界產(chǎn)品 Scikit-learn 33
4.1.4 Scikit-learn的優(yōu)勢 33
4.2 Scikit-learn 的安裝 34
4.3 Scikit-learn 的主要模塊 35
4.3.1 監(jiān)督式、非監(jiān)督式機器學習 35
4.3.2 建模函數(shù)fit和predict 36
4.3.3 數(shù)據(jù)預處理 38
4.3.4 自動化建模預測 Pipeline 39
4.4 利用 Scikit-learn 進行股票價格波動預測 40
4.4.1 數(shù)據(jù)導入和預處理 41
4.4.2 編寫專有時間序列數(shù)據(jù)預處理模塊 41
4.4.3 利用 Pipeline 進行建模 43
4.4.4 評價建模效果 43
4.4.5 引入成交量和高維交叉項進行建模 44
4.4.6 本書沒有告訴你的 45
第2部分 實時機器學習架構
第5章 實時機器學習架構設計 48
5.1 設計實時機器學習架構的
四個要點 48
5.2 Lambda 架構和主要成員 49
5.2.1 實時響應層 49
5.2.2 快速處理層 50
5.2.3 批處理層 50
5.3 常用的實時機器學習架構 50
5.3.1 瀑布流架構 50
5.3.2 并行響應架構 51
5.3.3 實時更新模型混合架構 52
5.4 小結 53
第6章 集群部署工具 Docker 55
6.1 Docker 的前世今生 55
6.2 容器虛擬機的基本組成部分 56
6.3 Docker 引擎命令行工具 57
6.3.1 Docker 引擎的安裝 57
6.3.2 Docker 引擎命令行的基本操作 58
6.4 通過 Dockerfile 配置容器虛擬機 61
6.4.1 利用 Dockerfile 配置基本容器虛擬機 62
6.4.2 利用 Dockerfile 進行虛擬機和宿主機之間的文件傳輸 62
6.5 服務器集群配置工具Docker Compose 64
6.5.1 Docker Compose 的安裝 64
6.5.2 Docker Compose 的基本操作 64
6.5.3 利用 Docker Compose 創(chuàng)建網(wǎng)頁計數(shù)器集群 65
6.6 遠端服務器配置工具Docker Machine 68
6.6.1 Docker Machine 的安裝 68
6.6.2 安裝 Oracle VirtualBox 69
6.6.3 創(chuàng)建和管理 VirtualBox中的虛擬機 69
6.6.4 在 Docker Machine 和 VirtualBox的環(huán)境中運行集群 70
6.6.5 利用 Docker Machine 在 Digital Ocean 上配置運行集群 71
6.7 其他有潛力的 Docker 工具 73
第7章 實時消息隊列和RabbitMQ 74
7.1 實時消息隊列 74
7.2 AMQP 和 RabbitMQ 簡介 76
7.3 RabbitMQ的主要構成部分 76
7.4 常用交換中心模式 78
7.4.1 直連結構 78
7.4.2 扇形結構 78
7.4.3 話題結構 79
7.4.4 報頭結構 79
7.5 消息傳導設計模式 79
7.5.1 任務隊列 80
7.5.2 Pub/Sub 發(fā)布/監(jiān)聽 80
7.5.3 遠程命令 81
7.6 利用 Docker 快速部署RabbitMQ 82
7.7 利用 RabbitMQ 開發(fā)隊列服務 85
7.7.1 準備案例材料 86
7.7.2 實時報價存儲服務 86
7.7.3 實時走勢預測服務 89
7.7.4 整合運行實驗 93
7.7.5 總結和改進 95
第8章 實戰(zhàn)數(shù)據(jù)庫綜述 98
8.1 SQL 與 NoSQL,主流數(shù)據(jù)庫分類 98
8.1.1 關系型數(shù)據(jù)庫 99
8.1.2 非關系型數(shù)據(jù)庫 NoSQL 99
8.2 數(shù)據(jù)庫的性能 100
8.2.1 耐分割 100
8.2.2  一致性 101
8.2.3 可用性 101
8.2.4 CAP 定理 101
8.3 SQL和NoSQL對比 102
8.3.1 數(shù)據(jù)存儲、讀取方式 102
8.3.2 數(shù)據(jù)庫的擴展方式 103
8.3.3 性能比較 103
8.4 數(shù)據(jù)庫的發(fā)展趨勢 103
8.4.1 不同數(shù)據(jù)庫之間自動化同步更為方便 103
8.4.2 云數(shù)據(jù)庫的興起 104
8.4.3 底層和應用層多層化 104
8.5 MySQL 簡介 105
8.6 Cassandra簡介 105
8.6.1 Cassandra交互方式簡介 105
8.6.2 利用Docker安裝Cassandra 106
8.6.3 使用Cassandra存儲數(shù)據(jù) 106
第9章 實時數(shù)據(jù)監(jiān)控 ELK 集群 107
9.1 Elasticsearch、LogStash和Kibana 的前世今生 107
9.1.1 Elasticsearch 的平凡起家 108
9.1.2 LogStash 卑微的起源 108
9.1.3 Kibana 驚艷登場 109
9.1.4 ELK 協(xié)同作戰(zhàn) 109
9.2 Elasticsearch 基本架構 109
9.2.1 文檔 110
9.2.2 索引和文檔類型 111
9.2.3 分片和冗余 112
9.2.4 Elasticsearch 和數(shù)據(jù)庫進行比較 113
9.3 Elasticsearch 快速入門 113
9.3.1 用 Docker 運行 Elasticsearch 容器虛擬機 113
9.3.2 創(chuàng)建存儲文檔、文檔類型和索引 114
9.3.3 搜索文檔 117
9.3.4 對偶搜索 120
9.4 Kibana 快速入門 124
9.4.1 利用 Docker 搭建ELK 集群 125
9.4.2 配置索引格式 127
9.4.3 交互式搜索 128
9.4.4 可視化操作 129
9.4.5 實時檢測面板 132
第10章 機器學習系統(tǒng)設計模式 134
10.1  設計模式的前世今生 134
10.1.1 單機設計模式逐漸式微 134
10.1.2 微服務取代設計模式的示例 135
10.1.3 微服務設計模式的興起 137
10.2 讀:高速鍵值模式 137
10.2.1 問題場景 137
10.2.2 解決方案 138
10.2.3 其他使用場景 139
10.3 讀:緩存高速查詢模式 139
10.3.1 問題場景 139
10.3.2 解決方案 139
10.3.3 適用場景 141
10.4 更新:異步數(shù)據(jù)庫更新模式 141
10.4.1 問題場景 141
10.4.2 解決方案 141
10.4.3 使用場景案例 142
10.5 更新:請求重定向模式 144
10.5.1 問題場景 144
10.5.2 解決方案 144
10.5.3 更新流程 145
10.5.4 使用場景案例 146
10.6 處理:硬實時并行模式 146
10.6.1 問題場景 146
10.6.2 解決方案 147
10.6.3 使用場景案例 147
10.7 處理:分布式任務隊列模式 148
10.7.1 問題場景 148
10.7.2 解決方案 149
10.7.3 Storm 作為分布式任務隊列 150
10.7.4 適用場景 151
10.7.5 結構的演進 152
10.8 處理:批實時處理模式 152
10.8.1 問題場景 152
10.8.2 解決方案 152
10.8.3 適用場景 153
第3部分 未來展望
第11章 Serverless 架構 156
11.1 Serverless 架構的前世今生 156
11.2 Serverless 架構對實時
機器學習的影響 157
第12章 深度學習的風口 159
12.1 深度學習的前世今生 159
12.2 深度學習的難點 161
12.3 如何選擇深度學習工具 161
12.3.1 與現(xiàn)有編程平臺、技能整合的難易程度 162
12.3.2 此平臺除做深度學習之外,還能做什么 163
12.3.3 深度學習平臺的成熟程度 164
12.4 未來發(fā)展方向 165

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號