拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

原文链接:?p=23184  原文出处:拓端数据部落公众号

在本文中,我们将学习如何使用keras,用手写数字图像数据集(即MNIST)进行深度学习。本文的目的是为了让大家亲身体验并熟悉培训课程中的神经网络部分。

1 软件包的下载和安装

在这个例子的笔记本中,需要keras R包。由于它有许多需要下载和安装的依赖包,因此需要几分钟的时间才能完成。请耐心等待! 

1.1 下载 keras

我们可以通过CRAN调用install.packages("keras")来获得。

拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

1.2 加载keras包和所需的tensorflow后端

由于keras只是流行的深度学习框架的一个接口,我们必须安装一个特殊的深度学习后端。默认和推荐的后端是TensorFlow。通过调用install_keras(),它将为TensorFlow安装所有需要的依赖项。下面的单元格需要一分钟左右的时间来运行。

拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

  

拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

现在,我们准备好探索深度学习了。

2 MNIST数据集的概述

在深度学习中,比传统的机器学习领域更成功的应用之一是图像识别。我们将在本教程中使用广泛使用的MNIST手写数字图像数据集。关于该数据集的更多信息可以在以下网站找到:https://en.wikipedia.org/wiki/MNIST_database。

2.1 加载MNIST数据集

这个数据集已经包含在keras/tensorflow的安装中,我们可以简单地加载数据集。加载数据集只需要不到一分钟的时间。

dataset_mnist()

拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

2.2 训练和测试数据集

MNIST数据集的数据结构简单明了,有两块。(1) 训练集:x(即特征):60000x28x28张量,对应于60000张28x28像素的图像,采用灰度表示(即每个28x28矩阵中所有的值都是0到255之间的整数),y(即因变量):一个长度为60000的向量,包含相应的数字,整数值在0到9之间。(2) 测试集:与训练集相同,但只有10000个图像和因变量。数据集的详细结构可以通过下面的str(mnist)看到。

str(mnist)

拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

现在我们准备好训练和测试数据集的特征(x)和因变量(y),可以用str()函数检查x_train和y_train的结构。 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfdyy.html