内容简介
第1部分 实时机器学习方法论
第1章 实时机器学习综述
1.1什么是机器学习
1.2机器学习发展的前世今生
1.2.1历史上机器学习无法调和的难题
1.2.2现代机器学习的新融合
1.3机器学习领域分类
1.4实时是个“万灵丹”
1.5实时机器学习的分类
1.5.1硬实时机器学习
1.5.2软实时机器学习
1.5.3批实时机器学习
1.6实时应用对机器学习的要求
1.7案例:Netflix在机器学习竞赛中学到的经验
1.7.1 Netflix用户信息被逆向工程
1.7.2 Netflix最终胜出者模型无法在生产环境中使用
1.8实时机器学习模型的生存期
第2章 实时监督式机器学习
2.1什么是监督式机器学习
2.1.1“江湖门派”对预测模型的不同看法
2.1.2工业界的学术门派
2.1.3实时机器学习实战的思路
2.2怎样衡量监督式机器学习模型
2.2.1统计量的优秀
2.2.2应用业绩的优秀
2.3实时线性分类器介绍
2.3.1广义线性模型的定义
2.3.2训练线性模型
2.3.3冷启动问题
第3章 数据分析工具Pandas
3.1颠覆R的Pandas
3.2 Pandas的安装
3.3利用Pandas分析实时股票报价数据
3.3.1外部数据导入
3.3.2数据分析基本操作
3.3.3可视化操作
3.3.4秒级收盘价变化率初探
3.4数据分析的三个要点
3.4.1不断验证假设
3.4.2全面可视化,全面监控化
第4章 机器学习工具Scikit-learn
4.1如何站在风口上?向Scikit-learn学习
4.1.1传统的线下统计软件R
4.1.2底层软件黑盒子Weka
4.1.3跨界产品Scikit-learn
4.1.4 Scikit-learn的优势
4.2 Scikit-learn的安装
4.3 Scikit-learn的主要模块
4.3.1监督式、非监督式机器学习
4.3.2建模函数fit和predict
4.3.3数据预处理
4.3.4自动化建模预测Pipeline
4.4利用Scikit-learn进行股票价格波动预测
4.4.1数据导入和预处理
4.4.2编写专有时间序列数据预处理模块
4.4.3利用Pipeline进行建模
4.4.4评价建模效果
4.4.5引入成交量和高维交叉项进行建模
4.4.6本书没有告诉你的
第2部分 实时机器学习架构
第5章 实时机器学习架构设计
5.1设计实时机器学习架构的四个要点
5.2 Lambda架构和主要成员
5.2.1实时响应层
5.2.2快速处理层
5.2.3批处理层
5.3常用的实时机器学习架构
5.3.1瀑布流架构
5.3.2并行响应架构
5.3.3实时更新模型混合架构
5.4小结
第6章 集群部署工具Docker
6.1 Docker的前世今生
6.2容器虚拟机的基本组成部分
6.3 Docker引擎命令行工具
6.3.1 Docker引擎的安装
6.3.2 Docker引擎命令行的基本操作
6.4通过Dockerfile配置容器虚拟机
6.4.1利用Dockerfile配置基本容器虚拟机
6.4.2利用Dockerfile进行虚拟机和宿主机之间的文件传输
6.5服务器集群配置工具Docker Compose
6.5.1 Docker Compose的安装
6.5.2 Docker Compose的基本操作
6.5.3利用Docker Compose创建网页计数器集群
6.6远端服务器配置工具Docker Machine
6.6.1 Docker Machine的安装
6.6.2安装Oracle VirtualBox
6.6.3创建和管理VirtualBox中的虚拟机
6.6.4在Docker Machine和VirtualBox的环境中运行集群
6.6.5利用Docker Machine在Digital Ocean上配置运行集群
6.7其他有潜力的Docker工具
第7章 实时消息队列和RabbitMQ
7.1实时消息队列
7.2 AMQP和RabbitMQ简介
7.3 RabbitMQ的主要构成部分
7.4常用交换中心模式
7.4.1直连结构
7.4.2扇形结构
7.4.3话题结构
7.4.4报头结构
7.5消息传导设计模式
7.5.1任务队列
7.5.2 Pub/Sub发布/监听
7.5.3远程命令
7.6利用Docker快速部署RabbitMQ
7.7利用RabbitMQ开发队列服务
7.7.1准备案例材料
7.7.2实时报价存储服务
7.7.3实时走势预测服务
7.7.4整合运行实验
7.7.5总结和改进
第8章 实战数据库综述
8.1 SQL与NoSQL,主流数据库分类
8.1.1关系型数据库
8.1.2非关系型数据库NoSQL
8.2数据库的性能
8.2.1耐分割
8.2.2一致性
8.2.3可用性
8.2.4 CAP定理
8.3 SQL和NoSQL对比
8.3.1数据存储、读取方式
8.3.2数据库的扩展方式
8.3.3性能比较
8.4数据库的发展趋势
8.4.1不同数据库之间自动化同步更为方便
8.4.2云数据库的兴起
8.4.3底层和应用层多层化
8.5 MySQL简介
8.6 Cassandra简介
8.6.1 Cassandra交互方式简介
8.6.2利用Docker安装Cassandra
8.6.3使用Cassandra存储数据
第9章 实时数据监控ELK集群
9.1 Elasticsearch、 LogStash和Kibana的前世今生
9.1.1 Elasticsearch的平凡起家
9.1.2 LogStash卑微的起源
9.1.3 Kibana惊艳登场
9.1.4 ELK协同作战
9.2 Elasticsearch基本架构
9.2.1文档
9.2.2索引和文档类型
9.2.3分片和冗余
9.2.4 Elasticsearch和数据库进行比较
9.3 Elasticsearch快速入门
9.3.1用Docker运行Elasticsearch容器虚拟机
9.3.2创建存储文档、文档类型和索引
9.3.3搜索文档
9.3.4对偶搜索
9.4 Kibana快速入门
9.4.1利用Docker搭建ELK集群
9.4.2配置索引格式
9.4.3交互式搜索
9.4.4可视化操作
9.4.5实时检测面板
第10章 机器学习系统设计模式
10.1设计模式的前世今生
10.1.1单机设计模式逐渐式微
10.1.2微服务取代设计模式的示例
10.1.3微服务设计模式的兴起
10.2读:高速键值模式
10.2.1问题场景
10.2.2解决方案
10.2.3其他使用场景
10.3读:缓存高速查询模式
10.3.1问题场景
10.3.2解决方案
10.3.3适用场景
10.4更新:异步数据库更新模式
10.4.1问题场景
10.4.2解决方案
10.4.3使用场景案例
10.5更新:请求重定向模式
10.5.1问题场景
10.5.2解决方案
10.5.3更新流程
10.5.4使用场景案例
10.6处理:硬实时并行模式
10.6.1问题场景
10.6.2解决方案
10.6.3使用场景案例
10.7处理:分布式任务队列模式
10.7.1问题场景
10.7.2解决方案
10.7.3 Storm作为分布式任务队列
10.7.4适用场景
10.7.5结构的演进
10.8处理:批实时处理模式
10.8.1问题场景
10.8.2解决方案
10.8.3适用场景
第3部分 未来展望
第11章Serverless架构
11.1 Serverless架构的前世今生
11.2 Serverless架构对实时机器学习的影响
第12章 深度学习的风口
12.1深度学习的前世今生
12.2深度学习的难点
12.3如何选择深度学习工具
12.3.1与现有编程平台、技能整合的难易程度
12.3.2此平台除做深度学习之外,还能做什么
12.3.3深度学习平台的成熟程度
12.4未来发展方向