神经网络在模式识别中的简单分析及应用毕业论文.doc_第1页
神经网络在模式识别中的简单分析及应用毕业论文.doc_第2页
神经网络在模式识别中的简单分析及应用毕业论文.doc_第3页
神经网络在模式识别中的简单分析及应用毕业论文.doc_第4页
神经网络在模式识别中的简单分析及应用毕业论文.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文 神经网络在模式识别中的简单分析及应用 - 2 - 摘 要 模式识别就是机器识别、计算机识别或者机器自动化识别,目的在于让机器自动 识别事物,使机器能做以前只能由人类才能做的事,具备人所具有的对各种事物与现 象进行分析、描述与判断的部分能力。它研究的目的就是利用计算机对物理对象进行 分类,在错误概率最小的条件下,使识别的结果尽量与客观事物相符合。 随着人们对人工神经网络的不断地认识,神经网络是指用大量的简单计算单元构 成的非线性系统,它在一定程度和层次上模仿了人脑神经系统的信息处理、存储及检索 功能,因而具有学习、记忆和计算等智能处理功能。这样人们利用人工神经网络具有 高度的并行性,高度的非线性全局作用以及良好的容错性与联想记忆功能,并且具有 良好的自适应、自学习功能等突出特点,可运用 MATLAB 神经网络工具箱中的神经网 络模型,对经过训练的神经网络可以有效地提取信号、语音、图像等感知模式的特征, 并能解决现有启发式模式识别系统不能很好解决的不变量探测、抽象和概括等问题。 这样神经网络可应用于模式识别的特征提取、聚类分析、边缘检测、信号增强以及噪 声抑制、数据压缩等各个环节。使用机器来进行模式的识别是一项非常有用的工作, 能够辨别符号等系列的机器是很有价值的。目前,模式识别技术可以应用指纹识别、 IC 卡技术应用、字符识别等实例。模式识别成为人工神经网络特别适宜求解的一类问 题。因此,神经网络技术在模式识别中也得到广泛应用与发展。 关键词:模式识别;人工神经网络;神经网络模型;神经网络技术 Abstract Pattern Recognition is the machine identification, computer identification or identification of machine automation, machine aimed at automatic identification of things to do before the machine can only be made by man can do, with people with all kinds of things and on an analysis of the phenomenon, described with the ability to determine the part. It is the purpose of the study of the physical object to use the computer for classification, the probability of the smallest in the wrong conditions, so that the results of recognition as far as possible in line with objective things. As artificial neural network to recognize the continuing, neural network refers to a large number of simple calculation unit consisting of non-linear system, which to some extent and level system to imitate the human brains information processing, storage and retrieval functions, which has learning, memory and computing functions such as intelligent processing. Such people to use artificial neural network with a high degree of parallelism, the overall role of a high degree of non-linear and good fault tolerance and associative memory function, and have good self-adaptive, self-learning function, such as prominent features, the availability of MATLAB neural network toolbox The neural network model trained neural network can effectively extract the signal, voice, video and other features of perceptual patterns and heuristics to solve the existing pattern recognition systems are not well resolved invariant detection, such as abstract and summary issues. This neural network pattern recognition can be applied to feature extraction, clustering analysis, edge detection, signal enhancement and noise suppression, data compression, such as various links. The use of machines for pattern recognition is a very useful work, such as series of symbols to identify the machines are of great value. At present, the pattern recognition technology can be applied to fingerprint identification, IC card technology applications, such as examples of character recognition. Artificial neural network pattern recognition has become especially suitable for solving a class of problem. Therefore, the neural network pattern recognition technology is also widely used and development. Key words:pattern recognition;artificial neural network;neural network model;neural network technology 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师 的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以 标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究 成果,也不包含我为获得 及其它教育机构的学位或学历而 使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均 已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文) 的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本; 学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与 阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论 文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名: 日 期: 学位学位论论文原文原创创性声明性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研 究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文 不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位学位论论文版文版权权使用授使用授权书权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 指导教师评阅书指导教师评阅书 指导教师评价:指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 指导教师:指导教师: (签名) 单位:单位: (盖章) 年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价:评阅教师评价: 一、一、论论文(文(设计设计) )质质量量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 二、二、论论文(文(设计设计)水平)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 评阅教师:评阅教师: (签名) 单位:单位: (盖章) 年年 月月 日日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价:教研室(或答辩小组)评价: 一、答一、答辩过辩过程程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格 3、学生答辩过程中的精神状态 优 良 中 及格 不及格 二、二、论论文(文(设计设计) )质质量量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、三、论论文(文(设计设计)水平)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评定成绩:评定成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 教研室主任(或答辩小组组长):教研室主任(或答辩小组组长): (签名) 年年 月月 日日 教学系意见:教学系意见: 系主任:系主任: (签名) 年年 月月 日日 目 录 引言.- 1 - 1 模式识别概述- 1 - 1.1 模式识别基本概念- 1 - 1.2 模式识别系统.- 2 - 1.3 模式识别的主要方法.- 2 - 1.4 模式识别应用.- 3 - 2 人工神经网络概述.- 4 - 2.1 人工神经元模型.- 4 - 2.1.1 阀值函数、Sigmoid 函数和分线段性函数.- 5 - 2.2 人工神经网络模型- 5 - 2.3 神经网络学习特点- 6 - 2.4 人工神经网络在模式识别问题中应用优势- 6 - 3 神经网络模式识别.- 7 - 3.1 基于 BP 神经网络的模式识别.- 7 - 3.1.1BP 神经网络模型简述- 7 - 3.1.2BP 学习算法.- 8 - 3.1.3BP 神经网络应用于字符识别- 9 - 3.2 基于径向基函数神经网络的模式识别- 16 - 3.2.1 径向基函数神经网络模型简述- 17 - 3.2.2 径向基函数神经网络应用特征模式的分类- 18 - 3.3 基于自组织竞争神经网络的模式识别- 19 - 3.3.1 自组织竞争神经网络基本思想- 20 - 3.3.2 自组织竞争神经网络设计模式分类器的应用.- 20 - 3.4 基于反馈型神经网络的模式识别.- 24 - 3.4.1 反馈型神经网络模型简述.- 24 - 3.4.2 反馈型神经网络在工程领域的应用- 24 - 4 实验分析与总结.- 31 - 参考文献- 32 - 附 录- 33 - 引言 模式识别的具体过程大致是对研究对象进行数据采集,数据预处理,特征提取和 选择以及模式分类四步骤。在此,运用 MATLAB 神经网络工具箱中的神经网络模型, 利用人工神经网络技术解决有关模式识别的简单问题。 1 模式识别概述 1.1 模式识别基本概念 模式识别就是机器识别、计算机识别或者机器自动化识别,目的在于让机器自动 识别事物,使机器能做以前只能由人类才能做的事,具备人所具有的对各种事物与现 象进行分析、描述与判断的部分能力。它研究的目的就是利用计算机对物理对象进行 分类,在错误概率最小的条件下,使识别的结果尽量与客观事物相符合。机器辨别事 物最基本的方法是计算,原则上说是对计算机要分析的事物与标准模板的相似程度进 行比较计算。 对于一些比较简单的模式识别问题,可以认为模式识别就是模式分类。如对于识 别“0”到“9”这 10 个阿拉伯数字的课题研究,可以将其转化为把待识别的字符分为 从“0”到“9”这十类中某一类的问题。但是,对于比较复杂的识别问题,仅用简单 的模式分类就很难实现模式识别,因此还需要对待识别模式进行有关特征描述。 在模式识别技术中,被待观测的每个对象称为样品。对于一个样品来说,必须确 定一些与识别有关的因素作为研究的依据,每一个因素称为一个特征。模式就是样品 所具有特征的描述。模式特征集又可用处于同一个特征空间的特征向量表示。如果一 个样品X有n个特征,则可以把X看作一个n维列向量,该向量X称为特征向量。 这样,模式识别问题就是根据X的n个特征来判断模式X属于哪一类。待识别的 不同模式都在同一特征空间中考察,不同模式类由于性质上的不同,它们在各特征取 值范围内有所不同,因而会在不同的特征空间的不同区域中出现,因此,模式识别系 统的目标是在特征空间和解释空间之间找到一种映射关系。特征空间由从模式得到的 对分类有用的度量、属性以及基元构成的空间。解释空间是由所有不同所属类别的集 合构成。正因如此,在模式识别过程中,要对许多具体对象进行观测,以获得许多观 测,其中有均值、方差、协方差和协方差矩阵等。 1.2 模式识别系统 对于一个具体的模式识别问题,一般要进行数据采集、数据预处理、特征提取与 选择以及模式分类四步骤。研究模式识别过程实际上就是实现由数据空间经特征空间 到类别空间的映射。在模式识别中,通常将经数据预处理后的原始数据所在的空间称 为测量空间,把分类进行的空间叫做特征空间。 一个模式识别系统是由学习模块和测试模块两个模块组成,如图 1-2 所示。 图 1-2 模式识别系统示意 在两个模块中都需要数据的预处理,而数据预处理功能是多方面的,如除去噪声 信号的边缘影响;将研究有关的模式分离;对模式样品标准化等。训练模式样本的特 征数据输入过程,就是将已知的模式样品进行数值化后载入计算机。这样对于输入样 品进行分析,除去对分类无用或者易造成混淆的特征,尽量保留对分类判别有效的数 值特征,于是完成模式识别的特征选择。接下来就是按照设定的分类判别模型对给定 的训练样品进行训练,得到分类的判别规则,有了判别规则就可以进行模式识别过程, 最后得到输出识别结果。 1.3 模式识别的主要方法 模板匹配方法、结构模式识别和统计模式识别是目前常用的模式识别方法。模板 匹配模式识别是通过比较待识别模式和已有模式的相似程度来达到识别模式的目的, 也是应用最早最简单的模式识别形式。随着科学技术的发展和研究对象的深入,模式 识别问题也变得非常复杂多变,这就要求人们对于事物的识别不仅局限于简单的模式 分类,还需要应对模式结构作全面完善的描述,从而需要运用结构模式识别方法。但 未知模式 数据获取 数据预处理 未知模式特征 提取和选择 模式分 类决策 训练样品特 征数据输入 训练样本特征 提取和选择 确定判 别规则 调整特征提 取与选择 改进判别规则 数据预处理 误差检测 识别结果 是目前,研究最多也较为深入的模式识别方法是统计模式识别,神经网络模式识别技 术也可以归为到这类方法中。在统计模式识别中,每一个模式采用多维特征或测量值 来表示,最终的目的是由这些特征构成的空间能将各模式类有效的分离。 统计模式识别主要研究对象的因素包括特征的提取和优化、分类判别和聚类判别。 如何确定合适的特征空间是设计模式识别系统一个非常重要的问题,对特征空间进行 优化可以采用特征选择和特征组合优化两种基本方法。对于已知若干个样品的类别以 及特征,我们需要对分类问题建立一个样品库。根据这些样品库建立判别分类函数, 这就让机器学习来实现,然后对某些未知的新对象分析它们的特征以至决定它们属于 哪一类,就需要有监督学习的方法。有时候,已知若干对象和它们的特征,但不知道 每个对象属于哪一类,而且事先也并不知道究竟分为几类。这样就可能需要考虑用某 种相似性度量的方法,即运用“物以类聚,人以群分”的思想,把特征相似或相同的 归为同一类,这样就采用了无监督的学习方法。 1.4 模式识别应用 模式识别技术已广泛应用于文字识别、语音识别、图像识别、指纹识别、身份识 别、医学诊断、工业产品检测等众多科学领域。模式识别技术同时也是人工智能的基 础技术。随着科学技术的不断发展,模式识别不断发展和完善,模糊理论、神经网络、 遗传算法和支持向量机等研究成果也渗透进来,融合形成了解决复杂问题的一种有效 机制。 在运用模式识别技术中,我们需要根据具体问题与模式识别方法结合起来,同时 把人工神经网络、智能计算结合起来,逐步通过模式分类、网络训练、确定优化区域, 找到优化准则,从而实现优化、应用和发展。 经过多年的科学发展,文字识别是模式识别领域发展最为成熟并应用最为广泛的 方面。如手写体阿拉伯数字的识别在邮政信函自动分拣上起到重要的作用。语音识别 的难度和复杂度都很高,因为要提取语音的特征,不仅要分析语音的结构和语音的物 理过程,还要涉及听觉的物理和生理过程。但是,语音识别课题已在不同领域中运用, 尤其在身份鉴别中起到很大作用。同样地,模式识别在医学上应用也很多,如医学图 片分析、染色体的自动分类、癌细胞的分类等领域。应该可以这样说,模式识别技术 在科学不断发展的推动下,已逐渐被人们所认知和认同,并能结合新的有关科学研究 技术,可以有效的解决复杂多变的识别问题,提供了一种分析解决问题的重要工具。 2 人工神经网络概述 2.1 人工神经元模型 神经网络是指用大量的简单计算单元(神经元)构成的非线性系统,它在一定程度和 层次上模仿了人脑神经系统的信息处理、存储及检索功能,因而具有学习、记忆和计 算等智能处理功能。人工神经网络结构和工作原理基本上是结合人脑的组织结构和活 动规律,来反映人脑的某些基本特征,但并不是对人脑部分的真实再现。 人工神经元模型是生物神经元的模拟和抽象。根据生物神经元的结构和工作原理, 构造一个神经元如图 2-1 所示。 人工神经元是人工神经网络的基本单元,从图中可以看出,它相当于一个多输入 单输出的非线性阀值器件。这里的 123 , n p ppp表示n个神经元的输入; 123 , n w w ww表示与该相连的n个突触的连接强度其值成为权值,其每个元素的值可 以为正负,正值的表示为兴奋型突触,负值的表示为抑制型突触; 1 n ii i w p 表示人工神 经元的输入总和,也就是激活值,对应于生物神经细胞的膜电位;a表示该神经元的 输出;表示该人工神经元的阀值; f 表示神经元的输入输出关系函数,亦即激活函 数或传输函数。如果神经元输入的加权和 1 n ii i w p 大于,则该神经元被激活。这样可 以表示神经元的激活函数为 1 n ii i afw p .阀值一般不是一个常数,是随着神经 元的兴奋程度而发生变化的。激活函数a常用的三种类型是:阀值函数、Sigmoid 函数 和分线段性函数。 2.1.1 阀值函数、Sigmoid 函数和分线段性函数 激活函数常用的三种类型是:阀值函数、Sigmoid 函数和分线段性函数。现简述这 三种类型函数。 (1)阀值函数 阀值函数定义为: 1,0 . 0,0 t f t t 该阀值函数通常称为阶跃函数,若激活函数采用阶跃函数,则该人工神经元模型 即为著名的 MP 模型。这时神经元的输出取 1 或 0,反映了神经元的兴奋或抑制。此外, 符号 sgn t 函数也常作为神经元的激活函数,即表示为: 1,0 sgn. 1,0 t t t (2)Sigmoid 函数 Sigmoid 函数也称为S型函数,是人工神经网络中最常用的激活函数。S型函数定 义为: 1 , 1 at f t e 其中a是S型函数的斜率参数。通过调整参数a,可以获取不同 斜率的S型函数。 (3)分线段性函数 分段性函数定义为: 1,1 , 11. 1,1 t f ttt t 该函数在线性区间1,1内的放大系数是一致的。这种形式的激活函数可看作是非 线性放大器的近似。 2.2 人工神经网络模型 根据神经元之间连接的拓扑结构上的不同,大致可以将神经网络结构分为两种形 式,即分层型和相互连接型神经网络。 分层型网络是将一个神经网络中的所有神经元按功能分为若干层,一般有输入层、 隐含层和输出层,各层顺序连接。按网络的拓扑结构的不同,可以将分层神经网络细 分为简单的前馈型网络、具有反馈型的前馈网络以及层内的互连前馈型网络。相互连 接型的神经网络则是网络中任意两个神经元之间相互连接。 随着人工神经网络技术的发展,人们对神经网络的认识已不断进步和完善,提出 了许多神经网络模型,其研究应用广泛的神经网络模型是 BP 神经网络、径向基函数神 经网络、自组织竞争神经网络、反馈型神经网络和概率神经网络等。 2.3 神经网络学习特点 人工神经网络与生物神经网络一样,必须要经过学习才具有智能功能。神经网络 学习过程实际是调节权值和阀值的过程。模仿人的学习过程,人们提出了多种神经网 络的学习方式,其中主要有三种形式:有监督学习、无监督学习和强化学习。学习往 往是一个相对持久的变化过程,也是一个推理的过程。 有监督学习是指在有“导师”指导和考察的情况下进行学习的方式,所图 2-2 所 示。神经网络学习系统根据一定的学习规则进行学习,每次学习过程完成后。“导师” 都要考察学习的结果是否达到所需的要求,并以此来决定网络是否需要继续学习。无 监督学习是不存在“导师”的指导和考察,是靠学习者或神经网络系统自身完成的, 如图 2-3 所示。其实这是一种自我学习、自我组织过程。强化学习就介于有监督学习 和无监督学习两种方式之间,如图 2-4 所示。 输入 p实际输出输入 p实际输出 输入 p实际输出 误差条件评价标准 期望输出 图 2-2 有监督学习方式 图 2-3 无监督学习方式 图 2-4 强化学习方式 2.4 人工神经网络在模式识别问题中应用优势 人工神经网络,简称神经网络,是对人脑或自然神经网络若干基本特性的抽象和 模拟,是一种基于连接学说构造的智能仿生模型,是由大量神经元组成的非线性动力 系统。 以生物神经网络为模拟基础的人工神经网络试图在模拟推理和自动学习等方面发 展,使得人工智能更接近人脑的自组织和并行处理功能,它在信息处理、模式识别、 聚类分析和智能控制等领域应用广泛。神经网络的主要特点是: (1)并行协同处理信息。神经网络中每个神经元都可以根据接受到的信息进行独立 的运算和处理,并输出计算结果,同一层的各个神经元的输出结果可以被同时计算出 来,然后传输给下一层做进一步处理,体现了神经网络并行处理运算的特点,这使得 它具有很强的实时性。 (2)知识的分布存储能力。在神经网络中,知识不是存储在特定的存储单元中,而 是分布在整个系统中,要存储多个知识就需要更多链接。在计算机中,只要给定一个 神经网络 学习系统 误差分析 神经网络 学习系统 神经网络 学习系统 外部环境 地址就可以得到一个或一组数据。人根据联想记忆可以正确识别图形,人工神经网络 就采用联想记忆的办法来获得存储的知识,保证网络的正确性,提高了网络的容错性 和鲁棒性。 (3)对信息的处理具有自组织、自学习特点,便于联想、综合和推广。神经网络的 神经元之间的连接强度用权值大小来表示,这种权值可以通过对训练样本的学习而不 断变化,而且随着训练样本量的增加和反复学习,这些神经元之间的连接强度会不断 增加,从而提高神经元对这些样本特征的反映灵敏度。 (4)模式识别能力。目前有很多神经网络模型可以善于模式识别。模式识别也是人 工神经网络最重要的特征之一。它不但可以能识别静态信息,对实时处理复杂的动态 信息也显示强大的作用。虽然模式识别往往是非常复杂的,里面的各个因素相互影响, 呈现出复杂多变的非线性关系,但是人工神经网络技术为解决这类非线性问题提供了 强有力的方法。 纵观人工神经网络特点,神经网络处理模式识别问题上,相比其他传统方法,具 有以下优点:首先对所处理的问题的了解要求不是很多;其次就是可以对特征空间进 行更为复杂的划分;再次它适用于高速并行处理系统的实现。事物发展总是有两面的。 人工神经网络也存在自身固有的弱点,如网络需要更多的训练数据,无法获取特征空 间中的决策面,以及在非并行处理系统中的模拟运行速度慢等缺点。 3 神经网络模式识别 3.1 基于 BP 神经网络的模式识别 单层神经网络只能解决线性可分的问题,对于非线性分类问题就需要运用多层神 经网络,还需要寻找训练多层神经网络的学习算法。目前,最著名的多层神经网络学 习算法应该是 BP 算法。BP 算法训练的神经网络就是 BP 神经网络。在众多人工神经 网络模型中,大部分采用 BP 网络或是它的变化形式,可以说 BP 神经网络是前馈型网 络的核心部分,体现了人工神经网络最精华的部分。BP 神经网络采用的是有监督学习 方式。 3.1.1BP 神经网络模型简述 前馈型神经网络通常含有一个或多个隐层,隐层中的神经元基本均采用S型传递 函数,输出层的神经元采用线性传递函数。BP 神经网络属于前馈型神经网络,它具有 前馈型神经网络的基本结构。一个典型的 BP 神经网络如图 3-1 所示,有一个隐层,隐 层神经元数目为 S,隐层采用S型神经元函数 logsig( ),具有R个输入。隐层的非线性 传递函数神经元可以学习输入输出之间的线性和非线性关系,线性的输出层是为了拓 宽网络输出。 输入向量 神经元 图 3-1 BP 神经网络简单模型 1 () n ii i afw p 3.1.2BP 学习算法 BP 神经网络学习算法解决了多层感知器的学习问题,促进了神经网络的发展。在 BP 网络学习过程主要在两个方面: (1)工作信号正向传播:指的是输入信号从输入层经隐层神经元,传向输出层,在 输出端产生输出信号。在信号的向前传递过程中的权值是固定不变的,每一层神经元 的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入误差 信号反向传播。 (2)误差信号反向传播:指的是网络的实际输出与期望输出之间差值即为误差信号, 误差信号由输出端开始逐层向前传播。在此过程中,网络的权值由误差信号反馈进行 相应地调节。通过权值的不断修正使网络的实际输出更接近期望输出。 但是 BP 算法的存在以下主要缺点:收敛速度慢、局部极限、难以确定隐层和隐层 节点个数。针对 BP 算法这些缺点,出现了许多改进算法。BP 算法的改进主要有两种 途径:一种采用启发式学习算法,另一种则是采用更有效的优化算法。 所谓启发式算法就是对于表现函数梯度加以分析,从而改进算法,其中包括:有 动量的梯度下降法(traingdm)、有自适应 lr 的下降法(traingda)、有动量和自适应 lr 的 梯度下降法(traingdx)和弹性梯度下降法法(trainrp)等。 另一种优化算法则是基于数值最优化理论的训练算法,有共轭梯度法 (traincgbtraincgftraingcgptrainscg)、高斯牛顿法(trainbfgtrainoss)和 Levenberg- Marquardt 算法(trainlm)。 有动量的梯度下降法 在神经网络工具箱中,traindm 函数采用了有动量的梯度下降法。动量法降低了网 络对于误差曲面局部细节的敏感性,所加入的动量项实际上相当于阻尼项,它减少了 学习过程的振荡趋势,从而改善了收敛性,提高了学习速度并增加了算法的可靠性。 其训练函数调整参数,详见附录三。 有自适应 lr 的梯度下降法 在梯度下降法中,学习速率对于整个网络训练过程有很大的影响,训练成功与否 跟学习速率的选取关系很大。要是在训练过程中合理地修改学习速率,可能会避开一 些缺陷,从而增加稳定性,提高学习速度和精度。其训练函数调整参数详见附录三。 无论是函数逼近还是模式识别,都必须对神经网络训练。训练之前首先需要样本, 样本中包含输入向量P以及相应的期望输出向量T,训练过程中应不断调整权值和阀 值,使得神经网络的表现函数达到最小。前馈型神经网络的表现函数缺省为网络输出 a和期望输出向量T的均方差 mse。 这样,在训练神经网络之前需要构造一个网络构架,函数 newff( )就是构造神经网 络的,其指令格式: net=newff net=newff(PR,S1 S2SN,TF1 TF2TFN,BTF,BLF,PF) 其中参数意义: PR 输入向量的取值范围; Si 第i层的神经元个数,共N层; TFi 第i层的传递函数,缺省值为tansig; BTF BP网络训练函数,缺省值为trainlm; BLF BP网络权值和阀值的学习函数,缺省值为learngdm; PF 性能函数,缺省值为mse。 执行结果是创建一个N层的 BP 神经网络。然后需要调整参数方式和参数值,当神 经网络的权值和阀值初始化以后,我们就可以对网络进行训练并仿真。 3.1.3BP 神经网络应用于字符识别 (1)问题描述 设计一个 BP 网络并训练它来识别字母表中的 26 个字母,最后结果是对应每个字 母有一个 57 的布尔量网格,但是实际得到的字母网络图存在一些非线性因素或者噪 声干扰,因此设计出来的网络不仅要能够对理想的输入向量进行很好的分类,也要对 误差的输入向量具有合理的准确度量。不妨假设,26 个字母含 35 个元素的输入向量被 定义成一个输入向量矩阵 alphabet(字母表)。目标向量也可以被定义成一个变量 targets(目标集)。其中每个目标向量含有 26 个元素。向量代表某个字母,则对应位置 的元素值为 1,而其他位置对应的值为 0。同时网络还应具有容错能力,对输入向量, 若其噪声均值为 0,标准差不大于 0.2,则能够分辨出来。 (2)设计 BP 网络,初始化并训练网络 建立一个有两层结构的 logsig 网络,它的输出范围在 01 间,同时需要 35 个输 入,在输出层需要 26 个神经元。考虑到神经元数目的选择,隐含层设计 10 个神经元。 那么设计好训练网络后,就是要使其输出向量中正确的位置值为 1,其余为 0,但是有 非线性因素和噪声信号的干扰,网络可能就不是那么精确输出值为 1 或 0,这就需要在 训练之后,引入有噪声的字母信号输入网络,就可以实现我们的目标值。 接下来就初始化,使用 newff 创建一个两层 BP 网络 %网络初始化 alphabet,targets=prprob; R,Q=size(alphabet); S2,Q=size(targets); S1=10; P=alphabet; net= newff(minmax(P),S1 S2,logsig logsig,traingdx); net.LW2,1=net.LW2,1*0.01; net.b2=net.b2*0.01; T=targets; 其中在 matlab 神经网络工具箱中有 prprob 函数为: help prprob PRPROB Character recognition problem definition ALHABET,TARGETS = PRPROB() Returns: ALPHABET - 35x26 matrix of 5x7 bit maps for each letter. TARGETS - 26x26 target vectors. 接下来,为了使得产生的网络对输入向量有一定的容错能力,可以通过使用理想 的信号和带有噪声的信号对网络进行训练,这样使用 20 组理想信号和带有噪声的信号 对网络训练,开始使用无噪声的信号训练,当训练时间达到 5000 个时间单位或者网络 的平方和误差小于 0.1 时停止网络的训练。 %网络训练参数设置 net.performFcn=sse; net.trainParam.goal=0.1; net.trainParam.show=20; net.trainParam.epochs=5000; net.trainParam.mc=0.9; %开始对无误差输入向量进行训练 net,tr=train(net,P,T); 结果训练误差变化情况如图 3-2 所示,得到其曲线能在比较快的时间内达到网络训 练指标性能。 图 3-2 无噪声训练过程误差变化曲线情况 其训练过程变化情况: TRAINGDX, Epoch 0/5000, SSE 168.447/0.1, Gradient 46.0382/1e-006 TRAINGDX, Epoch 20/5000, SSE 25.9424/0.1, Gradient 2.1607/1e-006 TRAINGDX, Epoch 40/5000, SSE 24.7933/0.1, Gradient 0.468514/1e-006 TRAINGDX, Epoch 60/5000, SSE 24.419/0.1, Gradient 0.58441/1e-006 TRAINGDX, Epoch 80/5000, SSE 22.4912/0.1, Gradient 0.833666/1e-006 TRAINGDX, Epoch 100/5000, SSE 14.8143/0.1, Gradient 0.921702/1e-006 TRAINGDX, Epoch 120/5000, SSE 3.27575/0.1, Gradient 0.387826/1e-006 TRAINGDX, Epoch 140/5000, SSE 0.282525/0.1, Gradient 0.0507834/1e-006 TRAINGDX, Epoch 154/5000, SSE 0.0943065/0.1, Gradient 0.0158945/1e-006 TRAINGDX, Performance goal met. 同时,为了保证设计的网络正确的识别,对加了噪声的字母表进行训练,还有设 置向字母表向量加入噪声信号平均值分别为 0.1 和 0.2,与此同时,设置网络训练最大 时间为 300 个单位时间,并且误差参数设为 0.6。 %网络训练参数设置,并对有误差输入向量进行训练 netnew=net; netnew.trainParam.goal=0.6; netnew.trainParam.epochs=300; T=targets targets targets targets; pause for pass=1:20 P=alphabet,alphabet,. (alphabet+randn(R,Q)*0.1),. (alphabet+randn(R,Q)*0.2); netnew,tr=train(netnew,P,T); end 最后为了保证网络总是能够正确的对理想输入信号进行分类,需要再次对无噪声 信号进行训练。 %网络再次对无误差输入向量进行训练 P=alphabet; T=targets; net.performFcn=sse; net.trainParam.goal=0.1; net.trainParam.show=50; net.trainParam.epochs=5000; net.trainParam.mc=0.9; net,tr=train(net,P,T); 为了测试设计的神经网络模式识别系统的可靠性,用数百个加入不同数量噪声的 字母表向量作为输入,来观察其输出结果,并对系统性能做出合理地评估。我们可以 得到网络输出误差与噪声信号的指标的比较曲线,最后测试系统,实验中验证A、 C、E、G、I、K、M、O、Q、S、U、W、Y,对它们加入误差信号,然后把 它们输入到网络中,观察其得到的输出。 %测试网络的容错性 noise_range=0:0.05:0.5; max_test=100; T=targets; for i=1:11 noiselevel(i)=noise_range(i); errors1(i)=0; errors2(i)=0; for j=1:max_test P=alphabet+randn(35,26)*noiselevel(i); A=sim(net,P); % 测试未经误差训练的网络 AA=compet(A); errors1(i)=errors1(i)+sum(sum(abs(AA-T)/2; % 测试经过误差训练的网络 Anew=sim(netnew,P); AAnew=compet(Anew); errors2(i)=errors2(i)+sum(sum(abs(AAnew-T)/2; end end figure plot(noise_range,errors1*100,-,noise_range,errors2*100); title(识别错误率); xlabel(噪声指标); ylabel(未经误差训练的网络 - - 经过误差训练的网络-); %对实际含噪声的字母进行识别 for index=1:2:26 noisyJ=alphabet(:,index)+randn(35,1)*0.2; figure; plotchar(noisyJ); A2=sim(net,noisyJ); A2=compet(A2); answer=find(compet(A2)=1); figure; plotchar(alphabet(:,answer); end 由于使用不同级别的误差信号,绘制网络输出错误与噪声信号的比较的曲线,如 图 3-3 所示。 图 3-3 识别结果错误率模拟曲线 由图 3-3 曲线显示,实线是经过噪声信号和非噪声信号训练后的网络,具有很高 的可靠性性能。虚线是同网络只经过非噪声信号没有经过噪声信号训练的网络的可靠 性能情况。 结果得到含噪声的输入字母和网络识别后的输出字母图,可以看出设计的网络能 正确识别出相应的字母。 测试实验的几个含噪声的输入字母和识别结果效果图对比,如图 3-43-13 所示 图 3-4 含噪声信号输入字母 A 图 3-5 对应识别效果字母 A 图 3-6 含噪声信号输入字母 E 图 3-7 对应识别效果字母 E 图 3-8 含噪声信号输入字母 G 图 3-9 对应识别效果字母 G 图 3-10 含噪声信号输入字母 S 图 3-11 对应识别效果字母 S 图 3-12 含噪声信号输入字母

温馨提示

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

评论

0/150

提交评论