Почему я выбрал бы функцию потерь, отличную от моих показателей? - PullRequest
0 голосов
/ 17 июня 2019

Когда я просматриваю учебники в Интернете или модели, размещенные здесь в SO, я часто вижу, что функция потерь отличается от метрик, используемых для оценки модели. Это может выглядеть так:

model.compile(loss='mse', optimizer='adadelta', metrics=['mae', 'mape'])

Во всяком случае, следуя этому примеру, почему бы мне не оптимизировать 'mae' или 'mape' как убыток вместо 'mse', когда меня даже не волнует 'mse' в моих показателях (гипотетически говоря, когда это будет моя модель)?

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Во многих случаях интересующая вас метрика может не быть дифференцируемой, поэтому вы не можете использовать ее как потерю, например, для точности, где вместо нее используется перекрестная энтропийная потеря, поскольку она дифференцируема.

Для метрик, которые уже дифференцируемы, вы просто хотите получить дополнительную информацию из процесса обучения, поскольку каждая метрика измеряет что-то свое.Например, у MSE есть масштаб, который возводится в квадрат от масштаба данных / прогнозов, поэтому, чтобы получить тот же масштаб, вы должны использовать RMSE или MAE.MAPE дает вам относительную (не абсолютную) ошибку, поэтому все эти метрики измеряют что-то другое, что может представлять интерес.

В случае точности эта метрика используется, потому что она легко интерпретируется человеком,в то время как потеря перекрестной энтропии менее понятна для интерпретации.

1 голос
/ 17 июня 2019

Это очень хороший вопрос.

Зная свое моделирование, вы должны использовать функцию потери удобства, чтобы минимизировать достижение ваших целей.Но для оценки вашей модели вы будете использовать метрики, чтобы сообщать о качестве вашего обобщения с использованием некоторых метрик.

По многим причинам часть оценки может отличаться от критериев оптимизации.

В «Генеративных состязательных сетях» приводится много примеров того, как минимизация потерь mse приводит к получению более размытых изображений, хотя mae помогает получить более четкий вывод.,Возможно, вы захотите проследить их обоих в своей оценке, чтобы увидеть, как это действительно меняет ситуацию.

Еще один возможный случай - когда у вас есть индивидуальные потери, но вы все равно хотите сообщить об оценке на основе точности.

Я могу вспомнить возможные случаи, когда вы устанавливаете функцию потерь таким образом, чтобы сходиться быстрее, лучше и т. Д., Но вы можете измерить качество модели и с помощью некоторых других метрик.

Надеюсь, это поможет.

...