第三章 基于遗传算法的BP神经网络优化算法(一)

3.1理论基础

3.1.1 BP神经网络概述

来源

BP神经网络:即back propagation神经网络,名字源于在网络训练的过程当中,调整网络权值的算法是 误差的反向传播(back propagation)的学习算法。

地位

BP网络是前馈网络的核心部分,是人工神经网络中应用最广泛的算法,但同时也存在着一些缺陷,例如学习收敛速度太慢、不能保证收敛倒全局最小点,网络结构不易确定。另外,网络结构、初始连接权值和阈值的选择对网络训练的影响很大,但是又无法准确获得,针对这些特点利用采用遗传算法对神经网络进行优化。

概述

在这里插入图片描述输入:Xi
输出:Yt
隐含层输出为S:Sj指的是隐含层的第j个输出,计算公式为输入Xi与权值Wij的乘积之和减去阈值 Θ j \Theta _{j} Θj得到的差作为传递函数f的参数输入,得到一个函数值为Sj。

输出层的输出Y:同样是由前面隐含层的输出S与权值Vij乘积之和减去阈值 γ t \gamma_{t} γt得到的差作为传递函数g的参数输入,得到一个函数值为Yt。
BP神经网络的算法工作流程:
在这里插入图片描述

简单来说,BP神经网络和所有的机器学习内容相似,都是由使用者自己准备输入数据X与期望输出Y,然后讲X、Y都置入BP神经网络中,经过不断地拟合得到一个输出函数f(x)。再由使用者准备一组新的X、Y,由f(x)函数计算输出f(X),看这个输出与期望的输出Y之间的误差是否大,误差越小说明拟合效果越好。然后就可以使用这个f(x)来进行实际问题的应用了。

3.1.2 遗传算法的基本要素

遗传算法的基本要素主要包括染色体编码方法、适应度函数、遗传操作和运行参数。
①染色体编码是指个体的编码方法,目前包括二进制法,实数法等。二进制法是指把个体编码成为一个二进制串,实数法是指把个体编码成为一个实数。
②适应度函数是指根据进化目标编写的用于计算个体适应度值的函数,通过适应度值函数计算每个个体的适应度值,用于选择操作等。高适应度值的个体往往生存下来的可能性就更大。
③遗传操作指的是选择操作、交叉操作和变异操作。
④运行参数是遗传算法在初始化时确定的参数,主要包括群体大小M、遗传代数G、交叉概率Pc和变异概率Pm。
本案例使用sheffield遗传算法工具箱进行遗传算法的编写。

3.2案例背景

3.2.1问题描述

本文以拖拉机的齿轮工具箱为背景,介绍使用基于遗传算法的BP神经网络进行齿轮箱故障的诊断。由于绝大多数齿轮箱故障都是由齿轮故障造成的,所以这里只研究齿轮故障的诊断。
网络的输入是一个15维的向量,因为这些数据具有不同的量纲和量级,所以在输入神经网络之前首先进行归一化处理。表3-1和表3-2列出了归一化之后的齿轮箱状态样本数据。在这里插入图片描述
在这里插入图片描述
从表中可以看出三种故障模式,因此可以采用如下的形式来表示输出。
无故障:(1,0,0)
吃根裂纹:(0,1,0)
断齿:(0,0,1)

3.2.2解题思路及步骤

1、算法流程在这里插入图片描述

遗传算法优化BP神经网络主要分为:BP神经网络结构确定、遗传算法优化权值和阈值、BP神经网络训练及预测。其中BP神经网络的拓扑结构是根据样本的输入/输出参数个数确定的,这样就可以确定遗传算法优化参数的个数,从而确定种群个体的编码长度。也即是:输入/输出参数个数——>遗传算法优化参数的个数——>种群个体的编码长度。

神经网络的权值和阈值一般通过随机初始化为[-0.5,0.5]区间的随机数,这个初始化参数对网络训练的影响会很大,但是又无法准确获得,对于相同的初始权重值和阈值,网络的训练结果是一样的,引入遗传算法就是为了优化出最佳的初始权值和阈值。

结语

前期准备工作到此就差不多了,下一章将详细探讨使用matlab的程序实现。

  • 4
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于遗传算法BP神经网络优化算法是一种综合应用遗传算法BP神经网络优化算法,可以有效提高BP神经网络的收敛速度和全局搜索能力。 遗传算法是一种模拟自然界生物进化过程的随机优化算法,利用选择、交叉和变异等遗传操作,通过种群演化来搜索最优解。 BP神经网络是一种前向反馈式的人工神经网络,通过不断调整权值和阈值来逼近所需输出。 基于遗传算法BP神经网络优化算法的代码实现主要包括以下几个步骤: 1. 初始化BP神经网络的权值和阈值,并设置遗传算法的相关参数,如种群大小、迭代次数等。 2. 根据种群大小,随机生成一定数量的个体,每个个体代表一组BP神经网络的权值和阈值。 3. 迭代遗传算法的过程中,根据个体的适应度评估其优劣,适应度可以根据BP神经网络的误差或其他指标来计算。 4. 选择操作:按照适应度大小进行选择操作,选择适应度较好的个体作为下一代的父代。 5. 交叉操作:对父代个体进行交叉操作,生成新的子代个体。 6. 变异操作:对子代个体进行变异操作,引入新的基因信息,增加种群的多样性。 7. 更新种群:将子代个体与父代个体合并为新的种群,并更新当前代的个体。 8. 检查终止条件:如果达到了预设的终止条件(如种群的适应度达到一定阈值或迭代次数达到一定值),则算法终止;否则返回第3步。 基于遗传算法BP神经网络优化算法主要通过种群的演化来搜索神经网络的最优解。通过不断迭代和演化,神经网络不断优化,使网络的性能进一步提高。这种算法在实际应用中取得了不错的效果,但也存在一定的局限性和参数调优的难题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值