损失函数不会降低,并且精度在二进制softmax上给出并输出50%

时间:2019-04-11 23:16:48

标签: keras deep-learning

我正在训练一个深层模型,损失函数似乎并没有减少。我想知道你们中的任何人都可以看看我的体系结构,并告诉我我缺少什么。该模型似乎没有学到任何东西。非常感谢!

我已经整理了数据,使模型更广泛,更深入。它只会导致过度拟合,我共享的体系结构不会过度拟合,但是损失函数不会减少。

数据集由训练数据大小(623,25)重塑为(623,5,5)和测试(151,25)至(151,5,5)组成。

在一次热编码之后,

训练标签为(623,2)和(151,2)。该模型是二元softmax分类器。

network = models.Sequential()
network.add(Conv1D(filters=25, kernel_size=2, activation='relu',input_shape=(25,1)))
network.add(layers.Dense(100, activation='relu', input_shape=(25,)))
network.add(Dropout(0.8))
network.add(layers.Dense(30, activation='relu', input_shape=(25,)))
network.add(Dropout(0.5))
network.add(layers.Dense(15, activation='relu', input_shape=(25,)))
network.add(Conv1D(filters=25, kernel_size=2, activation='relu',input_shape=(25,)))
network.add(MaxPooling1D())
network.add(Flatten())
network.add(layers.Dense(2, activation='softmax'))
network.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])
history=network.fit(train_x, train_y,validation_split=0.25, epochs=20000, batch_size=12,shuffle=True)
test_loss, test_acc = network.evaluate(test_x, test_y)

我希望准确度至少为85%。

非常感谢!

0 个答案:

没有答案