二乗和誤差は回帰問題に使用される誤差関数。ニューラルネットワークの出力を受け取り、教師データを利用して誤差を計算する。
二乗和誤差は、統計学における最小二乗法に基づいて与えられている。
まず、線形モデル:
を考える。ここで、各変数は
であり、誤差の確率分布から
についてのBLUEをと書く。
性質
例:無作為抽出及び実数に対し、推定量を定義する。 がBLUEになる時、であり、である。
一般の線形モデルにおいて、未知母数のある係数(はの各行ベクトルに対応)による線形結合:
についてのBLUEを考える。逐次に対応するBLUEを求めるのは煩雑であるため、二乗和誤差:
を最小にするを求めてをBLUEとすることが、最小二乗法の原理である。
これは、二乗和であることから、であるが、後述のガウス・マルコフの定理により、となるがBLUEになることが保証されている。よって、二乗和であるを最小化することでBLUEを求められるのである。
となるとき、の形から、
となるので、
これを行列形式にすると、
となり、これを正規方程式という。これをについて解けば、を求められる。
線形モデルに関する任意の推定可能関数について、正規方程式を満たす最小二乗解から得られるが一意にBLUEを与える。
ここではがフルランク()の時のみ証明する。また、フルランク時以外でも擬似逆行列を用いることで、証明できる。
証明
(線形不偏推定量の証明)
より、に対し、
また、期待値:
より、はの線形不偏推定量である。
(線形不偏推定量の証明終)
(最良であることの証明)
次に、任意の線形不偏推定量を考え、差:
を取ると、に対し、より、が成り立つので、
ここで、の分散:
ここで、の誤差がの下でとした時、共分散は
となるから式(2)を用いると、式(3)の第2項:
よって、式(3)から、
となるので、はBLUEである。
(最良であることの証明終)
証明終
式(1)から、 を考える。すると、
は、以下の性質を満たす。
よって、は射影子であり、空間上のベクトルから、空間上のの張る空間への正射影となっており、がユークリッド距離でに最も近く、BLUEであることが直感的に捉えられる。
まず、線形モデル:
と、基本的なNueral Networkの変数の対応は以下のようになる。
上記の変数 | 上記での説明 | NNの変数 | NNでの説明 |
---|---|---|---|
実測値 | テストデータ | ||
入力値 | バイアスを考慮した番目の入力データ | ||
パラメータ | 全層での重み及びバイアスを一つにしたパラメータ | ||
BLUE | NNによる予測値 |
最下行に記したように、Neural Networkによる予測値をBLUEに一致させることが理想である。よって、二乗和誤差:
を最小化させれば良い。
をかけて微分を簡単にしたものが、Neural Networkでの二乗和誤差:
である。
input:
formula:
output:
input:
formula:
output:
import tensorflow as tf
# lossの計算
loss = tf.reduce_mean(tf.square(t - y))
# lossをOptimizer(例:勾配降下法)を指定して最小化
train_step = tf.train.GradientDescentOptimizer(µ).minimize(loss)