已知ZDT1函数如下:
当维度为8时,使用BP神经网络训练,在300个测试集上真实与预测的f1与f2结果如下:红色圆圈表示真实目标值,蓝色圆圈表示预测目标值。
测试集在f1上的预测值与真实值:
测试集在f2上的预测值与真实值:
画图代码如下:
Target1=Target';
pre1=pre';
Targ1=[Target1(1,:);pre1(1,:)];
Targ2=[Target1(2,:);pre1(2,:)];
m=1:Num;
figure(1)
for i=1:Num
plot(Targ1(:,i),Targ2(:,i),'-ok')
hold on
end
p1=plot(Target(:,1),Target(:,2),'or');
hold on
p2=plot(pre(:,1),pre(:,2),'ob');
legend([p1,p2],'real','predict');
grid on
xlabel('f1');
ylabel('f2')
figure(2)
plot(m,Target(:,2),m,pre(:,2));
title('f2')
xlabel('Num')
ylabel('f2')
legend('real','predict');
figure(3)
plot(m,Target(:,1),m,pre(:,1));
title('f1')
xlabel('Num')
ylabel('f2')
title('f1')
legend('real','predict');
当测试为3000时:
在f1上的结果:
在f2上的结果:
训练集1500,测试200:
训练集上的Loss:
测试集上f1与f2:
f1:
f2: