假设我有一个大小为 (1000, 64) 的数据集,其中 64 是列数(即特征)。在 Keras 中,假设我想构建一个 NN 模型作为以下架构:
现在,要在 Keras 中构建上述架构,我通常会执行以下操作:
model = Sequential()
model.add(Dense(units=64, input_dim=64, activation='tanh')) # Input layer
model.add(Dense(units=100, activation='tanh')) # Hidden layer
model.add(Dense(units=1, activation='sigmoid')) # Output layer
Run Code Online (Sandbox Code Playgroud)
的问题是,我不能参数区分units并input_dim用于Dense()层(对于角色作为第一层(输入层))。我确实理解这input_dim是为了指定数据集中的特征数量(在我的情况下为 64),但我不明白units这里对输入层的作用。应该units是64?换句话说,输入层的参数是否units应该相同input_dim?
非常感谢。
让我们先看一下图示
在 keras 序列模型符号方面,您将需要两个 Dense 层(图中标记为虚线框)
Dense(units=100, input_dim=64)input_dim密集层不需要,因为它连接到序列模型中的前一个密集层,无论前一个密集层输出什么,它都会作为输入(对于每个神经元)
Dense(units=1)所以模型将是:
model = Sequential()
model.add(Dense(units=100, input_dim=64, activation='tanh')) # First Hidden layer
model.add(Dense(units=1, activation='sigmoid')) # Output layer
Run Code Online (Sandbox Code Playgroud)
您可以将其Dense(units=m, input_dim=n)视为具有m神经元的层,每个神经元都有n输入。这一层将输出m输出(每个神经元一个)。
| 归档时间: |
|
| 查看次数: |
771 次 |
| 最近记录: |