matlab数学建模-神经网络算法(通用神经网络工具箱函数)

1.前向网络

输入层、输出层和隐含层,其中输出层和隐含层作为计算节点。

2.反馈网络

网络减神经元有反馈,信息处理是状态的变换。

Hopfield网络、玻尔兹曼机均属于这种类型。

3.一些常用工具箱函数(后面一些函数,我挨个试了,有的都可以实现相同效果)

clear all
clc
x=[0 1 0 1;0 0 1 1];
t=[0 0 0 1];
%感知机,神经网络起源的算法
net=perceptron;
%用configure建立一个感知器神经网络
net=configure(net,x,t);
%训练建立的神经网络
net=train(net,x,t);
%对完成训练的神经网络再次初始化 权值,偏置重新变成0
net=init(net);
net.iw{1,1}
net.b{1}

初始化函数:修正权值、偏置等参数

net=init(NET);

单层神经网络初始化函数

net=initlay(NET);

单层权值、偏置初始化函数

net=initwb(NET,i);

训练函数

[net,tr,Y,E]=train(NET,X,T,Xi,Ai);
NET要训练的神经网络
X神经网络输入
T神经网络目标输出
Xi初始输入延时,默认0
Ai初始的延时层,默认0
net完成训练的神经网络
tr训练步数
Y神经网络的输出
E神经网络的误差

仿真函数

[Y,Xf,Af,E]=sim(net,X,Xi,Ai,T)
net要训练的神经网络
X神经网络输入
T神经网络目标输出
Xi初始输入延时,默认0
Ai初始的延时层,默认0
Xf最终输入延时
Af最终层延时
Y神经网络的输出
E神经网络的误差v

和函数:通过某一层的加权输入和偏值相加作为该层的输入。

N=netsum({Z1,Z2,...,Zn},Fp)
 FP是功能参数
z1=[2 1 3;3 4 2];
z2=[7 8 9;3 2 4];
b=[0;-1];
%将列向量b 变成每一列(3列)都相同的矩阵
n=netsum({z1,z2,concur(b,3)});

权值点积函数:输入向量与权值的点积可以得到加权输入

Z=dotprod(W,P,FP);
W=rand(4,3);
P=rand(3,1);
Z=dotprod(W,P);

网络输入的积函数:将某一层加权输入与偏值相乘结果,作为改层的输入

N=netprod({Z1,Z2,...,Zn});
z1=[2 1 3;3 4 2];
z2=[7 8 9;3 2 4];
b=[0;-1];
Z={z1,z2,concur(b,3)};
N=netprod(Z);

结果:


猜你喜欢

转载自blog.csdn.net/qq_54508596/article/details/127080753
今日推荐