nn4.m

来自「神经网络得到了广泛的应用」· M 代码 · 共 49 行

M
49
字号
%二层感知器神经网络解决单层感知器不能模拟异或函数问题

clear all;
clc;
%初始化随机感知器层

p1=[0 1; 0 1];
net1=newp(p1,3);
net1.inputweights{1}.initFcn='rands';
net1.biases{1}.initFcn='rands';
net1=init(net1);
iw1=net1.iw{1}
b1=net1.b{1}


%随即感知层仿真
pt=[0 0; 0 1;1 0;1 1]';
[a1,pf]=sim(net1,pt)



%初始化第二感知器层
p2=[0 1;0 1; 0 1];
net2=newp(p2,1);



%训练第二层,以第一层的输出作为训练样本
net2.trainparam.epochs=10;
net2.trainparam.show=1;

pr=ones(3,4).*a1;
t=[0 1 1 0];
[net2,tr2]=train(net2,pr,t);
epoch2=tr2.epoch
perf2=tr2.perf
iw2=net2.iw{1}
b2=net2.b{1}

% save net_nn4 net1 net2;

%异或运算仿真
% load net_nn4;
pt=[0 0; 0 1;1 0;1 1]';
[a1,pf]=sim(net1,pt)

a2=sim(net2,ones(3,4).*a1)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?