网站大量收购独家精品文档,联系QQ:2885784924

实验一:基于机器学习的手写数字识别实验.docx

实验一:基于机器学习的手写数字识别实验.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

目录

本科生实验报告 1

题目:基于机器学习的手写数字识别实验 1

1概述 3

1.1实验内容 3

1.2实验环境 3

2监督学习 3

2.1感知器 4

2.1.1神经网络结构 4

2.1.2实验过程 4

2.1.2实验结果 5

2.2BP神经网络 6

2.2.1神经网络结构 6

2.2.2实验过程 6

2.2.3实验结果 7

2.3卷积神经网络 7

2.3.1神经网络结构 7

2.3.2实验过程 8

2.3.3实验结果 9

2.4实验总结 10

3非监督学习 10

3.1实验原理 10

3.2实验过程 10

3.3实验结果 11

4实验总结 12

1概述

1.1实验内容

本实验为基于机器学习的手写数字识别实验,分为监督学习与非监督学习两部分。手写数字识别是机器学习领域的经典问题,该问题的目标是输入一个手写的数字0~9图像,机器能够识别出是具体哪个数字。

监督学习的数据集分为训练集和测试集两部分,前者用于训练网络调整参数,后者用于测试网络的准确率。训练集和训练集均分为图片和标签两部分,标签为图片对应的数字,这也是监督学习与非监督学习的主要区别。监督学习主要是采用人工神经网络的结构,本实验中分别采用了感知器、BP神经网络和CNN卷积神经网络三种,并对实验结果进行了对比。

非监督学习采用k-均值聚类方法,通过调整k的值来得到不同的实验结果并进行对比。

1.2实验环境

语言:python3

框架:TensorFlow

IDE:PyCharm2018

数据集:MNIST数据集

2监督学习

2.1感知器

2.1.1神经网络结构

感知器仅由输入层与输出层两层够成,并且两层神经元之间是全互联的,如图1所示。输出层的每个神经元都和输入层的每个神经元相连,输出层每个节点对输入层每个节点的值进行加权求和加上偏置量后经过激励函数作为输出值。

图1感知器结构

2.1.2实验过程

由于输入的图片为28*28,所以输入层节点数设为784;由于是数字0~9,所以输出层节点数设为10。实验采用softmax回归来得到输出值,如图2所示。图三为输出值与输入值之间的向量计算过程。实验中将W及b全部初始化为0。

图二softmax回归模型图三向量计算函数

本实验中采取的成本(loss)函数为“交叉熵”,其计算方程如图四所示,其中y是我们预测的概率分布,y是实际的分布。

图4交叉熵计算方程

优化方法采用梯度下降算法,即沿着成本函数下降最快的方向调整参数。

2.1.2实验结果

实验以每一百个数据为一个batch,总计训练了10000个batch。每100个batch记录一次准确率,得到图像如图5所示。可以看到准确率很快上升到90%左右,但之后就开始了波动,无法得到更高的准确率。

图5感知器准确率变化图像

训练结束后在测试集上的准确率为91%左右,如图6所示。

图6感知器测试集上的准确率

2.2BP神经网络

2.2.1神经网络结构

BP神经网络结构上就是多层感知器,即将感知器的层数增加,每层与上一层的节点之间均为全互联。这样做的原因是单层感知器的结构过于简单,很难表示复杂函数,因此效果较差。图7为三层BP网络结构示例。

图7三层BP网络结构示例

2.2.2实验过程

本实验搭建的为四层BP神经网络。输入层节点数仍为784,输出层节点数仍为10。综合考虑到实验效果和运行效率,最终中间两层节点数均设为392。

BP神经网络学习目标为最小平方误差,优化方法为梯度下降。实验中采用的

为Sigmoid激活函数,即为Sigmoid(x)=。

训练过程包括正向传播与反向传播两部分,其中正向传播用于得到输出值,反向传播用于调整参数。输出层与隐含层的调整公式如图8所示。

图8输出层与隐含层的调整公式

2.2.3实验结果

实验以每一百个数据为一个batch,总计训练了10000个batch。每100个batch记录一次准确率,得到图像如图9所示。可以看到图像基本与感知器的图像一致只是更高,很快达到了95%左右并且之后稳定在95%以上,但也没有更高。

图9BP神经网络准确率变化图像

训练结束后在测试集上的准确率为93%

文档评论(0)

zhanghaoyu888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档