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

2019-09-01 23:38

3.3 信号的分类

本文中,心律失常的心电信号通过AR建模系数进行信号特征的提取,并以AR建模系数进行心律失常的分类,同样如上一章所述分类的方法有多种,本文主要采用BP神经网络(ANN)的分类方法,及基于线性分类器的分类法[23]。 1. BP 神经网络分类法 1)神经元及其特性

连接机制结构的基本处理单元与神经生理学类比往往称为神经元。每个构造起网络的神经元模型模拟一个生物神经元,人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图(如图3-2所示):(1)对于每个节点i存在一个状态变量xi;(2)从节点j至节点i,存在一个连接权系统数wij;(3)对于每个节点i,存在一个阈值?i ;(4)对于每个节点i,定义一个换函数 fi(xi,wji, ?i);如图3-2所示。该神经元单元由多个输入,中间状态由输入信号的权和表示,而输出可表示为:i=1,2,...,n和一个输出y组成。

(3-19)

图3-2 神经元模型

式(3-19)中,?j为神经元单元的偏置(阈值),wji为连接权系数(对于激发状态,wji取正值,对于抑制状态,wji取负值),n为输入信号数目,yj为神经元输出,

t为时间,f(_)为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或S形函数,见图1.2,这三种函数都是连续和非线性的。一种二值函数 如图3-3(a)所示。一种常规的S形函数见图3-3(b),常用双曲正切函数(见图3-3(c))来取代常规S形函数,因为S形函数的输出均为正值,而双曲正切函数的输出值可为正或负。双曲正切函数如下式所示:

(3-20)

21

图3-3 神经元中的某些变换(激发)函数

人工神经网络有两种基本结构:递归网络(如图3-4所示)和前馈网络(如图3-5所示)。递归网络又叫做反馈网络,在递归网络中,多个神经元互连以组织一个互连神经网络。有些神经元的输出被反馈至同层或前层神经元。因此,信号能够从正向和反向流通。Hopfield网络,Elmman网络和Jordan网络是递归网络有代表性的例子。前馈网络具有递阶分层结构,由一些同层神经元间不存在互连的层级组成。从输入层至输出层的信号通过单向连接流通;神经元从一层连接至下一层,不存在同层神经元间的连接,如图3-4所示。图中,实线指明实际信号流通而虚线表示反向传播。前馈网络的例子有多层感知器(MLP)、BP神经网络、学习矢量量化(LVQ)网络、小脑模型联接控制(CMAC)网络和数据处理方法(GMDH)网络等。

图3-4 递归(反馈)网络 图3-5 前馈(多层)网络

图3-4中,vi表示节点的状态,xi为节点的输入(初始)值,xi为收敛后的输出值,i=1,2,...,n。

神经网络主要通过两种学习算法进行训练,即指导式(有导师)学习算法和非指导式(无导师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。有导师学习、 有导师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。因此,有导师学习需要有个老师或导师来提供期望或目标输出信号。有导师学习算法的例子包括d 规则、误差反向传播(BP)算法以及LVQ算法等。 2)BP神经网络

在已出现的众多神经网络模型中,BP神经网络模型是最典型也是应用最为广泛和成功的网络之一。尤其是它在函数逼近、模式识别和故障诊断的应用中取得了巨大的成功。然而,尽管BP神经网络的研究取得了激动人心的成果,其应用也解决了一些实际问题,但还存在着不完善之处,如:初始权值的选择问题、

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


基于matlab的滤波器设计第三章(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第十三章 水电站的压力管道 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: