内容简介
第一部分 基本概念与数学知识
第1章 机器学习简介
1.1机器学习是什么
1.1.1一个简单的例子
1.1.2为什么需要机器学习
1.2典型应用
1.2.1语音识别
1.2.2人脸检测
1.2.3人机对弈
1.2.4机器翻译
1.2.5自动驾驶
1.3发展历程
1.3.1历史成就
1.3.2当前进展
1.4关于本书
参考文献
第2章 数学知识
2.1微积分和线性代数
2.1.1导数
2.1.2向量与矩阵
2.1.3偏导数与梯度
2.1.4雅克比矩阵
2.1.5 Hessian矩阵
2.1.6泰勒展开
2.1.7行列式
2.1.8特征值与特征向量
2.1.9奇异值分解
2.1.10二次型
2.1.11向量与矩阵求导
2.2最优化方法
2.2.1梯度下降法
2.2.2牛顿法
2.2.3坐标下降法
2.2.4拉格朗日乘数法
2.2.5凸优化
2.2.6拉格朗日对偶
2.2.7 KKT条件
2.2.8拟牛顿法
2.2.9面临的问题
2.3概率论
2.3.1随机事件与概率
2.3.2条件概率
2.3.3随机变量
2.3.4数学期望与方差
2.3.5随机向量
2.3.6最大似然估计
参考文献
第3章 基本概念
3.1算法分类
3.1.1监督信号
3.1.2分类问题与回归问题
3.1.3判别模型与生成模型
3.1.4强化学习
3.2模型评价指标
3.2.1精度与召回率
3.2.2 ROC曲线
3.2.3混淆矩阵
3.2.4交叉验证
3.3模型选择
3.3.1过拟合与欠拟合
3.3.2偏差与方差分解
3.3.3正则化
参考文献
第二部分 主要的机器学习算法与理论
第4章 贝叶斯分类器
4.1贝叶斯决策
4.2朴素贝叶斯分类器
4.2.1离散型特征
4.2.2连续型特征
4.3正态贝叶斯分类器
4.3.1训练算法
4.3.2预测算法
4.4实验程序
4.5源代码分析
4.5.1主要数据结构
4.5.2训练函数
4.5.3预测函数
4.6应用
参考文献
第5章 决策树
5.1树形决策过程
5.2分类与回归树
5.3训练算法
5.3.1递归分裂过程
5.3.2寻找最佳分裂
5.3.3叶子节点值的设定
5.3.4属性缺失问题
5.3.5剪枝算法
5.4实验程序
5.5源代码分析
5.5.1主要数据结构
5.5.2递归分裂
5.5.3寻找最佳分裂
5.5.4寻找替代分裂
5.5.5变量的重要性
5.5.6预测算法
5.6应用
参考文献
第6章 k近邻算法
6.1基本概念
6.2预测算法
6.3距离定义
6.3.1常用距离定义
6.3.2距离度量学习
6.4实验程序
6.5应用
参考文献
第7章 数据降维
7.1主成分分析
7.1.1数据降维问题
7.1.2计算投影矩阵
7.1.3向量降维
7.1.4向量重构
7.2源代码分析
7.2.1主要数据结构
7.2.2计算投影矩阵
7.2.3向量降维
7.2.4向量重构
7.3流形学习
7.3.1局部线性嵌入
7.3.2拉普拉斯特征映射
7.3.3局部保持投影
7.3.4等距映射
7.4应用
参考文献
第8章 线性判别分析
8.1用投影进行分类
8.2投影矩阵
8.2.1一维的情况
8.2.2推广到高维
8.3实验程序
8.4源代码分析
8.4.1主要数据结构
8.4.2计算投影矩阵
8.4.3向量投影
8.4.4向量重构
8.5应用
参考文献
第9章 人工神经网络
9.1多层前馈型神经网络
9.1.1神经元
9.1.2网络结构
9.1.3正向传播算法
9.2反向传播算法
9.2.1一个简单的例子
9.2.2完整的算法
9.3实验程序
9.4理论解释
9.4.1数学性质
9.4.2与神经系统的关系
9.5面临的问题
9.5.1梯度消失
9.5.2退化
9.5.3局部极小值
9.5.4鞍点
9.6实现细节问题
9.6.1输入值与输出值
9.6.2网络规模
9.6.3激活函数
9.6.4损失函数
9.6.5权重初始化
9.6.6正则化
9.6.7学习率的设定
9.6.8动量项
9.7源代码分析
9.7.1主要数据结构
9.7.2激活函数
9.7.3权重初始化
9.7.4训练函数
9.7.5预测函数
9.8应用
参考文献
第10章 支持向量机
10.1线性分类器
10.1.1线性分类器概述
10.1.2分类间隔
10.2线性可分的问题
10.2.1原问题
10.2.2对偶问题
10.3线性不可分的问题
10.3.1原问题
10.3.2对偶问题
10.4核映射与核函数
10.5 SMO算法
10.5.1求解子问题
10.5.2优化变量的选择
10.6多分类问题
10.7实验程序
10.8源代码分析
10.8.1求解算法
10.8.2主要数据结构
10.8.3求解器
10.9应用
参考文献
第11章 线性模型
11.1 logistic回归
11.2正则化logistic回归
11.2.1对数似然函数
11.2.2 L2正则化原问题
11.2.3 L2正则化对偶问题
11.2.4 L1正则化原问题
11.2.5实验程序
11.3线性支持向量机
11.3.1 L2正则化L1-loss SVC原问题
11.3.2 L2正则化L2-loss SVC原问题
11.3.3 L2正则化SVC对偶问题
11.3.4 L1正则化L2-loss SVC原问题
11.3.5多类线性支持向量机
11.3.6实验程序
11.4源代码分析
11.4.1求解的问题
11.4.2主要数据结构
11.4.3求解器
11.5 softmax回归
11.6应用
参考文献
第12章 随机森林
12.1集成学习
12.1.1随机抽样
12.1.2 Bagging算法
12.2随机森林概述
12.3训练算法
12.4变量的重要性
12.5实验程序
12.6源代码分析
12.6.1主要数据结构
12.6.2训练算法
12.6.3预测算法
12.7应用
参考文献
第13章 Boosting算法
13.1 AdaBoost算法简介
13.2训练算法
13.3训练误差分析
13.4广义加法模型
13.5各种AdaBoost算法
13.5.1离散型AdaBoost
13.5.2实数型 AdaBoost
13.5.3 LogitBoost
13.5.4 Gentle型AdaBoost
13.6实现细节问题
13.6.1弱分类器的选择
13.6.2弱分类器的数量
13.6.3样本权重削减
13.7实验程序
13.8源代码分析
13.8.1主要数据结构
13.8.2弱分类器
13.8.3强分类器
13.9应用——目标检测
13.9.1 VJ框架的原理
13.9.2模型训练
参考文献
第14章 深度学习概论
14.1机器学习面临的挑战
14.1.1人工特征
14.1.2机器学习算法
14.2深度学习技术
14.3进展与典型应用
14.3.1计算机视觉
14.3.2语音识别
14.3.3自然语言处理
14.3.4计算机图形学
14.3.5推荐系统
14.3.6深度强化学习
14.4自动编码器
14.4.1自动编码器简介
14.4.2去噪自动编码器
14.4.3稀疏自动编码器
14.4.4收缩自动编码器
14.4.5多层编码器
14.5受限玻尔兹曼机
14.5.1玻尔兹曼分布
14.5.2受限玻尔兹曼机
14.5.3训练算法
14.5.4深度玻尔兹曼机
14.5.5深度置信网
参考文献
第15章 卷积神经网络
15.1网络结构
15.1.1卷积层
15.1.2池化层
15.1.3全连接层
15.2训练算法
15.2.1卷积层
15.2.2池化层
15.2.3随机梯度下降法
15.2.4迁移学习
15.3典型网络
15.3.1 LeNet-5网络
15.3.2 AlexNet网络
15.3.3 VGG网络
15.3.4 GoogLeNet网络
15.4理论分析
15.4.1反卷积运算
15.4.2卷积层可视化
15.4.3理论解释
15.5挑战与改进措施
15.5.1卷积层
15.5.2池化层
15.5.3激活函数
15.5.4损失函数
15.5.5网络结构
15.5.6批量归一化
15.6实际例子
15.6.1 LeNet-5网络
15.6.2训练自己的模型
15.7源代码分析
15.7.1 Caffe简介
15.7.2数据层
15.7.3卷积层
15.7.4池化层
15.7.5神经元层
15.7.6内积层
15.7.7损失层
15.7.8网络的实现——Net类
15.7.9求解器
15.8应用——计算机视觉
15.8.1人脸检测
15.8.2通用目标检测
15.8.3人脸关键点定位
15.8.4人脸识别
15.8.5图像分割
15.8.6边缘检测
15.8.7风格迁移
15.8.8图像增强
15.8.9三维视觉
15.8.10目标跟踪
15.9应用——计算机图形学
15.9.1几何模型
15.9.2物理模型
15.9.3纹理合成
15.9.4图像彩色化
15.9.5 HDR
15.10应用——自然语言处理
15.10.1文本分类
15.10.2机器翻译
参考文献
第16章 循环神经网络
16.1网络结构
16.1.1循环层
16.1.2输出层
16.1.3一个简单的例子
16.1.4深层网络
16.2网络的训练
16.2.1一个简单的例子
16.2.2完整的算法
16.3挑战与改进措施
16.3.1梯度消失
16.3.2长短期记忆模型
16.3.3门控循环单元
16.3.4双向网络
16.4序列预测问题
16.4.1序列标注问题
16.4.2连接主义时序分类
16.4.3序列到序列学习
16.5应用——语音识别
16.5.1语音识别问题
16.5.2隐马尔可夫模型
16.5.3高斯混合模型
16.5.4 GMM-HMM框架
16.5.5深度模型
16.6应用——自然语言处理
16.6.1中文分词
16.6.2词性标注
16.6.3命名实体识别
16.6.4文本分类
16.6.5自动摘要
16.6.6机器翻译
16.7应用——机器视觉
16.7.1字符识别
16.7.2目标跟踪
16.7.3视频分析
参考文献
第17章 生成对抗网络
17.1随机数据生成
17.2生成对抗网络简介
17.2.1生成模型
17.2.2判别模型
17.3模型的训练
17.3.1目标函数
17.3.2训练算法
17.3.3理论分析
17.4应用与改进
17.4.1改进方案
17.4.2典型应用
参考文献
第18章 聚类算法
18.1问题定义
18.2层次聚类
18.3基于质心的算法
18.4基于概率分布的算法
18.5基于密度的算法
18.5.1 DBSCAN算法
18.5.2 OPTICS算法
18.5.3 Mean Shift算法
18.6基于图的算法
18.7算法评价指标
18.7.1内部指标
18.7.2外部指标
18.8应用
参考文献
第19章 半监督学习
19.1问题假设
19.1.1连续性假设
19.1.2聚类假设
19.1.3流形假设
19.1.4低密度分割假设
19.2启发式算法
19.2.1自训练
19.2.2协同训练
19.3生成模型
19.4低密度分割
19.5基于图的算法
19.6半监督深度学习
参考文献
第20章 强化学习
20.1强化学习简介
20.1.1问题定义
20.1.2马尔可夫决策过程
20.2基于动态规划的算法
20.2.1策略迭代算法
20.2.2价值迭代算法
20.3蒙特卡洛算法
20.3.1算法简介
20.3.2状态价值函数估计
20.3.3动作价值函数估计
20.3.4蒙特卡洛控制
20.4时序差分学习
20.4.1 Sarsa算法
20.4.2Q学习
20.5深度强化学习
20.5.1深度Q网络
20.5.2策略梯度算法
20.6应用
参考文献
第三部分 工程实践问题
第21章 工程实践问题概述
21.1实现细节问题
21.1.1训练样本
21.1.2特征预处理
21.1.3模型选择
21.1.4过拟合问题
21.2安全性问题
21.2.1对抗样本
21.2.2形成原因分析
21.3实现成本问题
21.3.1训练样本量
21.3.2计算与存储成本
21.4深度模型优化
21.4.1剪枝与编码
21.4.2二值化网络
21.4.3卷积核分离
参考文献
附录A 各种机器学习算法的总结
附录B 梯度下降法的演化关系(见第15章)
附录C EM算法的推导(见第18章)