G検定(ジェネラリスト検定)
へいきんにじょうごさかんすう
平均二乗誤差関数
MSE
Mean Squared Error Function
予測値と正解の値の差を二乗し、データ全体で平均した値を返す損失関数です。大きく外れた予測ほど値を大きく押し上げ、出力にガウス分布を仮定した最尤推定はこの関数を最小化する問題と同じになります。
詳しい説明
予測と正解のずれを1つの数にまとめる関数
平均二乗誤差関数(Mean Squared Error、略してMSE)は、モデルが出した予測値と正解の値との差を二乗し、それをデータ全体で平均した値を返す関数です。ニューラルネットワークの学習では、この値を損失(モデルの予測がどれだけ外れているかを表す数)として使い、値が小さくなる方向へパラメータを調整します。
連続した数値を当てる回帰問題では、予測のずれそのものを測りたい場面が多くあります。平均二乗誤差関数は、データ1件ごとのずれを二乗してから平均するので、ずれが正の方向か負の方向かに関係なく、データ全体の外れ具合を0以上の1つの数で表せます。
教科書のXORの例で使われている式
イアン・グッドフェロー(Ian Goodfellow)、ヨシュア・ベンジオ(Yoshua Bengio)、アーロン・クールビル(Aaron Courville)による教科書「Deep Learning」(2016年)の第6章は、XOR(排他的論理和。2つの入力のうち片方だけが1のときに1を出す関数)をニューラルネットワークに学習させる例を扱っています。この例では、XORの学習を回帰問題として扱い、損失に平均二乗誤差関数を使っています。式は次のとおりです(同書の式6.1)。
は損失の値、 はモデルのパラメータ(重みやバイアス)です。 は入力 に対する正解の値で、ここではXORの本当の出力にあたります。 はパラメータ のモデルが出した予測値です。 は学習に使う入力の集まりで、XORでは (0, 0)、(0, 1)、(1, 0)、(1, 1) の4点です。4点の二乗誤差を合計して4で割るので、係数が になっています。
データが 件あり、 番目の正解を 、予測を と書くと、同じ考え方は次の形になります。
XORの4点で計算する
XORの4点について、あるモデルAが次の予測値を出したとします(予測値は説明のための架空の値です)。差は「正解 - 予測」で求めています。
| 入力 x | 正解 | モデルAの予測 | 差 | 差の二乗 |
|---|---|---|---|---|
| (0, 0) | 0 | 0.2 | -0.2 | 0.04 |
| (0, 1) | 1 | 0.7 | 0.3 | 0.09 |
| (1, 0) | 1 | 0.9 | 0.1 | 0.01 |
| (1, 1) | 0 | 0.4 | -0.4 | 0.16 |
差の二乗を合計すると 0.04 + 0.09 + 0.01 + 0.16 = 0.30 です。これをデータ数の4で割ると、モデルAの平均二乗誤差は 0.30 ÷ 4 = 0.075 になります。
比べるために、どの入力にも 0.5 を出すモデルBを考えます。4点とも差は 0.5 か -0.5 なので、差の二乗はどれも 0.25 です。合計は 1.00 で、4で割ると平均二乗誤差は 0.25 になります。
値の読み方と二乗の効き方
平均二乗誤差は差を二乗した値の平均なので、負になることはありません。すべての予測が正解と一致すれば0になり、外れるほど大きくなります。上の例では、モデルAの 0.075 がモデルBの 0.25 より小さいので、この4点に対してはモデルAのほうが正解に近い予測をしていると読めます。
二乗するため、大きなずれほど損失に強く効きます。モデルAでは、入力 (1, 1) の差 0.4 は入力 (1, 0) の差 0.1 の4倍ですが、差の二乗は 0.16 と 0.01 で16倍になります。モデルAの合計 0.30 のうち、差の大きい (1, 1) の1点だけで 0.16 を占めています。そのため、平均二乗誤差を小さくしようとする学習は、大きく外れているデータのずれを縮めることを強く優先します。
最尤推定から見た平均二乗誤差
同じ教科書の第6章は、損失関数をどう選ぶかを最尤推定(観測されたデータが最も起こりやすくなるようにパラメータを決める方法)の考え方で説明しています。最尤推定にもとづく一般の損失は、次の負の対数尤度です(同書の式6.12)。
は訓練データの分布、 は入力 のもとでモデルが正解 に割り当てる確率です。同書は、この損失が訓練データとモデルの分布の間の交差エントロピーと同じものだと説明しています。
ここでモデルの分布として、予測値 を中心とするガウス分布 を仮定すると、この一般の式は次の形になります(同書の式6.13)。
最後の定数はパラメータ を含まないので、どの が損失を最小にするかには影響しません。係数が か かの違いも、最小になる を変えません。つまり、正解が予測値のまわりにガウス分布で散らばっていると仮定して最尤推定を行うことと、平均二乗誤差を最小にすることは同じ問題です。同書はこの負の対数尤度を交差エントロピーと呼んでおり、平均二乗誤差関数は、この交差エントロピー(一般式)でモデルの分布にガウス分布を仮定した特殊なケースにあたります。
二値データに使うときの注意
XORの正解は0か1の二値ですが、教科書はこの例を回帰問題として扱い、平均二乗誤差関数を使っています。そのうえで同書は同じ箇所で、実際の応用では平均二乗誤差関数は二値データのモデル化に適さないことが多いと明記しています。平均二乗誤差関数が自然に導かれるのは、上で見たとおり正解がガウス分布で散らばると仮定したときです。正解が0か1しかとらないデータを扱うときは、この仮定が合っているかを確かめてから損失関数を選ぶ必要があります。
試験で問われること
G検定
- 予測値と正解の値の差を二乗し、データ数で割って平均した値です。値は0以上で、すべての予測が正解と一致すると0になり、外れるほど大きくなります。
- 差を二乗するため、大きく外れたデータほど損失に強く効きます。差が4倍になると、差の二乗は16倍になります。
- 予測値を中心とするガウス分布をモデルの分布と仮定して最尤推定を行うと、負の対数尤度の最小化は平均二乗誤差の最小化と同じ問題になります。
- 教科書「Deep Learning」第6章はXORの学習を回帰問題として扱い、平均二乗誤差関数を使っています。一方で同書は、実際の応用では二値データのモデル化に適さないことが多いと述べています。
最終更新日: 2026/09/23