小编Eth*_* C.的帖子

Keras 如何通过历元真正拟合模型

我对 Keras 如何拟合模型有点​​困惑。一般来说,Keras 模型的拟合只需使用model.fit(...)如下所示的内容:

model.fit(X_train, y_train, epochs=300, batch_size=64, validation_data=(X_test, y_test))
Run Code Online (Sandbox Code Playgroud)

我的问题是:因为我用参数 陈述了测试数据validation_data=(X_test, y_test),是否意味着每个时期都是独立的?换句话说,我知道在每个时期,Keras 使用训练数据(经过洗牌后)训练模型,然后使用提供的验证数据测试训练后的模型。如果是这样的话,那么无论我选择多少个纪元,我都只取最后一个纪元的结果!!

如果这种情况是正确的,那么我们是否需要多个纪元?除非这些时期是相互依赖的,每个时期使用与前一个时期相同的神经网络权重,对吗?

谢谢

neural-network keras data-science

4
推荐指数
1
解决办法
1321
查看次数

了解 Dense 层的参数单位和 input_dim 之间的区别

假设我有一个大小为 (1000, 64) 的数据集,其中 64 是列数(即特征)。在 Keras 中,假设我想构建一个 NN 模型作为以下架构:

  1. 输入层:显然应该是一层神经元数量等于我数据集中的特征数量。因此,此处的神经元数量 = 64。
  2. 隐藏层:我希望这个隐藏层有 100 个神经元。
  3. 输出层:这是一个神经元,因为我正在处理一个二元分类问题。

现在,要在 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)

的问题是,我不能参数区分unitsinput_dim用于Dense()层(对于角色作为第一层(输入层))。我确实理解这input_dim是为了指定数据集中的特征数量(在我的情况下为 64),但我不明白units这里对输入层的作用。应该units是64?换句话说,输入层的参数是否units应该相同input_dim

非常感谢。

keras

4
推荐指数
1
解决办法
771
查看次数

标签 统计

keras ×2

data-science ×1

neural-network ×1