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的程序实现。

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

  1. 基于遗传算法的BP神经网络优化算法(GA BP)实用算例

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.工程背景 二.代码(部分) 1.引入库 2.读入数据 进化过程 注意 具体安装步骤 声明 前言 基于遗传算法的BP ...

  2. 基于遗传算法的BP神经网络优化算法(附代码)

    BP网络是前向网络的核心部分,是神经网络中的最精华.最完美的部分,由于其简单的结构,可调整的参数多,训练算法也多,而且可操作性好,BP神经网络获得了非常广泛的应用,但是也存在着一些缺陷,例如学习收敛速 ...

  3. matlab基于遗传算法的BP神经网络优化算法(附代码)

    神经网络概述 BP网络是一类多层的前馈神经网络.它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法.BP算法是 Rumelhart等人在1986年提出来的 ...

  4. MATLAB实战系列(二十一)-基于遗传算法的BP神经网络优化算法(附MATLAB代码)

    前言 如何用matlab搭建一个简单的Bp神经网络,并且在代码的最后得到Bp神经网络训练后的权值与阈值.实际上,权值与阈值可以在开始训练网络前给其赋值,换句话说,我们给神经网络的权值与阈值想怎么赋值就 ...

  5. bp神经网络算法步流程_基于遗传算法的BP神经网络优化算法模板

    仅针对谢菲尔德大学的gatbx GABPMain.m clc Objfun.m function BPfun.m function callbackfun.m clc

  6. 基于遗传算法的BP神经网络优化

    基于遗传算法的BP神经网络优化 1 前言 BP神经网络是人工神经网络中应用最广泛的算法,但是也存在一些缺陷,例如学习收敛速度太慢,不能保证收敛到全局最小点.网络结构不易确定.另外,网络结构.初始连接权 ...

  7. 《MATLAB智能算法30个案例》:第9章 基于遗传算法的多目标优化算法

    <MATLAB智能算法30个案例>:第9章 基于遗传算法的多目标优化算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析> ...

  8. 基于遗传算法的BP神经网络的股票预测模型_matlab实现

    文章目录 摘要 bp神经网络 遗传算法 实验结果与分析 完整代码下载: 摘要 在目前的股票投资市场,不少自然人股民的投资主要方式使根据对当天或者一个较长周期对股票数据的预测,来得到下一天的股票数据,从 ...

  9. 一文概览神经网络优化算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一.机器学习的优化 机器学习的优化(目标),简单来说是:搜索模型的 ...

最新文章

  1. 整理Simple.Data使用方法
  2. Internet Explorer 11 Enterprise Mode 排错
  3. 如何下载python模块_Python第三方库(模块)下载和安装(使用pip命令)
  4. 父亲节,程序员几条代码硬核示爱
  5. 数据分箱6——分箱结果进行WOE转化
  6. bcp生成excel文件优化方案
  7. HBase之CMS GC调优
  8. 四行代码创建复杂(无限级)树
  9. #if、#ifdef、#if defined之间的区别
  10. matplotlib可视化学习笔记
  11. 稳压二极管 参数说明
  12. 华硕主板破linux密码破解,华硕P8B75-M-LE老主板加持NVMe SSD bios(刷新软件和bios)...
  13. 微信小程序的在线学习每日签到打卡 项目源码介绍
  14. 40岁开始学python_37 岁了,想学习 Linux 和 Python ,不知道晚不晚。
  15. 计算机科学大师唐纳德,现代计算机科学的鼻祖
  16. Painter X Liquid Ink(液体墨水)画笔
  17. 从RCNN,Fast-RCNN到Fater-RCNN的演化过程
  18. Windows程序的生与死
  19. 总结编译Liblas库时的问题(会及时更新解决博友遇到的问题)
  20. 黑马MySQL进阶篇笔记

热门文章

  1. jquery动态渲染绑定点击事件不生效
  2. 百度超级链沙龙回顾 | IBM郭剑南:如何在区块链中使用数据库
  3. c++语言程序的结构特点,概述C++语言特点
  4. BET样品测试和数据分析
  5. JSP速达求职网的设计与实现(源代码+论文)
  6. 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
  7. 主动攻击与被动攻击的区别以及可靠性、可用性、保密性、完整性、不可抵赖性、可控性等的概念
  8. 可以用旋转法绘制平行四边形
  9. 【Unity2D】实现有个性的复杂的血条UI(以空洞骑士的为例)
  10. 解决华为手机丢失问题