神经网络学习:从MNIST数据集到街灯问题
1. MNIST数据集与神经网络
1.1 MNIST数据集介绍
MNIST数据集具有重要的历史意义,它由多年前美国高中生和人口普查局员工手写的数字组成。这些手写数字是黑白图像,每个数字图像都对应着实际书写的数字(0 - 9)。该数据集被广泛用于训练神经网络以识别手写数字。
每个图像仅为784像素(28 × 28),这意味着每个训练示例包含784个值(每个像素一个值),因此神经网络需要有784个输入值。同时,我们希望预测10个概率,分别对应每个数字。
1.2 神经网络配置
为了让神经网络输出10个概率,我们需要调整之前能处理多输入多输出的神经网络,使其具有784个输入和10个输出。
在MNISTPreprocessor笔记本中有一个脚本,用于预处理MNIST数据集,并将前1000个图像和标签加载到两个NumPy矩阵 images 和 labels 中。对于二维的图像,我们需要将其展平为1 × 784的向量,即将每一行像素依次连接起来。
1.3 MNIST分类神经网络
新的MNIST分类神经网络与之前训练的多输入多输出网络类似,只是输入和输出的数量大幅增加。该网络有784个输入(对应28 × 28图像的每个像素)和10个输出(对应图像中可能的每个数字)。
如果网络能完美预测,对于输入的图像像素(例如数字2),它将在正确的输出位置(第三个)预测为1.0,其他位置为0。在训练过程中,网络会调整输入和预测节点之间的权重,使训练误差趋近于0。
超级会员免费看
订阅专栏 解锁全文
527

被折叠的 条评论
为什么被折叠?



