Изменение кода двоичной и мультиклассовой классификации - PullRequest
0 голосов
/ 01 мая 2019

Я использую почти похожий код, который я нашел здесь ...

https://towardsdatascience.com/classify-butterfly-images-with-deep-learning-in-keras-b3101fe0f98

Пример связан с двоичной классификацией.Данные, с которыми я тестирую, требуют многоклассовой классификации.Я думаю, мне нужно изменить функцию активации и потери.Могу ли я использовать тот же код, что и здесь, если у меня более двух типов?

https://github.com/bertcarremans/Vlindervinder/blob/master/model/CNN.ipynb


обновление: у меня есть еще один вопрос.Нужно ли увеличение, если у меня достаточно данных?

Ответы [ 2 ]

1 голос
/ 01 мая 2019

Нет, это классификация по нескольким меткам.Ты сказал мультикласс.Вот краткое изложение для вас:

  • Двоичный: У вас есть один выходной 0 или 1. Вы используете что-то вроде Dense(1, activation='sigmoid') в последнем слоеи binary_cross_entropy как функция потерь.
  • Мульти-метка: У вас есть несколько выходов 0 или 1;Dense(num_labels, activation='sigmoid') и снова binary_cross_entropy.В этом случае пример может принадлежать нескольким меткам одновременно .
  • Мультикласс: Пример относится к 1 из N классов , они взаимоисключающие.Вы используете Dense(num_classes, activation='softmax') с softmax_crossentropy.
1 голос
/ 01 мая 2019

Просто измените binary_crossentropy на categorical_crossentropy:

cnn.compile(loss='categorical_crossentropy',
            optimizer='rmsprop',
            metrics=['accuracy'])

Если ваши ярлыки не имеют горячего кодирования, измените эти строки:

train_generator = train_datagen.flow_from_directory(
    'data/train',
    target_size=(IMG_SIZE,IMG_SIZE),
    batch_size = BATCH_SIZE,
    class_mode='categorical')

validation_generator = validation_datagen.flow_from_directory(
    'data/validation',
    target_size=(IMG_SIZE,IMG_SIZE),
    batch_size = BATCH_SIZE,
    class_mode='categorical')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...