您好,欢迎访问三七文档
小波神经网络简介什么是小波神经网络?小波神经网络(WaveletNeuralNetwork,WNN)ZhangQinghua等1992年正式提出小波神经网络的概念小波变换:一种数学分析的工具小波变换+人工神经网络=小波神经网络小波网络的结构形式(1)小波变换与神经网络的结合小波变换与神经网络的结合,也称松散型结合应用举例:基于小波分析的多RBF神经网络轧制力设定模型由于轧制力信号影响因素多,关联复杂,难以建立精确的机理模型,所以应用小波多分辨率方法,将原信号分解重构成不同影响因素的子信号。(2)小波变换与神经网络的融合小波变换与神经网络的融合,也称紧致型结合小波的发展过程小波变换的发展的历史过程Fourier变换Gobor变换(加窗Fourier变换)小波变换小波变换的时间窗和频率窗给出了信号在时间窗内的局部信息给出了信号在频率窗内的局部信息时频窗的面积始终不变,对于检测高频信号时a自适应变为(a0,a较小的时候)使时间窗变窄,对于检测低频信号时使时间窗变宽即可,这样可以更有效的获取局部信息小波的数学概念小波母函数ψ(t):必须满足容许条件:连续小波:由小波母函数平移和伸缩变换得来的函数其中a是尺度参数,b是平移参数小波变换:对于,称为信号f(t)的连续小波变换母小波ψ(t)选择应满足的两个条件(1)定义域是紧支撑的(CompactSupport)即在一个很小的区间以外,函数为零,换句话说,函数由速降特性,以便获得空间局域化;(2)平均值为零,也就是Haar小波MexicanHatMeyer小波Sym6小波db6小波常用的小波函数离散小波、二进小波和多尺度分析离散小波:对定义的小波函数的尺度参数a,平移参数b,按如下规律进行离散采样二进小波:即取a为离散值,a为2的j次方,jϵZ;b任然取连续的值多分辨率分析:多分辨率分析(Multi-resolutionAnalysis)又称多尺度分析,其在小波分析中占有非常重要的地位,它是建立在函数空间概念上的理论,它重点在于处理整个函数集,而非侧重处理作为个体的函数。多分辨率分析从函数空间的角度将一个函数表示为一个低频成分和不同分辨率下的多个高频成分。更为重要的是,多分辨率分析不仅提供了构造小波的统一框架,而且提供了函数分解与重构的快速算法执行离散小波变换的有效方法是使用滤波器。该方法是Mallat在1988年开发的,叫做Mallat算法,也叫金字塔算法。这种方法实际上是一种信号的分解方法,在数字信号处理过程中称为双通道子带编码算法描述:把信号通过滤波器分成高频部分和低频部分,低频部分继续分解,迭代上述过程。形成的树叫小波分解树。小波网络的具体分类(1)用小波函数直接代替隐层函数根据所选取的小波基函数的连续性的不同,可以将该模型分为连续参数的小波神经网络和基于小波框架的小波神经网络两种:①连续参数的小波神经网络②基于小波框架的小波神经网络基于小波框架的小波神经网络的学习方法在传统的神经网络中,存在隐层单元数目难以确定的不足,而小波神经网络的隐层单元数目则可以按如下方法自适应地确定:首先取小波神经网络的隐层单元数目M为1,学习迭代若干次后,如满足误差条件,则停止迭带,若达到最大学习次数后,仍不满足误差条件,则小波变换单元数目增加1,重复上述过程,直到满足误差条件为止。这样就可以根据具体的问题自适应地确定小波变化单元个数,从而克服传统神经网络的不足。基于多分辨率分析理论的小波神经网络基于多分辨率分析小波神经网络的学习算法是由Moody于1989年提出的,该算法给出了网络输出在不同尺度上逼近的递推方法,具体描述为:网络模型:基于多分辨率分析小波神经网络的学习方法先选取合适的尺度函数和小波函数,同时在最粗的尺度M上训练节点,直到网络达到收敛;要使网络达到收敛,则要确定逼近误差和增加适当个数的Ψ节点以减小逼近误差;最后是优化网络,使用新的样本来检验网络并移去权重小的Ψ节点直到满足性能指标。小波神经网络的优点(1)小波变换通过尺度伸缩和平移对信号进行多尺度分析,能有效提取信号的局部信息(2)神经网络具有自学习、自适应和容错性等特点,并且是一类通用函数逼近器。(3)小波神经网络的基元和整个结构是依据小波分析理论确定的,可以避免BP神经网络等结构设计上的盲目性(4)小波神经网络有更强的学习能力,精度更高对同样的学习任务,小波神经网络结构更简单,收敛速度更快小波神经网络的缺点(1)在多维输入情况下,随着网络的输入维数增加,网络所训练的样本呈指数增长,网络结构也将随之变得庞大,使得网络收敛速度大大下降。(2)隐含层结点数难以确定。(3)小波网络中初始化参数问题,若尺度参数与位移参数初始化不合适,将导致整个网络学习过程的不收敛。(4)未能根据实际情况来自适应选取合适的小波基函数神经网络的学习方法待确定参数连接权值尺度系统平移系数小波神经网络参数调整算法标准BP算法BP算法的改正算法BP网络算法的改进:函数采用了有动量的梯度下降法,提高了学习速度并增加了算法的可靠性。梯度下降法在修正权值时,只是按照k时刻的负梯度方向修正,并没有考虑到以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。为此,有人提出了如下的改进算法:其中,D(k)表示k时刻的负梯度,D(k-1)表示k-1时刻的负梯度,η为学习率,α是动量因子,范围是[0,1]。当α=0时,权值修正只与当前负梯度有关系,当α=1时,权值修正就完全取决于上一次循环的负梯度了。这种方法所加入的动量项实质上相当于阻尼项,它减少了学习过程的振荡趋势,从而改善了收敛性。动量因子可以通过net.trainParam.mc设定,若不设定,缺省值为0.9。设小波神经网络为3层网络,包括输入层、隐含层和输出层,输出层采用线性输出,输入层有m(m=1,2,…,M)个神经元,隐含层有k(k=1,2,…,K)个神经元,输出层有n(n=1,2,…,N)个神经元。隐含层选取的神经元激励函数为Morlet小波训练时,在权值和阈值的修正算法中加入动量项,利用前一步得到的修正值来平滑学习路径,避免陷入局部极小值,加速学习速度。为了避免在逐个样本训练时,引起权值和阈值修正时发生的振荡,采用成批训练方法。对网络的输出也并不是简单的加权求和,而是先对网络隐含层小波结点的输出加权求和,再经Sigmoid函数变换后,得到最终的网络输出,有利于处理分类问题,同时减少训练过程中发散的可能性给定p(p=1,2,…,P)组输入输出样本,学习率为η(η0),动量因子为λ(0λ1)目标误差函数式中为输出层第n个结点的期望输出;为网络实际输出算法的目标不断调整网络的各项参数,使得误差函数达到最小值隐含层输出为输入层的输入为隐含层的输出为输入层结点m为与隐含层结点k为之间的权值;h()为Morlet小波函数。输出层输出为为输出层的输入为隐含层结点与输出层结点之间的权值隐含层与输出层之间的权值调整式分别表示调整前与调整后的隐含层结点k与输出层结点n之间的连接权值;为动量项。输入层结点与隐含层结点之间的权值调整式分别为调整前与调整后的输入层结点m与隐含层结点k之间的权值为动量项伸缩因子调整式为调整前与调整后的伸缩因子;为伸缩因子动量项。平移因子调整式为调整前与调整后的平移因子;为平移因子动量项。学习算法的具体实现步骤1)网络参数的初始化将小波的伸缩因子、平移因子、网络连接权值、学习率以及动量因子赋予初始值,并置输入样本计数器p=12)输入学习样本及相应的期望输出3)计算隐含层及输出层的输出4)计算误差和梯度向量。5)输入下一个样本,即p=p+16)判断算法是否结束。当Eε时,即代价函数小于预先设定的某个精度值ε(ε0),停止网络的学习,否则将计数器重置为1,并转步骤2)循环小波神经网络的MATLAB函数静态非线性回归小波神经网络的创建指令格式THETA=wnetreg(y,x,nbwavelon,max_epoch,initmode,min_nbw,levels)参数说明输出参数THETA小波回归模型的估计参数。输入参数y是一个列向量,x对于单输入为一个列向量;对于多输入,x=[x1x2...xm],每个xi都是一个列向量。nbwavelon:构建小波网络的小波数量max_epoch:最大训练次数;initmode为初始化模式min_nbw:最小输入模式数min_nbw和levels为可选项小波神经网络的仿真wavenet(),可以很方便地得到网络的仿真结果。指令格式:g=wavenet(x,THETA)谢谢观赏
本文标题:小波神经网络简介
链接地址:https://www.777doc.com/doc-6961919 .html