首页 > 解决方案 > 在 CNN 的最后一层中使用哪些设置进行回归

问题描述

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

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

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

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

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

喀拉斯:

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

在此处输入图像描述

标签: kerasregressionconv-neural-network

解决方案


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

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

或者对于相同的结果:

model.add(Dense(1))

推荐阅读