您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > PNN神经网络聚类法
1目录摘要...............................................................................................................................11概率神经网络............................................................................................................11.1网络模型..........................................................................................................11.2分类思想..........................................................................................................21.3PNN分类的优点..............................................................................................32PNN网络的构建.......................................................................................................32.1构建步骤.........................................................................................................32.2Matlab中的主要代码....................................................................................43Matlab编程及结果分析............................................................................................43.1Matlab中的编程............................................................................................43.2仿真结果分析.................................................................................................73.3结论...............................................................................................................104总结.........................................................................................................................11参考文献.....................................................................................................................121PNN神经网络聚类法摘要近几年来,对于神经网络的研究越来越普遍,神经网络在我们社会生活中的作用也越来越不可替代,尤其在模式识别的领域里,更是有着举足轻重的作用。酒是由多种成分按不同的比例构成的,兑酒时需要三种原料(X,Y,Z),现在已测出不同酒中三种原料的含量,本文正是基于PNN神经网络针对酒中X、Y、Z三种含量的不同来对酒进行识别分类。本文首先介绍了PNN神经网络的网络模型以及它对不同的模式进行分类判别的思想,然后针对本文的酒类判别的要求来构建PNN网络,并在Matlab中进行编程仿真,最后对所仿真的结果进行了分析比较,最后找出最优的模式分类。1概率神经网络概率神经网络(ProbabilisticNeuralNetworks,PNN)是由D.F.Specht在1990年提出的。主要思想是用贝叶斯决策规则,即错误分类的期望风险最小,在多维输入空间内分离决策空间。它是一种基于统计原理的人工神经网络,它是以Parzen窗口函数为激活函数的一种前馈网络模型。PNN吸收了径向基神经网络与经典的概率密度估计原理的优点,与传统的前馈神经网络相比,在模式分类方面尤其具有较为显著的优势。1.1网络模型PNN的结构如图1所示,共由四层组成。图1概率神经网络结构2概率神经网络PNN是径向基网络的一个分支,是前馈网络的一种。它是一种有监督的网络的分类器,基于概率统计思想,由Bayes分类规则构成,采用Parzen窗函数密度估计方法估算条件概率,进行分类模式识别。PNN的结构模型如图,共分四层:输入层、样本层(又称模式层)、求和层和决策层(又称竞争层输出层)。对应网络输入X=[x1,x2,…xm]T,其输出为Y=[y1,y2,…,yL]T,输入向量为m,待匹配的类别数为L。1.2分类思想在PNN的神经网络模型中,输入层中的神经元数目等于学习样本中输入向量的m,各神经元是简单的分布单元,直接将输入变量传递给样本层。样本层的节点数由输入样本和待匹配类别的乘积决定,为m*L。样本层是将输入节点传来的输入进行加权求和,然后经过一个激活函数运算后,再传给求和层。这里激活函数采用高斯函数,则输出为:))2/||(||exp(22iiicx式中ic为径向基函数的中心,i表示特性函数第i个分量对弈的开关参数。些层中每个节点均为RBF的中心,采用的特性函数为径向基函数—高斯函数,计算未知模式与标准模式间相似度。求和层各单元只与相应类别的模式单元相连,各单元只依据Parzen方法求和估计各类的概率,即其条件概率为:niLTimmiXXXXnCXP122/]2)()(exp[1)2(1)|(式中iC为类别,X为识别样本,iX为类别i的模式样本(在概率神经网络中做为权值),m为向量维数,为平滑参数,n为类i的模式样本数量。先验概率记为P(X)。决策层节点数等于待匹配类别数,为L。根据各类对输入向量概率的估计,采用Bayes分类规则,选择出具有最小“风险”的类别,即具有最大后验概率的类别,可用下式来表达其决策方法对所有i,j3))(/()()|(jjiiCPCXPCPCXP则输出y(X)=iC。与其它方法相比较,PNN不需进行多次充分的计算,就能稳定收敛于Bayes优化解。在训练模式样本一定的情况下,只需进行平滑因子的调节,网络收敛快。平滑因子值的大小决定了模式样本点之间的影响程度,关系到概率密度分布函数的变化。通常,网络只要求经验地给定一个平滑因子。1.3PNN分类的优点PNN是一种可用于模式分类的人工神经网络,其实质是基于贝叶斯最小风险准则发展而来的一种并行算法,相比BP网络,其主要优点为:(1)训练速度快;(2)在足够训练样本下,总可以保证获得贝叶斯准则下的最优解;(3)只考虑样本空间的概率特性,允许增加训练样本而无需重新进行长时间的训练。2PNN网络的构建2.1构建步骤第一步:采集数据;本文采集的是兑酒所需要的三种原料的数据。第二步:训练网络;选取该厂的30个样本数据作为训练和测试的数据。以其中的20个数据作为训练样本,以1、2、3、4四类酒作为期望输出矢量。训练网络从而得到酒类识别的PNN网络模型。第三步:进行网络性能测试;网络训练完成后,10个数据作为测试样本,进行网络性能检验。将各层神经元间的连接权值代回网络中,对训练样本进行回归模拟;当训练样本的期望值输出与PNN网络的仿真输出完全重合时,这说明网络已训练成功,可用来预测未知样本的类别。第四步:利用已训练好的网络进行预测;利用已建好的PNN网络来对未知的20组样本数据进行分类。42.2Matlab中的主要代码用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值后,网络将对输入自动进行分类。3Matlab编程及结果分析3.1Matlab中的编程前30组数据用来学习,利用训练好的PNN网络来对后20组数据进行预测。Matlab中的源程序如下:clearall;P=[2232.433077.871298.871580.11752.072463.041962.41594.971835.951495.181957.443498.021125.171594.392937.7324.223447.312145.011269.071910.722701.971802.071725.811966.351817.361927.42328.791860.451782.881875.1351237.912055.133405.09688.942104.723198.511675.651747.231580.391806.021810.192191.1274.563288.022433.87307.353363.842021.611988.271657.512069.22173.922608.551803.57372.163077.442163.46576.62140.9833201724.131704.491798.752501.212652.65984.561656.941913.342459.07362.513150.032472565.742284.973024.581978.061536.132375.641661.061552.42005.05790.292419.983051.161557.271746.271879.13];P=P';C=[23311413331133443241323413313];T=ind2vec(C);%将类别向量C转换为目标向量Tt1=clock;%开始计时net=newpnn(P,T,50);%网络创建A=vec2ind(sim(net,P));datat1=etime(clock,t1)savenetpnnnet;clearall;loadnetpnnnet;6T1=[2793.363009.261073.551766.081803.141895.181207.881600.623123.07245.753373.672248.452785.363052.811035.65315.423088.292187.121243.282451.723111.99829.841555.913139.211347.072364.313096.881926.981507.341626.471808.571608.781565.951124.11840.982819.4126613302.391710.321805.551899.092400.61130.181902.422753.71355.191566.162927.811651.141774.031725.562110.633308.04702.062788.113395.231684.451807.6116
本文标题:PNN神经网络聚类法
链接地址:https://www.777doc.com/doc-4397967 .html