Keras深度学习开发实战

链接:https://pan.baidu.com/s/1WDiKgpwn_csDU9WTvJY2Kw?pwd=f3sr 


(资料图片)

提取码:f3sr

本书用丰富的实践和实训带领读者使用Keras来进行深度学习的开发,实用性强,具有很好的应用价值。

内容简介

本书从数据集、数据清理开始谈起,在介绍机器学习的建模方式后,第2章详细说明了机器学习与深度学习所涉及的矩阵、向量等技术。第3章使用Keras搭建深度学习模型,也介绍了激活函数、损失函数、反向传播、过拟合或欠拟合等问题。第4章给出了训练深度学习模型的过程中可能存在的交叉验证问题。当需要提高模型精度时,可以考虑参考第5章中的L1/L2正则化、丢弃正则化、早停等方式。第6章讲解模型评估问题,在太平洋飓风数据集上指出准确率的局限性,从而引出混淆矩阵、ROC曲线、AUC评分等概念。接下来的3章介绍卷积神经网络、迁移学习、循环神经网络等问题,这些内容在工业实际项目中占据核心地位,值得大家多写代码、多实践。

目录

第1章Keras机器学习简介

1.1机器学习简介

1.2数据展示

1.2.1数据表格

1.2.2加载数据

训练1.01从UCI机器学习代码库加载一个数据集

1.3数据处理

训练1.02清理数据

训练1.03数据的正确表示

1.4模型创建的生命周期

1.5scikitlearn简介

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.2kfold交叉验证

4.2.3留一法交叉验证

4.2.4kfold交叉验证和LOO交叉验证的比较

4.3深度学习模型的交叉验证方法

4.3.1带有scikitlearn的Keras包

训练4.01在回归问题中使用scikitlearn构建Keras包装器

4.3.2使用scikitlearn进行交叉验证

4.3.3scikitlearn中的交叉验证迭代器

训练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.6scikitlearn超参数调优

5.6.1使用scikitlearn进行网格搜索

5.6.2使用scikitlearn进行随机搜索

实践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各章实践内容解析

查看全部↓

前言/序言

如果您了解数据科学和机器学习的基础知识,并想开始学习先进的机器学习技术,如人工神经网络和深度学习,那么本书非常适合您。为了更有效地掌握本书中解释的概念,必须具备Python编程经验,以及熟悉统计和逻辑回归等知识。

本书内容

第1章: Keras 机器学习简介。本章通过scikitlearn包介绍基础的机器学习概念。将介绍如何使用数据,然后用一个真实存在的数据集训练一个逻辑回归模型。

第2章: 机器学习与深度学习。本章介绍了传统机器学习算法和深度学习算法的不同。您将学习建立神经网络,并学习用Keras库建立第一个神经网络所需的线性转换。

第3章: Keras深度学习。本章将扩展您对神经网络构建的了解,您将学习如何构建多层神经网络,在训练数据时判断模型是否过拟合或欠拟合。

关键词: