搜档网
当前位置:搜档网 › 本科毕业论文---基于bp神经网络的字符识别算法的实现正文

本科毕业论文---基于bp神经网络的字符识别算法的实现正文

本科毕业论文---基于bp神经网络的字符识别算法的实现正文
本科毕业论文---基于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、完成基于样本的神经网络的训练以及图像中数字的识别,并对其性能进

行统计和总结,分析其中的不足。

指导教师(签字)

年月日

审题小组组长(签字)

年月日

北京理工大学本科生毕业设计(论文)开题报告

摘要

人工神经网络是通过对人脑生物神经机理进行简化,抽象和模拟之后建立起来的一种计算模型,属于机器学习的重要研究领域。

本设计主要提出一种用神经网络来识别含有数字字符的方法。神经网络采用带有动量项和自适应学习率的反向传播算法(BP)进行训练。在识别之前要对图像进行一系列的预处理,主要包含灰度化、二值化、锐化、噪声去除、字符分割、字符归一化、字符骨架提取等。经过预处理的图片适合后续的训练及识别。预处理后对图片上的字符进行特征提取,特征提取的方法很多,这里选择效果较好的十三特征提取法来进行特征提取。最后采用BP神经网络来对待检测的图片上的数字进行识别。

关键词:反向传播算法;BP网络;人工神经网络;图像处理;特征提取

ABSTRACT

Artificial neural network is a computational model which is established after the simplification of the biological neural mechanism of human brain and abstract and simulation. It belongs to the important research field of machine learning.

In this design, a neural network is proposed to identify the method of containing digital character. The neural network is trained by the back propagation (BP) algorithm with momentum and adaptive learning rate. Before identification, there are a series of image pretreatment which are graying, binarization, sharpening, noise removal, character segmentation, character normalization and character skeleton extraction. Images which are pretreated will be more suitable for the later training and recognition. After pretreatment, feature extraction is performed. There are a lot of ways of feature extraction, the extraction method of thirteen features which has better evaluation was chosen here. Finally, it uses BP neural network to identify the numbers on the pictures which are to be tested.

Keywords: BP algorithm; BP Neural Network; ANN; image processing;Feature Extraction.

目录

第一章绪论 (1)

1.1字符识别的简介 (1)

1.2文字识别方法及研究现状 (1)

1.3课题研究内容 (2)

第二章人工神经网络 (3)

2.1人工神经网络算法 (3)

2.2BP网络 (6)

第三章图像的预处理 (12)

3.1256色位图灰度化 (12)

3.2灰度图像二值化 (12)

3.3图像的梯度锐化 (13)

3.4去除离散的杂点噪声 (14)

3.5整体倾斜度调整 (15)

3.6字符分割 (16)

3.7标准归一化 (18)

3.8紧缩的紧缩重排 (19)

3.9特征提取 (20)

第四章基于人工神经网络的数字识别 (21)

4.1系统框架 (21)

4.2基于神经网络的数字识别的基本过程 (22)

4.3程序的运行 (25)

第五章总结与展望 (28)

5.1总结 (28)

5.2后续工作及展望 (28)

参考文献

外文资料

中文译文

致谢

第一章绪论

1.1 字符识别的简介

字符识别是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是字符识别中最重要的课题。

早在60、70年代,世界各国就开始有对于字符识别的研究,而研究的初期,多以文字的识别方法研究为主,且识别的文字仅为0至9的数字。以同样拥有方块文字的日本为例,1960年左右开始研究OCR的基本识别理论,初期以数字为对象,直至1965至1970年之间开始有一些简单的产品,如印刷文字的邮政编码识别系统,识别邮件上的邮政编码,帮助邮局作区域分信的作业;也因此至今邮政编码一直是各国所倡导的地址书写方式。

1.2 字符识别方法及研究现状

1.2.1 字符识别方法

字符识别方法:字符识别方法基本上分为统计、逻辑判断和句法三大类。常用的方法有模板匹配法和几何特征抽取法。

① 模板匹配法将输入的字符与给定的各类别标准文字进行相关匹配,计算输入字符与各模板之间的相似性程度,取相似度最大的类别作为识别的结果。这种方法的缺点是当被识别类别数目增加时,标准字符模板数量也随之增加。这一方面会增加机器的存储容量,另一方面也会降低识别的正确率,所以这种方式适用于识别固定字型的印刷体字符。这种方法的优点是用整个字符进行相似度计算,所以对于字符缺损、边缘噪声等具有较强的适应能力。

② 几何特征抽取法抽取字符的一些几何特征,如字符的端点、分叉点、凹凸部分或水平、垂直、倾斜等各方向的线段、闭合环路等,根据这些特征的位置及相互关系进行逻辑组合判断,获得识别结果。这种识别方式由于利用了结构的信息,因此也适用于手写体文字那样变型较大的字符。

1.2.2 字符识别发展现状

字符识别可应用于许多领域,如阅读、文献资料的检索、信件的分拣、稿件的校对、银行支票的处理、商品发票的统计汇总、商品编码的识别等。它可以方便用户快速录入信息,提高各行各业的工作效率。

进入20世纪90年代以后,随着我国信息化建设的全面开展,以及我国信

息自动化和办公自动化的普及,大大推动了字符识别技术的进一步发展,使字符识别技术的识别正确率、识别速度满足了广大用户的要求。文字识别技术诞生20余年来,经历从实验室技术到产品的转变,目前已经步入行业应用开发的成熟阶段。相比发达国家的广泛应用情况,在国内,文字识别技术在各领域的应用还有着广阔的空间。随着国家信息化建设的发展,文字识别技术拥有了一个全新的行业应用局面。各个研究文字识别的软件将会更加深入到信息化建设的各个领域。

1.3 课题研究内容

本课题研究内容如下:

1.BP神经网络是人工神经网络的其中一种,它利用实际输出与期望输出之差对网络的各层连接权由后向前前逐层进行校正。通过学习BP网络的算法,对BP网络进行反复训练,确定稳定的权值与阈值,进而应用到字符识别系统中去。

2.对待识别图片进行一系列预处理。预处理的过程主要包括对于图像的灰度化、二值化、图像的梯度锐化、离散噪点的去处、图像倾斜度的调整、字符的分割、图像的归一化处理、图像的紧缩重排等。

3.识别过程分为三个阶段:图像预处理阶段,BP网络的训练阶段,字符识别阶段。设计程序分别完成三个阶段,利用BP神经网络识别正确出图片中的数字信息。

第二章人工神经网络

2.1 人工神经网络

人工神经网络(Artificial Neural Network,简称ANN),以数学模型模拟神经元活动,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。人工神经网络具有自学习、自组织、自适应以及很强的非线性函数逼近能力,拥有强大的容错性。它可以实现仿真、预测以及模糊控制等功能。是处理非线性系统的有力工具。

2.1.1 人工神经网络算法

一、设计信息处理单元连接的方式

按照信息处理单元的连接方式,神经网络可以分为多种类型。这里介绍按照结点有无反馈划分的两种典型的网络结构:

(1)前馈网络

网络可以分为几个层。各层按信号传输先后顺序依次排列,第i层的神经元只接受第i-1层神经元给出的信号。各神经元之间没有反馈。输入层结点与输出层结点称为―可见层‖,其他中间层则称为―隐层‖。

(2)反馈网络

网络分层,某些结点除了接受外加输入以外,还要接受其他结点的反馈,或者是自身的反馈。当然,除了这种划分方式,还有按照层数划分为单层网络与多层网络,按照输入数据的特点划分为离散网络和连续网络等。

不同的网络在性能和效率上会有很大的差异,一般来说,跨层连接的结点越多,网络越是可靠;层数越多,网络的效率越低;反馈越多,网络的学习能力越强;结点个数越多,网络的记忆能力就越好。因此往往要根据实际应用设计网络的连接。在这里,我们不难得出一个结论:信息处理单元连接的方式的设计是人工神经网络算法设计的一个重要方面。

二、设计学习算法

在人工智能领域,人工神经网络是模拟人脑的模式匹配的主要手段。根据常识我们很容易理解,人脑要对某个模式得到正确匹配,需要大量的训练和纠正。训练越多,纠正越多,匹配就越准确。人工神经网络也是如此,要通过大量的学习才能投入正确使用,在使用中又不断地自我学习。

现以人工神经网络对手写―A‖、―B‖两个字母的识别为例进行说明,规定当―A‖输入网络时,应该输出―1‖,而当输入为―B‖时,输出为―0‖。所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,

将―A‖所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为―1‖和―0‖的概率各为50%,也就是说是完全随机的。这时如果输出为―1‖(结果正确),则使连接权值增大,以便使网络再次遇到―A‖模式输入时,仍然能作出正确的判断。

如果输出为―0‖(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到―A‖模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母―A‖、―B‖后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。

这个例子引出了一个―学习算法‖。学习算法的设计是人工神经网络算法设计的另外一个重要的方面。学习算法设计得好,网络的学习能力就越强,容错能力也越强。

三、设计功能函数

信息处理单元的功能是人工神经网络算法设计的又一重要方面,一般以功能函数的形式给出(及模型中的F函数)。功能函数的设计直接影响到网络的功能。常见的功能函数有:

(1)简单线性函数

神经元功能函数F连续取值,输入X由连接矩阵W加权产生输出。

F(X)=X

(2)对称硬限幅函数

F(X)=SGN(X-Θ).此函数只有二值,大于阀值Θ输出+1,小于阀值Θ输出-1。

(3)正线性函数

F(X)=0 if X<0;

F(X)=X if X>=0。

另外还有硬限幅函数,线性函数,饱和线性函数,对称饱和线性函数,淡极性S形函数,双曲正切S形函数,竞争函数等。

综上,设计信息处理单元的连接方式,设计网络学习算法,设计信息处理单元的功能,是人工神经网络算法设计的三个基本的方面。具体的算法细则应该根据网络的性能,功能,应用场合等设计。

图2-1 线性神经网络结构模型

2.1.2神经网络的学习过程

模仿人的学习过程,人们提出了多种神经元网络的学习方式,其中主要有两种:有教师学习、无教师学习。按学习方式进行神经元网络模型分类时,可以分为相应的两种,即有教师学习网络、无教师学习网络。有教师型的学习或者说有监督型的学习是在有指导和考察的情况下进行的,如果学完了没有达到要求,那么就要再继续学习。无教师型的学习或者说无监督性的学习是靠学习者或者说神经系统本身自行完成的。这种学习没人监督,学到什么程度全靠大脑中的神经元网络的学习能力,最后也能把这种知识掌握到一定的程度。学习是一个相对持久的变化过程,往往也是一个推理的过程。例如通过经验也可以学习,学习是神经元网络最重要的能力。

本设计采用的学习过程为有教师学习过程,其模型大致如下。

图2-2有教师学习网络

2.1.3神经网络的学习规则

输入部接收外来的输入样本X,由训练部进行网络的权系数W调整,然后由输出部输出结果。在这个过程中,期望的输出信号可以作为教师信号输入,由该教师信号与实际输出进行

比较,产生的误差去控制修改权系数W 。

在图中,1X ,2X ,…,n X ,是输入样本的信 号,1W ,2W ,…,n W 是权系数。 输入样本信号Xi 可以取离散值―0‖或―1‖。输入样本信号通过权系数作用,在u 产生输出结果Xi

Wi ∑,即有:n X n W X W X W u +++∑= 2211

再把期望输出信号Y(t)和u 进行比较,从而产生误差信号e 。即权值调整机构根据误差e 去对学习系统的权系数进行修改,修改方向应使误差e 变小,不断进行下去,使到误差e 为零,这时实际输出值u 和期望输出值Y(t)完全一样,则学习过程结束。

图2-3 学习机构模型

2.2 BP 网络

BP(Back-Propagation)神经网络算法,即反向传播神经网络算法,是一种用于前向多层神经网络的反向传播学习算法,这种算法由梅尔哈特(D.Rumelhart)和麦克莱伦德(MeClelland)于1985年提出,并实现了明斯基的多层网络设想。在BP 神经网络算法中,我们可以对组成前向多层网络的各人工神经元之间的连接权值进行不断的调整,从而使该神经网络能够将输入它的信息变换成所期望的输出信息。如果将BP 神经网络算法看作是一个变换,而网络中各人工神经元之间的连接权值看作变换中的参数,那么,这种算法的目的就是要求得这些参数。更进一步的说, BP 神经网络算法在调整各人工神经元的连接权值时,所依据的是该网络的实际输出与其期望输出的差值,这个差值被反向的一层一层的向后传播,来决定各层神经元的连接权值的修改。目前,BP 神经网络算法已经成为应用最多而且最主要的一种训练前向人工神经网络的学习算法,同时,这种算法也是前向网络得以广泛应用的基础。

BP 神经网络的网络结构是一个前向的多层网络,该网络中不仅含有输入层节点和输出层节点,而且还含有一层或多层的隐层节点。在BP 神经网络中,同层的各神经元之间互不连接,相邻层的神经元则通过权值连接。当有信息输入BP 神经网络时,信息首先由输入层节点传递到第一层的隐层节点,经过特征函数(人工神经元)作用之后,再传至下一隐层,这样一层一层传递下去,直到最终传至输出层进行输出。其间各层的激发函数要求是可微的,一般是选用 S 型函数。最基本的BP 神经网络是包括输入层,隐层,输出层这三层节点的前馈网络。如下图所示。

BP神经网络模型与学习算法

BP神经网络模型与学习算法 BP神经网络模型与学习算法 (1) 一,什么是BP (1) 二、反向传播BP模型 (8) 一,什么是BP "BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。" 我们现在来分析下这些话: ?“是一种按误差逆传播算法训练的多层前馈网络” BP是后向传播的英文缩写,那么传播对象是什么?传播的目的是什么?传播的方式是后向,可这又是什么意思呢。 传播的对象是误差,传播的目的是得到所有层的估计误差,后向是说由后层误差推导前层误差: 即BP的思想可以总结为 利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。 ?“BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)” 最简单的三层BP:

?“BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。”BP利用一种称为激活函数来描述层与层输出之间的关系,从而模拟各层神经元之间的交互反应。 激活函数必须满足处处可导的条件。那么比较常用的是一种称为S型函数的激活函数: 那么上面的函数为什么称为是S型函数呢: 我们来看它的形态和它导数的形态: p.s. S型函数的导数:

bp神经网络及matlab实现讲解学习

b p神经网络及m a t l a b实现

图1. 人工神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为: 图中 yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数 ( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为: 若用X表示输入向量,用W表示权重向量,即: X = [ x0 , x1 , x2 , ....... , xn ]

则神经元的输出可以表示为向量相乘的形式: 若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。 图1中的这种“阈值加权和”的神经元模型称为M-P模型 ( McCulloch-Pitts Model ),也称为神经网络的一个处理单元( PE, Processing Element )。 2. 常用激活函数 激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。 (1) 线性函数 ( Liner Function ) (2) 斜面函数 ( Ramp Function ) (3) 阈值函数 ( Threshold Function ) 以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。 (4) S形函数 ( Sigmoid Function ) 该函数的导函数:

BP神经网络及深度学习研究-综述(最新整理)

BP神经网络及深度学习研究 摘要:人工神经网络是一门交叉性学科,已广泛于医学、生物学、生理学、哲学、信息学、计算机科学、认知学等多学科交叉技术领域,并取得了重要成果。BP(Back Propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。本文将主要介绍神经网络结构,重点研究BP神经网络原理、BP神经网络算法分析及改进和深度学习的研究。 关键词:BP神经网络、算法分析、应用 1 引言 人工神经网络(Artificial Neural Network,即ANN ),作为对人脑最简单的一种抽象和模拟,是人们模仿人的大脑神经系统信息处理功能的一个智能化系统,是20世纪80 年代以来人工智能领域兴起的研究热点。人工神经网络以数学和物理方法以及信息处理的角度对人脑神经网络进行抽象,并建立某种简化模型,旨在模仿人脑结构及其功能的信息处理系统。 人工神经网络最有吸引力的特点就是它的学习能力。因此从20世纪40年代人工神经网络萌芽开始,历经两个高潮期及一个反思期至1991年后进入再认识与应用研究期,涌现出无数的相关研究理论及成果,包括理论研究及应用研究。最富有成果的研究工作是多层网络BP算法,Hopfield网络模型,自适应共振理论,自组织特征映射理论等。因为其应用价值,该研究呈愈演愈烈的趋势,学者们在多领域中应用[1]人工神经网络模型对问题进行研究优化解决。 人工神经网络是由多个神经元连接构成,因此欲建立人工神经网络模型必先建立人工神经元模型,再根据神经元的连接方式及控制方式不同建立不同类型的人工神经网络模型。现在分别介绍人工神经元模型及人工神经网络模型。 1.1 人工神经元模型 仿生学在科技发展中起着重要作用,人工神经元模型的建立来源于生物神经元结构的仿生模拟,用来模拟人工神经网络[2]。人们提出的神经元模型有很多,其中最早提出并且影响较大的是1943年心理学家McCulloch和数学家W. Pitts 在分析总结神经元基本特性的基础上首先提出的MP模型。该模型经过不断改进后,形成现在广泛应用的BP神经元模型。人工神经元模型是由人量处理单元厂泛互连而成的网络,是人脑的抽象、简化、模拟,反映人脑的基本特性。一般来说,作为人工神经元模型应具备三个要素: (1)具有一组突触或连接,常用表示神经元i和神经元j之间的连接强度。 w ij (2)具有反映生物神经元时空整合功能的输入信号累加器。

神经网络算法详解

神经网络算法详解 第0节、引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集。Iris数据集可以在https://www.sodocs.net/doc/8814023366.html,/wiki/Iris_flower_data_set 找到。这里简要介绍一下Iris数据集: 有一批Iris花,已知这批Iris花可分为3个品种,现需要对其进行分类。不同品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度会有差异。我们现有一批已知品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度的数据。 一种解决方法是用已有的数据训练一个神经网络用作分类器。 如果你只想用C#或Matlab快速实现神经网络来解决你手头上的问题,或者已经了解神经网络基本原理,请直接跳到第二节——神经网络实现。 第一节、神经网络基本原理 1. 人工神经元( Artificial Neuron )模型 人工神经元是神经网络的基本元素,其原理可以用下图表示: 图1. 人工神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为:

图中yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为: 若用X表示输入向量,用W表示权重向量,即: X = [ x0 , x1 , x2 , ....... , xn ] 则神经元的输出可以表示为向量相乘的形式: 若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net 为负,则称神经元处于抑制状态。 图1中的这种“阈值加权和”的神经元模型称为M-P模型 ( McCulloch-Pitts Model ),也称为神经网络的一个处理单元( PE, Processing Element )。 2. 常用激活函数 激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。 (1) 线性函数 ( Liner Function ) (2) 斜面函数 ( Ramp Function ) (3) 阈值函数 ( Threshold Function )

BP神经网络的预测理论的及程序 学习

12、智能算法 12.1 人工神经网络 1、人工神经网络的原理假如我们只知道一些输入和相应的输出,但是不清楚这些输入和输出之间的具体关系是什么,我们可以把输入和输出之间的未知过程看成是一个“网络”,通过不断的网络输入和相应的输出进行“训练”(学习),网络根据输入和对应输出不断调整连接网络的权值,直到满足我们的目标要求,这样就训练好了一个神经网络,当我们给定一个输入, 网络就会计算出一个相应的输出。 2、网络结构神经网络一般有一个输入层,多个隐层,和一个输出层。隐层并非越多越好。如下图所示: 神经网络工具箱几乎 MATLAB 12.2 Matlab 神经网络工具箱 BP 网络和涵盖了所有的神经网络的基本常用模型,如感知器、nntool nftool,nctool,nprtool,nntraintool 和等。它由RBFNN 函数逼近和数据拟合、信息处理和预测、神经网组成。主要应用于

在实际应用中,针对具体的问题,首先络控制和故障诊断等领域。.需要分析利用神经网络来解决问题的性质,然后依据问题的特点,提取训练和测试数据样本,确定网络模型,最后通过对网络进行训练、仿真等检验网络的性能是否满足要求。具体过程如下: (1)确定信息表达的方式,主要包括数据样本已知;数据样本之间相互关系不明确;输入/输出模式为连续的或离散的;数据样本的预处理;将数据样本分成训练样本和测试样本。 (2)网络模型的确定。确定选择何种神经网络以及网络层数。 (3)网络参数的选择,如输入输出神经元个数的确定,隐层神经元的个数等。 (4)训练模式的确定,包括选择合理的训练算法、确定合适的训练步数、指定适当的训练目标误差等 (5)网络测试,选择合理的样本对网络进行测试。 简单来讲就是三个步骤:建立网络(newXX)—训练网络(trainXX)—仿真网络(sim) 12.3 BP 神经网络的 Matlab 相关函数 BP 算法的基本思想:学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号作为修正各单元权

数学建模bp神经网络讲解学习

数学建模B P神经网 络论文

BP 神经网络 算法原理: 输入信号i x 通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号k y ,网络训练的每个样本包括输入向量x 和期望输出量d ,网络输出值y 与期望输出值d 之间的偏差,通过调整输入节点与隐层节点的联接强度取值ij w 和隐层节点与输出节点之间的联接强度jk T 以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。 变量定义: 设输入层有n 个神经元,隐含层有p 个神经元,输出层有q 个神经元 输入向量:()12,, ,n x x x x = 隐含层输入向量:()12,,,p hi hi hi hi = 隐含层输出向量:()12,,,p ho ho ho ho = 输出层输入向量:()12,,,q yi yi yi yi = 输出层输出向量:()12,,,q yo yo yo yo = 期望输出向量: ()12,, ,q do d d d = 输入层与中间层的连接权值: ih w 隐含层与输出层的连接权值: ho w 隐含层各神经元的阈值:h b 输出层各神经元的阈值: o b 样本数据个数: 1,2, k m =

激活函数: ()f ? 误差函数:21 1(()())2q o o o e d k yo k ==-∑ 算法步骤: Step1.网络初始化 。给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e ,给定计算精度值ε和最大学习次数M 。 Step2.随机选取第k 个输入样本()12()(),(), ,()n x k x k x k x k =及对应期望输出 ()12()(),(),,()q d k d k d k d k =o Step3.计算隐含层各神经元的输入()1 ()()1,2, ,n h ih i h i hi k w x k b h p ==-=∑和输出 ()()(())1,2, ,h h ho k f hi k h p ==及输出层各神经元的输入 ()1 ()()1,2, p o ho h o h yi k w ho k b o q ==-=∑和输出()()(())1,2, ,o o yo k f yi k o p == Step4.利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数()o k δ。 o ho o ho yi e e w yi w ???=??? (()) () ()p ho h o o h h ho ho w ho k b yi k ho k w w ?-?==??∑ 2 1 1((()()))2(()())()(()())f (()) () q o o o o o o o o o o o o d k yo k e d k yo k yo k yi yi d k yo k yi k k δ=?-?'==--??'=---∑ Step5.利用隐含层到输出层的连接权值、输出层的()o k δ和隐含层的输出计算误差函数对隐含层各神经元的偏导数()h k δ。

(完整版)BP神经网络算法步骤

传统的BP 算法简述 BP 算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。具体步骤如下: (1)初始化,随机给定各连接权[w],[v]及阀值θi ,rt 。 (2)由给定的输入输出模式对计算隐层、输出层各单元输出 (3)计算新的连接权及阀值,计算公式如下: (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。 第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e ,给定计算精度值 和最大学习次数M 。 第二步,随机选取第k 个输入样本及对应期望输出 ()12()(),(),,()q k d k d k d k =L o d ()12()(),(),,()n k x k x k x k =L x 第三步,计算隐含层各神经元的输入和输出 第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数()o k a δ 第五步,利用隐含层到输出层的连接权值、输出层的()o k δ和隐含层的输出计算误差函数对隐含层各神经元的偏导数()h k δ 第六步,利用输出层各神经元的()o k δ和隐含层各神经元的输出来修正连接权值()ho w k 第七步,利用隐含层各神经元的()h k δ和输入层各神经元的输入修正连接权。 第八步,计算全局误差211 1(()())2q m o o k o E d k y k m ===-∑∑ 第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。 ε

BP神经网络详细讲解

PS:这篇介绍神经网络是很详细的,有一步一步的推导公式!神经网络是DL(深度学习)的基础。 如果对神经网络已经有所了解,可以直接跳到“三、BP算法的执行步骤“ 部分,算法框架清晰明了。 另外,如果对NN 很感兴趣,也可以参阅最后两篇参考博文,也很不错! 学习是神经网络一种最重要也最令人注目的特点。在神经网络的发展进程中,学习算法的研究有着十分重要的地位。目前,人们所提出的神经网络模型都是和学习算法相应的。所以,有时人们并不去祈求对模型和算法进行严格的定义或区分。有的模型可以有多种算法.而有的算法可能可用于多种模型。不过,有时人们也称算法为模型。 自从40年代Hebb提出的学习规则以来,人们相继提出了各种各样的学习算法。其中以在1986年Rumelhart等提出的误差反向传播法,即BP(error BackPropagation)法影响最为广泛。直到今天,BP算法仍然是自动控制上最重要、应用最多的有效算法。 1.2.1 神经网络的学习机理和机构 在神经网络中,对外部环境提供的模式样本进行学习训练,并能存储这种模式,则称为感知器;对外部环境有适应能力,能自动提取外部环境变化特征,则称为认知器。 神经网络在学习中,一般分为有教师和无教师学习两种。感知器采用有教师信号进行学习,而认知器则采用无教师信号学习的。在主要神经网络如BP网络,Hopfield网络,ART网络和Kohonen 网络中;BP网络和Hopfield网络是需要教师信号才能进行学习的;而ART网络和Kohonen网络则无需教师信号就可以学习。所谓教师信号,就是在神经网络学习中由外部提供的模式样本信号。 一、感知器的学习结构 感知器的学习是神经网络最典型的学习。 目前,在控制上应用的是多层前馈网络,这是一种感知器模型,学习算法是BP法,故是有教师学习算法。 一个有教师的学习系统可以用图1—7表示。这种学习系统分成三个部分:输入部,训练部和输出部。

BP神经网络算法步骤教学文案

B P神经网络算法步骤

传统的BP 算法简述 BP 算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。具体步骤如下: (1)初始化,随机给定各连接权[w],[v]及阀值θi ,rt 。 (2)由给定的输入输出模式对计算隐层、输出层各单元输出 (3)计算新的连接权及阀值,计算公式如下: (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。 第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e ,给定计 算精度值 和最大学习次数M 。 第二步,随机选取第k 个输入样本及对应期望输出 ()12()(),(),,()q k d k d k d k =L o d ()12()(),(),,()n k x k x k x k =L x 第三步,计算隐含层各神经元的输入和输出 第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数()o k a δ 第五步,利用隐含层到输出层的连接权值、输出层的()o k δ和隐含层的输出计算误差函数对隐含层各神经元的偏导数()h k δ 第六步,利用输出层各神经元的()o k δ和隐含层各神经元的输出来修正连接权值()ho w k 第七步,利用隐含层各神经元的()h k δ和输入层各神经元的输入修正连接权。 第八步,计算全局误差211 1(()())2q m o o k o E d k y k m ===-∑∑ ε

神经网络学习 之 BP神经网络

神经网络学习之 BP神经网络 https://www.sodocs.net/doc/8814023366.html,/u013007900/article/details/50118945

目录 第一章概述 第二章BP算法的基本思想 第三章BP网络特性分析 3.1 BP网络的拓扑结构 (4) 3.2 BP网络的传递函数 (5) 3.3 BP网络的学习算法 (6) 第四章BP网络的训练分解 4.1前向传输(Feed-Forward前向反馈) (8) 4.2逆向反馈(Backpropagation) (9) 4.3 训练终止条件 (10) 第五章BP网络运行的具体流程 (10) 5.1网络结构 (10) 5.2变量定义 (10) 5.3误差函数: (11) 第六章 BP网络的设计 (14) 6.1 网络的层数 (14) 6.2 隐层神经元的个数 (14) 6.3 初始权值的选取 (15) 6.4 学习速率 (15) BP网络的局限性 (15) BP网络的改进 (15)

第一章概述 神经网络是1986年由Rumelhart和McCelland为首的科研小组提出,参见他们发表在Nature 上的论文Learning representations by back-propagating errors。 BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。 第二章 BP算法的基本思想 多层感知器在如何获取隐层的权值的问题上遇到了瓶颈。既然我们无法直接得到隐层的权值,能否先通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值呢?BP算法就是采用这样的思想设计出来的算法,它的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。 ?正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。 ?反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。 这两个过程的具体流程会在后文介绍。 BP算法的信号流向图如下图所示

BP神经网络详细讲解

PS:这篇介绍神经网络就是很详细得,有一步一步得推导公式!神经网络就是DL(深度学习)得基础。 如果对神经网络已经有所了解,可以直接跳到“三、BP算法得执行步骤“ 部分,算法框架清晰明了。 另外,如果对NN 很感兴趣,也可以参阅最后两篇参考博文,也很不错! 学习就是神经网络一种最重要也最令人注目得特点。在神经网络得发展进程中,学习算法得研究有着十分重要得地位。目前,人们所提出得神经网络模型都就是与学习算法相应得。所以,有时人们并不去祈求对模型与算法进行严格得定义或区分。有得模型可以有多种算法.而有得算法可能可用于多种模型。不过,有时人们也称算法为模型。 自从40年代Hebb提出得学习规则以来,人们相继提出了各种各样得学习算法。其中以在1986年Rumelhart等提出得误差反向传播法,即BP(error BackPropagation)法影响最为广泛。直到今天,BP算法仍然就是自动控制上最重要、应用最多得有效算法。 1.2.1 神经网络得学习机理与机构 在神经网络中,对外部环境提供得模式样本进行学习训练,并能存储这种模式,则称为感知器;对外部环境有适应能力,能自动提取外部环境变化特征,则称为认知器。 神经网络在学习中,一般分为有教师与无教师学习两种。感知器采用有教师信号进行学习,而认知器则采用无教师信号学习得。在主要神经网络如BP网络,Hopfield网络,ART网络与Kohonen 网络中;BP网络与Hopfield网络就是需要教师信号才能进行学习得;而ART网络与Kohonen网络则无需教师信号就可以学习。所谓教师信号,就就是在神经网络学习中由外部提供得模式样本信号。 一、感知器得学习结构 感知器得学习就是神经网络最典型得学习。 目前,在控制上应用得就是多层前馈网络,这就是一种感知器模型,学习算法就是BP法,故就是有教师学习算法。 一个有教师得学习系统可以用图1—7表示。这种学习系统分成三个部分:输入部,训练部与输出部。

人工智能-BP神经网络算法简单实现

人工神经网络是一种模仿人脑结构及英功能的信息处理系统,能提高人们对信息处理的智能化水平。它是一门新兴的边缘和交叉学科,它在理论、模型、算法等方而比起以前有了较大的发展,但至今无根本性的突破,还有很多空白点需要努力探索和研究。 1人工神经网络研究背景 神经网络的研究包括神经网络基本理论、网络学习算法、网络模型以及网络应用等方≡o其中比较热门的一个课题就是神经网络学习算法的研究。 近年来己研究岀许多与神经网络模型相对应的神经网络学习算法,这些算法大致可以分为三类:有监督学习、无监督学习和增强学习。在理论上和实际应用中都比较成熟的算法有以下三种: (1)误差反向传播算法(BaCk PrOPagatiOn,简称BP算法); (2)模拟退火算法: (3)竞争学习算法。 目前为止,在训练多层前向神经网络的算法中,BP算法是最有影响的算法之一。但这种算法存在不少缺点,诸如收敛速度比较慢,或者只求得了局部极小点等等。因此,近年来,国外许多专家对网络算法进行深入研究,提岀了许多改进的方法。 主要有: (1)增加动量法:在网络权值的调整公式中增加一动量项,该动量项对某一时刻的调整起阻尼作用。它可以在误差曲而出现骤然起伏时,减小振荡的趋势,提髙网络训练速度; (2)自适应调节学习率:在训练中自适应地改变学习率,使其该大时增大,该小时减小。使用动态学习率,从而加快算法的收敛速度: (3)引入陡度因子:为了提髙BP算法的收敛速度,在权值调整进入误差曲而的平坦区时,引入陡度因子,设法压缩神经元的净输入,使权值调整脱离平坦区。 此外,很多国内的学者也做了不少有关网络算法改进方而的研究,并耙改进的算法运用到实际中,取得了一定的成果: (1)王晓敏等提出了一种基于改进的差分进化算法,利用差分进化算法的全局寻优能力,能够快速地得到BP神经网络的权值,提髙算法的速度; (2)董国君等提岀了一种基于随机退火机制的竞争层神经网络学习算法,该算法将竞争层神经网络的串行迭代模式改为随机优化模式,通过采用退火技术避免网络收敛到能量函数的局部极小点,从而得到全局最优值: (3)赵青提岀一种分层遗传算法与BP算法相结合的前馈神经网络学习算法。将分层遗传算法引入到前馈神经网络权值和阈值的早期训练中,再用BP算法对前期训练所得性能较优的网络权值、阈值进行二次训练得到最终结果,该混合学习算法能够较快地收敛到全局最优解; (4)胡洁等提出一种快速且全局收敛的神经网络学习算法,并且对该优化算法的全局收敛性进行分析和详细证明,说明提出的算法比标准的算法效率更高且更精确。

神经网络学习 之 BP神经网络

目录 第二章BP算法的基本思想 第三章BP网络特性分析 第四章BP网络的训练分解 5.3 第一章概述 神经网络是1986年由Rumelhart和McCelland为首的科研小组提出,参见他们发表在Nature上的论文??。

BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络 模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映 射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和 阈值,使网络的误差平方和最小。 第二章 BP算法的基本思想 多层感知器在如何获取隐层的权值的问题上遇到了瓶颈。既然我们无法直接得到隐层的权值,能否先通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值呢?BP算法就是采用 这样的思想设计出来的算法,它的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。 ?正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。 ?反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。 这两个过程的具体流程会在后文介绍。 BP算法的信号流向图如下图所示? 第三章 BP网络特性分析 我们分析一个ANN时,通常都是从它的三要素入手,即? 1)网络拓扑结构;? 2)传递函数;? 3)学习算法。 每一个要素的特性加起来就决定了这个ANN的功能特性。所以,我们也从这三要素入手对BP网络的研究。

BP神经网络的优缺点资料讲解

精品文档 BP神经网络的优缺点介绍 人工神经网络(Artificial Neural Network)又称连接机模型,是在现代神经学、生物学、心理学等学科研究的基础上产生的,它反映了生物神经系统处理外界事物的基本过程,是在模拟人脑神经组织的基础上发展起来的计算系统,是由大量处理单元通过广泛互联而构成的网络体系,它具有生物神经系统的基本特征,在一定程度上反映了人脑功能的若干反映,是对生物系统的某种模拟,具有大规模并行、分布式处理、自组织、自学习等优点,被广泛应用于语音分析、图像识别、数字水印、计算机视觉等很多领域,取得了许多突出的成果。最近由于人工神经网络的快速发展,它已经成为模式识别的强有力的工具。神经网络的运用展开了新的领域,解决其它模式识别不能解决的问题,其分类功能特别适合于模式识别与分类的应用。多层前向BP网络是目前应用最多的一种神经网络形式, 它具备神经网络的普遍优点,但它也不是非常完美的, 为了更好的理解应用神经网络进行问题求解, 这里对它的优缺点展开一些讨论。 首先BP神经网络具有以下优点: 1) 非线性映射能力:BP神经网络实质上实现了一个从输入到输出的映射功能,数学理论证明三层的神经网络就能够以任意精度逼近任何非线性连续函数。这使得其特别适合于求解内部机制复杂的问题,即BP神经网络具有较强的非线性映射能力。 2) 自学习和自适应能力:BP神经网络在训练时,能够通过学习自动提取输出、输出数据间的“合理规则”,并自适应的将学习内容记忆于网络的权值中。即BP神经网络具有高度自学习和自适应的能力。 3) 泛化能力:所谓泛化能力是指在设计模式分类器时,即要考虑网络在保证对所需分类对象进行正确分类,还要关心网络在经过训练后,能否对未见过的模式或有噪声污染的模式,进行正确的分类。也即BP神经网络具有将学习成果应用于新知识的能力。 4) 容错能力:BP神经网络在其局部的或者部分的神经元受到破坏后对全局的训练结果不会造成很大的影响,也就是说即使系统在受到局部损伤时还是可以正常工作的。即BP神经网络具有一定的容错能力。 鉴于BP神经网络的这些优点,国内外不少研究学者都对其进行了研究,并运用网络解决了不少应用问题。但是随着应用范围的逐步扩大,BP神经网络也暴露出了越来越多的缺点和不足,比如: 精品文档

BP神经网络算法学习

BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。输入层神经元的个数由样本属性的维度决定,输出层神经元的个数由样本分类个数决定。隐藏层的层数和每层的神经元个数由用户指定。每一层包含若干个神经元,每个神经元包含一个而阈值,用来改变神经元的活性。网络中的弧线表示前一层神经元和后一层神经元之间的权值。每个神经元都有输入和输出。输入层的输入和输出都是训练样本的属性值。 对于隐藏层和输出层的输入其中,是由上一层的单元i到单元j的连接的权;是上一层的单元i的输出;而是单元j的阈值。

除此之外,神经网络中有一个学习率(l)的概念,通常取0和1之间的值,并有助于找到全局最小。如果学习率太小,学习将进行得很慢。如果学习率太大,可能出现在不适当的解之间摆动。 交代清楚了神经网络中基本要素,我们来看一下BP算法的学习过程: BPTrain(){ 初始化network的权和阈值。 while 终止条件不满足{ for samples中的每个训练样本X { // 向前传播输入 for 隐藏或输出层每个单元j { ;// 相对于前一层i,计算单元j的净输入;// 计算单元j的输出 } // 后向传播误差 for 输出层每个单元j { ;// 计算误差 } for 由最后一个到第一个隐藏层,对于隐藏层每个单元j { ;// k是j的下一层中的神经元 } for network中每个权 {

;// 权增值 ;// 权更新 } for network中每个偏差 { ;// 偏差增值 ;// 偏差更新 } } } 算法基本流程就是: 1、初始化网络权值和神经元的阈值(最简单的办法就是随机初始化) 2、前向传播:按照公式一层一层的计算隐层神经元和输出层神经元的输入和输出。 3、后向传播:根据公式修正权值和阈值 直到满足终止条件。 算法中还有几点是需要说明的: 1、关于,是神经元的误差。 对于输出层神经元,其中,是单元j的实际输出,而是j 基于给定训练样本的已知类标号的真正输出。

BP神经网络的matlab实现学习历程

考拉BP神经网络的matlab实现学习历程(一) 考拉BP神经网络的matlab实现学习历程(一) 本文《考拉BP神经网络的matlab实现学习历程》系列由论坛超级版主akjuan整理和原创,我们在此表示特别感谢 这两天在学习bp,总结和汇报一下,和大家一起学习。希望初入神经网络能有所收获,给新手一些帮组和启发。也希望熟悉bp的高手,多提宝贵意见和建议。 学习内容总结成五个小节,具体内容如下: 第一节内容:包括神经网络的基础知识,BP网络的特点,bp主要应用的场合,使用时应注意的问题。 第二节内容:主要是阐述BP中几个容易混绕的概念和问题,包括什么是网络的泛化能力?过拟合是什么,怎么处理?学习速率有什么作用?神经网络的权值和阈值分别是个什么概念?用BP逼近非线性函数,如何提高训练精度? 第三节内容:主要阐述使用matlab实现,为了充分利用数据,得到最优的网络训练结果,在网络建立前,应该进行的基本数据处理问题,包括:BP神经网络matlab实现的基本步骤,数据归一化问题和方法,输入训练数据的乱序排法,以及分类方法,如何查看和保存训练的结果,每次结果不一样问题。 第四节内容:bp神经网络进行交通预测的Matlab例子及源代码,bp神经网络进行交通预测的Matlab程序的优化(主要是按设置误差要求,寻找最优网络过程) 第五节内容:bp神经网络处理蠓虫分类问题的matlab例子及源代码。 不多说,先如主题,第一节,很基础,高手见谅。 什么是神经网络? 神经网络是由很多神经元组成的,首先我们看一下,什么是神经元 上面这个图表示的就是一个神经元,我们不管其它书上说的那些什么树突,轴突的。我用个比较粗浅的解释,可能不太全面科学,但对初学者很容易理解: 1、我们把输入信号看成你在matlab中需要输入的数据,输进去神经网络后 2、这些数据的每一个都会被乘个数,即权值w,然后这些东东与阀值b相加后求和得到u, 3、上面只是线性变化,为了达到能处理非线性的目的,u做了个变换,变换的规则和传输函数有关

BP神经网络的学习.

BP神经网络的学习 王贵腾 摘要:人工神经网络是近年来的热点研究领域,是人类智能研究的重要组成部分。BP神经网络作为目前应用较多的一种神经网络结构,具有良好的逼近性能,且结构简单,性能优良。但仍存在收敛速度慢,易陷入局部极小值的问题,通过附加动量项法、自适应学习率法、数据归一化法、遗传算法等,可大幅度改善其性能,可广泛应用于多输入多输出的非线性系统。 关键词:BP神经网络;BP算法;动量项;自适应学习率;归一化;遗传算法 1.绪论 1.1人工神经网络概述 人工神经网络(Artificial Neural Network),简称神经网络(NN),是由大量处理单元(神经元)组成的非线性大规模自适应系统。它具有自组织,自适应和自学习能力,以及具有非线性、非局域性,非定常性和非凸性等特点。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理,记忆信息的方式设计一种新的机器使之具有人脑那样的信息处理能力。 神经网络作为计算智能与控制的重要分支,在控制领域具有如下优点: 1)能逼近任意L2范数上的非线性函数; 2)信息分布式存储与处理,鲁棒性和容错性强; 3)便于处理多输入多输出问题; 4)具有实现高速并行计算的潜力;

5)具有学习能力,对环境变化具有自适应性,对模型依赖性不强,主要用于解决非线性系统的控制问题。 同时,神经网络控制在多种控制结构中得到应用,如PID控制、模型参考自适应控制、前馈反馈控制、内模控制、逆系统控制、预测控制等。 目前神经网络的研究主要集中在三个方面:理论研究、实现技术研究、应用研究。 1.2 BP神经网络概述 BP神经网络是1986年由Rumelhart和McClelland一同提出的一种多层前馈神经网络。该网络采用BP算法——一种误差反向传播(Back Propagation)算法,其方法是依据负梯度下降方向迭代调整网络的权值和阀值以实现训练误差目标函数的最小化。 由于BP神经网络在实际应用中存在着收敛速度慢、网络结构难以确定、容易陷入局部极小值、泛化能力不强的缺陷,近年来,许多学者为满足实际应用中需要提出了许多改进方法,在网络自身性能的改善方面做了大量而有实际意义的工作,并且在BP神经网络的理论方面的研究和实际问题上应用也取得了丰硕的成果。对BP神经网络的理论研究,概括起来大致分为三个方面:改进激励函数,权值选取优化和网络拓扑结构。 1.3本文研究内容 本文从神经网络出发,研究其中应用最为广泛的BP神经网络模型,分析其缺点和不足,提出改进措施,并探讨其应用。具体研究内

相关主题