matlab作业

发布 2022-09-20 19:19:28 阅读 4376

《数学软件应用实践》

姓名薄娇娇。

学院理学院。

专业11级数学与应用数学。

学号1110210307

2024年11月16日。

问题描述:传统的bp网络、rbf网络和cmac’网络等技术已经非常成熟。,应用广泛的同时也暴露很多局限性。

因此出现了混合神经网络技术〔如灰色神经网络)和同时改变权值和激励函数的基函数神经网络(如傅里叶神经网络);本作用开发的在传统bp算法的基础上将网络神经元中的激励闲数换成小波子函数,组建成的小波神经网络,亦属于基函数神经网络。小波神经网络是近几年国际上新兴的一种数学建模分析方程方法。

小波神经网络最早是由法国著名的信息科学研究机构 irlsa的 zhang qinghu等人2024年提出来的。小波神经用络是基于小波变换而构成的神经网络模型,即用非线性小波基取代通常的神经元非线性激励函数(如sigmoid函数),把小波变换与神经网络有机地结合起来,充分继承了两者的优点。近几年来,国内外有关小波网络的研究报告层出不穷。

小波与前馈神经网络是小波网络的主要研究方向。小波还可以与其他类型的神经网络结合,例如kohonen网络对信号做自适应小波分解。

图1 紧致型小波神经网络拓扑结构。

解决方法:本案例以mexihat小波函数为网络的输入和输出,数据采用逐个处理,三层网络拓扑结构,将神经元sigmoid函数换成morlet小波函数。这是因为函数morlet连续可导,时频局部化特性好,且函数表达式相对简单。

网络权植、小波函数的仲缩因子和平移因子的调整一与bp规则相同。取学习速率etri=0.02.

和动量因子aerfa=0.735,神经元数量h=15.

结果分析:1)由图可知,小波神经网络的拟合性能很好。网络训练2500次以后。

误差就基本不再变化,一般来说,鉴于小波神经网络的快速收敛的性能,训练次数在3000次以内为宜。神经元数目在满足误差精度的条件下、越少越好,否则网络结构松散,泛化能力退化,甚至引发网络的混沌效应。

2)所有的神经网络处理数据的方式有两种:数据逐个处理和批处理、本程序采用是前一种方法。这种方法的优点是编程目标清晰,容易实现。

缺点是逐个处理数据,网络在训练过程中会有遗忘性。网络的泛化能力即推理能力稍差,最主要的缺点会使网络学习过程时间的开支较大。因为程序中大量使用for循环语句。

附录:matlab程序。

融合拓扑结构的小波神经网络。

function main()

clc;clear all;close all;

用mexihat函数作为样本输入和输出。

样本输入值。

x=0:0.03:3;

c=2/(sqrt(3).*pi.^(1/4));

d=1/sqrt(2);

u=x/2-1;

目标函数的样本输出值。

targ=d.*c.*exp(-u.^2/2).*1-u.^2);

赋予网络学习速率和动量因子初始值。

eta=0.02;

aerfa=0.735;

初始化输出层和隐层的连接权wjh和隐层和输出层的连接权。

假设小波函数节点数为h,样本数为p,输出节点数为j,输入节点数为i.

h=15;p=2;

i=length(x);

j=length(targ);

%初始化小波参数。

b=rand(h,1);a=rand(h,1);

初始化权系数;

whi=rand(i,h);wjh=rand(h,j);

阈值初始化;

b1=rand(h,1);b2=rand(j,1);

p=0;保存的误差;

err_netout=

flag=1;count=0;

while flag>0

flag=0;

count=count+1;

xhp1=0;

for h=1:h

for i=1:i

xhp1=xhp1+whi(i,h)*x(i);

endixhp(h)=xhp1+b1(h);

xhp1=0;

endfor h=1:h

oxhp(h)=fai((ixhp(h)-b(h))/a(h));

endixjp1=0;

for j=1:j

for h=1:h

ixjp1=ixjp1+wjh(h,j)*oxhp(h);

endixjp(j)=ixjp1+b2(j);

ixjp1=0;

endfor i=1:j

oxjp(i)=fnn(ixjp(i));

endwuchayy=1/2*sumsqr(oxjp-targ);

保存每次的误差;

err_netout=[err_netout wuchayy];

求解小波网络运用bp算法,各参数每次学习的调整量。

for j=1:j

detaj(j)=-oxjp(j)-targ(j))*oxjp(j)*(1-oxjp(j));

endfor j=1:j

for h=1:h

detawjh(h,j)=eta*detaj(j)*oxhp(h);

endend

detab2=eta*detaj;

sum=0;

for h=1:h

for j=1:j

sum=detaj(j)*wjh(h,j)*diffai((ixhp(h)-b(h))/a(h))/a(h)+sum;

enddetah(h)=sum;

sum=0;

endfor h=1:h

for i=1:i

detawhi(i,h)=eta*detah(h)*x(i);

endend

detab1=eta*detah;

detab=-eta*detah;

for h=1:h

detaa(h)=-eta*detah(h)*(ixhp(h)-b(h))/a(h));

end引入动量因子aerfa,加快收敛速度和阻碍陷入局部极小值。

wjh=wjh+(1+aerfa)*detawjh;

whi=whi+(1+aerfa)*detawhi;

a=a+(1+aerfa)*detaa';

b=b+(1+aerfa)*detab';

b1=b1+(1+aerfa)*detab1';

b2=b2+(1+aerfa)*detab2';

本算法采用的是样本逐个处理而不是数据批处理。

p=p+1;

if p~=p

flag=flag+1;

elseif err_netout(end)>0.008

flag=flag+1;

elsefigure;

plot(err_netout);

xlabel('网络学习的次数');ylabel('网络输出的误差');

title('网络学习误差曲线','fontsize',20,'color',[0 1 1],'fontname','隶书');

endend

if count>6000

figure(1);

subplot(1,2,1)

plot(err_netout,'color','b','linestyle','linewidth',2.2,..

marker','markersize',3.5);

xlabel('网络学习的次数');ylabel('网络输出的误差');

title('误差曲线','fontsize',20,'color',[1 1 1],'fontname','隶书');

subplot(1,2,2)

handle1=plot(x,targ,'color','r','linestyle','linewidth',2.2,..

marker','p','markersize',3.5);

hold on

handle1=plot(x,oxjp,'color','g','linestyle','linewidth',2.2,..

'marker','d','markersize',3.5);

xlabel('样本输入值');ylabel('样本目标值与网络输出值');

title('目标值与网络输出值比较','fontsize',20,'color',[1 1 1],'fontname','隶书');

legend('样本目标值','网络**值');

break;

endend

function y3=diffai(x) %子程序。

y3=-1.75*sin(1.75*x).*exp(-x.^2/2)-cos(1.75*x).*exp(-x.^2/2).*x;

function yl=fai(x) %子程序。

yl=cos(1.75.*x).*exp(-x.^2/2);

function y2=fnn(x) %子程序。

y2=1/(1+exp(-x));

matlab作业

2011029170002王柳。a 一个问题的病态性如何,与求解它的算法有关系。错 b 无论问题是否病态,好的算法都会得到它好的近似解。错 c 计算中使用更高的精度,可以改善问题的病态性。错 d 用一个稳定的算法计算一个良态问题,一定会得到它好的近似解。对 e 浮点数在整个数轴上是均匀分布。错 f ...

matlab作业

matlab语言 第3次作业 字符串,单元数组和结构体 专业 海洋技术 海洋测绘方向 姓名 张体强学号 1026222 1 如何将一个char 数据类型的向量转化为相应的double 型数据类型的数据向量。从式1 到8,判断这些语句是否正确。如果它们正确,那么将产生什么结果?这题不要在电脑中做。1....

matlab作业

电子与通信工程学院。通信系统 实验报告。2013 2014 学年第1学期。调频 fm 系统调制解调 专业 通信工程。班级 通信111 班。学号 姓名 指导教师姓名陈多瑜。2013年 11 月日。1.频率调制或调频 fm 1 设调制信号为m t 调频信号的数学表达式为。例如 m t 的时域波形为。m ...