教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

基于matlab的滤波器设计第三章(3)

来源:网络收集 时间:2026-07-23
导读: 22 局部极小值问题、网络结构问题等等。其中,神经网络结构更是难点,众所周知,神经网络应用的前提就是要确定一个合适的网络结构模型,这对网络的性能(收敛性、推广能力等)有着重大的影响。典型的BP网络(如图2-

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于matlab的滤波器设计第三章(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/564348.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)