随着互联网技术的飞速发展,全球逐渐步入了大数据时代,智能化的趋势越来越明显,各行各业几乎都喊出了智能化的口号,机器学习作为人工智能的一个重要研究方向,在一定程度上成为了IT人才的必要技能。本书以一个自研机器学习算法框架的构建为主线,首先介绍了机器学习的相关概念和背景,然后按照代数矩阵运算层、最优化方法层、算法模型层和业务功能层的分层顺序对算法框架展开讲述,旨在通过理论和实践相结合的方式,帮助广大零算法基础的开发人员了解和掌握一定的算法能力,同时作为算法设计人员在工程实现上的参考范例。
本书实用性强,既面向零算法基础的开发人员,也面向具备一定算法能力,并且在工程实现上希望有所借鉴或参考学习的算法设计人员及机器学习算法爱好者。
封面图
目录
- 前言
- 第1篇 绪论
- 第1章 背景2
- 1.1 机器学习的概念2
- 1.2 机器学习所解决的问题3
- 1.2.1 有监督学习问题3
- 1.2.2 无监督学习4
- 1.3 如何选择机器学习算法5
- 1.4 习题5
- 第2章 机器学习算法框架概要7
- 2.1 算法框架的分层模型7
- 2.2 分层模型中各层级的职责8
- 2.3 开始搭建框架的准备工作8
- 2.3.1 使用Java开发的准备工作8
- 2.3.2 使用Python开发的准备工作13
- 第2篇 代数矩阵运算层
- 第3章 矩阵运算库20
- 3.1 矩阵运算库概述20
- 3.2 矩阵基本运算的实现20
- 3.2.1 矩阵的数据结构20
- 3.2.2 矩阵的加法和减法22
- 3.2.3 矩阵的乘法和点乘24
- 3.2.4 矩阵的转置26
- 3.3 矩阵的其他操作27
- 3.2.1 生成单位矩阵27
- 3.3.2 矩阵的复制28
- 3.3.3 矩阵的合并29
- 3.4 习题32
- 第4章 矩阵相关函数的实现33
- 4.1 常用函数33
- 4.1.1 协方差函数33
- 4.1.2 均值函数34
- 4.1.3 归一化函数36
- 4.1.4 最大值函数38
- 4.1.5 最小值函数40
- 4.2 行列式函数41
- 4.3 矩阵求逆函数43
- 4.4 矩阵特征值和特征向量函数44
- 4.5 矩阵正交化函数45
- 4.5.1 向量单位化45
- 4.5.2 矩阵正交化47
- 4.6 习题49
- 第3篇 最优化方法层
- 第5章 最速下降优化器52
- 5.1 最速下降优化方法概述52
- 5.1.1 模型参数优化的目标52
- 5.1.2 最速下降优化方法53
- 5.2 最速下降优化器的实现54
- 5.2.1 参数优化器的接口设计54
- 5.2.2 最速下降优化器的具体实现57
- 5.3 一个目标函数的优化例子62
- 5.3.1 单元测试示例:偏导数的计算62
- 5.3.2 单元测试示例:目标函数的参数优化64
- 5.4 习题66
- 第6章 遗传算法优化器67
- 6.1 遗传算法概述67
- 6.1.1 遗传算法的目标67
- 6.1.2 遗传算法的基本过程68
- 6.2 遗传算法优化器的实现71
- 6.2.1 遗传算法优化器主体流程的实现71
- 6.2.2 遗传算法优化器各算子的实现74
- 6.3 一个目标函数的优化例子82
- 6.4 习题85
- 第4篇 算法模型层
- 第7章 分类和回归模型88
- 7.1 分类和回归模型概述88
- 7.2 基础回归模型89
- 7.2.1 线性回归模型89
- 7.2.2 对数回归模型92
- 7.2.3 指数回归模型94
- 7.2.4 幂函数回归模型97
- 7.2.5 多项式回归模型100
- 7.3 分类回归分析的例子102
- 7.3.1 示例:验证对数回归模型102
- 7.3.2 示例:对比不同模型104
- 7.4 习题108
- 第8章 多层神经网络模型109
- 8.1 多层神经网络模型概述109
- 8.1.1 网络模型的表达形式109
- 8.1.2 前馈运算111
- 8.1.3 反向传播112
- 8.2 多层神经网络模型的实现115
- 8.3 多层神经网络模型示例122
- 8.4 习题125
- 第9章 聚类模型126
- 9.1 K-means模型126
- 9.1.1 K-means聚类模型概述126
- 9.1.2 K-means模型的实现128
- 9.1.3 示例:一个聚类的例子131
- 9.2 GMM134
- 9.2.1 从一维高斯函数到多维高斯函数134
- 9.2.2 GMM概述136
- 9.2.3 GMM的实现139
- 9.2.4 示例:对比K-means模型144
- 9.3 习题147
- 第10章 时间序列模型148
- 10.1 指数平滑模型148
- 10.1.1 移动平均模型148
- 10.1.2 一次指数平滑模型149
- 10.1.3 二次指数平滑模型150
- 10.2 Holt-Winters模型150
- 10.2.1 Holt-Winters模型概述150
- 10.2.2 Holt-Winters模型的实现151
- 10.2.3 示例:时间序列的预测156
- 10.3 习题160
- 第11章 降维和特征提取161
- 11.1 降维的目的161
- 11.2 主成分分析模型162
- 11.2.1 主成分分析方法概述162
- 11.2.2 主成分分析模型的实现165
- 11.2.3 示例:降维提取主要特征167
- 11.3 自动编码机模型170
- 11.3.1 非线性的主成分分析170
- 11.3.2 自动编码机原理概述171
- 11.3.3 自动编码机模型的实现172
- 11.3.4 示例:对比主成分分析173
- 11.4 习题176
- 第5篇 业务功能层
- 第12章 时间序列异常检测178
- 12.1 时间序列异常检测的应用场景178
- 12.2 时间序列异常检测的基本原理178
- 12.2.1 基于预测的时间序列异常检测179
- 12.2.2 阈值的估计179
- 12.3 时间序列异常检测功能服务的实现180
- 12.4 应用实例:找出数据中的异常记录182
- 12.5 习题183
- 第13章 离群点检测184
- 13.1 离群点检测的应用场景184
- 13.2 离群点检测的基本原理185
- 13.2.1 基于多维高斯函数检测离群点186
- 13.2.2 数据的有效降维188
- 13.3 离群点检测功能服务的实现188
- 13.4 应用实例:找出数据中的异常记录191
- 13.5 习题193
- 第14章 趋势线拟合194
- 14.1 趋势线拟合的应用场景194
- 14.2 趋势线拟合的基本原理195
- 14.2.1 基于不同基础回归模型的拟合196
- 14.2.2 选取合适的回归模型196
- 14.3 趋势线拟合功能服务的实现196
- 14.4 应用实例:对样本数据进行趋势线拟合201
- 14.5 习题203