请问大神:函数拟合神经网络(fitnet)是BP神经网络吗?在线等待中。
是BP神经网络,是一个只有一个隐含层的的BP神经网络。
open fitnet 命令打开MATLAB中fitnet中的函数:
可以看到,里面使用了feedforwardnet()函数,这是建立BP神经网络的新函数,用以替代newff()函数。在feedforwardnet()函数中,隐藏层和输出层的传递函数分别是'tansig'和‘purelin’
另外需要指出的是,在建立的神经网络中,权重和阈值是归一化后的参数使用的权重和阈值,归一化的过程是在fitnet()函数中进行的。
具体的问题可以使用下面的代码来加深理解。
clear
clc
[x,t] = simplefit_dataset;
net = fitnet(10);
net = train(net,x,t);
y = net(x); %x为输入,t为输出
%获取模型参数
w1= net.iw{1,1};
b1=net.b{1};
w2 = net.lw{2,1};
b2=net.b{2};
%%%查看网络的传递函数
ss=net.layers{1}.transferFcn;
sw=net.layers{2}.transferFcn;
x1=mapminmax(x); %x1为原始数据归一化后的输入数据
[t1,ps]=mapminmax(t); %t1为原始数据归一化后的输出数据
t11=w2*(tansig(w1*x1+b1))+b2; %t11为神经网络求取的归一化输出数据
t12=mapminmax('reverse',t11,ps); %t12为使用模型参数并且反归一化后的输出数据
2024-12-25 广告