北大IT勉強会共同ウェブログ

Mean Squared Error (二乗和誤差)

Model Structure

Figure1

 二乗和誤差は回帰問題に使用される誤差関数。ニューラルネットワークの出力を受け取り、教師データを利用して誤差を計算する。

Why use MSE?

 二乗和誤差は、統計学における最小二乗法に基づいて与えられている。

線形モデル

 まず、線形モデル:

を考える。ここで、各変数は

であり、誤差の確率分布から

最良線形不偏推定量(Best Linear Unbiased Estimator; BLUE)

についてのBLUEをと書く。

性質

例:無作為抽出及び実数に対し、推定量を定義する。 がBLUEになる時、であり、である。

最小二乗法の原理

 一般の線形モデルにおいて、未知母数のある係数の各行ベクトルに対応)による線形結合:

についてのBLUEを考える。逐次に対応するBLUEを求めるのは煩雑であるため、二乗和誤差:

を最小にするを求めてをBLUEとすることが、最小二乗法の原理である。

 これは、二乗和であることから、であるが、後述のガウス・マルコフの定理により、となるがBLUEになることが保証されている。よって、二乗和であるを最小化することでBLUEを求められるのである。  

正規方程式

となるとき、の形から、

となるので、

これを行列形式にすると、

となり、これを正規方程式という。これをについて解けば、を求められる。

ガウス・マルコフの定理

 線形モデルに関する任意の推定可能関数について、正規方程式を満たす最小二乗解から得られるが一意にBLUEを与える。

簡易的な証明

ここではがフルランク()の時のみ証明する。また、フルランク時以外でも擬似逆行列を用いることで、証明できる。

証明

(線形不偏推定量の証明)

より、に対し、

また、期待値:

より、の線形不偏推定量である。

(線形不偏推定量の証明終)

(最良であることの証明)

 次に、任意の線形不偏推定量を考え、差:

を取ると、に対し、より、が成り立つので、

ここで、の分散:

ここで、の誤差がの下でとした時、共分散は

となるから式(2)を用いると、式(3)の第2項:

よって、式(3)から、

となるので、はBLUEである。

(最良であることの証明終)

証明終

幾何学的な意味

 式(1)から、 を考える。すると、

は、以下の性質を満たす。

  1. 対称性
  2. 冪等性

 よって、は射影子であり、空間上のベクトルから、空間上のの張る空間への正射影となっており、がユークリッド距離でに最も近く、BLUEであることが直感的に捉えられる。

Neural Networkへの導入

 まず、線形モデル:

と、基本的なNueral Networkの変数の対応は以下のようになる。

上記の変数 上記での説明 NNの変数 NNでの説明
実測値 テストデータ
入力値 バイアスを考慮した番目の入力データ
パラメータ 全層での重み及びバイアスを一つにしたパラメータ
BLUE NNによる予測値

 最下行に記したように、Neural Networkによる予測値をBLUEに一致させることが理想である。よって、二乗和誤差:

を最小化させれば良い。

 をかけて微分を簡単にしたものが、Neural Networkでの二乗和誤差:

である。

Forward

input:

formula:

output:

Backward

input:

formula:

output:

Tensorflow

import tensorflow as tf

# lossの計算
loss = tf.reduce_mean(tf.square(t - y))

# lossをOptimizer(例:勾配降下法)を指定して最小化
train_step = tf.train.GradientDescentOptimizer(µ).minimize(loss)