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 + -
显示快捷键?