Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

mse

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

説明

ヒント

深層学習で平均二乗誤差を使用するには、regressionLayer を使用するか、dlarray のメソッド mse を使用します。

perf = mse(net,t,y,ew) は、ニューラル ネットワーク net、ターゲットの行列または cell 配列 t、出力の行列または cell 配列 y、および誤差の重み 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 は、ネットワーク性能関数です。二乗誤差の平均に従ってネットワーク性能を測定します。

すべて折りたたむ

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

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

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

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

net.performFcn

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

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

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

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

入力引数

すべて折りたたむ

性能を計算するネットワーク。SeriesNetwork オブジェクトまたは DAGNetwork オブジェクトとして指定します。

ターゲット。行列または cell 配列として指定します。

出力。行列または cell 配列として指定します。

誤差の重み。スカラーとして指定します。

出力引数

すべて折りたたむ

平均二乗誤差としてのネットワーク性能。

バージョン履歴

R2006a より前に導入

参考