PNN(模式识别)题稿.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概率神经网络 概率神经网络(Probabilistic Neural Networks,PNN)是由D. F. Specht在1990年提出的。主要思想是用贝叶斯决策规则,即错误分类的期望风险最小,在多维输入空间内分离决策空间。它是一种基于统计原理的人工神经网络,它是以Parzen窗口函数为激活函数的一种前馈网络模型。PNN吸收了径向基神经网络与经典的概率密度估计原理的优点,与传统的前馈神经网络相比,在模式分类方面尤其具有较为显著的优势。 PNN的结构如图所示,共由四层组成,以3类为例,同时设特征向量维数为3。 每层的介绍如下: 在PNN的神经网络模型中,输入层中的神经元数目等于学习样本中输入向量的m,各神经元是简单的分布单元,直接将输入变量传递给样本层。 样本层的节点数由输入样本和待匹配类别的乘积决定,为m*L。样本层是将输入节点传来的输入进行加权求和,然后经过一个激活函数运算后,再传给求和层。这里激活函数采用高斯函数,则输出为: 式中为径向基函数的中心,表示特性函数第i个分量对弈的开关参数。些层中每个节点均为RBF的中心,采用的特性函数为径向基函数—高斯函数,计算未知模式与标准模式间相似度。 求和层各单元只与相应类别的模式单元相连,各单元只依据Parzen方法求和估计各类的概率,即其条件概率为: 式中为类别,X为识别样本,为类别i的模式样本(在概率神经网络中做为权值),m为向量维数,为平滑参数,n为类i的模式样本数量。先验概率记为P(X)。 决策层节点数等于待匹配类别数,为L。根据各类对输入向量概率的估计,采用Bayes分类规则,选择出具有最小“风险”的类别,即具有最大后验概率的类别,可用下式来表达其决策方法对所有i 则输出y(X)= 。 基本学习算法 归一化训练样本矩阵 ,该矩阵的训练样本有m个,每一个样本维数为n。 ,归一化系数。 ,C即为归一化后的学习样本。 将归一化好的m个样本送入到网络输入层中 模式距离的计算 该距离是指样本矩阵与学习矩阵中相应元素之间的距离。 假设将由P个n维向量组成的矩阵称为待识别样本矩阵,则经归一化后,需要待识别的输入样本矩阵为: ,待分类样本矩阵,有p个,每一个样本维数为n。 计算欧式距离:就是需要识别的归一化的样本向量,与每一个归一化后的训练样本()的欧式距离。 归一化的训练样本,i=1,2,...,m; 归一化的待分类样本,j=1,2,...,p; :表示第i个待分类样本()与第j个训练样本()的欧式距离。 模式层高斯函数的神经元被激活 学习样本与待识别样本被归一化后,通常取标准差=0.1的高斯型函数。激活后得到初始概率矩阵: 在网络的求和层求得初始概率和 假设样本有m个,那么一共可以分为c类,设属于每一类的样本数目分别为,,,,且,在每一行中、、、分别取不同的值,则可以在网络的求和层求得各个样本属于各类的初始概率和: 计算概率 计算概率,即第i个样本属于第j类的概率。 ,概率值最大的那一类即为所属类。 微博好友特性分类 本实验中,类别定为4类:明星,同学,同事,密友。特征定为3类,分别以落入不同的范围来表征,利用前面建立起来的模型进行分类。 明星(1-20, 21-40, 41-60) 同学(61-80,81-100, 101-120) 同事(121-140, 141-160, 161-180) 密友(181-200, 201-220, 221-240) 每一组用20个训练样本,样本来自于程序中生成的满足一定范围的随机数。训练样本的个数是可以认为控制的,只要修改程序中的宏就可以。 在本实验中,我们自己定义一些待分类样本: 明星:蔡康永(10,30,50) 琢磨先生(15,35,55) 韩寒(5,25,45) 同学:张三(70,90,110) 李四(65,85,105) 王五(75,95,115) 同事:张一(130,150,170) 李二(125,145,165) 王三(135,155,175) 亲人:妈妈(190,210,230) 哥哥(185,205,225) 姐姐(195,215,235) 运行结果如下: 偶尔也会出现分类错误的时候: 不过分类错误的情况很少,运行程序很多次才偶尔会出错。原因可能是因为训练样本是随机生成的随机数,不一定都在那个范围内均匀分布,可能会偏大或偏小,造成计算欧式距离时出现分类的错误。 程序的运行环境为vs2013。 #include iostream #include fstream #include cstdlib #include string #include ctime #include cmath #define p 12 #define m

文档评论(0)

4477769 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档