GRNN和PNN神经网络简介与MATLAB实践

本文介绍了GRNN(广义回归神经网络)和PNN(概率神经网络),两者与RBF神经网络类似。GRNN特点是快速且无需训练,适合曲线拟合。PNN则在第二层采用竞争层决定输出。通过MATLAB实例,文章展示了鸢尾花种类识别的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

GRNN(广义回归神经网络)

PNN(概率神经网络)

RBF、GRNN、PNN总结对比

MATLAB实例:鸢尾花种类识别


GRNN(广义回归神经网络)和PNN(概率神经网络),与RBF非常的相似,请先看上一篇博文《简单直白理解RBF神经网络及其MATLAB实例》,了解一下RBF的大致原理。本文介绍将类比RBF神经网络来介绍。

GRNN(广义回归神经网络)

我们先看上面的示意图。左边的部分(input层和径向基层)和RBF神经网络非常相似,都是比较输入和训练集的欧氏距离,经过RBF的激活函数得到一个输出(a1),然后进入右边的线性处理部分,做一个连接权值、线性方程组求解的过程。LW{2,1}也是一个确定的结果,用的是训练集的输出矩阵(T),再和输出a1做点乘(nprod)。

这么讲可能有点抽象。我们知道一般RBF函数,中间对称轴处x=0处对应的y=1,即如果横轴的值||dist||接近0时,输出为1。假设有个输入向量p非常接近于训练集样本中某个样本。则p产生的第一层的输出a1接近于1,由于第二层的权重LW{2,1}就是设为T(T是target,就是训练集的输出),则第二层的输出a2也会与等于1乘以T,就是T的值。

上述现象,可以在matlab中查看a1矩阵的值来帮助理解,我们会发现对角线的元素都是1:

为什么?因为p1作为测试样本时,和p1最接近;p2作为测试样本时,和p2最接近……每个样本作为测试样本输入时,总会和自己最接近,输出就会是1。

matlab中GRNN的函数是:net = newgrnn(P,T,spread),我们可以通过MATLAB的文档来学习一下GRNN的知识:

P

R-by-Q matrix of Q input vectors

T

S-by-Q matrix of Q target class vectors

spread

Spread of radial basis functions (default = 1.0)

如何调参数spread:The larger the spread, the smoother the function approximation. To fit data very closely, use a spread smaller than the typical distance between input vectors. To fit the dat

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值