第三章 基于遗传算法的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神经网络优化算法(一)_第1张图片

简单来说,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列出了归一化之后的齿轮箱状态样本数据。第三章 基于遗传算法的BP神经网络优化算法(一)_第2张图片
第三章 基于遗传算法的BP神经网络优化算法(一)_第3张图片
从表中可以看出三种故障模式,因此可以采用如下的形式来表示输出。
无故障:(1,0,0)
吃根裂纹:(0,1,0)
断齿:(0,0,1)

3.2.2解题思路及步骤

1、算法流程第三章 基于遗传算法的BP神经网络优化算法(一)_第4张图片

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

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

结语

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

你可能感兴趣的:(MATLAB智能算法,神经网络,算法)