📄 p5.m
字号:
clf;
figure(gcf);
p=[0.8 -1.4];
t=[0.4 1.2];
w_range=-1:0.2:1; %权值从-1变为1步长0.2
b_range=-1:0.2:1; %阈值从-1变为1步长0.2
es=errsurf(p,t,w_range,b_range,'purelin');
plotes(w_range,b_range,es);
maxlr=0.40*maxlinlr(p,'bias'); %利用maxlr函数设置学习率
net=newlin([-2 2],1,[0],maxlr); %设计一个具有最小误差的单层线性网络
net.trainparam.goal=.001; %设置误差
subplot(1,2,2); %在一个窗口内设置并行的两个子窗口
h=text(sum(get(gca,'xlim'))*0.5,sum(get(gca,'ylim'))*0.5,'*click on me*'); %标注
set(h,'horizontal','center','fontweight','bold'); %设置h特性
[net.iw{1,1},net.b{1}]=ginput(1); %设置用鼠标给定权值阈值
delete(h);
[net,tr]=train(net,p,t); %训练网络
format compact;
a=0;e=0;sse=0;
a=sim(net,p)
e=t-a;
sse=sumsqr(e);
plotes(w_range,b_range,es);
plotep(net.iw{1,1},net.b{1},sse);
plotperf(tr,net.trainparam.goal); %绘制训练性能(目标,确认和测试性能)
% 结果:先用鼠标在error contour图上选取权值和阈值,比如w=-0.5,b=-0.2.
% TRAINWB,Epoch 0/100,MSE 0.748256/0.001.
% TRAINWB,Epoch 14/100,MSE 0.000628521/0.001.
% TRAINWB,Performance goal met.
% a=0.3647,1.1965.
% e=0.0353,0.0035.
% sse=0.0013.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -