神经网络期终论文基于遗传-BP神经网络的手写数字识别.doc_第1页
神经网络期终论文基于遗传-BP神经网络的手写数字识别.doc_第2页
神经网络期终论文基于遗传-BP神经网络的手写数字识别.doc_第3页
神经网络期终论文基于遗传-BP神经网络的手写数字识别.doc_第4页
神经网络期终论文基于遗传-BP神经网络的手写数字识别.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

研究生课程期终论文 课程名称: 神经网络设计 任课教师: 彭洪 论文题目: 基于遗传-BP神经网络的手写数字识别 姓 名: 吴冬 专 业: 控制工程 学 号: 23220141153371 摘 要论文提出一种基于遗传-BP神经网络的手写数字识别方法,使用c# 实现基本的遗传-BP算法以实现分类功能。 遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,BP神经网络是一种基于误差反向传播算法的多层前馈神经网络,通过对神经网络参数的有限次迭代,使用神经网络向特定函数逼近的特征,对网络进行训练。然后,用训练后的神经网络对用户输入的手写体数字进行分类和识别。论文首先简要介绍了模式分类以及神经网络的基本概念,并描述了遗传算法、BP算法的基本原理和思想;然后阐述了图像预处理方法和手写体数字识别的具体过程,以及程序运行的结果显示。关键词: BP算法、遗传算法、手写体数字、神经网络Abstract Paper proposes a method of handwritten numeral recognition based on neural network genetic -BP, using c # to achieve the basic genetic algorithm to achieve the classification -BP. Genetic algorithm simulates Darwinian genetic selection and the natural elimination process of biological evolution computation model, BP neural network is based on the error back-propagation algorithm before multilevel feed-forward neural networks, neural network parameters through a finite number of iterations, using neural network function approximation to a particular feature, the network training. Then, after training the neural network for handwritten digits entered by the user to classify and identify. Firstly, brief introduction to the basic concepts of pattern classification and neural networks, and describes the genetic algorithm, BP algorithm of the basic principles and ideas; then describes the specific process of image preprocessing methods and handwritten digit recognition, and the results show that the program is running.Keywords: BP Algorithm,genetic algorithm,Handwritten Numeral; Neural Network, 第1章 绪 论1.1引言数字识别前景广阔,广泛应用于表格中数字的识别、汽车牌照的数字自动识别和成绩单的识别等项目涉及到交通、银行、教育和邮政等领域。实现数字的自动识别给人们提供了很大的方便。数字识别的算法较多,当前运用较好的主流算法以统计、神经网络和聚类分析的识别算法为主,如Bagging算法、Ada boost算法、误差反向传播算法、支持向量机算法、自组织映射以及径向基函数等等。人工神经网络的基本特征为非线性映射、学习分类和实时优化,因此它为模式识别、非线性分类等研究开辟了新的途径。BP神经网络是一种典型的人工神经网络,有着广泛的应用。本文利用BP神经网络进行手写数字识别系统的研究。1.2遗传算法概述遗传算法是模拟生物界的遗传和进化过程而建立起来的一种高度并行的全局性概率搜索算法,体现着“优胜劣汰、适者生存”的竞争机制。由于遗传算法是由进化论和遗传学机理产生的直接搜索优化方法,所以在这个算法中要用到各种进化和遗传学的概念。这些概念介绍如下:1.编码(Coding):DNA中遗传信息在一个长链上按一定的模式排列,这一操作就是遗传编码。遗传编码可以看作从表现型到遗传型的映射。2.染色体(Chromosome):遗传物质的主要载体,由多个遗传因子基因组成。3.个体(Individual):指染色体带有特征的实体,遗传算法所处理的基本结构。4.种群(Population):每代所产生的染色体总数称为种群,一个种群包含了该问题在这一代的一些解的集合。 5.种群大小(Population Size):在种群中个体的数量称为种群的大小。6.基因(Gene):基因是染色体中的元素,基因用于表示个体的特征。7.基因位置(Gene Position):一个基因在染色体中的位置称为基因位置。 8.基因特征值(Gene Feature):在用染色体表示整数时,基因的特征值与二进制数的权一致。9.适应度(Fitness):表示某一个体对于环境的适应程度,或者在环境压力下的生存能力。1.3 BP神经网络概述BP(BackPropagation)网络是1986年由Rinehart和McClelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。 第2章 设计分类器2.1 问题陈述本程序基于遗传-BP神经网络完成了对用户使用鼠标输入数字的识别,程序中已经存储的数字是Graffiti字体的数字09,这种字体的特点是每个字由一个连续笔划构成,适合用一个连贯的鼠标数字表示。2.2 程序概述 本程序针对鼠标数字的存储、识别和学习功能,需要实现以下要素: 一、鼠标数字的表示由于每个鼠标数字仅由一个连续笔划构成,因此可将这一笔划分解为一系列连续的向量。不同的数字对应不同的向量组合。为计算方便,所有向量可以归一化为单位长度向量。 二、定义网络输入输出使用遗传-BP神经网络,需要定义一组一维的输入向量与输出向量。将一个数字的笔划向量依次连接,x坐标、y坐标依次出现,即可构成该数字的输入向量。对于可以识别N种数字的神经网络,可以使用长度为N,第M位为1、其余各位均为0的向量作为第M种数字的标准输出向量。 三、训练神经网络对于程序中已存储的数字,需要训练神经网络,使得网络对每个输入向量都能够产生误差在允许范围之内的输出向量。该算法的主要思想是采用遗传算法对神经网络的N组初始化权值进行快速优化,定出一个较好的解空间,并将此空间作为BP算法的N组初始化权值,然后利用BP神经网络局部搜索能力强的优点,进行精确寻优,找出最优解。 四、鼠标数字的记录用户使用鼠标,在程序界面指定区域按下左键画出一个数字,程序定时记录鼠标坐标,构成一个点集。使用一定的算法对点集进行处理,取出比笔画的向量数目多一个的代表点,相邻两个代表点求差得到的向量经归一化即可得到笔画的向量组合。 取代表点的方法采用了光滑化算法,即对分布不均的原始记录点找到其中跨度最小的两个点,用它们的中点取代它们。重复执行,直到点的数目符合向量数目要求。 五、鼠标数字的识别用户的输入不可能与定义的标准输入完全一致。将待测试的数字对应的输入向量输入训练过的神经网络后,网络的输出与定义的第M种数字的标准输出向量越接近,说明输入数字越接近第M种数字的标准输入。评判“接近”的简单标准是找出输出向量中最大(最接近1)的元素,认为输入最有可能是该位为1的输出对应的数字。2.2 开发工具选择 本程序使用Visual Studio 2010(C#语言)开发,基于.Net Framework 3.0运行,画图使用VISIO2003。2.2.1主要算法思想 该算法的主要思想是采用遗传算法对神经网络的N组初始化权值进行快速优化,定出一个较好的解空间,并将此空间作为BP算法的N组初始化权值,然后利用BP神经网络局部搜索能力强的优点,进行精确寻优,找出最优解。得到的神经网络连接权值,再用BP算法学习,直到误差小于指定的最小值,算法结束。第3章 测试成果以及结果分析3.1系统运行界面展示 1、运行初始界面如下:开始训练遗传-BP网络:随便写一个数字,测试结果:3.1 检测性能的评价标准遗传-BP神经网络手写体识别算法的好坏主要取决于如下指标,即正确率。正确率是指利用分类器进行识别,识别正确次数与所有训练次数的比重。3.2实验测试结果的分析随机输入100个数字,对结果进行测试。由于截图占用太大空间,用表概括为: 表3-1 检测结果统计表测试记录总条数100测试记录正确条数90正确检测率90%平均测试时间3秒从检测结果来看,虽然用于训练的数据集并不是很多,但误差率和漏报率并不是很高,这也体现了BP算法的优越性,相信如果用更多的数据进行训练会使得正确的检测率提高而错误的检测率降低,从而使网络趋于收敛。第4章 结束语手写数字识别就是利用计算机对输入的手写数字进行分类识别。手写体数字识别研究的最终目标是设计出速度快、精度高的识别算法并运用到实际工作中。为了设计出高精度的算法,我从零基础学习BP算法,在学习BP算法的过程中,我了解了偏导,梯度的知识,并也产生了一些新的思考,如果k个输入,1个输出,相当于将k维空间,投射到一个1维空间,是否可以提供足够的准确性,如果是k个输入,j个输出,j比k大,是否是一个升维的过程,是否有价值?并通过实验发现BP算法有一个很大的缺点,就是容易落入局部最优解,为了改进这个算法,使用了遗传算法,通过染色体的选择,基因的交叉、变异来跳出局部最优解,实现最大程度的最优化。因为学过java和C语言,本设计使用C#实现,存在一些缺陷,以后会努力学习改进。参考文献1 Martin T.Hagan. Howard B.Demuth. Mark H.Beale.神经网络设计,机械工业出版社,20022李望晨:“BP神经网络改进及其在手写数字识别中的应用”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论