矩阵机器学习的 MSE 损失

MSE Loss for matrix Machine Learning

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

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

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

mse = tf.reduce_mean(tf.square(outputs))
train_step = tf.train.*Optimizer(...).minimize(mse)
for _ in range(iterations):
  sess.run(train_step ... )

我认为他们的意思是一样的。让我们用 [x_i, y_i, z_i, xx_i, yy_i, zz_i] 表示您对 i^th 个样本的预测。真实值由 [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])

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

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