多元回归神经网络损失函数

Multivariate Regression Neural Network Loss Function

我正在 Tensorflow 中使用完全连接的多层神经网络进行多元回归。给定输入向量 (x1,x2,...xN),网络预测 2 个连续浮点变量 (y1,y2),即网络有 2 个输出节点。对于 2 个输出,网络似乎没有收敛。我的损失函数本质上是预测向量和真值向量之间的 L2 距离(每个包含 2 个标量):

loss = tf.nn.l2_loss(tf.sub(prediction, truthValues_placeholder)) + L2regularizationLoss 

我正在使用 L2 正则化,dropout 正则化,我的激活函数是 tanh。

我的问题:L2 距离是计算多变量网络输出损失的正确方法吗?是否需要一些技巧来使多元回归网络收敛(与单变量网络和分类器相反)?

是的,您可以使用 L2 距离进行多元回归。但我建议也尝试使用绝对 L1 距离。

L2 的一个问题是它对异常值的敏感性,而 L1 的问题是原点处的非平滑性质。

您可以使用 Huber Loss 解决这两个问题,它在原点附近表现得像 L2,在远离原点时表现得像绝对 L1。