機械学習の大きな目的は訓練データから未知のデータ、すなわちテストデータに対する損失を小さくすることです。予測損失(テストデータ)と経験損失(訓練データ)についてまとめてみます。
予測損失
予測損失というよりも汎化誤差という言葉の方が親しみがあるのではないでしょうか。また、他にも期待損失などとも言うようです。仮説の予測損失が、損失関数として、テストデータの分布を用いて以下のように定義されます。
つまり、テストデータの分布に対してのテストデータの損失の期待値ということです。しかし、テストデータの分布は未知であるためこの予測損失を計算することはできないです。目標は観測データのみからできるだけを小さくする仮説を求めることです。
経験損失
標本誤差、経験誤差とも言われています。データが観測され、仮説と損失関数を先ほどと同じ文字に設定すると観測データに対する仮説の経験損失は以下のようになります。
先ほどの予測損失と異なり、観測データは明らかになっているのでは求めることが可能です。
特にこの時、確率でを取る時、確率分布をとすると上式は
と表すことができる。この式は予測損失の式ととても似ていますね。違いは従っている確率分布です。つまり、データが同一の確率分布に従うとき、
とすることができます。
結局???
予測損失を最小にしたいのはわかっていただけたと思います。簡単に説明すると"予測損失を最小にすることが(実質的に)機械学習の主たる目的だから"です。ではなぜ経験損失を求める必要があるのでしょうか?それは上でも述べた通り、経験損失と予測損失が近似できるからです。流れは以下のような感じです。
予測損失が最小となるよう仮説を設定したい
↓
テストデータの分布は未知であるため値が求められない
↓
予測損失と近似できる経験損失がある
↓
経験損失は実測値から求められる
という感じです。今回は理論的な部分から予測損失(汎化誤差)にアプローチしてみましたが、応用的な部分から観てみるとなぜ予測損失を最小にしたいかが感覚的にわかってくると思います。以下のサイトをご覧になってみてください。
参考文献
以下の書籍を参考に書きました。
おわり。
もしよければ↓ぽちっと↓お願いします。