什么是MNIST数据集?
- 包含70,000张手写数字图像(0-9)
- 每张图像尺寸为28×28像素
- 60,000张用于训练,10,000张用于测试
- 标准化的灰度图像,常用于机器学习/深度学习入门
案例目标
- 通过手写数字识别任务理解深度学习流程
- 掌握数据预处理、模型构建与训练技巧
- 验证模型的准确率与可视化结果
操作步骤
数据加载
from tensorflow.keras.datasets import mnist (x_train, y_train), (x_test, y_test) = mnist.load_data()
- 数据已自动分割为训练集和测试集
- 归一化处理:
x_train = x_train / 255.0
模型构建
- 示例:使用全连接网络
model = Sequential([ Flatten(input_shape=(28, 28)), Dense(128, activation='relu'), Dense(10, activation='softmax') ])
- 或使用卷积网络提升性能
训练与评估
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test)
- 最终准确率通常可达到98%以上
扩展学习
想了解更多深度学习实践?可以查看深度学习入门指南获取完整代码示例与进阶技巧