📄 nn4.m
字号:
%二层感知器神经网络解决单层感知器不能模拟异或函数问题
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -