首页 > 解决方案 > 如何使用 Keras(基本)在深度学习中对输入层进行编码

问题描述

好的,所以我对深度学习还很陌生,并且有一个非常基本的疑问。我有一个输入数据,其数组包含 epochs_data 中的 255 个数据(Araay 形状(255,))以及它们在 new_labels 中的相应标签(数组形状(255,))。

我使用以下代码拆分数据:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(epochs_data, new_labels, test_size = 0.2, random_state=30)

我正在使用顺序模型:

from keras.models import Sequential
from keras import layers
from keras.layers import Dense, Activation, Flatten
model = Sequential()

我知道如何为隐藏层和输出层编码:

model.add(Dense(500, activation='relu')) #Hidden Layer
model.add(Dense(2, activation='softmax')) #Output Layer

但我不知道如何使用指定的 input_shape 对输入层进行编码。X_train 是输入。它是一个形状为 (180,) 的数组。还告诉我如何为 model.fit() 编写相同的代码。任何帮助表示赞赏。

标签: pythonkerasdeep-learning

解决方案


您必须在隐藏层之前复制这条线。您可以添加所需的激活函数。最后,正如你所看到的,这条线代表输入层和 1° 隐藏层(你必须选择神经元的 n°(我放 100))

model.add(Dense(100, input_shape = (X_train.shape[1],))

编辑:在拟合模型之前,您必须使用以下行配置模型:

model.compile(loss = 'mse', optimizer = 'Adam', metrics = ['mse'])

因此,您必须选择一个指标,在这种情况下是均方误差和像 Adam、Adamax 等这样的优化器。

然后您可以选择数据 (X,Y)、n° epochs、val_split 和批量大小来拟合您的模型。

history = model.fit(X_train, y_train, epochs = 200,
                    validation_split = 0.1, batch_size=250)

推荐阅读