Как интепретировать значение функции потерь после predict?
Обучил модель и по критерию negative log likelihood получил значение:
loss = criterion.forward(pred, y_test)
print(loss)
# loss = 0.09417543244830048
О чем говорит данное значение loss?
Ответы (1 шт):
Данное число - значение функции потерь на текущем шаге (эпохе) для текущего "батча".
Само по себе это число говорит нам не много. При обучении модель старается минимизировать функцию потери и соответственно нам интересно наблюдать за данным числом в процессе обучения. Если значение функции потери в процессе обучения уменьшается - значит модель обучается и сходится.
Часто в процессе обучения значение функции потери начинает возрастать после того как оно уменьшалось на предыдущих шагах. Если нарисовать график изменения функции потерь - это будет выглядеть как неправильная парабола. В этом случае, после прохождения нижней точки параболы, модель начинает переобучаться и точность предсказаний для тестовых данных будет ухудшаться. В этом случае применяют early stopping - сравнивают среднее значения функции потери для последних N эпох - и если все N эпох это значение ухудшалось (росло), то обучение останавливают.