一种利用遗传算法优化BP神经网络系统的方法与流程

本发明涉及一种利用遗传算法对BP(BackPropagation)神经网络进行优化的模型系统,属于人工智能技术领域。

背景技术:

人工神经网络是基于模仿人脑系统的结构和功能,反映人脑某些特性的一种智能信息处理系统。目前,人工神经网络已经在很多领域得到了广泛的应用。这些应用领域主要包括智能检测、非线性预测、模式识别、机器人控制等。随着人工神经网络的进一步发展和更加深入的研究,人工神经网络的应用前景会更加广阔。

遗传算法(Geneticalgorithm,GA)是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法,由美国Michigan大学的Holland教授首次提出。早期的研究大多以对自然遗传系统的计算机模拟为主,侧重于对自动博奔、自然系统模拟、模式识别和函数优化等一些复杂操作的研究。自20世纪80年代中期开始,世界上许多国家都掀起了关于遗传优化及其工程应用的研究热潮。遗传算法的主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息,尤其适用于处理传统搜索方法难以解决的复杂的非线性问题,可广泛用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域,是二十一世纪有关智能计算的关键技术之一。

人工神经网络是在现代神经生物学研究基础上提出的模拟生物过程以反映人脑某些特性的计算结构,多层感知器(MultilayerPerceptron,MLP)是最著名也是应用最广泛的前馈型神经网络,包括一个输入层、一个输出层和若干隐层,一般常见为一个隐层。应用多层感知器网络需要解决的关键问题是学习算法,1986年,以Rumelhart和McClelland为首的科研小组完整而简明地提出了误差反向传播(Errorbackpropagation,BP)算法,系统地解决了多层网络中隐含单元连接权的学习问题,使多层前馈网络能逼近任意非线性函数,从而为多层前馈网络在科学技术领域中的广泛应用奠定了坚实基础。

技术实现要素:

本发明要解决的技术问题是针对BP神经网络和遗传算法各自的优缺点,将两者结合利用,以加快网络的收敛速度,提高模型精度。

为了解决上述技术问题,本发明的技术方案是提供一种利用遗传算法优化BP神经网络系统的方法,其特征在于:采用遗传算法对神经网络的权值和阈值进行优化,在解空间中定位出一个优化的搜索空间,并将此搜索空间作为神经网络搜索的初始权值和阈值,然后利用神经网络的局部搜索能力在该搜索空间中搜索出最优解。

优选地,采用遗传算法对神经网络的权值和阈值进行优化,在解空间中定位出一个优化的搜索空间的步骤为:

步骤1:问题的空间编码

首先,建立问题空间和遗传算法空间的映射关系;设神经网络中

输入层节点个数为P;

隐含层的阈值为θj,个数为R,j∈R;

输出层的阈值为φk,个数为J,k∈J;

输入层到隐含层的权值为wji,个数为M,i∈P,j∈R;

隐含层到输出层的权值为Wkj*,个数为L,.j∈R,k∈J;

其中,P,R,J,M,L∈Z+,Z+为正整数集;

这里将每个权值和阈值用0/1二进制串对应表示,然后,将所有权值和阈值对应的0/1二进制串按顺序级联在一起,即顺序写成一串,就得到一个基因串一染色体;将其表示如下:

w11(’)w12(’)...w1i(’)...w1p(’)w21(’)w22(’)...w2i(’)...wxp(’)...

wj1(’)wj2(’)...wji(’)...Wjp(’)...wR1(’)wR2(’)...wRi(’)...WRp(’)

w11*(’)w12*(’)...w1i*(’)...w1p*(’)w21*(’)w22*(’)...w2i*(’)...w2p*(’)...

wj1*(’)wj2*(’)...wji*(’)...wjp*(’)...wR1*(’)wR2*(’)...wRi*(’)...wRp*(’)

θ1(’)θ2(’)...θj(’)...θj(’)...θR(’)φ1(’)φ2(’)...φk(’)...φj(’)

其中,w11(’)w12(’)...w1i(’)...W1p(’)W21(’)W22(’)...W2i(’)...W2p(’)...

Wj1(’)Wj2(’)...wji(’)...wjp(’)...WR1(’)WR2(’)...WRi(’)...wRp(’)

为m个长度为一位的二进制串;

w11*(’)w12*(’)...w1i*(’)...w1p*(’)w21*(’)w22*(’)...w2i*(’)...W2p*(’)...

为l个长度为一位的二进制串;

wji(’),wkj*(’),θj(’),φk(’)为对应于十进制权值和阈值wji,Wkj*,θj,φk·的二进制串;

这样就把BP神经网络的连接权值和阈值映射成二进制编码的基因串;而且,这种映射是一对一的,即给定一组连接权值和阈值,必然可以写出唯一的一个基因串与其对应;同样给出一个基因串,也必然可以表示出唯一的一组连接权值和阈值;

步骤2:群体规模生成

随机产生N个基因串的初始种群,N为正整数;

步骤3:适应度函数设计

适应度函数设计如下:

设dmk及ymk分别为第m个训练样本的第k个输出节点的期望输出与实际输出,m、k∈Z+,则适应度函数为:

其中,num为网络输入输出样本对的个数;emk为第m个模式的第k个输出节点的误差;

步骤4:遗传操作

将适应度函数的幂标定法与选择操作的期望值方法结合给出如下定义;

定义:选择操作问题的“期望生存模型”

设某基因串的适应度函数为Fp,群体规模为N,期望生存模型如下:

则群体中每个个体在其子代的期望生存数目:

基于上述定义的基本思想,在Mp*≥2时,若除了父代中个体单一遗传给子代外所复制的子代的总数超过父代中被淘汰个体的总数,则结合“排序选择方法”作选择操作,选择概率为:

否则,调整式(1)式中的K值,使父代中除个体单一遗传给子代外所复制的子代的总数不少于父代中被淘汰个体的总数,然后再结合“排序选择方法”作选择操作;

交叉操作采用一点交叉,交叉训练应将连接权值部分和阈值部分分开进行,变异操作采用一点变异;

步骤5:循环操作

重复上述遗传操作,直到神经网络的能量函数基本趋于稳定,则停止进化;此时,已为BP神经网络的搜索定位出一个优化的搜索空间。

优选地,所述步骤1中,在将各权值和阈值对应的二进制字符串级联在一起时,与同一隐节点相连的连接权值对应的字符串或与同一层阈值对应的字符串应放在一起。

优选地,所述步骤3中,emk可按下述步骤计算:

(1)把某一学习模式的值作为输入层单元的输出Ii,,用输入层到隐含层的权值wji和隐含层单元的阈值θj求出隐含层单元j的输出vj:

(2)用隐含层单元的输出vj,隐含层到输出层的权值wkj*以及输出层单元k的阈值φk求出输出层单元k的输出yk:

(3)由学习模式的教师信号和输出层的输出,得到第m个模式的第k个输出节点的emk。。

本发明提供的方法针对BP神经网络和遗传算法各自的优缺点,将两者结合利用,能加快网络的收敛速度,有效提高了模型的精度,实现了神经网络与遗传算法两个研究方向的优化结合。该系统能广泛应用于智能检测、非线性预测、模式识别、机器人控制等领域,具有良好实用性。

附图说明

图1为BP神经网络结构图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

BP神经网络也称为反向传播神经网络,是一种具有3层或3层以上结构的无反馈的、层内无互连的网络,其结构如图1所示。BP神经网络除输入层和输出层外,还包括一个或多个隐含层,各个层神经元之间实现全连接,而同层内各神经元之间无连接。BP神经网络通过有指导的学习方式进行学习和训练。标准的BP学习算法采用误差函数按梯度下降的方法学习,使网络的实际输出值和期望输出值之间的均方误差最小。

针对BP神经网络和遗传算法各自的优缺点,将两者结合利用。首先采用遗传算法对神经网络的权值和阈值进行快速优化,在解空间中定位出一个较好的搜索空间,并将此空间作为神经网络搜索的初始权值和阈值,然后利用神经网络的局部搜索能力在这个小的解空间中搜索出最优解。

采用遗传算法对神经网络的权值和阈值进行快速优化,在解空间中定位出一个较好的搜索空间的步骤如下:

I、问题的空间编码:

首先要建立问题空间和GA算法空间的映射关系。设神经网络中输入层节点个数为P,隐含层的阈值为θj,个数为R(j∈R),输出层的阈值φk个数为J(k∈J),输入层到隐含层的权值{wji,i∈P,j∈R}个数为M,隐含层到输出层的权值{wkj*;j∈R,k∈J}个数为L,其中P,R,J,M,L∈Z+(Z+为正整数集)。这里把每个权值和阈值用一定长的0/1二进制串对应表示。然后,将所有权值和阈值对应的0/1二进制串按顺序级联在一起,即顺序写成一串,这样就得到一个基因串-染色体。将其表示如下:

W11(’)W12(’)...w1i(’)...W1p(’)W21(’)w22(’)...W2i(’)...W2p(’)...

Wj1(’)wj2(’)...wji(’)...Wjp(’)...WR1(’)WR2(’)...WRi(’)...WRp(’)

W11*(’)w12*(’)...w1i*(’)...W1p*(’)W21*(’)w22*(’)...w2i*(’)...w2p*(’)...

wj1*(’)wj2*(’)...wji*(’)...wjp*(’)...WR1*(’)wR2*(’)...wRi*(’)...wRp*(’)

θ1(’)θ2(’)...θi(’)...θj(’)...θR(’)φ1(’)φ2(’)...φk(’)...φj(’)

其中,W11(’)W12(’)...W1i(’)...W1p(’)W21(’)W22(’)...W2i(’)...W2p(’)...

Wj1(’)Wj2(’)...wji(’)...Wjp(’)...WR1(’)WR2(’)...WRi(’)...WRp(’)

W11*(’)w12*(’)...w1i*(’)...w1p*(’)w21*(’)w22*(’)...w2i*(’)...w2p*(’)...

wji(’),wkj*(’),θj(’),φk(’)为对应于十进制权值和阈值wji,Wkj*,θj,φk·的二进制串。

这样就把BP神经网络的连接权值和阈值映射成二进制编码的基因串。而且,这种映射是一对一的,即给定一组连接权值和阈值,必然可以写出唯一的一个基因串与其对应;同样给出一个基因串,也必然可以表示出唯一的一组连接权值和阈值。所要注意的是,在将各权值和阈值对应的二进制字符串级联在一起时,与同一隐节点相连的连接权值对应的字符串或与同一层阈值对应的字符串应放在一起。这是因为隐节点在神经网络中起特征抽取和特征探测作用,若将其与同一隐节点相连的连接权值对应的字符串分开,或者与同一层阈值对应的字符串分开,则将增加获取特征的难度,因为遗传算子很容易破坏这些特征。

II、群体规模生成

随机产生N个基因串的初始种群。遗传算法对BP神经网络权值和阈值的优化,主要是为了在解空间中定位出一个较好的搜索空间,而其后的搜索寻优是靠神经网络来完成的,因此由遗传算法所实现的优化,应力求在解空间中定位出全局最优解所在的空间而不必过于顾及计算的复杂度。而所做的仿真实践证明,其繁殖代数不必很高,因此可以将群体规模N取的大一些。

III、适应度函数设计

GA的适应度函数即神经网络性能评价函数是遗传算法指导搜索的唯一信息,它的选取是算法好坏的关键。适应度函数要能够有效地指导搜索沿着面向优化参数组合的方向,逐渐逼近最佳参数组合,而不会导致搜索不收敛或陷入局部最优解。同时这个函数也应该易于计算。

本发明将适应度函数设计如下:

上式中num为网络输入输出样本对的个数,emk为第m个模式的第k个输出节点的误差。它们可按下述步骤计算:

(3)由学习模式的教师信号和输出层的输出,得到第m个模式的第k个输出节点的emk。

IV、遗传操作

将适应度函数的幂标定法与选择操作的期望值方法结合给出如下定义。

定义:选择操作问题的“期望生存模型(expectedexistencemodel)”

否则,调整式(1)式中的K值使父代中除个体单一遗传给子代外所复制的子代的总数不少于父代中被淘汰个体的总数,然后再结合“排序选择方法”作选择操作。

交叉操作采用一点交叉,交叉概率为Pc。但要注意的是交叉训练应将连接权值部分和阈值部分分开进行。变异操作采用一点变异,变异概率为Pm。

V、循环操作

重复上述遗传操作,直到神经网络的能量函数基本趋于稳定,则停止进化。此时,已为BP神经网络的搜索定位出一个优化的搜索空间。

上面详细介绍了利用遗传算法对BP神经网络进行优化的方法。接下来通过仿真实例,验证上述方法的有效性。

利用这种优化的BP网络对磁力传感器的跟踪数据进行误差校正,并与利用传统BP网络校正进行对比。

为了方便测量,设计了一个由黑白色方格组成的平面标志板,其中所有方格的大小相同并已知。测量时,标志板固定在上下可移动的支架上,将磁力传感器的接收器放在标志板的不同位置,通过上下移动支架(其间始终保持标志板的水平状态)而得到不同样点的实际坐标值和测量值。

分别通过优化的BP网络与传统BP网络建立模型,对数据校正前后进行对比。将优化模型和传统模型分别应用于磁力传感器校正测量数据的值与实际真实值如表1、表2、表3所示。

表1三维坐标X值分量

表2三维坐标Y值分量

表3三维坐标Z值分量

由表1、表2、表3可以看出,相比传统模型,利用优化方法进行数据校正,可以有效降低磁力传感器的非线性误差,提高整个系统的跟踪精度。

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