• 基于文化算法优化的神经网络预测研究(Matlab代码实现)


    目录

    1 文化优化算法

    2 人工神经网络

    4 参考文献 

    5 Matlab代码实现


    1 文化优化算法

    大自然里的各种生物在生存环境中相互竞争,优胜劣汰,不断进化,对环境具有良好的适应性,人们细心观察着周围神奇的大自然,激发出无限的想象,模拟生物的进化机制,提出了一系列进化计算方法,如进化规划、遗传算法、粒子群优化算法以及鱼群算法等。然而,这些方法仍拘泥于在种群空间中进行,能够利用的信息资源只是当前的或者上一步进化信息,而未充分挖掘和利用进化过程中的历史知识,和对未来搜索的有效预测。所以,如何提取有效信息并有效利用进化过程中隐含的各类信息,以提高进化效率,成为该领域的一个研究热点文化是用符号、价值意义和社会规范表示整个人类群体的生产方式和生活过程的集合,文就是知识的结构性积累;化就是教化与人。人类一代代继承着在文化,以超越其他所有物种的速度进化着,才有了文明如此发达的今天。如果没有文化就没有可以借鉴的经验,人类社会就会在不断地重复试错中徘徊不前。

    文化算法,从两个层面分别模拟生物的进化和文化的进化,两个过程既相互独立又相互影响,是一种基于知识的双层进化系统。该算法优点就在于,可以从每次的搜索中提取解决问题的有效信息,并反馈指导种群的搜索过程,在精度和效率上都使算法有效提升。



    人工神经网络


    人工神经网络可以实现有监督和无监督条件下的分类和回归工作,通过适当地调节权重系数,使神经网络的输出收敛于正确的目标7。而这些权重系数,是通过网络的学习训练得到的,训练过程是通过预先提供的一批数据,经由网络分析找出输入一输出之间潜在的规律。之后,网络的输出数据就是根据这些规律推算出来的。人工神经网络有以下主要特点:
    (1)较强的学习能力;


    (2)较好地模拟人的思维感知过程的能力;

    (3)较强的联想能力和容错能力

    (4)较好的并行协同处理能力;

    (5)是一个非线性动力系统。

    本文仅展现部分代码,

    1. function Culture = AdjustCulture(Culture, spop)
    2. n = numel(spop);
    3. nVar = numel(spop(1).Position);
    4. for i = 1:n
    5. if spop(i).Cost<Culture.Situational.Cost
    6. Culture.Situational = spop(i);
    7. end
    8. for j = 1:nVar
    9. if spop(i).Position(j)<Culture.Normative.Min(j) ...
    10. || spop(i).Cost<Culture.Normative.L(j)
    11. Culture.Normative.Min(j) = spop(i).Position(j);
    12. Culture.Normative.L(j) = spop(i).Cost;
    13. end
    14. if spop(i).Position(j)>Culture.Normative.Max(j) ...
    15. || spop(i).Cost<Culture.Normative.U(j)
    16. Culture.Normative.Max(j) = spop(i).Position(j);
    17. Culture.Normative.U(j) = spop(i).Cost;
    18. end
    19. end
    20. end
    21. Culture.Normative.Size = Culture.Normative.Max-Culture.Normative.Min;
    22. end

    function Culture = AdjustCulture(Culture, spop)
    n = numel(spop);
    nVar = numel(spop(1).Position);
    for i = 1:n
    if spop(i).Cost Culture.Situational = spop(i);
    end
    for j = 1:nVar
    if spop(i).Position(j) || spop(i).Cost Culture.Normative.Min(j) = spop(i).Position(j);
    Culture.Normative.L(j) = spop(i).Cost;
    end
    if spop(i).Position(j)>Culture.Normative.Max(j) ...
    || spop(i).Cost Culture.Normative.Max(j) = spop(i).Position(j);
    Culture.Normative.U(j) = spop(i).Cost;
    end
    end
    end
    Culture.Normative.Size = Culture.Normative.Max-Culture.Normative.Min;
    end

    function Culture = AdjustCulture(Culture, spop)
    n = numel(spop);
    nVar = numel(spop(1).Position);
    for i = 1:n
    if spop(i).Cost Culture.Situational = spop(i);
    end
    for j = 1:nVar
    if spop(i).Position(j) || spop(i).Cost Culture.Normative.Min(j) = spop(i).Position(j);
    Culture.Normative.L(j) = spop(i).Cost;
    end
    if spop(i).Position(j)>Culture.Normative.Max(j) ...
    || spop(i).Cost Culture.Normative.Max(j) = spop(i).Position(j);
    Culture.Normative.U(j) = spop(i).Cost;
    end
    end
    end
    Culture.Normative.Size = Culture.Normative.Max-Culture.Normative.Min;
    end

    function Culture = AdjustCulture(Culture, spop)
    n = numel(spop);
    nVar = numel(spop(1).Position);
    for i = 1:n
    if spop(i).Cost Culture.Situational = spop(i);
    end
    for j = 1:nVar
    if spop(i).Position(j) || spop(i).Cost Culture.Normative.Min(j) = spop(i).Position(j);
    Culture.Normative.L(j) = spop(i).Cost;
    end
    if spop(i).Position(j)>Culture.Normative.Max(j) ...
    || spop(i).Cost Culture.Normative.Max(j) = spop(i).Position(j);
    Culture.Normative.U(j) = spop(i).Cost;
    end
    end
    end
    Culture.Normative.Size = Culture.Normative.Max-Culture.Normative.Min;
    end

    function Culture = AdjustCulture(Culture, spop)
    n = numel(spop);
    nVar = numel(spop(1).Position);
    for i = 1:n
    if spop(i).Cost Culture.Situational = spop(i);
    end
    for j = 1:nVar
    if spop(i).Position(j) || spop(i).Cost Culture.Normative.Min(j) = spop(i).Position(j);
    Culture.Normative.L(j) = spop(i).Cost;
    end
    if spop(i).Position(j)>Culture.Normative.Max(j) ...
    || spop(i).Cost Culture.Normative.Max(j) = spop(i).Position(j);
    Culture.Normative.U(j) = spop(i).Cost;
    end
    end
    end
    Culture.Normative.Size = Culture.Normative.Max-Culture.Normative.Min;
    end 

     完整代码:基于文化算法优化的神经网络预测研究

    4 参考文献 

    [1]魏秀. 文化算法优化RBF神经网络及应用研究[D].太原理工大学,2011.

    5 Matlab代码实现

  • 相关阅读:
    Java访问控制修饰符详解(public、 private、protected 和 friendly)
    Docker Desktop 配置阿里云镜像加速
    卷积神经网络特征融合,两个神经网络同时训练
    ARM32开发--存储器介绍
    飞凌A40i全国产化核心板,照亮电力设备国产化之路
    认识端口号(netstat指令查看网络状态)
    Springboot+vue的医药管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
    Springboot自动装配源码及启动原理理解
    div+css网页html成品学生作业包含10个html页面——动漫主题海贼王
    (附源码)计算机毕业设计SSM基于的校园失物招领平台
  • 原文地址:https://blog.csdn.net/weixin_66436111/article/details/128110882