我有一个由 18260 个输入字段和 4 个输出组成的大数据集。我正在使用 Keras 和 Tensorflow 构建一个可以检测可能输出的神经网络。
sigmoid
但是我尝试了很多解决方案,但除非我在除第一个模型层之外的所有模型层中使用激活函数,否则准确率没有超过 55% ,如下所示:
def baseline_model(optimizer= 'adam' , init= 'random_uniform'):
# create model
model = Sequential()
model.add(Dense(40, input_dim=18260, activation="relu", kernel_initializer=init))
model.add(Dense(40, activation="sigmoid", kernel_initializer=init))
model.add(Dense(40, activation="sigmoid", kernel_initializer=init))
model.add(Dense(10, activation="sigmoid", kernel_initializer=init))
model.add(Dense(4, activation="sigmoid", kernel_initializer=init))
model.summary()
# Compile model
model.compile(loss='sparse_categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
return model
在所有层中使用sigmoid
激活正确吗?如上所示,使用 sigmoid 时准确率达到 99.9%。所以我想知道模型实现是否有问题。