机器学习工程实战

机器学习工程实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

机器学习入门手册《机器学习精讲》姊妹篇,人工智能和机器学习领域专业人士的多年实践结晶,深入浅出讲解机器学习应用和工程实践。

内容简介

全书共10章,在概述之后,分别从项目开始前的准备,数据收集和准备,特征工程,监督模型训练,模型评估,模型部署,模型服务、监测和维护方面进行讲解,最后做了简短的总结。

作者简介

作者安德烈·布可夫(Andriy Burkov),人工智能和机器学习领域专业人士,拥有人工智能博士学位,尤其擅长自然语言处理、机器学习、信息检索等。目前,他是高德纳(Gartner)咨询公司机器学习开发团队的主管。该团队的主要工作是,使用浅层和深度学习技术,开发可用于生产环境的、先进的多语言文字抽取和标准化系统。著有本书的姊妹篇《机器学习精讲》。

章节目录

版权信息

内容提要

前言

资源与支持

第1章 概述

1.1 符号和定义

1.1.1 数据结构

1.1.2 大写西格玛记法

1.2 什么是机器学习

1.2.1 监督学习

1.2.2 无监督学习

1.2.3 半监督学习

1.2.4 强化学习

1.3 数据和机器学习术语

1.3.1 直接和间接使用的数据

1.3.2 原始数据和规整数据

1.3.3 训练集和留出集

1.3.4 基线

1.3.5 机器学习流水线

1.3.6 参数与超参数

1.3.7 分类与回归

1.3.8 基于模型学习与基于实例学习

1.3.9 浅层学习与深度学习的比较

1.3.10 训练与评分

1.4 何时使用机器学习

1.4.1 如果问题太复杂,无法进行编程

1.4.2 如果问题不断变化

1.4.3 如果它是一个感知问题

1.4.4 如果它是一种未曾研究过的现象

1.4.5 如果问题的目标简单

1.4.6 如果它有成本效益

1.5 何时不使用机器学习

1.6 什么是机器学习工程

1.7 机器学习项目生命周期

1.8 小结

第2章 项目开始前

2.1 机器学习项目的优先级排序

2.1.1 机器学习的影响

2.1.2 机器学习的成本

2.2 估计机器学习项目的复杂度

2.2.1 未知因素

2.2.2 简化问题

2.2.3 非线性进展

2.3 确定机器学习项目的目标

2.3.1 模型能做什么

2.3.2 成功模型的属性

2.4 构建机器学习团队

2.4.1 两种文化

2.4.2 机器学习团队的成员

2.5 机器学习项目为何失败

2.5.1 缺乏有经验的人才

2.5.2 缺乏领导层的支持

2.5.3 数据基础设施缺失

2.5.4 数据标签的挑战

2.5.5 谷仓式组织和缺乏协作

2.5.6 技术上不可行的项目

2.5.7 技术团队和业务团队之间缺乏协调

2.6 小结

第3章 数据收集和准备

3.1 关于数据的问题

3.1.1 数据是否可获得

3.1.2 数据是否相当大

3.1.3 数据是否可用

3.1.4 数据是否可理解

3.1.5 数据是否可靠

3.2 数据的常见问题

3.2.1 高成本

3.2.2 质量差

3.2.3 噪声

3.2.4 偏差

偏差的类型

避免偏差的方法

3.2.5 预测能力低

3.2.6 过时的样本

3.2.7 离群值

3.2.8 数据泄露

3.3 什么是好数据

3.3.1 好数据是有信息的

3.3.2 好数据有好的覆盖面

3.3.3 好数据反映真实的输入

3.3.4 好数据没有偏差

3.3.5 好数据不是反馈环路的结果

3.3.6 好数据有一致的标签

3.3.7 好数据足够大

3.3.8 好数据总结

3.4 处理交互数据

3.5 数据泄露的原因

3.5.1 目标是一个特征的函数

3.5.2 特征隐藏目标

3.5.3 特征来自未来

3.6 数据划分

3.7 处理缺失的属性

3.7.1 数据填补技术

3.7.2 填补过程中的泄露问题

3.8 数据增强

3.8.1 图像的数据增强

3.8.2 文本的数据增强

3.9 处理不平衡的数据

3.9.1 过采样

3.9.2 欠采样

3.9.3 混合策略

3.10 数据采样策略

3.10.1 简单随机采样

3.10.2 系统采样

3.10.3 分层采样

3.11 存储数据

3.11.1 数据格式

3.11.2 数据存储级别

3.11.3 数据版本化

3.11.4 文档和元数据

3.11.5 数据生命周期

3.12 数据处理最佳实践

3.12.1 可重复性

3.12.2 数据第一,算法第二

3.13 小结

第4章 特征工程

4.1 为什么要进行特征工程

4.2 如何进行特征工程

4.2.1 文本的特征工程

4.2.2 为什么词袋有用

4.2.3 将分类特征转换为数字

4.2.4 特征哈希

4.2.5 主题建模

4.2.6 时间序列的特征

4.2.7 发挥你的创造力

4.3 叠加特征

4.3.1 叠加特征向量

4.3.2 叠加单个特征

4.4 好特征的属性

4.4.1 高预测能力

4.4.2 快速计算能力

4.4.3 可靠性

4.4.4 不相关

4.4.5 其他属性

4.5 特征选择

4.5.1 切除长尾

4.5.2 Boruta

4.5.3 L1正则化

4.5.4 特定任务的特征选择

4.6 合成特征

4.6.1 特征离散化

4.6.2 从关系数据中合成特征

4.6.3 通过数据合成特征

4.6.4 通过其他特征合成特征

4.7 从数据中学习特征

4.7.1 单词嵌入

4.7.2 文档嵌入

4.7.3 任何东西的嵌入

4.7.4 选择嵌入维度

4.8 降维

4.8.1 用PCA快速降维

4.8.2 用于可视化的降维

4.9 缩放特征

4.9.1 归一化

4.9.2 标准化

4.10 特征工程中的数据泄露问题

4.10.1 可能出现的问题

4.10.2 解决方案

4.11 存储特征和编写文档

4.11.1 模式文件

4.11.2 特征商店

特征没有复用

特征定义各不相同

计算密集型特征

训练和服务之间的不一致

特征到期时间未知

4.12 特征工程最佳实践

4.12.1 生成许多简单的特征

4.12.2 复用遗留系统

4.12.3 在需要时使用ID作为特征

4.12.4 但在可能时要减少基数

将相似的值分组

将长尾分组

删除特征

4.12.5 谨慎使用计数

4.12.6 必要时进行特征选择

4.12.7 认真测试代码

4.12.8 保持代码、模型和数据的同步性

4.12.9 隔离特征提取代码

4.12.10 将模型和特征提取器序列化在一起

4.12.11 记录特征的值

4.13 小结

第5章 监督模型训练(第一部分)

5.1 开始模型工作之前

5.1.1 验证模式一致性

5.1.2 定义可实现的表现水平

5.1.3 选择表现指标

5.1.4 选择正确的基线

5.1.5 将数据分成三个集

5.1.6 监督学习的前提条件

5.2 为机器学习表示标签

5.2.1 多类分类

5.2.2 多标签分类

5.3 选择学习算法

5.3.1 学习算法的主要属性

可解释性

内存与外存的比较

特征和样本的数量

数据的非线性

训练速度

5.3.2 算法抽查

5.4 建立流水线

5.5 评估模型表现

5.5.1 回归的表现指标

5.5.2 分类的表现指标

5.5.3 排名的表现指标

5.6 超参数调整

5.6.1 网格搜索

5.6.2 随机搜索

5.6.3 由粗到精搜索

5.6.4 其他技术

5.6.5 交叉验证

5.7 浅层模型训练

5.7.1 浅层模型训练策略

5.7.2 保存和恢复模型

5.8 偏差-方差折中

5.8.1 欠拟合

5.8.2 过拟合

5.8.3 折中

5.9 正则化

5.9.1 L1和L2正则化

5.9.2 其他形式的正则化

5.10 小结

第6章 监督模型训练(第二部分)

6.1 深度模型训练策略

6.1.1 神经网络训练策略

6.1.2 表现指标和成本函数

6.1.3 参数初始化策略

6.1.4 优化算法

函数和优化

6.1.5 学习率衰减安排表

6.1.6 正则化

6.1.7 网络规模搜索和超参数调整

6.1.8 处理多个输入

6.1.9 处理多个输出

6.1.10 迁移学习

使用预训练的模型作为初始化器

使用预训练的模型作为特征提取器

6.2 堆叠模型

6.2.1 集成学习的类型

6.2.2 模型堆叠的一种算法

6.2.3 模型堆叠中的数据泄露问题

6.3 应对分布偏移

6.3.1 分布偏移的类型

6.3.2 对抗验证

6.4 处理不平衡数据集

6.4.1 类权重

6.4.2 重采样数据集的集成

6.4.3 其他技术

6.5 模型校准

6.5.1 良好校准的模型

6.5.2 校准技术

6.6 故障排除与误差分析

6.6.1 模范行为不良的原因

6.6.2 迭代模型的细化

6.6.3 误差分析

6.6.4 复杂系统的误差分析

6.6.5 使用切片指标

6.6.6 修复错误的标签

6.6.7 寻找其他的样本来标记

6.6.8 深度学习的故障排除

6.7 最佳实践

6.7.1 提供一个好模型

6.7.2 信任流行的开源实现方式

6.7.3 优化业务特定的表现指标

6.7.4 从头开始升级

6.7.5 避免修正级联

6.7.6 谨慎使用模型级联

6.7.7 编写高效的代码、编译和并行化

6.7.8 对较新和较旧数据都进行测试

6.7.9 更多的数据胜过更聪明的算法

6.7.10 新数据胜过巧妙的特征

6.7.11 拥抱微小进步

6.7.12 促进可重复性

6.8 小结

第7章 模型评估

7.1 离线和在线评估

7.2 A/B测试

7.2.1 G检验

7.2.2 Z检验

7.2.3 结语和警告

7.3 多臂老虎机

7.4 模型表现的统计界限

7.4.1 分类误差的统计区间

7.4.2 自举法统计区间

7.4.3 回归的自举法预测区间

7.5 评估测试集的充分性

7.5.1 神经元覆盖率

7.5.2 突变测试

7.6 模型属性的评估

7.6.1 健壮性

7.6.2 公平性

7.7 小结

第8章 模型部署

8.1 静态部署

8.2 在用户设备上动态部署

8.2.1 模型参数的部署

8.2.2 序列化对象的部署

8.2.3 部署到浏览器上

8.2.4 优点和缺点

8.3 在服务器上动态部署

8.3.1 在虚拟机上部署

8.3.2 在容器中部署

8.3.3 无服务器部署

8.3.4 模型流

8.4 部署策略

8.4.1 单一部署

8.4.2 静默部署

8.4.3 金丝雀部署

8.4.4 多臂老虎机

8.5 自动部署、版本管理和元数据

8.5.1 模型附带资产

8.5.2 版本同步

8.5.3 模型版本元数据

8.6 模型部署最佳实践

8.6.1 算法效率

8.6.2 深度模型的部署

8.6.3 缓存

8.6.4 模型和代码的交付格式

8.6.5 从一个简单的模型开始

8.6.6 对外测试

8.7 小结

第9章 模型服务、监测和维护

9.1 模型服务运行时的属性

9.1.1 安全性和正确性

9.1.2 部署的方便性

9.1.3 模型有效性的保证

9.1.4 易于恢复

9.1.5 避免训练/服务偏离

9.1.6 避免隐藏反馈环路

9.2 模型服务模式

9.2.1 批量模式服务

9.2.2 对人按需服务

设备故障

急诊室住院

信用风险评估

广告展示

9.2.3 对机器按需服务

9.3 现实世界中的模型服务

9.3.1 为错误做好准备

9.3.2 处理错误

9.3.3 做好准备,应对变化

9.3.4 做好准备,应对人性

避免困惑

管理预期

获得信任

管理用户疲劳

小心潜变因子

9.4 模型监测

9.4.1 什么会出问题

9.4.2 监测的内容和方法

9.4.3 记录什么日志

9.4.4 监测滥用情况

9.5 模型维护

9.5.1 何时更新

9.5.2 如何更新

9.6 小结

第10章 结论

10.1 学习收获

10.2 后续阅读

10.3 致谢

机器学习工程实战是2021年由人民邮电出版社出版,作者[加] 安德烈·布可夫。

得书感谢您对《机器学习工程实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
机器学习 电子书
机器学习基础与高级内容全面讲解,实例丰富,易于学习巩固。
实用机器学习 电子书
大数据时代为机器学习的应用提供了广阔的空间,各行各业涉及数据分析的工作都需要使用机器学习算法。本书围绕实际数据分析的流程展开,着重介绍数据探索、数据预处理和常用的机器学习算法模型。本书从解决实际问题的角度出发,介绍回归算法、分类算法、推荐算法、排序算法和集成学习算法。在介绍每种机器学习算法模型时,书中不但阐述基本原理,而且讨论模型的评价与选择。为方便读者学习各种算法,本书介绍了R语言中相应的软件包
机器学习公式详解 电子书
适读人群 :(1)高等院校人工智能、计算机、自动化等相关专业机器学习方向的学生;(2)学术界机器学习领域的研究人员和教师;(3)工业界对机器学习感兴趣的专业人员和工程师。 1.周志华教授“西瓜书”《机器学习》公式完全解析指南! “南瓜书”系Datawhale成员自学笔记,对“西瓜书”中250个重难点公式做了详细解析和推导(重难点公式覆盖率达99%),旨在解决机器学习中的数学难题。 2.机器学习初学小白提升数学基础能力的必备练习册! 以本科数学基础视角对“西瓜书”里比较难理解的公式加以解析和推导细节,补充大量重、难点数学知识和参考材料,分享在学习中遇到的“坑”以及跳过这个“坑”的方法,对于初学机器学习的小白也能上手练习! 3.俞勇、王斌、李沐、程明明、陈光(博主@爱可可-爱生活)、徐亦达等人工智能领域大咖亲笔推荐
Python高手修炼之道:数据处理与机器学习实战 电子书
适读人群 :1.没有编程知识的新手 不同于一般的基础语法讲解教程,本书并未将Python 开发限定于某个集成开发工具(IDE)中,而是采用交互式编程的方式来强化读者对语言特性的理解,帮助新手读者真正理解Python 语言和Python 编程。2.从未接触过Python 语言,但了解一点编程知识的初学者 本书通过对基础知识高度的提炼和概括,以避免初学者陷入低级且冗长的细节知识点而心生懈怠;同时,本书为初学者规划了从初级到高级的编程技能提升路线图。3.具有一定基础的Python 程序员 本书可以作为案头工具书来使用。本书从基础语法、基本技能讲起,涵盖了科学计算、数据处理、机器学习等领域,示例代码涉及30 余个模块的使用。 构建从Python入门到数据分析到机器学习的路线图,入门有章可循; 1.讲解独到,常见盲点趣解析 作者基于多年的经验积累,善于总结概括初学Python过程中的误区。 2.内容全面,常用工具全涵盖 书中介绍的Python工具包覆盖Numpy、Matplotlib、Pandas、SciPy、Scikit-Learn,方便读者拓展实用技能、掌握工作利器。 3.拓展训练,重点知识有强化 语感训练100题、Python内置函数(类)手册、从新手到高手的100个模块,强化知识点的掌握。 4.代码完整,随时动手可复现 本书提供了完整、可验证的代码,方便读者动手练习并强化理解。
Python机器学习经典实例 电子书
用流行的Python库scikitlearn解决机器学习问题。