基于matlab的滤波器设计第三章(3)
22
局部极小值问题、网络结构问题等等。其中,神经网络结构更是难点,众所周知,神经网络应用的前提就是要确定一个合适的网络结构模型,这对网络的性能(收敛性、推广能力等)有着重大的影响。典型的BP网络(如图2-1所示)是三层前向网络,由输入层、隐含层和输出层组成。
图3-6典型的BP网络结构图
一般情况下,神经网络的输入层和输出层的神经元数目由问题本身的性质决定,隐层的层数和各隐层的节点数由设计者根据问题的性质和对神经网络的性能要求来决定。 ⅰ输入层和输出层设计
输入层起缓冲存储器的作用,把数据源加到网络上。其节点数目取决于数据源的维数,即这些节点能够代表每个数据源,所以,最困难的设计判决是弄清楚正确的数据源。如果数据源中有大量的未经处理的或者虚假的信息数据,那必将会妨碍对网络的正确训练,所以要剔除那些无效的数据,确定出数据源的合适数目,大体上需要经过四步:
(a)确定与应用有关的数据;
(b)剔除那些在技术上和经济上不符合实际的数据源; (c)剔除那些边沿的或者不可靠的数据源;
(d)开发一个能组合或预处理数据的方法,使这些数据更具有实用意义。 人工神经网络只能处理表示成数值的输入数据,所以经常需要将外部的信息变换或编码。
输入的神经单元可以根据需要求解的问题和数据表示的方式而定。如果输入的是模拟信号波形,那么输入层可以根据波形的采样点数决定输入单元的维数,也可以用一个单元输入,这时输入样本为采样的时间序列。如果输入为图像,则输入单元可以为图像的象素,也可以是经过处理后的图像特征。
输出层的维数根据使用者的要求来确定。如果BP网络用作分类器,其类别为m个,有两种方法确定输出神经元的个数:
(a)输出层有m个神经元,其训练样本集中xP1属于第j类,要求其输出为
23
y?(0,0,?0,1,0,0,?0)Tjm
即第j个神经元的输出为1,其余输出为0。
(b)输出神经元还可根据类别进行编码,即m类的输出只要用log2m个输出单元即可。
ⅱ.隐含层数和层内节点数的选择
对于多层神经网络来说,首先要确定选用几层隐含层。对于如何确定隐含层数的问题,已有不少学者对此进行了理论上的研究。Lippmann的研究指出,对于函数近似和数据分类问题,可能需要两个隐层来学习按段连续函数。Cybenko证明了具有单隐层及任意固定的连续Sigmoid非线性函数的反传MLP,可以以任意精度逼近紧集上的任何连续函数。当被用作具有硬限位(阶跃)激励函数的二进制取值神经元网络时,具有两个隐层的反传MLP可以形成任意复杂的决策区域以区分不同的类别。隐含层起抽象的作用,即它能从输入提取特征。增加隐含层可增加人工神经元网络的处理能力,但是必将使训练复杂化、训练样本数目增加和训练时间的增加。目前人们认为二进制分类或判决边界问题,一个隐含层就足够了。但是,如果要求输出是输入的任意连续函数,那就要用两个隐含层或者采用不同的激活函数。韦岗的研究成果表明,多层前向网络的函数逼近能力与隐层数目及隐层神经元特性函数的具体形式关系不大,而主要取决于网络的隐层神经元数目。所以,层内节点数需要进行恰当的选择。一般情况下,隐层节点数较多时,网络结构比较复杂,学习时间长,能够很好的学习训练样本,输出误差小,但推广能力差;隐层节点数较少时,网络结构比较简单,虽然有较好的泛化能力,但完成对训练样本的学习较为困难。因此存在一个最佳的隐单元数,许多学者对此进行了研究: Hecht-Nielsen提出隐含层节点数目为2N?1,Lippmann认为最大隐含层节点的数目为M1(N?1),Kuarycki认为最大隐含层节点的数目为M1?3,A.J.Maren等人认为,对小型网络来说,输入节点数大于输出节点数时,最佳隐含层节点数等于M?N,其中N为输入的节点数,M1为输出层节
1点数。可供参考的估算公式还有:
(1)J?n?m?a。其中,m为输出神经元数,n为输入神经元数,a为1—10之间的常数。
(2)J?log2n,其中n为输入神经元数。
近年来,许多学者提出了变结构动态调整隐含层神经元数目的方法,一种称为增长方法,即在开始时放入比较少的隐含单元,训练过程中,针对实际问题,根据网络性能要求逐步增加隐含单元个数,直到满足网络性能要求。另一种称为
24
修剪方法,即在开始时构造一个含有冗余节点的网络,然后在训练的过程中逐步删除那些不必要的节点和权值,一直减少到不可收缩为止。这种方法对于硬件完成的BP多层网有一定的好处,但是,也存在着计算量大,效率低等缺点。 增加隐含层的节点数可以改善网络与训练组匹配的精度(该精度近似比例于隐含层节点数的平方)。然而,为了改善网络的概括推论能力,又要求适当减少隐含层的节点数。所以,对一特定的应用网络,其隐含层的节点数应该是按精确度和概括性综合统一考虑。 ⅲ.基本BP算法
多层前向神经网络的学习采用误差反向传播算法(Back-Propagation
,简称BP算法。BP算法是一种有导师的学习算法,其主要思想是把Algorithm)
学习过程分为四个部分:一是输入模式从输入层经隐含层传向输出层的“模式顺传播”过程;二是网络的希望输出与实际输出之差的误差信号由输出层经隐含层向输入层逐层修正连接权的“误差逆传播”过程;三是由“模式顺传播”和“误差逆传播”的反复交替进行的网络“记忆训练”过程;四是网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。
对于图3-6所示的前向网络,设有P个输入—输出对(Xk,Tk)(k?1,2,?,P)。其中,Xk为第k个样本输入向量:Xk?(xk1,xk2,?,xkM),M为输入向量维数;(期望输出):Tk?(tk1,tk2,?,tkN),N为输出向量维数。Tk为第k个样本输出向量
网络的实际输出向量为:Ok?(ok1,ok2,?,okN)T;?ji为前一层第i个神经单元到后一层第j个神经单元的权重。
由于BP网络要求采用非线性的连续可导的激发函数,这里采用Sigmoid函数作为激发函数。
f(x)?1 (3-21) 1?e?x当神经元为输入层单元时,Ok?Xk。
对于第k个样本,第j个神经单元的状态定义为:
Netkj???jioki。 (3-22)
i则第j个神经单元的输出为:
25
…… 此处隐藏:970字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




