目录

  • 一、引言
  • 二、BP神经网络的结构与原理
  • 2.1 信息前向传播
  • 2.2 误差的反向传播过程
  • 三、基于BP神经网络的非线性函数拟合
  • 3.1 数据生成
  • 3.2 神经网络拟合结果
  • 四、参考文献
  • 五、Matlab代码获取


一、引言

以生物学基础的BP网络为全局网络,于多变量函数逼近理论不同, BP神经网络是输入输出的映射,其优势在诸多方面比函数逼近理论要更为明显。本质上,神经网络是一个非线性系统,任意复杂的非线性函数它都能够充分逼近。良好的鲁棒性、联想记忆能力、容错性高及并行处理信息等优异特性使神经网络成为智能领域中的重要算法之一。

二、BP神经网络的结构与原理

bp神经网络辨识非线性系统 bp神经网络非线性拟合_非线性函数拟合


图1 多层神经网络结构[1]

图1所示为多层神经网络结构。其中,n表示输入层神经元个数,l表示隐含层中神经元个数,m为输出层神经元个数。ωij、ωjk为连接权值,分别表示输入层第i个神经元和隐含层第j个神经元、隐含层第j个神经元与输出层第k个神经元之间的权值。取线性函数作为输入层神经元的作用函数,即神经元的输入和输出相同。分别将隐含层和输出层神经元的上一层神经输出加权和对应作为他们的输入,激励程度和作用函数决定了各个神经元的输出。

基本BP算法包括两个方面:信息的前向传播和误差的反向传播。计算实际输出时,按从输入到输出的方向进行;而权值和阈值的修正从输出到输入的方向进行。

2.1 信息前向传播

信息前向传播过程对于图1,设各神经元的阈值为0,便于后续分析。

输入层:对于第i个神经元,其输出为

bp神经网络辨识非线性系统 bp神经网络非线性拟合_非线性函数拟合_02


隐含层:其第 j 个神经元的净输入为

bp神经网络辨识非线性系统 bp神经网络非线性拟合_BP神经网络_03

,其中输入层神经元个数为n。隐含层第 j 个神经元的输出为:

bp神经网络辨识非线性系统 bp神经网络非线性拟合_一维高斯函数_04

,其神经元的作用函数

bp神经网络辨识非线性系统 bp神经网络非线性拟合_深度学习_05

。输出层:输出 bp神经网络辨识非线性系统 bp神经网络非线性拟合_bp神经网络辨识非线性系统_06通过加权系数bp神经网络辨识非线性系统 bp神经网络非线性拟合_BP神经网络_07向前传播到输出层第k个神经元,净输入为

bp神经网络辨识非线性系统 bp神经网络非线性拟合_一维高斯函数_08

, 为隐含层神经元数。实际网络的输出为

bp神经网络辨识非线性系统 bp神经网络非线性拟合_BP神经网络_09

,输出层第k个神经元的作用函数为

bp神经网络辨识非线性系统 bp神经网络非线性拟合_非线性函数拟合_10

2.2 误差的反向传播过程

误差的方向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值。

三、基于BP神经网络的非线性函数拟合

3.1 数据生成

利用BP网络拟合非线性函数如下:

bp神经网络辨识非线性系统 bp神经网络非线性拟合_非线性函数拟合_11


它表示一维高斯分布高斯分布(Gaussian distribution),又称正态分布(Normal distribution)。若随机变量x服从一个数学期望为μ、方差为σ^2 的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ= 0,σ=1时的正态分布是标准正态分布。

bp神经网络辨识非线性系统 bp神经网络非线性拟合_BP神经网络_12


图2 一维高斯函数

根据上述高斯函数得到该函数的2000组输入输出数据,从输入输出数据中随机选取1900组数据作为网络训练数据,用于网络训练。剩下的100组数据作为网络测试数据,用于测试网络的拟合性能。具体数据规划如下图所示:

bp神经网络辨识非线性系统 bp神经网络非线性拟合_BP神经网络_13


图3 训练数据与测试数据划分

3.2 神经网络拟合结果

基于BP神经网络的非线性函数拟合算法流程可以分为BP神经网络构建、BP神经网络训练和BP神经网络预测三步,如图4所示。

bp神经网络辨识非线性系统 bp神经网络非线性拟合_一维高斯函数_14


图4 神经网络算法流程

通过设置不同的训练要求精度,得到的拟合结果不一样,当训练精度设置为0.0000004时,神经网络训练到最佳状态,拟合输出与期望输出完全一致。

bp神经网络辨识非线性系统 bp神经网络非线性拟合_深度学习_15


图5 神经网络预测输出结果对比

四、参考文献

[1] 吴琼. 基于BP神经网络对非线性函数拟合 [J]. 电子世界, 2018, (07): 69.