《人工神经网络》第9章遗传算法原理我脑子不好

遗传算法GA(GeneticAlgorithm)是一种根据生物学中所谓自然选择和遗传机理的随机搜索优化算法。遗传算法的主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于传统方法中常用到的梯度信息。适合于处理传统搜索方法难于解决的复杂和非线性问题。遗传算法给出了一个用来解决高度复杂问题的新思路和新方法。遗传算法已经应用在许多实际问题,如函数优化、自动控制、图像识别、机器学习、人工神经网络、优化调度等。

9.1概述

遗传算法是基于自然选择和基因遗传学原理的随机搜索算法。

遗传算法的核心问题是寻找求解优化问题的效率与稳定性之间的有机协调性,即鲁棒性(Robustness)。人工系统一般很难达到如生物系统那样的鲁棒性。遗传算法在吸收了自然生物系统“适者生存”的进化原理之后,从而使它能够提供一个在复杂空间中进行鲁棒搜索的方法。由于遗传算法具有计算简单和功能强大的特点,它对于参数搜索空间基本上不要求苛刻的条件(如连续、导数存在以及单峰等),故广泛应用。

遗传算法是采用随即技术的一种随机搜索方法,但不同于一般的随机搜索方法。遗传算法通过将待寻优参数空间进行编码,并用随机选择作为工具来引导搜索过程向着更高效的方向发展。

遗传算法的主要特点:

(1)遗传算法是对要寻优参数的编码进行操作,而不是对参数本身。

(2)遗传算法是从“群体”出发(多个初始点)开始的并行操作,而不是从一个点开始。因而可以有效地防止搜索过程收敛于局部最优解,而且有较大的可能求得全局最优解;所以遗传算法具有并行计算的特点,可通过大规模并行计算来提高计算速度。

(3)遗传算法采用目标函数(适配值)来确定基因的遗传概率,而不需要其他的推导和附属信息,从而对问题的依赖性较小。所以遗传算法对于待寻优的函数基本无限制,它既不要求函数连续,更不要求可微,既可是数学解析式所表达的显函数,又可以是其它方式的隐函数甚至是神经网络等隐函数,因而应用范围较广。

(4)遗传算法的操作均使用随机概率的方式,而不是确定性的规则。

(5)遗传算法在解空间内不是盲目地穷举或完全随机测试,而是一种启发式搜索,其搜索效率往往优于其它方法。

(6)遗传算法更适合大规模复杂问题的优化。

9.2遗传算法的工作原理

9.2.1遗传算法的编码、再生、交叉与变异

设优化问题的目标函数为:

(1)初始化编码

遗传算法的第一步是将x编码为有限长度的串。编码方法有很多种,这里针对自变量的定义域,考虑采用二进制数对x编码,x恰好用5位二进制数来表示。

许多其他的优化方法是从定义域空间的某个初始点出发并根据某些算法来求解,相当于按照一定的路线,进行点到点的顺序搜索,如单纯形法、爬山法等,这对于多峰值问题的求解很容易陷入局部极值。遗传算法是从一个种群(由若干个编码串组成,每个串对应一个自变量值)开始,不断地产生和测试新一代的种群。这种方法从开始就具有了较大搜索空间范围,从而可望较快地完成优化问题的求解。

初始种群的生成用随机方法生成。

(2)再生

再生操作通过随机方法来实现。考虑先产生0~1之间均匀分布的随机数ζ,某串的再生概率就规定了该随机数的产生区间。如产生的随机数在0.11≤ζ<0.42之间时,该串被再生的概率即为31%。在一轮(群体的个体数,本例为4次)的再生后,没有被再生的个体串就被淘汰。下表给出了每个个体串被再生的概率。

再生操作的方法可用轮盘赌的转盘方式来形象地说明。

再生过程就是4次旋转这个经过划分的轮盘,从而产生4个下一代的种群。对应较大的适配值的串将在下一代中有较多的子孙。当某一串被选中时,此串将被完整地再生,然后将再生串添入匹配池(MatchingPool,匹配池是对串进行匹配操作的地方)。因此旋转4次轮盘即产生出4个串。这4个串是上一代种群的选择式再生,有的串可能被再生一次或多次,有的可能被淘汰。本例,经再生后的新种群为:

01001,01111,10001,01111

这里的串A被再生了两次,串B被淘汰,串C、串D各被再生了一次。

(3)交叉

①匹配

将新再生产生的匹配池中的成员随机两两匹配。随机地将匹配池中的个体配对,本例中。匹配的结果是串A和串B配对,C和D配对。串A和B,C和D分别成为了父母串。

②交叉繁衍

设串的长度(二进制数的位数)为l。则串的l个数字位之间的空隙标记为k,k=1,2,...,l-1。随机地从[1,l-1]中选取整数k,则将两个父母串从位置k到串末尾的子串互相相交换,从而形成两个新的子孙串。

(4)变异

变异对应于基因变化。这个操作相对于再生和交叉操作而言,是一项必要但发生概率较小的操作。变异的目的是为了防止丢失一些有用的遗传因子,特别是当种群中的个体,经遗传运算可能使某些串位的值失去多样性,从而可能失去检验有用遗传因子的机会时,变异操作可以起到恢复串位多样性的作用。变异操作是以很小的概率随机地改变某一个串位的值。变异的概率通常是很小的,一般按千分之几给出。对于本例,变异概率可取为0.001,则对于种群的总串位(4x5=20),期望的变异串位数为20x0.001=0.02(位),所以本例中不作串位值的改变。

从表9.2和表9.3可以看出,在经过一次再生、交叉和变异操作后,种群的平均适配值从71.68增至78.19,而最大的适配值保持不变,均为99.00。每经过这样的一次遗传算法过程,优化问题的解便朝着最优解方向前进了一步。随着再生、交叉和变异操作的不断进行,它将最终获得全局最优解。

9.2.2遗传算法的工作机理

9.2.2.1串模式

示例中可知,某些子串模式(Schemata)在遗传算法的运行中起着关键性的作用。这些子串模式是那些再生概率大的个体串,即接近x=14的编码个体串,它们的编码串的首位为“0”。对于本例的函数及x的编码方式很容易验证这一点。

引入通配符*,*既可代表“1”,也可代表“0”,这就给出了串模式的概念。如首位为“1”的子串可以表示成这样的模式:1****;首位为“0”的子串可以表示为:0****;第三位为“0”的串模式为:**0**,以此类推。

上面给的示例中模式(0****)在遗传算法的一代一代运行过程中不仅保留了下来,而且数量不断增加。由于这种适配值高的模式不断增加,就使得求解问题的算法性能不断改进。

一般地,对于二进制串,在{0,1}字符串中间加入通配符“*”,即可生成所有可能模式。因此用{0,1,*}可以构造出任意一种模式。某一个模式与一个特定的串相匹配是指:该模式中的“1”与串中的“1”相匹配,模式中的“0”与串中的“0”相匹配,模式中的“*”匹配串中的“0”或“1”。

用模式阶数和定义长度来描述模式的属性。

[定义9.1]模式阶数O:一个模式H的阶数由O(H)表示,它等于模式中确定位置(对于二进制,即0或1所在的位置)的个数。如模式H=*01*1*0,其阶数为4,记为O(H)=4,若H=**1****,则O(H)=1。

[定义9.2]模式定义长度δ:模式H的定义长度为模式中第一个和最后一个确定位置之间的距离。如模式H=1*10**,δ(H)4-1=3。若模式H=******1,则δ(H)=0。

9.2.2.2再生、交叉、变异对模式的影响

(1)再生对模式的作用

m=m(H,t)

经过再生操作后,特定模式的数量将按照该模式的平均适配值与整个种群平均适配值的比值成比例地改变。换而言之,适配值高于种群平均适配值的模式在下一代中的数量将增加,而低于平均适配值的模式在下一代中的数量将减少。另外,种群S的所有模式H的处理是并行进行的,即所有模式经再生操作后,均同时按照其平均适配值占总体平均适配值的比例予以减少。所以再生操作对模式的影响是,使得高于平均适配值的模式数量增加,低于平均值的数量减少。

再生过程成功地以并行方式控制着模式数量以指数形式增减,但由于再生只是将某些高适配值个体全盘再生,或是丢弃某些低适配值个体,而绝不会产生新的模式结构,因而性能的改进是有限的。

(2)交叉对模式的作用

交叉过程是串之间有组织而又是随机的信息交换,它在产生新串的同时,最低限度地破坏再生过程所选择的高适配值模式。

考察一个l=7的串以及串所包含的两个代表模式:

(3)变异对模式的作用

对串中的某个基因以概率pm进行随即替换称为变异。这种随即替换可能会破坏某一特定的模式。一个模式H要存活等价于它所有的确定位置都要保存下来。因此,由于单个基因值存活的概率为(1-pm),而且由于每个变异的发生都是统计独立的,而一个特定模式H的阶数给出了该模式的所有确定的位置,所以一个特定模式仅当它的O(H)个确定位置都存活时才存活。从而经变异后,特定模式的存活率应为(-pm)O(H)。

[定理9.1]模式定理对于那些短定义长度、低次数、高于平均适配值的模式将在后代中呈指数级的增长。

根据模式定理,随着遗传算法的再生、交叉、变异等操作一代一代地进行,那些短的、低次数的、高适配值的模式将越来越多,最后得到的串即是这些模式的组合。因而可期望算法性能越来越得到改善,并最终向全局的最优点发展。

THE END
1.[合集]关于遗传神经网络技术生物信息学讨论班(Bioinformatics)版况,据我手头的资料,遗传神经网络技术在这方面早有文章了。所以,还是先把别人的情况 搞清楚在决定自己从哪方面入手。以上完全是个人意见,仅供参考! ─────────────────────────────────────── 作者lylover (石之轩), 信区: Bioinformatics https://bbs.pku.edu.cn/v2/mobile/post-read.php?bid=175&threadid=410&page=a&postid=441352
2.遗传神经网络算法和神经网络算法的区别最本质的区别可以说是学习方法不同,或者说模型的优化方法不同。前者应该是基于遗传算法进行网络权值的https://wenwen.soso.com/z/q714558917.htm
3.遗传BP神经网络11篇(全文)遗传BP神经网络 第1篇 实际工业生产过程往往具有非线性、时变不确定性&常规PID控制器很难适应运行工况的变化,不能获得理想的控制效果。神经网络PID控制器包含有常规PID的控制思想,同时具有非线性的映射、自学习和自适应能力,结构简单,而且能适应环境变化,有较强的鲁棒性,可实现自适应的非线性控制[1]。但是,神经网络https://www.99xueshu.com/w/ikeydum2gqjq.html
4.遗传算法优化BP神经网络.zip资源遗传算法优化BP神经网络是一种融合了两种人工智能技术的高级应用,旨在提高反向传播(BP)神经网络的训练效率和预测精度。在这个主题中,我们将深入探讨遗传算法和BP神经网络的基本原理,以及它们如何相互结合以实现优化。 让我们了解一下基本的BP神经网络。BP神经网络是一种监督学习模型,基于多层前馈网络结构,它通过反向传播误https://download.csdn.net/download/weixin_42508127/72780952
5.基于遗传算法和小波神经网络的语音识别研究AET摘要:小波神经网络算法(WNN)易陷入局部极小,收敛速度慢,全局搜索能力弱,而遗传算法(GA)具有高度并行、随机、自适应搜索性能和全局寻优的特点。因此,将遗传算法和小波神经网络结合起来形成一种训练神经网络的混合算法——GA-WNN算法。仿真实验结果表明,该算法有效地缩短了识别时间,提高了网络训练速度和语音的识别率。 http://www.chinaaet.com/article/159669
6.基于遗传BP神经网络的肺音分类识别算法研究通过比较神经网络和遗传神经网络两类分类器的性能,选择遗传神经网络这种优化的识别算法进行肺音的识别。将每一类肺音和肺部疾病联系起来,通过识别哮鸣音、捻发音和爆裂音分别预测每类肺音对应的呼吸疾病。 首先,进行肺音的预处理。获取了临床常见的四类肺音(正常、哮鸣音、捻发音和爆裂音)后,将它们经滤波和周期https://cdmd.cnki.com.cn/Article/CDMD-11660-1014358415.htm
7.遗传算法bp神经网络原理遗传算法改进bp神经网络BP神经网络预测用遗传算法得到最优个体,并对网络进行初始权值和阈值的赋值,网络经训练后预测样本输出。遗传算法优化BP神经网络的要素包括种群初始化、适应度函数、选择算子、交叉算子和变异算子。 三、完整代码 1、main.m 包括导入数据、定义节点个数、定义算法参数、进行遗传操作和画预测对比图等部分,最后输出MAE、MAPEhttps://blog.51cto.com/u_16099345/7069979
8.遗传神经网络(GANN),GANN,音标,读音,翻译,英文例句,英语词典基于粗集、遗传神经网络的环境质量评价方法利用粗集对属性的归约功能将数据库中的数据进行归约,并将归约后的数据作为训练数据提供给BP神经网络;再用遗传算法和BP算法相结合的混合算法来训练网络预测模型的结构(在得到最优网络结构的同时也得到网络的最优权值和阈值)。 2. In order to satisfy the demands of highhttp://dictall.com/indu/213/21236549BBB.htm
9.神经网络和遗传算法有什么关系?在神经网络中,遗传算法可用于网络的学习。这时,它在两个方面起作用 (1)学习规则的优化 用遗传算法对https://www.imooc.com/wenda/detail/420495
10.如何实现用遗传算法或神经网络进行因子挖掘?因子挖掘是指从数据中寻找影响目标变量的关键因素,它在金融、医学、生物等领域都有广泛的应用。遗传算法和神经网络是两种常用的因子挖掘方法。本文将介绍如何使用这两种方法进行因子挖掘,并对其优缺点进行分析。 一、遗传算法实现因子挖掘 遗传算法是一种基于自然选择与遗传机制的优化算法,能够在大规模搜索空间中寻找最优https://www.cda.cn/bigdata/201249.html
11.神经网络和遗传算法结合概要.docx神经网络和遗传算法结合概要.docx,神经网络和遗传算法的结合概要 神经网络和遗传算法的结合概要 PAGE / NUMPAGES 神经网络和遗传算法的结合概要 遗传算法与神经网络的联合 李敏强 徐博艺 寇纪淞 纲要 说了然遗传算法和神经网络联合的必需性和可行性 ,提出用多层前馈神 经网https://max.book118.com/html/2021/0809/8057023120003131.shtm
12.利用神经网络遗传算法求解函数的极值问题人工智能神经网络遗传算法函数极值寻优是一种综合运用遗传算法和神经网络的优化算法。它的核心思想是利用神经网络模型去逼近目标函数,并通过遗传算法来搜索最优解。相较于其他优化算法,神经网络遗传算法具备更强的全局搜索能力和鲁棒性,能够高效地解决复杂的非线性函数极值问题。这种算法的优势在于它能够通过神经网络的学习能力来近https://www.php.cn/faq/658109.html
13.遗传算法经典实例遗传算法优化BP神经网络腾讯云开发者社区遗传算法经典实例_遗传算法优化BP神经网络 大家好,又见面了,我是你们的朋友全栈君。 下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 例:求下述二元函数的最大值: (1) 个体编码 遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种 符号串。本题中,用无符号二进制整数来表示https://cloud.tencent.com/developer/article/2132617
14.遗传算法优化BP神经网络第六章 遗传算法优化BP神经网络算法流程与3个模块与程序分析 27、GB9_1遗传算法优化BP网络流程与模块一功能(9分钟) 28、GB9_2GA优化BP网络模块二与模块三功能及思考5题(7分钟) 29、GB10_1模块一中数据处理及网络结构层数与newff语法(8分钟,有程序) http://www.jpkccn.com/?suanfachengxu/weichuansuanfagayouhuabpshenjingwanglao.html
15.优化遗传算法和深度强化学习的结合会是新的方向吗?所以说我们可以借助遗传/进化等概念,但恐怕,出于对目前训练神经网络机器和优化算法的极度信任,目前的研究方向可能会离当年的遗传算法,越来越远。 3. 如果9102年的今天,神经网络的训练和搜索不需要遗传算法,那么在(深度)强化学习领域我们是否需要它? 可能的。比如说我司的这篇文章 https://www.shangyexinzhi.com/article/2490916.html
16.基于改进遗传算法优化反向传播神经网络的癫痫发作检测方法分析为了提高计算机化癫痫发作检测的准确性和检测效率,本文提出了一种基于改进遗传算法的优化反向传播(IGA-BP)神经网络的癫痫诊断方法,以期利用该方法可以实现临床癫痫病症的快速、高效检测。该方法首先对癫痫脑电信号进行线性与非线性相结合的特征提取,通过高斯混合模型(GMM)对癫痫特征聚簇集合分析,利用最大期望(EM)算法估算https://www.tcsurg.org/article/10.7507/1001-5515.201806039