基于BP神经网络的手写数字识别实验报告

基于BP神经网络的手写数字识别实验报告
基于BP神经网络的手写数字识别实验报告

基于BP神经网络的手写数字识别实验报告

基于BP神经网络的手写体数字图像识别

PT1700105 宁崇宇

PT1700106 陈玉磊

PT1700104 安传旭

摘要

在信息化飞速发展的时代,光学字符识别是一个重要的信息录入与信息转化的手段,其中手写体数字的识别有着广泛地应用,如:邮政编码、统计报表、银行票据等等,因其广泛地应用范围,能带来巨大的经济与社会效益。

本文结合深度学习理论,利用BP神经网络对手写体数字数据集MNIST进行分析,作为机器学习课程的一次实践,熟悉了目前广泛使用的Matlab工具,深入理解了神经网络的训练过程,作为非计算机专业的学生,结合该课题掌握了用神经网络处理实际问题的方法,为今后将深度学习与自身领域相结合打下了基础。

1 引言

从计算机发明之初,人们就希望它能够帮助甚至代替人类完成重复性劳作。利用巨大的存储空间和超高的运算速度,计算机已经可以非常轻易地完成一些对

于人类非常困难的工作,然而,一些人类通过直觉可以很快解决的问题,却很难通过计算机解决,这些问题包括自然语言处理、图像识别、语音识别等等,它们就是人工智能需要解决的问题。

计算机要想人类一样完成更多的智能工作,就需要掌握关于这个世界的海量知识,很多早期的人工智能系统只能成功应用于相对特定的环境,在这些特定环境下,计算机需要了解的知识很容易被严格完整地定义。

为了使计算机更多地掌握开放环境下的知识,研究人员进行了很多的尝试。其中影响力很大的一个领域就是知识图库(Ontology),WordNet是在开放环境中建立的一个较大且有影响力的知识图库,也有不少研究人员尝试将Wikipedia中的知识整理成知识图库,但是建立知识图库一方面需要花费大量的人力和物力,另一方面知识图库方式明确定义的知识有限,不是所有的知识都可以明确地定义成计算机可以理解的固定格式。很大一部分无法明确定义的知识,就是人类的经验,如何让计算机跟人类一样从历史的经验中获取新的知识,这就是机器学习需要解决的问题。

卡内基梅隆大学的Tom Michael Mitchell教授在1997年出版的书籍中将机器学习定义为“如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习”。逻辑提取算法可以从训练数据中计算出每个特征和预测结果的相关度,在大部分情况下,在训练数据达到一定数量之前,越多的训练数据可以使逻辑回归算法的判断越精确,但是逻辑回归算法有可能无法从数据中学习到好的特征表达,这也是很多传统机器学习算法的共同问题。

对机器学习问题来说,特征提取不是一件简单的事情。在一些复杂问题上,要通过人工的方式设计有效的特征集合,需要很多的时间和精力,甚至需要整个领域数十年的研究投入。既然人工无法很好地抽取实体中的特征,那么是否有自动的方式呢?深度学习解决的核心问题就是自动地将简单的特征组合成更加复杂的特征,并使用这些特征解决问题。

因为深度学习的通用性,深度学习的研究者往往可以跨越多个研究方向,甚至同时活跃于数个研究方向。虽然深度学习受到了大脑工作原理的启发,但现代深度学习研究的发展并不拘泥于模拟人脑神经元和人脑的工作原理,各种广泛应用的机器学习框架也不是由神经网络启发而来的。

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MNIST是一个非常有名的手写体数字识别数据集,被广泛用作机器学习的入门样例,它包含了60000张图片作为训练数据,10000张图片作为测试数据,每一张图片代表了0~9中的一个数字,图片的大小为28x28,且数字会出现在图片的正中间。本文以该数据集为例,基于Matlab来分析BP神经网络的性能。

2 运行环境

本设计在Windows 10 下进行设计、主要利用 Matlab 工具环境,进行模拟演示。

3 方法概述

3.1 神经元网络

神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

神经网络由多个神经元构成,下图就是单个神经元的图1所示:

图1 神经元模型

这个神经元是以123,,x x x 以及截距1+为输入值的运算单元,其输出为

3,()()()T W b i i i h x f W x f W x b ===+∑,其中函数()f ?被称作“激活函数”。一般选用

sigmoid 函数作为激活函数()f ?

1

()1exp()f z z =+-

图2 sigmoid 函数图像

神经网络就是将许多个单一的神经元联结在一起,这样,一个神经元的输出就可

以是另一个神经元的输入。

例如,下图就是一个简单的神经网络:

图3 神经网络示意图

我们用()l i a 第l 层第i 单元的激活值(输出值)。当1l =时,()l i i a x =,也就是

第i 个输入值。对于给定的参数集合,W b ,神经网络就可以按照函数,()W b h x 来计算输出结果。

3.2 BP 神经网络

BP(back propagation)神经网络是1986年由Rumelhart 和McClelland 为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。。BP 神经网络是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称为BP 算法,它的基本思想是梯度下降法,利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差为最小。

基本BP 算法包括信号的前向传播和误差的反向传播两个过程。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。正向传播时,输入信号通过隐含层作用于输出节点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。误差反传是将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据。通过调整输入节点与隐层节点的联接强度和隐层节点与输出节点的联接强度以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。

4 数据结果分析

经过训练的神经网络对手写数字识别的精确度是85.88%,以下是数据结果:

图4.1 MSE走势曲线:

4.1MSE走势曲线

图4.2 梯度和校验检查曲线:

图4.2 梯度和校验检查曲线图4.3回归曲线:

图4.3回归曲线图4.4训练结构图:

图4.4训练结构图

总结

本次设计在MATLAB上进行测试训练集,验证了BP神经网络的计算过程由正向计算过程和反向计算过程组成。正向传播过程,输入模式从输入层经隐单元层逐层处理,并转向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。

BP神经网络无论在网络理论还是在性能方面

已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP 神经网络也存在以下的一些主要缺陷。学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛;容易陷入局部极小值;网络层数、神经元个数的选择没有相应的理论指导;网络推广能力有限。

但是由于神经网络基础知识的理解还不够,对BP神经网络的实际运用也止于尝试,今后还需加强基础知识的学习,在此感谢老师引导我学习了机器学习的基础。

参考资料

[1]基于MATLAB的BP神经网络建模及系统仿真

[2]BP神经网络在MATLAB上的实现与应用

[3]基于BP神经网络的函数逼近方法及其MATLAB实现

基于BP神经网络的数字字母识别系统设计——系统分析设计【开题报告】

开题报告 电气工程及其自动化 基于BP神经网络的数字字母识别系统设计——系统分析设计 一、课题研究意义及现状 随着信息科技技术的飞速发展,神经网络从当年的无人问津到现在广泛应用于各个领域,这个不是偶然而是其功能大部分能适应生产生活的各方面需求。特别是在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别等方面有重大的应用。 BP神经网络已被广泛地应用于各个领域,它的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程是周而复始地进行的。此过程一直进行到网络输出误差减少到可以接受的程度,或进行预先设定的学习次数为止。 本课题就是利用BP神经网络的工作原理,对0、1、2、3、4、5、6、7、8、9十个数字的图像提取特征向量作为神经网络识别输入向量的基础上,分析建立对0、1、2、3、4、5、6、7、8、9十个数字进行识别的BP神经网络拓扑结构,为程序实现识别系统创造条件。 目前,手写体字符识别是一个非常重要和活跃的研究领域,它涉及到模式识别、图像处理、人工智能、模糊数学、信息论、计算机等学科,是一门综合性技术,有广阔的应用背景与巨大的市场需求。因此,对字符识别的研究具有理论与应用的双重意义。 二、课题研究的主要内容和预期目标 (一)研究内容 (1)熟悉BP神经网络的基本原理及其算法; (2)掌握人工神经网络的拓扑结构模型,并利用该模型构建识别系统 (3)在含有噪声的情况下对识别系统的影响,并能提高识别的准确率 (4)研究出最好的方案分别使识别率,复杂度方面达到理想状态 (二)预期目标 结合自己的所学的BP神经网络知识对0到9十个数字字符进行编码,变成神经网络可以接受的输入向量形式,构建数字字符识别的BP神经网络拓扑结构模型,完成基于BP神经网络数字识别系统设计。

离散Hopfield神经网络的联想记忆-数字识别

1.实现1,2在加噪声之后的识别 array_one=[-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1; ... -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1]; array_two=[-1 1 1 1 1 1 1 1 1 -1;-1 1 1 1 1 1 1 1 1 -1;... -1 -1 -1 -1 -1 -1 -1 1 1 -1;-1 -1 -1 -1 -1 -1 -1 1 1 -1;... -1 1 1 1 1 1 1 1 1 -1;-1 1 1 1 1 1 1 1 1 -1;... -1 1 1 -1 -1 -1 -1 -1 -1 -1;-1 1 1 -1 -1 -1 -1 -1 -1 -1;... -1 1 1 1 1 1 1 1 1 -1;-1 1 1 1 1 1 1 1 1 -1 ]; T=[array_one;array_two]'; net=newhop(T); noisy_array_one=array_one; noisy_array_two=array_two; for i=1:100 a=rand; if a<0.1 noisy_array_one(i)=-array_one(i); noisy_array_two(i)=-array_two(i); end end noisy_one={(noisy_array_one)'}; identify_one=sim(net,{10,10},{},noisy_one); identify_one{10}' noisy_two={(noisy_array_two)'}; identify_two=sim(net,{10,10},{},noisy_two); identify_two{10}' subplot(3,2,1) Array_one=imresize(array_one,20); imshow(Array_one) title('standard number 1') subplot(3,2,2) Array_two=imresize(array_two,20); imshow(Array_two) title('standard number 2') subplot(3,2,3) Noisy_array_one=imresize(noisy_array_one,20); imshow(Noisy_array_one) title('noisy number 1') subplot(3,2,4) Noisy_array_two=imresize(noisy_array_two,20); imshow(Noisy_array_two) title('noisy number 2')

脱机手写体汉字识别综述

脱机手写体汉字识别综述 赵继印1,郑蕊蕊2,吴宝春1,李 敏1 (1.大连民族学院机电信息工程学院,辽宁大连116600;2.吉林大学通信工程学院,吉林长春130025) 摘 要: 脱机手写体汉字识别是模式识别领域最具挑战性的课题之一.本文分析了近年来脱机手写体汉字识别 的最新进展,讨论了脱机手写体汉字分割、特征提取和分类器设计等关键技术的各种主流方法,介绍了3种典型的汉字识别数据库,并提出了脱机手写体汉字识别的难点问题和今后发展的趋势,为该领域的研究者指明研究方向,共同促进脱机手写体汉字识别技术的发展. 关键词: 脱机手写体汉字识别;字符分割;特征提取;分类器设计;汉字识别数据库中图分类号: TP39114 文献标识码: A 文章编号: 037222112(2010)022******* A Review of Off 2Line Handwritten Chine se Character Recognition ZH AO Ji 2yin 1,ZHE NG Rui 2rui 2,W U Bao 2chun 1,LI Min 1 (1.College o f Electormechanical and Information Engineering ,Dalian Nationalities Univer sity ,Dalian ,Liaoning 116600,China ; 2.College o f Communication Engineering ,Jilin Univer sity ,Changchun ,Jilin 130025,China ) Abstract : Off 2line handwritten Chinese character recognition is one of the most challenging problems in pattern recognition field.This paper analyzed the latest developments of off 2line handwritten Chinese character recognition in recent years.Main meth 2ods of the key technologies such as Chinese characters segmentation ,feature extraction and classifier design were discussed.This pa 2per also introduced 3typical off 2line handwritten Chinese character recognition databases.Finally ,remain difficult issues and future trends of off 2line handwritten Chinese character recognition were proposed.This paper will guide researchers in this field and pro 2mote development of off 2line handwritten Chinese character recognition technology. K ey words : off 2line handwritten Chinese character Recognition ;characters segmentation ;feature extraction ;classifier design ;Chinese recognition database 1 引言 汉字识别是模式识别的一个重要分支,也是文字识 别领域最为困难的问题之一,它涉及模式识别、图像处理、统计理论等学科,呈现出综合性的特点,在办公和教学自动化、银行票据自动识别、邮政自动分拣、少数民族语言文字信息处理等技术领域,都有着重要的理论意义和实用价值[1].汉字识别技术可分为印刷体和手写体汉字识别两大类.手写体汉字识别又可分为联机(on 2line )和脱机(off 2line )手写体汉字识别.脱机手写体汉字识别可分为受限和非受限两种情况,如图1所示. 清华大学、中科院自动化所等著名高校和科研院所都致力于汉字识别的研究,以汉王科技股份有限公司为首的科技企业也推出了一系列成熟的商业产品[2].目前,很多论文提出的脱机手写体汉字识别的方法在不同的字符数据库试验中,取得了95%~99%的识别率,但是对真正的手写文档的识别效果却难以达到实际应用的要求. 目前脱机手写体汉字识别仍处于实验室研究阶 段,成功的商业产品仍未发布[2~4].本文着重讨论脱机手写体汉字识别的现状和存在的问题,明确今后的发展趋势,为脱机手写体汉字识别领域的广大研究人员提供参考和借鉴. 2 手写汉字字体特点 从识别的角度分析,汉字具有如下4个特点.2.1 汉字类别多 汉字的个数很多,国家标准G B1803022000《信息交换用汉字编码字符集基本集的扩充》收录27484个汉字[5].汉字个数在模式识别问题中体现为汉字的类别,因此汉字识别问题属于超大规模数据集的模式识别问题. 收稿日期:2009202216;修回日期:2009206213 基金项目:大连民族学院科研基金(N o.20086201);吉林省科技厅科技引导计划(N o.20090511)   第2期2010年2月 电 子 学 报 ACT A E LECTRONICA SINICA V ol.38 N o.2 Feb. 2010

基于某某BP神经网络地手写数字识别实验报告材料

基于BP神经网络的手写体数字图像识别 PT1700105 宁崇宇 PT1700106 陈玉磊 PT1700104 安传旭 摘要 在信息化飞速发展的时代,光学字符识别是一个重要的信息录入与信息转化的手段,其中手写体数字的识别有着广泛地应用,如:邮政编码、统计报表、银行票据等等,因其广泛地应用范围,能带来巨大的经济与社会效益。 本文结合深度学习理论,利用BP神经网络对手写体数字数据集MNIST进行分析,作为机器学习课程的一次实践,熟悉了目前广泛使用的Matlab工具,深入理解了神经网络的训练过程,作为非计算机专业的学生,结合该课题掌握了用神经网络处理实际问题的方法,为今后将深度学习与自身领域相结合打下了基础。

1 引言 从计算机发明之初,人们就希望它能够帮助甚至代替人类完成重复性劳作。利用巨大的存储空间和超高的运算速度,计算机已经可以非常轻易地完成一些对于人类非常困难的工作,然而,一些人类通过直觉可以很快解决的问题,却很难通过计算机解决,这些问题包括自然语言处理、图像识别、语音识别等等,它们就是人工智能需要解决的问题。 计算机要想人类一样完成更多的智能工作,就需要掌握关于这个世界的海量知识,很多早期的人工智能系统只能成功应用于相对特定的环境,在这些特定环

境下,计算机需要了解的知识很容易被严格完整地定义。 为了使计算机更多地掌握开放环境下的知识,研究人员进行了很多的尝试。其中影响力很大的一个领域就是知识图库(Ontology),WordNet是在开放环境中建立的一个较大且有影响力的知识图库,也有不少研究人员尝试将Wikipedia中的知识整理成知识图库,但是建立知识图库一方面需要花费大量的人力和物力,另一方面知识图库方式明确定义的知识有限,不是所有的知识都可以明确地定义成计算机可以理解的固定格式。很大一部分无法明确定义的知识,就是人类的经验,如何让计算机跟人类一样从历史的经验中获取新的知识,这就是机器学习需要解决的问题。 卡内基梅隆大学的Tom Michael Mitchell教授在1997年出版的书籍中将机器学习定义为“如果一个程序可以在任务T上,随着经验E的增加,效果P 也可以随之增加,则称这个程序可以从经验中学习”。逻辑提取算法可以从训练数据中计算出每个特征和预测结果的相关度,在大部分情况下,在训练数据达到一定数量之前,越多的训练数据可以使逻辑回归算法的判断越精确,但是逻辑回归算法有可能无法从数据中学习到好的特征表达,这也是很多传统机器学习算法的共同问题。 对机器学习问题来说,特征提取不是一件简单的事情。在一些复杂问题上,要通过人工的方式设计有效的特征集合,需要很多的时间和精力,甚至需要整个领域数十年的研究投入。既然人工无法很好地抽取实体中的特征,那么是否有自动的方式呢?深度学习解决的核心问题就是自动地将简单的特征组合成更加复杂的特征,并使用这些特征解决问题。 因为深度学习的通用性,深度学习的研究者往往可以跨越多个研究方向,甚至同时活跃于数个研究方向。虽然深度学习受到了大脑工作原理的启发,但现代深度学习研究的发展并不拘泥于模拟人脑神经元和人脑的工作原理,各种广泛应用的机器学习框架也不是由神经网络启发而来的。 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MNIST是一个非常有名的手写体数字识别数据集,被广泛用作机器学习的入门样例,它包含了60000张图片作为训练数据,10000张图片作为测试数据,每一张图片代表了0~9中的一个数字,图片的大小为28x28,且数字会出现在图片的正中间。本文以该数据集为例,基于Matlab来分析BP神经网络的性能。 2 运行环境 本设计在Windows 10 下进行设计、主要利用Matlab工具环境,进行模拟演示。

基于神经网络的手写数字识别系统的设计与实现

中南大学 本科生毕业论文(设计) 题目基于神经网络的手写数字 识别系统的设计与实现

目录 摘要 (Ⅰ) ABSTRACT (Ⅱ) 第一章绪论 (1) 1.1手写体数字识别研究的发展及研究现状 (1) 1.2神经网络在手写体数字识别中的应用 (2) 1.3 论文结构简介 (3) 第二章手写体数字识别 (4) 2.1手写体数字识别的一般方法及难点 (4) 2.2 图像预处理概述 (5) 2.3 图像预处理的处理步骤 (5) 2.3.1 图像的平滑去噪 (5) 2.3.2 二值话处理 (6) 2.3.3 归一化 (7) 2.3.4 细化 (8) 2.4 小结 (9) 第三章特征提取 (10) 3.1 特征提取的概述 (10) 3.2 统计特征 (10) 3.3 结构特征 (11) 3.3.1 结构特征提取 (11) 3.3.2 笔划特征的提取 (11) 3.3.3 数字的特征向量说明 (12) 3.3 知识库的建立 (12) 第四章神经网络在数字识别中的应用 (14) 4.1 神经网络简介及其工作原理 (14) 4.1.1神经网络概述[14] (14) 4.1.2神经网络的工作原理 (14) 4.2神经网络的学习与训练[15] (15) 4.3 BP神经网络 (16) 4.3.1 BP算法 (16) 4.3.2 BP网络的一般学习算法 (16)

4.3.3 BP网络的设计 (18) 4.4 BP学习算法的局限性与对策 (20) 4.5 对BP算法的改进 (21) 第五章系统的实现与结果分析 (23) 5.1 软件开发平台 (23) 5.1.1 MATLAB简介 (23) 5.1.2 MATLAB的特点 (23) 5.1.3 使用MATLAB的优势 (23) 5.2 系统设计思路 (24) 5.3 系统流程图 (24) 5.4 MATLAB程序设计 (24) 5.5 实验数据及结果分析 (26) 结论 (27) 参考文献 (28) 致谢 (30) 附录 (31)

基于matlab人脸识别技术 开题报告

毕业设计(论文)开题报告 毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2500字以上的文献综述,文后应列出所查阅的文献资料。 基于matlab人脸识别技术的实现 文献综述 一、MATLAB概述 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。而在本文中主要用到的功能是图像处理功能。 二、BP神经网络概述 人工神经网络(Artificial Neural Net works,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connectionist Model),它是一种模范动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。 人工神经网络发展的主要历程有:20世纪50年代末,Rosenblatt提出的感知器模型和Widrow提出的自适应线性元件,出现了简单的线性分类器;1986年,Rumelhart和Mcllelland 提出了层网络“误差反向传播算法(BP)”,使有导师学习多层感知器网络(ML PN)模式分类器走向实用化,在此基础上又派生出若干前向网络,如径向基函数网络( RBFN)和函数链网络等;1982年,美国加州工学院的物理学家Hopfield提出的一种用于联想记忆和优化计算的反馈网络模型,由于引进了“能量函数” 的概念,使网络走向具体电路有了保证;20世纪70年代,Watanabe 提出了使用模式子空间的概念来设计不同类别对应的子空间,由不同类别聚类的子空间实现模式识别; Kohonen提出的自组织特征映射网络模型等都为神经网络模式识别理论提供了进一步的根据。 构成人工神经网络的三个基本要素是:神经元、络拓扑结构和网络的训练(学习)方法。神经元(节点)的作用是把若干输入加权求和,并对这种加权和进行非线性处理后输出。神经元的选择一般有以下特点:每个神经元都具有多个输入、个输出,具有闭值,采用非线性函数。 1、神经元

联机手写数字识别实验报告

联机手写数字识别设计 一、设计论述 模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。 字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。 字符识别一般可以分为两类:1.联机字符识别;2.光学字符识别(Optical Chara- cter Recognition,OCR)或称离线字符识别。在联机字符识别中,计算机能够通过与计算机相连的输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状,所以相对离线字符识别来说它更容易识别一些。 参照联机字符识别的原理,我们对手写数字的特征进行了深入的研究,同时作为一个初学者,我们本次考虑设计联机手写数字0——9识别,以达到加深对《模式识别》课程理论的了解和掌握的目的。 二、设计内容 本次设计,我们使用Visual C++ 6.0软件,在《模式识别》课程理论基础上,运用VC++语言设计联机手写数字识别系统。 三、设计原理 1、基于笔划及笔划特征分类的联机识别 联机手写汉字识别的方法可以分为两类:基于整字识别方法和基于笔划识别的方法。大多数联机识别都是采取笔划识别的方法,这是因为在联机识别过程中,汉字笔划是以点坐标形式一笔一划地输入到计算机的,同样,数字在联机输入过程中也是按照一笔一划输入的。 笔划的分类有很多,基于便于识别的原理,我们在这里仅介绍一种笔划的分类。我们把汉字看成是由把构成所有汉字的笔划分为两大类:即单向笔划和变向笔划。单向笔划表示笔划的走向保持在某一方向上,即人们通常所说的基本笔划,包括有横(笔划代码1)、竖(笔划代码2)、撇(笔划代码3)、捺(笔划代码4)。变向笔划的一种分类,规定变向笔划由三种笔划组成:(1)顺笔划(笔划代码5):笔划的变向是按照顺时针规律变化的;(2)逆笔划(笔划代码6):笔划的变向是按照逆时针规律变化的;(3)混合笔划(笔划代码7):笔划的变向既有顺时

硕士论文开题报告(最新)

一、论文名称、课题来源、选题依据 论文名称:基于bp神经网络的技术创新预测与评估模型及其应用研究 课题来源:单位自拟课题或省政府下达的研究课题 选题依据: 技术创新预测和评估是企业技术创新决策的前提和依据。通过技术创新预测和评估, 可以使企业对未来的技术发展水平及其变化趋势有正确的把握, 从而为企业的技术创新决策提供科学的依据, 以减少技术创新决策过程中的主观性和盲目性。只有在正确把握技术创新发展方向的前提下, 企业的技术创新工作才能沿着正确方向开展,企业产品的市场竞争力才能得到不断加强。在市场竞争日趋激烈的现代商业中, 企业的技术创新决定着企业生存和发展、前途与命运, 为了确保技术创新工作的正确性,企业对技术创新的预测和评估提出了更高的要求。 二、本课题国内外研究现状及发展趋势 现有的技术创新预测方法可分为趋势外推法、相关分析法和专家预测法三大类。 (1)趋势外推法。 指利用过去和现在的技术、经济信息, 分析技术发展趋势和规律, 在分析判断这些趋势和规律将继续的前提下, 将过去和现在的趋势向未来推演。生长曲线法是趋势外推法中的一种应用较为广泛的技术创新预测方法,美国生物学家和人口统计学家raymond pearl提出的pearl曲线(数学模型为: y=l∕ [1+a?exp(-b·t)] )及英国数学家和统计学家gompertz提出的gompertz曲线(数学模型为exp(-b·t))皆属于生长曲线, 其预测值y为技术性能指标, t为时间自变量, l、a、b皆为常数。ridenour模型也属于生长曲线预测法, 但它假定新技术的成长速度与熟悉该项技术的人数成正比, 主要适用于新技术、新产品的扩散预测。 (2)相关分析法。 利用一系列条件、参数、因果关系数据和其他信息, 建立预测对象与影响因素的因果关系模型, 预测技术的发展变化。相关分析法认为, 一种技术性能的改进或其应用的扩展是和其他一些已知因素高度相关的, 这样, 通过已知因素的分析就可以对该项技术进行预测。相关分析法主要有以下几种: 导前-滞后相关分析、技术进步与经验积累的相关分析、技术信息与人员数等因素的相关分析及目标与手段的相关分析等方法。 (3)专家预测法。

基于BP神经网络的字符识别算法的实现毕业论文

一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目 的等。) 工作基础:了解C++的基本概念和语法,熟练使用Visual C++6.0软件。 研究条件:BP神经网络的基本原理以及图像处理的基本常识。 应用环境:基于BP神经网络的图片图像文件中的字符识别。 工作目的:掌握基于Visual C++6.0应用程序的开发。 了解人工智能的基本概念并掌握神经网络算法的基本原理。 掌握Visual C++6.0中的图片处理的基本过程。 二、参考文献 [1]人工智能原理及其应用,王万森,电子工业,2007. [2]VC++深入详解,鑫,电子工业,2006. [3]人工神经网络原理, 马锐,机械工业,2010. [4]Visual C++数字图像处理典型案例详解,晶,机械工业,2012. [5]Application of Image Processing to the Characterization of Nanostructures Manuel F. M. Costa,Reviews on Advanced Materials Science,2004. 三、设计(研究)容和要求(包括设计或研究容、主要指标与技术参数,并根据课题性质对学生提出具体要求。) 1、掌握C++的基本概念和语法。 2、掌握二维神经网络的基本原理。了解BP神经网络的基本概念。 3、完成Visual C++中对于图像的灰度、二值化等预处理。 4、完成基于样本的神经网络的训练以及图像中数字的识别,并对其性能进 行统计和总结,分析其中的不足。

指导教师(签字) 年月日 审题小组组长(签字) 年月日理工大学本科生毕业设计(论文)开题报告

自由手写体数字识别系统的设计与实现

自由手写体数字识别系统的设计和实现 摘要:本文论述并设计实现了一个脱机自由手写体数字识别系统。文中首先对待识别数字的预处理进行了介绍,包括二值化、平滑滤波、规范化、细化等图像处理方法;其次,探讨了如何提取数字字符的结构特征和笔划特征,并详细地描述了知识库的构造方法;最后采用了以知识库为基础的模板匹配识别方法,并以MATLAB作为编程工具实现了具有友好的图形用户界面的自由手写体数字识别系统。实验结果表明,本方法具有较高的识别率,并具有较好的抗噪性能。 关键词:手写体数字;预处理;模式识别;特征提取 Abstrct: This paper describes and designs a free handwritten number recognition system. Firstly, the pretreatment of the character to be recognized is introduced, including binarization, smoothing, normalization and thinning. Next, how to extract the structural features of the numbers is discussed, and we describe the constructing method of repository. Finally, we use the method of template matching, based on repository, to recognize the digital number. Matlab is used as a program tool to realize this free handwritten digital recognition system with friendly graphical user interface. The experimental results show that the rate of the recognition system is high, and the proposed method is robust to noise. Keywords: handwritten number; pretreatment;pattern recognition; feature extraction 1 引言 OCR(Optical Character Recognition)即光学字符识别技术,是通过扫描仪把印刷体或手写体文稿扫描成图像,然后识别成相应的计算机可直接处理的字符。OCR是模式识别的一个分支,按字体分类主要分为印刷体识别和手写体识别两大类。对于印刷体识别又可以分成单一字体单一字号和多种字体多种字号几类。而手写体识别又可分为受限手写体和不受限手写体两类;按识别方式可分为在线识别和脱机识别两类。 字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多使用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入使用,将产生巨大的社会和经济效益。 在整个OCR领域中,最为困难的就是脱机自由手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中已取得很多可喜成就,但距离实用还有一定距离。而在手写数字识别这个方向上,经过多年研究,研究工作者已经开始把它向各种实际使用推广,为手写数据的高速自动输入提供了一种解决方案。 本文首先介绍了自由手写体数字识别的基本原理,包括数字图像预处

脱机手写体汉字识别综述

脱机手写体汉字识别综述 摘要: 脱机手写体汉字识别是模式识别领域最具挑战性的课题之一.本文分析了近年来脱机手写体汉字识别的最新进展,讨论了脱机手写体汉字分割、特征提取和分类器设计等关键技术的各种主流方法,介绍了3种典型的汉字识别数据库,并提出了脱机手写体汉字识别的难点问题和今后发展的趋势,为该领域的研究者指明研究方向,共同促进脱机手写体汉字识别技术的发展. 关键词: 脱机手写体汉字识别;字符分割;特征提取;分类器设计; 1 引言 汉字识别是模式识别的一个重要分支,也是文字识别领域最为困难的问题之一,它涉及模式识别、图像处理、统计理论等学科,呈现出综合性的特点,在办公和教学自动化、银行票据自动识别、邮政自动分拣、少数民族语言文字信息处理等技术领域,都有着重要的理论意义和实用价值[1].汉字识别技术可分为印刷体和手写体汉字识别两大类.手写体汉字识别又可分为联机(on2line)和脱机(off2line)手写体汉字识别.脱机手写体汉字识别可分为受限和非受限两种情况,如图1所示. 清华大学、中科院自动化所等著名高校和科研院所都致力于汉字识别的研究,以汉王科技股份有限公司为首的科技企业也推出了一系列成熟的商业产品[2].目前,很多论文提出的脱机手写体汉字识别的方法在不同的字符数据库试验中,取得了95%~99%的识别率,但是对真正的手写文档的识别效果却难以达到实际应用的要求.目前脱机手写体汉字识别仍处于实验室研究阶段,成功的商业产品仍未发布[2~4].本文着重讨论脱机手写体汉字识别的现状和存在的问题,明确今后的发展趋势,为脱机手写体汉字识别领域的广大研究人员提供参考和借鉴. 2 手写汉字字体特点 从识别的角度分析,汉字具有如下4个特点. 2.1 汉字类别多 汉字的个数很多,国家标准GB1803022000《信息交换用汉字编码字符集基本集的扩充》收录27484个汉字[5].汉字个数在模式识别问题中体现为汉字的类别,因此汉字识别问题属于超大规模数据集的模式识别问题. 2.2 字体结构复杂 汉字基本笔画(stroke)分为:横、竖、撇、点、折[6].笔画的组合方式分为相离、相接和相交三种.特征结构笔画和相应笔画的组合方式在以笔画为特征的汉字识别中起到关键作用. 汉字的组合方式包括独体字和合体字.合体字又包括上下结构、左右结构、品字结构等多种结构.以部件(radical)为基础的手写体汉字识别中,需根据汉字的组合方式对已提取的部件进行重新组合. 2.3 字形变化多 手写体汉字字形总的来说可以分为:手写印刷体(hand2printfashionscripts)、行书(fluentscripts)和草书(cursivescripts).对于相同的字形又因不同人书写风格的差异造成手写汉字的变形.脱机手写汉字在日常生活中以行书为主.对于行书和草书等笔迹相连的情况,字符分割是识别的关键环节,如果出现分割错误,将影响后续识别结果的精度.

神经网络应用于手写数字识别-matlab说课讲解

神经网络应用于手写数字识别-m a t l a b

实验报告 实验课程:管理运筹学 实验名称:神经网络应用于手写数字识别-matlab 学生姓名: 指导教师: 实验时间: 2018年1月16日

实验要求: 运用matlab编程进行神经网络进行手写数字识别。 小组成员: 姓名学号 实验过程: 一、BP神经网络 神经网络是由很多神经元组成,可以分为输入,输出,隐含层。 BP神经网络的特点:信号前向传递,信号反向传播。若输出存在误差,根据误差调整权值和阈值,使网络的输出接近预期。 在用BP神经网络进行预测之前要训练网络训练过程如下: 1.网络初始化:各个参数的确定包括输入,输出,隐含层的节点数,输入和隐含,隐含和输出层之间的权值,隐含,输出层的阈值,学习速度和激励函数。 2.计算隐含层输出 3.计算输出层输出 4.误差计算 5.权值更新 6.阈值更新 7.判断迭代是否结束 二、模型建立 数据集介绍: 数据集包含0-9这10个数字的手写体。是放在10个文件夹里,文件夹的名称对应存放的手写数字图片的数字,每个数字500张,每张图片的像素统一为28*28。 识别流程: 首先要对数据进行处理,这个主要是批量读取图片和特征提取的过程,特征提取的方法很多,这里只挑选最简单的来实现,然后是训练出一个神经网络的模型,最后用测试数据进行测试。为了方面,这里的神经网络的创建,训练和测试采用matlab函数来实现。

训练 运行流程: 1.确定神经网络的输入,输出。 输入是BP神经网络很重要的方面,输入的数据是手写字符经过预处理和特征提取后的数据。预处理有二值化,裁剪掉空白的区域,然后再统一大小为70*50为特征提取做准备。特征提取采用的是粗网格特征提取,把图像分成35个区域,每个区域100像素,统计区域中1像素所占的比例。经过预处理特征提取后,28*28图像转成1*35的特征矢量。提取完5000张图片后,依次把所有的特征存于一个矩阵(35*5000)中。 2.神经的网络的训练 用matlab的rands函数来实现网络权值的初始化,网络结构为输入层35,隐藏层34,输出层10,学习速率为0.1,隐藏层激励函数为sigmoid函数。随机抽取4500张图片提取特征后输入,按照公式计算隐含层和输出层输出,误差,更新网络权值。 3.神经网络的预测 训练好神经网络之后,用随机抽取的500个数字字符对网络进行预测,输入特征向量,计算隐含层和输出层输出,得到最后预测的数据。同时计算每个数字的正确率和全体的正确率。最后得到的总体正确率为0.8620。 主函数:

BP神经网络的技术创新研究开题报告

BP神经网络的技术创新研究开题报告论文名称:基于BP神经网络的技术创新预测与评估模型及其应用研究 课题来源:单位自拟课题或省政府下达的研究课题 选题依据: 技术创新预测和评估是企业技术创新决策的前提和依据。通过技术创新预测和评估,可以使企业对未来的技术发展水平及其变化趋势有正确的把握,从而为企业的技术创新决策提供科学的依据,以减少技术创新决策过程中的主观性和盲目性。只有在正确把握技术创新发展方向的前提下,企业的技术创新工作才能沿着正确方向开展,企业产品的市场竞争力才能得到不断加强。在市场竞争日趋激烈的现代商业中,企业的技术创新决定着企业生存和发展、前途与命运,为了确保技术创新工作的正确性,企业对技术创新的预测和评估提出了更高的要求。 二、本课题国内外研究现状及发展趋势 现有的技术创新预测方法可分为趋势外推法、相关分析法和专家预测法三大类。 (1)趋势外推法。指利用过去和现在的技术、经济信息,分析技术发展趋势和规律,在分析判断这些趋势和规律将继续的前提下,将过去和现在的趋势向未来推演。生长曲线法是趋势外推法中的一种应用较为广泛的技术创新预测方法,美国生物学家和人口统计学家RaymondPearl提出的Pearl曲线(数学模型为:Y=L∕[1+A?exp(-B·t)])及英国数学家和统

计学家Gompertz提出的Gompertz曲线(数学模型为:Y=L·exp(-B·t))皆属于生长曲线,其预测值Y为技术性能指标,t为时间自变量,L、A、B 皆为常数。Ridenour模型也属于生长曲线预测法,但它假定新技术的成长速度与熟悉该项技术的人数成正比,主要适用于新技术、新产品的扩散预测。 (2)相关分析法。利用一系列条件、参数、因果关系数据和其他信息,建立预测对象与影响因素的因果关系模型,预测技术的发展变化。相关分析法认为,一种技术性能的改进或其应用的扩展是和其他一些已知因素高度相关的,这样,通过已知因素的分析就可以对该项技术进行预测。相关分析法主要有以下几种:导前-滞后相关分析、技术进步与经验积累的相关分析、技术信息与人员数等因素的相关分析及目标与手段的相关分析等方法。 (3)专家预测法。以专家意见作为信息来源,通过系统的调查、征询专家的意见,分析和整理出预测结果。专家预测法主要有:专家个人判断法、专家会议法、头脑风暴法及德尔菲法等,其中,德尔菲法吸收了前几种专家预测法的长处,避免了其缺点,被认为是技术预测中最有效的专家预测法。 趋势外推法的预测数据只能为纵向数据,在进行产品技术创新预测时,只能利用过去的产品技术性能这一个指标来预测它的随时间的发展趋势,并不涉及影响产品技术创新的科技、经济、产业、市场、社会及政策等多方面因素。在现代商业经济中,对于产品技术发展的预测不能

印刷体汉字识别及其MATLAB实现

印刷体汉字的识别及其MATLAB实现 0.汉字识别研究的意义 汉字已有数千年的历史,是中华民族文化的重要结晶,闪烁着中国人民智慧的光芒。同时也是世界上使用人数最多和数量最多的文字之一。现如今,汉字印刷材料的数量大大增加,一些专业单位所接触的印刷材料更是浩如烟海,信息量均是爆炸性增长。然而,汉字是非字母化、非拼音化的文字,因此,如何将汉字快速高效地输入计算机,是信息处理的一个关键问题,也是关系到计算机技术能否在我国真正普及的关键问题,更是传播与弘扬中华民族悠久历史文化的关键问题。而且随着劳动力价格的升高,利用人工方法进行汉字输入也将面临经济效益的挑战。因此,对于大量已有的文档资料,汉字自动识别输入就成为了最佳的选择。因此,汉字识别技术也越来越受到人们的重视。汉字识别是一门多学科综合的研究课题,它不仅与人工智能的研究有关,而且与数字信号处理、图像处理、信息论、计算机科学、几何学、统计学、语言学、生物学、模糊数学、决策论等都有着千丝万缕的联系。一方面各学科的发展给它的研究提供了工具;另一方面,它的研究与发展也必将促进各学科的发展。因而有着重要的实用价值和理论意义。 1.印刷体汉字识别的研究 1.1印刷体汉字识别技术的发展历程 计算机技术的快速发展和普及,为文字识别技术应运而生提供了必备条件。加上人们对信息社会发展的要求越来越高,文字识别技术的快速发展可想而知。印刷体文字的识别可以说很早就成为人们的梦想。印刷体汉字的识别最早可以追溯到60年代,但都是西方国家进行的研究。我国对印刷体汉字识别的研究始于70年代末80年代初。同国外相比,我国的印刷体汉字识别研究起步较晚。从80年代开始,汉字ORC的研究开发一直受到国家重视,经过科研人员十多年的辛勤努力,印刷体汉字识别技术的发展和应用,有了长足进步。 1.2印刷体汉字识别的原理分析及算法研究 汉字识别实质是解决文字的分类问题,一般通过特征辨别及特征匹配的方法来实现。目前汉字识别技术按照识别的汉字不同可以分为印刷体汉字识别和手写体汉字识别。印刷体汉字识别从识别字体上可分为单体印刷体汉字识别与多体印刷体汉字识别。 印刷体汉字识别的流程如图1-1所示:

离散Hopfield神经网络的联想记忆—数字识别

%%清空环境变量 clc clear %%数据导入 load data1array_one load data2array_two %%训练样本(目标向量) T=[array_one;array_two]'; %%创建网络 net=newhop(T); %%数字1和2的带噪声数字点阵(固定法)load data1_noisy noisy_array_one load data2_noisy noisy_array_two %%数字1和2的带噪声数字点阵(随机法)%noisy_array_one=array_one; %noisy_array_two=array_two; %for i=1:100 %a=rand; %if a<0.3 %noisy_array_one(i)=-array_one(i); %noisy_array_two(i)=-array_two(i); %end %end %%数字识别 %identify_one=sim(net,10,[],noisy_array_one'); noisy_one={(noisy_array_one)'}; identify_one=sim(net,{10,10},{},noisy_one); identify_one{10}'; noisy_two={(noisy_array_two)'}; identify_two=sim(net,{10,10},{},noisy_two);

identify_two{10}'; %%结果显示 Array_one=imresize(array_one,20); subplot(3,2,1) imshow(Array_one) title('标准(数字1)') Array_two=imresize(array_two,20); subplot(3,2,2) imshow(Array_two) title('标准(数字2)') subplot(3,2,3) Noisy_array_one=imresize(noisy_array_one,20); imshow(Noisy_array_one) title('噪声(数字1)') subplot(3,2,4) Noisy_array_two=imresize(noisy_array_two,20); imshow(Noisy_array_two) title('噪声(数字2)') subplot(3,2,5) imshow(imresize(identify_one{10}',20)) title('识别(数字1)') subplot(3,2,6) imshow(imresize(identify_two{10}',20)) title('识别(数字2)')

相关文档
最新文档