导航:首页 > 代理服务 > 进化算法怎么换成代理模型

进化算法怎么换成代理模型

发布时间:2023-05-24 01:43:08

‘壹’ 进化算法的介绍

进化算法,或称“演化算法” (evolutionary algorithms, EAs) 是一个“算法簇”,尽管它有很多的变化,有不同的遗传基因表达方式,不同的交叉和变异算子,特殊算子的引用,以及不同的再生和选择方法,但它们产生的灵感都来自于大自然的生物进化。与传统的基于微积分的方法和穷举法等优化算法相比,进化计帆拆虚算御明是一种成熟的态燃具有高鲁棒性和广泛适用性的全局优化方法,具有自组织、自适应、自学习的特性,能够不受问题性质的限制,有效地处理传统优化算法难以解决的复杂问题。

‘贰’ 网络架构搜索

        作为计算智能方法的代表,起源于上个世纪四十年代的人工神经网络经历了五六十年代的繁荣,七十年代的低潮,八十年代的再次复苏,到近十年的广泛关注,如今已经成为理论日趋完善,应用逐步发展的前沿方向。Hinton 等人2006 年在《Science》上发表的文章引发了深度神经网络研究的热潮。面对大数据的诸多挑战,以深度信念网络、卷积神经网络和递归神经网络为代表的深度神经网络模型在很多应用领域展示出明显的优势和潜力,特别是随着数据量和数据维数的增加,深度学习的优势愈加突出。例如,Google 借助深度学习开发的AlphaGo 能从海量的对弈中学习正确的决策,微软语音识别采用深度学习使识别错误率显着降低,网络基于深度学习开发的机器人“小度”在跨年龄人脸识别上超越了人类。

       经过多年的研究和发展,基于人工神经网络的识别方法也逐渐取代传统的模式识别方法。神经网络已成为当前比较先进的技术,用来解决许多具有挑战性的识别任务如文字识别、语音识别、指纹识别、遥感图像识别、人脸识别、手写体字符的识别等。其中主流的神经网络模型有卷积网络和递归神经网络,卷积神经网络由 Yann LeCun 在 1998 年提出,自从 AlexNe 在 2012 年的 ImageNet 比赛中使用了这一架构拔得头筹,卷积神经网络迅速流行起来并广泛应用到视觉任务。如今,最先进的卷积神经网络算法在进行图像识别时,甚至可以超过人类扰羡肉眼识别的准确率。递归神经网络网络提出于 1990 年,被视为循环神经网络的推广,递归神经网络可以引入门控机制以学习长距离依赖,适用于包含结构关系的机器学习任务,在序列识别方面有重要应用。

        深度神经网络和深度学习算法因为在科研工作与工程任务中都取得了显着的效果从而大受欢迎。它取代了传统的手动提取特征方法,够端到端地自动提取和学习特征。而其中取得显着成功的深度神经网络通常是由于它们成功的架构设计,研究的工作重心从提取特征转移到了寻找最优架构上。通常来说,模型的容量越大网络的性能就越好,能够拟合任意函数。因此为了提升网络性能,网络结构被设计的越来越复杂。例如,VGG-16 约有缓桥拍1.4亿浮点数参数,整个网络占用超过500兆存储空间,需要153亿次浮点操作来处理一个$224\times224$大小的图像。虽然更深的网络层次和复杂的拓扑结构能够更有效地学习特征,但是网络规模的增大意味着人工设计网络时需要花费更多时间来反复试验,即使是专家也需要大量的资源和时间来创建性能良好的模型。

        神经网络架构搜索(NAS)是一种自动化学习网络结构的新方法,用于减少繁重的网络设计成本消渣。目前为止,NAS方法设计的网络在识别任务上的表现已经超过了人工设计的架构。NAS可以视作自动机器学习(AutoML)的子领域,与超参数优化和元学习有明显的重叠。不同的NAS方法的区别主要在于三个维度:搜索空间、搜索策略和性能评估,我们对此分别进行了调研。

        搜索空间:搜索空间定义了网络的所有可选结构和操作,通常指数级大,甚至无界。在设计搜索空间时结合先验知识,即参考现有的针对当前任务的先进结构设计知识,能够有效减小搜索空间并简化搜索。但这也会引入偏好,从而限制网络学习到超越当前人类知识的结构。

        搜索策略:定义搜索空间后,搜索策略引导寻找高性能的模型架构,其中的难点是保证探索和利用的平衡。一方面,希望快速找到性能良好的架构,另一方面,需要避免过早收敛到次优的架构。

        性能评估:NSA的目的是找到一个在未知数据上具有良好泛化性能的架构,一旦模型生成,就需要对其性能进行评估。直观的方法是在训练集上训练收敛,并在验证集上得到其性能,但是这种方法会耗费巨大的算力,从而限制了可探索的网络结构。一些先进的方法关注于减小性能评估时的计算代价,但会引入误差。因此,平衡评价的效率和效果是一个需要研究的问题。

       从计算的角度来看,神经网络代表了一个通过一系列操作将输入变量 x 转换为输出变量 y 的函数。基于计算图语言,神经网络可以表示为一个有向无环图(DAG),其中每个节点表示一个张量 z ,通过边连接其父节点 I(k),每条边表示从候选操作集O中选择的一个操作 o 。节点 k 的计算公式为:

        其中候选操作集合$O$主要包括卷积、池化、激活函数、跳跃连接、拼接、加法等基本操作。此外,为了进一步提高模型的性能,一些先进的人工设计模块也可以作为候选操作,如深度可分离卷积、膨胀卷积、组卷积。基于操作的类型可以选择不同的超参数,例如输入节点选取、卷积核数量、尺寸、步长等。不同的搜索空间设计,选择和组合操作的方法也不同所以参数化的形式也不一样。一般来说,一个好的搜索空间应该能够排除人类的偏见,并且足够灵活,能够覆盖更广泛的模型架构。

        全局搜索空间搜索一个完整的网络结构,具有很高的自由度。最简单的例子是链式搜索空间,见图1左。固定的数量的节点按顺序堆叠,只有前一个节点的输出提供给后一个节点作为输入,每个节点代表一个层,并具有指定的操作。右图引入更复杂的跳跃链接和多支路结构,此时当前节点可以结合前面所有节点的输出作为输入,使得搜索的自由度显着增大。许多网络都是多分支网络的特例,比如

1)链式网络: ;

2)残差网络: ;

3)DenseNets:

        虽然整体结构搜索很容易实现,但它也有一些缺点。首先,搜索空间的大小与网络深度是指数级关系,寻找泛化性能好的深度网络计算成本高。此外,生成的架构缺乏可迁移性和灵活性,在小型数据集上生成的模型可能不适合较大的数据集。有研究提出,初始架构的选择在搜索全局结构时十分重要。在适当的初始条件下,可以获得与单元搜索空间性能相当的架构,但是初始架构选择的指导原则仍然不明确。

        基于单元的搜索空间受启发于人工设计知识,许多有效的网络结构都会重复使用固定结构,例如在RNNs中重复LSTM块或堆叠残差模块。因此可以只搜索这样的重复单元(cells),整个神经结构的搜索问题被简化为在单元搜索空间中搜索最优的单元结构,从而极大的减小搜索空间。大多数研究对比了基于全局搜索空间和单元搜索空间的实验结果,证明在基于单元的搜索空间中可以获得良好的性能。单元搜索空间的另一个优势是能方便地在数据集和任务之间进行泛化,因为通过增减卷积核和单元的数量,架构的复杂性几乎可以任意改变。

        NASNet是最早提出的单元搜索空间之一,也是当前最热门的选择,之后的大部分改进只是在此基础上对操作选择和单元组合策略进行了少量修改。如图2所示,它由两种单元组成,分别为保持输入特征维度的标准单元(normal cell),和减小空间维度的简化单元(rection cell)。每个单元由b个块组成,每个块由它的两个输入和相应的操作定义。可选的输入包括前两个单元的输出和单元中先前定义的块的输出,所以它支持跨单元的跳跃连接。未使用的块被连接起来并作为单元格的输出,最终通过预定义好的规则级联这些单元。

        不同于上面将单元结构按照人工定义的宏结构进行连接,层次结构是将前一步骤生成的单元结构作为下一步单元结构的基本组成部件,通过迭代的思想得到最终的网络结构。Hier提出的层次搜索空间,通过合并低层单元生成高级单元实现单元级别和网络级别的同时优化。此方法具体分为3层。第一层包含一系列的基础操作;第二层通过有向无环图连接第一层的基础操作,构建不同的单元,图结构用邻接矩阵编码;第三层是网络级的编码,决定如何连接第二层的单元,组合成一个完整的网络。基于单元的搜索空间可以看作是这种层次搜索空间的一个特殊情况。

        强化学习方法(RL)能够有效建模一个顺序决策的过程,其中代理与环境相互作用,代理学会改善其行为从而使目标回报最大化。(图3)给出了一个基于强化的NAS算法的概述。代理通常是一个递归神经网络(RNN),它在每一步t执行一个动作 来从搜索空间采样一个新的样本,同时接收状态 的观察值和环境中的奖励 ,以更新代理的采样策略。这种方法非常适合于神经结构搜索,代理的行为是生成神经结构,行为空间是搜索空间,环境是指对代理生成的网络进行训练和评估,奖励是训练后的网络结构对未知数据的预测性能,在最后一个行为之后获得。

4.2进化算法

        进化算法(EA)是一种成熟的全局优化方法,具有较高的鲁棒性和广泛的适用性。许多研究使用进化算法来优化神经网络结构。进化算法演化了一组模型,即一组网络;在每个世代中,至少从这组模型中选择一个模型,作为亲本在突变后作为生成子代。在对子代进行训练之后,评估它们的适应度并将它们添加到种群中。

        典型的进化算法包括选择、交叉、变异和更新等步骤。选择时一般使用联赛选择算法对父类进行采样,其中适应性最好的一个作为亲本。Lemonade对适应度使用核密度估计,使网络被选择的概率与密度成反比。交叉方式因编码方案的不同而不同。突变针对的是亲本的部分操作,例如添加或移除层,改变层的超参数,添加跳跃连接,以及改变训练超参数。对于产生的后代,大多数方法随机初始化子网络权重,而Lemonade把父网络学习到的权重通过使用网络态射传递给其子网络。Real等人让后代继承其父母的所有不受突变影响的参数,虽然这种继承不是严格意义上的功能保留,它可以加速学习。生成新的网络的同时需要从种群中移除一些个体。Real等人从群体中移除最差的个体,AmoebaNet移除最老的个体。也有一些方法定期丢弃所有个体,或者完全不移除个体。EENA通过一个变量调节最坏模型和最老模型的删除概率。

        基于代理模型的优化方法(SMBO)用一个代理模型来近似目标函数。即不需要训练采样到的网络结构,只需要训练一个代理模型,使用代理模型预测网络的性能。通常在实践中只需要得到架构的性能排序,而不一定要计算出具体的损失值,因此代理模型只需要预测相对得分并选出有前途的候选架构。然后只对预测性能好的架构进行评估,用它们的验证精度更新代理模型,这样只需要完全训练少量候选架构,大大减少搜索时间。代理模型通常训练为最小化平方误差:

        贝叶斯优化(BO)是用于超参数优化的最流行的方法之一。最经典的是基于高斯过程的BO,生成的神经结构的验证结果可以建模为高斯过程,然而,基于高斯的BO方法在观察次数上的推理时间尺度是立方的,并且不擅长处理变长神经网络。有些工作使用基于树或者随机森林的方法来在非常高维的空间中高效的搜索,并且在很多问题上取得了优异的效果。Negrinho利用其搜索空间的树形结构,并使用蒙特卡洛树搜索。虽然没有完整的比较,但初步的证据表明这些方法可以超越进化算法。

        上面的搜索策略搜是从一个离散的搜索空间提取神经结构样本。DARTS提出搜索空间的连续松弛,在连续可微的搜索空间上搜索神经架构如图4所示,并使用如下softmax函数来松弛离散空间:

 

松弛后,架构搜索的任务转化为网络架构与神经权值的联合优化。这两类参数分别在训练集和验证集上交替优化,表示为一个双层优化问题。

        为了对搜索过程进行引导,必须对产生的神经网络性能进行评估。一种直观的方法是训练网络至收敛,然后评估其性能。但是,这种方法需要大量的时间和计算资源。因此提出了几种加速模型评估的方法。

        为了减少计算负担,可以用实际性能的低质近似来估测性能。实现方法包括: 缩短训练时间、选择数据集的子集、在低分辨率的图像上训练、每层使用更少的通道数、堆叠更少的单元结构。在低质条件下搜索到的最优网络或单元,构建出最终结构在数据集上重新训练,得到目标网络。虽然这些低精度的近似能够减少训练花费,但性能被低估的同时不可避免地引入了误差。最近的研究表明,当这种低质评价与完全评价之间的差异较大时,网络性能的相对排名可能变化很大,并强调这种误差会逐渐增加。

        早停技术最初用于防止过拟合。一些研究通过在训练初期预测网络性能,在验证集上预计表现不佳的模型被强制停止训练,以此来加速模型评估。一种在早期估计网络性能的方法是学习曲线外推法。Domhan 等提出训练初期对学习曲线进行插值,并终止那些预测性能不好的网络结构的训练。Swersky等在评估学习曲线的好坏时,把网络架构的超参数作为参考因素。另一种方法根据梯度的局部统计信息实现早期停止,它不再依赖验证集,允许优化器充分利用所有的训练数据。

        代理模型可以被训练用预测网络性能。PNAS提出训练一个代理网络(LSTM)来预测网络结构的性能,他不考虑学习曲线而是基于结构的特点来预测性能,并在训练时推断更大的网络结构。SemiNAS是一种半监督NAS方法,利用大量的未标记架构进一步提高搜索效率。不需要在对模型进行训练,只使用代理模型来预测模型精度。预测网络性能的主要难点是:为加快搜索过程,需要在对较大的搜索空间进行较少的评估的基础上进行良好的预测。当优化空间过大且难以量化,且对每个结构的评估成本极高时,基于代理的方法就不适用。

        代理模型还可以用来预测网络权重。超网络(Hypernetworks)是一种神经网络,被训练来为各种架构生成网络权值。超网络在搜索过程中节省了候选体系结构的训练时间,因为它们的权值是通过超网络的预测得到的。Zhang等人提出了一种计算图表示,并使用图超网络(GHN)比常规超网络(SMASH)更快更准确地预测所有可能架构的权值。

        权重继承是让新网络结构继承之前训练完成的其他网络结构的权值。其中一种方法是网络态射,一般的网络设计方法是首先设计出一个网络结构,然后训练它并在验证集上查看它的性能表现,如果表现较差,则重新设计一个网络。可以很明显地发现这种设计方法会做很多无用功,因此耗费大量时间。而基于网络态射结构方法能够在原有的网络结构基础上做修改,修改后的网络可以重用之前训练好的权重。其特殊的变换方式能够保证新的网络结构还原成原网络,因此子网络的表现至少不会差于原网络,并且能在较短的训练时间内继续成长为一个更健壮的网络。具体地,网络射态能够处理任意非线性激活函数,可以添加跳跃连接,并且支持添加层或通道得到更深或更宽的等效模型。经典的网络态射只能使网络变大,这可能导致网络过于复杂,之后提出的近似网络态射通过知识蒸馏允许网络结构减小。进化算法经常使用基于网络态射的变异,或者直接让孩子继承亲本的权重,再执行一般变异操作,这样产生的网络具有一个更好的初始值,而不用重头开始训练。

‘叁’ 进化算法的基本步骤

进化计算是基于自然选择和自然遗传等生物进化机制的一种搜索算法。与普通的搜索方法一样,进化计算也是一种迭代算法,不同的是进化计算在最优解的搜索过程中,一般是从原问题的一组解出发改进到另一组较好的解,再从这组改进的解出发进一步改进。而且在进化问题中,要求当原问题的优化模型建立后,还必须对原问题的解进行编码。进化计算在搜索过程中利用结构化和随机性的信息,使最满足目标的决策获得最大的生存可能,是一种概率型的算法。
一般来说,进化计算的求解包括以下几个步骤:给定一组初始解;评价当前这组解的性能;从当前这组解中选择一定数量的解作为迭代后的解的基础;再对其进行操作,得到迭代后的解;若这些解满足要求则停止,否则将这些迭代得到行岁的解作为当前解重新操作。
以遗传算法为例,其工作步骤可概括为:
(1) 对工作对象——字符串用二进制的0/1或其它进颤带毁制字符编码 。
(2) 根据字符串的长度L,随即产生L个字符组成初始个体。
(3) 计算适应度。适应度是衡量个体优劣的标志,通茄备常是所研究问题的目标函数。
(4) 通过复制,将优良个体插入下一代新群体中,体现“优胜劣汰”的原则。
(5) 交换字符,产生新个体。交换点的位置是随机决定的
(6) 对某个字符进行补运算,将字符1变为0,或将0变为1,这是产生新个体的另一种方法,突变字符的位置也是随机决定的。
(7) 遗传算法是一个反复迭代的过程,每次迭代期间,要执行适应度计算、复制、交换、突变等操作,直至满足终止条件。
将其用形式化语言表达,则为:假设α∈I记为个体,I记为个体空间。适应度函数记为Φ:I→R。在第t代,群体P(t)={a1(t),a2(t),…,an(t)}经过复制r(reproction)、交换c(crossover)及突变m(mutation)转换成下一代群体。这里r、c、m均指宏算子,把旧群体变换为新群体。L:I→{True, Flase}记为终止准则。利用上述符号,遗传算法可描述为:
t=0
initialize P(0):={ a1(0),a2(0),…,an(0)};
while(l(P(t))≠True) do
evaluate P(t):{ Φ(a1(t)), Φ(a2(t)),…,Φ(an(t))};
reproction: P′(t):=r(P(t));
crossover: P″(t):=c(P′(t));
mutation: P(t+1):= m(P″(t));
t=t+1;
end

‘肆’ 多目标进化算法简介

姓名:刘一婷;学号:20021210599;学院:电子工程学院

转自https://blog.csdn.net/sinat_33231573/article/details/80271522

【嵌牛导读】

在实际问题中大都具有多个目标且需要同时满足,即在同一问题模型中同时存在几个非线性目标,而这些目标函数需要同时进行优化处理,并且这些目标又往往是互相冲突的,进化算法的特性往往能很好的解决此类问题。

【嵌牛鼻子】多目标,进化算法

【嵌牛提问】多目标优化和多任务优化的区别老前?

【嵌牛正文】

1、多目标优化的基本概念

多目标优化问题(MOP)可以被表示为:

                                             subject to 

其中, ,Ω是决策空间, 由m个目标函数组成, 称为目标空间。可达到的目标集合被定义为 。很多时候,由于目标彼桥银此矛盾,Ω中的任何一点都不能同时最大化所有目标,所以我们必须平衡这些目标。目标之间的最佳折衷解可以根据Pareto最优性来定义。

Pareto支配:

Pareto最优解:

Pareto最优解集:

Pareto前沿面:

2、多目标进化算法的基本流程

多目标进化算法的种类很多,可以依据某一特征将它们分门别类。基于不同的选择机制,我们可以对其进行分类:

(1)  基于Pareto的方法(Pareto-based Approaches)

(2)  基于群体的方法(Population-based Approaches)

(3)  聚集函数(AggregatingFunctions)

为了深入理解进化算法,我们给出了基于Pareto的MOEA的基本流程,如图2.1所示。首先初始化种群P,然后选择某一个进化算法(如基于分解的多目标进化算法,MOEA/D)对P执行进化操作(如选择、交叉、突变),得到新的种群R。然后构造P∪R的最优解集Nset,我们将最优解集的大小设置为N,如果当前最优解集Nset的大小与N的大小不一致,那么我们需要调整Nset的大小,同时必须注意调整过后的Nset需要满足分布性要求。之后判断算法终止条件是否已经被满足,如果不满足条件则将Nset中的个体复制到种群P中继续下一轮的进化,否则结束。我们一般用算法的迭代次数来控制它的执行。

在MOEA中,算法收敛的必要条件同时也是一个极其重要的方面是保留上一代的最优解集并将其加入新一代的进化过程。这样进化下去,进化种群的最优解集不断向真正的Pareto前沿面收敛,最终得到令人满意的进化结果。

3、多目标优化问题测试集

测试函数可以帮助我们更好地理解算法的优点和缺点,因此测试函数的选择对算法性能的理解与判断尤为重要。构造的简单性、对决策变量和目标数目的可扩展性以及对应于算法的收敛性与多样性均要设障等是选择测试函数时的重要参考依据。DTLZ测试集与WFG测试集是两个经常使用的多目标优化问题测试函数集。

Deb等人在2002年首次提出DTLZ测试函数集,并以共同研究者名字首字母命名(Deb,Thiele,Laumanns,Zitzler),根据不同难度的设置期望,2005年Deb等又在原有七个函数的基础上加入了两个测试函数,共同组成了DTLZ测试函数集。DTLZ测试函数集可以扩展至任意数量的目标(m>=2)并且可以有任侍消清意数目个变量(n>=m)。因为变量数与目标数易于控制,所以DTLZ函数集被广泛应用于多目标优化问题当中作为标准测试函数。

WFG测试函数集是Huband等人在2006年提出来的,一共包含9个测试问题,这些问题的目标数目都可以扩展到任意数量。和DTLZ测试函数集比起来,DTLZ问题的变量都是可分离的,因此复杂程度不高,而WFG测试问题的复杂程度更高、处理起来更具有挑战性。WFG测试问题的属性包括可分性或者不可分性、单峰或者多峰、PF形状为凸或者非凸、无偏差参数或有偏差参数。WFG测试函数集可以提供更有效的依据来评估优化算法在各种不同问题上的表现性能。

4、算法性能评价指标

通常在分析MOEA的性能时,我们希望算法在以下三个方面能够具有较好的性能。

(1) 真实的Pareto前沿面PFtrue与算法求解的得出的PFknown与之间的距离应该最小。

(2) 尽管搜索到的解点只是部分解,但最后求得的解点在Pareto最优解集中该均匀分布,在Pareto前沿面上的点也尽量呈现均匀分布。

(3) 在整个前沿上应该能够找出大量的解点,并且前沿上的各区域都应该有解点来代表,除非PFtrue上缺少这一区域。

我们一般认为上述指标当中的第一条是最重要的,因为MOEA的目标是找到一组近似解与真实前端的距离最近。

反向世代距离(Inverted GenerationalDistance):代表真实且均匀分布的Pareto最优解集P* 到算法得到的最优解集P 的平均距离,定义如下:

其中,种群P中个体到个体v之间的最小欧几里德距离用d(v,P)来表示;在真实PF上均匀选取一定数目的个体并将其用P*表示;该算法求得的最优解集用P表示。IGD为算法综合性能评价指标,反映了算法的分布性和收敛性,它是越小越好的。IGD值很小,说明算法求得的最优解集的分布性和收敛性都好。

超体积HV(Hypervolume):超体积指标度量的是通过多目标优化算法获得的非支配解集与参照点围成的目标空间中的维区域的体积。超体积的数学表示如下:

其中δ代表Lebesgue测度,用来测量体积。|S|表示非支配解集的数目,vi表示参照点z*与解集中第i个解构成的超立方体。HV是一个有效的一元质量度量指标,在Pareto支配方面是严格单调的,HV的值越大,表示对应算法的性能越好。此外,HV指标的计算不需要测试问题的理想PF,这一点在实践应用中大大方便了HV的使用。不过,HV指标存在两点限制:1)超体积的计算成本高;2)HV的值受选择的参照点影响大。

‘伍’ 什么是进化算法

应该就是遗传算法。求解的一种方式而已唯游。假设有多个比较好的解,则可以通过杂交,单个的话可以通过变异。还是参考下维基网络或者其他专团山团业书籍比较好塌橘

‘陆’ 进化算法的特点

进化计算是一种具有鲁棒性的方法,能适应不同的环境不同的问题,而且在大多数情况下都能得到比较满意的有效解。他对问题的整个参数空间给出一种编码方案,而不是直接对问题的具体参数进行处理,不是从某个单一的初始点开始搜索,而是从一组初始点搜索。搜索中用到的是目标函数值的信息,可以不必用到目标函数的导数信息或与具体问题有关的特殊知识。因而进化算法具有广泛的应用性,高度的非线性,易修改性和可并行性。
此外,算法本身也可以采用动态自适应技术,在进化过程中自动调整算法控制参数和编码精度,比如使用模糊自适应法 。 进化策略(ES)是在1965年由Rechenberg和Schwefel独立提出的。
进化策略的一般算法
(1) 问题为寻找实值n维矢量x,使得函数F(x): R→R取极值。不失一般性,设此程序为极小化过程。
(2) 从各维的可行范围内随机选取亲本xi,i = 1, … , p的始值。初始试验的分布一般是均匀分布。
(3) 通过对于x的每个分量增加零均值和预先选定的标准差的高斯随机变量,从每个亲本xi产生子代xi’。
(4) 通过将适应度F(xi)和F(xi’),i=1,…,P进行排序,选择并决定那些矢量保留。具有最小适应度的P个矢量变成下一代的新亲本。
进行新试验,选择具有最小方差的新子代,一直到获得充分解,或者直到满足某个终止条件。
在这个模型中,把试验解的分量看做个体的行为特性,而不是沿染色体排列的基因。假设不管发生什么遗传变换,所造成各个个体行为的变化均遵循零均值和某个标准差的高斯分布。
由于基因多效性和多基因性,特定基因的改变可以影响许多表现型特征。所以在创造新子系时,较为合适的是同时改变亲本所有分量。
(1+1)—ES:
早期的进化策略的种群中只包含一个个体,并且只使用变异操作。在每一代中,变异后的个体与其父代进行比较,并选择较好的一个,这种选择策略被称为(1+1)策略。
(1+1)—ES的缺点:
(1) 各维取定常的标推差使得程序收敛到最优解的速度很慢;
(2) 点到点搜索的脆弱本质使得程序在局部极值附近容易受停滞的影响(虽然此算法表明可以渐近地收敛到全局最优点)。
(μ+λ)—ES:μ个亲本制造λ个子代,所有解均参加生存竞争,选出最好的μ个作为下一代的亲本。
(μ,λ)—ES:只有λ个子代参加生存竞争,在每代中μ个亲本被完全取代。
1.个体的表示法:
每个解矢量不仅包括了n维试验矢量x,而且还包括了扰动矢量σ,后者给出如何变异x以及它本身如何变异的指令。
2.变异:
设x为当前矢量。σ为对应于x每个维的方差矢量,于是新的解矢量x’,σ’可以这样产生:
3.交叉:
4.选择
在进化策略中,选择是按完全确定的方式进行。(μ,λ)—ES是从λ个子代个体集中选择μ(1<μ<λA=个最好的个体;(μ+λ)—ES是从父代和子代个体的并集中选择μ个最好的个体。虽然(μ+λ)—备源拆ES保留最优的个体能保证性能单调提高,但这种策略不能处理变化的环境,因此,目前选用最多的还是(μ,λ)—ES。 进化规划(EP)由Fogel在20世纪60年代提出。
1.表示法和适应值度量
进化规划假设—个有界子空间 ,其中ui<vi。搜索区域被扩展到I=R,即个体为目标变量向量,a=x∈I,进化规划把目标函数值通过比例变换到正值,同时加入某个随机改变θ来得到适应值 ,其中δ是比例函数。
2.变异
可简仿枣化为:
3.选择
在P个父代个体每个经过一次变异产生P个子代后,进化规划利用一种随机q竞争选择方法从父代和子代的集合中选择P个个体,其中q>1是选择算法的参裂皮数。

‘柒’ 进化算法的简介

进化算法包括遗传算法、遗传规划、进化规划和进化策略等等。进化算法的基本框架还是简单遗传算法所描述的框源亩架,但在进化的方式上有较大的差异,选择、交叉、变异、种群控制等有很多变化,进化算法的大致框图可描述如右图所示:
同遗传算法一样,进敏裂粗化算法的收敛性也有一些结果,文献证明了在保存最优个体时通用桥镇的进化计算是收敛的,但进化算法的很多结果是从遗传算法推过去的。
遗传算法对交叉操作要看重一些,认为变异操作是算法的辅助操作;而进化规划和进化策略认为在一般意义上说交叉并不优于变异,甚至可以不要交叉操作。

阅读全文

与进化算法怎么换成代理模型相关的资料

热点内容
二线国企程序员怎么提升技能 浏览:152
蓝翔技术学院西点多少钱 浏览:785
徐工集团北京代理点有哪些 浏览:529
如何做龙大总代理 浏览:923
装饰行业招聘信息哪个平台多 浏览:951
中国有多少压箱底技术 浏览:853
如何看一家公司信息 浏览:337
家具品牌代理有哪些 浏览:392
表格里怎么筛选中间两位数据 浏览:614
steam移动应用怎么验证交易 浏览:566
青岛原油交易诈骗平台有哪些 浏览:688
微信如何发表格式信息 浏览:769
船头家海产品怎么样 浏览:747
中原中国房地产代理有限公司怎么样 浏览:73
原神玩家个人数据在哪里看 浏览:569
浙江经贸职业技术学校怎么招生 浏览:12
东方财富如何看交易手续费 浏览:367
如何建立db2数据库 浏览:282
开放马路市场影响什么 浏览:416
数控车床车蜗杆怎么编程序 浏览:562