请问大神:函数拟合神经网络(fitnet)是BP神经网络吗?在线等待中。
的有关信息介绍如下:是BP神经网络,是一个只有一个隐含层的的BP神经网络。
nntraintool中的fitnet
open fitnet 命令打开MATLAB中fitnet中的函数:
可以看到,里面使用了feedforwardnet()函数,这是建立BP神经网络的新函数,用以替代newff()函数。在feedforwardnet()函数中,隐藏层和输出层的传递函数分别是'tansig'和‘purelin’
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为使用模型参数并且反归一化后的输出数据
我认为是BP神经网络,理由是BP神经网络是一个最基本的神经网络,任何神经网络在拟合时都需要一个反向传播的过程,否则没有反馈就无法准确拟合数据,看了一下matlab关于fitnet的英文文档,虽然没有提到反向传播,但是根据其描述也可以判断出来。
只能说BP神经网络具有拟合非线性函数的功能,属于一种函数拟合神经网络。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。