神经网络应用于手写数字识别-matlab(6页).doc
《神经网络应用于手写数字识别-matlab(6页).doc》由会员分享,可在线阅读,更多相关《神经网络应用于手写数字识别-matlab(6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-神经网络应用于手写数字识别-matlab-第 6 页实 验 报 告实验课程: 管理运筹学实验名称: 神经网络应用于手写数字识别-matlab学生姓名: 指导教师: 实验时间: 2018年1月16日实验要求:运用matlab编程进行神经网络进行手写数字识别。小组成员:姓名学号实验过程:一、BP神经网络神经网络是由很多神经元组成,可以分为输入,输出,隐含层。BP神经网络的特点:信号前向传递,信号反向传播。若输出存在误差,根据误差调整权值和阈值,使网络的输出接近预期。在用BP神经网络进行预测之前要训练网络训练过程如下:1.网络初始化:各个参数的确定包括输入,输出,隐含层的节点数,输入和隐含,隐含和
2、输出层之间的权值,隐含,输出层的阈值,学习速度和激励函数。2.计算隐含层输出3.计算输出层输出4.误差计算5.权值更新6.阈值更新7.判断迭代是否结束二、模型建立数据集介绍:数据集包含0-9这10个数字的手写体。是放在10个文件夹里,文件夹的名称对应存放的手写数字图片的数字,每个数字500张,每张图片的像素统一为28*28。识别流程:首先要对数据进行处理,这个主要是批量读取图片和特征提取的过程,特征提取的方法很多,这里只挑选最简单的来实现,然后是训练出一个神经网络的模型,最后用测试数据进行测试。为了方面,这里的神经网络的创建,训练和测试采用matlab函数来实现。运行流程:1.确定神经网络的输
3、入,输出。输入是BP神经网络很重要的方面,输入的数据是手写字符经过预处理和特征提取后的数据。预处理有二值化,裁剪掉空白的区域,然后再统一大小为70*50为特征提取做准备。特征提取采用的是粗网格特征提取,把图像分成35个区域,每个区域100像素,统计区域中1像素所占的比例。经过预处理特征提取后,28*28图像转成1*35的特征矢量。提取完5000张图片后,依次把所有的特征存于一个矩阵(35*5000)中。2.神经的网络的训练用matlab的rands函数来实现网络权值的初始化,网络结构为输入层35,隐藏层34,输出层10,学习速率为,隐藏层激励函数为sigmoid函数。随机抽取4500张图片提取
4、特征后输入,按照公式计算隐含层和输出层输出,误差,更新网络权值。3.神经网络的预测训练好神经网络之后,用随机抽取的500个数字字符对网络进行预测,输入特征向量,计算隐含层和输出层输出,得到最后预测的数据。同时计算每个数字的正确率和全体的正确率。最后得到的总体正确率为。主函数:clc;clear all;close all;% 读取图像root=./data;img=read_train(root);% 提取特征img_feature=feature_lattice(img);% 构造标签class=10;numberpclass=500;ann_label=zeros(class,number
5、pclass*class);ann_data=img_feature;for i=1:class for j=numberpclass*(i-1)+1:numberpclass*i ann_label(i,j)=1; endend% 选定训练集和测试集k=rand(1,numberpclass*class); m,n=sort(k); ntraindata=4500;ntestdata=500;train_data=ann_data(:,n(1:ntraindata);test_data=ann_data(:,n(ntraindata+1:numberpclass*class);train_l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 应用于 手写 数字 识别 matlab
限制150内