回归模型训练后任何输入只输出一个同样的结果?
收藏
模型训练数据集输入的特征参数12个(包含三组阀门的初始开度,调节目标开度,等待时间,操作时间)
模型训练数据集输出的标签1个(最大压力差),数值范围在0~150
对输入特征作了归一化处理,输出标签保持原数值
神经网路模型:多层感知
net = paddle.nn.Sequential(
paddle.nn.Linear(input_dim, 32),
paddle.nn.Tanh(),
paddle.nn.Linear(32, 32),
paddle.nn.Tanh(),
paddle.nn.Linear(32, 32),
paddle.nn.Tanh(),
paddle.nn.Linear(32, out_dim)
)
经过多次训练,每次训练的loss都很大 在1000数值左右,且没有下降趋势。
训练结束后用模型对不同输入参数进行预测,均输出同一个数值,这是怎么会事呢?该怎么解决?
如果把输出标签也作归一化到0~1 ,好像又能出效果?怎么回事
0
收藏
请登录后评论
tanh换relu,隐藏层的输入输出数避免一样
感谢你回复。按照你的方式,训练后还是出同样的问题,输出同一个值。
试试减少一些网络层数
如果问题模型比较简单,甚至都可以不同激活层,也试试把激活层都去掉
而且中间神经元数32可能有点大,试试调小一些
把feature和label都做归一化或者标准化处理试试
归一化训练后,别忘记进行反归一化操作,才能看到预测的正常结果,否则预测出来的结果是归一化的