DREAM 算法的候选点生成与接受机制
DREAM 把进化计算中的差分进化策略接进了 MCMC 的理论框架。本文从四个方面分析:差分进化策略在候选点生成中的应用、Metropolis 接受准则的使用、候选点生成的数学描述,以及接受机制如何在探索和利用之间取得平衡。
候选点生成
DREAM 算法的候选点生成过程是其核心创新之一,融合了差分进化、子空间采样和随机扰动等多个元素。这个过程不仅提高了采样效率,还增强了算法对复杂参数空间的适应能力。
差分进化的应用
差分进化策略是 DREAM 算法候选点生成过程中的关键组成部分。这一策略源自进化算法领域,在 DREAM 中被用于概率分布采样。差分进化的核心思想是利用种群中个体之间的差异来指导搜索,这在DREAM算法中表现为利用多条马尔可夫链之间的信息差异来生成新的候选点。
具体来说,DREAM 算法在每次生成新候选点时,会随机选择几对不同的链,计算它们之间的差值。这个过程可以表示为:
其中, 通常为 或 , 和 是随机选择的链索引。
这种差分操作的重要性在于它能够自适应地捕捉参数空间的局部结构和参数间的相关性。在参数空间的不同区域,链之间的差异会反映出该区域的特征尺度和主要变化方向。例如,在参数空间的平坦区域,链之间的差异可能较小,生成的候选点会倾向于进行小幅探索;而在参数空间的陡峭区域,链之间的差异可能较大,从而允许算法进行更大范围的搜索。
这种自适应性让算法能够在不同的参数空间区域自动调整其行为,既能在复杂的多模态分布中进行全局探索,又能在高概率密度区域进行精细搜索。
子空间采样与随机扰动
在差分进化的基础上,DREAM 算法引入了子空间采样和随机扰动,进一步增强了其在高维空间中的性能。
子空间采样的核心思想是在每次迭代中只更新参数向量的一个子集,而不是所有维度。这可以通过一个二元向量 来实现,其中每个元素以概率 (交叉概率)为 ,以概率 为 。数学上,这个过程可以表示为:
其中 表示逐元素乘法, 是经过缩放和扰动的差分向量, 是一个小的高斯噪声向量,用于增加探索能力。这样,当 为 时,该维度的值更新;反之,该维度的值保持不变。
子空间采样策略的引入有几个重要的意义:
提高高维问题的采样效率:在高维空间中,全维度更新往往会导致低接受率,而子空间采样允许算法在保持较高接受率的同时进行有效探索。
增加算法的灵活性:通过调整交叉概率 ,可以控制每次更新的维度数量,从而在全局探索和局部精细化之间取得平衡。
处理参数间的条件依赖:在某些问题中,参数之间可能存在复杂的条件依赖关系。子空间采样允许算法在固定某些参数的情况下探索其他参数,有助于捕捉这些复杂的依赖结构。
随机扰动的引入则进一步增强了算法的稳健性和探索能力。这包括对差分向量的小幅随机调整和添加高斯噪声。这些扰动机制有助于算法跳出局部最优,探索更广阔的参数空间。
DREAM 算法的候选点生成过程融合了差分进化、子空间采样和随机扰动等多个创新元素。这个过程可以分为以下几个关键步骤:
差分进化操作: 算法维护多条并行的马尔可夫链,每次生成新候选点时,会随机选择几对不同的链,计算它们之间的差值。这个步骤的目的是捕捉参数空间中的分布特征和参数间的相关性。通过利用多条链之间的信息,算法能够更好地适应目标分布的形状和尺度。
缩放和扰动: 计算得到的差分向量会被进行缩放和扰动。缩放因子的选择基于理论分析,旨在达到最优的接受率。同时,引入小的随机扰动,增加了算法的探索能力。这个步骤使得算法能够自适应地调整提议步长,在不同的参数空间区域采用不同的搜索策略。
子空间采样: DREAM 算法引入了子空间采样策略,即每次迭代只更新部分维度的参数。这个机制通过一个随机生成的二元向量来实现,该向量决定了哪些维度会被更新。子空间采样大大提高了算法在高维空间中的效率,因为它允许算法在保持高接受率的同时,进行更大幅度的参数调整。
候选点生成: 最后,通过将差分向量、扰动和子空间采样的结果结合,生成新的候选点。这个过程还包括添加一个小的高斯噪声,进一步增强算法的探索能力。
这种候选点生成机制的设计旨在平衡全局探索和局部精细化。差分进化操作提供了自适应的步长调整,子空间采样提高了在高维空间中的效率,而随机扰动和噪声则增强了算法的稳健性和探索能力。
数学描述
为了更深入地理解 DREAM 算法中候选点生成的过程,我们需要对其进行详细的数学描述。这个过程综合了差分进化、子空间采样和随机扰动等多个元素,形成了一个独特而高效的采样机制。
设 表示在第 次迭代中 条马尔可夫链的状态集合,其中每个 是一个 维向量。对于第 条链,新的候选点 的生成过程可以分为以下几个步骤:
差分进化操作: 首先,随机选择 对不同的链(通常 或 ),计算它们之间的差值:
其中 和 是除 之外随机选择的链索引。
缩放和扰动: 对差分向量进行缩放和扰动:
其中 是缩放因子, 是一个小的随机扰动向量,其元素服从均匀分布 , 通常很小(如0.0001)。
子空间采样: 引入一个二元向量 ,其中每个元素以概率 (交叉概率)为 ,以概率 为 。同时,为确保至少一个维度被更新,随机选择一个维度 并将 设为 。
候选点生成: 最后,候选点 通过以下方式生成:
其中 表示逐元素乘法, 是一个小的高斯噪声向量,用于增加探索能力。
这个数学描述展示了 DREAM 算法如何综合利用多个创新元素来生成候选点。差分进化操作捕捉了参数间的相关性和尺度信息,缩放因子 根据问题维度自动调整步长,子空间采样策略允许算法在不同维度上采用不同的更新策略,而随机扰动和噪声则增加了算法的稳健性和探索能力。
接受机制如何平衡探索和利用
DREAM算法的接受机制,基于Metropolis准则,在算法的探索(exploration)和利用(exploitation)之间扮演着关键的平衡角色。这种平衡对于算法在复杂的参数空间中有效搜索至关重要。
自适应步长调整:DREAM的候选点生成机制中,步长(通过差分向量的缩放)是自适应的。在参数空间的平坦区域,大的步长促进了广泛探索;而在高概率密度区域,小的步长则有利于精细搜索。Metropolis准则通过接受或拒绝这些不同尺度的移动,实现了探索和利用之间的自动平衡。
概率性接受:Metropolis 准则的一个关键特性是它允许接受一些导致目标函数值降低的移动。这种"向下"移动的可能性使得算法能够跳出局部最优,探索更广阔的参数空间。同时,由于接受概率与目标函数值的比值成正比,算法仍然倾向于移向更高概率的区域,从而实现了探索和利用之间的平衡。
多链协同:DREAM 算法维护多条并行的马尔可夫链,这不仅提高了采样效率,也为探索和利用的平衡提供了新的维度。不同的链可能处于参数空间的不同区域,通过差分进化操作,信息可以在链之间传播。这种机制使得算法能够同时在多个区域进行探索和精细化搜索。
子空间更新的影响:子空间采样策略允许算法在每次迭代中只更新部分维度。这种方法在保持高接受率的同时,也为算法提供了在不同尺度上探索参数空间的能力。大范围的更新有利于探索,而小范围的更新则有利于局部精细化。
通过这些机制,DREAM 算法能够在全局探索和局部精细化之间取得平衡,既能有效地搜索整个参数空间,又能在高概率区域进行深入探索。
结论
候选点生成和接受机制在 DREAM 里分工明确:差分进化负责让提议步长跟着参数空间的局部结构走,Metropolis 准则负责保证这些提议不破坏收敛性。前者可以换策略,后者不能动,这是整套设计能保住理论正确性的原因。
参考文献
Vrugt, J. A., Ter Braak, C. J. F., Diks, C. G. H., Robinson, B. A., Hyman, J. M., & Higdon, D. (2009). Accelerating Markov chain Monte Carlo simulation by differential evolution with self-adaptive randomized subspace sampling. International Journal of Nonlinear Sciences and Numerical Simulation, 10(3), 273-290.
Storn, R., & Price, K. (1997). Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization, 11(4), 341-359.
Roberts, G. O., Gelman, A., & Gilks, W. R. (1997). Weak convergence and optimal scaling of random walk Metropolis algorithms. The Annals of Applied Probability, 7(1), 110-120.
Ter Braak, C. J. F., & Vrugt, J. A. (2008). Differential Evolution Markov Chain with snooker updater and fewer chains. Statistics and Computing, 18(4), 435-446.
Laloy, E., & Vrugt, J. A. (2012). High‐dimensional posterior exploration of hydrologic models using multiple‐try DREAM(ZS) and high‐performance computing. Water Resources Research, 48(1).
Vrugt, J. A. (2016). Markov chain Monte Carlo simulation using the DREAM software package: Theory, concepts, and MATLAB implementation. Environmental Modelling & Software, 75, 273-316.
Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H., & Teller, E. (1953). Equation of state calculations by fast computing machines. The Journal of Chemical Physics, 21(6), 1087-1092.
Andrieu, C., & Thoms, J. (2008). A tutorial on adaptive MCMC. Statistics and Computing, 18(4), 343-373.
Gelman, A., & Rubin, D. B. (1992). Inference from iterative simulation using multiple sequences. Statistical Science, 7(4), 457-472.
Haario, H., Saksman, E., & Tamminen, J. (2001). An adaptive Metropolis algorithm. Bernoulli, 7(2), 223-242.
Brooks, S. P., & Gelman, A. (1998). General methods for monitoring convergence of iterative simulations. Journal of Computational and Graphical Statistics, 7(4), 434-455.
Vrugt, J. A., & Ter Braak, C. J. F. (2011). DREAM(D): an adaptive Markov Chain Monte Carlo simulation algorithm to solve discrete, noncontinuous, and combinatorial posterior parameter estimation problems. Hydrology and Earth System Sciences, 15(12), 3701-3713.
Sadegh, M., & Vrugt, J. A. (2014). Bridging the gap between GLUE and formal statistical approaches: approximate Bayesian computation. Hydrology and Earth System Sciences, 18(12), 4239-4264.
Roberts, G. O., & Rosenthal, J. S. (2001). Optimal scaling for various Metropolis-Hastings algorithms. Statistical Science, 16(4), 351-367.
Ter Braak, C. J. F. (2006). A Markov Chain Monte Carlo version of the genetic algorithm Differential Evolution: easy Bayesian computing for real parameter spaces. Statistics and Computing, 16(3), 239-249.