KERAS深度学习开发实战
作者:邹伟,张良谋,刘亚明 译
出版社:清华大学出版社
出版时间:2023-05-01
ISBN:9787302627647
定价:¥79.00
第1章Keras机器学习简介
1.1机器学习简介
1.2数据展示
1.2.1数据表格
1.2.2加载数据
训练1.01从UCI机器学习代码库加载一个数据集
1.3数据处理
训练1.02清理数据
训练1.03数据的正确表示
1.4模型创建的生命周期
1.5scikitlearn简介
1.6Keras简介
1.6.1Keras的优点
1.6.2Keras的缺点
1.6.3Keras在其他方面的应用
1.7模型训练
1.7.1分类器和回归模型
1.7.2分类任务
1.7.3回归任务
1.7.4训练和测试数据集
1.7.5模型评估矩阵
训练1.04创建一个简单的模型
1.8模型微调
1.8.1基线模型
训练1.05设计一个基线模型
1.8.2正则化
1.8.3交叉验证
实践1.01向模型添加正则化
1.9总结
第2章机器学习与深度学习
2.1简介
2.1.1ANN的优势
2.1.2传统机器学习算法的优势
2.1.3分层数据的表示
2.2线性变换
2.2.1标量、向量、矩阵和张量
2.2.2张量相加
训练2.01使用向量、矩阵和张量执行各种操作
2.2.3重塑
2.2.4矩阵转置
训练2.02矩阵重塑和转置
2.2.5矩阵乘法
训练2.03将矩阵相乘
训练2.04将矩阵乘法应用于高阶张量
2.3Keras实现
2.3.1层的类型
2.3.2激活函数
2.3.3模型拟合
实践2.01使用Keras创建逻辑回归模型
2.4总结
第3章Keras深度学习
3.1简介
3.2搭建第一个神经网络
3.2.1从逻辑回归到深度神经网络
3.2.2激活函数
3.2.3用于预测的前向传播
3.2.4损失函数
3.2.5反向传播计算损失函数的导数
3.2.6通过梯度下降法学习参数
训练3.01使用Keras实现神经网络
实践3.01构建单层神经网络进行二进制分类
3.3模型评估
3.3.1用Keras进行模型评估
3.3.2将数据集拆分为训练集和测试集
3.3.3过拟合和欠拟合
3.3.4早停
实践3.02神经网络与高级纤维化诊断
3.4总结
第4章基于Keras包装器的交叉验证评价模型
4.1简介
4.2交叉验证
4.2.1只分割一次数据集的弊端
4.2.2kfold交叉验证
4.2.3留一法交叉验证
4.2.4kfold交叉验证和LOO交叉验证的比较
4.3深度学习模型的交叉验证方法
4.3.1带有scikitlearn的Keras包
训练4.01在回归问题中使用scikitlearn构建Keras包装器
4.3.2使用scikitlearn进行交叉验证
4.3.3scikitlearn中的交叉验证迭代器
训练4.02使用交叉验证评估深度神经网络
实践4.01使用交叉验证对晚期肝纤维化诊断分类器进行模型评估
4.4利用交叉验证选择模型
训练4.03编写自定义函数实现含有交叉验证的深度学习模型
实践4.02用交叉验证为高纤维化诊断分类器选择模型
实践4.03在Traffic Volume数据集上使用交叉验证进行模型选择
4.5总结
第5章模型精度的提高
5.1简介
5.2正则化
5.2.1正则化的需求
5.2.2用正则化减少过拟合
5.3L1和L2正则化
5.3.1L1和L2正则化公式
5.3.2Keras的L1和L2正则化实现
实践5.01Avila模式分类器上的权重正则化
5.4丢弃正则化
5.4.1丢弃正则化原理
5.4.2使用丢弃正则化减少过拟合
训练5.01使用Keras实现丢弃正则化
实践5.02Traffic Volume数据集的丢弃正则化
5.5其他正则化方法
5.5.1在Keras中实现早停
训练5.02用Keras实现早停
5.5.2数据增强
5.5.3添加噪声
5.6scikitlearn超参数调优
5.6.1使用scikitlearn进行网格搜索
5.6.2使用scikitlearn进行随机搜索
实践5.03对Avila模式分类器进行超参数调优
5.7总结
第6章模型评估
6.1简介
6.2准确率
训练6.01计算太平洋飓风数据集的零精度
6.3不平衡数据集
6.4混淆矩阵
训练6.02Scania卡车数据的计算精度和零精度
实践6.01改变训练/测试比例,计算神经网络的准确率和零精度
训练6.03基于混淆矩阵推导和计算指标
实践6.02计算ROC曲线和AUC评分
6.5总结
第7章基于卷积神经网络的计算机视觉
7.1简介
7.2计算机视觉
7.3卷积神经网络
7.4卷积神经网络架构
7.4.1输入图像
7.4.2卷积层
7.4.3池化层
7.4.4扁平化
7.5图像增强
训练7.01创建一个识别图像中汽车和花的卷积神经网络
实践7.01用多个卷积层和softmax层对模型进行修复
训练7.02用sigmoid激活函数对模型进行修复
训练7.03将优化器Adam更改为SGD
训练7.04对一个新图像进行分类
实践7.02对另一个新图像进行分类
7.6总结
第8章迁移学习和预训练模型
8.1简介
8.2预训练与迁移学习
8.3对预训练的网络进行微调
8.3.1ImageNet数据集
8.3.2Keras的一些预训练网络
训练8.01使用VGG16网络识别图像
实践8.01使用VGG16网络训练深度学习网络识别图像
训练8.02对不在ImageNet数据集中的图像进行分类
训练8.03微调VGG16模型
训练8.04使用ResNet进行图像分类
实践8.02使用ResNet进行图像分类
8.4总结
第9章基于循环神经网络的顺序建模
9.1简介
9.2顺序记忆和顺序建模
9.3循环神经网络
9.3.1梯度消失问题
9.3.2梯度爆炸问题的简析
9.4长短期记忆网络
训练9.01使用50个单元(神经元)的LSTM预测Alphabet股价趋势
实践9.01使用50个单元(神经元)的LSTM预测亚马逊股价趋势
训练9.02使用100个单元(神经元)的LSTM预测Alphabet股价趋势
实践9.02通过添加正则化预测亚马逊股价
实践9.03使用100个单元(神经元)的LSTM预测亚马逊股价趋势
9.5总结
附录A各章实践内容解析