我正在使用Keras训练ANN。培训本身是通过以下命令完成的:
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是采用错误的摘要还是平均值的错误。
答案 0 :(得分:2)
这取决于您的损失功能。通常,损失将是每个样本损失的平均值,例如,像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
的内置损失https://jsfiddle.net/goneZoe/sf46ea03/的来源。