分布估计算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA的关键问题

学习方法

如何根据每一代取得的优秀个体来更新概率 模型,随着待解决问题的复杂化和概率图模型 的复杂化,分布估计算法中概率模型的学习 占用了大部分的时间和空间开销,这必然将 成为分布估计算法发展的瓶颈. 如何根据一个概率模型来采样得到符合该概 率模型的样本,如Gibbs抽样。

采样方法
9
0.154245
10
0.204542
示例
学习之前
学习之后
示例

说明

可以看出,经过学习之后,优秀个体对应的 坐标的概率会变高,平滑处理可以保证:若一 个个体位置若和优秀个体距离较近,那么该 位置会受惠于该优秀个体,概率也会比较高 (基于这样一个假设--若个体相差不大,则 其适应度应该也相差不大)。
综述

基本思想--遗传算法和统计学习相结合 基本方法--通过统计学习的手段建立解空 间内个体分布的概率模型,然后对概率 模型随即采样产生新的群体,如此反复, 实现群体的进化
综述

基本概念

1个体与种群


● 个体就是模拟生物个体而对问题中的对象 (一般就是问题的解)的一种称呼,一个个 体也就是搜索空间中的一个点。 ● 种群(population)就是模拟生物种群而由若 干个体组成的群体, 它一般是整个搜索空间 的一个很小的子集。
基于不同概率模型的EDA

双变量相关的EDA

在实际问题中,变量之间并不总是相互独立的,最先考虑的 是最多两个变量相关的情况。 这种情况下,其概率模型为 代表算法 MIMC




采样方法如下 1)J=n,根据第ij个变量的概率分布P(xij), 随机采样产生第ij个变量 2)根据第ij个变量的条件概率分布 p(xij-1|xij)随机采样产生第ij-1个变量; 3)J=J-1,如果J=1,则一个完整的解向 量构造完成;否则转2).

EDA的并行化


1:将整个取值区域分成若干子区域,每 个子区域并行。 2:个体产生的采样--由于每个个体都是 根据概率模型随机产生的,因此每个个 体可以看做独立的,所以个体可以并行 产生。
EDA的优缺点


优点:为人们解决复杂的优化问题提供 了工具。分布估计算法能更加有效的解 决高维问题,降低时间复杂性。 缺点:同遗传算法一样,理论研究比较 困难,很难从理论上解决它适合解决什 么问题,概率模型的学习会占用很多时 间和空间。

EDA的关键问题

概率模型

选择合适的概率模型,是发挥分布估计算法 性能的关键所在,对于连续域的比较复杂问 题来说,如果采用单峰的概率模型,会取得 比较好的收敛速度,但是非常容易收敛到局 部最优。如果采用多峰的概率模型(如混合 高斯模型),对与比较复杂的优化问题可能 有更强的描述能力,但是这种模型的更新会 相对困难。
基于不同概率模型的EDA

多变量相关EDA
变量之间的关系更加复杂,需要更加复杂的 概率模型来描述。 代表算法EIGA,BOA


连续域的EDA
在示例中,我们解决了一个离散的问题,如 果X1和X2的取值域是连续的,我们就需要 一个连续的概率模型来描述解空间的分布。 如正态分布、柯西分布 代表算法 CMAES

示例

更新概率模型(根据2,7;2,9和5,6三个点)

更新X1的分布总共有3个个体,三个个体对 应的X1为2,2,5

P1'(x1=1)=0;P1'(x1=2)=2/3;P1'(x1=5) =1/3;P1'(x1=3)=0;P1'(x1=4)=0
P2'(x2=6)=1/3;P2'(x1=7)=1/3;P2'(x1=9) =1/3;P2'(x1=8)=0;P2'(x1=10)=0
分布估计算法
综述

最近几年,在进化计算领域兴起的一类 新型的优化算法,即分布估计算法 (Estimation of Distribution Algorithm) 简称EDA,提出了一种全新的进化模式, 并迅速成为进化计算领域的研究热点和 解决工程问题的有效方法.分布估计算 法的概念最初在1996年提出,在2000年 前后迅速发展,成为当前进化计算领域 前沿的研究内容。

同理得到

示例

更新概率模型

对分布函数进行平滑处理(防止有一些点的概率为零,自变量的值 相差较近则概率应该相差不大)
以X1为例 5 P1''(X1=i)= exp( | i j |) P1' ( x 并归一化 j 1 同理求P2’ 得到 P1''(X=1)=0.139861 P1''(X=2)=0.380183 P1''(X=3)=0.16124 P1''(X=4)=0.117459 P1''(X=5)=0.201247 P2''(X=6)=0.27714 P2''(X=7)=0.27955 P2''(X=8)=0.125736 P2''(X=9)=0.108491 P2''(X=10)=0.209084
示例

建立模型

建立一个概率模型。在这里我们只需要建立 一个离散的概率模型(设X1,X2相互独 立),初始化如下(只列出边缘概率)。
1 0.2 6 0.2 2 0.2 7 0.2 3 0.2 8 0.2 4 0.2 9 0.2 5 0.2 10 0.2
X1 P1 X2 P2
示例

采样与择优
根据概率模型,采样若干个点(6个)。假 设采到的点为2,7;3ቤተ መጻሕፍቲ ባይዱ9;3,10;4,8;2,9;5,6 评估这六个点,带入函数(适应度函数), 分别得到9,12,13,12,11,11。因此我们选择 2,7;2,9和5,6来更新概率模型。
综述

基本概念
概率模型 --用于描述取值域中优秀个体分布情况的一 系列函数或其他数学工具(包括概率密度函 数、条件概率、边缘概率等等)

综述

基本概念

适应度与适应度函数





● 适应度(fitness)就是借鉴生物个体对环境的 适应程度,而对问题中的个体对象所设计的 表征其优劣的一种测度。 ● 适应度函数(fitness function)就是问题中的 全体个体与其适应度之间的一个对应关系。 它一般是一个实值函数。该函数就是遗传算 法中指导搜索的评价函数。
示例

重复以上步骤 从示例中可以看出,所谓的分布估计算 法就是一个不断地更新概率模型,使概 率模型越来越能反映优秀个体的分布的 过程。
基于不同概率模型的EDA

变量无关的EDA

如示例所示,X1和X2的概率是无关的,也可以 认为为在概率模型中X1和X2两个变量相互独立。 在这种情况下,联合概率密度是边缘概率密度的 积,采样的时候可以对于每个变量分别进行采样, 概率模型可以认为是:
示例2

概率模型的更新
根据得到的N个优秀个体,求这N个点适应 度最好的点,得到A=[xu1,xu2......xun] 假设在此之前得到的最好的点为 A'=[xb1,xb2....xb5] 令C=[d1,d2.....dn]=A-A'

xui为第i维的正态分布的均值。 di为第i维的正太分布的方差。

示例2

采样方法(产生一个个体)

产生Tx=[x1,x2.....xn],其中xi~N(0,1) 令Tx1等于Tx和C的内积 Tx2=Tx1+A 向量Tx2即为采到的个体的坐标。


连续采样,直到采到N个个体的适应度比当 前已经取得的最佳适应度要好。如果连续采 样次数大于某个阈值,仍没有得到比目前最 好的点,则检验是否是极值点。检验的方法 为令每一维的方差为一个极小值(设为1e5),采样多次,若无改进,则认为是极值 点,记录该极值点,若不是极值点,则考虑 适当将方差变小,继续采样。
遗传算法是对于个体进行遗传操作(交叉、变异 等),"微观"层面模拟生物的进化。 分布估计算法是对于整个群体的分布建立一个概 率模型,通过这个概率模型来描述进化的方向, 是“宏观”层面的模拟。
综述

示例

在这里,举一个最简单的离散的优化的 问题作为示例。

Z=X1+X2,其中X1的取值域为1,2,3,4,5, x2 的取值域为6,7,8,9,10
示例2

求下列函数的所有极值点

y=
sin(x )
i i 1
n
---------试着使用变量无关的EDA解决这个问题
示例2

概率模型确定

对于每一维度对应于一正态分布,那么
N (u1, d 1) N ( u 2, d 2 )
x1 x2 . xn
~
. N (u 3, d 3)
示例2
取得优秀个体
综述

主要步骤(虽然有很多具体的实现方法, 但是分布估计算法可以归纳为以下两步)
1:构建描述解空间的概率模型.通过对种 群的评估,选择优秀的个体集合,然后采用 统计学习等手段构造一个描述当前解集的概 率模型. 2:由概率模型随机采样产生新的种群。

综述

分布估计算法的与遗传算法的不同

生物进化的数学模型

j)
示例

更新概率模型

P1=θ*P1''+(1-θ)P1 P2=θ*P2''+(1-θ)P2 其中θ是遗忘因子,取0.5
1
0.169931
X1 P1 X2 P2
2
0.290091
3
0.180625
4
0.158729
5
0.200624
6
0.23857
7
0.239775
8
0.162868
相关文档
最新文档