seegongsik
人工知能

わかりやすく 損失関数 とは

前に、点の間に予測の線を引いてみました。でも、その線がよい線かどうかは、どうやって分かるのでしょうか。線が点によくそっていればよい線、大きく外れていれば悪い線でしょう。このよしあしを感覚ではなく一つの数で測り、その数が小さいほどよい線だと決めればよいのです。モデルがどれくらいまちがっているかを測るこの数を、損失と呼びます。

01

点一つは、どれくらい外れたか

予測の線を一本引いておきました。点は実際の正解で、線はモデルの予測です。点を一つ選んでみると、その点の横の位置で、線が予測した高さと点の実際の高さがちがうことがあります。
二つが離れているぶんだけ、モデルがまちがったことになります。まずは、このずれを目で確かめてみましょう。

点を押して、ずれを見ましょう
てん = せいかいせん = よそく

点を押してみましょう。点(正解)と線(予測)の間の縦のずれが表示されます。

点ごとに、ずれがちがいました。線にほとんどくっついている点もあれば、遠く離れている点もあります。線に近い点はよく当てたもので、遠い点は大きく外したものです。
でも、目で見るだけでは、全体がどれくらいまちがっているかは分かりにくいでしょう。ずれを数に変える必要があります。

02

ずれを距離で測る

ずれを数に変える方法は簡単です。点から線までの縦の距離を、そのまま測ればよいのです。前に残差と呼んだ、あのちがいです。
距離が長ければ大きくまちがい、短ければ少しまちがったということです。点が線の上にあっても下にあってもまちがいは同じなので、距離はいつも正の数で測ります。

点を押して、距離を測りましょう

点を押してみましょう。点から線までの距離が棒で測られ、その長さが数で表示されます。

点ごとに、距離が数で出てきました。近い点は小さい数、遠い点は大きい数です。これで、それぞれの点がどれくらいまちがっているかが、はっきり分かります。
でも、点は一つや二つではありません。点ごとに数がばらばらにあると、全体がどれくらいまちがっているかをひと目で見るのはむずかしいでしょう。この数を一つにまとめてみましょう。

03

ずれを全部足す

全体がどれくらいまちがっているかを知るには、点ごとに測った距離を一つも落とさずに足します。小さなずれも大きなずれも、全部ひとまとめにするのです。すると、ばらばらだった数が一つの数にまとまり、この数が損失です。
実際には、点の個数で割って平均をとることもあります。そうすれば、点が十個のデータと千個のデータの損失をくらべられます。また、距離をそのまま足すかわりに、二乗して足す方法も広く使われます。これを平均二乗誤差といい、大きく外れた点により重い罰点をあたえます。

損失0
点を順に押して、ずれを足しましょう

点を順に押してみましょう。ずれが一つずつ積み上がり、損失という一つの数に足されます。

ばらばらだったずれが、損失という一つの数にまとまりました。これで、モデルを評価しやすくなりました。損失が大きければ線は点と大きくずれていて、小さければよく合っているということです。
分類のようにグループで答える問題では、別の損失を使います。正解のグループにつけた確率が低いほど、損失が大きくなるように測るやり方です。何を測るにしても、することははっきりしています。この数を小さくすることです。

04

損失を小さくすることが目標

損失は、決まった数ではありません。線を動かすと、いっしょに変わります。線を点にうまく合わせればずれが減って損失は小さくなり、点から離れると損失は大きくなります。
だから、線をあちこち動かして、損失がいちばん小さくなる場所を見つければよいのです。その場所の線が、いちばんよい線です。

損失240
ボタンで線を動かして、損失を減らしましょう

上下のボタンで線を動かしてみましょう。ずれと損失がいっしょに変わり、損失がいちばん小さくなる場所に来ると教えてくれます。

線を動かすたびに、損失が上がったり下がったりしました。点によく合うほど数は小さくなり、いちばん小さい場所が、いちばんよく合う線でした。
ここから、大切なことが分かります。よいモデルを見つけることは、損失を小さくすることと同じなのです。機械学習でいう学習とは、まさに損失を減らしていく過程のことです。

05

まとめ

まとめるとこうです。点ごとに、予測と正解の間のずれ、つまり縦の距離があります。この距離を全部足すか平均した一つの数が損失で、モデルがどれくらいまちがっているかを表します。
損失が小さいほど、よいモデルです。線を動かして損失を減らすことが、学習です。

要点を順に押して振り返りましょう

要点を順に押して振り返りましょう。(点ごとのずれ → 距離で測る → 全部足して損失 → 損失を減らすことが学習)

これで、損失が何で、なぜ減らそうとするのかが分かりました。モデルがどれくらいまちがっているかを一つの数でとらえることが、モデルを教える第一歩です。
では、損失を減らすには、線をどちらへ動かせばよいのでしょうか。ここではボタン二つで上下に動かしただけですが、実際のモデルには、直すべき数が何百万個もあります。損失が減る方向を見つけて少しずつ下りていく方法を、次のレッスン「勾配降下法」で扱います。

一言でいうと損失とは、モデルがどれくらいまちがっているかを一つの数で測ったものです。点ごとに予測と正解の間のずれ、つまり縦の距離があり、この距離を全部足すと、全体がどれくらいまちがっているかが一つの数にまとまります。実際には、点の個数で割って平均をとったり、距離を二乗して平均した平均二乗誤差を使ったりすることが多く、分類では、正解のグループにつけた確率が低いほど大きくなる損失を使います。損失が大きければ線は点と大きくずれていて、小さければよく合っています。だから、よいモデルを作ることは損失を小さくすることと同じで、損失を減らしていく過程が学習です。
← 人工知能
このページがお役に立ったなら支援する