Page 63 - 2023年第54卷第10期
P. 63

式中g和h分别为损失函数 l的一阶和二阶导数。
                   i   i
                  进一步地,将目标函数转换为一个关于 w的一元二次方程求最小值的问题,即
                                                        j
                                                   T        1
                                               (t)
                                                  ∑
                                            Obj =    [ Gw+ (    i      2 ]
                                                               H +λ ) w +γ T
                                                        i j
                                                                       j
                                                  j =1      2
                                             i ∑
                                            G=     g i                                                  (5)
                                               i ∈I j
                                            H=     h i
                                             i ∑
                                               i ∈I j
                                (t)
                                                                                            
                  将目标函数Obj 对 w求一阶导数,则可获得第 j个叶子节点输出分数的最优值 w ,如下所示:
                                                                                            j
                                      j
                                                              G i
                                                         
                                                       w =-                                             (6)
                                                         j
                                                             H+ λ
                                                               i
                                                                     
                                       (t)
                      
                  将 w 代入目标函数Obj 中,即可计算出最优目标值Obj为
                      j
                                                        1  T   G 2
                                                                 i
                                                   
                                                Obj=-     ∑         +γ T                                (7)
                                                        2 j =1 H +λ
                                                               i
                  XGBoost算法集成了若干棵回归树,其中每棵树的叶子节点都在做特征分裂,通过统计每个特征
              被用于分裂的总次数 Fcount,可获得特征的重要性排序。此外,特征平均增益值Gain和特征平均覆盖
              率Cover也是 XGBoost中常用的特征重要性度量指标,其计算公式分别如式(8)和式(9)所示:
                                    ∑  Gain         1    G 2      G 2      (G +G )  2
                                                           L
                                                                   R
                                                                                  R
                                                                             L
                             Gain=         ,Gain=     [       +        -               ] -γ             (8)
                                     Fcount         2 H +λ      H +λ     (H +H )+λ
                                                         L       R          L   R
                                                            ∑  Cover
                                                     Cover =                                            (9)
                                                             Fcount
              式中:Gain为特 征 分 裂 时 的 信 息 增 益 值;Cover为 特 征 分 裂 时 落 在 叶 子 节 点 上 的 样 本 个 数;G =
                                                                                                        L
              ∑  g;G =       g;H =      h;H =       h;I和 I分别为左子树和右子树的样本组。
                                  L ∑
                                              R ∑
                      R ∑
                  i
                                                             R
                                                         L
                              i
                                          i
                                                     i
              i ∈I L      i ∈I R      i ∈I L     i ∈I R
              3.2 基于 IAO算法改进的 XGBoost集成学习模型 XGBoost超参数较多,超参数设置不准确将导致
              大坝渗流性态指标预测效率低下、精度降低。然而,超参数优化过程实质上是一个黑盒函数优化问
              题,若优化参数过多,则容易使模型冗余,导致计算复杂性增加,并影响系统整体性能                                          [21] 。因此,本
              文仅选取对 XGBoost算法预测性能影响较大的关键参数,如 n_estimators、max_depth和 learning_rate等
              超参数进行优化。其中,n_estimators为集成算法中弱评估器的数量,此参数值越大,模型的学习能力
              越强,但模型也越容易过拟合;max_depth控制模型中树的最大深度,其值越大模型越复杂,且模型
              容易过拟合;learning_rate参数控制迭代速率,可以防止模型过拟合                         [26] 。
                  现有研究大多根据人工经验或网格搜索方法搜寻 XGBoost的最佳超参数。然而,依靠人工经验寻
              找超参数需要丰富的专业背景知识和大量的实验                       [21] ,而网格搜索方法容易受到维度约束,搜索范围有
              限,难以找到最优参数           [27] 。采用智能优化算法对超参数进行调整不仅能够获得最优参数组合,还可以
              减少时间,提升效率。
              3.2.1 改进的天鹰优化算法 天鹰优化器(AquilaOptimizer,AO)是 Abualigah等                     [22] 于 2021年提出的
              一种新型智能优化算法,具有较强的全局搜索能力和较快的收敛速度。天鹰优化算法的灵感来自于天
              鹰的狩猎行为。天鹰主要有四种狩猎行为,即高空翱翔和垂直俯冲攻击、等高线飞行和短滑翔攻击、
              低空飞行和慢速下降攻击以及行走攻击并捕获猎物。这四种狩猎行为分别属于扩大搜索、缩小搜索、
              扩大开发和缩小开发的四个阶段。然而,AO算法采用简单的随机方式对种群初始化,难以保证初始
              化种群分布的均匀性和多样性,并且在开发阶段容易陷入局部最优。针对上述问题,本文采用混沌理
              论中搜素速度较快的 Tent混沌映射代替传统天鹰优化算法中的随机初始化,以增强种群的均匀性和多
              样性;然后,引入非线性飞行速率更新策略替代原来的线性飞行速率更新策略,以提高天鹰优化算法
                                                                                                   1
                                                                                              —   1 9 9 —
   58   59   60   61   62   63   64   65   66   67   68