小波神经网络及其应用

小波神经网络及其应用
小波神经网络及其应用

小波神经网络及其应用 This model paper was revised by the Standardization Office on December 10, 2020

小波神经网络及其应用

32 陆宇颖

摘要:小波神经网络是将小波理论和神经网络理论结合起来的一种神经网络,它避免了BP 神经网络结构设计的盲目性和局部最优等非线性优化问题,大大简化了训练,具有较强的函数学习能力和推广能力及广阔的应用前景。首先阐明了小波变换和多分辨分析理论,然后介绍小波神经网络数学模型和应用概况。

1.研究背景与意义

人工神经网络是基于生物神经系统研究而建立的模型,它具有大规模并行处理和分布式存储各类图像信息的功能,有很强的容错性、联想和记忆能力,因而被广泛地应用于故障诊断、模式识别、联想记忆、复杂优化、图像处理以及计算机领域。但是,人工神经网络模型建立的物理解释,网络激活函数采用的全局性函数,网络收敛性的保证,网络节点数的经验性确定等问题尚有待进一步探讨和改善。

小波理论自 Morlet 提出以来,由于小波函数具有良好的局部化性质,已经广泛渗透到各个领域。小波变换方法是一种窗口大小固定但其形状可以改变, 时间窗和频率窗都可以改变的时频局部化分析方法, 由于在低频部分具有较高的频率分辨率和较低的时间分辨率, 在高频部分具有较高的时间分辨率和较低的频率分辨率, 所以被誉为数学显微镜。正是这种特性, 使小波变换具有对信号的自适应性。基于多分辨分析的小波变换由于具有时频局部化特性而成为了信号处理的有效工具。实际应用时常采用Mallat快速算法,利用正交小波基将信号分解到不同尺度上。实现过程如同重复使用一组高通和低通滤波器把信号分解到不同的频带上,高通滤波器产生信号的高频细节分量,低通滤波器产生信号

的低频近似分量。每分解一次信号的采样频率降低一倍,近似分量还可以通过高通滤波和低通滤波进一步地分解,得到下一层次上的两个分解分量。

而小波神经网络(Wavelet Neural Network, WNN )正是在近年来小波分析研究获得突破的基础上提出的一种人工神经网络。它是基于小波分析理论以及小波变换所构造的一种分层的、多分辨率的新型人工神经网络模型, 即用非线性小波基取代了通常的非线性Sigmoid 函数,其信号表述是通过将所选取的小波基进行线性叠加来表现的。

小波神经网络这方面的早期工作大约开始于1992 年,主要研究者是Zhang Q 、Harold H S 和焦李成等。其中,焦李成在其代表作《神经网络的应用与实现》中从理论上对小波神经网络进行了较为详细的论述。近年来,人们在小波神经网络的理论和应用方面都开展了不少研究工作。

小波神经网络具有以下特点。首先,小波基元及整个网络结构的确定有可靠的理论根据,可避免BP 神经网络等结构设计上的盲目性;其次,网络权系数线性分布和学习目标函数的凸性,使网络训练过程从根本上避免了局部最优等非线性优化问题;第三,有较强的函数学习能力和推广能力。

2. 数学模型与小波工具

小波变换及多分辨分析

在函数空间2()L R (或更广泛的Hilbert 空间)中,选择一个母小波函数(又称为基本小波函数)()x ψ,使其满足允许条件:

式中^

()w ψ为()x ψ的Fourier 变换。对()x ψ作伸缩、平移变换得到小波基函数系{},()a b x ψ

对任意

2()()f x L R ∈,其连续小波变换定义为: 反演公式为:

在实际应用中,特别是计算机实现中,往往要把上述的连续小波及其变换离散化,通

常采用二进制离散,即令2,2m m a b k ==,则

二进小波一定是一个允许小波,且是一个正交小波基。考虑一个连续的、平方可积的

函数

2()()f x L R ∈在分辨率2m 下的逼近()m f x ,由多分辨分析理论可知: ()x Φ是尺度函数,对其作伸缩、平移变换得到()mk x Φ。

Mallat 同时证明了函数()f x 在2m 和12m -分辨率下的信息差别(即细节)()m D f x ,可

以通过将函数()f x 在一小波正交基上分解而获得,从而定义了一种完全而且正交的多分辨率描述,即小波描述。

()mk x ψ就是式(5)定义的二进小波,则()f x 在12m -分辨率下的逼近式为:

Mallat 并指出,对于任意一个函数

2()()f x L R ∈可以在一组正交小波基上展开: 式(11)是一个平方可积函数的小波分解,提供了小波神经网络设计的理论框架。

上述理论可推广到多维情况。我们以二维为例,若定义二维尺度函数

..

12(,)x x ο ,则

则有: 同理有:

2.2 小波神经网络模型

小波神经网络模型的典型结构如图 1 所示,包括输入层、输出层和隐层。隐层包含两种节点:小波基节点(ψ节点)和尺度函数节点(Φ节点)。

2.2.1 分层多分辨学习

网络输出 ()f x 在2L 分辨率(最低的分辨率)上的逼近:

()f x 在12-L 分辨率上的逼近:

式(18)中的第一项1

()=Φ∑L

n Lk Lk k a x 表示()f x 在2L 分辨率上的逼近,在式(17)中已计算,即系数Lk a 与式(17)中相同。式(18)中的第二项1()=ψ∑L n Lk Lk k d x 表示增加的细节。

再考虑()f x 在22-L ,32-L , …分辨率上的逼近,有:

上述方程式是小波神经网络的学习算法,这种算法是Moody 在1989 年提出的。

2.2.2 网络系数计算

对于式(19)可以改写成下述形式:

i c 是网络权重系数,θi 是激活函数(尺度函数或小波函数)。设小波神经网络有n 个节点,m 个训练数据。则有:

即(21)=f Ac

式(20)的最小二乘解为:

+A 被称为A 的伪逆矩阵。且

如果样本i x 均匀分布,(1,2,...,)θ=i i n 是正交基,

则T A A 是一个?n n 单位矩阵,且

小波神经网络学习过程

选择合适的小波函数和尺度函数后,在最粗的尺度L 上训练Φ节点,直到网络达到收敛。要使网络达到收敛,需确定逼近误差(在很多文献中提出了误差的计算方法)和增加合适的ψ节点以减少逼近误差。最后是优化网络,使用新的样本来检验网络并移去权重小的ψ节点直到满足性能准则。

计算复杂性

小波神经网络训练的计算复杂性介于 O(N )和O(N 2)之间,N 为学习样本数。如果学习样本是均匀分布的,则计算复杂性为O(N );如果学习样本是非均匀分布的,则计算复杂性为O(N 2)。

3. 数学应用案例

小波神经网络是基于小波分析而构成的神经网络。它充分利用小波变换的良好局部化性质并结合神经网络的自学习功能,因而具有较强的逼近、容错能力,其实现过程也比较简单。小波神经网络在近十年来应用较广泛,主要应用于以下几个领域。

非线性函数逼近

非线性函数逼近具有非常重要的意义,很多实际问题通过建模都可归结于非线性函数逼近问题。而小波神经网络是通过对小波分解进行平移和伸缩变换之后得到的级数,具有小波分解的函数逼近性质。由于它引入了伸缩和平移因子,又比一般的小波分解有更多的自由

度,而且还具有小波变换在高频域的时间精度和低频域的频率精度,故能够更加细致地描述复杂函数的特性。

Zhang 和Benveniste 首先将小波理论应用于神经网络而提出了非正交小波神经网络[9],并首次将这种新理论应用于函数逼近,取得了很好的结果。他们分别对一维、二维非线性函数进行拟合逼近的研究, 采用高斯函数推导式

()22212()/2/212()()-+-ψ=-ψ=-x x x x xe and x x x e 作为小波基函数,对小波神经网络的逼近模拟结果与BP 神经网络和小波分解方法进行对比,结果显示小波神经网络对非线性函数的拟合逼近明显要优于BP 神经网络和小波分解方法(见图2,实线是实际曲线,虚线是逼近曲线),并吸收了两者的许多优点,摒弃了两者的一些缺点。

李银国等则在前人的基础上提出了小波神经网络结构设计的时(空)域“分解——综合”方法[18],并通过仿真实验(非线性函数逼近)表明:此种方法较好地解决了小波神经网络中普遍存在的“维数灾”问题,且函数逼近能力强,精度便于掌握,训练过程方便,不存在局部最优问题。

信号表示和分类

小波神经网络用于信号表示已有很多范例,但用于信号分类的很少。Harold HS 等构造了自适应小波神经网络并将其应用于语音识别。他们首先提出了两种不同的自适应小波神经网络结构(均采用高斯函数2

/2()cos(1.75)-ψ=x x x e 作为小波基函数)和能量函数分别用于信号表示与分类,并引入了超小波(super-wavelet )这一新术语(对于具体的问题,超小波不仅自适应计算定型小波函数的参数,而且自适应计算小波形状)。他们将这些理论先应用于一维信号的表示与分类,随后又讨论了其可能在语音识别中的应用,并展望这些理论可能会广泛应用于信号识别与分类和图像识别与分类。

材料损伤诊断

吴耀华等介绍了多变量输入、输出系统的B 样条小波神经网络和用于分类的自适应B 样条

小波神经网络,应用于智能复合材料应变损伤位置的诊断。他们在实际操作中采用了一些技术处理以减少小波神经网络结构的复杂性,从而加快了训练的速度和提高了识别能力。并且在同样条件下将这两种小波网络与BP 网络相对比,结果表明B 样条小波神经网络的建模精度和收敛速度明显高于BP 神经网络(图3)。

错误诊断与分析

Zhao Jinsong 等提出了一种新颖的小波神经网络——小波-Sigmoid 基函数神经网络(wavelet-sigmoid basic function neural network , WSBFN),并将其应用于动态错误诊断中。他们为了解决小波神经网络的“瓶颈”效应,提出了一种多维非乘积小波函数

2/2

x x e

()cos(1.75)-

ψ=x

,并将其和相应的尺度函数一起作为WSBFN 隐层的激励函数,同时将sigmoid 基函数作为WSBFN 输出层的激励函数。文献中将WSBFN 应用于氢化裂解过程的错误诊断中,并同前人提出的较好的错误诊断方法之——SBFN 网络进行对比。结果显示,WSBFN可以用更简单的网络结构而得到更好的诊断效果(WSBFN 训练错误远低于SBFN,而且错误诊断准确率达到100%,也优于SBFN)。

Bakshi 和Stephanopoulos在多分辨率基础上提出了正交小波神经网络,并将其应用于静态错误

动态建模

现实中,许多问题可以通过动态建模来解决。虽然采用人工神经网络进行非线性系统建模的研究很多,但是采用小波神经网络进行动态建模的则比较少。钱峻等应用小波神经网络

实现非线性系统模型的在线建立及自校正算法,并将其应用于微生物生长过程的预测建模。他们在继承前人对小波神经网络的诊断与分析问题中,也取得了非常好的诊断效果。经网络的结构设计方法的基础上,引入了限定记忆最小二乘法以替代普通的最小二乘法来实现小波

神经网络在线建模和校正算法。他们将其方法应用于微生物生长过程的预测建模,结果显示该小波神经网络具有很好的预测功能和推广性能(见图4,实线是系统输出,虚线是小波神经网络输出)。其训练方法亦比用普通的最小二乘法快得多。

采用小波神经网络实现动态建模来解决自动控制中的一些实际问题也已有研究。Oussar等首次将小波神经网络应用于动态系统建模。他们采用高斯函数作为小波函数,提出了一种训练算法和用其构建了反馈小波神经网络,并将其应用于动态非线性输入输出系统建模中(机器人手臂的液压激励器的建模)。将其建模效果与其他的输入输出模型(铰链超平面模型和S 形人工神经网络模型)进行比较,结果表明,在输入输出系统建模中采用小波神经网络可以取得与采用S 形神经网络同样良好的建模效果。Safavi 等采用小波神经网络来简化分裂蒸馏塔模型。他们采用一种混合模型替代传统的机械模型,混合模型是在传统的机械模型中加上了小波神经网络模块,用来控制蒸馏塔的输入输出模块。同时,他们将其与传统模型进行比较,结果显示,该模型大大简化了分裂蒸馏塔模型且保持了原有机械模型的精确性和内部数据变量的有效性。

非平稳时间序列预测与分析

由于小波神经网络是用非线性小波基的线性叠加表示信号,故具有很好的特征提取和抑噪能

力,特别适用于非平稳时间序列预测与分析。Bakshi 和Stephanopoulos 则首次在多分辨率基础上提出正交小波神经网络用于非平稳时间序列预测与分析;杨宜康等则将小波神经

网络应用于测量中的异常数据诊断和消除。他们首先借助时-频谱图识别时间序列中异常数据的位置和性质,然后利用小波神经网络作为拟合工具,同时引入加权误差能量函数,通过适当选择网络结构和参数优化,实现了对受污染的时间序列的抗扰最佳逼近。

实例表明,采用加权误差能量函数的小波神经网络除了具有逼近性能好、抑噪特性强和收敛速度快的优点外,还能有效地消除异常数据对拟合结果的影响,具有较强的鲁棒性。

4. 小波神经网络设计实例:

采用sinc 函数来验证小波神经网络的拟合能力。Sinc 函数定义为 :

自变量x 的范围取为[-5,5],采样间隔为,共101个样本点,其中前70个样本点作为训练样本,后31个样本点作为检验样本。a=1,b=1,因变量sin (1)1=++y c x 。

本例中采用紧致型小波神经网络,将神经网络隐含层中神经元的传统激发函数用小波函数来代替,采用通常用于信号分类的小波基函数Morlet 小波函数(r 通常取值为)作为网络隐含层的激励函数。

式中,t 为函数的输入。当函数的输入为零时,其输出为1,达到最大值:当输入的绝对值较大时,输出很快衰减为0。

MATLAB 神经网络工具箱中的传递函数没有Morlet 小波函数,所以将创建自定义的传输函数。神经网络工具箱中包含了一个自定义传递函数template_transfer, 输入help template_transfer 就可以得到有关此函数的帮助信息。

将template_transfer 函数作为一个模板,来生成自定义的传递函数。

首先,在MATLAB 安装目录下找到文件。将原传递函数改为Morlet 小波函数表达式:

再将函数的导数改为:

将输入输出范围改为:

在主程序中将传递函数设为“template_transfer(本例中未改模板文件名称)。程序如下:

clc

clear

close all

%产生训练样本与测试样本

n1=-5::;

x1=sinc(n1+1)+1;

n2=::5;

x2=sinc(n1+1)+1;

xn_train=n1; %训练样本,每一列为一个样本

dn_train=x1;

xn_test=n2;

dn_test=x2;

%设置神经网络参数

NodeNum=20;

TypeNum=1;

p1=xn_train; %训练输入

t1=dn_train; %训练输出

Epochs=1000; %训练次数

P=xn_test; %测试输入

T=dn_test; %测试输出(真实值)

%设置网络参数

TF1=’template_transfer’;TF2=’purelin’;%设置传递参

数,’template_transfer’为自定义Morlet小波函数net=newff(minmax(p1),[NodeNum TypeNum],{TF1 TF2},’trainlm’);

%指定训练参数

%最大训练次数

%最小均方误差

%最小梯度

%训练显示间隔

%最大训练时间

%训练与测试

net=train(net,p1,t1); %训练

X=sim(net,P); %测试,输出为预测值

%结果作图

plot(1:length(n2),x2,’r+:’,1:length(n2),X,’bo:’)

title(‘+为真实值,o为预测值’)

5.结论与展望

小波神经网络最初主要用于函数逼近,语音识别。随着小波网络的理论不断发展,应用领域也不断拓宽,如非线性系统辨识,模式识别,信号分类;心电信号的识别与分类;数据与图像压缩。近年来,小波网络在我国也引起了广大学者的关注。总体而言,小波网络的理论和应用研究还处于初始阶段,至今还存在许多有待解决的问题,这无疑是我们今后的研究方向。

(1)小波网络的新模型及其学习算法。例如可考虑基于小波包的小波网络、PPR(Projection Pursuit Regression)小波网络、小波与联想记忆神经网络

的结合、多分辨分析与神经网络的结合。关于小波网络的结构,近年来有人

提出多层结构小波网络、局域连接型的小波网络。目前神经网络的研究正由

单纯的神经计算转向计算智能,并结合脑科学的研究向生物智能方向发展,

小波网络的研究也应该考虑吸收模糊、分形、混沌、进化计算等交叉学科的

研究成果,如小波网络与模糊逻辑的结合,如小波模糊神经网络、小波包模

糊聚类网络;又如考虑小波网络与分形理论的结合,构造分形小波网络;小

波网络算法与遗传算法和进化计算的结合研究等。

(2)小波网络的收敛性、鲁棒性、计算复杂度等研究。

(3)离散正交小波网络构造的复杂性问题以及多维输入出现的“维数灾”问题。(4)如何把输入信号特征与尺度、平移、旋转等不变性量结合起来输入小波网络训练,以压缩信号特征信息,加速训练过程。

(5)小波基函数的选择。实际应用不同情况应选取何种小波小波基应选取相同类型还是不同类型选取的数目和标准是什么如何用理论指导网络中小波的初始

化参数

(6)WNN硬件实现。神经网络的光学实现是当前的研究热点之一。值得一提的是Szu和 Telfer等人在这方面做了不少工作,构造了一种神经网络“光学耳

蜗”(optical cochlea)模型,另外有学者提出了一种基于并行神经计算

机结构的模型,VLSI超大规模集成电路的实现无疑将进一步促进WNN的推

广和应用。

可以看到,小波神经网络由于把神经网络的自学习特性和小波的局域特性结合起来,具有自适应分辨性和良好的容错性,因此特别适合应用在函数逼近、系统辨识、数据压缩、模式识别等领域。小波神经网络的理论和应用研究近年来发展很快,具有良好的应用前景。

小波神经网络的时间序列预测-短时交通流量预测

%% 清空环境变量 clc clear %% 网络参数配置 load traffic_flux input output input_test output_test M=size(input,2); %输入节点个数 N=size(output,2); %输出节点个数 n=6; %隐形节点个数 lr1=0.01; %学习概率 lr2=0.001; %学习概率 maxgen=100; %迭代次数 %权值初始化 Wjk=randn(n,M);Wjk_1=Wjk;Wjk_2=Wjk_1; Wij=randn(N,n);Wij_1=Wij;Wij_2=Wij_1; a=randn(1,n);a_1=a;a_2=a_1; b=randn(1,n);b_1=b;b_2=b_1; %节点初始化 y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); %权值学习增量初始化 d_Wjk=zeros(n,M); d_Wij=zeros(N,n); d_a=zeros(1,n);

d_b=zeros(1,n); %% 输入输出数据归一化 [inputn,inputps]=mapminmax(input'); [outputn,outputps]=mapminmax(output'); inputn=inputn'; outputn=outputn'; %% 网络训练 for i=1:maxgen %误差累计 error(i)=0; % 循环训练 for kk=1:size(input,1) x=inputn(kk,:); yqw=outputn(kk,:); for j=1:n for k=1:M net(j)=net(j)+Wjk(j,k)*x(k); net_ab(j)=(net(j)-b(j))/a(j); end temp=mymorlet(net_ab(j)); for k=1:N y=y+Wij(k,j)*temp; %小波函数 end end

(完整版)小波神经网络的时间预测

基于小波神经网络的短时交通流预测 摘要 将小波神经网络的时间序列预测理论应用于短时交通流量的预测。通过小波分解与重构获取交通流量数据中的低频近似部分和高频随机部分, 然后在分析各种模型的优、劣的基础上, 选取较有效的模型或模型结合方式, 建立了交通流量预测模型。最后, 利用实测交通流量数据对模型仿真, 结果表明该模型可以有效地提高短时交通流量预测的精度。 关键词: 小波变换 交通流预测 神经网络 1.背景 众所周知, 道路交通系统是一个有人参与的、时变的、复杂的非线性大系统, 它的显著特点之一就是具有高度的不确定性(人为的和自然的影响)。这种不确定性给短时交通流量预测带来了极大的困难。这也就是短时交通流量预测相对于中长期预测更复杂的原因所在。在交通流量预测方面,小波分析不是一个完全陌生的工具,但是仍然处于探索性的应用阶段。实际上,这种方法在计算机网络的流量的预测中有着广泛的应用。与计算机网络一样,车流也表现出复杂的习性。所以可以把它的应用推广类比到交通流量的预测中来。小波分析有着与生俱来的解决非稳定时间序列的能力, 所以常常被单独用来解决常规时间序列模型中的问题。 2.小波理论 小波分析是针对傅里叶变换的不足发展而来的,傅里叶变换是信号处理领域里最为广泛的一种分析手段,然而他有一个严重的不足,就是变换抛弃了时间信息,变换结果无法判断某个信号发生的时间。小波是一种长度有限,平均值为0的波形,它的特点包括: (1)时域都具有紧支集或近似紧支集; (2)直流分量为0; 小波变换是指把某一基本小波函数ψ(t)平移b 后,再在不同尺度a 下与待分析的信号x(t)做内积。 dt a b t t x a b a WT x )()(1),(-=?*ψ??==?*)(),()()(,,t t x dt t t x b a b a ψψ (2 — 1) 等效的时域表达式为 dt a b x a b a WT x ωωψωj e )()(1),(-=?* a > 0 (2 — 2) 3.小波神经网络 小波神经网络是小波分析理论与神经网络理论相结合的产物,把小波基函数作为隐含层节点的传递函数,信号前向传播的同时误差反向传播的神经网络。 图一中1x ,2x ,....k x 是小波神经网络的输入参数,1y ,2y ....,m y 是小波神经网络的预测输出。

小波神经网络程序

这是一个小波神经网络程序,作者judyever %参考<青岛海洋大学学报> 2001年第1期一种基于BP算法学习的小波神经网络%% %step1--------网络初始化------------------------------------------- clc; clear all; %设定期望的误差最小值 err_goal=0.001; %设定最大循环次数 max_epoch=50; %设定修正权值的学习速率0.01-0.7 lr=0.7; epoch=0; x=0:0.01:0.3;%输入时间序列 d=sin(8*pi*x)+sin(16*pi*x);%目标输出序列 M=size(x,2);%输入节点的个数 N=M;%输出节点的个数 n=10;%隐形节点的个数 %这个地方需要改进,由于实际上隐形节点的个数可以通过小波的时频分析确定 Wjk=randn(n,M); Wij=randn(N,n); % a=randn(1,n); a=1:1:n; b=randn(1,n); % stepa=0.2*(x(M)-x(1)); % a=stepa(n-1)+stepa; % step=(x(M)-x(1))/n; % b=x(1)+step:step:x(1)+n*step; % y=zeros(1,N);%输出节点初始化 y=zeros(1,N);%输出节点初始化 net=zeros(1,n);%隐形节点初始化 net_ab=zeros(1,n);%隐形节点初始化 %step2--------对网络进行训练------------------------------------------- for i=1:1:N for j=1:1:n for k=1:1:M net(j)=net(j)+Wjk(j,k)*x(k); net_ab(j)=(net(j)-b(j))/a(j); end y(i)=y(i)+Wij(i,j)*mymorlet(net_ab(j)); %mymorlet是judyever编写的小波函数,以后可以扩展成输入不同的小波名字即可 % y(i)=mysigmoid(2,y(i)); end

小波神经网络

clc clear %% 训练数据预测数据提取及归一化 %下载四类语音信号 load data1 c1 load data2 c2 load data3 c3 load data4 c4 %四个特征信号矩阵合成一个矩阵 data(1:250,:)=c1(251:500,:); data(251:500,:)=c2(251:500,:); data(501:750,:)=c3(251:500,:); data(751:1000,:)=c4(251:500,:); %从1到2000间随机排序 % k=rand(1,1000); % [m,n]=sort(k); %输入输出数据 input=data(:,2:11); output1 =data(:,1); %把输出从1维变成4维 output=zeros(1000,4); for i=1:1000 switch output1(i) case 1 output(i,:)=[1 0 0 0]; case 2 output(i,:)=[0 1 0 0]; case 3 output(i,:)=[0 0 1 0]; case 4 output(i,:)=[0 0 0 1]; end end %随机提取1500个样本为训练样本,500个样本为预测样本% input_train=input(n(1:250),:)'; % output_train=output(n(1:250),:)'; input=input(1:250,:); output=output(1:250,:);

% input_test=input(1501:2000,:)'; % output_test=output(1501:2000,:)'; M=size(input,2); %输入节点个数 N=size(output,2); %输出节点个数 n=10; %隐形节点个数 lr1=0.0001; %学习概率 lr2=0.0001; %学习概率 maxgen=1000; %迭代次数 %权值初始化 Wjk=randn(n,M);Wjk_1=Wjk;Wjk_2=Wjk_1; Wij=randn(N,n);Wij_1=Wij;Wij_2=Wij_1; a=randn(1,n);a_1=a;a_2=a_1; b=randn(1,n);b_1=b;b_2=b_1; %节点初始化 y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); %权值学习增量初始化 d_Wjk=zeros(n,M); d_Wij=zeros(N,n); d_a=zeros(1,n); d_b=zeros(1,n); %% 输入输出数据归一化 [inputn,inputps]=mapminmax(input'); [outputn,outputps]=mapminmax(output'); inputn=inputn'; outputn=outputn'; error=zeros(1,maxgen); %% 网络训练 for i=1:maxgen %误差累计 error(i)=0; % 循环训练 for kk=1:size(input,1) x=inputn(kk,:); yqw=outputn(kk,:);

小波神经网络及其应用

小波神经网络及其应用 This model paper was revised by the Standardization Office on December 10, 2020

小波神经网络及其应用 32 陆宇颖 摘要:小波神经网络是将小波理论和神经网络理论结合起来的一种神经网络,它避免了BP 神经网络结构设计的盲目性和局部最优等非线性优化问题,大大简化了训练,具有较强的函数学习能力和推广能力及广阔的应用前景。首先阐明了小波变换和多分辨分析理论,然后介绍小波神经网络数学模型和应用概况。 1.研究背景与意义 人工神经网络是基于生物神经系统研究而建立的模型,它具有大规模并行处理和分布式存储各类图像信息的功能,有很强的容错性、联想和记忆能力,因而被广泛地应用于故障诊断、模式识别、联想记忆、复杂优化、图像处理以及计算机领域。但是,人工神经网络模型建立的物理解释,网络激活函数采用的全局性函数,网络收敛性的保证,网络节点数的经验性确定等问题尚有待进一步探讨和改善。 小波理论自 Morlet 提出以来,由于小波函数具有良好的局部化性质,已经广泛渗透到各个领域。小波变换方法是一种窗口大小固定但其形状可以改变, 时间窗和频率窗都可以改变的时频局部化分析方法, 由于在低频部分具有较高的频率分辨率和较低的时间分辨率, 在高频部分具有较高的时间分辨率和较低的频率分辨率, 所以被誉为数学显微镜。正是这种特性, 使小波变换具有对信号的自适应性。基于多分辨分析的小波变换由于具有时频局部化特性而成为了信号处理的有效工具。实际应用时常采用Mallat快速算法,利用正交小波基将信号分解到不同尺度上。实现过程如同重复使用一组高通和低通滤波器把信号分解到不同的频带上,高通滤波器产生信号的高频细节分量,低通滤波器产生信号

小波神经网络及其应用

小波神经网络及其应用 1014202032 陆宇颖 摘要:小波神经网络是将小波理论和神经网络理论结合起来的一种神经网络,它避免了BP 神经网络结构设计的盲目性和局部最优等非线性优化问题,大大简化了训练,具有较强的函数学习能力和推广能力及广阔的应用前景。首先阐明了小波变换和多分辨分析理论,然后介绍小波神经网络数学模型和应用概况。 1.研究背景与意义 人工神经网络是基于生物神经系统研究而建立的模型,它具有大规模并行处理和分布式存储各类图像信息的功能,有很强的容错性、联想和记忆能力,因而被广泛地应用于故障诊断、模式识别、联想记忆、复杂优化、图像处理以及计算机领域。但是,人工神经网络模型建立的物理解释,网络激活函数采用的全局性函数,网络收敛性的保证,网络节点数的经验性确定等问题尚有待进一步探讨和改善。 小波理论自 Morlet 提出以来,由于小波函数具有良好的局部化性质,已经广泛渗透到各个领域。小波变换方法是一种窗口大小固定但其形状可以改变, 时间窗和频率窗都可以改变的时频局部化分析方法, 由于在低频部分具有较高的频率分辨率和较低的时间分辨率, 在高频部分具有较高的时间分辨率和较低的频率分辨率, 所以被誉为数学显微镜。正是这种特性, 使小波变换具有对信号的自适应性。基于多分辨分析的小波变换由于具有时频局部化特性而成为了信号处理的有效工具。实际应用时常采用Mallat快速算法,利用正交小波基将信号分解到不同尺度上。实现过程如同重复使用一组高通和低通滤波器把信号分解到不同的频带上,高通滤波器产生信号的高频细节分量,低通滤波器产生信号的低频近似分量。每分解一次信号的采样频率降低一倍,近似分量还可以通过高通滤波和低通滤波进一步地分解,得到下一层次上的两个分解分量。 而小波神经网络(Wavelet Neural Network, WNN)正是在近年来小波分析研究获得突破的基础上提出的一种人工神经网络。它是基于小波分析理论以及小波变换所构造的一种分层的、多分辨率的新型人工神经网络模型,即用非线性小波基取代了通常的非线性Sigmoid 函数,其信号表述是通过将所选取的小波基进行线性叠加来表现的。 小波神经网络这方面的早期工作大约开始于1992 年,主要研究者是Zhang Q、Harold H S 和焦李成等。其中,焦李成在其代表作《神经网络的应用与实现》中从理论上对小波神经网络进行了较为详细的论述。近年来,人们在小波神经网络的理论和应用方面都开展了不少研究工作。 小波神经网络具有以下特点。首先,小波基元及整个网络结构的确定有可靠的理论根据,可避免BP 神经网络等结构设计上的盲目性;其次,网络权系数线性分布和学习目标函数的凸性,使网络训练过程从根本上避免了局部最优等非线性优化问题;第三,有较强的函数学习能力和推广能力。 2.数学模型与小波工具 2.1 小波变换及多分辨分析 L R(或更广泛的Hilbert 空间)中,选择一个母小波函数(又称为基本在函数空间2() ,使其满足允许条件: 小波函数)()x

浅谈基于小波分析的神经网络

浅谈基于小波分析的神经网络 摘要:基于小波分析的神经网络在我们的日常生产中有着重要的作用,尤其是在故障检测中,正因为有了它的存在,使得我们能更好的对一些机器内部微小的部件进行检测。在一定程度上,避免了人工检测工作量大且准确度不高的情况,降低了检验的成本,减少了因零件损坏而带来的损失,为工业的生产提供了极大的帮助。 关键词:小波分析,神经网络,故障诊断 随着科学的进步与时代的发展,神经网络正慢慢的运用到我们的日常生活与生产之中。从1943年人们首次提出了人工神经网络这一概念至今,神经网络已经与越来越多的其他技术结合了起来,例如,结合神经元的混沌属性提出混沌神经网络,应用于组合优化的问题中,与粗集理论结合,应用于对数据的分类处理,与分形理论结合,应用于图形识别、图像编码、图像压缩等,与小波分析结合,应用于机械设备的故障检测中。以下是我对基于小波分析的神经网络的见解。 一、概述 小波分析即小波变换,是1981年Morlet首先提出的,经过发展后成为了一门学科,小波分析对低频信号在频域和高频信号在时域里有着较好的分辨率。而神经网络特有的对非线性适应性信息处理能力,当它与小波分析相结合后,使得它们能在对高压电网的信号处理,机械故障的检测等方面发挥了重要的作用。

二、小波神经网络的算法 小波神经网络的算法大体的思路是这样的,小波神经网络的核心是隐层神经元的激活函数小波基函数(Morlet )进行非线性映射,信号通路只进行前向传递,待分类信号进行前向传递的同时,误差信号进行反向的传递。输出层的传递函数为S 函数,小波函数的拓扑结构如下所示: 小波函数的修正公式如下: (k 1)(k)*E mc ωωη ωω?+=++? (1) a(k 1)(k)*E a mc a a η?+=++? (2) b(k 1)(k)*E b mc b b η ?+=++? (3) 误差函数如下: 211 1(y yt )2N M n n m m n m E N ===-∑∑ (4) 输入层 隐含层 输出层

小波神经网络及其应用

小波神经网络及其应用 陆宇颖 摘要:小波神经网络是将小波理论和神经网络理论结合起来的一种神经网络,它避免了BP 神经网络结构设计的盲目性和局部最优等非线性优化问题,大大简化了训练,具有较强的函数学习能力和推广能力及广阔的应用前景。首先阐明了小波变换和多分辨分析理论,然后介绍小波神经网络数学模型和应用概况。 1. 研究背景与意义 人工神经网络是基于生物神经系统研究而建立的模型,它具有大规模并行处理和分布式存储各类图像信息的功能,有很强的容错性、联想和记忆能力,因而被广泛地应用于故障诊断、模式识别、联想记忆、复杂优化、图像处理以及计算机领域。但是,人工神经网络模型建立的物理解释,网络激活函数采用的全局性函数,网络收敛 即 ,焦李神经网络2. 2.1()x ,使式中为的Fourier 变换。对作伸缩、平移变换得到小波基函数系 对任意2()()f x L R ∈,其连续小波变换定义为: 反演公式为: 在实际应用中,特别是计算机实现中,往往要把上述的连续小波及其变换离散化,通常采用二进制离散,即 令2,2m m a b k ==,则 二进小波一定是一个允许小波,且是一个正交小波基。考虑一个连续的、平方可积的函数 2()()f x L R ∈在分辨率2m 下的逼近()m f x ,由多分辨分析理论可知:

()x Φ是尺度函数,对其作伸缩、平移变换得到()mk x Φ。 Mallat 同时证明了函数()f x 在2m 和12m -分辨率下的信息差别(即细节)()m D f x ,可以通过将函数() f x 在一小波正交基上分解而获得,从而定义了一种完全而且正交的多分辨率描述,即小波描述。 ()mk x ψ就是式(5)定义的二进小波,则()f x 在12m -分辨率下的逼近式为: Mallat 并指出,对于任意一个函数 2()()f x L R ∈可以在一组正交小波基上展开: 式(11)是一个平方可积函数的小波分解,提供了小波神经网络设计的理论框架。 .. 12(,)x x ο 则有2.2 (ψ(f x 式(Lk a 与式 (17i c i 则有: 即(21)=f Ac 式(20)的最小二乘解为: +A 被称为A 的伪逆矩阵。且 如果样本i x 均匀分布,(1,2,...,)θ=i i n 是正交基, 则T A A 是一个?n n 单位矩阵,且

2021年小波神经网络及其应用

小波神经网络及其应用 欧阳光明(2021.03.07) 1014202032 陆宇颖 摘要:小波神经网络是将小波理论和神经网络理论结合起来的一种神经网络,它避免了BP 神经网络结构设计的盲目性和局部最优等非线性优化问题,大大简化了训练,具有较强的函数学习能力和推广能力及广阔的应用前景。首先阐明了小波变换和多分辨分析理论,然后介绍小波神经网络数学模型和应用概况。 1.研究背景与意义 人工神经网络是基于生物神经系统研究而建立的模型,它具有大规模并行处理和分布式存储各类图像信息的功能,有很强的容错性、联想和记忆能力,因而被广泛地应用于故障诊断、模式识别、联想记忆、复杂优化、图像处理以及计算机领域。但是,人工神经网络模型建立的物理解释,网络激活函数采用的全局性函数,网络收敛性的保证,网络节点数的经验性确定等问题尚有待进一步探讨和改善。 小波理论自Morlet 提出以来,由于小波函数具有良好的局部化性质,已经广泛渗透到各个领域。小波变换方法是一种窗口大小固定但其形状可以改变, 时间窗和频率窗都可以改变的时频局部化分析方法, 由于在低频部分具有较高的频率分辨率和较低的时间分辨率, 在高频部分具有较高的时间分辨率和较低的频率分辨率, 所

以被誉为数学显微镜。正是这种特性, 使小波变换具有对信号的自适应性。基于多分辨分析的小波变换由于具有时频局部化特性而成为了信号处理的有效工具。实际应用时常采用Mallat快速算法,利用正交小波基将信号分解到不同尺度上。实现过程如同重复使用一组高通和低通滤波器把信号分解到不同的频带上,高通滤波器产生信号的高频细节分量,低通滤波器产生信号的低频近似分量。每分解一次信号的采样频率降低一倍,近似分量还可以通过高通滤波和低通滤波进一步地分解,得到下一层次上的两个分解分量。 而小波神经网络(Wavelet Neural Network, WNN)正是在近年来小波分析研究获得突破的基础上提出的一种人工神经网络。它是基于小波分析理论以及小波变换所构造的一种分层的、多分辨率的新型人工神经网络模型,即用非线性小波基取代了通常的非线性Sigmoid 函数,其信号表述是通过将所选取的小波基进行线性叠加来表现的。 小波神经网络这方面的早期工作大约开始于1992 年,主要研究者是Zhang Q、Harold H S 和焦李成等。其中,焦李成在其代表作《神经网络的应用与实现》中从理论上对小波神经网络进行了较为详细的论述。近年来,人们在小波神经网络的理论和应用方面都开展了不少研究工作。 小波神经网络具有以下特点。首先,小波基元及整个网络结构的确定有可靠的理论根据,可避免BP 神经网络等结构设计上的盲目性;其次,网络权系数线性分布和学习目标函数的凸性,使网络

小波神经网络研究进展及展望_陈哲

综 述 小波神经网络研究进展及展望 陈 哲 冯天瑾 (青岛海洋大学电子工程系,青岛,266003)摘 要 关于小波分析与人工神经网络结合的研究,近些年来已成为信号处理学科的热点之一,已有大量的研究成果见诸各种学术刊物和会议论文。小波变换具有良好的时频局部性质,神经网络则具有自学习功能和良好 的容错能力,小波神经网络(W NN )由于较好地结合了两者的优点而具有强大的优势。作者较系统地综述了小 波神经网络的研究进展,讨论了小波神经网络的主要模型和算法,并就其存在的一些问题,应用与发展趋势进 行了探讨。 关键词 神经网络;小波分析;小波神经网络 中图法分类号 T P 911.7 小波自80年代提出以来,理论和应用都得到了巨大的发展,小波分析的出现被认为是傅立叶分析的突破性进展[1~3]。多层感知器(M ultila yer Perceptr on,M L P)是一种广泛应用的神经网络模型,实践证明M L P 具有较好的空间映射能力和推广能力。目前,神经网络的理论研究日趋深入,其重要发展方向之一,就是注重与小波、混沌、模糊集等非线性科学理论相结合。小波变换具有时频局部特性和变焦特性,而神经网络具有自学习、自适应、鲁棒性、容错性和推广能力,如何把两者的优势结合起来,一直是人们关注的问题。一种方法是用小波分析对信号进行预处理,即以小波空间作为模式识别的特征空间。通过将小波基与信号的内积进行加权和来实现信号的特征提取,然后将提取的特征向量送入神经网络处理;另一种即所谓的小波神经网络(W av elet neura l netw or k,W NN )或小波网络,把小波变换与神经网络有机地结合起来,充分继承了两者的优点。小波与前馈神经网络的结合是小波网络的主要研究方向,也是本文着重讨论的内容。小波还可以与其它类型的神经网络相结合:例如用Koho nen 网络对信号做自适应小波分解[4],RBF 网络与小波的结合[5]等。1 小波神经网络 小波神经网络可看作是以小波函数为基底的一种函数连接型网络,也可以认为是径向基函数(Radial ba-sis functio n,RBF)网络的推广,但它又具有与一般前馈网络和RBF 网络所不同的特点,在神经网络研究领域中具有巨大的潜力。现就其主要模型和算法综述如下。 1.1小波网络基本模型 Pati 和Krish napra sad [6]最早研究了神经网络与小波变换的联系,提出了离散仿射小波网络模型。其思想是将离散小波变换引入神经网络模型,通过对Sig moid 函数的平移伸缩构成L 2(R )中的仿射框架,进而构造小波神经网络。1992年Zhang Qing hua 和Benv eniste [7]明确提出了小波网络的概念和算法。其思想是用小波元代替了神经元,即用已定位的小波函数代替S ig modi 函数作激活函数,通过仿射变换建立起小波变换与网络系数之间的联接,并应用于函数逼近。随后Szu 等[8]又提出了基于连续小波变换的两种自适应小波神经网络模型。一种用于信号表示,偏重于函数逼近;另一种偏重于选取合适的小波做特征提取,其实质是在小波特征空间中寻找一组最佳的小波基,因不涉及重构问题,小波的正交性要求不是很苛刻, 第29卷 第4期 1999年10月 青岛海洋大学学报J OU RN AL OF OCE AN UVIVE RSI TY OF Q INGDAO 29(4):663~668  Oct.,1999  国家自然科学基金课题(69675005)资助 收稿日期:1998-09-23;修订日期:1999-05-11 陈 哲,男,1976年6月出生,硕士生。

小波神经网络预测的代码1

clc; clear all; %设定期望的误差最小值 err_goal=0.01; %设定最大循环次数 max_epoch=50; %设定修正权值的学习速率0.01-0.7 lr=0.7; epoch=0; x=0:0.01:0.3;%输入时间序列 %d=sin(8*pi*x)+sin(4*pi*x)+5*sin(pi*x);% d=[1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 10 9 8 7];%目标输出序列M=size(x,2);%输入节点的个数 N=M;%输出节点的个数 n=10;%隐形节点的个数 %这个地方需要改进,由于实际上隐形节点的个数可以通过小波的时频分析确定 Wjk=randn(n,M); Wij=randn(N,n); % a=randn(1,n); a=1:1:n; b=randn(1,n); % stepa=0.2*(x(M)-x(1)); % a=stepa:1n-1)+stepa; % step=(x(M)-x(1))/n; % b=x(1)+step:step:x(1)+n*step; % y=zeros(1,N);%输出节点初始化 y=zeros(1,N);%输出节点初始化 net=zeros(1,n);%隐形节点初始化 net_ab=zeros(1,n);%隐形节点初始化 %step2--------对网络进行训练------------------------------------------- for i=1:1:N for j=1:1:n for k=1:1:M net(j)=net(j)+Wjk(j,k)*x(k); net_ab(j)=(net(j)-b(j))/a(j); end y(i)=y(i)+Wij(i,j)*mymorlet(net_ab(j)); %mymorlet是judyever编写的小波函数,以后可以扩展成输入不同的小波名字即可 % y(i)=mysigmoid(2,y(i)); end end

用小波神经网络来对时间序列进行预测

/* Note:Your choice is C IDE */ #include"stdio.h" void main() { }/*用小波神经网络来对时间序列进行预测 */ /*%File name : nprogram.m %Description : This file reads the data from %its source into their respective matrices prior to % performing wavelet decomposition. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Clear command screen and variables */ clc; clear; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % user desired resolution level (Tested: resolution = 2 is best)*/ level = menu('Enter desired resolution level: ', '1',... '2 (Select this for testing)', '3', '4'); switch level case 1, resolution = 1; case 2, resolution = 2; case 3, resolution = 3; case 4, resolution = 4; end msg = ['Resolution level to be used is ', num2str(resolution)]; disp(msg); /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % user desired amount of data to use */ data = menu('Choose amount of data to use: ', '1 day', '2 days', '3 days', '4 days',... '5 days', '6 days', '1 week (Select this for testing)'); switch data case 1, dataPoints = 48; /*%1 day = 48 points */ case 2, dataPoints = 96; /* %2 days = 96 points */ case 3, dataPoints = 144; /*%3 days = 144 points */ case 4, dataPoints = 192; /*%4 days = 192 points */ case 5, dataPoints = 240; /* %5 days = 240 points */

神经网络技术综述

神经网络技术综述 1引言 人工神经网络(Artificial Neural Network,ANN)简称为神经网络〔NN),是由大量的神经处理单元广泛地相互连接而形成的复杂网络,它是从微观结构和功能上对人脑的简化、抽象和模拟。它具有大规模并行模拟处理、连续时间动力学和网络全局等特点,可以大大提高工作速度。信息的存储体现在神经元之间连接的分布上神经网络有很强的自适应和学习能力、鲁棒性和容错能力,从而可以替代复杂的传统算法,使信号处理更接近于人类的思维活动。神经网络的研究涉及众多学科领域,这些领域互相结合、相互渗透并相互推动。 早在本世纪四十年代,人们己经开始了人工神经网络的研究工作。1943年,心理学家McCulloch和数学家Pitts一起提出了神经元模型(MP模型),神经网络科学的研究从此开始。1957年,Rosenblatt设计出感知器,第一次把神经网络的研究付诸工程实现。我国关于神经网络的研究起步于八十年代后期,1989年10月在北京召开了一个非正式的神经网络会议。 1987年6月在美国圣地亚哥召开了第一届世界神经网络会议,标志着神经网络在世界范围内形成高潮。美国国防部预研计划管理局于1988年11月开始一项投资达数亿美元的发展神经网络及其应用研究的计划,并将基于神经网络的自动目标识别、声纳信号处理、语音识别、地震勘探信号处理等作为为研究的重中之重,并认为这些是最有前景并能取得重大突破的应用领域。目前,我国实施的有关自然科学基金重大项目也将基于神经网络的智能信号处理作为重点研究内容。日本、法国、加拿大等国家也制订了相应计划发展神经网络,并将神经网络在信号处理的应用研究作为重点研究方向。

相关文档
最新文档