导航:首页 > 编程大全 > bp神经网络建模

bp神经网络建模

发布时间:2025-06-05 19:51:49

❶ BP神经网络的非线性系统建模

在工程应用中经常会遇到一些复杂的非线性系统(我们航空发动机就是典型的强非线性模型),这些系统状态方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。该方法把未知系统看成黑箱,首先用系统输入输出数据训练BP神经网络,使网络能够表达该未知函数,然后用训练好的BP神经网络预测系统输出。
本文要拟合的非线性函数是

该函数的图形如下图1所示。

回顾上一篇文章建立BP网络的算法流程,进行具有非线性函数拟合的BP网络可以分为网络构建、训练和预测三步,如下图2所示。

BP神经网络构建 根据要拟合的非线性函数特点确定BP网络结构,由于该非线性函数有两个输入参数,一个输出参数,所以BP网络结构可以设置为2-5-1,即输入层有2个节点,隐含层有5个节点,输出层有1个节点。
BP神经网络训练 用非线性函数输入输出数据训练神经网络,使训练后的网络能够预测非线性函数输出。从非线性函数中随机得到2 000组输入输出数据,从中随机选择1 900组作为训练数据,用于网络训练,100组作为测试数据,用于测试网络的拟合性能。
神经网络预测 用训练好的网络预测输出,并对预测结果进行分析。

根据非线性函数方程随机得到该函数的2 000组输入输出数据,将数据存储在data.mat文件中,input是函数输入数据,output是函数输出数据。从输入输出数据中随机选取1 900组数据作为网络训练数据,100组作为网络测试数据,并对训练数据进行归一化处理。

用训练数据训练BP神经网络,使网络对非线性函数输出具有预测能力。

用训练好的BP神经网络预测非线性函数输出,并通过BP神经网络预测输出和期望输出,分析BP神经网络的拟合能力。

用训练好的BP神经网络预测函数输出,预测结果如下图3所示。

BP神经网络预测输出和期望输出的误差如下图4所示。

从图3和图4可以看出,虽然BP神经网络具有较高的拟合能力,但是网络预测结果仍有一定误差,某些样本点的预测误差较大。

在上一篇文章中提到了调整隐含层节点数目、改变权值和阈值更新算法以及变学习率学习算法等方法,针对非线性拟合,BP神经网络的优化还可以使用多隐层的BP神经网络、改变激活函数等方法。

❷ 建立BP神经网络地面沉降预测模型

基坑降水引起地面沉降的BP神经网络预测模型建模过程如下:

(1)样本选择

因基坑降水引起的地面沉降量和距离基坑的距离关系密切,因此建模选用“基坑降水引起沉降工程数据(第二类)”(见表4.1)中的相关数据作为样本进行学习训练和检验。

(2)BP神经网络结构设计

对于BP网络,对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个三层BP网络就可以完成任意的n维到m维的映射。根据网络结构简单化的原则,确定采用三层BP网络结构,即输入层为沉降点距基坑的距离L(m)、等效压缩模量E(MPa)、水位降深H(m)和支护刚度n四个参数,输出层为地面累积沉降量(mm),隐层层数为1层。隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求,与输入、输出单元的数目有直接的关系。隐单元数目太多会导致学习时间过长,误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。研究通过一次编程比较了隐层神经元个数分别为5、10、15、20、25、30、40时训练速度及检验精度。

图4.2 BP神经网络程序框图

(3)网络训练及检验

BP网络采用梯度下降法来降低网络的训练误差,考虑到基坑降水地面沉降范围内沉降量变化幅度较小的特点,训练时以训练目标取0.001为控制条件,考虑到网络的结构比较复杂,神经元个数比较多,需要适当增加训练次数和学习速率,因此初始训练次数设为10000次,学习速率取0.1,中间层的神经元传递函数采用S型正切函数tansig,传输函数采用logsig,训练函数采用trainlm,选用38组数据中的33组作为训练样本,5组作为检验样本。

(4)网络实现及检验效果

使用MATLAB6.0编程建立基于BP神经网络的基坑降水地面沉降预测模型(程序代码见附件1),其训练误差及检验效果如下:

图4.3 训练误差曲线

图4.4 预测误差曲线

由图4.3、图4.4可见:样本数据收敛,训练误差较小,中间层神经单元个数为10时预测精度较好,误差小于20%,误差满足工程需求。

阅读全文

与bp神经网络建模相关的资料

热点内容
qq头像的女生眼泪 浏览:595
核桃编程如何设置积分 浏览:868
linux文件迁移 浏览:284
sql分组最后一条数据库 浏览:296
javaepollsocket 浏览:713
qq群文件夹看不到 浏览:77
yy摄像头怎么调教程 浏览:146
yy文件在哪里 浏览:740
qq气泡框上字体代码 浏览:986
数据库基础考题 浏览:727
网站排名怎么报价 浏览:231
matlab代跑程序 浏览:738
百宝app是做什么的 浏览:325
vb程序比较大小程序 浏览:951
clinuxsleep头文件 浏览:342
苹果6swifi模块 浏览:744
3d的备份文件在哪里 浏览:824
硬件编程的硬件哪个好 浏览:534
数控编程按车床分类有哪些 浏览:275
qq文件下载到哪里 浏览:434

友情链接