突围算法:机器学习算法应用
  • 推荐0
  • 收藏0
  • 浏览75

突围算法:机器学习算法应用

刘凡平 (作者) 

  • 书  号:978-7-121-39263-4
  • 出版日期:2020-08-04
  • 页  数:264
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:安娜
电子书 ¥55.30
购买电子书
纸质版 ¥79.00
本书主要对算法的原理进行了介绍,并融合大量的应用案例,详细介绍使用机器学习模型的一般方法,帮助读者理解算法原理,学会模型设计。
本书首先介绍数据理解、数据的处理与特征,帮助读者认识数据;然后从宏观、系统的角度介绍机器学习算法分类、一般学习规则及机器学习的基础应用;接着根据项目研发的流程,详细介绍了模型选择和结构设计、目标函数设计、模型训练过程设计、模型效果的评估与验证、计算性能与模型加速;最后通过多个应用案例帮助读者加强对前面知识点的理解。
统计学中的三要素是模型+策略+算法。
对于算法,用原理+示例进行讲解,做到学以致用。
对于模型,用表格对比各模型优缺点+适用场景+具体案例,读者可根据场景找到最适合的模型。
策略的具体呈现是损失函数,用公式+描述+适用问题对各损失函数进行对比介绍,并用案例详细展现具体应用。
前言
写作背景
我多年前参加了“百度深度学习公开课·杭州站”的活动,当时做了一个主题为“深度学习模型设计经验分享”的演讲,现场效果非常好,后来萌发了写机器学习算法的想法。于是我将一些工作内容进行沉淀总结,便形成了本书。
本书内容
本书主要对算法的原理进行了介绍,并融合大量的应用案例,详细介绍使用机器学习模型的一般方法,帮助读者理解算法原理,学会模型设计。
本书首先介绍数据理解、数据的处理与特征,帮助读者认识数据;然后从宏观、系统的角度介绍机器学习算法分类、一般学习规则及机器学习的基础应用;接着根据项目研发的流程,详细介绍了模型选择和结构设计、目标函数设计、模型训练过程设计、模型效果的评估与验证、计算性能与模型加速;最后通过多个应用案例帮助读者加强对前面知识点的理解。
读者对象
? 对数据分析、算法及机器学习领域感兴趣的开发者;
? 对人工智能产品、算法方案设计有不同层次需求的技术管理者;
? 软件工程或计算机相关专业的在校学生。
本书特色
本书紧密结合一线开发者的项目应用经验,对当前机器学习的各类算法原理进行了介绍,以方法论的形式连接原理和实践,指导读者设计机器学习模型。
本书结构
本书内容由浅入深,以宏观认识为基础,逐步深入算法体系、算法细节,全书共分为10章,具体内容如下。
第1章从宏观的角度介绍人工智能相关基础知识、机器学习的技术发展史,以及机器学习在计算机视觉、自然语言处理、语音识别等领域的发展历程,有助于读者了解宏观背景。
第2章重点介绍了数据的三个基本维度、统计推论的基本方法,以及数据分析中的一些关键技术点和可视化,帮助读者建立数据理解的思维。
第3章从数据处理与特征的角度重点介绍了数据的处理方法,以及数据的特征缩放和特征编码、图像的特征分析等,并对数据降维进行了深入介绍。
第4章重点对机器学习的理论基础进行介绍,并结合了应用辅助增强对机器学习理论基础的认识,包括机器学习的体系框架、一般学习规则等。
第5章重点介绍了模型选择和结构设计,对机器学习、深度学习中的经典模型进行了介绍,并详细介绍了模型的设计方向、设计技巧等。
第6章重点介绍了目标函数中的设计,包括各应用场景中常见的损失函数,以及设计的原则,并详细介绍了梯度下降法和牛顿法的目标求解过程。
第7章重点介绍了模型训练过程中的设计,包括数据选择、参数初始化、模型拟合状态、学习速率设定等,并结合迁移学习和分布式训练对模型训练的过程进行了介绍。
第8章从模型效果的角度分别对分类算法、聚类算法、回归算法等常见的效果评估指标进行了介绍,并通过交叉验证对模型效果进行评估,还从计算和数据的角度介绍了模型的稳定性。
第9章从算法应用落地的角度,重点介绍了计算性能和模型加速,包括计算平台的性能指标、模型的计算性能指标,以及模型的压缩与裁剪。
第10章通过数据准备、模型设计等关键环节,重点介绍了二元一次方程的数据拟合案例、鸢尾花的数据分类及聚类案例、形体识别的综合性案例。
由于时间仓促及水平有限,书中难免存在不足之处,恳请广大读者批评指正,可以通过邮箱(fanpingliu@live.com)联系我,谢谢!


致谢
感谢身边志同道合的同学、朋友、同事和曾经对我严厉要求的老师们,每次向他们请教学习、探讨交流,都能让我从不同角度看到新的观点。
衷心感谢我的家人,感谢他们在过去的时间里对我的理解和支持,为我营造了一个良好的写作环境,并鼓励我坚持认真写作,使得本书能够顺利编写完成。
在本书编写过程中得到了很多朋友的支持和帮助,限于篇幅,虽然不能一一对他们表示感谢,但是对他们同样心怀感激。
最后,感谢这个时代,给予每一个有理想的人赋予实现人生价值的机会!望不负自己,不负韶华!

刘凡平

目录

第1章 引言 1
1.1 人工智能概述 2
1.1.1 人工智能的分类 2
1.1.2 人工智能的应用 3
1.2 人工智能与传统机器学习 5
1.2.1 人工神经网络与生物神经网络 5
1.2.2 落地的关键因素 6
1.3 机器学习算法领域发展综述 8
1.3.1 计算机视觉 9
1.3.2 自然语言处理 10
1.3.3 语音识别 11
1.4 小结 13
参考文献 13

第2章 数据理解 16
2.1 数据的三个基本维度 17
2.1.1 集中趋势 17
2.1.2 离散趋势 19
2.1.3 分布形态 20
2.2 数据的统计推论的基本方法 22
2.2.1 数据抽样 22
2.2.2 参数估计 24
2.2.3 假设检验 26
2.3 数据分析 31
2.3.1 基本理念 31
2.3.2 体系结构 32
2.3.3 传统数据分析方法与示例 33
2.3.4 基于数据挖掘的数据分析方法与示例 35
2.3.5 工作流程 38
2.3.6 数据分析技巧 40
2.3.7 数据可视化 43
2.4 小结 45
参考文献 45

第3章 数据处理与特征 47
3.1 数据的基本处理 48
3.1.1 数据预处理 48
3.1.2 数据清洗中的异常值判定和处理 49
3.1.3 数据清洗中的缺失值填充 51
3.2 数据的特征缩放和特征编码 54
3.2.1 特征缩放 54
3.2.2 特征编码 57
3.3 数据降维 58
3.3.1 基本思想与方法 58
3.3.2 变量选择 59
3.3.3 特征提取 61
3.4 图像的特征分析 68
3.4.1 图像预处理 68
3.4.2 传统图像特征提取 74
3.4.3 指纹识别 77
3.5 小结 78
参考文献 79

第4章 机器学习基础 81
4.1 统计学习 82
4.1.1 统计学习概述 82
4.1.2 一般研发流程 83
4.2 机器学习算法分类 85
4.2.1 体系框架 85
4.2.2 模型的形式 88
4.3 机器学习的学习规则 90
4.3.1 误差修正学习 90
4.3.2 赫布学习规则 91
4.3.3 最小均方规则 92
4.3.4 竞争学习规则 93
4.3.5 其他学习规则 94
4.4 机器学习的基础应用 95
4.4.1 基于最小二乘法的回归分析 95
4.4.2 基于K-Means的聚类分析 98
4.4.3 基于朴素贝叶斯的分类分析 101
4.5 小结 103
参考文献 103

第5章 模型选择和结构设计 105
5.1 传统机器学习模型选择 106
5.1.1 基本原则 106
5.1.2 经典模型 107
5.2 经典回归模型的理解和选择 108
5.2.1 逻辑回归 108
5.2.2 多项式回归 109
5.2.3 各类回归模型的简单对比 112
5.3 经典分类模型的理解和选择 113
5.3.1 K近邻算法 113
5.3.2 支持向量机 114
5.3.3 多层感知器 115
5.3.4 AdaBoost算法 117
5.3.5 各类分类算法的简单对比 118
5.4 经典聚类模型的理解和选择 120
5.4.1 基于划分的聚类 120
5.4.2 基于层次的聚类 122
5.4.3 基于密度的聚类 126
5.4.4 基于网格的聚类 131
5.4.5 聚类算法的简单对比 131
5.5 深度学习模型选择 132
5.5.1 分类问题模型 132
5.5.2 聚类问题模型 138
5.5.3 回归预测模型 139
5.5.4 各类深度学习模型的简单对比 140
5.6 深度学习模型结构的设计方向 141
5.6.1 基于深度的设计 141
5.6.2 基于升维或降维的设计 144
5.6.3 基于宽度和多尺度的设计 145
5.7 模型结构设计中的简单技巧 146
5.7.1 激活函数的选择 146
5.7.2 隐藏神经元的估算 147
5.7.3 卷积核串联使用 148
5.7.4 利用Dropout提升性能 149
5.8 小结 150
参考文献 151

第6章 目标函数设计 154
6.1 损失函数 155
6.1.1 一般简单损失函数 155
6.1.2 图像分类场景经典损失函数 156
6.1.3 目标检测中的经典损失函数 158
6.1.4 图像分割中的经典损失函数 159
6.1.5 对比场景中的经典损失函数 161
6.2 风险最小化和设计原则 165
6.2.1 期望风险、经验风险和结构风险 165
6.2.2 目标函数的设计原则 166
6.3 基于梯度下降法的目标函数优化 167
6.3.1 理论基础 167
6.3.2 常见的梯度下降法 169
6.3.3 改进方法 169
6.4 基于牛顿法的目标求解 173
6.4.1 基本原理 173
6.4.2 牛顿法的计算步骤 174
6.5 小结 175
参考文献 176

第7章 模型训练过程设计 178
7.1 数据选择 179
7.1.1 数据集筛选 179
7.1.2 难例挖掘 180
7.1.3 数据增强 181
7.2 参数初始化 183
7.2.1 避免全零初始化 183
7.2.2 随机初始化 184
7.3 拟合的验证与判断 185
7.3.1 过拟合的模型参数 185
7.3.2 不同算法场景中的欠拟合和过拟合 187
7.4 学习速率的选择 188
7.4.1 学习速率的一般观测方法 188
7.4.2 学习速率与批处理大小的关系 189
7.5 迁移学习 189
7.5.1 概念与基本方法 189
7.5.2 应用示例:基于VGG-16的迁移思路 190
7.6 分布式训练 191
7.6.1 数据并行 191
7.6.2 模型并行 193
7.7 小结 194
参考文献 194

第8章 模型效果的评估与验证 196
8.1 模型效果评估的一般性指标 197
8.1.1 分类算法的效果评估 197
8.1.2 聚类算法的效果评估 201
8.1.3 回归算法的效果评估 205
8.1.4 不同应用场景下的效果评估 206
8.2 交叉验证 208
8.2.1 基本思想 208
8.2.2 不同的交叉验证方法 209
8.3 模型的稳定性分析 210
8.3.1 计算的稳定性 210
8.3.2 数据的稳定性 211
8.3.3 模型性能 212
8.4 小结 213
参考文献 213

第9章 计算性能与模型加速 215
9.1 计算优化 216
9.1.1 问题与挑战 216
9.1.2 设备与推断计算 216
9.2 性能指标 217
9.2.1 计算平台的重要指标:算力和带宽 217
9.2.2 模型的两个重要指标:计算量和访存量 218
9.3 模型压缩与裁剪 219
9.3.1 问题背景 219
9.3.2 基本思路和方法 220
9.4 小结 221
参考文献 221

第10章 应用案例专题 223
10.1 求解二元一次方程 224
10.1.1 问题分析 224
10.1.2 模型设计 225
10.2 鸢尾花的案例分析 226
10.2.1 数据说明 226
10.2.2 数据理解和可视化 227
10.2.3 数据特征的降维 230
10.2.4 数据分类 231
10.2.5 数据聚类 235
10.3 形体识别 237
10.3.1 问题定义 237
10.3.2 应用形式 239
10.3.3 数据准备与处理 241
10.3.4 技术方案与模型设计 243
10.3.5 改进思考 245
10.4 小结 246
参考文献 246


读者评论

电子书版本

  • Epub