基于keras平台CNN神经网络模型的服装识别分析

简介: 基于keras平台CNN神经网络模型的服装识别分析

在许多介绍图像识别任务的介绍中,通常使用着名的MNIST数据集。但是,这些数据存在一些问题:

1.太简单了。例如,一个简单的MLP模型可以达到99%的准确度,而一个2层CNN可以达到99%的准确度。

2.它被过度使用。从字面上看,每台机器学习入门文章或图像识别任务都将使用此数据集作为基准。但是,因为获得近乎完美的分类结果非常容易,所以它的实用性会受到打折,并且对于现代机器学习/ AI任务并不真正有用。

因此,出现Fashion-MNIST数据集。该数据集是作为MNIST数据的直接替代而开发的,其意义在于:

1.尺寸和风格相同:28x28灰度图像

2.每个图像与10个类中的1个相关联,即:

      0:T恤/上衣,

      1:裤子,

      2:套头衫,

      3:连衣裙,

      4 :外套,

      5:凉鞋,

      6:衬衫,

      7:运动鞋,

      8:背包,

      9:脚靴

3. 60000训练样本和10000个测试样本以下是一些样本的快照:

自从它出现以来,已经有多份提交文件来对这些数据进行基准测试,其中一些能够达到95%以上的准确度 。

我也试图用keras来对这个数据进行基准测试。keras是构建深度学习模型的高级框架,在后端选择TensorFlow,Theano和CNTK。它很容易安装和使用。对于我的应用程序,我使用了CNTK后端。

在这里,我将以两个模型为基准。一种是层结构为256-512-100-10的MLP,另一种是类VGG的CNN。

第一个模型在100个历元后的测试数据上达到了[0.89,0.90]的精度,而后者达到了45个时期后的测试数据的精度> 0.94。

 

我们先用tSNE来看它。

 

我使用了1000个样本来快速运行。如果您的PC速度足够快并且有时间,则可以针对完整数据集运行tSNE。

 

我们看到,包括质量大小,底部分裂和对称性等几个特征将类别分开。

为了建立自己的网络,我们首先导入一些库

该模型在大约100个时期的测试数据集上达到了近90%的准确度。现在,我们来构建一个类似VGG的CNN模型。我们使用类似于VGG的体系结构,但仍然非常不同。由于图形数据很小,如果我们使用原始VGG体系结构,它很可能会过度配合,并且在测试数据时表现不佳,这些数据在上面列出的公开提交的基准测试中观察到。在keras中构建这样一个模型是非常自然和容易的:

 

这个模型有150万个参数。我们可以调用'fit'方法来训练模型:


model3_fit=model3.fit(X_train, Y_train2, validation_data = (X_test, Y_test2), epochs=50, verbose=1, batch_size=500)

经过40次以后,这个模型在测试数据上获得了0.94的精度。显然,这个模型也存在过度拟合问题。我们稍后会解决这个问题。

相关文章
|
4月前
|
数据采集 监控 网络安全
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
420 3
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
|
4月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
4月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
5月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
373 2
|
5月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
132 8
|
6月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
374 0
|
5月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
860 0
|
5月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
382 0
|
6月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
311 0
|
7月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
412 7

热门文章

最新文章