2017/01/20
18:06

機械学習理論入門~補足-2乗誤差の扱いについて~

2乗誤差の変換


みなさん、こんにちは。
人工知能ラボの助手です。

前回までは、4回にわたって回帰分析の各ステップに
ついて説明をしてきました。
そこで、2乗誤差についてひとつ言い忘れてたことがあったと
気づいたので、今回はそれについての説明をしたいと思います。



回帰分析において、パラメータの評価をする際に使用する2乗誤差の式は



でしたね。
そして、勾配降下法を用いてこの誤差を最小にするような
パラメータを求めていくのでした。単純に学習を進める
だけであるなら、これだけでも十分です。

しかし、これだと人がこの誤差値の推移を目で
見ていったときに、どれくらい学習が進んでいるのか
というのが少しわかりにくいですよね。
「誤差値がいくつを下回ったら学習が十分に行えたか」
というのを判断するのが難しいということです。

そこで、誤差関数に少し手を加えて、
次のような形にしてみます。



従来の誤差関数をデータ数nで割って、そのルートをとったもの
になっています。

こうすることで、
「トレーニングデータ1件が、平均どれくらいの誤差をもつか」
という値に変換できます。
これだと、直感的にも「どれくらいトレーニングセットにフィット
させることができたのか」ということがわかりやすいですよね。

また、前にも少し触れましたが、この値をひたすら0に
近づければ良いというわけでもありません。
モデルが汎化性能を失い、未知のデータを
予想できなくなる過学習を起こしてしまうためです。

過学習を防止するための手法としてはL1、L2正則化や
ドロップアウトといったものがありますが、これについては
またいずれ説明したいと思います。

それでは、今日はここまでにしましょう。
お疲れ様でした!