我有一组训练数据:
此外,我有一个在Keras中输出维度超过一的模型。我希望预测A、B和C:
model = Sequential()model.add(GRU(32, input_shape=(train_X.shape[1], train_X.shape[2])))model.add(Dense(3))model.compile(loss='mean_squared_error', optimizer='adam')
但是,我希望在A上的mean_squared_error
最小,即只考虑A来计算损失函数。
我该怎么做呢?
回答:
您可以定义一个自定义损失函数,仅根据A
的值计算mean_squared_error()
损失:
from keras import lossesdef loss_A(y_true, y_pred): return losses.mean_squared_error(y_true[:,0], y_pred[:,0])#...model.compile(loss=loss_A, optimizer='adam')