Page 42 - 2022年第53卷第3期
P. 42

训练时,输入向量 X 通过各层之间权值ω 和阈值b ,经过前向传输,一直到输出层,输出结果
               Y ,并计算期望输出值O 和实际输出值Y 之间的误差值De。如果De不满足预先设定的收敛值,则进入
               逆向反馈过程,修改各层之间的权值ω和阈值b,并进行下一次训练;如果De满足,则停止训练。神
               经网络训练的过程,就是不断调整各层之间参数的过程,使得模型的输出结果 Y 和期望输出 O 之间的
               误差De逐渐减小,直到最终达到预期设定的值。
                   具体的计算步骤如下         [31] :
                   首先确定网络模型的输入层节点数 k、隐含层层数 s 及各隐含层节点数n 以及输出层节点数 m,初
                                                                                   s
               步确定各层之间的权值ω ,隐藏层的阈值b 。
                                     ij
                                                     ij
                   计算隐含层输出h        i s
                                                          æ n  s - 1    ö
                                                      s
                                                     h = f ç ç å  ω h  s - 1  + b s ÷                  (4)
                                                               s
                                                      i        ij  j   i  ÷
                                                          è  j = 1      ø
                                                                                 s
                      s
               式中:h 为第 s 层神经元的第 i 个输出;n             s - 1 为第 s-1 层神经元的个数;ω 为第s - 1层第 j 个神经元与 s
                                                                                 ij
                      i
                                              s
               层第 i 个神经元之间的链接权重;b 为 s 层第 i 个神经元的偏置。 f ( ) · 是神经元的激活函数,为 sigmoid
                                              i
               函数,其公式为:
                                                         f ( ) x =  1                                  (5)
                                                               1 + e -x
                   计算输出变量O       k
                                                            n s
                                                         k å
                                                               s
                                                       O =    h ω + b k                                (6)
                                                               i
                                                                 ik
                                                           i = 1
                                                                                    s
               式中:O 为输出层第 k 个神经元的输出;n 为第 s 个隐含层的神经元个数;h 为第 s 个隐含层第 i 个神
                                                      s
                      k
                                                                                    i
               经元的输出;ω 为第 s 个隐含层第 i 个神经元和输出层第 k 个神经元之间的权值;b 为输出层第 k 个神
                             ik
                                                                                          k
               经元的阈值。
                   计算样本的实际输出值和期望输出值的误差De ( ) t 。
                                                              m
                                                     De ( ) t =  1  å( y - o  ) 2                      (7)
                                                            2     k   k
                                                              k = 1
               式中:t 为训练次数;m 为输出层输出向量个数; y 为输出层第 k 个神经元的输出;o 为第 k 个期望输
                                                             k                              k
               出。
                                                                                                     )
                   按 正 常 的 训 练 原 则 调 整 网 络 的 权 值 和 阈 值 , 再 次 进 行 前 馈 训 练 , 得 到 De (t + 1 。 设
                        )
               e = De (t + 1 - De ( ) t 为前后两次训练输出值与期望值的误差的差值。若De > β(β 为神经网络的训练精
               度),则更新权值和阈值,若De < β ,则训练结束。
               2.6  内涝积水预测模型构建             以图 5 中河湾流域内的 6 个典型积水点为研究对象,对各点分别建立
               BP 神经网络模型。积水点各时刻的积水深度主要和该积水点前时序的降雨量和前时序的积水深度有
               关系。因此,BP 神经网络预测模型考虑的因素包括积水点所在排水区前时序的降雨量R 和该积水点
                                                                                               t
               前时序的积水深度H 。
                                 t
                   本神经网络模型输入层的输入变量为 6 个,为前 3 个时序的降雨量{R                              ,R    ,R   }和该积水点
                                                                                  t - 3  t - 2  t - 1
               前 3 个时序的积水深度{H           ,H    ,H   },输出变量为 1 个,为未来 1 个时序的该积水点的积水深度
                                      t - 3  t - 2  t - 1
               H ,隐藏层神经元设为 20 个。通过模型的不断的循环和训练,以实现对整个降雨过程中,积水深度
                t
               变化的预测。为了避免各类数据数值区间的差异性,在训练学习之前,对原始数据做归一化处理,
               公式如下:
                                                               i
                                                              x - x  i
                                                        x *i  =   min                                  (8)
                                                             x  i  - x  i
                                                              max  min
                 — 290  —
   37   38   39   40   41   42   43   44   45   46   47