• 基于遗传算法的BP神经网络在汇率预测中的应用研究(Matlab代码实现)


     

    目录

    1 遗传算法

    2 实数编码的遗传算法与神经网络的结合

    3 运行结果

    4 参考文献

    5 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)用得到的最优权值进行模拟(预测)。


      部分代码:

    1. function error = objfun_BP(x,inputnum,hiddennum,outputnum,net,inputn,outputn)
    2. %该函数用来计算适应度值
    3. %x input 个体
    4. %inputnum input 输入层节点数
    5. %outputnum input 隐含层节点数
    6. %net input 网络
    7. %inputn input 训练输入数据
    8. %outputn input 训练输出数据
    9. %error output 个体适应度值
    10. %提取
    11. w1=x(1:inputnum*hiddennum);
    12. B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
    13. w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
    14. B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);
    15. %网络进化参数
    16. net.trainParam.epochs=20;
    17. net.trainParam.lr=0.1;
    18. net.trainParam.mc = 0.8;%动量系数,[0 1]之间
    19. net.trainParam.goal=0.01;
    20. net.trainParam.show=100;
    21. net.trainParam.showWindow=0;
    22. %网络权值赋值
    23. net.iw{1,1}=reshape(w1,hiddennum,inputnum);
    24. net.lw{2,1}=reshape(w2,outputnum,hiddennum);
    25. net.b{1}=reshape(B1,hiddennum,1);
    26. net.b{2}=B2;
    27. %网络训练
    28. net=train(net,inputn,outputn);
    29. an=sim(net,inputn);
    30. error=sum(abs(an-outputn));

    3 运行结果

     

     

     

     

     

     

    4 参考文献

    部分理论引用网络文献,如有侵权请联系删除。

    [1]惠晓峰,胡运权,胡伟.基于遗传算法的BP神经网络在汇率预测中的应用研究[J].数量经济技术经济研究,2002(02):80-83.

    5 Matlab代码实现

  • 相关阅读:
    网络协议:TCP
    求数组满足条件个数
    windows内网渗透正向代理
    spacy.load(“en_core_web_trf“)报错TypeError: issubclass() arg 1 must be a class
    面试经典150题——Day35
    有哪些公共管理或行政管理学习帮助较大的外文期刊?
    论文阅读 6 | Bayesian Meta-Learning for the Few-Shot Setting via Deep Kernels
    优化系统报错提示信息,提高人机交互(二)
    Mysql如何理解Sql语句?MySql分析器
    基于物联网的NodeJs五天入门学习之旅
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/126824361