在CNN的最后一层中使用哪些设置进行回归

时间:2019-05-14 15:04:30

标签: keras regression conv-neural-network

我尝试将CNN用于回归任务。

我的要素数据具有形状(6097、30、32、9):

  • 6097条记录
  • 30个时间步长
  • 32个直方图容器
  • 9个频道(图片 乐队)

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

  • 6097条记录,其中包含作物产量(浮动)数据。

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

正确的单位数量和激活功能是什么?我的猜测是unit = 1,激活函数=“ None”

凯拉斯:

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

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

或为相同的结果:

model.add(Dense(1))