より大きなコードの一部である次の短いコード例では、MSE を調べることによって関数がどの程度評価されたかを決定するパフォーマンス メトリックである平均二乗誤差を見つけようとしています。MSE の値を下げると、評価された出力が真の結果に近づきます。10 個の異なるデータ セットを使用して実験を 10 回繰り返し、すべてのデータ セットの中で最小のエラーを記録します。このプロセス全体が 100 回実行されます。データは、サイズが 10*3 の行列です。つまり、それぞれ 3 つの要素を含む 10 個のデータ サンプルです。
平均二乗誤差、平均二乗誤差、最小誤差の計算方法に疑問があります。最後に、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)