Что не так со среднеквадратичной ошибкой?

Я не понимаю, что не так с моей реализацией rMSE. Я тренирую свою модель, используя MSE в качестве функции потерь и то же самое для показателей. После обучения я использую функцию evaluate для оценки моей модели в тестовом наборе, а затем функцию predict для получения значений. Затем я применяю rMSE. Мой код:

obs= model.compile(loss='mse', optimizer=keras.optimizers.Adam(lr=0.001),metrics=['mse'])
.......
test_eval = model.evaluate(X_test, Y_test, verbose=1)
print('Test loss (MSE):', test_eval[0])
predicted= model.predict(X_test, verbose=0)
rMSE = np.sqrt(pow(np.mean(predited- Y_test), 2))
print(rMSE)

И у меня были такие результаты:

Test loss (MSE): 12.0075311661
2.90274470011

Но квадрат 12,0075311661 не равен 2,90274470011. Итак, что не так?


person demo    schedule 26.04.2018    source источник


Ответы (1)


Поэлементно возведите в квадрат различия, прежде чем находить среднее значение. Вы хотите найти среднее значение квадрата разницы, а не квадрат среднего расстояния.

person Bwood94    schedule 26.04.2018