基于遗传算法的BP神经网络的应用

更新时间:2023-09-22 03:25:01 阅读量: 工程科技 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于遗传算法的BP神经网络的应用

----非线性函数拟合

摘要 人工神经网络在诸多领域得到应用如信息工程、自动控制、电子技术、目标识别、数学建模、图像处理等领域,并且随着神经网络算啊发的不断改进以及其他新算法的结合,使其应用的领域越来越广。BP神经网络是目前神经网络领域研究最多应用最广的网络,但BP神经网络学习算法易陷入局部极小的缺陷,本文采用遗传算法来优化BP神经网络的性能。首先采用遗传算法来优化BP神经网络的权值和阈值,然后将这些优化值赋给网络得到优化的BP神经网络,最后用MATLAB仿真平台,对非线性函数的逼近拟合和极值寻优问题进行实验。数值仿真结果表明:经遗传算法优化的BP神经网络能有效地避免原始BP神经网络容易出现的局部极小的缺陷,且具有收敛速度快和精度高等优点。

关键词:BP神经网络 遗传算法 MATLAB 结构优化

Abstract— In recent years, artificial neural network gradually attention has been paid into the hot area of research in many fields have been involved in electronic applications such as other fields have a wide range of applications, and also continued to expand its applications. To alleviate the shortcoming of easily sinking into the local minimum existing in the BP neural network, the paper exploits the genetic algorithm to optimize the BP neural network. First of all, the genetic algorithm is utilized to optimize the weight values as well as the threshold values of the BP neural network. Subsequently, by using the optimized weight values and threshold values, we are able to get the improved BP neural network. Furthermore, we employ the simulation data to measure the performance of the improved BP neural network. The numerical results indicate that the optimized BP neural network can effectively overcome the local minimum of the original BP neural network and outperform the original BP neural network in the aspects of convergence speed and

1

computation accuracy.

Keywords—BP neural network, genetic algorithm, optimization

1.引言

前馈神经网络(BP 模型)其非线性逼近能力是它博得青睐的主要原因,而BP 算法作为前馈网络的主要学习算法,则无可争议的对其推广应用起了举足轻重的促进作用。BP算法因其简单、易行、计算量小、并行性强等优点,是目前神经网络训练采用最多也是最为成熟的训练算法之一。然而,由于BP 算法是一种梯度下降搜索方法,因而不可避免地存在固有的不足,如易陷入误差函数的局部极值点,而且对于较大搜索空间、多峰值和不可微函数也不能有效搜索到全局极小点,而遗传算法则是克服这一不足的有效解决方法,主要是因为遗传算法是一种全局优化搜索算法

[3]

,因而能够避开局部极小点,而且在进化过程中也无需提供所要解决问题的梯度

信息。

2.BP神经网络

2.1 BP神经网络的特点

在20世纪80年代,Rumelhart等人首次提出了BP神经网络算法,BP神经网络的本值就是反向传播神经网络(Back Propagation Neural Network)。BP神经网络与其他网络相比具有其独特的特点:分布式存储方式,大规模并行处理,自学习和自适应能力,容错性及鲁棒性好[2]。

2.2 BP神经网络模型

BP神经网络具有一个输入层、一个输出层以及若干隐含层,其本质是一种多层前馈神经网[1]。在BP神经网络中每一层的神经元都不与相同层的神经元相连接,这是由于在神经网络中各层之间是以全连接方式连接到一起构成网络的,因此各层的神经元只能接受下层神经元送来的激活信号,并向多层映射网传递修正误差及反馈,BP网络的这种结果使得他能在参数选择合理时收敛点较小的均方误差。对许多实际问题的解决都是利用BP网络的这种结构特点,如模式识别、预测、控制等方面,这

2

就使得BP网络成为目前应用最为广泛的一种神经网络。

下面以一个四层的BP神经网络来介绍BP网络的基本结构,结构如图1所示,该网络有一个输入层、两个隐含层、一个输出层,其中xi(p)(i=1,2,...n)表示输入变量,其个数为n即输入层节点个数为n,两个隐含层的节点个数分别为l和s,m表示输出层的节点数,yk(p)(k=1,2,...m)表示输出层节点输出。在神经网络中每一个神经元都可以用一个节点来表示,而神经网络的

隐含层是可变的可以是单层、双层和多层。通常情况下采用Sigmoidal型函数表示隐含层节点,采用Sigmoidal型函数或者线性函数表示输入和输出节点。

图1 BP神经网络结构图表

3. 遗传算法

3.1 遗传算法的原理

遗传算法(Genetic Algorithms)是1962年由美国Michigan大学Holland教授提出的模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法[4]。由于遗传算法的寻优能力的并行性高并且具有自适应性,使其在诸多领域都得到了迅速的发展如函数优化、机器学习等,同时取得了较好的效果。遗传算法中的操作步骤与生物遗传和进化的步骤极为相似。它把自然界“优胜劣态,适者生存”的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过

3

遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度值差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。这样反复循环,直至满足条件。 3.2 遗传算法的基本操作 3.2.1 选择操作

选择操作是指从旧群体中以一定概率选择个体到新群体中,个体被选中的概率跟适应度值有关,个体使用度质越好,被选中的概率越大。 3.2.2交叉操作

交叉操作是指从个体中选择两个个体,通过两个染色的交换组合,来产生新的优秀个体[5]。交叉过程为从群体中任选两个染色体,随机选择一点或多点染色体位置进行交换。交叉操作图如图2所示。

A:1100 0101 1111 交叉 A:1100 0101 0000 B:1111 0101 0000 B:1111 0101 1111

图2 交叉操作 3.3.3变异操作

变异操作是指从群体中任选一个个体,选择染色体中的一点进行变异以产生更优秀的个体。变异操作如图3所示。

变异 A:1100 0101 1111 A:1100 0101 1101

图3 变异操作

遗传算法具有高效启发式搜索、并行计算等特点,目前已经应用在函数优化、组合优化以及生产调度等方面。 3.3 遗传算法的基本要素

遗传算法的基本要素包括染色体编码方适应度函数、遗传操作和运行参数。 其中染色体编码方法是指个体的编码方法,目前包括二进制法、实数法等。二进制法是指把个体编码成为一个二进制串,实数法是指把个体编码成为一个实数串。

适应度函数是指根据目标编写的计算个体适应度值的函数,通过适应度值函数

4

计算每个个体的适应度值,提供给选择算子进行选择。

遗传操作是指选择操作、交叉操作和变异操作。

运行参数是遗传算法在初始化时确定的参数,主要包括群体大小M、遗传代数G、交叉概率Pc和变异概率Pm。

4. 遗传算法优化BP神经网络

4.1 算法流程

遗传算法优化BP神经网络算法流程[6]如图4所示。

满足结束条件 计算适应度值 交叉操作 变异操作 选择操作 计算误差 数据预处理 BP神经网络训练得 到误差作为适应度值 获取最优权值阈值 遗传算法部分 输入数据 GA对初始值编码 BP神经网络部分 确定网络拓扑结构 初始BP神经网络权值阈值 权值阈值更新 N 满足结束条件

5

本文来源:https://www.bwwdw.com/article/louh.html

Top