Керас: очень тяжелая переоснащение - PullRequest
0 голосов
/ 18 апреля 2020

Очень странное переоснащение произошло в моем проекте keras. Код соответствия:

    model.fit(
        x = trainX,
        y = trainY,
        batch_size=8,
        epochs=30,
        validation_split=0.2,
        shuffle=True,
        callbacks=[checkpoint, tensorboard]
    )

Печатная информация:

4184/4320 [============================>.] - ETA: 0s - loss: 0.0481 - accuracy: 0.9804
4208/4320 [============================>.] - ETA: 0s - loss: 0.0499 - accuracy: 0.9800
4232/4320 [============================>.] - ETA: 0s - loss: 0.0496 - accuracy: 0.9802
4256/4320 [============================>.] - ETA: 0s - loss: 0.0494 - accuracy: 0.9803
4280/4320 [============================>.] - ETA: 0s - loss: 0.0491 - accuracy: 0.9804
4312/4320 [============================>.] - ETA: 0s - loss: 0.0489 - accuracy: 0.9805
4320/4320 [==============================] - 10s 2ms/step - loss: 0.0489 - accuracy: 0.9806 - val_loss: 7.5471 - val_accuracy: 0.5093

Точность обучения составляет 0,98, а достоверность проверки - 0,50. Этот проект является классификационным проектом 2 класса, поэтому 0,50 означает, что модель не работает.

Почему происходит такое переоснащение? Как данные обучения, так и данные проверки получены из (trainX, trainY). Кроме того, я делаю заказ trainX случайным перед подгонкой:

    n = trainX.shape[0]
    ind = np.arange(n)
    np.random.shuffle(ind)
    trainX = trainX[ind, :]
    trainY = trainY[ind, :]

В моей модели я использовал keras.layers.Dropout. Я не уверен, как решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...