为什么神经网络倾向于输出“平均值”?

时间:2016-10-05 00:16:50

标签: regression keras

我正在使用keras为回归任务构建一个简单的神经网络。 但是输出总是倾向于基础事实数据的“平均值”。 见第一个图,蓝色是地面真相,红色是预测值(非常接近地面实况的常数平均值)。

即使我设置了学习时代= 100,该模型也会很早停止学习。

任何人都有神经网络在什么样的条件下会提前停止学习的想法以及为什么回归输出倾向于“基本事实的平均”?

谢谢! blue-ground truth; red-predicted value

Learning rate

2 个答案:

答案 0 :(得分:4)

可能因为数据不可预测......?您是否确定数据集具有某种N阶可预测性?

只是看你的数据集,它缺乏周期性,缺乏同方性,它没有任何斜率或倾斜或趋势或模式......我无法确定你的网络是否有任何问题。在没有任何模式的情况下,均值总是最好的预测......并且完全有可能(虽然不确定)神经网络正在发挥作用。

我建议你找一个更简单的数据集,看看你是否可以先解决这个问题。

答案 1 :(得分:3)

模型没有从数据中学习。想想一个基本的线性回归 - '空'预测,如果你根本没有任何预测因子的预测,只是预期值;即平均值。它可能是由许多不同的问题引起的,但初始化会浮现在脑海中 - 错误的初始化会导致无法学习。 This博客文章提供了可能有用的实用建议。