keras - CNN 最后一层使用哪些设置进行回归

标签 keras regression conv-neural-network

我尝试使用 CNN 来执行回归任务。

我的特征数据的形状为 (6097, 30, 32, 9):

  • 6097 条记录
  • 30 个时间步
  • 32 个直方图箱
  • 9 个 channel (图片 乐队)

目标数据具有形状
(6097, 1)

  • 6097 条记录包含裁剪产量( float )数据。

当我创建 CNN 回归模型的最后一个密集层时,我不确定要使用哪些设置。最后一个卷积层的输出维度为(None,2,2,512)。我添加了 BatchNorm 和 Flatten 层(不确定这是否有意义)

正确的单元数和激活函数是多少?我的猜测是units=1并且激活函数=“None”

喀拉斯:

model.add(Dense(units=1,
                activation=None
                ))

enter image description here

最佳答案

这取决于您想要的结果类型,通常使用线性激活函数来简单地将值映射回来(它不会改变它)。 Here是对输出层选择的简要说明。 Here是对回归的解释,还简要提到了输出层。 单位数量已经正确。

model.add(Dense(units=1,
                activation='linear'
                ))

或者得到相同的结果:

model.add(Dense(1))

关于keras - CNN 最后一层使用哪些设置进行回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56133503/

相关文章:

machine-learning - 验证损失远高于训练损失

python - 如何在 anaconda 上安装 tensorflow 2.4>?

python - 像素级多类分割,关于训练全零像素图像的问题

tensorflow - 如何使用 TFRecordWriter 写入 tf.Data.dataset.take() 的结果?

r - (R lme4)eval 中的错误(替换(expr),envir,enclos): (maxstephalfit) PIRLS step-halvings failed to reduce deviance in pwrssUpdate

python - 如何用Python和sklearn编写多元对数回归?

r - 如何强制 R 使用指定的因子水平作为回归中的引用?

python - 如何修复 'ValueError: input tensor must have rank 4' ?

deep-learning - 在 pytorch 代码中如何在 ResNet 中进行下采样?

deep-learning - 如何在 Pytorch 中添加 EfficieNet 预训练模型的最后一个分类层?