ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:73.07KB ,
资源ID:4237625      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4237625.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版PNN神经网络聚类法.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版PNN神经网络聚类法.docx

1、完整版PNN神经网络聚类法PNN神经网络聚类法摘要近几年来,对于神经网络的研究越来越普遍,神经网络在我们社会生活中的作用也越来越不可替代,尤其在模式识别的领域里,更是有着举足轻重的作用。 酒是由多种成分按不同的比例构成的,兑酒时需要三种原料(X,Y,Z),现在已测出不同酒中三种原料的含量,本文正是基于PNN神经网络针对酒中X、Y、Z三种含量的不同来对酒进行识别分类。本文首先介绍了PNN神经网络的网络模型以及它对不同的模式进行分类判别的思想,然后针对本文的酒类判别的要求来构建PNN网络,并在Matlab中进行编程仿真,最后对所仿真的结果进行了分析比较,最后找出最优的模式分类。1概率神经网络 概率

2、神经网络(Probabilistic Neural Networks,PNN)是由D。 F。 Specht在1990年提出的.主要思想是用贝叶斯决策规则,即错误分类的期望风险最小,在多维输入空间内分离决策空间。它是一种基于统计原理的人工神经网络,它是以Parzen窗口函数为激活函数的一种前馈网络模型。PNN吸收了径向基神经网络与经典的概率密度估计原理的优点,与传统的前馈神经网络相比,在模式分类方面尤其具有较为显著的优势. 1。1网络模型PNN的结构如图1所示,共由四层组成。图1 概率神经网络结构 概率神经网络PNN是径向基网络的一个分支,是前馈网络的一种.它是一种有监督的网络的分类器,基于概率

3、统计思想,由Bayes分类规则构成,采用Parzen窗函数密度估计方法估算条件概率,进行分类模式识别.PNN的结构模型如图,共分四层:输入层、样本层(又称模式层)、求和层和决策层(又称竞争层输出层).对应网络输入X=x1,x2,xm,其输出为Y=y1,y2,yL,输入向量为m,待匹配的类别数为L。1.2分类思想在PNN的神经网络模型中,输入层中的神经元数目等于学习样本中输入向量的m,各神经元是简单的分布单元,直接将输入变量传递给样本层。样本层的节点数由输入样本和待匹配类别的乘积决定,为mL.样本层是将输入节点传来的输入进行加权求和,然后经过一个激活函数运算后,再传给求和层。这里激活函数采用高斯

4、函数,则输出为:式中为径向基函数的中心,表示特性函数第i个分量对弈的开关参数。些层中每个节点均为RBF的中心,采用的特性函数为径向基函数高斯函数,计算未知模式与标准模式间相似度.求和层各单元只与相应类别的模式单元相连,各单元只依据Parzen方法求和估计各类的概率,即其条件概率为:式中为类别,X为识别样本,为类别i的模式样本(在概率神经网络中做为权值),m为向量维数,为平滑参数,n为类i的模式样本数量.先验概率记为P(X).决策层节点数等于待匹配类别数,为L。根据各类对输入向量概率的估计,采用Bayes分类规则,选择出具有最小“风险的类别,即具有最大后验概率的类别,可用下式来表达其决策方法对所

5、有i则输出y(X)= 。与其它方法相比较,PNN不需进行多次充分的计算,就能稳定收敛于Bayes优化解。在训练模式样本一定的情况下,只需进行平滑因子的调节,网络收敛快.平滑因子值的大小决定了模式样本点之间的影响程度,关系到概率密度分布函数的变化.通常,网络只要求经验地给定一个平滑因子.1。3 PNN分类的优点PNN是一种可用于模式分类的人工神经网络,其实质是基于贝叶斯最小风险准则发展而来的一种并行算法,相比BP网络,其主要优点为:(1) 训练速度快;(2) 在足够训练样本下,总可以保证获得贝叶斯准则下的最优解;(3) 只考虑样本空间的概率特性,允许增加训练样本而无需重新进行长时间的训练。2 P

6、NN网络的构建2。1 构建步骤 第一步:采集数据;本文采集的是兑酒所需要的三种原料的数据。 第二步:训练网络;选取该厂的30个样本数据作为训练和测试的数据。以其中的20个数据作为训练样本,以1、2、3、4四类酒作为期望输出矢量.训练网络从而得到酒类识别的PNN网络模型。 第三步:进行网络性能测试;网络训练完成后,10个数据作为测试样本,进行网络性能检验。将各层神经元间的连接权值代回网络中,对训练样本进行回归模拟;当训练样本的期望值输出与PNN网络的仿真输出完全重合时,这说明网络已训练成功,可用来预测未知样本的类别。 第四步:利用已训练好的网络进行预测;利用已建好的PNN网络来对未知的20组样本

7、数据进行分类。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); %仿真Yc=vec2ind(Y); 转为类别向量输出网络训练结束后,输出层各节点和输入模式类的特定关系已确定,因此可用作模式分类器,当输入一个SPREAD值后,网络将对输入自动进行分类。3 Matlab编程及结果分析3。1 Matlab中的编程 前30组数据用来学习,利用训练好的PNN网络来对

8、后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。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。7

9、2 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 3077。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

10、。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; 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

11、 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.121243.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.3

12、9 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 1680.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(cloc

13、k,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) hold 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 仿真结

14、果分析在前面章节中我们已经提到,平滑因子N 的重要性,N的取值直接影响着我们最后的分类结果。下面是采用不同的平滑因子所的结果:当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 1data1和data2分别为PNN网络的训练时间和预测时间,yc是输出的酒的类别。从上面的仿真结果可以看出,该网络并没有输出我们所期望的结果,它把后20组数据都归成了一类,没有实现模式的识别。为了找出原因所在,以及检测我们所建的PNN网络是否正确,本文采用了如下方法:即用前30组数据用来学习

15、训练,同样也采用前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 through 29 4 1 3 3 1 3通过将上面结果与我们已知的数据相比较,可知此次的预测与所知的类别结果完全相吻合,这说明所构建的PNN网络是可信的,通过学习能正确地预测和判别。但是针对第一次不成功的仿真结果,说明有可能是我们所设的平滑因子不合理,N值过小,不能正确分类。下面我们将N值调大,看看结果

16、如何.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.98332011221724。131704.491798。7533232501.212652。65984。5622241656。941913.342459。073325362。513150.0324724426565.742284。973024.5811271978.061536。132375。6433281661.

17、061552.42005.053329790。292419。983051.1611301557.271746。271879.1333为了验证上面的输出结果是否准确,现在我们采用同样的平滑因子,用前20个样本来学习,第2130这10个样本作为测试,看输出的结果是否与我们所期望的结果一致。见表1所示,通过表1中网络的输出与期望的输出对比,我们可知两个结果完全一致,说明此次的平滑因子取值较为成功,并且可以判定该PNN网络具有很高的准确性。同样,通过上面验证我们可以判断出当N=50时对后20组数据的预测具有很高的准确性,下面我们可以通改变N 的大小进而来验证我们的推断是否正确。当N取100、150、2

18、00。、450时,PNN网络所输出的预测结果与上面的结果都是一致的,进而确保了此时的预测的正确性。当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=50时分类的结果图3 N=500时分类的结果通过与N=50时的结果对比,可知此时的输出中第1和第3类别的数量发生了改变.为了更清楚地对照两个输出结果,见三维图2和图3。从图3中,以及运行的结果中可以看出当N取不同的值时,结果已经发生了改变。从三维的效果图中可以看出当N=500时,本次聚类的效果并不是十分

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

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

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