您的位置首页百科问答

请问大神:函数拟合神经网络(fitnet)是BP神经网络吗?在线等待中。

请问大神:函数拟合神经网络(fitnet)是BP神经网络吗?在线等待中。

的有关信息介绍如下:

请问大神:函数拟合神经网络(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神经网络具有拟合非线性函数的功能,属于一种函数拟合神经网络。

人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。

非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。