基于CNN的FashionMNIST分类

 

1 实验设置及结果分析

1.1 数据集介绍

  1. FashionMNIST(时尚 MNIST)是一个用于图像分类的数据集,旨在替代传统的手写数字MNIST数据集。它由Zalando Research创建,适用于深度学习和计算机视觉的实验。
  2. FashionMNIST 包含10个类别,分别对应不同的时尚物品。这些类别包括 T恤/上衣、裤子、套头衫、裙子、外套、凉鞋、衬衫、运动鞋、包和踝靴。
  3. 每个类别有 6,000 张训练图像和 1,000 张测试图像,总计70,000张图像。
  4. 每张图像的尺寸为 28x28 像素,与MNIST数据集相同。
  5. 数据集中的每个图像都是灰度图像,像素值在0到255之间。

645dca1cad8645debb9ba42a3a071d77.jpeg

1.2 数据预处理

数据预处理包括将图像转换为张量,同时进行归一化处理以将像素值缩放到0和1之间,目的是加快模型的收敛速度并减少梯度消失或爆炸的可能性。

2 CNN网络框架

2.3 模型搭建

卷积层:模型包含两个卷积层。

    • 第一个卷积层有16个过滤器(或称为卷积核),每个大小为3x3,步长为1,并使用padding。这一层的目的是捕获图像中的基本特征,如边缘和纹理。
    • 第二个卷积层有32个过滤器,大小同样为3x3,步长为1,不使用padding。这一层进一步提取更复杂的特征。

激活函数:每个卷积层后都应用了ReLU(Rectified Linear Unit)激活函数。ReLU有助于增加网络的非线性特性,不会影响卷积层捕获的特征的位置信息。

池化层:每个卷积层后面接一个池化层。

    • 第一个卷积层后是平均池化层(Average Pooling),池化窗口为2x2,步长为2。这有助于减少特征图的尺寸,降低后续计算的复杂度。
    • 第二个卷积层后是最大池化层(Max Pooling),同样是2x2窗口,步长为2。最大池化有助于提取最显著的特征。

全连接层:网络的最后包括三个全连接层。

    • 第一个全连接层将池化后的特征图展平,并连接到256个神经元。
    • 第二个全连接层将256个特征连接到128个神经元。
    • 第三个全连接层是输出层,将128个特征映射到10个类别,对应FashionMNIST数据集中的10种服装类别。

2a56f7fc033748088f8aa107f6cb697a.jpeg

超参数设置

输入大小

28x28

Epoch(迭代次数)

100

学习率

0.0003

优化器

Adam

损失函数

交叉熵损失(Cross-Entropy Loss)

2.4 模型训练及测试

训练过程中采用80%的数据进行训练,剩余20%作为验证数据集,以监控模型的泛化能力。训练每个epoch后,计算和记录训练损失、准确率以及验证损失和准确率。模型在测试集上的准确率达到约91%。

2.5 精度曲线和损失曲线

24135b7e10fc4f59b249840dd22fe94d.png

  • 损失:训练损失从初始的较高值逐渐下降到一个较低稳定值,验证损失的下降趋势与训练损失相似,表明模型在训练过程中逐渐学到了数据的特征。
  • 准确率:随着训练的进行,训练准确率稳步提升,验证准确率也有所提升,但波动幅度较大,说明模型在训练集上拟合良好,但在验证集上可能遇到了过拟合问题。

2.5 混淆矩阵

81799503fbb04a41a3380c840280d55e.png

通过混淆矩阵的分析,发现模型在某些类别(如T恤和衬衫)上有较高的准确性,而在其他一些容易混淆的类别(如裙子和外套)上则准确度较低。

3 总结与展望

本次实验中,CNN对FashionMNIST数据集的分类准确率达到91%,显示了CNN在图像特征提取方面的有效性。CNN通过各种滤镜识别图像的基本特征,如边缘、曲线和颜色等。未来可以通过引入图像增强技术和进一步调整模型参数来提高分类准确度。

 

 

  • 39
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangzaojun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值