【学习笔记】分布式估计算法(EDAs)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1、什么是分布估计算法EDA

EDA 是一种随机优化算法,通过从已发现的有希望的解决方案中构建的显式概率模型对候选解决方案空间进行探索。

大多数进化算法和EDA的主要区别在于,在EDA中 用于生成新候选解的概率分布是显示定义的,而在进化算法中,分布是隐式定义的。所谓的“显式定义”是指算法明确地使用概率模型来描述解空间的分布。这意味着算法直接构建并更新一个概率模型,此模型用于直接指导生成新的解。相反,在传统的进化算法中,如遗传算法(GA),选择、交叉(杂交)和变异操作通常定义了一个隐式的概率分布。这些操作虽然受概率控制(例如,交叉概率和变异概率),但算法并不直接构建一个用于生成解的概率模型。相反,新的解是通过操作现有的个体(通过选择、交叉和变异)间接生成的

EDAs通过以下过程工作:

Created with Raphaël 2.3.0 开始 初始化种群P 评价 从P中选择子种群S (随机选择/锦标赛/轮盘赌/fitness排序的前n%) 根据S构建概率模型M 采样M生成新的候选解种群O 合并O和P(可能完全替代) 迭代完成? 结束 yes no

2、一些经典的EDAs

由于所使用的概率模型对EDA的效率和适用性有很大影响,因此EDAs通常根据它们能够编码的分布类型进行分类。在文献[1]中,EDAs被分为了四个主要的类别

  • 变量是离散编码的
  • 变量是实值编码的

2.1 离散变量中的EDA(Discrete variables)

2.1.1单变量EDA模型 (Univariate models)

单变量模型假设问题的变量是完全独立的,即:任何单个变量的概率分布不取决于其他变量的值。

单变量边际分布算法 (univariate marginal distribution algorithm (UMDA) )是一个简单高效的单变量EDA。该算法于1996年被提出[2]。UMDA一般被用在二进制编码的问题中,并使用概率向量 p = (p1, p2, . . . , pn)作为概率模型。其中pn表示种群中所有个体在第n维是1的概率。概率向量将影响新个体的生成。换句话说,子代个体O_i^j有p_j的概率被设置成1。

单变量EDA中的另一个重要的概念是增量单变量分布估计算法(incremental univariate EDA)。与传统的单变量EDA最大的区别是,增量单变量EDA不是在每一代完全重新学习概率分布,而是基于当前的概率向量逐渐调整,通过增量的方式更新这个向量。其优点是能逐步改进概率模型,更平滑的探索解空间,而且避免过早收敛。因此, iuEDA的概率模型(概率向量)的更新通常依赖学习率LR,概率向量p的更新公式可以表示为:
n e w p = ( p ∗ ( 1.0 − L R ) ) + ( L R ∗ x ) . new_{p} = (p * (1.0-LR)) + (LR * x). newp=(p(1.0LR))+(LRx).
其中, L R LR LR是学习率, x x x表示解决方案。

一个经典的增量单变量EDA是基于种群的增量学习算法(population-based incremental learning, named PBIL)[3]。 以下是PBIL的一个例子:
Alt
Alt

另一个值得一提的增量单变量EDA是cGA(compact genetic algorithm)[4]. cGA同样采用概率向量表示概率模型。与PBIL不同的是,cGA在每一代中生成两个个体,在评价后选出获胜方和失败方,选取二者不同的位后,概率模型在这些位置上向着获胜方偏移。因此,cGA在一次迭代中,很可能只更改部分位置的概率,而非更改所有位置的概率。

小结

UMDA 是估计分布算法中最简单的形式之一,它假设所有变量之间都是独立的。UMDA从一个随机初始化的种群开始,通过评估和选择最优个体,然后估计每个变量的边缘分布。新的个体是通过独立地从这些边缘分布中采样生成的。UMDA的核心是它忽略了变量之间的相互作用,仅通过更新边缘分布来引导搜索过程。

PBIL 是一种将遗传算法理念与竞争学习结合的算法。它通过维护一个概率向量来隐式地表示种群,而不是直接操作种群中的个体。在每一代中,PBIL根据概率向量生成一组个体,评估它们,然后选择最优的个体来更新概率向量。更新采用的是增量学习方式,即概率向量的更新是现有概率向量与选出的最优个体的加权平均。此外,为了保持种群的多样性,PBIL引入了一个突变机制。

cGA在每一代中,根据当前的概率向量随机生成两个个体,然后根据它们的适应度比较结果来更新概率向量。cGA不需要维护实际的种群,也不进行交叉或复杂的突变操作,而是仅通过概率向量的调整来模拟遗传算法的选择过程。

上述三种经典的处理离散编码候选解的EDA算法几乎都假设了问题变量之间的独立性。然而,问题中的变量之间通常都存在某种相关性。

2.1.2 考虑变量间相关性的EDAs

忽略变量之间相关性的算法通常会面临捕捉依赖关系不足,探索和开发不平衡,难以处理复杂问题等问题,这些问题最终回导致搜索过程不能高效地指向最优解。为了解决这些问题,科学家们提出了许多更为复杂的分布估计算法。

1996年,Jordi Bonet等人提出了一种名为互信息最大聚类的EDA(The mutual-information-maximizing input clustering,MIMIC)[5]。MIMIC使用链式分布建模变量之间的相关性。通俗来说,MIMIC通过互信息衡量两个变量之间的依赖关系,即一个变量对另一个变量的预测能力,互信息越高,两个变量的关联度越高。

互信息是信息论中的一个概念,用来量化两个随机变量之间的相互依赖性。互信息衡量知道一个变量值后另一个变量不确定性减少的程度。如果两个变量独立,则它们的互信息为零;如果两个变量有强关联,则它们的互信息较大

具体来说,MIMIC算法的流程如下:

Alt
举例来说,假设我们在优化一个四位二进制字符串的问题,目标是最大化字符串中’1’的数量。我们选定的最优个体数据集如下:

1101
0111
1110
1100

并假设通过互信息分析确定的变量顺序为:{X1,X3,X4,X2}; 则,我们需要计算下述边缘和条件概率以构建完整的概率模型:
Alt
vi. 根据上述概率模型生成新个体:
Alt
在这里插入图片描述

小结

上述基于链式结构的概率模型的创建方式虽然考虑了变量之间的相关性,但是概率模型的计算十分复杂,并且受限于问题的维度,其扩展性也较差;在面对复杂的多峰问题时,如果某些变量之间的依赖关系导向不同的峰,其性能也会因为难以平衡开发和探索大打折扣。除此之外,类似于MIMIC的EDAs仅考虑到了变量之间的二元交互,通常忽略了多变量交互或者高度重叠的交互问题。

2.1.3 考虑到多变量交互(Multivariate interactions)的EDA

多变量交互指的是多个因素同时影响一个结果的情况。在二元交互中,我们考虑两个变量如何联合影响结果,但是在现实世界问题中,常常会有多个因素相互作用影响最终结果,这些交互可能是非线性的,也可能涉及更复杂的动态。比如,在医学研究中,多个基因之间可能存在复杂的交互作用,共同影响某种疾病的风险;在客户购买行为的预测中,客户的年龄、所在地区和收入水平可能共同影响他们的购买决策。

解决上述问题的一个好的思路是将变量集成为独立的簇。一个典型的例子是cGA的原作者在2006年提出的扩展紧凑型遗传算法(The extended compact genetic algorithm (ECGA))[6]。其主要思想是在构建概率模型之前首先识别变量之间的“建筑块”(building blocks),即那些高质量的、频繁出现的变量组合。它认为这些建筑块在搜索过程中是有利的,并应当被保留。

为此,ECGA引入了最小描述长度(MDL), 作为确定高质量变量组合的机制。MDL的原理认为,描述长度越小的建筑块意味着它在模型复杂性(需要的信息量)和数据拟合度(数据的解释力)之间找到了更好的平衡。MDL倾向于选择既简洁又能有效解释数据的模型,从而避免过度复杂和过度拟合的情况。而描述长度是由模型长度和数据长度两部分组成的。具体来说,MDL首先列出全体变量所有的建筑块,接着计算每个建筑块的描述长度,并最终确定一种效果最好的分组情况。分组后的变量之间的关系如下图所示:

Alt

在将所有的变量都分好组后,ECGA将以每个组中所包含的变量的联合分布概率所组成的概率表作为概率模型生成新的个体或者种群。

联合分布概率是指两个或多个随机变量同时满足某种特定状态的概率

另一种比较好的尝试是利用贝叶斯网络描述变量间的依赖关系从而构建概率模型,被称为Bayesian optimization algorithm (BOA)[7]. 在BOA中,贝叶斯网络所具有的有向无环图结构中的每个节点表示问题的变量,有向边代表变量之间的条件依赖关系。其网络结构图如下:
Alt
构建贝叶斯网络的流程如下:

Created with Raphaël 2.3.0 开始 初始化无边网络 选择高适应度个体 评估可能的每条边 计算BD度量或信息增益 存在提高度量的边? 添加度量最高的边 达到网络复杂度上限? 完成网络构建 利用网络进行概率采样 生成新的候选解 满足终止条件? 结束 yes no yes no yes no
  • 初始化无边网络:创建初始状态的网络,不包含任何边。
  • 选择高适应度个体:从当前种群中选出表现最好的个体,用于后续的网络学习。
  • 评估可能的每条边:对所有可能的边进行初步评估。
  • 计算BD度量或信息增益:为每条边计算度量标准,以决定其对模型的潜在贡献。
  • 存在提高度量的边?:检查是否有边能显著提高网络性能。
  • 添加度量最高的边:选择改进最大的边加入网络。
  • 达到网络复杂度上限?:检查网络是否已达到复杂度上限,以避免过拟合。
  • 完成网络构建:完成贝叶斯网络的构建,准备用于生成解。

一旦网络构建完成,BOA就会根据当前网络结构,学习概率模型。 概率模型的分布情况由两部分构成

  • 父节点表示的变量的概率分布通常被视为独立分布,可以直接从数据中估计,其概率是独立概率
  • 非父节点表示的变量的概率,由于存在依赖关系,那么这些变量的概率需要根据父节点的每种可能状态组合来计算。其概率是条件概率。

当概率模型构建完成后,新的候选解将通过概率逻辑采样或类似的采样技术来生成。这个过程从网络中的根节点开始,根据每个节点的条件概率逐步确定每个节点的状态,从而构成一个完整的解决方案。

小结

相较于基础的单变量模型的算法和只考虑两个变量之间相关性的算法,考虑到多变量交互的EDA算法,如ECGA,BOA具有更强的表现力,这决定了它们能够解决更为复杂多变的问题。然而,这些算法的模型构建以及模型采样通常需要更昂贵的计算过程。

用于排列问题的EDAs (Permutation EDAs)

排列问题(Permutation-based problems),如旅行商问题(TSP)和二次分配问题(QAP),是组合优化中的一大类问题,它们特别依赖于元素的排序。这些问题的解决方案通常涉及到两个关键的结构特性:

  • 元素的绝对位置
  • 元素间的相对顺序

EDAs通过学习和模拟问题中的概率分布来引导搜索过程,理论上具有很强的潜力来解决包含复杂结构和依赖性的问题。但在实际应用中,传统的EDAs往往未被设计来直接处理这些特定于排列的结构特征。 因此,虽然EDAs具有处理这些问题的潜力,我们在实践中可能需要对它们进行特定的修改,以确保能够准确地解析和优化涉及这些关键特性的问题。

基于此,Pelikan等人设计了一种基于依赖树模型的EDA(the dependency-tree EDA (dtEDA) [9])。这种依赖树模型要求每个变量最多只能有一个父变量,大幅度简化了贝叶斯网络的复杂性。依赖树通过分析数据来确定变量之间的最强依赖关系,通常使用互信息作为评估变量间依赖强度的标准。 除此之外,为了保证所生成的候选解都是有效的排列,dtEDA在采样过程中,在每次选择一个元素后,从候选集中移除该元素,确保它不会被再次选择。
这个才做也很好理解,比如在旅行商问题中,我们的目的是要生成一条包含所有城市的路线,但每个城市只能访问一次

dtEDA的上述改进都是为了符合排列问题的结构特性。

连续变量中的EDA

将EDAs应用于实值域有两种主要方法:

  • (1)将实值变量映射到离散域中,并对结果问题使用离散EDA;
  • (2)使用基于实值变量定义的概率模型的EDAs。

离散化(Discretization)

将实质编码的种群离散化之后再应用离散EDAs是一个简单的方法。但简单的通过四舍五入将连续数值映射到其最接近的离散值是不太合理的。另外,还需要关注解决方案更集中的解空间,这些解空间往往存在存在着更好的解,因此更需要高精度的离散化。

基于此,[10] 提出使用直方图将每个变量的搜索空间划分为子区间,主要分为**固定宽度直方图(Fixed-Width Histogram)固定高度直方图(Fixed-Height Histogram)**两种情况。

  • 固定宽度直方图:
    假设有一个连续变量X, 其值域从0到1。我们想将这个范围划分成固定宽度的间隔。如果选择每个间隔的宽度为10,那么间隔会被划分为:
[0-0.1), [0.10-0.2), [0.2-0.3), [0.3-0.4), [0.4-0.5), [0.50-0.6), [0.6-0.7), [0.7-0.8), [0.8-0.9), [0.9-1]

如果一个样本点的值为0.23,它将被映射到间隔[0.2-0.3)。 这种方法保证每个间隔的大小相同,但间隔中包含的数据点数量可能会不同。

  • 固定高度直方图:
    假设同样的变量X, 我们希望每个离散的间隔都包含大致相同数量的数据点。如果有100个数据点,我们希望每个间隔包含大约10个数据点。离散化的步骤如下:

– 按值对所有数据点进行排序。
– 划分数据以保持每个间隔有相同数量的数据点:例如,前10%的数据(前10个数据点)划分到第一个间隔,接下来10%的数据划分到第二个间隔,以此类推。
– 定义间隔边界:根据数据点的实际值确定每个间隔的边界。例如,如果第10个数据点的值是9.7,第20个数据点的值是19.4,则第一个间隔为[最小值, 9.7),第二个间隔为[9.7, 19.4),以此类推。

这种方法可以保证每个间隔内包含相同数量的数据点,但每个间隔的宽度可能会不同,这种策略尤其适用于数据分布不均的情况。

参考文献

[1] Hauschild M, Pelikan M, “An introduction and survey of estimation of distribution algorithms,” Swarm and evolutionary computation, 2011, 1(3): 111-128.

[2] Mühlenbein, H., and G. Paaß. “From Recombination of Genes to the Estimation of Distributions I. Binary Parameters,” Parallel Problem Solving from Nature — PPSN IV, Lecture Notes in Computer Science, 1996, pp. 178–87, https://doi.org/10.1007/3-540-61723-x_982.

[3] Baluja, Shummet. “Population-Based Incremental Learning: A Method for Integrating Genetic Search Based Function Optimization and Competitive Learning,” Tech. Rep. No. CMU-CS-94-163, Carnegie Mellon University, Pittsburgh, PA, 1994.

[4]Harik, G. R., et al. “The Compact Genetic Algorithm.” IEEE Transactions on Evolutionary Computation, Jan. 1999, pp. 287–97, https://doi.org/10.1109/4235.797971.

[5] Bonet, Jordi, et al. “MIMIC: Finding Optima by Estimating Probability Densities.” Neural Information Processing Systems,Neural Information Processing Systems, Dec. 1996.

[6] Harik, Georges R., Fernando G. Lobo, and Kumara Sastry. “Linkage learning via probabilistic modeling in the extended compact genetic algorithm (ecga).” Scalable optimization via probabilistic modeling. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006. 39-61.

[7] Pelikan, Martin, et al. “Linkage Problem, Distribution Estimation, and Bayesian Networks.” Evolutionary Computation, vol. 8, no. 3, Sept. 2000, pp. 311–40, https://doi.org/10.1162/106365600750078808.

[8] Heckerman, David, et al. “Learning Bayesian Networks: The Combination of Knowledge and Statistical Data.” Machine Learning, Sept. 1995, pp. 197–243, https://doi.org/10.1007/bf00994016.

[9] Pelikan, Martin, et al. “Dependency Trees, Permutations, and Quadratic Assignment Problem.” Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, 2007, https://doi.org/10.1145/1276958.1277089.

[10] Tsutsui, Shigeyoshi, et al. Evolutionary Algorithm Using Marginal Histogram Models in Continuous Domain. Jan. 2007.

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值