基于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论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研中心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值