收藏 分销(赏)

PNN神经网络聚类法.doc

上传人:快乐****生活 文档编号:2565529 上传时间:2024-06-01 格式:DOC 页数:16 大小:105.04KB
下载 相关 举报
PNN神经网络聚类法.doc_第1页
第1页 / 共16页
PNN神经网络聚类法.doc_第2页
第2页 / 共16页
PNN神经网络聚类法.doc_第3页
第3页 / 共16页
PNN神经网络聚类法.doc_第4页
第4页 / 共16页
PNN神经网络聚类法.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、(完整版)PNN神经网络聚类法目 录摘要11概率神经网络11。1网络模型21.2分类思想21。3 PNN分类的优点32 PNN网络的构建42.1 构建步骤42.2 Matlab中的主要代码43 Matlab编程及结果分析53。1 Matlab中的编程53.2 仿真结果分析83。3 结论114 总结11参考文献1213PNN神经网络聚类法摘要近几年来,对于神经网络的研究越来越普遍,神经网络在我们社会生活中的作用也越来越不可替代,尤其在模式识别的领域里,更是有着举足轻重的作用。 酒是由多种成分按不同的比例构成的,兑酒时需要三种原料(X,Y,Z),现在已测出不同酒中三种原料的含量,本文正是基于PNN

2、神经网络针对酒中X、Y、Z三种含量的不同来对酒进行识别分类。本文首先介绍了PNN神经网络的网络模型以及它对不同的模式进行分类判别的思想,然后针对本文的酒类判别的要求来构建PNN网络,并在Matlab中进行编程仿真,最后对所仿真的结果进行了分析比较,最后找出最优的模式分类。1概率神经网络 概率神经网络(Probabilistic Neural Networks,PNN)是由D。 F。 Specht在1990年提出的.主要思想是用贝叶斯决策规则,即错误分类的期望风险最小,在多维输入空间内分离决策空间。它是一种基于统计原理的人工神经网络,它是以Parzen窗口函数为激活函数的一种前馈网络模型。PNN

3、吸收了径向基神经网络与经典的概率密度估计原理的优点,与传统的前馈神经网络相比,在模式分类方面尤其具有较为显著的优势. 1。1网络模型PNN的结构如图1所示,共由四层组成。图1 概率神经网络结构 概率神经网络PNN是径向基网络的一个分支,是前馈网络的一种.它是一种有监督的网络的分类器,基于概率统计思想,由Bayes分类规则构成,采用Parzen窗函数密度估计方法估算条件概率,进行分类模式识别.PNN的结构模型如图,共分四层:输入层、样本层(又称模式层)、求和层和决策层(又称竞争层输出层).对应网络输入X=x1,x2,xm,其输出为Y=y1,y2,yL,输入向量为m,待匹配的类别数为L。1.2分类

4、思想在PNN的神经网络模型中,输入层中的神经元数目等于学习样本中输入向量的m,各神经元是简单的分布单元,直接将输入变量传递给样本层。样本层的节点数由输入样本和待匹配类别的乘积决定,为mL.样本层是将输入节点传来的输入进行加权求和,然后经过一个激活函数运算后,再传给求和层。这里激活函数采用高斯函数,则输出为:式中为径向基函数的中心,表示特性函数第i个分量对弈的开关参数。些层中每个节点均为RBF的中心,采用的特性函数为径向基函数高斯函数,计算未知模式与标准模式间相似度.求和层各单元只与相应类别的模式单元相连,各单元只依据Parzen方法求和估计各类的概率,即其条件概率为:式中为类别,X为识别样本,

5、为类别i的模式样本(在概率神经网络中做为权值),m为向量维数,为平滑参数,n为类i的模式样本数量.先验概率记为P(X).决策层节点数等于待匹配类别数,为L。根据各类对输入向量概率的估计,采用Bayes分类规则,选择出具有最小“风险的类别,即具有最大后验概率的类别,可用下式来表达其决策方法对所有i则输出y(X)= 。与其它方法相比较,PNN不需进行多次充分的计算,就能稳定收敛于Bayes优化解。在训练模式样本一定的情况下,只需进行平滑因子的调节,网络收敛快.平滑因子值的大小决定了模式样本点之间的影响程度,关系到概率密度分布函数的变化.通常,网络只要求经验地给定一个平滑因子.1。3 PNN分类的优

6、点PNN是一种可用于模式分类的人工神经网络,其实质是基于贝叶斯最小风险准则发展而来的一种并行算法,相比BP网络,其主要优点为:(1) 训练速度快;(2) 在足够训练样本下,总可以保证获得贝叶斯准则下的最优解;(3) 只考虑样本空间的概率特性,允许增加训练样本而无需重新进行长时间的训练。2 PNN网络的构建2。1 构建步骤 第一步:采集数据;本文采集的是兑酒所需要的三种原料的数据。 第二步:训练网络;选取该厂的30个样本数据作为训练和测试的数据。以其中的20个数据作为训练样本,以1、2、3、4四类酒作为期望输出矢量.训练网络从而得到酒类识别的PNN网络模型。 第三步:进行网络性能测试;网络训练完

7、成后,10个数据作为测试样本,进行网络性能检验。将各层神经元间的连接权值代回网络中,对训练样本进行回归模拟;当训练样本的期望值输出与PNN网络的仿真输出完全重合时,这说明网络已训练成功,可用来预测未知样本的类别。 第四步:利用已训练好的网络进行预测;利用已建好的PNN网络来对未知的20组样本数据进行分类。2.2 Matlab中的主要代码用Matlab实现过程的主要源代码如下:P=p1,p2,p3,p4,p5,p6,p7; %输入样本Tc 类别向量T=ind2vec(Tc); 转为目标分类向量;Net=newpnn(P,T,N); 创建一个PNN, SPREAD=NY=sim(net,P); %

8、仿真Yc=vec2ind(Y); 转为类别向量输出网络训练结束后,输出层各节点和输入模式类的特定关系已确定,因此可用作模式分类器,当输入一个SPREAD值后,网络将对输入自动进行分类。3 Matlab编程及结果分析3。1 Matlab中的编程 前30组数据用来学习,利用训练好的PNN网络来对后20组数据进行预测。Matlab中的源程序如下:clear all; P= 2232.43 3077。87 1298.871580。1 1752.07 2463.041962。4 1594.97 1835.951495.18 1957。44 3498.021125。17 1594。39 2937.7324

9、。22 3447.31 2145。011269。07 1910。72 2701.971802.07 1725。81 1966。351817。36 1927.4 2328。791860。45 1782。88 1875。131237。91 2055.13 3405.09688。94 2104。72 3198.511675。65 1747。23 1580。391806.02 1810。19 2191。12 74.56 3288。02 2433。87307.35 3363。84 2021.61 1988.27 1657.51 2069。2 2173。92 2608.55 1803。57372。16 3

10、077。44 2163。46576.6 2140.98 3320 1724。13 1704.49 1798。752501。21 2652.65 984。561656.94 1913.34 2459.07362。51 3150.03 2472565。74 2284。97 3024.581978。06 1536.13 2375.64 1661。06 1552.4 2005.05790。29 2419。98 3051。161557.27 1746.27 1879。13; P=P; C=2 3 3 1 1 4 1 3 3 3 1 1 3 3 4 4 3 2 4 1 3 2 3 4 1 3 3 1 3;

11、 T=ind2vec(C);将类别向量 C 转换为目标向量 T t1=clock;开始计时 net=newpnn(P,T,50);网络创建 A=vec2ind(sim(net,P);datat1=etime(clock,t1) save netpnn net; clear all; load netpnn net; T1= 2793.36 3009。26 1073。551766。08 1803。14 1895.181207.88 1600。62 3123。07245.75 3373.67 2248.452785.36 3052。81 1035.65315。42 3088.29 2187.121

12、243.28 2451。72 3111。99829。84 1555。91 3139。211347。07 2364。31 3096.881926.98 1507。34 1626.471808。57 1608.78 1565.951124。1 1840。98 2819.412661 3302.39 1710.321805.55 1899。09 2400。61130.18 1902.42 2753。71355。19 1566.16 2927。811651。14 1774.03 1725.562110。63 3308。04 702.062788。11 3395.23 1684.451807。61 16

13、80.56 2356.651363。58 1729.44 2749。551992.42 1526。9 1581。42; T1=T1; t2=clock; y=sim(net,T1); yc=vec2ind(y); B=vec2ind(sim(net,T1);datat2=etime(clock,t2) yccolr=zeros(4,3); for i=1:4 colr(i,:)=rand(1,3); end for i=1:4 a=find(yc=i) p=plot3(T1(1,a),T1(2,a),T1(3,a),); axis(200 3200 1200 3500 1000 3200) h

14、old on; grid on; box; set(p,Color,colr(i,:); end for i=1:4,text(T1(1,i)+0。1,T1(2,i),T1(3,i),sprintf(g,yc(i),end title(Testing the network.)3.2 仿真结果分析在前面章节中我们已经提到,平滑因子N 的重要性,N的取值直接影响着我们最后的分类结果。下面是采用不同的平滑因子所的结果:u 当N=1时,仿真结果如下:datat1 = 1.3590datat2 = 0.4840yc = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

15、 1data1和data2分别为PNN网络的训练时间和预测时间,yc是输出的酒的类别。从上面的仿真结果可以看出,该网络并没有输出我们所期望的结果,它把后20组数据都归成了一类,没有实现模式的识别。为了找出原因所在,以及检测我们所建的PNN网络是否正确,本文采用了如下方法:即用前30组数据用来学习训练,同样也采用前30个样本来进行模式的分类与判别,仿真结果如下:datat1 = 2.9530datat2 = 0.3750yc = Columns 1 through 23 2 3 3 1 1 4 1 3 3 3 1 1 3 3 4 4 3 2 4 1 3 2 3 Columns 24 throug

16、h 29 4 1 3 3 1 3通过将上面结果与我们已知的数据相比较,可知此次的预测与所知的类别结果完全相吻合,这说明所构建的PNN网络是可信的,通过学习能正确地预测和判别。但是针对第一次不成功的仿真结果,说明有可能是我们所设的平滑因子不合理,N值过小,不能正确分类。下面我们将N值调大,看看结果如何.u N=50时,仿真结果如下:datat1 = 0。3530datat2 = 0。5220yc = 2 3 1 4 2 4 1 1 1 3 3 1 2 3 1 1 3 2 2 3 1 3表1 测试样本与期望输出对比表样本号数据一数据二数据三网络输出期望输出21576。62140.983320112

17、21724。131704.491798。7533232501.212652。65984。5622241656。941913.342459。073325362。513150.0324724426565.742284。973024.5811271978.061536。132375。6433281661.061552.42005.053329790。292419。983051.1611301557.271746。271879.1333为了验证上面的输出结果是否准确,现在我们采用同样的平滑因子,用前20个样本来学习,第2130这10个样本作为测试,看输出的结果是否与我们所期望的结果一致。见表1所示,通

18、过表1中网络的输出与期望的输出对比,我们可知两个结果完全一致,说明此次的平滑因子取值较为成功,并且可以判定该PNN网络具有很高的准确性。同样,通过上面验证我们可以判断出当N=50时对后20组数据的预测具有很高的准确性,下面我们可以通改变N 的大小进而来验证我们的推断是否正确。当N取100、150、200。、450时,PNN网络所输出的预测结果与上面的结果都是一致的,进而确保了此时的预测的正确性。u 当N=500时,仿真的结果如下: datat1 = 1。4370datat2=0。4380 yc = 2 3 1 4 2 4 1 1 1 3 3 1 2 3 1 1 3 2 2 3 3 3图2 N=

19、50时分类的结果图3 N=500时分类的结果通过与N=50时的结果对比,可知此时的输出中第1和第3类别的数量发生了改变.为了更清楚地对照两个输出结果,见三维图2和图3。从图3中,以及运行的结果中可以看出当N取不同的值时,结果已经发生了改变。从三维的效果图中可以看出当N=500时,本次聚类的效果并不是十分理想,出现了边缘点.所以当N取500时,平滑因子过大,出现了逼近误差.3。3 结论在实际的模式识别中,N(平滑因子)的取值大小直接影响到最终的分类效果,所以选取合适的平滑因子在识别过程中显得尤为重要.如果取值太大,密度估计比较平滑但细节丢失严重;取值太小,密度估计会呈现较多的尖峰突起。常用的平滑

20、因子选取方法大多为在数据样本究竟上取一个合适的固定值.4 总结本文针对概率神经网络在模式分类方面的显著特点,提出利用PNN模型进行酒类识别。经过网络模型的回判模拟与网络性能的测试及其实际识别结果来看,PNN模型进行识别是行之有效的。从PNN网络的构建、训练、测试以及对最后的未知样本进行预测等,都可以看出网络的训练时间短,效率高,并且准确性也非常值得肯定,所以在模式识别领域里,PNN神经网络的确有着很大的优越性。参考文献1 边肇祺、张学工.模式识别(第二版)。清华大学出版社2 袁曾任.人工神经元网络及其应用M。北京:清华大学出版3 江东,王建华.人工神经网络在遥感中的应用与发展J。国土资源遥感, 1999(2): 12-18。4 段磊,马义德,许勇,韩明秋。一种改进的基于小波变换与 PNN 的指纹识别算法。自动化技术与应用,2005 年,24(6):1215。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服