基于遗传算法的BP神经网络在汇率预测中的应用研究(Matlab代码实现)
Posted 科研研习社
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于遗传算法的BP神经网络在汇率预测中的应用研究(Matlab代码实现)相关的知识,希望对你有一定的参考价值。
目录
1 遗传算法
(1)遗传算法(Genetic Algorithms, GA)是一种全局寻优搜索算法,它通过将问题编码为由基因组成的染色体,然后通过模拟自然界的进化过程,对染色体的适应性进行选择、交叉、变异操作,经过不断的循环处理从而产生代表问题解的染色体。GA具有很强的鲁棒性,由于GA针对问题编码的染色体进行操作,隔离了问题本身的特性,所以具有广泛的适应性。同时由于算法从多初始点开始并行操作,可防止搜索过程收敛于局部极值。另一方面,交叉算子的使用是GA不同于盲目搜索与完全随机搜索、它是一种在当前最优的基础上构造更优解的过程,因此具有一定的启发式搜索和梯度搜索效率高的优点。GA通过群体实现搜索过程,使它不同于单点搜索,且易于并行化,从而提高算法的效率。
(2)遗传算法的一般描述。首先确定染色体(即个体)的编码形式,确定计算染色体适应值的函数,确定群体规模N,杂交率Pc,变异率Pm 等参数。然后可进行编程计算。
更详细总结见:
2 实数编码的遗传算法与神经网络的结合
用遗传算法训练神经网络可以采用二进制编码或实数编码。考虑到本文的神经网络规模较大,本文采用实数编码,步骤如下:
(6)重复(3). (4) . (5)直到下一代群体满为止。使用GA反复优化神经网络的权值,计算当前群体中个体的适应值,得到适应值最大的个体 bestpop.
(7)对 bestpop进行解码,此时得到的参数组合已经充分接近最佳参数组合、在此基础上用BP算法进行学习,得到网络的最优权值。
(8)用得到的最优权值进行模拟(预测)。
3 Matlab代码及详细文章
本文仅展现部分代码,全部代码及文章见:
基于遗传算法的BP神经网络在汇率预测中的应用研究(Matlab代码实现)
function error = objfun_BP(x,inputnum,hiddennum,outputnum,net,inputn,outputn)
%该函数用来计算适应度值
%x input 个体
%inputnum input 输入层节点数
%outputnum input 隐含层节点数
%net input 网络
%inputn input 训练输入数据
%outputn input 训练输出数据
%error output 个体适应度值
%提取
w1=x(1:inputnum*hiddennum);
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);
%网络进化参数
net.trainParam.epochs=20;
net.trainParam.lr=0.1;
net.trainParam.mc = 0.8;%动量系数,[0 1]之间
net.trainParam.goal=0.01;
net.trainParam.show=100;
net.trainParam.showWindow=0;
%网络权值赋值
net.iw1,1=reshape(w1,hiddennum,inputnum);
net.lw2,1=reshape(w2,outputnum,hiddennum);
net.b1=reshape(B1,hiddennum,1);
net.b2=B2;
%网络训练
net=train(net,inputn,outputn);
an=sim(net,inputn);
error=sum(abs(an-outputn));
4 运行结果
5 参考文献
[1]惠晓峰,胡运权,胡伟.基于遗传算法的BP神经网络在汇率预测中的应用研究[J].数量经济技术经济研究,2002(02):80-83.
6 写在最后
部分理论引用网络文献,如有侵权请联系删除。
以上是关于基于遗传算法的BP神经网络在汇率预测中的应用研究(Matlab代码实现)的主要内容,如果未能解决你的问题,请参考以下文章
优化预测基于matlab遗传算法优化BP神经网络预测含Matlab源码 1376期
电力负荷预测基于matlab遗传算法优化BP神经网络电力负荷预测含Matlab源码 1524期