广义回归神经网络GRNN回归预测-MATLAB代码实现

一、GRNN简介(代码获取:底部公众号)

广义回归神经网络(General Regression Neural Network, GRNN)是1991年提出的基于径向基函数(Radial Basis Fuction,RBF)网络的一种改进形式,与径向基函数网络相比,其训练更为方便。GRNN的基本思想是通过计算输入数据点与已知数据点之间的距离来确定输出。该模型的输入是一组特征向量,输出是对应的目标值。GRNN模型的训练不需要迭代,因此具有快速的训练速度和良好的泛化能力,尤其适用于小样本回归问题。GRNN具有很强的学习速度、良好的非线性逼近能力、鲁棒性和容错能力,常用于回归分析、函数逼近和时间序列预测等任务。

GRNN网路结构如图所示,包括四层:输入层、模式层、求和层和输出层。

(1)输入层:输入层是GRNN网络的第一层,负责接收输入数据,并将数据传递给模式层。输入层的节点数等于输入数据的特征数,每个节点对应于输入数据中的一个特征,输入层的节点不做任何处理,只将原始的输入数据传递给模式层。

(2)模式层:模式层是GRNN网络的第二层,其节点数量通常等于训练数据集的样本数量,模式层的每个神经元节点都代表一个训练数据集中的样本,并将输入数据与该样本之间的距离作为输入。模式层计算输入向量与每个样本之间的欧式距离,并将距离作为下一层求和层的输入。

(3)求和层:求和层是GRNN网络的第三层,求和层的作用是将模式层传递过来的距离进行权重计算,并计算加权平均值,权重计算是通过对距离进行高斯函数变换实现的,求和层的输入是模式层传递过来的距离向量,每个距离向量通过高斯函数进行变换,变换后的值作为权重,最后将所有权重与模式层的输出进行加权平均,得到GRNN的输出值。

(4)输出层:输出层是GRNN网络的最后一层,其节点数量等于输出数据的维数,输出层的每个节点对应于一个输出数据的维度,负责将求和层的输出值进行转换并输出。

二、GRNN预测流程

GRNN进行回归预测的原理是基于距离加权的神经网络,通过构建模式层对输入数据进行聚类,使用高斯函数计算输入数据与每个训练样本之间的权重,将每个训练样本的输出值乘以其对应的权重,然后将所有结果相加,最终得到的输出值是所有结果的加权平均值,基于此实现对未知数据的回归预测。GRNN预测流程为:

  • (1)数据预处理;
  • (2)确定模式层;
  • (3)计算输入数据与模式层节点之间的距离;
  • (4)对距离进行高斯函数变换;
  • (5)计算加权平均值;
  • (6)预测结果。
  • 三、Matlab仿真结果

  • (1)预测结果对比与预测误差图

  • (2)回归拟合图和误差直方图

  • (3)误差指标

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Matlab神经网络深度学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值