【发布时间】:2018-02-05 08:37:30
【问题描述】:
我在 Keras 中偶然发现了 mse 的定义,但似乎找不到解释。
def mean_squared_error(y_true, y_pred):
return K.mean(K.square(y_pred - y_true), axis=-1)
我希望在批次之间取平均值,即axis=0,但实际上是axis=-1。
我也尝试了一下,看看K.mean 的行为是否真的像numpy.mean。
我一定是误会了什么。有人可以澄清一下吗?
我实际上无法在运行时查看成本函数的内部,对吧? 据我所知,该函数是在编译时调用的,这使我无法评估具体值。
我的意思是...想象一下进行回归并有一个输出神经元并以 10 的批大小进行训练。
>>> import numpy as np
>>> a = np.ones((10, 1))
>>> a
array([[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.]])
>>> np.mean(a, axis=-1)
array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
它所做的只是将数组展平,而不是取所有预测的平均值。
【问题讨论】:
标签: python machine-learning neural-network deep-learning keras