回答:
ログの損失には、微分可能な関数という優れた特性があります。精度はより重要であり、より解釈可能ですが、損失関数を微分可能にする必要がある逆伝搬アルゴリズムのため、ネットワークのトレーニングでは直接使用できません。優先損失が直接(精度など)最適化できない場合は、真のメトリックをプロキシするように動作する損失関数を使用します。バイナリ分類の場合は、最後にシグモイドを使用し、精度を近似するためにログ損失を使用します。それらは非常に相関しています。
はい、どちらもyとy_hatの正確さを測定し、通常は相関しています。損失関数は正確でない場合がありますが、直接最適化していなくても、正確さを測定することに関心があります。GoogleのTensorFlow MNISTの例は、クロスエントロピー損失を最小化/最適化しますが、結果を報告するときにユーザーに精度を表示します。これは完全に問題ありません。
精度を直接最適化したくない場合もあります。たとえば、深刻なクラスの不均衡がある場合、モデルは常に最も一般的なクラスを選択するだけで精度を最大化しますが、これは有用なモデルではありません。この場合、エントロピー/ログ損失は、最適化するためのより良い損失関数になります。
show_accuracy
パラメーターがTrueに設定されているすべての場所(フィッティング時や評価時など)でAccuracyの代わりにこの「カスタム」メトリックが使用/表示されると思います。あれは正しいですか?
def your_own_metric(y_true, y_pred)
関数を作成して、それを渡してくださいmodel.compile(..., metrics=[your_own_metric])