hslogic_模式识别人工神经网络BP算法

识别活动是人类的基本活动,人们希望机器能代替人类进行识别工作。因此模式识别的理论和方法引起了人们极大的兴趣并进行了长期的研究,现已发展成一门多学科交叉的学科。针对不同的对象和不同的目的,可以用不同的模式识别理论、方法。而人工神经网络能较好地模拟人的形象思维,而且由于具有大规模并行协同处理能力、较强的容错能力和联想能力以及较强的学习能力,所以将神经网络方法运用到模式识别中去解决识别问题己成为国内外科技工作者广泛关注的热点。

本文首先对模式识别、神经网络的发展概况以及应用神经网络来进行模式识别的历史渊源等方面作了较为详细的介绍,然后分析了模式识别的一些基本概念、方法,指出了其困难和要求,同时给出了神经网络进行模式识别的方法,并比较它与传统方法的异同,说明了神经网络方法进行模式识别的特点与优越性;然后给出了本文核心即BP神经网络模式分类的实现思想。运用上述研究成果,借助于MATLAB,用BP算法完成了神经网络结构设计。进行的测试表明其运行稳定、字符识别率较高,表明了本文研发成果的有效性。

神经网络的研究是以人脑为基础的一门智能科学的研究与探索,实际上,40年代初,就有人认识到这一领域研究的重要性。可以说,它的研究与当今串行计算机的研究是同步进行的。但是,由于当时分子生物学发展的限制,人脑的机理还未真正弄清楚,从而影响这一研究领域的进展:另一方面,由于VLSI技术日新月异的进步,使串行计算机及人工智能技术在规模、速度上得到迅猛的发展,从而掩盖了这一科学研究的必要性和迫切性。所以,当时神经网络理论的发展是缓慢的。

80年代,人们逐渐认识到,由于传统计算机是建立在冯诺依曼型顺序处理结构基础上的串行计算机,它们存在许多缺点与不足。一是运行必须按事先设计好的一整套精确的串行算法来进行,但对目多实际问题很难找到(甚至不存在)这样的串行算法,二是串行结构在根本上限制了其运算速度,不能实时处理;三是适应性较差,往往很小的局部损坏或考虑不周便会影响整个系统的工作性能。这些不足迫切需要研制和设计出具有新的计算原理的新结构计算机,而以人脑为模型的神经网络学的研究是解决这一问题的崭新途径。所以,目前人们在人脑机理研究的基础上,广泛开展仿脑模型的人工神经网络理论的研究。预计这一研究的应用不仅会推动神经网络动力学系统理论本身,而且将新一代计算机的设计原理结合起来,给信息高科技的应用与开发带来新的变革川。

目前,各国都十分重视这一学科的研究,并投入巨资开展这项研究工作。研究目标是利用计算机研究人脑的学习过程,揭示人脑思维功能奥妙。模式识别是信号处理与人工智能的一个重要分支,它已发展成为一门独立的新学科,成为当代高科技研究和应用的重要领域之一。模式识别理论的发展与计算机科学的发展是分不开的,人们研究中发现计算机科学随着VLSI技术日新月异的发展,虽然取得了惊人的成就,但它要直接感知声音、文字、图象等外界信息则十分困难。这是因为计算机的理论是建立在二值逻辑的基础之上的,对任何命题,非0即1(即非假即真)。显然,仅仅这两个值是不能真实地反映千变万化活动的人脑思维的。因而,需要以人工智能、神经网络为核心开辟新的研究领城来解决这一难题。

人类的视觉分类是建立在一种特殊的信息处理机理上.视觉图形识别的“原型”理论(prototypetheory)认为,人脑通过构造“原型”来表征某一类图形:“原型”被看成是属于某类图形的各个类别图形的“综合”或统计平均,是这类图形的最有代表性的、存在于记忆中的抽象的表征图形.一个具体图形的识别,就是把这个图形的表征与这类图形的原型互相匹配和比较,人脑中需要存储的只是一类图形的一个原型,而不是这类图形的所有的各个图形lzl。因此,较之模板(template)等理论,原型理论具有解释人类视觉系统的灵活性和高效率的潜在的可能。这一“原型”理论已由几例脑损伤病人的神经心理学实验证实。

视觉模式分类所基于的优越计算法则为墓于人工算法实现的机器识别理论的发展提供了崭新的途径,所以,有必要深人研究大脑的视觉信息处理机制。然而,生物学家在研究大脑时发现,迄今为止宇宙间尚未能找到能与大脑的复杂性可比拟的东西。视觉皮层是目前人类对自身大脑皮层研究得员透彻的部分。30多年来,各国科学家对视觉系统的深人研究,大大增进了对视觉系统的结构和功能关系的理解。在另一方面,基于冯诺依曼型计算机的串行符号运算法则已对计算机的发展构成“瓶颈”,所以,需要研究基于人脑为基础的新型计算机。

模式识别理论与神经网络理论是相互渗透、互相映射的。人们在最初研究模式识别问题时,也是从智能信息处理的角度人手,这是因为模式识别与人的视觉有着干丝万缕的联系。人的视觉神经系统是人脑神经中枢最丰富的神经分布区域之一,她是人与外界事物交流的“接口”,担负“辩识”与“分类”任务。所以,如果研究清楚了人的视觉模式信息处理的机制,那么,基于视觉模型的神经网络识别系统将因此大受裨益,并会得到长足的发展。

目前,以视觉神经系统为中心的神经网络理论的研究正取得迅猛的发展。在这方面取得的些许进步,都会给模式识别系统带来新的希望。

1.2 神经网络模式识别研究历史

神经科学作为一门科学起始于19世纪末。1875年意大利解剖学家Golgi用染色法最先识别出单个的神经细胞。1889年Cajal创立神经元学说,认为整个神经系统是由结构上相对独立的神经细胞构成的。本世纪初,电生理技术开始发展起来,神经系统各种反射性活动得到详细研究,脑的功能定位学说也被提了出来,脑组织的柱状功能结构观点有了发展,各种感觉系统,特别是视觉系统,得到充分研究,并取得很大发展。

近几十年来,神经科学和脑功能研究的发展极为迅速.有的专家估计,继诺贝尔生理医学奖获得者华生(Watson)和克里克(Crick)于五十年代提出DNA分子双螺旋结构,成功地解释了遍传学问题,在生物学中掀起分子生物学研究的浪潮以后,神经科学(或称脑科学)将是下一个浪潮。一些原先对分于生物学作出贡献的科学家,现在对神经科学发生了极大的兴趣,转而投身于这门科学的研究。又如,1972年度诺贝尔物理学奖获得者库柏(Cooper),现在对记忆问题很有兴趣,并提出了一个关于记忆的模型。日本在制订生物物理学研究规划时,把脑的研究列为第一项。美国的神经科学学会是美国最大的学会之一。当前,世界上有关神经科学的研究机构、学术活动、出版物等相当多,面且有迅速增长的趋势。

在神经网络理论研究的历史进程中,其中的视觉神经系统的研究是最活跃和最成功的领城。所以,基于视觉理论的神经网络模式识别理论的研究也一直是非常活跃的学科,并且被认为是神经网络应用最成功的一个重要方面,它的发展与神经网络理论可以说是同步的。

50年代末60年代初,Rosenblatt提出的Pereeptron(知觉器)和Widrow提出的Adaline(自适应线性元件),从而使我们获得了简单的线性分类器。但是,由于Pereeptron缺少有效的训练方法,致使研究工作非常缓慢。Minsky和Papert于1969年发表了很有影响的《Perceptron》一书,从而使这一研究走向低潮。直至1986年,Rumelhant和MeClelland提出了多层网络的“误差反向传播算法(BP)”,才使这一状况得到改变。自此,也使有导师学习多层感知器网络(MLPN)模式分类器走向实用化。紧接着在多层感知器网络的基础上,又派生出若干前馈网络,如径向基函数网络(RBFN)、函数链网络(FLN)等等。当然,目前神经网络的学习方法己完全突破原先的误差反向传播算法,如递推最小二乘算法、投影算法等。

1982年,美同加州工学院的物理学家HoPfield提出的一种用于联想记忆和优化计算的反馈型网络模型,由于引入了“能量函数”的概念,使得网络走向具体的电路实现得到了保证,从而大大推动了神经网络研究的发展,再一次唤起人们对神经网络研究的兴趣。

1973年,watanabe提出了使用模式子空间的概念来设计不同类别对应的子空间,由不同类别聚类的子空间来实现模式识别,这显然是模式识别最直观的概念。70年代末,Kohonen提出了学习子空间(LSM)模式分类的概念;oja在此基础上又给出了平均学习子空间方法(ALSM),从而使子空间模式识别形成了较完整的体系,井已将这种方法成功地应用在语音音素识别实验中。

实际上,学习子空间方法是一种无导师学习的神经网络模式识别方法。1991年,L.Xu与E.Oja等人用大量并行结构的神经元来实现了这种方法,从而将学习子空间方法与硬件结构形式的神经网络联系起来,使这项工作走向实用化ls1。

1962年,Widrow提出的自适应线性元件(Adaline),就是为当时研究大脑的自适应学习系统而提出来的。由于60年代后期神经网络的研究正处于低潮,所以,Widrow将这一模型理论主要用于自适应信号处理的研究。80年代中后期,人们发现这些理论完全是神经学习系统的基本法则,井完全可以解决自适应模式识别问题。

70年代,Anderson提出的BSB模型,Kokonen提出的自组织特征映射网络模型,Gross一berg等提出的自适应共振理论(ART)等等都为神经网络模式识别理论提供进一步的理论根据。可以说,几乎所有现有的神经网络物理模型都在模式识别领域得到了成功的应用。神经网络理论所取得的一些进步都会给模式识别理论的发展带来鼓舞;相反,模式识别理论的深入研究和进步又会大大推动神经网络理论的长足发展。它们的关系是相互影响、相互渗透的。

现在,国际上神经网络、机器智能和计算机视觉理论都是热门的课题,这些理论日新月异的发展都会给模式识别理论带来新的希望,所以,开展神经网络模式识别理论的研究具有重要的意义和价值。

1.3模式识别的原理和基本概念

人们在日常生活、学校和工作中经常进行识别活动,识别是人类的基本活动之一。人类具有非常复杂和高级的识别系统。一个人在清醒的状态,无时无刻不在进行着识别活动:分辩周围的人和物,听取和识别各种声音。我们常常夸一个人“聪明”,指的就是“耳聪目明”。可以说,除了思维活动,对外界景物及语音的识别和分析构成了人类甚至其它智能活动的重要方面。

那么什么是模式呢?广义地说,模式是信息赖以存在和传递的形式,诸如波谱信号、图形、文字、物体的形状、行为的方式、过程的状态等都属于模式的范畴。

识别能力原本是人类和其他生物的一种基本属性,人们通过模式感知外部世界的各种事物,这是获取知识、概念和作出反应的基础,是一种思维和抽象过程。而在人工智能或信息科学范畴内,模式识别是指用数学、物理方法和技术实现对模式的自动处理、描述、分类和解释,目的在于用机器部分实现人的这种智能活动,所以在目前模式识别所研究的内容可以分为两类:一是对人类和其他生物识别能力及其机理的研究。二是对满足某些应用需要的识别装置的理论和技术的研究。

前者研究的内容主要涉及神经机理和认知心理等方面,往往是它的研究为后者提供理论基础和模仿的依据。而第二个课题主要是通过工程、计算机和其他信息科学等方面的技术和知识,达到以机器模拟或局部超过人的识别能力的目的。它在技术上的提高不但验证了前者的结论,而且为其进一步的研究提供了手段。

需要说明的是,本论文所讨论的是信息领域内的模式识别,而且主要是以图像、图形为基础的模式识别。在所讨论的范畴内,模式和模式识别的定义如下:

模式(Pattern):是对某些感兴趣的客体的定量的或结构的描述;模式类是某些共同特征的模式的集合。

模式识别(Pattern Recognition):是研究一种自动技术,依靠这种技术,机器将自动地把待识别模式根据其特征分到各自的模式类中去。

自动化模式识别技术的应用,其最低限度是减轻人们地劳动强度,提高生产效率,提高社会生产力,更长远地意义在于最终提高人类的生活质量。

1.4模式识别的基本要求及其困难

虽然对于不同的模式识别任务来说,所要满足的要求和要达到的目标不尽相同,但一般对于模式识别技术的基本要求有以下几点:

(l)具有高的或者令人满意的鉴别率(IdentificationRat。)。这应当说是对模式识别最根本的要求和追求更高指标的前提。

(2)具有不变性识别的能力。不变性识别是指在待识别模式发生位置平移(Shift)、尺度伸缩和任意畸变的情形下,仍然能够做到正确识别。以视觉方面的识别为例,手写体文字识别至今仍是一个未解决的难题。此外,我们知道除了由于采集信息的设备造成的变形,当从不同的视场角视物时,得到的图像也是不同的,甚至由于目标的运动,可能发生譬如伸缩、弯曲等物理性畸变。对于生物视觉来说,在目标处于不同的形态时,识别出它是很自然的事情,但是对于机器识别,是很困难的。因为每个畸变发生,都产生一个新的模式,导致的结果是模式库将变得很大,所需运算量也爆炸式地增长。

(3)能实时地完成识别。随着技术的发展和模式识别应用范围的拓宽,能够实时地或者说在线地绘出识别结果变得越来越重要。在很多应用领域,譬如自主机器人驾驶、导弹巡航、指纹锁等的应用上,如果做不到实时识别,即使识别精度再高,识别能力再强,也失去了实际应用的意义。可否实时一般受到计算时间的约束。我们都知道,在计算速度上,计算机有瓶颈效应,光学虽说有必须的优点,在目前却受到器件性能的限制。

(4)可行性。即达到实用的目标。这要求设计的方案在工艺上可实现,不存在对实验室条件的依赖性,以及满足小型化,便携等要求。

对模式识别技术的这四点要求并不是独立的,而是相互制约的。比如畸变发生了,识别率可能下降,畸变样本增多,实时识别也就更加困难了。所以在设计方案时,应当进行权衡比较,在各项要求间取得一个协调的平衡点。

1.5模式识别的系统构成

前面介绍了模式识别的重要性以及两个首先接触的基本概念。一个功能完善的识别系统在进行模式识别之前,首先需要进行学习。一个模式识别系统及识别过程的原理框图可以用下图1.1表示。虚线的上部是识别过程,虚线的下部是学习、训练过程。需要指出的是,应用的目的不同、采用的分类识别方法不同,具体的分类过程和识别过程将有所不同。

下面我们对识别系统的主要环节作简要的说明。

(1)特征提取。无论识别过程还是学习过程,都要对研究对象固有的、本质的及重要的特征或属性进行量测并将结果数值(字)化,或将对象分解并符号化,形成特征矢量或符号串、关系图,从而产生代表对象的模式,模式类中的个体在有些场合中也称为样本,用于学习与训练的样本的类别应是己知的。另外,在进行特征提取之前一般还需要对目标的有关信息进行预处理。

hslogic_模式识别人工神经网络BP算法_第1张图片

(2)特征选择。通常能描述对象的元素很多,为了节约资源,节省计算机存储空间、机时、特征提取的费用,有时更是为了可行性,在满足分类识别正确率要求的条件下,按某种准则尽量选用对正确分类识别作用较大的特征,使得用较少的特征就能完成分类识别任务。这项工作表现为减少特征矢量的维数、符号串字符数或简化图的结构。

(3)学习和训练。为了让机器具有分类识别功能,如同人类自身一样,人们应首先对它进行训练,将人类的识别知识和方法以及关于分类识别对象的知识输入机器中,产生分类识别的规则和分析程序。这也相当于机器进行学习。这个过程一般要反复进行多次,不断地修正错误、改进不足,这包括修正特征提取方法、特征选择方案、判决规则方法及参数,最后使系统正确识别率达到设计要求。目前,机器的学习需要人工干预,这个过程通常是人机交互的。

(4)分类识别。在学习、训练之后,所产生的分类规则及程序用于未知的对象的识别。需要指出的是,输入机器的人类分类识别的知识和方法以及有关对象知识越充分,这个系统的识别功能就越强、正确率就越高,有些分类过程似乎没有将有关对象的知识输入,实际上我们在选择距离测度、在采用某种聚类方法时,已经用到了对象的一些知识,也在一定程度上加入了人类的知识。

1.6模式识别的传统方法

由于识别活动是人类的基本活动,人们希望机器能代替人类进行识别工作,因此模式识别的理论和方法引起了人们极大的兴趣并进行了长期的研究,现已发展成一门多学科的交叉学科。针对不同的对象和不同的目的,可以用不同的模式识别理论、方法。目前主流的技术是:统计模式识别、句法模式识别、模糊数学方法、人工神经网络方法。它们之间往往存在着一定的联系和借鉴。

在二十世纪五十年代,一些研究人员在形式语音理论领域开始研究语法的数学模型。这些语法的数学模型己经明显地影响了编辑器设计、计算机语言和自动化领域的研究。按句法规则的模式识别主要是受到了来自形式语言理论的观念影响。从而,各种语言的语法和结构的模式识别术语也常在文献中用来表示按句法规则的方法。

对于每一个模式,为了表示多级(树状)结构信息,可以将一个模式用一些比较简单的子模式来描述,而每一个比较简单的子模式,再用一些更为简单的子模式加以描述,等等,这就展示了句法或结构的方法。这种处理方法,描绘了模式的结构(多级的,或树状的)和语言的句法两者间的类似性质。模式由一些子模式以各种方式组合而成,正如同英文中的短语和句子由单词连接而成,单词又由字符连接而成一样。显然,为了使这种处理方法表现出其优越性,必须要使选定的最简单的子模式,即“模式基元”,识别起来比识别模式本身容易得多才行。

通过一组模式基元及其组合运算来描述模式的结构的“语言”,有时就被称为“模式描述语言”。由基元组成模式所遵循的那些规则,通常由模式描述语言的所谓文法来确定。在模式中的每个基元被辨认出来以后,识别过程的实现就通过对描述给定模式的“句子”进行句法分析或剖析,来确定它对于指定的文法来说在句法(或文法)上是否正确。同时,句法分析还产生出代表那个给定模式的句子的结构描述(通常具有树状结构的形式)。

模式识别的句法方法使我们能够用一小组简单的描述基元和文法规则来描述一大组复杂的模式。如同在以后将会看到的那样,这种能力最具有吸引力的一个方面,就是可以利用文法的递归性质。一个文法(再写)规则可以使用任意多次,所以就有可能用非常紧凑的方式来表示一个句子的无穷集的某些基本结构特性。自然,这种方法的实际效果将取决于我们是否能很好地识别简单模式基元及由组合运算所代表的基元之间的关系。

1.6.3模糊模式识别

自从1965年扎德教授提出模糊集理论以来,有关模糊信息处理的理论和应用均取得了重大的进展。在现实世界中存在着某些难以精确描述的事物,而模糊数学就是用数学的方法研究和处理具有“模糊性”事物的数学。模糊性主要是指客观事物差异的中间过渡的不分明性。模糊数学并不是把精确的数学变得模糊,而是使用精确的数学方法来处理模糊性事物。它使得人们能够描述模式属于某类的程度。即有些既不绝对属于某类,也不一定绝对不属于某类,只是在一定程度上与某类更相象。所以,传统的集合理论解决这类问题时就遇到了困难。而这些正是模糊集合理论研究的内容,正是这一优点,使模糊逻辑在模式识别中得到了很好的应用。

Ramdas(1994)利用模糊聚类从原始数据中直接提取特征,还能对已经得到的特征进行优选和降维操作,以免造成维数灾难。马少平等(1997)在汉字方向象素特征的基础上,指出了其存在的网格划分固定、特征提取对噪声敏感等不足,在其中加入模糊化描述,使特征变化趋于平滑,从而更好地描述了汉字的特征,为汉字的识别打下了很好的基础。张德喜(2000)把模糊方向线索特征与人工神经网络相结合用于手写体识别,该方法较好地解决了手写体汉字识别中的变形问题,对非相似字大规模集合分类非常有效,提高了汉字的识别率。

聚类是按照事物间的相似性进行区分和分类的过程,是一种典型的无监督学校。传统的聚类分析是一种硬划分,它把待识别的对象严格地划分到某个类中,具有非此即彼的性质,因此这种分类的类别界限是分明的,而实际上大多数的对象没有严格的属性。软划分更适合于聚类分析,因此对模糊聚类的研究引起了人们的注意。李晶皎(1999)把模糊聚类用于语音特征的矢量量化,语音识别时有比较好的效果,丁震等(1997)采用一种改进的模糊聚类方法用于图像分割,取得了比较好的效果。

1.7神经网络模式识别方法

模式识别的任务是把模式正确地从特征空间映射到类空间,或者说是在特征空间中实现类的划分。模式识别的难度和模式在特征空间中的分布密切相关,如果特征空间中的任意两个类可以用一个超平面去区分,那么模式是线形可分的,这时的识别较为容易。但实际应用中,模式的分布往往是很不规则的,这就要求所用的分类器能在模式空间里形成各种非线性分割平面。神经网络是解决这一类问题的好方法。神经网络还具有自适应能力,它不但能自适应地学习,有些网络还能自适应地调整网络的结构。神经网络分类器还兼有模式变换和模式特征提取的作用。所以,一般的神经网络分类器不需要对输入模式做明显的特征提取,网络的隐层本身具有提取的功能。最后一点是,神经网络分类器一般对输入模式信息的不完备或特征的缺损不太敏感,它在背景噪声统计特性未知的情况下,性能更好,而且网络具有更好的推广能力。

基于以上种种优点,使用神经网络进行模式分类是很有意义的。神经网络模式识别已发展成为模式识别领域的一个重要方法,起到了传统模式识别方法不可替代的作用。

1.8神经网络模式识别方法与传统模式识别方法的关系

1.8.1神经网络模式识别与传统模式识别方法的关系

神经网络模式识别与传统的模式识别在很多方面是相联系的,这种联系不但在于它们都是试图从样本数据出发完成模式识别问题,更重要的是它们在方法上具有一定的等价关系。神经网络能够实现一种特殊的非线性变换,把在低维高度非线性的输入空间变换到由其隐层构成的高维输出空间,在这个高维空间中能够较容易找到合适的判决表面,甚至变得线性可分。这与Fisher线性判别准则相对应,可以看作是Fisher线性判别的一种非线性多维推广。Fisher线性判别分析就是寻找一种线性变换,使变换后的Fisher准则函数最大。线性的多维感知机,在其隐层输出所张成的空间中可以实现该准则函数最大.当训练样本数趋于无穷大时,以使均方误差最小为目标训练的多层感知机的输出在统计意义上是对样本贝叶斯后验概率的最小均方误差估计。至于单层感知机,实际上就是一种线性分类器,自组织映射网络如果使其领域交互作用设为零则等价于C一均值算法。CG网等价于样品中心聚类算法,Hamming网在一定条件下等价于最优分类器等等。

1.8.2神经网络模式识别的特点

与传统的模式识别算法相比,人工神经网络有很多的不同和优势。它具有以下特点:

(1)函数逼近能力。神经网络的输入与输出可以看作一个函数映射。神经网络通过不断地调整节点权值,实现了在最小二乘误差条件下输入与输出的最好逼近。

(2)大规模并行协同处理能力。传统的计算机处理信息方式为串行处理。这样处理的速度再快,处理和信息也是有限的。计算与存储是完全独立的两部分。因此,存储器和运算器之间的通道就成了计算机的瓶颈,因而大大地限制了它的运算能力。而神经网络中的神经元之间有着大量的相互连接,所以信息输入之后可以很快地传递到各个神经元之间进行同时处理,即并行处理。

(3)自学习、自组织性。目前基于符号推理的专家系统还不具备自学习能力,即不在运算过程中自我完善、发展和创新的知识。系统的功能取决于设计者的知识和能力。神经网络具有很强的自学习能力,可以在学习过程中不断完善自己,具有创造性。

(4)理想记忆功能。神经网络可以看成由大量子系统组成的大系统,系统的最终行为完全由它的记忆功能决定。初态可以认为是给定有关记忆的部分信息。

(5)具有很强的鲁棒性和容错性。在神经网络中,信息的存储不像传统的计算机那样存在存储器的某一特定位置,而是分布式地存在整个网络中相互连接的权值上,这就使它比传统的计算机具有较高的抗毁性。

总之,人工神经网络能较好地模拟人的形象思维,具有大规模并行协同处理能力、较强的容错能力和联想能力、较强的学习能力。它是一个大规模自组织、自适应的非线性动力系统。

1.9本文研究背景与意义

如今,模式识别技术的发展已由简单应用到在各行各业都有广泛的应用,如:(1)各种嵌入式系统如手机、PDA、信息家电等操作时要求越来越人性化,如能够语音识别、指纹识别、汉字识别等;(2)自动化仪器如自动售货机、自动搬运机、监视装置等;(3)在工业自动检测上如零件尺寸的动态检查、产品质量、包装、形状识别、表面缺陷检测等;(4)医疗仪器上的样本检查分析、X射线摄像、胃镜、肠镜摄像等:(5)军事上有卫星侦察、航空遥感、微光夜视、导弹制导、目标跟踪、军事图像通信等。

随着人们对自动化智能系统的渴求,技术和器件的发展,模式识别的应用范围越来越广,人们不仅仅是要求自动化系统能够替代人完成繁重单调或危险环境下的工作,而是面向于使人们的生活更加方便和舒适,如安全防伪系统、智能机器人、智能卡等等的出现。因而,模式识别技术所面临的挑战除了要求解决大数量模式类的识别和复杂畸变不变性识别的传统难题,而且开始了更复杂的带有感性色彩的识别,如运动员训练及姿势校正,由人走路的姿势识别人,对人的嘴形变化甚至面部表情的识别等等。

而识别模式是所有生物系统共有的主要活动,识别终究可以看作是生物的一种基本属性。生物系统(包括人类)模式识别能力的研究属于诸如心理学、生理学和神经科学等学科的范围。对于用机器实现一个给定任务的识别的实际技术和用于设计这些系统的必要数学构架研究,属于工程、计算机科学和应用数学领域。

随着神经网络技术的出现,在从事生物系统领域研究的工程师和学习以及心理学家、生理学家、语言学家等等之间,建立了共同的研究领域。而且早期的建立模式识别系统的一些工作,实际上是出于生物学上的动机。最常见的历史例子就是所谓的感知机和自适应线性组合器(ADALINE)。这些研究的目的,就是研制出一个识别系统,它的结构和工作方式同人的识别系统相仿。在Minskey等认为感知机能力有限的悲观研究,使这个领域的研究大大地减少了。后来随着更有力的神经技术的出现,神经网络领域研究再一次充满活力。神经网络或连接主义学说,提供了通向真正拥有智能能力的计算机系统这一充满希望的道路。最近几年在人工神经网络领域中的进展,己经使我们离创造出能够像人一样工作的系统这一目标更近了。

总之,神经网络是有效的和能满足预期需要特性的天然分类器。开展它在模式识别领域的研究和运用具有很大的潜力,也具有很大的魅力。

 

 

 

4.1模式识别和模式的概念

人类能对周围的事物有所认识,了解它们颜色、味道、听到声音。这种能力对于人来说极为平常,所以在很长时间内都未引起重视。可是,当计算机出现以后当人们企图用计算机来实现人或动物所具备的识别能力时,它的难度才逐步为人们所认识。什么是模式呢?广义的说,存在于时间和空间中可观察的事物,如果我们可以区别它们是否相同或相似,都可以称之为模式。但模式所指的不是事物本事,而是我们从事物获得的信息。因此模式往往表现为具有时间或空间分布的信息。人们为了掌握客观事物,按事物相似的程度组成类别。模式识别的目的就在于面对某一具体的事物时将其正确的归入某一类别。例如从不同角度看人脸,视网膜上成的像不同,但我们可以识别出这个人是谁,把所有不同角度的像归为一类,即这个人。并且用特定的符号来表达这个名字,那么模式识别可以看成是具有时间和空间分布的信息向着符号所做的映射。

4.2 神经网络的学习

学习方式通过向环境学习获取知识并改进自身性能是NN的一个重要特点,在一般情况下,性能的改善是按某种预定的度量通过调节自身参数(加权值)随时间逐步达到的,学习方式(按环境所提供信息的多少分)有三种:监督学习(有教师学习)这种学习方式需要外界存在一个“教师”,他对一组给定输入提供应有的输出结果(正确答案)。这组已知的输入-输出数据称为训练样本集。学习系统(NN)可根据已知输入与实际输出之间的差值(误差信号)来调节系统参数。非监督学习(无教师学习)非监督学习时不存在外部教师,学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构(这是一种自组织过程),以表示外部输入的某种固有特征(如聚类,或某种统计上的分布特征)再励学习(或强化学习)这种学习介于上述两种情况之间,外部环境对系统输出结果只给出评价(奖或惩)而不是给出正确答案,学习系统通过强化那些受奖励的动作来改善自身性能。

 

 

4.3 利用MATLAB设计BP神经网络和模式识别

4.3.1 产生训练样本和测试样本

多层前馈网络的分类能力与网络信息容量相关如用网络的权值和阀值总数 表征网络信息容量研究表明训练样本数与给定的训练误差之间应满足以下匹配关系表明网络的信息容量与训练样本数之间存在着合理匹配关系在解决实际问题时 训练样本数常常难以满足以上要求对于确定的样本数 网络参数太少则不足以表达样本中蕴涵的全部规律 而网络参数太多则由于样本信息少而得不到充分训练 因此当实际问题不能提供较多的训练样本时必须设法减少样本维数从而降低。

% 产生训练样本,每一列为一个样本

fprintf('随机产生训练样本(15组):\n');

P1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2]     

fprintf('期望输出:\n');

T1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)]

% 产生测试样本,每一列为一个样本

fprintf('随机产生测试样本(15组):\n');

P2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2]     

fprintf('测试样本期望输出:\n');

T2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)]

   我们可以看到P1就是产生三组随机数据做为训练样本,P2就是产生的测试样本。

4.3.2 BP网络的参数设置

算法的基本思想是 学习过程由信号的正向传播与误差的反向传播两个过程组成正向传播时输入样本从输入层传入经各隐层逐层处理后 传向输出层 若输出层的实际输出与期望的输出教师信号不符则转入误差的反向传播阶段误差反传是将输出误差以某种形式通过隐层向输入层逐层反传并将误差分摊给各层的所有单元从而获得各层单元的误差信号此误差信号即作为修正各单元权值的依据这种信号正向传播与误差反向传播的各层权值调整过程是周而复始地进行的权值不断调整的过程也就是网络的学习训练过程此过程一直进行到网络输出的误差减少到可接受的程度或进行到预先设定的学习次数为止。

NodeNum = 10;           % 隐层节点数

TypeNum = 3;            % 输出维数

p1 = xn_train;            % 训练输入

t1 = dn_train;             % 训练输出

Epochs = 1000;           % 训练次数

P = xn_test;              % 测试输入

T = dn_test;              % 测试输出(真实值)

其中隐层节点数的确定是神经网络设计中非常重要的一个环节,一个具有无限隐层节点的两层BP网络可以实现任意从输入到输出的非线性映射。但对于有限个输入到输出的映射,并不需要无限个隐层节点,这就涉及到如何选择隐层节点数的问题,而这一问题的复杂性,使得至今为止尚未找到一个很好的解析式,隐层节点数往往根据前人设计所得的经验和自己进行试验来确定。

net.trainParam.show = 1;            % 训练显示间隔

net.trainParam.lr = 0.3;             % 学习步长 - traingd,traingdm

net.trainParam.mc = 0.95;           % 动量项系数 - traingdm,traingdx

net.trainParam.mem_reduc = 10;      % 分块计算Hessian矩阵

net.trainParam.epochs = 1000;        % 最大训练次数

net.trainParam.goal = 1e-8;          % 最小均方误差

net.trainParam.min_grad = 1e-20;     % 最小梯度

net.trainParam.time = inf;           % 最大训练时间

    通过以上的这只,我们基本完成了BP神经网络的基本参数设置,下面就开始测试。

hslogic_模式识别人工神经网络BP算法_第2张图片

模式识别理论与神经网络理论是相互渗透、互相映射的。目前,以视觉神经系统为中心的神经网络理论的研究正取得迅猛的发展。在这方面取得的些许进步,都会给模式识别系统带来新的希望。本文从神经网络是天然分类器的理论出发,全面研究了神经网络进行模式识别的各个方面,并具体设计了一个的识别系统来进行实际意义上的验证。综合起来,本文主要完成了以下几方面的工作:

l、仔细分析了模式识别、神经网络的历史渊源以及用神经网络来进行模式识别的发展史,然后指出模式识别技术的实际困难和要求。从传统意义上的一些模式识别方法入手,分别研究了他们不同的识别思想,再对神经网络进行模式识别的方法进行分析,从而比较它与传统方法的异同,指出了神经网络方法的特点与优越性。

2、神经网络的底层理论基础是实现模式识别的根本,也是其实现模式识别的可行性的最有力证据。本文在大量研究国内外文献资料的基础上给出了一些概况性理论。首先论述了神经网络的生物基础,然后叙述了神经网络的拓扑结构及学习规则等原理,然后介绍了一些典型的常用于模式识别的神经网络模型,最后给出了神经网络进行模式识别的理论方法。

3、本文介绍了基于BP算法的多层前馈网络模型和它的学习算法,并分析了BP网络的一些优点和能力,同时分析了BP网络的一些局限性,然后在前面基础上给出了为了克服这些局限性而改进其性能的几种方法。综合该章前述内容文中仔细研究了BP网络分类器的各个关键部分设计的问题,并给出了具体设计实现方法。最后设计并实现了一个具体的神经网络模式识别系统,实现对数字及字母识别。

目前,国内外对于神经网络模式识别技术的研究都还基本处于一种起步阶段,很多部分尚待完善和突破,而且由于研发条件、时间因素等一些客观条件限制,所以本文的研究也不是很成熟,还需在下面一些方面做进一步的研究和改进:

1、对神经网络生物机理的进一步深入理论研究,以及能实际应用的人工神经网络的一些学习算法及模型的的研究。同时神经网络和模式识别二者有怎样的内在联系,对这种关系需要更深层次的理解,从而研究出运用神经网络解决模式识别问题的较好方法。

2、传统模式识别方法在很多领域己经获得了较为广泛的应用,虽然神经网络模式识别方法具有它们所不可比拟的优越性,但是传统模式识别方法和神经网络模式识别方法的结合也在很多方面得到了重视,而且怎样结合传统模式识别方法的优点,从而把传统模式识别方法应用到神经网络中进行识别是一个很好的方向,今后应加强这方面的研究。

3、己经得到应用的神经网络模型有很多,而且其中有一些模型具有很大的应用潜力。如何充分研究具有代表性的网络模型进行模式识别,以及研究它们之间的异同进行一种纵向比较能更好地促进神经网络解决识别问题。而且就BP网络作为它们的代表虽然已经获得了很广泛的应用,但是BP网络依然有很多的局限性和不足,这些方面并不是短期内可以改变的,今后需要多结合研究国内外同行的研究成果及方向,从而加强自己这方面的研究水平。

 

你可能感兴趣的:(MATLAB仿真,模式识别,人工神经网络BP算法)