个性化阅读
专注于IT技术分析

ANN遗传算法

本文概述

遗传算法(GA)是一类根据自然进化过程设计的搜索算法。遗传算法基于优胜劣汰的原理。

遗传算法方法受到了生物学界的启发, 特别是查尔斯·达尔文(Charles Darwin)的进化论(Evolution Theory)作为其工作的基础。约翰·霍兰德(John Holland)在1975年提出了遗传算法。遗传算法通过复制物种的进化行为来解决优化问题。从最初的随机解决方案种群中, 通过自然进化的启发, 通过选择, 变异和交叉算子来推进该种群。通过执行给定的一组操作, 总体将经历一个迭代过程, 在迭代过程中它将到达各种状态, 每个状态都称为生成。作为该程序的结果, 预计该人口将达到包含该问题的体面解决方案的一代。在遗传算法中, 问题的解决方案被编码为一串位或实数。

实践证明它们在功能优化方面非常有效。它用于寻找巨大而复杂的空间。遗传算法(GA)是用于根据生物进化的各种特征进行优化和机器学习的算法。

他们需要给定的组件

  • 解决方案编码解决染色体问题的过程。
  • 评估函数, 可恢复为其分配的每个染色体的评级。
  • 当父母繁殖以改变其遗传组成时, 可将其实施给父母。标准运算符是变异和交叉。
  • 当父母繁殖以改变其遗传组成时, 可以向父母实施的操纵者。标准运算符是变异和交叉。

用进化计算开发人工神经网络:

人工神经网络的发展已经广泛涉及了极为不同的技术。进化算法的世界是不容忽视的, 并且证明了即使在遗传算法或GP方面, 有关该领域各种技术的大量著作已发表。通常, 使用进化算法生成人工神经网络的领域分为三个主要领域:权重的演化, 体系结构, 学习规则。

最初, 权重演变从具有预先确定的拓扑的ANN开始。要解决的问题是训练关联权重, 试图限制网络错误。利用进化算法, 权重可以表示为二进制或实数值的连接。

其次, 架构的演进融合了拓扑结构的生成。为了利用进化算法来创建ANN架构, 需要选择如何加密给定网络的基因型, 以供遗传算子使用。

第一种选择是直接编码, 在所有基因及其产生的表型之间有一个类似的平衡点。最典型的编码技术包括一个表示体系结构的矩阵, 其中每个组件都揭示了两个节点之间是否存在关联。

在编码方案中, GP已被用于同时创建前馈或循环ANN的架构权重和关联权重, 而对其架构没有限制。这种新的编码方案还允许使用最少数量的神经元和关联来获取基本网络, 并且所发表的成果是吉祥的。除了直接编码, 还有一些间接编码技术。在这些技术中, 染色体仅编码了体系结构的一些特征。这些技术具有各种表示形式。首先, 参数表示将网络描绘为一组参数。例如, 每层的节点数, 两层之间的关联数, 隐藏层数等。另一种没有直接表示的类型取决于语法规则。在此系统中, 网络由一组法规代表, 这些法规作为生产规则构建, 并形成代表网络的矩阵。关于学习规则的演化, 有多种方法, 但是, 大多数方法只是基于学习如何改变或管理演化, 以及架构与关联权重之间的关系。

人工神经网络的工作原理

在给定的图中说明了标准遗传算法的工作原理。涉及的重要步骤是生成解决方案总体, 确定目标函数和适应性函数以及遗传算子的应用。在下面的基本遗传算法的帮助下描述了这些方面。

遗传算法

开始:

它产生n个染色体的随机种群。

健身:

它计算总体中每个染色体x的适应度f(x)。

新人口:

通过重复以下步骤直到完成新填充, 它会生成新填充。

选择:

它根据种群的适应性从种群中选择两个亲本染色体。适应性越好, 被选择的可能性就越高。

交叉:

在交叉的可能性上, 交叉父母以形成新的后代(孩子)。如果没有进行杂交, 那么后代就是父母的精确副本。

突变:

以突变概率, 在每个基因座突变新的后代。

接受:

它把新的后代放在新的人口中。

更换:

它使用新生成的总体来进一步运行算法。

测试:

如果满足最终条件, 则它将停止并返回当前总体中的最佳解决方案。

环:

在此步骤中, 你需要转到第二步以进行适合度评估。

遗传算法背后的基本原理是, 它们生成并维护由染色体代表的个体群体。染色体是实际上等同于DNA中出现的染色体的字符串。这些染色体通常是问题的编码解。根据选择, 繁殖和变异的规则, 它经历了进化的过程。环境中的每个人(以染色体表示)都可以衡量其在环境中的适应度。繁殖选择人口中具有较高适应度值的个体。通过此类个体的交叉和突变, 可以确定新的种群, 其中个体可能更适合其环境。交换的过程包括两条染色体交换数据块, 这类似于复制过程。突变将微小的变化引入到总体中, 这代表了进化的一步。

遗传算法

传统方法与遗传方法之间的区别

算法是解决问题的步骤的演进。遗传算法是一种解决问题的技术, 它使用遗传学作为其解决问题的模型。这是一种搜索方法, 用于查找优化和搜索问题的近似解决方案。人们可以轻松地区分传统算法和遗传算法。

传统算法 遗传算法
它通过确定性计算选择序列中的下一个点。 它通过使用随机数生成器的计算来选择下一个总体。
它在每次迭代中创建一个单独的点。点的顺序接近最佳解。 它会在每次迭代时创建一个总体点。总体中的最佳点接近最佳解决方案。
每次迭代的进展是特定于问题的。 每次迭代的并发性与问题无关。

遗传算法的优点

遗传算法的概念很容易理解。

遗传算法支持多目标优化。

遗传算法适用于嘈杂的环境。

遗传算法相对于局部最小值/最大值是鲁棒的。

遗传算法利用概率转移规则。

遗传算法利用收益(目标函数)信息, 而不是导数。

遗传算法在混合离散函数上运行良好。

遗传算法的局限性

尽管遗传算法已被证明是一种快速而强大的解决问题的方法, 但是发现其中存在一些局限性。其中一些限制如下:

进行遗传算法的第一个也是最重要的考虑因素是表征问题的表征。用于确定候选解决方案的语言必须健壮。它必须能够承受随机更改, 以使致命错误不会出错。

遗传算法的一个重大障碍是适应性(评估)函数的编码, 因此可以实现更高的适应性, 并且可以为问题提供更好的解决方案。健身功能的错误决定可能会导致重大后果。例如, 它无法找到问题的解决方案, 也无法为该问题返回错误的解决方案。

除了适当选择适应度函数外, 还必须有效地选择遗传算法的不同参数, 例如种群大小, 变异和交叉率。小人口规模不会给遗传算法足够的解决方案以产生精确的结果。遗传变化的频率或选择方案不当将导致破坏有益的模式。

不建议将遗传算法用于分析问题。尽管遗传算法可以找到这类问题的精确解决方案, 但是传统的分析技术可以在短时间内以很少的计算数据找到相同的解决方案。

遗传算法的应用

机器人遗传算法:

机器人技术是当今计算机行业中讨论最多的领域之一。它用于各种行业, 以提高获利效率和准确性。随着机器人随时间变化的环境变化, 开发人员很难弄清机器人的每种可能行为以应对变化。在这里, 遗传算法起着至关重要的作用。因此, 需要一种合适的方法, 该方法将使机器人达到目标并使其适应新情况。遗传算法是自适应搜索技术, 用于学习高性能知识结构。

财务规划中的遗传算法:

通过使用Gas, 增强了战术资产分配和国际权益方法论的模型。遗传算法在金融建模应用中非常有效, 因为它们是由调整驱动的, 这些调整可用于提高预测效率和基准集的收益。另外, 这些方法是鲁棒的, 允许更大范围的扩展和约束, 这在传统技术中可能无法适应。


赞(0)
未经允许不得转载:srcmini » ANN遗传算法

评论 抢沙发

评论前必须登录!