Керас разница между val_loss и потерей во время тренировки


18

В чем разница между тренировками в Керасе val_lossи lossво время них?

Например

Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032  

На некоторых сайтах я читал, что при проверке не работал отсев.


То , что вы читали о отсева, вероятно , что, когда используется отсев (т.е. dropoutне None), отсев применяется только во время обучения (т.е. не недоучка не применяется во время проверки). Таким образом, одно из различий между потерей при валидации ( val_loss) и потерей при обучении ( loss) заключается в том, что при использовании отсева потеря при валидации может быть ниже, чем потеря при обучении (обычно не ожидается в случаях, когда отсев не используется).
Пси

Ответы:


15

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

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

validation_split: Смещение между 0 и 1. Часть данных обучения, которые будут использоваться в качестве данных проверки. Модель выделит эту часть обучающих данных, не будет тренироваться на ней и оценит потери и любые метрики модели на этих данных в конце каждой эпохи. Данные проверки выбираются из последних выборок в предоставленных данных x и y перед перетасовкой.

validation_data: tuple (x_val, y_val) или tuple (x_val, y_val, val_sample_weights) для оценки потерь и любые метрики модели в конце каждой эпохи. Модель не будет обучаться на этих данных. Это переопределит validation_split.

Как вы видете

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

fitМетод используется в Kerasимеет параметр с именем validation_split, который указывает процент данных, используемых для оценки модели, которая создается после каждой эпохи. После оценки модели с использованием этого количества данных, об этом будет сообщать, val_lossесли вы установили подробное значение 1; Более того, как четко указано в документации, вы можете использовать либо, validation_dataлибо validation_split. Данные перекрестной проверки используются для выяснения того, соответствует ли ваша модель данным или нет. Это то, что мы можем понять, имеет ли наша модель возможность обобщения или нет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.