基于遗传算法的BP神经网络
基于遗传算法的BP神经网络
源码地址:https://github.com/Grootzz/GA-BP
介绍:
利用遗传算法并行地优化BP网络的权值和阈值,从而避免了BP网络在优化权值和阈值时陷入局部最优的缺点
背景:
这个项目的背景为客运量和货运量的预测
文件介绍:
- freightFlow.xlsx : 货运量数据集,前7列为影响货运量的因素,第8列为货运量
- passengerFlow.xlsx : 客运量数据集,前7列为影响货运量的因素,第8列为客运量
- Data.mat:这是一个结构体,成员P为从客运量数据集,成员F为货运量数据集
函数概述:
- gadecod:对输入的染色体编码,编码方式一般有两种,实数编码和二进制编码。
此项目中对应的为实数编码,所以编码后的值即为解码后的值。 - getBPinfo:获取BP网络的基本信息。
- gabpEval:计算适应度
- normInit:数据获取,存入结构体Data.mat
- mainFun:主函数,完成训练和预测
GAOT使用说明:
因为项目中用到了GAOT工具包中的函数,所以需要将GAOT工具包加入路径。
操作步骤为:点击GAOT文件—>添加到路径—>选定文件夹和子文件夹
这样,工程中就可以调用GAOT工具包中的函数了
初始种群的生成函数:
[pop]=initializega(num,bounds,eevalFN,eevalOps,options)
- 【输出参数】
pop–生成的初始种群
- 【输入参数】
num–种群中的个体数目
bounds–代表变量的上下界的矩阵
eevalFN–适应度函数
eevalOps–传递给适应度函数的参数
options–选择编码形式(浮点编码或是二进制编码)[precision F_or_B]
precision–变量进行二进制编码时指定的精度
F_or_B–为1时选择浮点编码,否则为二进制编码,由precision指定精度)
遗传算法函数:
[x,endPop,bPop,traceInfo]=ga(bounds,evalFN,evalOps,startPop,opts,termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)
【输出参数】
x--求得的最优解
endPop--最终得到的种群
bPop--最优种群的一个搜索轨迹
traceInfo--每一代的最好的适应度和平均适应度
【输入参数】
bounds--代表变量上下界的矩阵
evalFN--适应度函数
evalOps--传递给适应度函数的参数
startPop-初始种群
opts[epsilonprob_opsdisplay]--opts(1:2)等同于initializega的options参数,第三个参数控制是否输出,一般为0。如[1e-610]
termFN--终止函数的名称,如['maxGenTerm']
termOps--传递个终止函数的参数,如[100]
selectFN--选择函数的名称,如['normGeomSelect']
selectOps--传递个选择函数的参数,如[0.08]
xOverFNs--交叉函数名称表,以空格分开,如['arithXoverheuristicXoversimpleXover']
xOverOps--传递给交叉函数的参数表,如[20;23;20]
mutFNs--变异函数表,如['boundaryMutationmultiNonUnifMutationnonUnifMutationunifMutation']
mutOps--传递给交叉函数的参数表,如[400;61003;41003;400]
源码地址:https://github.com/Grootzz/GA-BP
基于遗传算法的BP神经网络相关推荐
- 基于遗传算法的BP神经网络齿轮箱故障诊断实例
一.BP神经网络概述 BP网络是一类多层的前馈神经网络.它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法.BP算法是 Rumelhart等人在1986年 ...
- BP神经网络优化 | MATLAB基于遗传算法优化BP神经网络(GA-BP)的预测模型(含完整代码)
文章目录 前言 一.遗传算法描述 二.优化思路 三.完整代码 预测结果 前言 首先需要安装一下遗传算法工具箱,可参考这篇博客 MATLAB遗传算法工具箱安装包及安装方法(图解)_周杰伦今天喝奶茶了吗的 ...
- 基于遗传算法的BP神经网络的股票预测模型_matlab实现
文章目录 摘要 bp神经网络 遗传算法 实验结果与分析 完整代码下载: 摘要 在目前的股票投资市场,不少自然人股民的投资主要方式使根据对当天或者一个较长周期对股票数据的预测,来得到下一天的股票数据,从 ...
- 基于遗传算法改进BP神经网络的电池容量SOC预测
摘要 为提升新能源汽车的整车动力性.经济性以及安全性,更精确估算车用电池的荷电状态值(SOC),以纯电动汽车动力锂电池为研究对象,采用遗传算法(GA)优化BP神经网络,解决了误差逆传播存在的收敛速度慢 ...
- gadecod matlab,【预测模型】基于遗传算法优化BP神经网络房价预测matlab源码
一.简介 1 遗传算法概述 遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法 ...
- 基于遗传算法的BP神经网络优化算法(GA BP)实用算例
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.工程背景 二.代码(部分) 1.引入库 2.读入数据 进化过程 注意 具体安装步骤 声明 前言 基于遗传算法的BP ...
- matlab基于遗传算法的BP神经网络优化算法(附代码)
神经网络概述 BP网络是一类多层的前馈神经网络.它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法.BP算法是 Rumelhart等人在1986年提出来的 ...
- 基于遗传算法的BP神经网络优化算法(附代码)
BP网络是前向网络的核心部分,是神经网络中的最精华.最完美的部分,由于其简单的结构,可调整的参数多,训练算法也多,而且可操作性好,BP神经网络获得了非常广泛的应用,但是也存在着一些缺陷,例如学习收敛速 ...
- 第三章 基于遗传算法的BP神经网络优化算法(一)
3.1理论基础 3.1.1 BP神经网络概述 来源 BP神经网络:即back propagation神经网络,名字源于在网络训练的过程当中,调整网络权值的算法是 误差的反向传播(back propag ...
最新文章
- 杭州/北京/新加坡 | 蚂蚁集团数字身份团队招聘计算机视觉算法实习生
- iis6扩展php_Web服务器IIS6的PHP5.2.5最佳配置方法
- 如何使用HttpModule来实现我们日常的应用:
- LeetCode 788. 旋转数字
- 有哪些开源的 Python 模块让你相见恨晚?
- 从0移植uboot (二) _启动流程分析
- internet explorer 无法打开 Internet站点 已中止操作
- linux下安装nginx1.10,Linux(RHEL7.0)下安装Nginx-1.10.2
- matlab实现神经网络
- MUI框架开发APP详解,一篇就够了
- 支持M1芯片AE2022已发布,After Effects 2022 for MAC中文安装教程,支持Monterey系统不闪退
- 手机linux游戏,无聊的教室游戏下载(附攻略)-无聊的教室手机版v1.0.0-Linux公社
- LaTex论文排版 | (16)绘制程序流程图(框图)
- Linux系统查看gcc,g++,java 等的版本
- miui系统小米手机应用双开默认登陆设置修改方法步骤
- 7-4 list 存储动物对象 (10 分)
- 如何看一篇文章的分数
- 【2018.10.12】冥土追魂
- 百炼-1664-放苹果-C语言-递归算法入门
- [导入].NET Framework终于开源了!
热门文章
- 化州市职业技术学校计算机高考班,2020化州市职业技术学校职业教育活动周暨技能体艺节...
- Abaqus学习笔记
- MATLAB绘制正弦函数与余弦函数的线性组合曲线
- django官网网址
- pc模式 华为mate30_华为Mate 30全系支持PC模式 如何实现手机投屏
- 在股权登记日或股息登记日买进的股票,能否分到红利?除权除息日卖出,还享有红利吗
- Office 2016系列下载地址
- xen服务器池虚拟机自启,给在XenCenter管理的XenServer服务器上创建的虚拟机共享(上传)宿主机的镜像文件...
- Advenced Installer制作C#程序安装包过程.Net和Visual C++采用静默安装配置说明
- jpg照片怎么压缩?改变jpg文件大小?