ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mse

平均二乗正規化誤差性能関数

構文

perf = mse(net,t,y,ew)

説明

mse は、ネットワーク性能関数です。二乗誤差の平均に従ってネットワーク性能を測定します。

perf = mse(net,t,y,ew) は、次の引数を取ります。

net

ニューラル ネットワーク

t

ターゲットの行列または cell 配列

y

出力の行列または cell 配列

ew

誤差の重み (オプション)

これは、平均二乗誤差を返します。

この関数には、2 つのオプションのパラメーターがあります。これらのパラメーターは、net.trainFcn がこの関数に設定されたネットワークに関連付けられています。

  • 'regularization' は、0 ~ 1 の任意の値に設定できます。正則化の値が大きくなると、重みとバイアスの二乗がより多く、誤差に対する性能の計算に含まれるようになります。既定値は 0 であり、正則化なしに対応しています。

  • 'normalization' は、'none' (既定値)、'standard' (誤差を -2 ~ 2 の範囲に正規化、出力およびターゲットの -1 ~ 1 の範囲への正規化に対応)、'percent' (誤差を -1 ~ 1 の範囲に正規化) に設定できます。この機能は、多要素出力があるネットワークの場合に役立ちます。これにより、ターゲット値の範囲が最も大きい出力要素の相対精度を優先するのではなく、ターゲット値の範囲がさまざまであっても出力要素の相対精度が等しく重要なものとして扱われるようになります。

msefeedforwardnet または cascadeforwardnet を使用する標準的なネットワークを作成できます。mse を使用して学習が行われるようにカスタム ネットワークを準備するには、net.performFcn'mse' に設定します。これにより、net.performParam が既定のオプションのパラメーター値を持つ構造体に自動的に設定されます。

すべて折りたたむ

この例では、性能関数 mse を使用して、ニューラル ネットワークが学習する方法を説明します。

ここでは、2 層フィードフォワード ネットワークを作成し、性能関数 mse および正則化の値 0.01 を使用して体脂肪率を推定するように学習を行います。

[x, t] = bodyfat_dataset;
net = feedforwardnet(10);
net.performParam.regularization = 0.01;

MSE は、feedforwardnet の既定の性能関数です。

net.performFcn
ans = 
'mse'

ネットワークに学習させ、その性能を評価します。

net = train(net, x, t);
y = net(x);
perf = perform(net, t, y)
perf = 20.7769

または、mse を直接呼び出すこともできます。

perf = mse(net, t, y, 'regularization', 0.01)
perf = 20.7769

参考

R2006a より前に導入