🔖

機械学習の損失関数を見てみる

2022/09/19に公開

機械学習と損失関数

機械学習における損失関数は精度と対を成す存在です。精度を上げるなら損失関数を小さくすることが求められます。

でも、経験が少ない私のような初心者はほんとかな?とひねくれて考えるものです。

じゃぁ、見てみようじゃないかということで下記の記事で出てきた結果を元に、傾向がちゃんとあるのかどうかを確認してみます。

https://zenn.dev/mimitako/articles/c4085419e963b5

https://zenn.dev/mimitako/articles/random_statement

損失関数の結果を確認する。

random_stateを0~100まで振ったときに、前回は精度を確認しましたが、損失関数(loss function)も確認しておきます。

結果はこのとおりです。

テスト精度のときと同じように損失関数も大きくばらついているようです。

精度 vs 損失関数

さて、ここからが本題です。精度と損失関数は本当に関係性があるのでしょうか?まずはプロットして確認します。

x軸は精度、y軸に損失関数を定義し、青点が訓練データ、オレンジ点がテストデータによる機械学習結果です。

精度が高いときは損失関数も小さいと言い切って良いでしょう。

ただし、今回のデータでは低精度(~0.93)のときに損失関数が大きくばらつくため、損失関数が多少改善したからと言って精度が上がる保証がありません。

しかし、損失関数が小さければ小さいほどよい結果が得られそうだということに変わりはありません。

Discussion