MSE or Mean Squared Error
只是预测值和基本真值标签之间的平方差的期望值,表示为
\text{MSE}(\hat{\theta}) = E\left[(\hat{\theta} - \theta)^2\right]
哪里
θ
是基本真理的标签
西塔帽
是预测的标签吗
我不确定你指的到底是什么,像是理论问题还是代码的一部分
作为一个
蟒蛇
实施
def mean_squared_error(A, B):
return np.square(np.subtract(A,B)).mean()
yt = [[1,0,0],[0,0,1]]
yp = [[0.9, 0.2,0.2], [0.2,0.8,0.3]]
mse = mean_squared_error(yt, yp)
print(mse)
这将给出
0.21
如果您使用的是
TensorFlow
,那么他们已经提供了
function
计算张量之间的mse损失
tf.losses.mean_squared_error
哪里
tf.losses.mean_squared_error(
labels,
predictions,
weights=1.0,
scope=None,
loss_collection=tf.GraphKeys.LOSSES,
reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)
ARG:
标签:
地面真值输出张量,与“预测”的维数相同。
预言:
预测的输出。
重量:
可选的张量,其秩为0,或与标签的秩相同,并且必须可广播到标签(即,所有维度
必须是1,或与相应的损失维度相同)。
经营范围:
计算损失的操作范围。
托收损失:
将要添加损失的集合。
还原:
适用于损失的减少类型。
返回:
加权损失浮动张量。如果减量为无,则这与
形状作为标签;否则,它是标量。