各种神经网络-快速入门

【示例】matlab工具箱-概率神经网络(newpnn)-示例与说明

作者 : 老饼 发表日期 : 2022-06-09 15:09:44 更新日期 : 2025-05-31 00:39:33
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



概率神经网络(Probabilistic Neural Network,PNN)由D.F.Speeht在1989年提出,属于一种径向基网络

在matlab中可以用newpnn来构建一个概率神经网络,本文讲解newpnn函数的使用方法

通过本文,可以了解如何使用newpnn函数构建概率神经网络,以及newpnn函数的入参说明和使用方法





   01. PNN-简单Demo    




本节展示在matlab中用newpnn函数构建概率神经网络的简单DEMO




     newpnn-简单使用Demo   


在matlab中可以使用newpnn来构建一个概率神经网络PNN
 下面是newpnn的一个简单使用示例:
% 训练数据
P = [1 2 3 4 5 6 7];   % 输入数据
Tc = [1 2 3 2 2 3 1];  % 输出数据:类别编号
T = ind2vec(Tc);       % 将类标转换为onehot编码格式

%设计一个PNN神经网络,并测试
net = newpnn(P,T);     % 生成一个概率神经网络
Y = sim(net,P)         % 用网络进行预测
Yc = vec2ind(Y)        % 将预测结果转为类别编号 
概率神经网络PNN与广义神经网络GRNN类似,但概率神经网络仅用于模式识别(分类)







   02. PNN-工具箱说明    





本节基于matlab给出的doc newpnn 文档,讲解newpnn的使用方法





语法:


net = newpnn(P,T,spread)



说明:


概率神经网络(PNN)是一种径向基神经网络,适用于解决分类问题。
net = newpnn(P,T,spread) 需要2或3个入参。返回一个新的概率神经网络



入参说明:


P: R行Q列的输入矩阵,R个输入变量,Q个样本。
T: S行Q列的目标输出矩阵,S个输出变量,Q个样本。
spread :径向基函数的扩展系数(默认=1.0)
如果spread 近似于0,那么网络的表现为一个最邻近分类器。
随着spread 变大,网络会考虑几个邻近的样本
 
If spread is near zero, the network acts as a nearest neighbor classifier.
 As spread becomes larger, the designed network takes into account several nearby design vectors.








   03. PNN的构建算法说明   





本节简单介绍PNN的构建算法原理和预测时的计算逻辑





    PNN的构建算法说明    


newpnn是不需要训练的,
因为它实际是用训练样本来估算新本,
因此,只要把训练样本存到网络中即可
 
 
PNN神经网络的构建
 
它的输入层-隐层的权重W21,存的就是训练样本的输入                    
 它的隐层阈值B2,存的是由参数spread生成的控制径向基肥瘦的参数
 它的隐层-输出层W32,存的则是训练数据的输出                              
✍️备注:概率神经网络的输出层没阈值
 PNN神经网络的预测
 
预测时,
1. 先计算隐节点值激活值(hide active)

 

2. 利用隐节点值计算输出值                     

 






好了,以上就是matlab中构建广义回归神经网络的newpnn函数的使用说明了~









  End  






图标 评论
添加评论