• 基于BP-Adaboost神经网络的高斯函数模型预测研究-含Matlab代码


    一、引言

    针对传统 BP 神经网络模型在预测精度方面的不足,将 Adaboost 算法融入传统 BP 神经网络模型,从而构建 BP-Adaboost 预测模型,可对任意模型(如交通流量)进行预测分析。

    二、 预测建模及原理

    2.1 BP 神经网络模型

    BP 神经网络模型是一种常用的神经网络模型,在模型结构上它一般分为三个部分,即输入层、隐含层和输出层,如图 1 所示。 在图 1 中,输入层对应的是数据的输入,也称为自变量,自变量经过隐含层的数据训练,在输出层输出所预测的结果,即输出层输出的是因变量。输入层节点数用 n 表示,隐含层节点数用l表示,同时输出层节点数用 m 表示, 则 BP 神经网络模型通过隐含层的非线性函数关系,建立了从输入层 n 到输出层 m 的函数关系。

    在这里插入图片描述

    图 1 BP 神经网络模型结构

    BP 神经网络模型原理的核心在于数据的训练过程,其主要步骤如下:

    步骤 1:初始化神经网络

    根据 BP 神经网络模型的输入与输出数据矩阵计算n、l 和 m 的值, 同时初始化各层神经元之间的连接权重系数 wij 和 wjk,隐含层与输出层的范围 a 和 b,同时,确定神经元学习激励函数等参数。

    步骤 2:确定隐含层输出

    应用公式(1)计算隐含层的输出:

    在这里插入图片描述

    其中,f 为激励函数。

    步骤 3:确定输出层输出

    应用公式(2)计算输出层输出的预测结果 Ok:

    在这里插入图片描述

    步骤 4:分析误差

    计算模型的预测误差如下:

    在这里插入图片描述

    其中,e表示预测误差,Y表示期望值,O 表示预测值。

    步骤 5:更新权重

    依据所计算的预测误差 e 的大小, 动态调节连接权重,计算公式如下:

    在这里插入图片描述

    其中,η表示学习速率。

    步骤 6:更新范围

    分别应用公式(5)和公式(6)更新,即:

    在这里插入图片描述

    步骤 7:输出最终预测结果

    若误差大于设定的误差范围,则返回步骤2,否则输出预测结果。

    2.2 BP-Adaboost 模型

    将 Adaboost 融入 BP 神经网络模型中,构建 BP-Adaboost 预测模型, 提高原有 BP 神经网络模型的预测精度。 Adaboost 算法本质上是一种迭代算法,它的迭代过程是:首先,应用次分层向量随机训练样本矩阵 ,并且确定训练因子。 然后,为迭代次数,并计算迭代解,同时根据迭代结果调整训练因子,增加其权重值,经过一系列的多次迭代,得到弱预测器函数,并将这些弱预测器函数进行整合,形成具备高精度特性的强预测函数。 这样,将 Adaboost 算法融入至 BP 神经网络模型中,得到的BP-Adaboost 预测模型结构如图 2 所示,在图 2 中,BP 神经网络模型是所构建 BP-Adaboost 预测模型的基础,而Adaboost 算法是其中的关键组成部分。

    在这里插入图片描述

    图2 BP-Adaboost 预测模型结构流程

    在图 2 中,Adaboost 迭代算法融入预测模型中的原理具体如下:

    步骤 1:选择样本矩阵以及初始化网络模型

    将样本矩阵分成 组,则训练因子为 ,同时确定相关参数。

    步骤 2:次分层向量的训练

    划分次分层向量,记为 ,经过训练计算出相应的误差率,计算公式为:

    在这里插入图片描述

    其中,g(t)表示预测结果,y表示期望结果。

    步骤3:调整测试数据权重

    通过下式计算误差率 的权重,如下:

    在这里插入图片描述
    步骤 4:调整因子

    调整因子的计算公式为:

    在这里插入图片描述

    步骤 5:形成强预测器函数

    经过 T 次迭代共产生 T 个次级向量 f(gt,at),将这些次级向量进行组合,以此形成强预测器函数 h(x):

    在这里插入图片描述

    三、模型预测结果对比

    3.1 数据模拟

    利用BP网络拟合非线性函数如下:

    在这里插入图片描述
    它表示一维高斯分布高斯分布(Gaussian distribution),又称正态分布(Normal distribution)。若随机变量x服从一个数学期望为μ、方差为σ^2 的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ= 0,σ=1时的正态分布是标准正态分布。

    在这里插入图片描述

    图3 一维高斯函数

    根据上述高斯函数得到该函数的2000组输入输出数据,从输入输出数据中随机选取1900组数据作为网络训练数据,用于网络训练。剩下的100组数据作为网络测试数据,用于测试网络的拟合性能。具体数据规划如下图所示:

    在这里插入图片描述

    图4 训练数据与测试数据划分

    3.2 预测结果对比

    从图5图6中可以看出,强预测器预测误差低于弱预测器预测误差,BP_ Adaboost强预测器预测算法取得了良好的效果。

    在这里插入图片描述

    图5 强预测与弱预测结果对比

    在这里插入图片描述

    图6 预测误差绝对值

    四、参考文献

    [1]李翔, 朱全银.Adaboost 算法改进 BP 神经网络预测研究[J].计算机工程与科学, 2013, 35(8):96-102

    五、Matlab代码获取

    上述Matlab代码获取,可私信博主。


    博主简介:研究方向涉及智能图像处理、深度学习等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


  • 相关阅读:
    《ClickHouse原理解析与应用实践》知识梳理
    ​力扣解法汇总792. 匹配子序列的单词数
    day51
    【华为OD机试python】数字涂色【2023 B卷|100分】
    【ArcGIS Pro二次开发】(72):PPT文件操作方法汇总
    C#中LINQtoSQL只能在.NetFramework下使用,不能在.net 的默认安装下使用
    CSS-06:多类名的使用场景
    Nginx反向代理和负载均衡
    SD3403/SS928 视频采集调试记录
    Only file and data URLs are supported by the default ESM loader
  • 原文地址:https://blog.csdn.net/m0_70745318/article/details/127858642