Функция активации для мультиклассовых данных с несколькими метками

Я делаю простую мультиклассовую классификацию изображений с несколькими метками. На этом изображении разделено на 6 классов и каждый класс на 3 подкатегории (1, 2, 3). Я сделал простую модель с сигмовидной активацией и использовал binary cross_entropy. Вот мой код:

  model.add(Dense(64, activation='relu'))
  model.add(Dense(4, activation='sigmoid'))
  return model

  model.compile(optimizers.rmsprop(lr=0.003, decay=1e-6),loss="binary_crossentropy",metrics=["accuracy"])

Я должен использовать softmax для получения результата в 3 подкатегории, но я не знаю, как мне его использовать.


person Nicky Manali    schedule 08.12.2019    source источник


Ответы (1)


разбейте свою проблему на несколько задач и создайте модель для каждой задачи и объедините ее вместе.

если у вас есть задача с несколькими метками, используйте сигмовидную активацию на последнем уровне и используйте активацию softmax, когда у вас есть проблема с несколькими классификациями.

Для объединения нескольких моделей вместе вы можете использовать tf.cond или tf.where для использования конкретной модели в соответствии с прогнозом первой базовой модели.

person Mukul    schedule 08.12.2019
comment
Как насчет одной горячей кодировки? - person Nicky Manali; 08.12.2019
comment
извините, я не понял, о чем вы спрашиваете, я предлагаю обучать отдельные модели для каждой задачи. - person Mukul; 08.12.2019