为什么 MAE 仍然存在?

数据挖掘 毫升 成本函数 错误处理
2021-10-12 01:27:36

这似乎是一个愚蠢的问题。但我只是想知道为什么 MAE 不会降低到接近 0 的值。

MAE

这是具有 2 个隐藏层和每个隐藏层 6 个神经元的 MLP 的结果,它试图根据三个输入值估计一个输出值。

为什么 NN(简单的前馈和反向传播,没什么特别的)甚至无法过度拟合并满足所需的训练值?

成本函数 = 0.5(一个rGe-delp)2

编辑:

事实上,我发现输入数据不一致。

2输入数据

已经欢呼了,我希望在解决输入数据的问题后能看到更好的结果。但我得到的是:

未修复!

我正在使用 Minibatch-SGD,现在我认为它可能会陷入局部最小值。我读到了 Levenberg-Marquardt 算法,据说它稳定且快速。它是全局最小检测的更好算法吗?

1个回答

可能还有其他与模型有关的原因,但最简单的解释是数据包含相互矛盾的模式:如果相同的特征对应不同的目标值,那么任何模型都无法达到完美的性能。

让我用一个玩具例子来说明:

x   y
0   4
0   4
1   3
1   4
1   3
1   3
2   8
2   7
2   7 
2   6

模型可以对这些数据做的最好的事情是将 x=0 与 y=4、x=1 与 y=3 以及 x=2 与 y=7 相关联。将此最佳模型应用于训练集将导致 3 个错误,MAE 将为 0.3。