介绍:利用遗传算法并行地优化BP网络的权值和阈值,从而避免了BP网络在优化权值和阈值时陷入局部最优的缺点。
背景:此项目的背景为客运量和货运量的预测。
文件介绍
freightFlow.xlsx
: 货运量数据集,前7列为影响货运量的因素,第8列为货运量;passengerFlow.xlsx
: 客运量数据集,前7列为影响货运量的因素,第8列为客运量;Data.mat
:这是一个结构体,成员P为从客运量数据集,成员F为货运量数据集;mainFun()
:主函数,完成训练和预测;normInit()
:数据获取,存入结构体Data.mat;gadecod()
:对输入的染色体编码,编码方式一般有两种,实数编码和二进制编码(此项目中对应的为实数编码,所以编码后的值即为解码后的值);getBPinfo()
:获取BP网络的基本信息;gabpEval()
:计算适应度。因为项目中用到了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]
组合优化 | MATLAB实现GA-BP和PSO-BP多输入单输出预测 基本介绍 MATLAB实现GA-BP和PSO-BP多输入单输出预测。BP网络是前向神经网络中最核心的部分,但是存在一些缺陷,学习收敛速度较慢,不能保证收敛到全局最小点,网络结构不确定等。GA优化BP思路主要部分为:BP神经网络确定,GA优化权值和阈值。粒子群优化算法(PSO)是一种进化计算技术,该算法最初是受到飞鸟集群活动的规
Genetic Algorithm Toolbox for MATLAB, v1.2 Thank you for requesting a copy of the Genetic Algorithm Toolbox. The Genetic Algorithm Toolbox for MATLAB was developed at theDepartment of Automatic Contro
问题内容: 我正在尝试根据从《 AI游戏程序员的技术》一书中选取的技术编写一种遗传算法,该技术对种群的基因使用二进制编码和适应性比例选择(也称为轮盘选择)。在程序内以二维数组随机生成。 最近,我遇到了一段伪代码并尝试实现它,但是遇到了一些我需要做的事情方面的问题。我检查了许多书籍和一些开源代码,但仍在努力取得进展。我了解我必须获得总体适应度的总和,在总和与零之间选择一个随机数,然后如果该数字大于父
情境:我使用谷歌标签管理器在多站点网络上建立了谷歌分析(GA-Universal)。有一个GTM容器,每个网站都有自己的GA属性。我使用了一个GTM变量来引用所有GA属性。我能够跟踪跨域会话。在测试中,我能够在同一会话/客户端ID下跨多个域跟踪用户的会话。 问题:我被下一步该做什么所困扰。我想创建一些目标和视图,跟踪用户在我的网站上的旅程,并测量通常的统计数据(反弹、积分转换等)。然而,我不知道从
问题内容: Hibernate 3.5-Final 终于面世了,它提供了备受期待的JPA2支持以及其他功能。我正在使用JBoss 5.1.0.GA和Hibernate 3.3进行项目(基于EJB3),但是我想利用JPA2并尝试升级到Hibernate 3.5。 我所做的工作非常简单和标准-我只是将所有的hibernate3.5 jar放在server / configuration(默认,全部等)
有谁知道什么时候可以使用Javhelp 3.17.0-GA吗? Javaassit中有一个bug(在3.17.0-GA中修复)在与Java 7一起使用时破坏了PowerMock:https://issues.jboss.org/browse/JASSIST-160?focusedCommentId=12718716 相关的PowerMock bughttp://code.google.com/p/
本报告记录了对 1.0-GA 版本的 DM 进行性能测试的目的、环境、场景和结果。 测试目的 该性能测试用于评估使用 DM 进行全量数据导入和增量数据复制的性能上限,并根据测试结果提供 DM 迁移任务的参考配置。 测试环境 测试机器信息 系统信息: 机器 IP 操作系统 内核版本 文件系统类型 172.16.4.39 CentOS Linux release 7.6.1810 3.10.0-957