В чем разница между функцией потерь и метрикой в Keras?

Для меня непонятно разницу между функцией потерь и метрикой в Keras. Документация мне не помогла.

Ответ 1

Функция потерь используется для оптимизации вашей модели. Это функция, которая будет минимизирована оптимизатором.

Метрика используется для оценки производительности вашей модели. Это только для вас, чтобы посмотреть и не имеет ничего общего с процессом оптимизации.

Ответ 2

Функция потерь - это тот параметр, который передается в Keras model.compile, который фактически оптимизируется во время обучения модели. Эта функция потерь обычно минимизируется моделью.

В отличие от функции потерь, метрика - это еще один список параметров, переданных Keras model.compile, который фактически используется для оценки производительности модели.

Например: по какой-то причине вы можете минимизировать потерю MSE для модели регрессии, а также хотите проверить AUC для модели. В этом случае MSE является функцией потерь, а AUC является метрикой. Метрика - это параметр производительности модели, который можно увидеть, пока модель судит себя по проверке, установленной после каждой эпохи обучения. Важно отметить, что метрика важна для нескольких обратных вызовов Keras, таких как EarlyStopping, когда вы хотите прекратить обучение модели в случае, если метрика не улучшается для подтверждения отсутствия. эпох.

Ответ 3

У меня есть надуманный пример: подумайте о линейной регрессии на 2D-плоскости. В этом случае функция потерь будет средней квадратичной ошибкой, встроенная линия минимизирует эту ошибку.

Однако по какой-то причине мы очень заинтересованы в области под кривой от 0 до 1 нашей линии, и, таким образом, это может быть одной из метрик. И мы отслеживаем эту метрику, в то время как модель минимизирует среднюю квадратичную функцию потери ошибок.