Page 47 - 2023年第54卷第3期
P. 47

n
                                                           ∑  ( ^y - y) 2
                                                                i
                                                                   i
                                                            i =1
                                                   NSE = 1 -                                           (11)
                                                            n
                                                           ∑  ( ^y - 珋  2
                                                                  y)
                                                                i
                                                                   i
                                                            i =1
              式中: ^y 、y分别为神经网络输出值和期望值,即鱼类死亡率的预测值和实测值; 珋 期望值的平均
                                                                                          y为
                     i   i                                                                 i
              值,即鱼类死亡率实测值的平均值;i为样本数据组数;n为全部样本数据个数。
                  ( 2)BP神经网络结构。建立 BP神经网络的关键是拓扑网络的构造,包括网络层和结点数量的选
              定。本文使用的 BP神经网络训练算法为 Bayes正则化算法,学习率为 0.01。网络结构包含输入层、
              隐含层和输出层 3层,输入层与隐含层间选用双曲线正切函数 Tansig作为传递函数,隐含层与输出层
              间的选取线性函数 Purelin作为传递函数。BP神经网络隐含层的神经元个数取值依据式(12)初步确定
              为 9~13个,通过由小到大改变神经元个数训练并检验其精度,计算表明当隐含层神经元个数为 12时
              精度最高,最终确定神经元数为:输入层 6个、隐含层 12个、输出层 1个。
                                                       p = m + n + A                                   (12)
                                                          槡
              式中:p为隐含层神经元数量;m为输入参数数量;n为输出参数数量;A为[1,10]之间的常数。
                  (3)IPSO算法参数。粒子群方法中的粒子种群规模对系统的收敛速度、准确性和稳定性都有影
              响。增加种群规模可以提高算法的搜索精度,但会减慢算法的收敛时间。王维博等                                        [25] 根据实验法推荐
              将粒子群的种群规模设置为 20~50。利用粒子群算法优化 BP神经网络时,其最大迭代次数通常为 100~
              300次  [23,26] 。本文选取 IPSO算法参数为:粒子种群规模 30、迭代次数 100次。
              3.2 IPSO- BP神经网络训练结果 对于实验得出的 439条测量数据,使用 419条对 IPSO - BP神经网
              络进行训练和验证,其中随机选取的训练集占 80%,验证集占 20%                             [27] 。使用 20条数据作为测试数据
              (测试集不用于神经网络训练),测试数据集的变量值基本覆盖了实验测量的范围,具有较强的代表
              性。部分训练样本数据的预测和实测死亡率如图 6所示,在不同实验鱼种类和含沙量时,实测值和预
              测值均较为接近且变化趋势一致。在图 7中,训练样本死亡率的数据点均集中分布于 y = x辅助线附
              近,相关系数 R = 0.995,满足训练要求。通过对预测误差的分布进行统计可知,训练样本的预测误差
              基本处于±5%以内,仅有 1组数据的误差大于 10%。基于以上分析,认为建立的 IPSO - BP神经网络在
              预测高含沙水体中花斑裸鲤和鲤鱼的死亡率时拥有较高的准确率。
              3.3 IPSO - BO神经网络预测结果 IPSO - BP神经网络训练完成后,为了消除 BP神经网络的随机性对预测
              结果的影响,参照文献[26]的数据处理方法,对 20组测试数据重复计算 10次取平均值进行分析,实验测量
              数据和预测结果如表 4所示。由表可知,死亡率的预测和实测值基本保持一致,平均误差为 1.81%,最
              大误差为 5.48%。在预测数据中鲤鱼死亡率的误差比花斑裸鲤相对较大,因为鲤鱼水槽实验的测量数据
              较少,训练样本数据少于花斑裸鲤,可通过增加训练样本、结合野外观测数据等方法提高预测准确率。























                                            图 6 用于训练的部分样本数据和预测结果对比

                                                                                                —  2 9 7 —
   42   43   44   45   46   47   48   49   50   51   52