2

我有一个模型,每个时期后都有N输入和6输出。

我的输出看起来像,[x y z xx yy zz]我想最小化每个术语的 MSE。但是,我注意到当我使用 MSE 作为损失函数时,它只是取整组平方和的平均值。

4

2 回答 2

1

您必须创建一个等于 MSE 的张量并将其最小化。

mse = tf.reduce_mean(tf.square(outputs))
train_step = tf.train.*Optimizer(...).minimize(mse)
for _ in range(iterations):
  sess.run(train_step ... )
于 2017-03-22T20:32:05.077 回答
1

我认为它们的含义相同。i^th让我们用 表示您对样本的预测[x_i, y_i, z_i, xx_i, yy_i, zz_i]。真实值表示为[t_x_i, t_y_i, t_z_i, t_xx_i, t_yy_i, t_zz_i]

在一批N样本中,您希望最小化:

L = \sum_i=1^N ((x_i-t_x_i)^2)/N + ... + \sum_i=1^N ((zz_i-t_zz_i)^2)/N 

MSE 损失将最小化以下情况:

L = (1/N) * \sum_i=1^N ((1/6) * [(x_i - t_x_i)^2 + ... + (zz_i-t_zz_i)^2])

您可以看到两者最终都最小化了相同的数量。

如果您的六个输出是自变量,我认为这将是正确的,因为您将它们建模为具有六个基本事实标签的六个不同输出。

于 2017-03-22T23:26:21.533 回答