小波神经网络程序
神经网络小波分析技术的研究

神经网络小波分析技术的研究神经网络小波分析技术是近年来发展迅速的一种分析技术。
它是基于小波分析的基础上,利用人工神经网络模型进行数据分析和模型建立的一种方法。
它的应用范围非常广泛,可以用于时间序列分析、图像处理、语音识别、金融风险评估等领域。
下面将从理论和应用两个方面探讨神经网络小波分析技术的研究。
一、理论研究神经网络小波分析技术是一种新的数据处理方法,它的理论基础是小波变换和人工神经网络模型。
在小波分析中,小波函数用于对信号进行分解,将信号分解成不同尺度和频率的小波系数,然后根据小波系数进行重构。
小波分析的优势在于可以同时分析信号的时域和频域信息,适用于处理具有局部特征的非平稳信号。
而在人工神经网络模型中,神经元利用类似于神经系统的方式处理信息,具有分布式处理、全局优化等优势。
神经网络小波分析技术将小波分析和神经网络模型有机地结合起来,用于数据分析和模型建立。
在神经网络小波分析中,先利用小波变换对原始数据进行分解,然后将小波系数作为输入信号传入神经网络中进行处理。
通过不断地迭代训练网络,最终获得满足误差要求的最优网络结构和权值,从而实现数据分析和模型建立。
神经网络小波分析技术在理论方面的研究主要包括网络结构的设计、学习算法的改进、模型评价等方面。
二、应用研究神经网络小波分析技术的应用范围非常广泛,可以应用于时间序列分析、图像处理、语音识别、金融风险评估等众多领域。
以下分别介绍一下神经网络小波分析技术在不同领域的应用。
1、时间序列分析时间序列分析是指对一系列按时间顺序排列的数据进行分析和预测的技术。
神经网络小波分析技术可以利用小波分解提取序列中不同频率成分,然后利用神经网络模型对时间序列进行建模和预测。
神经网络小波分析技术在金融、电力、医学等领域中都得到了广泛的应用。
2、图像处理图像处理是指对数字图像进行处理和分析的技术。
神经网络小波分析技术可用于数字图像压缩、边缘检测、纹理分析等方面。
利用小波变换可以提取图像中的局部特征,利用神经网络模型可以对图像进行分类识别,实现图像处理和分析。
小波型神经网络WTNN的设计

1996年 第5期中山大学学报论丛SUPP LEM EN T TO T HE JOU RN ALOF SUN YATSEN UNIV ERSI TYNo.5 1996 小波型神经网络W TNN的设计毛光喜郑咸义(广东商学院计算中心,广州510320) (华南理工大学应用数学系)摘 要 小波分析已成为众多领域中的有力工具.本文采用调制的小波基对输入模式预处理,在函数链神经网络的基础上设计了小波型神经网络W TNN,从而把小波变换与函数链神经网络有机地结合起来.这样设计的模型有惊人的学习速度;体系结构的通用性好;适应性强等特点.最后,通过实例用计算机模拟验证上述特点.关键词 小波变换,函数链神经网络,W TNN,软件模拟1 引 言1.1 小波分析 简言之,小波是由一个满足条件 Rh(x)dx=0(1)的函数(mother wavelet)通过平移和放缩而产生的一个函数族h a,b:h a,b(x)=|a|-1/2h((x-b)/a),a,b∈R,a≠0(2) 小波分析(Wavelets a nalysis)可以认为是Fourier分析发展史上里程碑式的进展.小波分析优于Fourier分析的地方在于它在时域和频域同时具有良好的局部化性质,从而可以把分析的重点聚焦到任意的细节,被人们誉为数学显微镜,成为近年来在工具和方法上的重大突破.从理论上讲,传统上使用Fourier分析的地方,均可以用小波分析来代替.小波几乎可以构成所有常用函数空间的无条件基.因此,我们把小波变换应用到函数链神经网络中,构造了一个新的模型W TNN——小波型神经网络.1.2 函数链神经网络函数链神经网络是对输入模式作非线性变换预处理、利用高阶效应而获得惊人学习速度的单层网络[1].它的基本思想是:一旦一节点被激励,例如k节点被激励,就会有许多附加函数功能也被激励,即不仅能得到O k,而且还能得到f1(O k),f2(O k),…,f n(O k).如图1所示.函数链神经网络的理论基础是Sobajic于1988年奠定的[2],他证明了函数展开模型总能产生一个单层网络,而且在他的理论分析指导下,可以得到形式简单的解.函数链神经网络的不足之处在于,该系统的适应性较差,该系统总是就具体问题而必须事先设计好一组恰国家自然科学基金资助项目收稿日期63:199-0-20当的函数型增强表达式f 1,f 2,…,f n .换句话说,该系统不能自动地获取对输入模式“好”的增强表达,这种“好”的增强表达是指输入模式的增强表达有利于网络的学习.因此,函数链神经网络的应用受到了限制.图1 函数链神经网络2 W TNN 的构造2.1 引入两个工具2.1.1 小波正交基库 这个库是由足够多的小波正交基以及其它许多正交基所组成的基函数集合,集合中的元素均为一组组基函数.2.1.2 选择“好”基的标准 对于原始输入模式,在小波正交基库中按此标准选择一个“好”基,从而对输入模式进行增强表达,即由O k 得到f 1(O k ),f 2(O k ),…,f n (O k ).Wickerharuse 与Coifman 引进了Shannon 熵的概念作为挑选基的标准[3].定义如下:定义 设H 是Hilbert 空间,令v ∈H ,‖v ‖=1,又假设H=⊕Hi 是H 的一个正交直和,则X (v ,{Hi })=(-∑‖v i ‖2ln ‖v i ‖2)1/2(3)称为向量V 关于直和分解{Hi}的Shannon 熵.其中{v i }是v 在此基{Hi}下的坐标.按照使Shannon 熵为最小的标准来挑选“最好”的基,用以展开H 中的元素.2.2 W TNN 模型的构造小波型神经网络W TNN 模型的结构如图2所示.图2 W TNN 模型的结构2.2.1 小波正交基库 也称为正交基馆或函数馆.例如,Coifman 及其合作者就构作了这样的一个正交基馆,其中收藏了大量的小波正交基以及其它许多正交基.2.2.2 调制器 也称为选基器或排基器.其功能是对给定的原始输入模式,在小波正交基库中调制出一个“最好”的基.从而按这个基对输入模式增强表达,进而作为神经网络的输入用于神经网络的训练控制机制是由选基标准实现的例如,我们按照使S 熵为最小的标准来设计调制器3 单层神经网络 网络学习算法采用最简单的W 规则①任取一组随机数初始化数值172中山大学学报论丛 1996年..hannon .2.2.:向量w 1;②对第k 次递归,有w k +1=w k +Z(b k -w f k x k )X k ,其中Z 称为学习年(0<Z <0.5).省去脚标,②式记为Δw=Z W X ,其中,W =b-w fX 为误差.2.2.4 目标系统 存放着具体目标的领域专家的知识.这些知识是粗糙零散的,以输入—输出关联对的形式表达.2.2.5 用户界面 W TNN 网络系统与用户(例如,领域专家)之间的接口,一般它包括输入/输出两大部分.2.3 W TNN 的工作原理(1)根据实际目标的领域专家的以输入—输出关联对形式表达的知识,确定目标系统.(2)从目标系统的传感器取得数据V (即原始输入模式)通过用户界面输入到小波正交基库中,从而对基库中每一个基元{Hi (k )}n i =1,V 都有其坐标展开,即V =∑ni=1V i (k)H i (k ).其中k 为基元素在库内的编号,V i (k )是第i 个坐标分量.(3)调制器在小波正交基库中取得各组{V i (k)}ni=1,根据选基标准,求出一组最优的坐标{V i (k 0)}n i=1,从而调制出一个“最好”的基{H i (k 0)}ni =1.(4)用{H k (k 0)(V )}对单层神经网络进行训练,以提高目标系统的准确性.3 W TNN 的特点W TNN 不仅完全继承了函数链神经网络的优点,而且还具有更强的功能.它有特点:(1)适应性强.WTNN 网络系统中的调制器子系统能自动调制小波基,实现对输入模式按有利于网络训练的方式增强表达.因此,W TNN 的适应性很强,弥补了函数链神经网络的不足.(2)小波变换与神经网络的有机结合.W TNN 网络模型采用小波变换对原始输入模式预处理,通过自动调制有利于网络训练的小波基,实现了小波变换与神经网络的成功结合.(3)继承了函数链神经网络的全部优点,模型结构简单,功能更加强大,网络对学习算法的依赖性很低,体系结构的通用性好.4 实例分析通过两个例子,在微机上运行了W TNN 模拟程序和相应的BP 网络模拟程序.通过对比,证实了WTNN 具有快速学习速度,进一步以函数链神经网络对比,显示了W TNN 网络系统具有很强的适应性.例1 二值异域问题在二值异域XOR 问题中,输入—输出关联对如表1所示.表2显示了系统误差随迭代次数下降的情况.表1 XOR 问题学习模式模式序号x 1x 2关联输出Y100120103173第5期 毛光喜等:小波型神经网络W TNN 的设计1004111表2 学习结果对比迭代次数W TNN 网络系统误差BP 网络系统误差500.050.86251000.002510.8551500.001260.852000.010.8252500.008750.7迭代次数W TNN 网络系统误差BP 网络系统误差3000.00750.553500.006250.34000.0050.054500.003750.0055000.00250.003例2 一元函数的学习向网络提供曲线的20个采样点,表3是输入—输出关联对,表4显示了系统误差随迭代次数下降的情况.表3 学习模式自变量x i函数值y i 自变量x i函数值y i 0.10.24350.60.24350.20.16750.70.75010.30.45490.80.11500.40.45490.90.66190.50.66191.00.0697自变量x i函数值y i 自变量x i函数值y i 1.10.3312 1.60.04111.20.5719 1.70.17181.30.4910 1.80.26521.40.4512 1.90.03321.50.01322.00.1177表4 学习结果对比迭代次数W TNN 网络系统误差BP 网络系统误差5000.0076920.23076910000.0007690.03076915000.0003850.023*******×0.019231迭代次数W TNN 网络系统误差BP 网络系统误差2500×0.0153853000×0.0076923500×0.0038464000××本文构造的W TNN 网络模型,只是初步探讨了小波变换与神经网络的结合.实际上,小波型神经网络W TNN 还需做更深入的研究.例如,神经网络与模糊系统的集成技术已引起了人们的普遍关注;遗传算法作为一种随机搜索的全局优化算法,它在模糊规则的自动获取与神经网络的学习过程中扮演了一个十分令人注目的角色.因此,探讨将W TNN 、遗传算法及模糊系统进行有机结合,将是我们进一步研究工作的重大课题.参考文献1 Klassen M S,Pao Y H .Cha racte ristics of the functional-link net :A higher order delta r ule net.IEEE Proc .of 2nd Aunua l Inte rnationa l Confe rence on Nea ral Networ ks ,1988,I ,507~513 S j D N N f f Sy ,D T ,S D ,W K U y ,,3 f R,W M V y f ,3174中山大学学报论丛 1996年2oba ic .ewral ets or Control o Power stems Ph ..h esis Computer cience ept Case este rn eserve niversit Cleveland 1988Coi ma n ickerha user .Eutrop -based a lgorithms or best basis selection.19928I EEE Tr ans.27,713~7184 周继成等编著.人工神经网络——第六代计算机的实现.北京:科学普及出版社,19935 庄镇泉,王煦法等编著.神经网络与神经计算机.北京:科学出版社,1994Wa velets Neura l Network Mode l -WTNN ’sDes ign a nd Rea liza tion Mao Guangxi Zheng Xianyi(Gua ngdong Commercia l College Com puter Center,Guangzhou 510320) (South China Univer sity ofTech Math D ept,)Abstr act Wavelets a nalysis have become powerful tools in lots of fields.This paper takes modulation wave-lets coordinate to pre-transform the lear n ing specimen.On the basis ofthe functional -link nevral network ,we design the wavelets neural network model -W TNN and combine wavelets transform with the functional-link neural network successfully .This new model has distinguishing feature as following :(1)surprising learning speed;(2)commonly used structure in erea of neural networks ;(3)strong adaptability .Lastly ,we give some examples to prove WTNN model has distinguishing learning speed .Keywor ds Wavelets transforms,W TNN ,functional-link neural network,softwa re imitative175第5期 毛光喜等:小波型神经网络W TNN 的设计。
小波神经网络

第 5期
四 川 兵 工 学 报
21 0 2年 5月
【 信息科学与控¥ -程】 J  ̄ r
小 波 神 经 网 络
左 东广 , 周 帅 , 张欣 豫
( 第二炮兵工程Biblioteka 学 一系 , 西安 702 ) 10 5
摘要 : 对小 波神经网络的基本结构 、 训练算法 、 结构设计及应用进行 了详 细分 析 , 通过小波神经 网络逼近一非线性 函 数 。结果表 明, 小波神经 网络具有 收敛速度快 、 仿真精度高的优点。
网络 结 构 可分 3种 形 式 : 图 2 小 波神 经 网络 紧致 型 结 构
种模仿 人脑信息处理 机制 的网络 系统 , 它具有 自组织 、 自学
习 和极 强 的 非 线 性 处 理 能 力 , 够 完 成 学 习 、 忆 、 别 和 推 能 记 识
1 )连续参数 的小波神经 网络 。这是小 波最初 被提 出采 用的一种形式 。令 图 2中基 函数为
的时频局部化性质及神经 网络的 自学 习功能的特点 , 被广泛
运用于信号 处 理、 数据 压缩 、 式识 别 和故 障诊 断等 领 域。 模 “ 紧致型” 小波神经 网络具有更好的数据处 理能力 , 是小波神 经网络的研究方 向。在 图 2中, 有输 入层 、 隐含层和输 出层 ,
输出层采用线性 输 出, 入层 有 m( 输 m=1 2 … , ) 神经 ,, 个
8 5
() 7
数修 正 , 易带来类似 B P网络参数 修正时存 在局 部极 小值 的
弱 点。
Y= ∑ (
( ) n) e
() 8
2 )由框架作 为基 函数 的小波神经 网络 。由于不考虑 正 交性 , 小波 函数 的选取有很 大 自由度 。令 图 2中的基 函数 为
小波神经网络原理及其应用

在窗口之外函数为零;本身是振荡的,具有波的性质, 并且完全不含有直流趋势成分,即满足
(0) (x)dx 0 7
2.小波变换的基本原理与性质
信号的信息表示 时域表示:信号随时间变化的规律,信息包括均值、方
精品文档
主要内容
1.小波变换与傅里叶变换的比较 2.小波变换的基本原理与性质 3.几种常用的小波简介 4.小波变换的应用领域 5.小波分析应用前景 6.小波变换的去噪应用 7.小波神经网络
2
1.小波变换与傅里叶变换的比较
傅立叶变换的理论是人类数学发展史上的一个 里程碑,从1807年开始,直到1966年整整用了一个半世 纪多才发展成熟,她在各个领域产生了深刻的影响得到 了广泛的应用,推动了人类文明的发展。其原因是傅立 叶理论不仅仅在数学上有很大的理论价值,更重要的是 傅立叶变换或傅立叶积分得到的频谱信息具有物理意义。 遗憾的是,这种理论具有一定的局限性。
△
1
叶变换为: a, () a 2e
ω,则相
j (a)
应的连
续小波
的傅立
a,
其频域窗口中心为:
1 a
0
1
a
窗口宽度为:
[1 a
0
1 2a
,
1 a
0
1 2a
]
信号在频域窗内:
从上面的时频域的讨论可见,连续小波的时频域窗口
18
3.小波变换的基本原理与性质——多分辨 分析
连续小波变换实现过程 首先选择一个小波基函数,固定一个尺度因子,将它与
模拟电路故障诊断的小波包预处理神经网络改进算法

pce t nfr ( WP )o cm lew vlt aktr s r (Wf )a rpoesr t r ,h sos i a o a gc ci aktr s m O T rn o pe ae ce t f a o i t ep a o n m I r s ercso.A s t r pne gl f l i u r p i f t ee sn a o r t n
处理 和不完全小 波包 变换 (WP )预处理 B I T P神经网络算 法。首先对模 拟电路 的响应信号用这 两种方 法进行 预处理 ,然 后 计算预处理后信号各个频段上 的归一化 能量 ,把 归一 化的能量 作为训练样 本送给 B P网络进行训 练 ,有效减少 了 B P网络 的 输入节点和 隐层节点 的个数 ,从而减小 了神 经网络的规模 ,降低 了计算 的复 杂度 ,加快 了网络 的训练 和收敛速度 。仿真实 验表 明此方法能够快速有效 的对模拟 电路 的故 障进行诊 断和定 位。 关键词 :模拟电路 ;故障诊断 ;最优小波包变换 ;不完全小波包变换 ;能量归一化 ;B P网络
Ab ta t T i p p rp e e t w mp o e P n u a ew r to s o u t ig o i fra ao i u t u i g o t a a ee src : hs a e r s n st o i r v d B e r l t o k meh d ff l d a n ss o n g cr i , sn p i lw v l t n a l c m
ma ia in;BP ur t r l z to ne a newo k l
1 引言
张维强 徐晨 宋 国乡
(. 1 深圳 大学智能科学计算研究所 , 广东 深圳 58 6 ; . 10 0 2 西安 电子科技大学理学院 , 陕西 西安 70 7 ) 10 1 摘 要 :提 出了基 于小 波包预处理 的神经网络模 拟电路故 障诊 断方法 的两种 改进方 法 :最 优小 波包变换 ( WP O T)预
小波神经网络(WNN)

⼩波神经⽹络(WNN)⼈⼯神经⽹络(ANN)是对⼈脑若⼲基本特性通过数学⽅法进⾏的抽象和模拟,是⼀种模仿⼈脑结构及其功能的⾮线性信息处理系统。
具有较强的⾮线性逼近功能和⾃学习、⾃适应、并⾏处理的特点,具有良好的容错能⼒。
⼈⼯神经元神经元是构成神经⽹络的最基本单元。
要想构造⼀个⼈⼯神经⽹络系统,⾸要任务是构造⼈⼯神经元模型。
⼀个⼈⼯神经⽹络的神经元模型和结构描述了⼀个⽹络如何将它的输⼊⽮量转换为输出⽮量的过程。
⼀个神经元有两个输⼊:输⼊向量p,阈值b,也叫偏差。
输⼊向量p通过与它相连的权值分量w相乘,求和后,形成激活函数f(.)的输⼊。
激活函数的另⼀个输⼊是神经元的阈值b。
权值w和输⼊p的矩阵形式可以由w的⾏⽮量以及p的列⽮量来表⽰:神经元模型的输出⽮量可以表⽰为:激活函数是⼀个神经元及⽹络的核⼼。
激活函数的基本作⽤是:1、控制输⼊对输出的激活作⽤;2、对输⼊、输出进⾏函数转换;3、将可能⽆限域的输⼊变换成指定的有限范围内的输出。
激活函数的常⽤类型:⼩波(wave/let):波-震荡,⼩-衰减速度⽐较快。
⼩波分析具有多分辨分析的特点,是⼀种窗⼝⼤⼩固定不变但其形状可以改变的分析⽅法,被称为信号的显微镜。
⼩波分析的种类:Haar⼩波规范正交基、Morlet⼩波、Mallat算法、多分辨分析、多尺度分析、紧⽀撑⼩波基、时频分析等。
⼩波神经⽹络(WNN)集⼈⼯神经⽹络和⼩波分析优点于⼀⾝,即使⽹络收敛速度快、避免陷⼊局部最优,⼜有时频局部分析的特点。
WNN是将神经⽹络隐结点的S函数由⼩波函数来代替,相应的输⼊层到隐含层的权值及隐含层的阈值分别由⼩波函数的尺度伸缩因⼦和时间平移因⼦所代替。
小波神经网络UCAV飞行控制系统

l+ ,一 ; .= l曩1 ’r +…+ 1 J I
-
:
一
B P,e T e ,
(O 1)
其中: r为非 负设 计参 数 , 参数 自适应 律 为 : 取
t  ̄ ( ) (I ‘I ) z PB磊 十 I i e I 一
啦 f: :
一
西 I ) 竺 Pi + 堡 B
网络 进 行 无 人 攻 击 机 ( AV) UC 飞行 控 制 系统 设 计 的 方 法 , 方 法 集 小 波 变 换 和 神 经 网络 的优 点 于 一 身 , 该 简化 了 网络 训 练 , 免 避 了 系统 达 到 局 部 最 优 解 , 得 系 统 具 有 更 好 的 逼 近 精 度 。 过 仿 真 实 验 表 明 , 用 小 波 神 经 网 络 进 行 UC 使 通 利 AV 控制 律 设 计 , 系 使 统 具 有 较 好 的 跟 踪 性 和鲁 棒 性 , 免 了精 确 模 型 的建 立 , 于 分 析 系统 的稳 定 性 。 避 便 关 键 词 : 人 攻 击 机 , 行 控 制 系 统 , 波 神 经 网络 , 制 律 , 线 性 不 确定 系 统 无 飞 小 控 非
[ , , () 则有 式 () ()… ] , 9成立 :
+ . -’ r ( - 一 | 一 _ + … + ( 一 ) 1 1)
e = Af , p e B t + (‘ + 矗 ( + )
( l )‘ + ) ( ) 9
其 中: 一 ( ( Z) zI 一 ( +△ ) ) G, 一 , =
1 基 于 小 波 神经 网络 的不 确 定 非 线 性 自适 应 H。 制 器设 计 。 控
1 1 不确 定 非线性 MI . MO 系统 模型
小波EMD神经网络信号处理

小波分析小波变换的基本原理离散小波变换z通过小波变换对某给定的信号进行分解,对信号小波包分解•小波包分解:不仅对信号的低频分量连续进行分解,而且对高频分量也进行连续分解,这样不仅可得到许多分辨率较低的低频分量,而且也可得到许多分辨率较低的高频分量.•对信号在整个频域范围内分解,不仅提高低频部分的频域分辨率,而且可提高高频部分的频域分辨率。
•小波包分解示意图采用小波包分解可以将原始信号分解到相邻的不同频率段上,并且可以用重构算法,提取某一频率段信号加以重构。
三级小波包分解树1332S A AAD DAD DD=+++33333333+ADAS AAA DAA DDA AAD DAD ADD DDD =++++++频域分析方法比较:–傅立叶分析小波分析具体步骤•小波分析技术在时域和频域均具有局部分析功能,所以适合•②确定小波基的阶数小波变换问题所在例:对白噪声信号noissin进行3层小波分解,所用小波函数为‘db4’。
load noissin; 读入白噪声信号s=noissin(1:1000); 取信号的前1000个采样点[c,l]=wavedec(s,3,’db4’); 对信号做3层多尺度分解[cd1,cd2,cd3]=detcoef(c,l,[1,2,3]);[cd1,cd2,cd3]detcoef(c,l,[1,2,3]);得到三个尺度的细节系数ca3=appcoef(c,l,’db4’,3); 得到尺度3的近似系数figure;subplot(511);plot(1:1000,s);title(‘s’); 绘制原始信号subplot(512);plot(ca3);title(‘ca3’); 绘制尺度3的近似系数subplot(513);plot(cd3);title(‘cd3’); 绘制尺度3的细节系数subplot(514);plot(cd2);title('cd2'); 绘制尺度2的细节系数subplot(515);plot(cd1);title('cd1'); 绘制尺度1的细节系数中,各层分解后的长度存到数组l中;[nc,nl]=upwlev(c,l,‘sym1’);通过第四层小波系数重建第三层小波近似系数,把三层的系数存放在数组nc中,三层分解的长度存放到数组nl中figure;subplot(311);plot(s);title(‘原始信号’); 绘制原始信号subplot(312);p();plot(c);title('做4层wavedec得到的结果');subplot(313);plot(nc);title('做3层wavedec得到的结果');lev=5;lev5;[c,l]=wavedec(x,lev,wname); 用sym6小波对信号x做5层分解sigma=wnoisest(c,l,1); 通过第1层的细节系数估算信号的噪声强度σ;alpha=2; 选择参数α=2thr1=wbmpen(c,l,sigma,alpha); %使用penalty策略确定降噪的阈值xd1=wdencmp(‘gbl’,c,l,wname,lev,thr1,’s’,1);%重建降噪信figure;subplot(411);plot(x);title(‘原始信号’);subplot(412);plot(xd1);title(‘使用penalty阈值降噪后信号’);小波工具箱的在前面的介绍中,都是用命令行的方式来利用小波工具箱菜单提供如下的功能:一维小波分析工具类,包括:一维小波变换、一维小波包变换等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这是一个小波神经网络程序,作者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
end
% plot(x,d,'r',x,y);
% title('训练前的目标序列和实际输出序列');
err=d-y;
SSE=err*err';
%step3--------调整各个参数-------------------------------------------
while (SSE>err_goal & epoch<max_epoch)
d_Wjk=zeros(n,M);
d_Wij=zeros(N,n);
d_a=zeros(1,n);
d_b=zeros(1,n);
for i=1:1:N
for j=1:1:n
d_Wij(i,j)=-(d(i)-y(i))*mymorlet(net_ab(j));
%调整d_Wij(i,j)
for k=1:1:M
d_Wjk(j,k)=d_Wjk(j,k)+ (d(i)-y(i)) * Wij(i,j) ;%计算还没有结束
d_Wjk(j,k)=-d_Wjk(j,k)*d_mymorlet(net_ab(j))*x(k)/a(j);%计算结束end
%调整d_Wjk(j,k)
d_b(j)=d_b(j)+(d(i)-y(i))*Wij(i,j);%计算还没有结束
d_b(j)=d_b(j)*d_mymorlet(net_ab(j))/a(j);%计算结束
%调整d_b(j)
d_a(j)=d_a(j)+(d(i)-y(i))*Wij(i,j);%计算还没有结束
d_a(j)=d_a(j)*d_mymorlet(net_ab(j))*((net(j)-b(j))/b(j))/a(j);%计算结束%调整d_a(j)
end
end
%step4--------网络重新计算-------------------------------------------
Wij=Wij-lr*d_Wij;
Wjk=Wjk-lr*d_Wjk;
b=b-lr*d_b;
a=a-lr*d_a;
%修正各个权值
y=zeros(1,N);%输出节点初始化
net=zeros(1,n);%隐形节点初始化
net_ab=zeros(1,n);%隐形节点初始化
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
epoch=epoch+1;
err=d-y;
SSE=err*err'/M;
[ epoch SSE]
end
%step5--------输出-------------------------------------------
plot(x,d,'r',x,y,':');
title('训练后的目标序列和实际输出序列');
% gtext({'This is the first line','This is the second line'})
% gtext({'First line','Second line'},'FontName','Times','Fontsize',12)
legend('target output','WNN output',1);
这里面用到的两个子程序分别是:
function y=mymorlet(t)
y = exp(-(t.^2)/2) * cos(1.75*t); %%%%%%%%%%%%%%%%%%%%%%555
function y=d_mymorlet(t)
y = -1.75*sin(1.75*t).*exp(-(t.^2)/2)-t* cos(1.75*t).*exp(-(t.^2)/2) ;。