Как использовать Tensorboard для определения важных функций?
У меня есть модель двоичного классификатора, которая построена с использованием API оценки. Эта модель имеет около 300 функций и один ярлык. Я использую модель одного скрытого слоя с 175 нейронами.
Я запускаю модель с 5000 тренировочных шагов. Перед разделением на наборы для обучения, тестирования и проверки у меня есть 278 экземпляров одного класса и 178 экземпляров второго класса. Это не идеально сбалансировано.
С учетом сказанного я получаю точность 0,984.
Итак, я пытаюсь интерпретировать результаты гистограммы, чтобы посмотреть, смогу ли я использовать это, чтобы определить, какие функции более важны, чем другие. Вот несколько картинок на вкладке гистограммы.
Вот скриншот логитов.
1 ответ
Основываясь на этих скриншотах, похоже, что эти гистограммы предназначены для значений активации как из скрытого слоя, так и из ваших логитов. Я не верю, что это даст вам какое-либо представление о том, как ваши функции влияют на выходные данные модели, потому что эти гистограммы просто вычисляют распределение выходных значений для этих графовых операций.
В целом, я думаю, что Tensorboard гораздо больше подходит для мониторинга, чем для анализа, поскольку основная цель Tensorboard - облегчить понимание, отладку и оптимизацию программ TensorFlow.
При этом команда Tensorflow создала инструмент под названием Tensorflow Model Analysis (TFMA), который, похоже, идеально подходит для того, что вы пытаетесь сделать:
Если вы уже используете API-интерфейс оценщика, вы сможете адаптировать свой код для использования TFMA без большого количества необходимых изменений. Руководство по началу работы может быть хорошей отправной точкой!