实用卷积神经网络:运用Python实现高级深度学习模型
上QQ阅读APP看书,第一时间看更新

1.5.1 训练和测试数据的检索

MNIST数据集已经包含训练和测试数据。其中有60 000条训练数据,10 000条测试数据。如果本地路径'~/.keras/datasets/' + path下没有数据文件,可以下载到此路径下。

每个MNIST数据点有:

·一幅手写数字图像。

·相应的从0到9的标签,有助于识别图像。

图像将被调用,并作为神经网络的输入X,它们对应的标签是y。

我们希望标签是一个one-hot向量。one-hot向量是由多个0和1组成的向量。示例中很容易看到这一点。数字0表示为one-hot向量是[1,0,0,0,0,0,0,0,0,0],数字4表示为one-hot向量是[0,0,0,0,1,0,0,0,0,0]。

数据降维

在本例中,我们将使用降维后的数据,即使用MNIST图像的一维而不是二维表示。因此每个28×28像素的数字图像将被表示为一个784像素的一维数组。

通过数据降维,将会丢弃图像的二维结构信息,然而我们的数据是简化的。在此帮助下,所有的训练数据都可以包含在一个(60000,784)的矩阵中,其中第一个维度表示训练图像的数量,第二个维度表示每个图像的像素量。这类数据使用简单的神经网络就很容易分析,如下: