bp-algorithm.m

来自「我做BP算法的一些东西」· M 代码 · 共 38 行

M
38
字号
n = 8;                                %输入层单元个数
p=2*n+1;
m = 12;                              %输出层单元个数
threshold = [0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
X = [1	0	0	0	0	0	0	0;
    0	1	0	0	0	0	0	0;
    0	0	1	0	0	0	0	0;
    0	0	1	0	0	0	0	0;
    0	0	1	0	0	0	0	0;
    0	0	1	0	0	0	0	0;
    0	0	1	0	0	0	0	0;
    0	0	1	0	0	0	0	0]';
Y = [1	0	0	0	0	0	0	0	0	0	0	0;
     0	1	1	0	0	0	0	0	0	0	0	0;
     0	0	1	0	0	0	0	0	0	0	0	0;
     0	0	0	1	0	0	0	0	0	0	0	0;
     0	0	0	0	1	0	0	0	0	0	0	1;
     0	0	0	0	0	1	1	1	0	0	0	0;
     0	0	0	0	0	0	0	0	1	0	0	0;
     0	0	0	0	0	0	0	0	0	1	1	1]';
net = newff(threshold,[17 12],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=10000;
net.trainParam.goal=0.00001;
LP.lr=0.6;
net=train(net,X,Y);
%测试数据
X_test =  [1	0	0	0	0	0	0	0;
           0	1	0	0	0	0	0	0;
           0	0	1	0	0	0	0	0;
           0	0	1	0	0	0	0	0;
           0	0	1	0	0	0	0	0;
           0	0	1	0	0	0	0	0;
           0	0	1	0	0	0	0	0;
           0	0	1	0	0	0	0	0]';
T=sim(net,X_test)  
error=T-Y;
res=norm(error);
plot(error);

⌨️ 快捷键说明

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