MNIST 数据集分类之Python

神经网络作业一实验报告 使用了 tensorflow 框架,参考了官方手册和教程进行实现,搭建了一个多层感知机对 MNIST 数据集进行分类,main,py 是入口函数

本文包含相关资料包-----> 点击直达获取<-------

神经网络作业一实验报告

使用了 tensorflow 框架,参考了官方手册和教程进行实现,搭建了一个多层感知机对 MNIST 数据集进行分类。main.py 是入口函数,负责读取 MNIST 数据、调用各项学习方法、并绘制最后的性能图。MLP 相关代码位于 baseline.py,实现了一个单隐层的多层感知机,采用 sigmoid 激活函数,训练轮数为 50 轮。

其余文件均为 baseline 的变体,修改了对应的需要对比的点。

一、如何运行

运行 main.py 即可。

方法 50 轮后的测试集准确率 训练集准确率
baseline 0.8944 0.8935
全 0 初始化 0.1138 0.1162
均方误差 0.8320 0.8413
adam 自适应学习率 0.9564 0.9502
L2 正则化方法 0.8861 0.8937

各项方法对比 不同的参数初始化方法

这里选择了全 0 初始化来与 baseline 方法的随机初始化对比。

不同的损失函数

这里选择了均方误差来与 baseline 方法的交叉熵损失对比。

不同的学习率调整方法

这里选择了 adam 自适应学习率方法来与 baseline 方法的固定学习率对比。

不同的正则化方法

这里选择了 L2 正则化方法(正则化项权重设为 0.001)来与 baseline 方法的无正则化对比。

对比结果

全 0 初始化让 MLP 无法训练,故准确率一直保持在 11% 左右;均方误差性能不如交叉熵,因为是多分类而不是回归问题,使用交叉熵损失函数会更合适一些;采用自适应学习率比固定学习率更灵活高效,故收敛也更快,且性能更好,可以找到全局最优;使用 L2 正则化后训练集准确率提升更快,但最后达到收敛时训练集准确率比不正则化要略低一些,可能是因为防止了过拟合,并且使用 L2 正则化后测试集准确率略有提高。

二、最后选用的方法

随机初始化,交叉熵损失函数,adam 自适应学习率方法和无正则化。

因为 adam 自适应学习率方法和 L2 正则化都能提升性能,但我测试了一下同时采用这两种方法,性能反而下降了。所以还是只改进成 adam 自适应学习率方法性能最好。50 轮内训练集准确率最高为 0.9604,最终测试集准确率为 0.9502。

参考文献

  • 基于动态连接池的数据集成中间件的研究与实现(广西师范大学·黄桂花)
  • 面向人物简介的主题爬虫设计与实现(吉林大学·蒋超)
  • 数据操纵建模技术的研究与应用(西安工程大学·陈静)
  • 基于网络爬虫的信息采集分类系统设计与实现(厦门大学·周茜)
  • 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
  • 文本综合处理平台的研究与实现(济南大学·王孟孟)
  • 基于Web的网络搜索技术研究(西北工业大学·郭晨娟)
  • 基于B/S的考卷搜索和标记系统的设计与实现(华中师范大学·沈亮)
  • 面向特定网页的Web爬虫的设计与实现(吉林大学·马慧)
  • 主题网络爬虫的研究与设计(南京理工大学·朱良峰)
  • 基于数据挖掘的电视节目个性化推荐研究及实现(曲阜师范大学·徐晟杰)
  • 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
  • 一种高适应性面向领域的爬虫系统的设计与实现(北京邮电大学·李东博)
  • 云环境下面向大数据的模糊C均值算法研究与实现(武汉理工大学·余长俊)
  • 数据集市在电信经营分析中的应用研究(苏州大学·赵平)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设导航 ,原文地址:https://m.bishedaima.com/yuanma/35990.html

相关推荐

  • 基于Python实现CCKS2019医渡云4k电子病历数据集命名实体识别

    CCKS2019医渡云4k电子病历数据集命名实体识别 Dataset Yidu-S4K数据集,对于给定的一组电子病历纯文本文档,任务的目标是识别并抽取出与医学临床相关的实体提及(entity mention)
    2024年05月14日
    2 1 1
  • 基于Python实现成绩统计系统

    1, 课程设计目的 《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要
    2024年05月14日
    1 1 1
  • 基于Android实现的web端作业提交系统

    首先是启动项目,打开cmd,输入node index,cmd返回Server has started, 打开IE,chrome等浏览器,在地址栏输入 http://127
    2024年05月14日
    2 1 1
  • Java+SSH框架实现论坛系统、javaweb+mysql

    这是一个🔥🔥SSH框架实现论坛系统,javaweb+mysql🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 框架实现论坛系统开发技术栈为SSH项目
    2024年05月23日
    2 1 1
  • 基于jsp+servlet+mysql的图书管理系统

    Book-management-jsp 基于jsp+servlet+mysql的图书管理系统 参考文献 基于RBAC的SSH架构下的图书管理应用研究(大连理工大学·姜楠) 高校图书管理系统的设计与实现(东北大学·黄鑫) 复旦大学数字图书馆个人图书管理系统的设计与实现(电子科技大学·陆卫国) 图书综合管理系统(吉林大学·王宇) 宁波职业技术学院图书管理系统分析与设计(云南大学·赵顺勇) 大同实验小学图书馆借还系统的设计与实现(电子科技大学·王洪宇) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 医疗卫生图书网的设计与实现(电子科技大学·张占平) 基于Web的书刊进销存系统的设计与实现(大连理工大学·王宁) 基于JSP/Servlet的三层式网上书店的研究与实现(吉林大学·郭小雪) 基于RBAC的SSH架构下的图书管理应用研究(大连理工大学·姜楠) 基于B/S架构的网上书店系统的设计与实现(电子科技大学·陈云英) 基于
    2024年05月14日
    11 1 2
  • 教师工作量管理系统

    这是一个🔥🔥基于SpringBoot框架的教师工作量管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于Python的学生考勤管理系统的设计与实现 #

    基于Python的学生考勤管理系统的设计与实现 一,引言 1,1 项目背景 由于技术的革新,人们的生活相较于上个世纪已经发生了天翻地覆的变化,上个世纪出现的计算机的设计目的是军事需要
    2024年05月14日
    1 1 1
  • 基于SSM框架的物业缴费管理系统设计与实现源码

    使用SSM框架构建物业缴费管理系统已成为当前互联网时代的一项重要趋势,随着城市化进程的加速和物业管理需求的不断增长,传统的人工管理方式已无法满足快速,高效,准确的管理需求
    2024年05月07日
    5 1 1
  • 基于Python实现图像分割算法

    1, 问题描述 结合“Lecture 7 Segmentation”内容及参考文献[1],实现基于 Graph-based image segmentation 方法(可以参考开源代码
    2024年05月14日
    2 1 1
  • 新闻稿件管理系统

    这是一个🔥🔥基于SpringBoot框架的新闻稿件管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1

发表回复

登录后才能评论