神经网络——BP算法
- 格式:ppt
- 大小:3.57 MB
- 文档页数:79


BP神经网络算法步骤
一、概述
BP神经网络(Back Propagation Neural Network,BPNN)是一种经典的人工神经网络,其发展始于上世纪80年代。BP神经网络的原理是按照误差反向传播算法,以及前馈神经网络的模型,利用反向传播方法来调整网络各层的权值。由于其具有自动学习和非线性特性,BP神经网络被广泛应用在很多和人工智能、计算智能紧密相关的诸如计算机视觉、自然语言处理、语音识别等领域。
二、BP神经网络的结构
BP神经网络经常使用的是一种多层前馈结构,它可以由输入层,若干隐藏层,以及输出层三部分组成。其中,输入层是输入信号的正向传输路径,将输入信号正向传送至隐藏层,在隐藏层中神经元以其中一种复杂模式对输入信号进行处理,并将其正向传送至输出层,在输出层中将获得的输出信号和设定的模式进行比较,以获得预期的输出结果。
三、BP神经网络的学习过程
BP神经网络的学习过程包括正向传播和反向传播两个阶段。其中,正向传播是指从输入层到隐藏层和输出层,利用现有的训练数据,根据神经网络结构,计算出网络每一层上各结点的的激活值,从而得到输出结果。正向传播的过程是完全可以确定的。
基于MATLAB的BP神经网络应用
人工神经网络(Artificial Neural Networks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科。
神经网络具有非线性自适应的信息处理能力,克服了传统人工智能方法对于直觉的缺陷,因而在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。神经网络与其他传统方法相组合,将推动人工智能和信息处理技术不断发展。近年来,神经网络在模拟人类认知的道路上更加深入发展,并与模糊系统、遗传算法、进化机制等组合,形成计算智能,成为人工智能的一个重要方向。
MATLAB是一种科学与工程计算的高级语言,广泛地运用于包括信号与图像处理,控制系统设计,系统仿真等诸多领域。为了解决神经网络问题中的研究工作量和编程计算工作量问题,目前工程领域中较为流行的软件MATLAB,提供了现成的神经网络工具箱(Neural Network Toolbox,简称NNbox),为解决这个矛盾提供了便利条件。神经网络工具箱提供了很多经典的学习算法,使用它能够快速实现对实际问题的建模求解。在解决实际问题中,应用MATLAB 语言构造典型神经网络的激活传递函数,编写各种网络设计与训练的子程序,网络的设计者可以根据需要调用工具箱中有关神经网络的设计训练程序,使自己能够从烦琐的编程中解脱出来,减轻工程人员的负担,从而提高工作效率。
廷塑签凰.BP人工神经网络的原理及其应用焦志钦(华南理工大学,广东广州510000)f}商鞫人工神经网络是计算智能和机器学习研究中最活跃的分交之一。本文对神经网络中的BP算法的原理做了详尽的阐述,并用Madab程序对其进行了应用。表明它具有强大的拟合功能。房;建闭BP算法;Madab1人工神经网络的发展人工神经网络是一个由多个简单神经元相互关联构成的能够实现某种特定功能的并行分布式处理器。单个神经元由杈值、偏置值、净输^和传输函数组成。多输入单神经元模型如图1—1所示。岛见:●仇图1—1多输入单神经元模型其中P为输入值,w.为连接权值,b为偏置值,f似o√为传输函数。神经元值n=wp+b,输出值为a=fM。人工神经网络的第一个应用是感知机网络和联想学习规则。不幸的是,后来研究表明基本的感知机网络只能解决有限的几类问题。单层感知机只能解决线性分类问题。不能解决异或问题,也不能解决非线性问题,因此就有单层感知机发展为多层感知机。多层神经网络中—个重要的方法是BP算法。BP网络属于多层前向网络,如图1—2所示:卫咒鼍旬k图卜2卵网络模型2BP算法BP网络计算方法如式(2—1)所示,为简化,将神经元的阈值8视为连接权值来处理,并令xo=go=ho=一1,故式(5-1)可以改写为式(2—2)。92‘i互%蕾一8少j=I,2,…,,17也=,f∑峭一日.Jj卢7,22,…,n2(2,1)^=,f2郴一日。Jj卢7,,…,(2—1)心y,--f凭峭叫ij=1,2,…,n29=7i互w刚∥j=1,2,..’,几7^-f嚷郴一日小』=7,2,…,n2(2—2)M=ff三峭一日,Jjj=l,2,…,n2,=,BP算法是一种有导师的学习算法,这种算法通常是应用最速下降法。。图2—1描述了BP网络的一部分,其中包括工作信号(实线)和误差信号(虚线)两部分。2002。10。。1。0。’。年。。‘’6。。R。。‘。。’。;—。一一.’f:作信号一误麓信哮图2-1部分BP网络3BP网络权值的调整原理以图(5—2)的BP网络为例,设有a对学习样本向量仅啷,p=l,Z。ao由式(2—2)可得网络的实际输出值讥,f=12.,mo网络的总误差如式像一3)所示。以第二隐屡至输出层的连接杈修正量为例,其椎导过程如公式(2—4)至公式(2—9)所示。Ef∑巳=}∑∑哇一点{犍一31应用最速下降法,反向调整各层连接权值,使误差达到最小。设ww为网络任意两个神经元之间的连接权,沿着负梯度方向调整连接权Ww的修正量为△wo如式(2-4)Er-示,。△蚧一,,争莲砉似4,
BP神经网络模型与学习算法
一,什么是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型函数的导数:
神经网络的学习目的:
希望能够学习到一个模型,能够对输入输出一个我们期望的输出。
学习的方式:
在外界输入样本的刺激下不断改变网络的连接权值