为什么神经网络倾向于输出'mean value'?
Why neural network tends to output 'mean value'?
我正在使用 keras 为回归任务构建一个简单的神经网络。
但是输出总是趋向于 ground truth y 数据的 'mean value'。
看第一张图,蓝色是ground truth,红色是预测值(非常接近ground truth的常数均值)。
即使我设置了一个学习时期=100,模型也很早就停止了学习。
任何人都知道神经网络在何种条件下会提前停止学习,以及为什么回归输出倾向于 'the mean' 基本事实?
谢谢!
模型没有从数据中学习。想想一个基本的线性回归——'null' 预测,如果你根本没有任何预测变量,那么预测就是期望值;即均值。它可能是由许多不同的问题引起的,但我想到了初始化 - 错误的初始化导致无法学习。 This 博客 post 有很好的实用建议,可能会有所帮助。
可能是因为数据不可预测....?您确定数据集具有某种 N 阶可预测性吗?
只是盯着你的数据集,它缺乏周期性,缺乏同方差性,它缺乏任何斜率或偏斜或趋势或模式......我真的无法判断你的'网络是否有任何问题。在没有任何模式的情况下,平均值始终是最好的预测......并且完全有可能(尽管不确定)神经网络正在完成它的工作。
我建议你找一个更简单的数据集,看看你能不能先解决这个问题。
我正在使用 keras 为回归任务构建一个简单的神经网络。 但是输出总是趋向于 ground truth y 数据的 'mean value'。 看第一张图,蓝色是ground truth,红色是预测值(非常接近ground truth的常数均值)。
即使我设置了一个学习时期=100,模型也很早就停止了学习。
任何人都知道神经网络在何种条件下会提前停止学习,以及为什么回归输出倾向于 'the mean' 基本事实?
谢谢!
模型没有从数据中学习。想想一个基本的线性回归——'null' 预测,如果你根本没有任何预测变量,那么预测就是期望值;即均值。它可能是由许多不同的问题引起的,但我想到了初始化 - 错误的初始化导致无法学习。 This 博客 post 有很好的实用建议,可能会有所帮助。
可能是因为数据不可预测....?您确定数据集具有某种 N 阶可预测性吗?
只是盯着你的数据集,它缺乏周期性,缺乏同方差性,它缺乏任何斜率或偏斜或趋势或模式......我真的无法判断你的'网络是否有任何问题。在没有任何模式的情况下,平均值始终是最好的预测......并且完全有可能(尽管不确定)神经网络正在完成它的工作。
我建议你找一个更简单的数据集,看看你能不能先解决这个问题。