在以下作为较大代码的一部分的简短示例代码中,我试图找到均方误差,它是一种性能指标,将通过检查 MSE 来决定函数的评估程度。MSE 的值越低,评估的输出越接近真实结果。我用 10 个不同的数据集重复实验 10 次,并记录所有数据集中的最小误差。整个过程运行 100 次。数据是大小为 10*3 的矩阵,即 10 个数据样本,每个样本包含 3 个元素。
我对计算均方误差、平均均方误差和最小误差的方式有疑问。最后,我有兴趣绘制一个图表,显示误差的下降曲线,其中 X 轴 = 函数评估次数和 Y 轴 = MinimumErr
,以显示误差函数在程序的 100 次试验中逐渐减小。请帮忙
for trials = 1:100
for expt = 1:10
DataSet = Data(expt,:);
for evaluation = 1:50
%Evaluate a function
[B1 B2 B3] = F(DataSet)
%Find error between the desired outputs(A1,A2,A3) of the function and the obtained output (B1,B2,B3). The function evaluation returns these 3 values.
err(evaluation,:) = (A1-B1)^2+ (A2-B2)^2 + (A3-B3)^2;
end
MeanSqErr = sum(err)/(3*evaluation);
end
MinimumErr(expt) = min(err);
end
AverageMSE= sum(MeanSqErr)/(trials)