web-dev-qa-db-ja.com

Kerasの損失関数とメトリックの違いは何ですか?

Kerasの損失関数とメトリックスの違いは私には明らかではありません。ドキュメントは私にとって役に立たなかった。

23
Zaratruta

損失関数は、モデルを最適化するために使用されます。これは、オプティマイザーによって最小化される関数です。

メトリックは、モデルのパフォーマンスを判断するために使用されます。これはあなたが見るためだけのものであり、最適化プロセスとは何の関係もありません。

37
sietschie

損失関数は、パラメーター1がKerasに渡すことですmodel.compileこれは、モデルのトレーニング中に実際に最適化されます。通常、この損失関数はモデルによって最小化されます。

損失関数とは異なり、メトリックはKeras model.compileに渡されるパラメーターの別のリストであり、実際にモデルのパフォーマンスを判断するために使用されます。

例:何らかの理由で、回帰モデルのMSE損失を最小限に抑えながら、モデルのAUCを確認したい場合があります。この場合、MSEは損失関数であり、AUCはメトリックです。メトリックは、トレーニングの各エポック後にモデルが検証セットで自身を判断している間に見ることができるモデルパフォーマンスパラメーターです。メトリックが特定のnoで改善されない場合にモデルのトレーニングを停止したい場合、EarlyStoppingなどのいくつかのKerasコールバックではメトリックが重要であることに注意することが重要です。エポックの。

9

思いがけない例があります:2D平面での線形回帰について考えてみましょう。この場合、損失関数は平均二乗誤差になり、適合線はこの誤差を最小化します。

ただし、何らかの理由で、近似直線の0から1までの曲線の下の領域に非常に興味があるため、これは指標の1つになります。モデルが平均二乗誤差損失関数を最小化する間、このメトリックを監視します。

2
Sida Zhou