机器学习之路——Caffe、Keras、scikit-learn实战
  • 推荐2
  • 收藏8
  • 浏览2.5K

机器学习之路——Caffe、Keras、scikit-learn实战

阿布 胥嘉幸 (作者) 

  • 书  号:978-7-121-32160-3
  • 出版日期:2017-07-19
  • 页  数:328
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:安娜
纸质版 ¥79.00
机器学习需要一条脱离过高理论门槛的入门之路。
本书《机器学习篇》从小红帽采蘑菇的故事开篇,介绍了基础的机器学习分类模型的训练(第1章)。如何评估、调试模型?如何合理地发掘事物的特征?如何利用几个模型共同发挥作用?后续章节一步一步讲述了如何优化模型,更好地完成分类预测任务(第2章),并且初步尝试将这些技术运用到金融股票交易中(第3章)。
自然界最好的非线性模型莫过于人类的大脑。《深度学习篇》从介绍并对比一些常见的深度学习框架开始(第4章),讲解了DNN模型的直观原理,尝试给出一些简单的生物学解释,完成简单的图片识别任务(第5章)。后续章节在此基础上,完成更为复杂的图片识别CNN模型(第6章)。接着,本书展示了使用Caffe完成一个完整的图片识别项目,从准备数据集,到完成识别任务(第7章)。后面简单描述了RNN模型(第8章),接着展示了一个将深度学习技术落地到图片处理领域的项目(第9章)。
本书避过高深晦涩的数学理论推演,介绍机器学习模型背的一些简单直观的理解,以及如何上手使用。
前言
越来越多的人期待能挤进机器学习这一行业,这些人往往有一些编程和自学能力,
但数学等基础理论能力不足。对于这些人群,从头开始学习概率统计等基础学科是痛苦的,
如果直接上手使用机器学习工具往往又感到理解不足,缺少点什么。本书就是面向这一人
群,避过数学推导等复杂的理论推衍,介绍模型背后的一些简单直观的理解,以及如何上
手使用。本书希望能够得到这些人的喜爱。
本书包含两部分:机器学习篇和深度学习篇。
机器学习篇(1~3 章)主要从零开始,介绍什么是数据特征,什么是机器学习模型,
如何训练模型、调试模型,以及如何评估模型的成绩。通过一些简单的任务例子,讲解在
使用模型时如何分析并处理任务数据的特征,如何组合多个模型共同完成任务,并在第3
章初步尝试将机器学习技术运用到股票交易中,重复熟悉这些技术的同时,感受机器学习
技术在落地到专业领域时常犯的错误。
深度学习篇(4~9 章)则主要介绍了一些很基础的深度学习模型,如DNN、CNN
等,简单涵盖了一些RNN 的概念描述。我们更关注模型的直观原理和背后的生物学设计
理念,希望读者能够带着这些理解,直接上手应用深度学习框架。
说一点关于阅读本书的建议。本书在编写时不关注模型技术的数学推导及严谨表述,
转而关注其背后的直观原理理解。建议读者以互动执行代码的方式学习,所有示例使用
IPython Notebook 编写。读者可在Git 上找到对应章节的内容,一步一步运行书中讲解的
知识点,直观感受每一步的执行效果。具体代码下载地址:https://github.com/bbfamily/abu。
本书适合有Python 编程能力的读者。如果读者有简单的数学基础,了解概率、矩阵
则更佳。使用过Numpy、pandas 等数据处理工具的读者读起来也会更轻松,但这些都不
是必需的。如果读者缺乏Python 编程能力,或者希望进一步获得Numpy、pandas 等工具

使用相关的知识,可以关注公众号:abu_quant,获得一些技术资料及文章。
感谢出版社提供机会让我们编写本书,感谢编辑不辞辛苦地和我沟通排版等细节问
题。
本书的完成同样需要感谢我们的几位朋友:吴汶(老虎美股)、刘兆丹(百度金融),
感谢你们在本书编写作过程中提供的有力支持。感谢本书的试读人员:蔡志威、李寅龙。

目录

第一篇 机器学习篇
第1 章 初识机器学习 .................................................................................... 2
1.1 机器学习——赋予机器“学习”的灵魂 ..................................................................... 2
1.1.1 小红帽识别毒蘑菇 ................................................................................................................... 2
1.1.2 三种机器学习问题 ................................................................................................................... 6
1.1.3 常用符号 .................................................................................................................................. 6
1.1.4 回顾 .......................................................................................................................................... 7
1.2 KNN——相似的邻居请投票 ........................................................................................ 7
1.2.1 模型原理 .................................................................................................................................. 7
1.2.2 鸢尾花卉数据集(IRIS) ....................................................................................................... 9
1.2.3 训练模型 .................................................................................................................................. 9
1.2.4 评估模型 ................................................................................................................................ 12
1.2.5 关于KNN ............................................................................................................................... 14
1.2.6 运用KNN 模型 ...................................................................................................................... 15
1.2.7 回顾 ........................................................................................................................................ 16
1.3 逻辑分类I:线性分类模型 ........................................................................................ 16
1.3.1 参数化的模型 ........................................................................................................................ 16
1.3.2 逻辑分类:预测..................................................................................................................... 18
1.3.3 逻辑分类:评估..................................................................................................................... 22
1.3.4 逻辑分类:训练..................................................................................................................... 23
1.3.5 回顾 ........................................................................................................................................ 24
1.4 逻辑分类II:线性分类模型 ....................................................................................... 24
1.4.1 寻找模型的权重..................................................................................................................... 24
VI ∣ 机器学习之路——Caffe、Keras、scikit-learn 实战
1.4.2 去均值和归一化..................................................................................................................... 31
1.4.3 实现 ........................................................................................................................................ 33
1.4.4 回顾 ........................................................................................................................................ 34
第2 章 机器学习进阶 .................................................................................. 35
2.1 特征工程 ...................................................................................................................... 35
2.1.1 泰坦尼克号生存预测 ............................................................................................................. 35
2.1.2 两类特征 ................................................................................................................................ 38
2.1.3 构造非线性特征..................................................................................................................... 41
2.1.4 回顾 ........................................................................................................................................ 45
2.2 调试模型 ...................................................................................................................... 46
2.2.1 模型调试的目标..................................................................................................................... 46
2.2.2 调试模型 ................................................................................................................................ 49
2.2.3 回顾 ........................................................................................................................................ 52
2.3 分类模型评估指标 ...................................................................................................... 53
2.3.1 混淆矩阵系指标..................................................................................................................... 53
2.3.2 评估曲线 ................................................................................................................................ 58
2.3.3 回顾 ........................................................................................................................................ 61
2.4 回归模型 ...................................................................................................................... 61
2.4.1 回归与分类 ............................................................................................................................ 61
2.4.2 线性回归 ................................................................................................................................ 62
2.4.3 波士顿房价预测..................................................................................................................... 66
2.4.4 泰坦尼克号生存预测:回归预测特征年龄Age .................................................................. 69
2.4.5 线性模型与非线性模型 ......................................................................................................... 72
2.4.6 回顾 ........................................................................................................................................ 73
2.5 决策树模型 .................................................................................................................. 73
2.5.1 信息与编码 ............................................................................................................................ 74
2.5.2 决策树 .................................................................................................................................... 76
2.5.3 对比线性模型和决策树模型的表现 ..................................................................................... 77
2.5.4 回顾 ........................................................................................................................................ 79
2.6 模型融合 ...................................................................................................................... 80
2.6.1 融合成群体(Ensamble) ..................................................................................................... 80
2.6.2 Bagging:随机森林(Random Forest) ............................................................................... 82
目录 ∣ VII
2.6.3 Boosting:GBDT ................................................................................................................... 83
2.6.4 Stacking .................................................................................................................................. 86
2.6.5 泰坦尼克号生存预测:小结 ................................................................................................. 93
2.6.6 回顾 ........................................................................................................................................ 94
第3 章 实战:股票量化 .............................................................................. 95
3.1 第一步:构造童话世界 .............................................................................................. 95
3.1.1 股票是什么 ............................................................................................................................ 95
3.1.2 当机器学习与量化交易走在一起 ......................................................................................... 96
3.1.3 构造一个童话世界 ................................................................................................................. 96
3.1.4 回顾 ...................................................................................................................................... 100
3.2 第二步:应用机器学习 ............................................................................................ 100
3.2.1 构建特征数据 ...................................................................................................................... 100
3.2.2 回归预测股票价格 ............................................................................................................... 103
3.2.3 分类预测股票涨跌 ............................................................................................................... 108
3.2.4 通过决策树分类,绘制决策图 ........................................................................................... 112
3.2.5 回顾 ...................................................................................................................................... 114
3.3 第三步:在真实世界应用机器学习 ........................................................................ 114
3.3.1 回测 ...................................................................................................................................... 115
3.3.2 基于特征的交易预测 ........................................................................................................... 119
3.3.3 破灭的童话——真实世界的机器学习 ............................................................................... 122
第二篇 深度学习篇
第4 章 深度学习:背景和工具 ................................................................. 126
4.1 背景 ............................................................................................................................ 126
4.1.1 人工智能——为机器赋予人的智能 ................................................................................... 126
4.1.2 图灵测试 .............................................................................................................................. 126
4.1.3 强人工智能 vs 弱人工智能 ............................................................................................... 127
4.1.4 机器学习和深度学习 ........................................................................................................... 128
4.1.5 过度的幻想 .......................................................................................................................... 128
4.1.6 回顾 ...................................................................................................................................... 129
VIII ∣ 机器学习之路——Caffe、Keras、scikit-learn 实战
4.2 深度学习框架简介 .................................................................................................... 129
4.2.1 评测方式 .............................................................................................................................. 130
4.2.2 评测对象 .............................................................................................................................. 131
4.2.3 深度学习框架评测 ............................................................................................................... 131
4.2.4 小结 ...................................................................................................................................... 135
4.3 深度学习框架快速上手 ............................................................................................ 135
4.3.1 符号主义 .............................................................................................................................. 135
4.3.2 MNIST .................................................................................................................................. 136
4.3.3 Keras 完成逻辑分类 ............................................................................................................ 138
4.3.4 回顾 ...................................................................................................................................... 141
4.4 Caffe 实现逻辑分类模型 ........................................................................................... 141
4.4.1 Caffe 训练MNIST 概览 ...................................................................................................... 142
4.4.2 Caffe 简介 ............................................................................................................................. 144
4.4.3 准备数据集 .......................................................................................................................... 145
4.4.4 准备模型 .............................................................................................................................. 146
4.4.5 模型训练流程 ...................................................................................................................... 149
4.4.6 使用模型 .............................................................................................................................. 149
4.4.7 Caffe 的Python 接口 ........................................................................................................... 150
4.4.8 回顾 ...................................................................................................................................... 151
第5 章 深层学习模型 ................................................................................ 152
5.1 解密生物智能 ............................................................................................................ 154
5.1.1 实验一:大脑的材料 ........................................................................................................... 154
5.1.2 实验二:探索脑皮层的功能区域 ....................................................................................... 156
5.1.3 实验三:不同的皮层组织——区别在于函数算法 ........................................................... 158
5.1.4 实验四:可替换的皮层模块——神经元组成的学习模型 ............................................... 161
5.1.5 模拟神经元 .......................................................................................................................... 162
5.1.6 生物结构带来的启发 ........................................................................................................... 163
5.1.7 回顾 ...................................................................................................................................... 164
5.2 DNN 神经网络模型 ................................................................................................... 164
5.2.1 线性内核和非线性激活 ....................................................................................................... 164
5.2.2 DNN、CNN、RNN ............................................................................................................. 165
5.2.3 逻辑分类:一层神经网络 ................................................................................................... 166
目录 ∣ IX
5.2.4 更多的神经元 ...................................................................................................................... 167
5.2.5 增加Hidden Layer(隐层) ................................................................................................ 168
5.2.6 ReLu 激活函数 ..................................................................................................................... 170
5.2.7 理解隐层 .............................................................................................................................. 171
5.2.8 回顾 ...................................................................................................................................... 172
5.3 神经元的深层网络结构 ............................................................................................ 172
5.3.1 问题:更宽 or 更深 ........................................................................................................... 172
5.3.2 链式法则:深层模型训练更快 ........................................................................................... 173
5.3.3 生物:深层模型匹配生物的层级识别模式 ....................................................................... 175
5.3.4 深层网络结构 ...................................................................................................................... 177
5.3.5 回顾 ...................................................................................................................................... 178
5.4 典型的DNN 深层网络模型:MLP .......................................................................... 178
5.4.1 优化梯度下降 ...................................................................................................................... 179
5.4.2 处理过拟合:Dropout ......................................................................................................... 181
5.4.3 MLP 模型 ............................................................................................................................. 182
5.4.4 回顾 ...................................................................................................................................... 185
5.5 Caffe 实现MLP ......................................................................................................... 185
5.5.1 搭建MLP ............................................................................................................................. 185
5.5.2 训练模型 .............................................................................................................................. 189
5.5.3 回顾 ...................................................................................................................................... 190
第6 章 学习空间特征 ................................................................................ 191
6.1 预处理空间数据 ........................................................................................................ 192
6.1.1 像素排列展开的特征向量带来的问题 ............................................................................... 192
6.1.2 过滤冗余 .............................................................................................................................. 194
6.1.3 生成数据 .............................................................................................................................. 195
6.1.4 回顾 ...................................................................................................................................... 198
6.2 描述图片的空间特征:特征图 ................................................................................ 199
6.2.1 图片的卷积运算................................................................................................................... 199
6.2.2 卷积指令和特征图 ............................................................................................................... 201
6.2.3 回顾 ...................................................................................................................................... 206
6.3 CNN 模型I:卷积神经网络原理 ............................................................................. 206
6.3.1 卷积神经元 .......................................................................................................................... 207
X ∣ 机器学习之路——Caffe、Keras、scikit-learn 实战
6.3.2 卷积层 .................................................................................................................................. 208
6.3.3 多层卷积 .............................................................................................................................. 211
6.3.4 回顾 ...................................................................................................................................... 216
6.4 CNN 模型II:图片识别 ........................................................................................... 216
6.4.1 连接分类模型 ...................................................................................................................... 216
6.4.2 猫狗分类 .............................................................................................................................. 217
6.4.3 反思CNN 与DNN 的结合:融合训练 .............................................................................. 221
6.4.4 深度学习与生物视觉 ........................................................................................................... 222
6.4.5 回顾 ...................................................................................................................................... 224
6.5 CNN 的实现模型 ....................................................................................................... 224
6.5.1 ImageNet 简介 ...................................................................................................................... 224
6.5.2 Googlenet 模型和Inception 结构 ........................................................................................ 226
6.5.3 VGG 模型 ............................................................................................................................. 228
6.5.4 其他模型 .............................................................................................................................. 231
6.5.5 回顾 ...................................................................................................................................... 232
6.6 微训练模型(fine-tuning) ....................................................................................... 232
6.6.1 二次训练一个成熟的模型 ................................................................................................... 232
6.6.2 微训练在ImageNet 训练好的模型 ..................................................................................... 233
6.6.3 回顾 ...................................................................................................................................... 239
第7 章 Caffe 实例:狗狗品种辨别 ........................................................... 240
7.1 准备图片数据 ............................................................................................................ 240
7.1.1 搜集狗狗图片 ...................................................................................................................... 240
7.1.2 清洗数据 .............................................................................................................................. 241
7.1.3 标准化数据 .......................................................................................................................... 242
7.1.4 回顾 ...................................................................................................................................... 243
7.2 训练模型 .................................................................................................................... 243
7.2.1 生成样本集 .......................................................................................................................... 244
7.2.2 生成训练、测试数据集 ....................................................................................................... 245
7.2.3 生成lmdb ............................................................................................................................. 246
7.2.4 生成去均值文件................................................................................................................... 247
7.2.5 更改prototxt 文件 ................................................................................................................ 247
7.2.6 训练模型 .............................................................................................................................. 249
目录 ∣ XI
7.2.7 回顾 ...................................................................................................................................... 249
7.3 使用生成的模型进行分类 ........................................................................................ 249
7.3.1 更改deploy.prototxt ............................................................................................................. 249
7.3.2 加载模型 .............................................................................................................................. 250
7.3.3 回顾 ...................................................................................................................................... 257
第8 章 漫谈时间序列模型 ......................................................................... 258
8.1 Embedding .................................................................................................................. 259
8.1.1 简单的文本识别................................................................................................................... 260
8.1.2 深度学习从读懂词义开始 ................................................................................................... 261
8.1.3 游戏:词义运算................................................................................................................... 264
8.1.4 回顾 ...................................................................................................................................... 264
8.2 输出序列的模型 ........................................................................................................ 265
8.2.1 RNN ...................................................................................................................................... 265
8.2.2 LSTM .................................................................................................................................... 266
8.2.3 并用人工特征和深度学习特征——一个NLP 模型的优化历程 ...................................... 268
8.2.4 反思:让模型拥有不同的能力 ........................................................................................... 270
8.2.5 回顾 ...................................................................................................................................... 273
8.3 深度学习:原理篇总结 ............................................................................................ 273
8.3.1 原理小结 .............................................................................................................................. 273
8.3.2 使用建议 .............................................................................................................................. 275
第9 章 用深度学习做个艺术画家——模仿实现PRISMA ........................... 277
9.1 机器学习初探艺术作画 ............................................................................................ 278
9.1.1 艺术作画概念基础 ............................................................................................................... 278
9.1.2 直观感受一下机器艺术家 ................................................................................................... 279
9.1.3 一个有意思的实验 ............................................................................................................... 280
9.1.4 机器艺术作画的愿景 ........................................................................................................... 281
9.1.5 回顾 ...................................................................................................................................... 282
9.2 实现秒级艺术作画 .................................................................................................... 282
9.2.1 主要实现思路分解讲解 ....................................................................................................... 283
9.2.2 使用统计参数期望与标准差寻找mask .............................................................................. 290
XII ∣ 机器学习之路——Caffe、Keras、scikit-learn 实战
9.2.3 工程代码封装结构及使用示例 ........................................................................................... 299
9.2.4 回顾和后记 .......................................................................................................................... 302
附录A 机器学习环境部署 ......................................................................... 303
附录B 深度学习环境部署 ......................................................................... 307
附录C 随书代码运行环境部署 .................................................................. 312

本书勘误

印次
  • 页码:23  •  行数:4,7  •  印次: 1

    交叉熵函数后半部分括号位置有误,同时代码处括号也有误

    Wjize 提交于 2018/1/28 14:56:50
    安娜 确认于 2018/12/24 8:57:12
  • 页码:23  •  行数:3  •  印次: 1

    D(y,p)=y ln(p)+(1-y)(1-ln(p)) 应该修改为 D(y,p)=y ln(p)+(1-y)ln(1-p)

    fhb 提交于 2018/3/10 9:24:43
    安娜 确认于 2018/12/24 9:22:42
  • 页码:180  •  行数:倒数第九行  •  印次: 1

    “数据及”应为“数据集”

    LongLongWei11111 提交于 2018/6/9 17:20:28
    安娜 确认于 2018/12/24 9:16:19
  • 页码:181  •  行数:倒数第二行  •  印次: 1

    “有可能输出,也有可能没音”,其中“没音”应该为“没有”吧。

    LongLongWei11111 提交于 2018/6/9 17:50:11
    安娜 确认于 2018/12/24 9:16:29

读者评论

  • 第一章的最后例子,建议不要夹在私货,用原始代码完成会让读者更有成就感。

    weiwang12345发表于 2024/3/10 8:51:26

相关图书

程序员的AI书:从代码开始

张力柯 潘晖 (作者)

随着AI技术的普及,如何快速理解、掌握并应用AI技术,成为绝大多数程序员亟需解决的问题。本书基于Keras框架并以代码实现为核心,详细解答程序员学习AI算法时的...

¥76.30

聊天机器人:对话式体验产品设计

Amir Shevat (作者) 淘宝(中国)软件有限公司 (译者)

从亚马逊的Alexa语音助手到苹果的Siri,从Slack的聊天机器人到短信和电子邮件机器人,我们越来越依赖于软件驱动的聊天应用。在这本实用指南中,作者Amir...

¥65.00

强化学习实战:强化学习在阿里的技术演进和业务创新

笪庆 曾安祥 (作者)

近年来,随着与深度神经网络的结合,强化学习在以Atari2600和围棋为代表的游戏领域取得了突破性的进展。与学术界关注的方向不同,在阿里巴巴,我们则将重点放在推...

 

相关性搜索:利用Solr与Elasticsearch创建智能应用

Doug Turnbull John Berryman (作者) 莫映 蔡宇飞 殷志勇 (译者)

本书揭开了相关性搜索的神秘面纱,告诉大家如何将 Elasticsearch与 Solr这样的搜索引擎作为可编程的相关性框架,从而表达业务排名规则。从这本书中你可...

¥69.00

深度学习算法实践

吴岸城 (作者)

本书以一位软件工程师的转型故事为线索,讲述算法思维的建立及实践。第1章主要讲解如何从传统的工程思维转入算法思维,第2-5章分别阐述文本处理、视觉识别、Bot机器...

¥79.00

Python机器学习算法

赵志勇 (作者)

本书是一本机器学习入门读物,注重理论与实践的结合。全书主要包括6个部分,每个部分均以典型的机器学习算法为例,从算法原理出发,由浅入深,详细分析算法的理论,并配合...

¥49.00