1. 序章

機械学習を使用する場合、モデルがどの程度うまく機能しているかを知るためのさまざまな指標があります。 ただし、これらの測定値は、それらが何を意味するのか、どのように解釈できるのか、またはそれらが正確に何であるのかを混乱させる可能性があります。 これを知っていると、モデルに関するより多くの情報を推測できます。

このチュートリアルでは、損失と精度に焦点を当てます。 これらは両方とも、モデルをトレーニングするときに考慮に入れる必要のある重要な値です。

2. 損失

Lossは、モデルのエラーの合計を表す値です。 モデルのパフォーマンスを測定します。 エラーが大きい場合、損失が大きくなります。これは、モデルが適切に機能しないことを意味します。 それ以外の場合は、値が低いほど、モデルの動作が向上します。

損失を計算するには、損失関数またはコスト関数を使用します。 使用するいくつかの異なるコスト関数があります。 それぞれがさまざまな方法でエラーにペナルティを課し、問題によってどちらを使用するのが適切かが決まります。 クロスエントロピー平均二乗誤差は、それぞれ分類と回帰の問題に最も一般的に使用されます。

しかし、損失が高いか低いかをどうやって知るのでしょうか?  まあ、それは問題と使用されているコスト関数に依存します。

なんらかの理由で、ピクセルの色を予測したいとします。 簡単にするために、ピクセルの値が0から255までの範囲であると仮定しましょう。 コスト関数として平均二乗誤差を使用します。

この例では、1の損失はごくわずかですが、100の損失は非常に大きくなります。

ただし、損失が高いか低いかは、そこから学ぶことができる最も重要な推論ではありません。 時間の経過とともに損失の結果をプロットすると、モデルが学習しているかどうか、およびどのくらいの速さであるかを確認できます。

これは、深層学習では、損失関数がモデルによってを学習するために使用されるためです。 モデルの目標は、損失の値を最小化することです。 これは、損失の結果の情報を使用してモデルパラメータを変更する最急降下法などの手法を使用して行われます。

時間の経過に伴う損失を確認すると、モデルの興味深い結果が得られる可能性があります。 損失値が減少していないが、振動しているだけの場合、モデルはまったく学習していない可能性があります。 ただし、トレーニングセットでは減少しているが検証セットでは減少していない場合(または減少しているが顕著な違いがある場合)、モデルは過剰適合している可能性があります。 言い換えれば、トレーニングの例から過剰学習し、新しい例では役に立たなくなる可能性があります。 その場合は、正則化を使用するか、より単純なモデルを使用するか、ディープラーニングでは学習率を下げるだけでよいでしょう。

Learning Curves に関する記事では、これらおよびその他のタイプのモデルデータを時間の経過とともに解釈する方法について詳しく知ることができます。

3. 正確さ

精度はより簡単です。 モデルの予測をパーセンテージで真の値と比較することにより、モデルがどれだけうまく予測するかを測定します

たとえば、画像に猫がいるかどうかを検出する画像分類のモデルがあるとします。 5つのテスト画像があります。 モデルが3つの画像に猫がいるかどうかを正しく予測できる場合、60%の精度になります。

ここで、これら2つの測定値を一緒に分析すると、モデルがどのように機能しているかについて、より多くの情報を推測できます。

精度は低いが損失が大きいということは、モデルがほとんどのデータで大きなエラーを起こすことを意味します。 ただし、損失と精度の両方が低い場合は、モデルがほとんどのデータで小さなエラーを起こしていることを意味します。 ただし、両方が高い場合は、一部のデータで大きなエラーが発生します。 最後に、精度が高く、損失が低い場合、モデルは一部のデータで小さなエラーを作成します。これは理想的なケースです。

4. 結論

このチュートリアルでは、損失と精度のメトリックが何であるかを見てきました。 私たちは、それらから情報を推測し、それらを単独で、そして一緒に分析する方法を見てきました。そして、モデルがどのように機能し、動作するかについてもっと知ることができたおかげです。