【发布时间】:2014-03-20 01:05:03
【问题描述】:
在以下作为较大代码的一部分的简短示例代码中,我试图找到均方误差,这是一个性能指标,将通过检查 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)
【问题讨论】:
-
对 1 到 50 的评价是什么?
-
当你说函数评估次数时,你是指
50还是100x10x50=5000?
标签: matlab plot mean-square-error