誤差関数:機械学習の要
機械学習は、たくさんの情報から規則性を見つけ出し、まだ知らない情報に対しても推測できるようにすることを目指しています。この推測の正しさを高めるためには、作った模型の出した答えと本当の答えとの違いを評価する必要があります。この違いを測る物差しとなるのが誤差関数、別名損失関数です。誤差関数は、模型がどれくらい正しく推測できているかを数字で表し、模型の学習を導く羅針盤のような役割を果たします。誤差関数の値が小さいほど、模型の推測の正しさが高いことを示します。
例えば、猫と犬の絵を区別する模型を学習させる場合を考えてみましょう。この模型に犬の絵を見せて、猫と間違えてしまったら、誤差関数は大きな値を取ります。逆に、猫の絵を見せて、犬と間違えてしまっても、やはり誤差関数は大きな値を取ります。しかし、正しく猫の絵を猫、犬の絵を犬と答えられた場合は、誤差関数は小さな値を取ります。このように、誤差関数は模型が良い推測をしたのか、悪い推測をしたのかを数字で教えてくれます。
この誤差関数の値をできるだけ小さくするように模型を調整していくことで、模型は猫と犬をより正確に区別できるようになります。模型の学習とは、この誤差関数の値を最小にするように、模型の中の細かい部分を少しずつ調整していく作業です。誤差関数は、どのくらい調整すればいいのか、どの方向に調整すればいいのかを教えてくれる大切な道しるべなのです。まるで山の頂上から麓へ降りるように、誤差関数の値が低い方へ低い方へと模型を導いていくことで、最終的に精度の高い模型を作り上げることができるのです。