第4A章误差反传算法及BP网络
- 格式:ppt
- 大小:1.17 MB
- 文档页数:95


利用BP神经网络对大直径SHPB杆弥散效应的修正研究
朱 励
BP神经网络采用Sigmoid型可微函数作为传递函数,可以实现输入和输出间的任意非线性映射,这使得它在函数逼近、模式识别、数据压缩等领域有着广泛的应用。常规SHPB(Split Hopkinson Pressure Bar)技术是研究材料动态响应的重要实验手段,但一维应力加载是其最基本的假定,这实际上忽视了杆中质点横向运动的惯性作用,即忽视了横向惯性引起的弥散效应。近年来,为了研究一些低阻抗非均质材料,大直径的SHPB应用越来越多。大直径杆中应力脉冲在杆中传播时,波形上升沿时间延长,波形振荡显著增强,脉冲峰值随传播距离而衰减。因此大直径SHPB杆中的弥散效应将影响到实验结果可靠性,在数据处理时必须加以修正。
利用BP算法的数学原理,得到修整权值调整公式为:
a) 调整隐含层到输出层的权值
qjpitwdbtwijjiij,...,2,1,,...,2,1),()1( (1)
其中为学习率,为动量率,它的引入有利于加速收敛和防止振荡。
b) 调整输入层到隐含层的权值
pinhtveatvhiihhi,...,2,1,,...,2,1),()1( (2)
按照上面公式(1)和(2)来反复计算和调整权值,直到此误差达到预定的值为止。在实验修正过程中,通过测量SHPB杠上某一位置点的应力波信号,然后由公式(1)和(2)确定的修整权值推算样品端的信号。本文确定的方法网络收敛速度快,在训练迭代至100步时,训练误差即可接近0.0001,神经网络的学习效果好。
采用BP神经网络和瞬态有限元计算相结合,对大直径SHPB杆几何弥散效应的修正问题进行了探索。研究表明:采用瞬态有限元计算结果,对网络进行训练和仿真,训练效果和预示结果都比较好;BP神经网络可以很方便地进行正分析和反分析,确定杆中弥散效应的隐式传递函数,即能方便地对弥散效应进行修正。
bp算法原理
BP算法原理。
BP神经网络算法是一种常见的人工神经网络训练算法,它是由Rumelhart和McCelland等人提出的,也是目前应用最为广泛的一种神经网络学习算法。BP算法的全称是“误差反向传播算法”,它主要用于训练多层前馈神经网络,通过不断调整网络中的权值和阈值,使得网络的输出结果与期望结果尽可能接近。在本文中,我们将详细介绍BP算法的原理及其实现过程。
首先,我们需要了解BP算法的基本原理。BP算法的核心思想是通过计算输出值和期望值之间的误差,然后将误差反向传播到网络中的各个神经元,根据误差大小来调整各个神经元之间的连接权值和阈值,从而不断优化网络的性能。具体而言,BP算法包括两个主要的过程,即前向传播和反向传播。
在前向传播过程中,输入样本通过网络的输入层,经过隐藏层的处理,最终得到输出层的输出结果。然后,将输出结果与期望输出进行比较,计算误差值。接着,在反向传播过程中,将误差值从输出层开始逐层向前传播,根据误差值调整连接权值和阈值。这样,通过不断迭代训练,网络的输出结果将逐渐接近期望输出,从而实现对神经网络的训练。
BP算法的实现过程可以分为以下几个步骤:
1. 初始化网络,确定网络的结构,包括输入层、隐藏层和输出层的神经元数量,以及他们之间的连接权值和阈值。
2. 输入样本,将训练样本输入到网络中,通过前向传播计算得到输出结果。
3. 计算误差,将网络输出结果与期望输出进行比较,计算误差值。
4. 反向传播,根据误差值,从输出层开始逐层向前传播,调整连接权值和阈值。 5. 更新权值和阈值,根据误差值的大小,利用梯度下降法更新连接权值和阈值,使得误差逐渐减小。
6. 重复迭代,重复以上步骤,直到网络的输出结果与期望输出尽可能接近,或者达到预定的训练次数。
需要注意的是,BP算法的训练过程可能会受到一些因素的影响,比如局部最小值、过拟合等问题。为了解决这些问题,可以采用一些改进的BP算法,比如动量法、学习率衰减等方法,来提高网络的训练效果。
BP神经网络是一种误差反向传播的多层前馈网络。它是由输入层、隐含层(可以是一层也
可以是多层)、输出层组成的,各层之间无反馈连接。各层内的神经元之间没有连接,其尽
在相邻层的的神经元有连接。而且它的输入层宇输出层是一种非线性的关系。
(置于摘要)
预测的风电机组 准确率r1(%) 合格率r2(%)
PA 61.1168 84.375
PB 53.1259 67.652
PC
PD
P4
P58
取PA中的2006年5月29日和2006年5月30日的数据作为预测的历史数据,并用之
预测2006年5月31日的风电场功率。
然后对matlab软件提供的网络工具箱进行设置;其中神经网络类型设为feedforward backprop,层数为2,第一层隐函数设为Tansig,第二层设为purelin,隐函数的神经元设为10个。用5月29和5月30日的时间和对应的风电功率作为输入样本,考虑到数据间的差异性较大,为避
免在使用BP网络神经算法是出现训练时间过长或出现网络无法收敛。在训练前要进行数据
的预处理,即用matlab提供的语句mapminmax进行归一化处理
首先对数据进行归一化处理。
表1 对两天的历史数据进行有1到192号排列并进行归一化处理
-1.0000 -0.9895 -0.9791 -0.9686 -0.9581 -0.9476 -0.9372 -0.9267
-0.9162 -0.9058 -0.8953 -0.8848 -0.8743 -0.8639 -0.8534 -0.8429
-0.8325 -0.8220 -0.8115 -0.8010 -0.7906 -0.7801 -0.7696 -0.7592
-0.7487 -0.7382 -0.7277 -0.7173 -0.7068 -0.6963 -0.6859 -0.6754
-0.6649 -0.6545 -0.6440 -0.6335 -0.6230 -0.6126 -0.6021 -0.5916
关于BP网络的总结
1.辨识模型的建立
目前,在人工神经网络的实际应用中,绝大部分的神经网络模型是采用BP
网络和它的变化形式。BP网络就是按照误差逆传播(error back propagation)
学习算法(BP算法)进行训练的多层前向神经网络,亦称为误差逆传播神经网络。
它的优点有:
23第三章基于肌电信号的人手肘关节运动轨迹的预测
播,得到输出响应。如果网络输出与需要输出的误差大于标定值,将进行第二步,
即输出误差反向传播过程,输出的误差值由输出层开始反向传播到输入层,传播
到每一层的误差大小决定该层权值的改变。网络的训练实质上是一个最优化的过
程,即找到使输出误差最小的网络权值。训练结束后的网络权值,代表了神经网
络输入输出的映射关系。
在该网络中,输入层和隐层采用非线性的 Sigmoid 函数(图 3-7 所示)作
为神经元激励函数,输出层采用线性函数。
图 3-7 Sigmiod函数
下面介绍此算法的具体过程:
首先,我们定义误差函数为:
(3-5)
上式中,
为期望输出值,即手臂实际运动角度,
为网络输出值,
即神经网络预测的手臂运动角度。本文所定误差需小于 0.001,在大于这个限定
值以前,需要由输出层开始反向推导网络权系数的修正值。
(1).输出层神经元输出值及权值修正:
25第三章基于肌电信号的人手肘关节运动轨迹的预测
式中
f (• )
为线性函数,为隐层 2 中第 j 个神经元与输出层的权系数,为
隐层 2 的神经元输出值,=
(3)
,=-1,即把神经元偏置的调整归入权系
数的学习中,下面各隐层的情况也与之相同。
(2).隐层 2 神经元输出值及权值修正:
式中
f (• )
为 sigmoid 函数,为隐层 1 中第 i 个神经元与隐层 2 中第 j 个神
经元的权系数,为隐层 1 中第 i 个神经元输出值。