我想將歐幾里得距離設置爲LSTM或RNN的損失函數。RNN(keras)的歐幾里德距離損失函數
這樣的函數應該有什麼輸出:float,(batch_size)或(batch_size,timesteps)?
模型輸入X_train是(n_samples,timesteps,data_dim)。 Y_train具有相同的尺寸。
示例代碼:
def euc_dist_keras(x, y):
return K.sqrt(K.sum(K.square(x - y), axis=-1, keepdims=True))
model = Sequential()
model.add(SimpleRNN(n_units, activation='relu', input_shape=(timesteps, data_dim), return_sequences=True))
model.add(Dense(n_output, activation='linear'))
model.compile(loss=euc_dist_keras, optimizer='adagrad')
model.fit(y_train, y_train, batch_size=512, epochs=10)
所以,我應該平均值時步維和/或損失的batch_size?