版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告实验课程: 管理运筹学实验名称: 神经网络应用于手写数字识别-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.确定神经网络的输入,输出。输入是BP神经网络很重要的方面,输入的数据是
3、手写字符经过预处理和特征提取后的数据。预处理有二值化,裁剪掉空白的区域,然后再统一大小为70*50为特征提取做准备。特征提取采用的是粗网格特征提取,把图像分成35个区域,每个区域100像素,统计区域中1像素所占的比例。经过预处理特征提取后,28*28图像转成1*35的特征矢量。提取完5000张图片后,依次把所有的特征存于一个矩阵(35*5000)中。2.神经的网络的训练用matlab的rands函数来实现网络权值的初始化,网络结构为输入层35,隐藏层34,输出层10,学习速率为0.1,隐藏层激励函数为sigmoid函数。随机抽取4500张图片提取特征后输入,按照公式计算隐含层和输出层输出,误差
4、,更新网络权值。3.神经网络的预测训练好神经网络之后,用随机抽取的500个数字字符对网络进行预测,输入特征向量,计算隐含层和输出层输出,得到最后预测的数据。同时计算每个数字的正确率和全体的正确率。最后得到的总体正确率为0.8620。主函数:clc;clear all;close all;% 读取图像root=./data;img=read_train(root);% 提取特征img_feature=feature_lattice(img);% 构造标签class=10;numberpclass=500;ann_label=zeros(class,numberpclass*class);ann_
5、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_label=ann_label(:,n
6、(1:ntraindata);test_label=ann_label(:,n(ntraindata+1:numberpclass*class);% BP神经网络创建,训练和测试net=network_train(train_data,train_label);predict_label=network_test(test_data,net);% 正确率计算u,v=find(test_label=1);label=u;error=label-predict_label;accuracy=size(find(error=0),2)/size(label,2)批量读取图片函数:文件存放特点:在da
7、ta下有10个子文件夹,每个子文件夹下有500张图片。函数可以利用于任何批量图片的读取,传入的是文件夹路径,输出的是一个n(对应图片数目)维cell,每个cell存放的是图片的数据。function imglist = read_train(root)%=读取文件夹=%out_Files = dir(root);%展开tempind=0;imglist=cell(0);n=length(out_Files);%=读取文件=%for i = 1:n; if strcmp(out_Files(i).name,.)| strcmp(out_Files(i).name,.) else rootpath
8、=strcat(root,/,out_Files(i).name); in_filelist=dir(rootpath); ni=length(in_filelist); for j=1:ni if strcmp(in_filelist(j).name,.)| strcmp(in_filelist(j).name,.)| strcmp(in_filelist(j).name,Desktop_1.ini)| strcmp(in_filelist(j).name,Desktop_2.ini) else tempind=tempind+1; imglisttempind=imread(strcat(
9、rootpath,/,in_filelist(j).name); end end endendend特征提取函数:提取所有图像的特征,二值化resize-提取特征function feature = feature_lattice(img)% 输入:黑底白字的二值图像。输出:35维的网格特征% =提取特征,转成5*7的特征矢量,把图像中每10*10的点进行划分相加,进行相加成一个点=%=即统计每个小区域中图像象素所占百分比作为特征数据=%for i=1:length(img);bw2=im2bw(imgi,graythresh(imgi);bw_7050=imresize(bw2,70,50)
10、;for cnt=1:7 for cnt2=1:5 Atemp=sum(bw_7050(cnt*10-9):(cnt*10),(cnt2*10-9):(cnt2*10);%10*10box lett(cnt-1)*5+cnt2)=sum(Atemp); endendlett=(100-lett)/100);lett=lett;feature(:,i)=lett;end构造标签:要构造出适合神经网络的标签,在这个例子中有10个类,若为某个标签,那么这个位置的值为1,其余为0。BP神经网络创建,训练和测试:主要是几个参数的设置,layer隐含层的神经元个数。trainFcn:训练算法function net = network_train(train_data,train_label )% 输入:训练图像特征和label。输出:训练好的神经网络% BP网络训练% 初始化网络结构layer=25;net=newff(train_data,train_label,layer);net.trainParam.epochs=1;net.trainParam.lr=0.1;net.trainParam.goal=0.001;net.trainFcn=trainrp;% 网络训练net=train(net,train_data,train_labe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南省烟草专卖局(公司)高校毕业生招聘190人备考题库及答案详解【全优】
- 2026中国科学院广州地球化学研究所科研助理招聘2人备考题库(应用矿物学学科组)附参考答案详解(突破训练)
- 2026四川省八一康复中心招聘工作人员(编制外)7人备考题库附参考答案详解(培优)
- 2026浙江深泓水利工程有限公司招聘第一批项目制用工人员6人备考题库附参考答案详解(a卷)
- 2026兴业银行宁德分行春季校园招聘备考题库带答案详解(培优b卷)
- 【特色专题专训】类型一 力学综合计算题
- 汽车制造厂生产线操作规范
- 2.3 汉族民歌 山歌 课件-高中音乐人音版必修音乐鉴赏
- 2026山东济南市中心医院招聘博士研究生(控制总量)70人备考题库含答案详解(预热题)
- 2026云南玉溪易门县科学技术协会招聘2人备考题库带答案详解ab卷
- AB-PLC-5000-编程基础指令例说明
- 聚丙烯题库PP通用部分
- 氯碱企业涉氯安全风险隐患排查指南(试行)
- 卫生监督PPT课件 卫生监督证据
- 【民宿空间设计(论文)6200字】
- 2023年呼和浩特市回民区政务中心综合窗口人员招聘笔试题库及答案解析
- JJG 1083-2013锚固试验机
- GB/T 4893.9-1992家具表面漆膜抗冲击测定法
- GB/T 14039-2002液压传动油液固体颗粒污染等级代号
- FZ/T 98008-2011电子织物强力仪
- 医用功能复合材料课件
评论
0/150
提交评论