Будет ли модель мульти-вывода Keras всегда давать бесконфликтные результаты? - PullRequest
0 голосов
/ 16 января 2020

Я построил 2 модели с Keras для одного и того же набора данных: одна только для класса прогнозирования A, а другая только для класса прогнозирования B. Модели имели одинаковую архитектуру:

  • количество скрытых слоев Dense () с активацией ReLU,
  • один слой Dense () на выходе с активацией сигмоида.

Каждая модель была обучена для достижения точности в ок. 0,77, но вполне очевидно, что были конфликты в прогнозах, когда обе модели давали положительные прогнозы для одной и той же выборки.

Далее я построил еще одну модель Keras с той же архитектурой, что и раньше, но с большими размерами слоев и тройным выводом для прогнозирования класса A или B или (не A и не B). Из тестов, которые я провел до сих пор, кажется, что модель всегда дает 1 положительный и 2 отрицательных значения для каждого образца из набора тестов, что было хорошо, но мой вопрос: могу ли я быть уверен, что это всегда так? И если да, будет ли это результатом обучения или какого-либо свойства модельных слоев?

1 Ответ

0 голосов
/ 16 января 2020

Вы должны предоставить нам свою модель архитектуры, чтобы лучше понять ваши сети.

Это, вероятно, связано с тем, как вы обучаете свою модель. При обучении модели с 1 выходом размера 3 с помощью «A xor B xor None» ваши метки являются горячими векторами. Таким образом, ваша модель научится выводить 1 только к одному из этих значений.

Более того, модели классификации часто заканчиваются слоем Softmax. Этот слой как свойство толкает максимальное значение тензора к 1, а остальные - к 0 (следя, чтобы все значения равнялись 1).

...