科技
类型
可以朗读
语音朗读
194千字
字数
2021-11-01
发行日期
展开全部
主编推荐语
机器学习入门手册《机器学习精讲》姊妹篇,人工智能和机器学习领域专业人士的多年实践结晶,深入浅出讲解机器学习应用和工程实践。
内容简介
本书是人工智能和机器学习领域专业多年实践的结晶,深入浅出讲解机器学习应用和工程实践,是对机器学习工程实践和设计模式的系统回顾。全书分别从项目前的准备,数据收集和准备,特征工程,监督模型训练,模型评估,模型服务、监测和维护等方面讲解,由浅入深剖析机器学习实践过程中遇到的问题,帮助读者快速掌握机器学习工程实践和设计模式的基本原理与方法。
本书内容安排合理,架构清晰,理论与实践相结合,适合想要从事机器学习项目的数据分析师、机器学习工程师以及机器学习相关专业的学生阅读,也可供需要处理模型的软件架构师参考。
目录
- 版权信息
- 内容提要
- 序
- 前言
- 资源与支持
- 第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 致谢
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。