バイアス・バリアンス分解
観測データの集合 から学習されたモデルにおいて, 新しいデータ に対して の予測する予測値 の真の値 のズレを損失という. ここではズレの指標として二乗誤差 について考える. これは についての汎関数になっている. を と の同時分布とおく. 損失函数の期待値は次で与えられる.
定義により様々な を観測した際の と のズレの平均を表している.
ここで言いたいこと
上記の損失は 2乗バイアス + バリアンス + ノイズ に分解される、モデルの複雑に応じてこれらの値は変化し、2乗バイアスとバリアンスはトレードオフの関係にある.
ズレを最小にする函数
このズレを最小にする は次のように書ける:
証明
いま, が を最小にするものとする. この に良い条件を持つ (e.g. 十分滑らかな) テスト函数 をわずかに付与, すなわち十分に小さい を用いて , なるものを考える. このとき
を要請する (平たくいうと汎関数 の極値).
二乗損失の場合は次のように極値をとる を計算する:
これが任意の について 0 を要請すると
よって
ゆえに
理想からの乖離
上記の議論から がズレをもっとも最小にする理想な函数である. 学習によって得られた に関しての を次のように分解できる:
証明
損失函数を を介して分解する.
このとき
がわかる.実際,
特に
これと
から示したいことが示される.
データごとに定まるモデルに関する期待値
まで分解できた.
ところで, モデルの特性は(アルゴリズムを一つ固定した場合), データによって決まる. 以下データ をパラメータとして と明示する. に対してモデル を求め, それの平均を と置く.このとき二乗誤差を次のように変形する:
第二項に関して を計算すると
よって
となる. 1項目 をバリアンスという。 第2項目を二乗バイアスという. (2項目の外側にある )は消して良い筈(中身がモデル に対して定数だから)
これらのお気持ち
バイアスは理想的な と様々なデータを用いて学習させたモデルの出力値とのずれを表し、手法自体のズレを表す.
バリアンスは特定のデータで得たモデル と全てのデータのとりかたについての予測値とのズレの平均を表す.
ノイズ
理想的な函数と実際の値とのズレを表している.
モデルの複雑さによってこれらの値が変化する.PRMLなどでは正則化項の寄与 (要するに ) を変化させてバイアスとバリアンスのトレードオフを議論している.
PRML p 150 p の図3.6をみてください。
バイアス・バリアンス分解は贅沢だ(?).
頻度主義に基づいた立場ではバイアス・バリアンス分解によってモデルの複雑さの問題への解釈を得る。とはいえ、バイアス・バリアンス分解がデータの選択の平均によって展開される議論のため, 実際問題1組の観測データしか与えられていない現実的な場面では有用性が限られる(そりゃそうだ・・・). そもそも、それなりのサイズを持つ独立な学習データがあればバイアス・バリアンす分解云々を議論するよりそれらをまとめて一つの学習データとし、それを学習させればいいのではという気持ちになる.