Page 154 - 《软件学报》2021年第12期
P. 154

3818                                Journal of Software  软件学报 Vol.32, No.12, December 2021

             (2)  生成初始解:利用拉丁超立方随机采样(LHS)            [25] 方法对决策空间均匀采样初始解.如文献[15,17,18]所
                 述,较为合适的随机采样次数为 11d−1,其中,d 为决策变量的数量.
         2.2   代理模型构建
             本文采用 Kriging 模型作为代理模型,即高斯过程来拟合目标函数,分别对每一个目标建模.一方面,Kriging
         模型在评估目标值的同时可以给出该目标上的不确定性,不需要使用额外的方法评估解的不确定性;另一方面,
         Kriging 模型因其有效性而较为流行,很多研究都使用它,方便对比.下面对训练 Kriging 模型做一个简要说明,更
         多细节见文献[19,26].
             为了建立一个廉价的 Kriging 模型,我们需要两点假设.
             •   第一,假设对于任意 x,其目标函数值 y 都满足:
                                                 y=μ+ε                                        (1)
                                             2
                其中,μ是回归模型的预测值,ε~N(0,σ );
                                         j
                                     i
             •   第二,假设对于任意两个 x 和 x ,它们的高斯随机过程的协方差与它们的之间的距离相关,表示如下:
                                                      2
                                                          i
                                                            j
                                                   j
                                               i
                                           c[ε(x ),ε(x )]=σ R(x ,x )                          (2)
                                                  ⎛  d         k p ⎞
                                          i
                                       R (,xx j ) =  exp −  ⎜  θ k  | x −  k i  x k j  |  ⎟ ∑  (3)
                                                  ⎝  k = 1      ⎠
                其中,θ k 和 p k 为超参数,p k ∈[1,2].
                                                                                 2
             在以上假设的基础上,对于 N I 个训练样本,我们可以最大似然,公式(4),来估计参数μ和σ :
                                                           T
                                         1         ⎡  (y −  μ ) R − 1 (y −1  1  ) μ ⎤
                                                exp −                ⎥                        (4)
                                                   ⎢
                                  (2 σ 2 N I  /2  det( )  ⎣  2σ 2    ⎦
                                   π
                                              R
                                       )
         其中,y 为训练样本的目标函数值,1 为长度为 N I 的单位列向量,det(R)为相关矩阵 R 的行列式.R 表示如下:
                                              1
                                          ⎡ R (,xx 2 )     R ( , xx 1  N I  ) ⎤
                                       R  =  ⎢ ⎢                ⎥ ⎥                           (5)
                                          ⎢  ( R x N I  , x 1 )   R x N  I  , x N I  ) ⎥
                                                        (
                                          ⎣                     ⎦
                                        2
             为了最大化公式(4),可以得到μ和σ :
                                                         −1
                                                     −1 T
                                                  −1
                                                T
                                            μ=(1 R 1) 1 R y                                   (6)
                                         σ 2  1  (y −  1  ) μ =  T  − 1 (y − R  1  ) μ        (7)
                                             N I
                                                      2
             至此,对于输入 ˆ x ,可以估计其近似目标值 ˆ y 和方差 ˆ s ,即不确定性:
                                                  T
                                            ˆ y =  μ +  rR − 1 (y −  1  ) μ                   (8)
                                                                −
                                                    T
                                                                 1
                                                                   2
                                                              T
                                    ˆ s =  2  σ 2 [1−  T  −  1  + rR r  (1 R −  1  ) (1− 1  −  1  1 R r ) ]  (9)
              T
         其中,r 是样本与输入 x 的相关矩阵:
                                         r  T  =  [( ,R x x  1 ),..., ( ,R x x N I  )] T     (10)
         2.3   最小相关解集计算
             因为候选解生成算子、选择算子和训练集更新都需要计算最小相关解集,算法 2 用于算法 3、算法 5 和算
         法 6 中,所以这里优先对其进行介绍.
             把原问题分解为多个单目标子问题来求解,可以较好地权衡解的收敛性和多样性                             [8,9] .这里的计算最小相关
         解集也是基于分解的思想,它引入参考向量把原问题分解为多个单目标子问题,再求得每一个子问题最小相关
         解.所有参考向量的最小相关解组成的集合即为最小相关解集.其中的每一个最小相关解对应一个子问题的当
         前最优解,因而最小相关解集的大小与解的多样性有关.最小相关解集越大,则越多的子问题存在当前最优解,
         即这个集合的多样性越好;反之亦然.
             DSAEA 是按照解与参考向量的角度来判定它们的相关性的,并在此基础上得到参考向量的最小相关解.
   149   150   151   152   153   154   155   156   157   158   159