我已经使用keras构建了一个模型来解决回归问题。我想在此模型上执行超参数优化。作为指标,我使用了val_mean_absolute_error
。在示例中,仅涵盖了分类问题(可在https://github.com/maxpumperla/hyperas上使用)
validation_acc = np.amax(result.history['val_acc'])
print('Best validation acc of epoch:', validation_acc)
return {'loss': -validation_acc, 'status': STATUS_OK, 'model': model}
如何将此代码适应回归问题(将val_mean_absolute_error
用作指标)?
对于回归问题,我们通常不会使用损失本身来评估模型性能(越低);因此,假设您将mae
用作您的损失,并且已将模型编译为
model.compile(loss='mae', optimizer={{choice(['rmsprop', 'adam', 'sgd'])}})
这是您应该从链接示例中修改代码的方式:
#get the lowest validation loss of the training epochs
validation_loss = np.amin(result.history['val_loss'])
print('Best validation loss of epoch:', validation_loss)
return {'loss': validation_loss, 'status': STATUS_OK, 'model': model}
确实,有些人在类似情况下为metrics=['mae']
添加了一个汇编论点,但这是不必要的。