广义回归神经网络(GRNN)

一、简介

广义回归神经网络 (General Regression Neural Network , GRNN ) 的概念是由德

国科学家多纳德提出的,是径向基网络的其中一种 。因为其是以数理统计为基

础的,因此 GRNN 可以依据样本数据逼近其中包含的非线性映射关系。即使样本

数量较小,它也可以收敛于最优解。 GRNN 与 BP 网络相比,最大的优点就是在建

模时只需考虑平滑因子这一个变量即可,可以省略许多优化步骤。这样的好处

在于可以大大减少人为因素对测量精度造成的影响。

GRNN作为径向基神经网络的一种,无需训练过程,通过优化平滑因子来提升预测性能。正是看中了只需考虑一个变量,且精度较高,故有兴趣研究一下。

二、网络结构

广义回归神经网络是一种具有较好的非线性逼近能力的四层前向传播神经网络,它属于径向基神经网络的一种变形形式,数据输入网络后依次经过输入层、模式层、求和层、输出层后得到输出结果,与反向传播神经网络(BPNN)不通的是该网络没有训练过程,主要通过对模式层的平滑因子进行优化来获得好的输出结果。

可以用如下图解来解释一下工作原理:

不同于 BP 神经网络的三层拓扑结构, GRNN 是由四层结构组成的,它们分别

输入层 (input layer) ,模式层 (pattern layer) ,求和层 (summation layer) ,输出层 (output
layer)
。其结构图如上图所示。其中, X 1 ~X N 表示 GRNN 的输入, Y 1 ~Y K 表示其相

对应的输出。

(1) 输入层**(input layer)**

输入层节点数与输入向量的维数相等,各个节点直接将输入样本传输到模式层中。

(2) 模式层

模式节点数与输入层节点数相同,都为N。模式层的传递函数为径向基函数,表示为:

其中输入向量表示为 X 。为高斯函数的宽度系数,在广义回归神经网络中,称之为平滑因子。

(3) 求和层

求和层中使用两种类型的求和函数对模式层的输出进行求和。第一类计算表达式式为:

它表示为模式层中所有的输出的和,其中模式层节点与求和层节点之间的连接权值为 1 ,传递函数可表示为:

第二类计算表达式为:

它表示为预期的输出样本与模式层节点的输出的加权和,其中模式层节点与求和层节点之间的连接权值为预期的输出数据,即第 i 个输出样本 Y i 中的第 j 个元素。传递函数可以表示为:

(4) 输出层

输出层节点数与输出向量的维数相等。第二类求和层的输出与第一类求和层的输出相除得到输出层的输出值,即:

三、理论基础

GRNN 的测量结果与学习样本与平滑因子有关。当平滑因子过大时,将会导致测量结果趋于样本数据的均值;相反的,平滑因子过小则会导致测量结果接近训练样本值,从而使神经网络的泛化性能变差,造成测量结果变差。因此,在测量之前需要给 GRNN 选择最佳平滑因子,这样可以使得测量效果最佳。具体公式计算由于较为复杂,这里便不再给出。

四、GRNN的优缺点

优点: 没有模型参数需要训练, 只调节 Spread 即可, 收敛速度快; 以径向基网络为基础, 具有良好的非线性逼近性能。

缺点: 计算复杂度高, 每个测试样本要与全部的训练样本进行计算; 空间复杂度高, 因为没有模型参数, 对于测试样本全部的训练样本都要参与计算, 因此需要存储全部的训练样本。

参考文献:

1\]郭栋.光学微腔中光热振荡的传感研究\[D\].浙江工业大学,2019.DOI:10.27463/d.cnki.gzgyu.2019.000101. \[2\]https://blog.csdn.net/weixin_42051846/article/details/128765413

相关推荐
vocal8 分钟前
谷歌第七版Prompt Engineering—第一部分
人工智能
MonkeyKing_sunyuhua8 分钟前
5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架
人工智能·microsoft·agent
arbboter16 分钟前
【AI插件开发】Notepad++ AI插件开发1.0发布和使用说明
人工智能·大模型·notepad++·ai助手·ai插件·aicoder·notepad++插件开发
BB_CC_DD17 分钟前
四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)
深度学习·算法·聚类
IT_Octopus29 分钟前
AI工程pytorch小白TorchServe部署模型服务
人工智能·pytorch·python
果冻人工智能33 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能
暴龙胡乱写博客39 分钟前
OpenCV---图像预处理(四)
人工智能·opencv·计算机视觉
程序员辣条1 小时前
深度测评 RAG 应用评估框架:指标最全面的 RAGas
人工智能·程序员
curdcv_po1 小时前
字节跳动Trae:一款革命性的免费AI编程工具完全评测
人工智能·trae
程序员辣条1 小时前
为什么需要提示词工程?什么是提示词工程(prompt engineering)?为什么需要提示词工程?收藏我这一篇就够了!
人工智能·程序员·产品经理