我正在看几个 keras 教程,有些东西让我觉得很奇怪。所以在这两个教程中,都是关于住房数据的,网络第一层的节点数大于数据集本身的列数。注意:我说的是表格数据,而不是图像数据或自动编码器。我知道自动编码器会在解码阶段变宽,我知道分割模型会在反卷积阶段变宽。这两个示例似乎都与我在这些教程中看到的不同。
第一个教程使用加利福尼亚州金斯县的房价数据来创建一个简单的神经网络。在这种情况下,Kings County 数据只有 19 个变量,但网络本身具有大小为 100 个节点的初始密集层。这是代码:
def basic_model_1(x_size, y_size):
t_model = Sequential()
t_model.add(Dense(100, activation="tanh", input_shape=(x_size,)))
t_model.add(Dense(50, activation="relu"))
t_model.add(Dense(y_size))
print(t_model.summary())
t_model.compile(loss='mean_squared_error',
optimizer=Adam(),
metrics=[metrics.mae])
return(t_model)
在第二个示例中,我查看了 Aurelion Geron 最近关于 Keras 和 Tensorflow 的书。在第 10 章中,他使用一些不同的加利福尼亚住房数据来估计 keras 神经网络。同样在这种情况下,他在数据集中有 8 个变量,但他从 30 的密集层开始。
需要注意的是,我没有看到任何列被转换为单热编码或一些稀疏公式。
这种网络开始比数据更宽的情况对我来说似乎很奇怪,但也许这只是我来自统计界。谁能解释一下?谢谢。

