pnn设计.pptx

上传人:b****1 文档编号:1385235 上传时间:2022-10-21 格式:PPTX 页数:20 大小:376.50KB
下载 相关 举报
pnn设计.pptx_第1页
第1页 / 共20页
pnn设计.pptx_第2页
第2页 / 共20页
pnn设计.pptx_第3页
第3页 / 共20页
pnn设计.pptx_第4页
第4页 / 共20页
pnn设计.pptx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

pnn设计.pptx

《pnn设计.pptx》由会员分享,可在线阅读,更多相关《pnn设计.pptx(20页珍藏版)》请在冰豆网上搜索。

pnn设计.pptx

主讲:

周润景教授单位:

电子信息工程学院,基于PNN的数据分类器设计,目录,概率神经网络简介基于PNN网络的聚类Matlab程序介绍及仿真结果结论,一.概率神经网络,概率神经网络(ProbabilisticNeuralNetwork,PNN)是D.F.Specht博士在1989年首先提出的,它是径向基函数(RadialBasisFunction,RBF)模型发展而来的一种前馈型神经网络,与传统的RBF不同,PNN是专门用于解决分类问题的人工神经网络。

其理论依据是贝叶斯最小风险准则(即Bayes决策理论),PNN将贝叶斯估计置于一个前馈神经网络中,其实质就是一个分类器,根据概率密度的无参数估计来进行Bayes决策从而得到分类结果,在分类和模式识别领域中被广泛应用。

网络模型,未知模式与标准模式间的相似度,求和估计各类的概率P(X|Ci),选出具有最大后验概率的类别,网络模型,输入层的传递函数是线性的,仅仅将输入样本完全不变的传递给模式层的各节点。

模式层与输入层之间通过连接权相连,进行加权求和,通过一个非线性算子运算后,传递给求和层。

求和层只是简单地将有对应样本中同一类的模式层传来的输入(属于某类的概率)进行累加,即得到输入样本属于该类的最大可能性。

第四层是竞争层,它接收从求和层输出的各类概率密函数,概率密度最大的那个神经元输出为1,即所对应的那一类即为待识别的样本模式类别,其他神经元的输出全为2,3,4。

PNN网络的优点,训练速度快,其训练时间仅仅略大于读取数据的时间;无论分类问题多么复杂,只要有足够训练样本,总可以保证获得贝叶斯准则下的最优解;允许增加或减少训练样本而无需重新进行长时间训练。

二.基于PNN网络的聚类设计,聚类步骤第一步:

采集数据第二步:

构建并训练网络;第三步:

对网络进行测试;第四步:

利用已经训练好的网络进行预测。

三.Matlab程序介绍及仿真结果,程序流程图:

Matlab中的主要代码,PNN工具箱函数及仿真函数介绍P=p1,p2,p3,p4,p5,p6,p7;%输入样本Tc%类别向量T=ind2vec(Tc);%转为目标分类向量;Net=newpnn(P,T,spread);%创建一个PNN网络Y=sim(net,P);%仿真Yc=vec2ind(Y);%转为类别向量输出,Matlab中的主要代码,输出数据分类的图形程序f1=ac;%ac为分类标号index1=find(f1=1);%输出第一类数据index2=find(f1=2);%输出第二类数据index3=find(f1=3);%输出第三类数据index4=find(f1=4);%输出第四类数据,Matlab中的主要代码,完整程序代码clear;clc;%网络训练样本pConvert=importdata(C:

UsersAdministratorDesktopRBFrbf_train_sample_data.dat);p=pConvert;%训练样本的目标矩阵t=importdata(C:

UsersAdministratorDesktopRBFrbf_train_target_data.dat);plot3(p(1,:

),p(2,:

),p(3,:

),o);grid;box;fori=1:

29,text(p(1,i),p(2,i),p(3,i),sprintf(%g,t(i),end%以图形方式输出训练样本点holdofff=t;index1=find(f=1);index2=find(f=2);,Matlab中的主要代码,index3=find(f=3);index4=find(f=4);line(p(1,index1),p(2,index1),p(3,index1),linestyle,none,marker,*,color,g);line(p(1,index2),p(2,index2),p(3,index2),linestyle,none,marker,*,color,r);line(p(1,index3),p(2,index3),p(3,index3),linestyle,none,marker,+,color,b);line(p(1,index4),p(2,index4),p(3,index4),linestyle,none,marker,+,color,y);box;gridon;holdon;axis(035000350003500);title(训练用样本及其类别);xlabel(A);ylabel(B);zlabel(C);pauset=ind2vec(t);spread=30;,Matlab中的主要代码,%PNN网络的创建和训练过程net=newpnn(p,t,spread);A=sim(net,p);Ac=vec2ind(A)plot3(p(1,:

),p(2,:

),p(3,:

),.),grid;box;axis(035000350003500)fori=1:

29,text(p(1,i),p(2,i),p(3,i),sprintf(%g,Ac(i),end%以图形方式输出训练结果holdofff=Ac;index1=find(f=1);index2=find(f=2);index3=find(f=3);index4=find(f=4);line(p(1,index1),p(2,index1),p(3,index1),linestyle,none,marker,*,color,g);line(p(1,index2),p(2,index2),p(3,index2),linestyle,none,marker,*,color,r);line(p(1,index3),p(2,index3),p(3,index3),linestyle,none,marker,+,color,b);line(p(1,index4),p(2,index4),p(3,index4),linestyle,none,marker,+,color,y);,Matlab中的主要代码,box;gridon;holdon;title(网络训练结果);xlabel(A);ylabel(B);zlabel(C);pause%对待分类样本进行分类pConvert=importdata(C:

UsersAdministratorDesktopRBFrbf_simulate_data.dat);p=pConvert;a=sim(net,p);ac=vec2ind(a),仿真结果,当训练数据为29组,测试数据为30组时的仿真图:

Spread=30时的分类结果,仿真结果,当训练数据为29组,测试数据为30组时的仿真图:

Spread=150时的分类结果,仿真结果,当训练数据为29组,测试数据为30组时MATLAB仿真结果:

Ac=1至29列11112222222333333334444444444ac=1至30列331342234133124243422331141333,仿真结果,以前14组数据作为训练样本,后45组数据作为测试样本,仿真结果如下:

Spread=40时的分类结果,仿真结果,以前14组数据作为训练样本,后45组数据作为测试样本,仿真结果如下:

Ac=34314132443442ac=1至27列23322332421344433134223433328至45列124243422331141333,四.总结,平滑因子spread的影响spread(平滑因子)的取值大小直接影响到最终的分类效果,所以选取合适的平滑因子在识别过程中显得尤为重要。

如果取值太大,密度估计比较平滑但细节丢失严重;取值太小,密度估计会呈现较多的尖峰突起。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1