1、 内 容 简 介 这是一本场景式的机器学习实践书,笔者努力做到“授人以渔,而非授人以鱼”。理论方面从人工智能(AI)与机器学习(ML)的基本要素讲起,逐步展开有监督学习、无监督学习、强化学习这三大类模型的应用场景与算法原理;实践方面通过金融预测、医疗诊断概率模型、月球登陆器、图像识别、写诗机器人、中国象棋博弈等案例启发读者将机器学习应用在各行各业里,其中后三个案例使用了深度学习技术。本书试图用通俗的语言讲解涵盖算法模型的机器学习,主要内容包括机器学习通用概念、三个基本科学计算工具、有监督学习、聚类模型、降维模型、隐马尔可夫模型、贝叶斯网络、自然语言处理、深度学习、强化学习、模型迁移等。在深入浅
2、出地解析模型与算法之后,介绍使用 Python 相关工具进行开发的方法、解析经典案例,使读者做到“能理解、能设计、能编码、能调试”,没有任何专业基础的读者在学习本书后也能够上手设计与开发机器学习产品。本书内容深入浅出、实例典型,适合对机器学习感兴趣的产品设计、技术管理、数据分析、软件开发或学生读者。阅读本书既能了解当前工业界的主流机器学习与深度学习开发工具的使用方法,又能从战略方面掌握如何将人工智能技术应用到自己的企业与产品中。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 从机器学习到深度学习:基于 scikit-learn 与 Ten
3、sorFlow 的高效开发实战刘长龙著.北京:电子工业出版社,2019.3 ISBN 978-7-121-35518-9 .从 .刘 .机器学习 .TP181 中国版本图书馆 CIP 数据核字(2018)第 252504 号 责任编辑:董 英 印 刷:三河市双峰印刷装订有限公司 装 订:三河市双峰印刷装订有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:32 字数:642 千字 版 次:2019 年 3 月第 1 版 印 次:2019 年 3 月第 1 次印刷 定 价:99.00 元 凡所购买电子工业出版社图书有缺损
4、问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)51260888-819,。谨以此书献给我家有无限活力的小朋友,感谢他给予我的无穷动力!前 言 随着越来越多的人工智能技术的突破、市场上实际产品的研发与销售,机器学习成为了当下所有高科技企业在管理、技术、运维等所有层面被高度关注的技术领域。在所有企业的产品设计论坛、技术研讨会中,人工智能与机器学习总会成为大家关注的焦点。但是,人工智能与机器学习所获得的关注与大家对该领域知识的了解却不成正比。以笔者自身的
5、经历来说,在顶尖高科技企业的技术研讨与分享会中,很多次被问到:机器学习与深度学习的区别是什么?什么是有监督学习?人工智能能不能应用在我们的产品中?这些问题既可以用一两句话回答,也可以用一本书来阐述。无论如何,笔者能肯定的一点是:大家对机器学习充满兴趣,但平时又忙于工作和生活,无暇系统地学习这方面的知识。大家对机器学习充满兴趣,但平时又忙于工作和生活,无暇系统地学习这方面的知识。机器学习作为一个知识体系而言确实是庞大的,系统学习它至少要以扎实掌握数学和计算机本科 67 门课程为基础。但是这些课程已经让很多在校学生“备受折磨”,更别提终日忙于工作与家庭、已毕业多年的企业管理与工程人员了。如何让对数
6、学久疏战阵或者本就不擅长数学的人快速领略和掌握人工智能与机器学习的全貌呢?从机器学习到深度学习:基于 scikit-learn 与 TensorFlow 的高效开发实战?VI?本书试图用通俗的语言讲解涵盖算法模型的机器学习。更进一步地,在深入浅出解析模型与算法之后,介绍使用 Python 相关工具进行开发的方法、解析经典案例,使读者做到“能理解,能设计、能编码、能调试”“能理解,能设计、能编码、能调试”,真正将机器学习应用在自己的产品之中。本书特色 1内容全面 全面覆盖了机器学习的三大领域:有监督学习、无监督学习、强化学习。在分析它们的传统算法模型后,着重解析近年来取得突破的深度学习在人工智能
7、方面的应用。2深入浅出 用生活化的语言描述算法与模型的原理与作用,并给出实践指导和案例解析。使得没有任何专业基础的读者在学习本书后能够独立设计与开发机器学习产品。3工具多样 理论内容全面,以至于没有哪个工具能够全部实现这些模型,因此在每一个模型的实践部分选取最合适的工具。总体来看,本书围绕 scikit-learn 与 TensorFlow 展开实践,并在需要时引入其他工具。4案例丰富 除了每个模型的小型实践,本书包括的较大案例是:金融预测、医疗诊断概率模型、月球登陆器、图像识别、写诗机器人、中国象棋博弈。5授人以渔 在运用到较深的理论知识或更细节的论证结果时,本书给出这些知识与结论的出处,确
8、保读者能够追本溯源;在工具使用方面,不仅着眼于接口细节,更关注那些能使读者快速形成查阅该工具最新在线文档的核心知识的能力。前 言?VII?本书内容体系 虽然本书每章有明确的主题内容,但知识体系有轻微依赖关系,因此对于普通读者来说建议按编排顺序阅读。对于有特定需求的读者,可以按照下图寻找学习路径。除了第 2 章,学习上图中任何一个模块前,都建议以其上方的章节为基础。第 2 章介绍的是后续其他章节里实践所依赖的 Python 基础工具,对于只关注模型场景与原理的读者可将其跳过。从图中可以看到,除了基础的第 1、2 章,本书由 3 条学习线组成。(1)第 3、9、10、11 章 第 3 章以 sci
9、kit-learn 为工具介绍有监督学习的传统模型;第 9 章是本书篇幅最大的一章,以 TensroFlow 为工具学习近年来发展最快的深度学习模型,因为其与第 8 章有少量关联,所以放在了第 9 章;第 10 章学习强化学习传统算法与深度学习算法;第 11 章简单介绍深度学习模型的迁移方法。(2)第 4、5 章 用 scikit-learn 讲解无监督学习模型原理、算法与应用。无监督学习中最主要的两部分第 1 章 机器学习基础(基本要素和流程、学习策略、评估理论)第 3 章 有监督学习:分类与回归(线性回归、随机梯度下降、支持向量机、朴素贝叶斯、高斯过程、决策树、随机森林、自适应增强)第 2
10、 章:Python 基础工具(Numpy、Matplot、Scipy)第 4 章 无监督学习:聚类(K-means、近邻算法、高斯 混合模型、DBSCAN、BIRCH、距离计算)第 6 章 隐马尔可夫模型(场景建模、离散与连续分布、Viterbi算法、Baum-Welch算法)第 9 章 深度学习(神经网络原理、TensorFlow 应用、CNN、RNN、递归神经网络、批次规范化、剪枝、优化算法、胶囊网络等)第 5 章 无监督学习:数据降维(PCA、LDA、MDS、流形学习若干算法)第 7 章 贝叶斯网络(网络参数估计、启发式搜索、蒙特卡洛法、MCMC、Gibbs采样、变分贝叶斯、常用共轭分布
11、)第 10 章 强化学习(基本要素、价值类算法、策略类算法、深度强化学习算法、博弈原理、蒙特卡洛搜索树)第 8 章 自然语言处理(词袋模型、TF-IDF、中文分词工具、Word2vec、非负矩阵分解等主题模型)第 11 章 模型迁移(Android 与 iOS 上的机器学习开发简介、迁移学习原理与案例)从机器学习到深度学习:基于 scikit-learn 与 TensorFlow 的高效开发实战?VIII?是聚类与降维,在讲解过程中比较了每个模型的优势与劣势。(3)第 6、7、8 章 讲解概率类机器学习模型的原理与实战。第 6章作为入门使读者领略概率模型的特点;第 7 章全面介绍贝叶斯类算法的
12、基本知识和简单实践;第 8 章的重点是 LDA 主题模型,以第 7 章的内容为基础。只要按照图中的顺序学习,几乎不需要任何基础就可以掌握图中所有机器学习领域的基本方法,为今后在这方面进行研究与工作打下坚实的基础。本书读者 本书几乎适合任何对机器学习感兴趣的读者,比较典型的是:产品设计经理。技术管理者。信息技术创业者。数据分析员。软件开发人员。在校学生。另外,如果您已经是机器学习领域的资深研究者,能看懂相关论文,或正准备在专业杂志上发表这方面的论文,可能这本书会不那么适合你。谨此说明。感谢 感谢您的信任,如果阅读这本书能启发您获得新的灵感,那是我最大的荣幸。同时也因为本人水平有限,书中内容有疏漏
13、之处也请赐教和包涵。前 言?IX?轻松注册成为博文视点社区用户(),扫码直达本书页面。下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。页面入口:http:/ 目 录 第 1 章 机器学习基础.1 1.1 引言.1 1.1.1 为什么使用机器学习.2 1.1.2 机器学习与数据挖掘.4 1.1.3 机器学习与人工智能.5 1.2 机器学习的一般流程.7 1.2.1
14、 定义问题.7 1.2.2 收集数据.8 1.2.3 比较算法与模型.9 1.2.4 应用模型.10 1.3 学习策略.10 1.3.1 有监督学习.11 1.3.2 无监督学习.14 1.3.3 强化学习.16 1.3.4 综合模型与工具.18 1.4 评估理论.19 1.4.1 划分数据集.19 1.4.2 交叉验证.21 1.4.3 评估指标.22 目 录?XI?1.4.4 拟合不足与过度拟合.25 1.5 本章内容回顾.26 第 2 章 Python 基础工具.27 2.1 Numpy.28 2.1.1 Numpy 与 Scipy 的分工.28 2.1.2 ndarray 构造.29
15、2.1.3 数据类型.32 2.1.4 访问与修改.33 2.1.5 轴.35 2.1.6 维度操作.38 2.1.7 合并与拆分.40 2.1.8 增与删.41 2.1.9 全函数.42 2.1.10 广播.42 2.2 Matplot.43 2.2.1 点线图.44 2.2.2 子视图.50 2.2.3 图像.53 2.2.4 等值图.57 2.2.5 三维绘图.58 2.2.6 从官网学习.59 2.3 Scipy.60 2.3.1 数学与物理常数.61 2.3.2 特殊函数库.62 2.3.3 积分.64 2.3.4 优化.65 2.3.5 插值.67 2.3.6 离散傅里叶.68 2
16、.3.7 卷积.70 2.3.8 线性分析.71 2.3.9 概率统计.73 从机器学习到深度学习:基于 scikit-learn 与 TensorFlow 的高效开发实战?XII?2.4 本章内容回顾.77 第 3 章 有监督学习:分类与回归.79 3.1 线性回归.80 3.1.1 何谓线性模型.80 3.1.2 最小二乘法.81 3.1.3 最小二乘法的不足.82 3.1.4 岭回归.85 3.1.5 Lasso 回归.87 3.2 梯度下降.90 3.2.1 假设函数与损失函数.90 3.2.2 随机梯度下降.92 3.2.3 实战:SGDRegressor 和 SGDClassifier.93 3.2.4 增量学习.94 3.3 支持向量机.95 3.3.1 最优超平面.95 3.3.2 软间隔.97 3.3.3 线性不可分问题.98 3.3.4 核函数.99 3.3.5 实战:scikit-learn 中的 SVM.100 3.4 朴素贝叶斯分类.101 3.4.1 基础概率.102 3.4.2 贝叶斯分类原理.103 3.4.3 高斯朴素贝叶斯.105 3.4.4 多项式