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

article/2025/9/29 1:16:09

一、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)预测结果。
  • 代码获取:点击跳转icon-default.png?t=N6B9https://kdocs.cn/l/cv16i3LNubfz
  • 三、Matlab仿真结果

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

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

  • (3)误差指标

  • 四、代码获取

  • 代码获取:点击跳转icon-default.png?t=N6B9https://kdocs.cn/l/cv16i3LNubfz
  • 五、结语

  • GRNN模型的性能取决于特征选择、距离度量以及模型参数等因素,因此需要进行适当的调整和优化。通过合理的数据处理、特征选择、距离度量和模型优化等方法,可以提高GRNN模型的预测准确性和泛化能力,从而更好地应用于回归预测问题。


http://chatgpt.dhexx.cn/article/5K5SHs2v.shtml

相关文章

广义回归神经网络(GRNN)的实现(Python,附源码及数据集)

文章目录 一、理论基础1、广义回归神经网络结构2、输入层3、模式层4、求和层5、输出层6、优化思路 二、广义回归神经网络的实现1、实现过程(GRNN.py)2、预测结果3、参考源码及实验数据集 一、理论基础 广义回归神经网络(Generalized Regress…

【机器学习】广义回归神经网络(GRNN)的python实现

【机器学习】广义回归神经网络(GRNN)的python实现 一、广义回归神经网络原理1.1、GRNN与PNN的关系2.2、GRNN的网络结构二、广义回归神经网络的优点与不足2.1、优点2.2、不足三、GRNN的python实现参考资料一、广义回归神经网络原理 1.1、GRNN与PNN的关系 广义回归神经网络(…

C++ Unique函数 详细

unique函数是STL中比较实用的函数之一 包含该函数的函数头文件为 #include <algorithm>2 unique函数可以删除有序数组中的重复元素。 注意&#xff1a; a 这里的删除不是真的delete&#xff0c;而是将重复的元素放到容器末尾 b unique函数的返回值是去重之后的尾地址 c…

c++的unique函数

unique是 c标准模板库STL中十分实用的函数之一&#xff0c;使用此函数需要 #include <algorithm> 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素&#xff0c;注意 (1) 这里的去除并非真正意义的erase&#xff0c;而是将重复的元素放到容器的末尾&…

SQL查询JSON格式的字段值 JSON_UNQUOTE与JSON_EXTRACT 去除SQL中双引号

一、最常用的就是 JSON_EXTRACT()函数&#xff0c;用于提取字段值 selectJSON_EXTRACT(a.info,"$.Score")fromjsontest awhereJSON_EXTRACT(a.info,"$.name") "Bob" 二、JSON_UNQUOTE 去除 SQL 中 " " ? MySQL自5.7之后开始支持js…

unique函数的用法

unique函数是用于将矩阵数据中的相同元素删除&#xff0c;只留下不相同的唯一元素。 1.例如: 得到的B矩阵为&#xff1a; 这个相对简单&#xff0c;但是有时需要将矩阵中的元素相同行的删除&#xff0c;也可以用到unique 2.当需要删除矩阵中的出现多次的行数组时 例如&#x…

c++ unique函数详解

unique是 c标准模板库STL中十分实用的函数之一&#xff0c;使用此函数需要#include <algorithm>头文件 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素 (1) 这里的去除并非真正意义的erase&#xff0c;而是将重复的元素放到容器的末尾&#xff0c;返回值…

unique函数用法

unique函数用法 unique包含在头文件 #include <algorithm>函数作用&#xff1a;“去除”容器或数组中相邻元素之间重复出现的元素 unique函数的三个参数&#xff1a; 1、想要去重的数据集的起始地址 2、想要去重的最后一个元素的下一个元素的地址 3、比较函数(可以省…

MySQL JSON_EXTRACT()、JSON_UNQUOTE() 函数获取JSON串的值

JSON_EXTRACT()函数作用是读取数据库储存的json值&#xff0c;已key、value的形式获取某个键值 如果json字符串是对象{Object} 1&#xff1a;第一个参数为需要查询的json字段 2&#xff1a;第二个参数为json里需要获取的键名 $.key 如果json字符串是数组[Array] 1&#xff1a;…

c++ unique函数

unique函数属于STL中比较常用函数&#xff0c;它的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。此处的删除&#xff0c;并不是真的删除&#xff0c;而是指重复元素的位置被不重复的元素给占领了(详细情况&#xff0c;下面会讲)。由于它”删除”的是相邻的…

ubuntu启动后一直黑屏

好奇怪的一件事&#xff0c;昨晚使用完ubuntu后&#xff0c;和往常一样拍了快照&#xff0c;但今天打开后就一直黑屏&#xff0c;就突然的有了自己的思想&#xff0c;任我重启电脑都没有任何用处 我采用的方法 徽标cmd回车&#xff0c;输入如下命令,然后重启电脑 netsh winsoc…

ubuntu虚拟机开机黑屏系列解决办法

ubuntu虚拟机开机黑屏系列解决办法 前记解决方法方法一&#xff1a;方法二&#xff1a;方法三&#xff1a;方法四&#xff1a;方法五&#xff1a;方法六&#xff1a; 后记 前记 ubuntu虚拟机玩的好好的&#xff0c;突然不知怎么着图形界面就卡住了&#xff0c;等待了好一会也不…

记录ubuntu启动黑屏,仅有左上角光标闪烁的解决过程

去年装完显卡驱动后有重启黑屏的经历&#xff0c;所以后来一直没敢装显卡驱动&#xff0c;前段时间需要用显卡驱动跑程序&#xff0c;又装了一次&#xff0c;果不其然黑屏了。 nvidia-smi 是可以显示出显卡信息的&#xff0c;这说明显卡驱动是装上了。 1.首先是试了18 20 22的…

ubuntu虚拟机启动失败黑屏解决方案及原因

背景介绍 某天某个时辰,手残的我想打开VMWare里面的ubuntu虚拟机跑跑Kubernetes突然发现ubuntu虚拟机黑屏无法启动,只有一个光标在闪烁,图形界面就再也打不开了 原因 进入高级模式后发现磁盘占用满了,清除一些文件后ubuntu虚拟机正常启动 解决方案 进入grub模式 一旦启动后…

Ubuntu18的bug导致系统启动后黑屏的问题

这是我在使用Ubuntu18时遇到的问题&#xff0c;文章包含遇到黑屏时的各种原因及解决方法&#xff08;或链接&#xff09;&#xff0c;如果是您在使用Ubuntu18时遇到此问题&#xff0c;建议直接跳转到解决方法处。 问题背景 使用系统 Ubuntu 18.04.1 LTS&#xff08;可以通过…

Ubuntu16.04开机后黑屏无法进入系统登陆界面

之前在写小论文&#xff0c;接近一个月没有用Ubuntu&#xff0c;结果想要切换到Linux下使用Hadoop的时候&#xff0c;在grub界面选择第一项Ubuntu却迟迟无法进入登陆界面&#xff0c;一直卡在原地&#xff0c;特征为长久黑屏/紫屏无响应&#xff0c;无法按ctrlaltF1进入命令行以…

ubuntu启动失败黑屏解决方案

现象 启动直接进入黑屏,左上角有光标但不闪烁,ctrl+alt+fx也无法进入命令行界面 异常前操作 在有程序安装过程中直接reboot,接着就一直如此 最终解决 尝试了很多网上的方法,包括进入grub后按e改磁盘ro为rw啊,进入recovery模式该grub配置啊等等都无效,后来发现这种操…

Ubuntu 20.04 - 21.10进入桌面后黑屏的解决思路+经验总结

引言 之前用Ubuntu 20.04 时候三天两头喜欢折腾功能&#xff0c;每次一折腾完Linux就喜欢要么这里要么哪里撂挑子&#xff0c;进入系统后黑屏就是其中最大的一个问题。 回想刚开始用Linux的小白时期&#xff0c;第一次遇到进入系统后黑屏的时候&#xff0c;虽然之前就听说过桌…

Ubuntu20.04 启动卡在黑屏的解决方法

最近在VM中新安装了Ubuntu20.04&#xff0c;悲催的是启动后一直卡在黑屏&#xff1b;在坑里爬了几天后&#xff0c;终于出坑&#xff1b; 以下是整理的实际操作步骤&#xff0c;希望若有入坑的尽快出坑&#xff1b; 1、启动虚拟机时&#xff0c;进入Grub画面选择相应内核启动…

ubuntu 开机黑屏 解决方案 之一(filesystem readonly)

起因 &#xff1a; 由于本人有不关机的习惯&#xff0c;最近几次早上到公司工作&#xff0c;发现电脑都处于假死状态&#xff0c;显示屏永远处于屏保画面。只好重新启动&#xff0c;但是启动之后 电脑就黑屏&#xff0c;彻彻底底的黑屏&#xff0c;什么都看不到。 解决方案&…