val_loss в керасе делает среднее или сумму? - PullRequest
0 голосов
/ 13 февраля 2019

Я тренирую ANN, используя Keras.Само обучение проводится командами:

history=model.fit(x_train,y_train,batch_size=32,epochs=500,verbose=1,validation_split = 0.2 ) #train on the noise (not moshe)
fit=model.predict(x_test)
loss = history.history['loss']
val_loss = history.history['val_loss']

Мой вопрос заключается в том, принимает ли val_loss сводку ошибки или среднюю.

1 Ответ

0 голосов
/ 14 февраля 2019

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

def mean_squared_error(y_true, y_pred):
    return K.mean(K.square(y_pred - y_true), axis=-1)

. Очевидно, что оно принимает среднее (среднее) всех потерь.

Дело в том, что нет однозначного ответа, потому что вы всегда можете передать пользовательскую функцию потерь, которая принимает сумму:

def sum_squared_error(y_true, y_pred):
    return K.sum(K.square(y_pred - y_true), axis=-1)

TLDR: Обычно да, но проверьте источник длякаждая функция потери вы используете, чтобы быть уверенным.Вы можете найти источник встроенных потерь keras здесь .

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