# 基于遗传算法的BP神经网络
**介绍**:利用遗传算法并行地优化BP网络的权值和阈值,从而避免了BP网络在优化权值和阈值时陷入局部最优的缺点。
**背景**:此项目的背景为客运量和货运量的预测。
**文件介绍**
1. `freightFlow.xlsx ` : 货运量数据集,前7列为影响货运量的因素,第8列为货运量;
2. `passengerFlow.xlsx` : 客运量数据集,前7列为影响货运量的因素,第8列为客运量;
3. `Data.mat`:这是一个结构体,成员P为从客运量数据集,成员F为货运量数据集;
4. 其他为源文件。
## 函数概述
1. `mainFun()`:主函数,完成训练和预测;
1. `normInit()`:数据获取,存入结构体Data.mat;
1. `gadecod()`:对输入的染色体编码,编码方式一般有两种,实数编码和二进制编码(此项目中对应的为实数编码,所以编码后的值即为解码后的值);
1. `getBPinfo()`:获取BP网络的基本信息;
1. `gabpEval()`:计算适应度。
## GAOT使用说明
因为项目中用到了GAOT工具包中的函数,所以需要将GAOT工具包加入路径。
操作步骤为:
1. 点击GAOT文件;
1. 添加到路径;
1. 选定文件夹和子文件夹。
这样,工程中就可以调用GAOT工具包中的函数了。
## 初始种群的生成
```matlab
[pop]=initializega(num,bounds,eevalFN,eevalOps,options)
```
- 【输出参数】
> pop:生成的初始种群
- 【输入参数】
> num:种群中的个体数目
> bounds:代表变量的上下界的矩阵
> eevalFN:适应度函数
> eevalOps:传递给适应度函数的参数
> options:选择编码形式(浮点编码或是二进制编码)[precision F_or_B]
> precision:变量进行二进制编码时指定的精度
> F_or_B:为1时选择浮点编码,否则为二进制编码,由precision指定精度)
## 遗传算法函数
````matlab
[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]
````
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于遗传算法的BP神经网络 介绍:利用遗传算法并行地优化BP网络的权值和阈值,从而避免了BP网络在优化权值和阈值时陷入局部最优的缺点。 背景:此项目的背景为客运量和货运量的预测。 文件介绍 freightFlow.xlsx : 货运量数据集,前7列为影响货运量的因素,第8列为货运量; passengerFlow.xlsx : 客运量数据集,前7列为影响货运量的因素,第8列为客运量; Data.mat:这是一个结构体,成员P为从客运量数据集,成员F为货运量数据集; 其他为源文件。 函数概述 mainFun():主函数,完成训练和预测; normInit():数据获取,存入结构体Data.mat; gadecod():对输入的染色体编码,编码方式一般有两种,实数编码和二进制编码(此项目中对应的为实数编码,所以编码后的值即为解码后的值); getBPinfo():获取BP网络的基本信息; gabpEval():计算适应度。
资源推荐
资源详情
资源评论
收起资源包目录
基于遗传算法的BP神经网络.zip (67个子文件)
GA-BP-master
src
dataInit.m 154B
GAOT
normGeomSelect.m 2KB
boundaryMutation.m 2KB
nonUnifMutation.m 2KB
calcbits.m 1KB
inversionMutation.m 2KB
gademo2.m 3KB
binaryMutation.m 1KB
enhancederXover.m 2KB
shiftMutation.m 2KB
_ReadMe.txt 1KB
gaZBGradEval.m 684B
tspEval.m 157B
EER.m 2KB
f2b.m 1KB
simpleXover.m 2KB
initializega.m 3KB
coranaFeval.m 2KB
b2f.m 1KB
startup.m 49B
delta.m 1KB
linerorderXover.m 2KB
tournSelect.m 2KB
gademo1eval1.m 1KB
adjswapMutation.m 1KB
binaryExample.m 2KB
singleptXover.m 2KB
parse.m 1KB
initializeoga.m 2KB
uniformXover.m 2KB
threeswapMutation.m 1KB
ga.m 11KB
coranaMin.m 1KB
_Genetic Algorithm Optimization Toolbox.mht 5KB
cyclicXover.m 2KB
partmapXover.m 2KB
erXover.m 2KB
orderBasedExample.m 3KB
heuristicXover.m 2KB
orderbasedXover.m 2KB
plotCorana.m 514B
arithXover.m 1KB
multiNonUnifMutation.m 2KB
maxGenTerm.m 1KB
unifMutation.m 2KB
floatGradExample.m 2KB
gaMichEval.m 193B
coranaEval.m 1KB
gaZBGrad.m 174B
gademo.m 4KB
gademo3.m 6KB
README.md 1KB
floatExample.m 2KB
gademo1.m 4KB
roulette.m 861B
dists.m 7KB
swapMutation.m 2KB
optMaxGenTerm.m 2KB
Contents.m 5KB
mainFun.m 3KB
getBPinfo.m 955B
gabpEval.m 408B
freightFlow111.xlsx 8KB
passengerFlow111.xlsx 8KB
Data.mat 619B
gadecod.m 2KB
README.md 3KB
共 67 条
- 1
资源评论
白话机器学习
- 粉丝: 9749
- 资源: 7681
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 实践项目-图书馆管理系统(C#.NET)
- 10Eclipse项目源码.jpg
- 大屏可视化数据课程项目
- Maven 快速入门指南:安装和配置方法详解
- STM32物信息通过MQTT协议上传云平台
- STM32物信息通过MQTT协议上传云平台
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6260.0)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6259.0)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6258.0)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6257.0)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功