Как получить ошибку поезда и разработки в нейронной сети Keras? - PullRequest
0 голосов
/ 26 сентября 2019

Как мне получить эти значения, чтобы понять, подходит ли моя модель или недостаточно подходит?Например, когда train_error= 0.1 и dev_error=0.25, понятно, что модель переоснащена.Но я не знаю, какой из приведенных результатов моей модели указывает на упомянутые ошибки.Значение потери указывает на эту меру или (с точностью 1)?

Это часть результата обучения моей модели:

Epoch 152/250
100253/100253 [==============================] - 12s 118us/step - loss: 
0.5306 - acc: 0.8568 - val_loss: 1.1438 - val_acc: 0.7550

1 Ответ

1 голос
/ 26 сентября 2019
  1. условия ошибка и потеря являются синонимами

  2. Керас указывает потерю тренировки (соответственно точность) какloss (acc);потери и точность проверки указаны как val_loss и val_acc соответственно.

  3. train_error= 0.1 и dev_error=0.25, или loss: 0.5306 и val_loss: 1.1438, как здесь, не указывают на переоснащение;это всего лишь разрыв в обобщении , то есть ожидаемый разрыв в производительности между обучающими и проверочными наборами.Цитата из недавнего сообщения в блоге Google AI :

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

Контрольная подпись переоснащения - это когда ваши потери проверки начинают увеличиваться, в то время какваша потеря тренировки продолжает уменьшаться, то есть:

enter image description here

Обратите внимание на разрыв (каламбур предназначен) между кривыми на графике выше (адаптировано из записи Википедии о переоснащении ).

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

...