Керас Нейронная Сеть. предварительная обработка - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть это сомнение, когда я подгоняю нейронную сеть к проблеме регрессии. Я предварительно обработал предикторы (особенности) моих данных поезда и теста, используя методы Imputers и Scale из sklearn.preprocessing , но я не обработал класс заранее или цель моих данных поезда или данных испытаний.

В архитектуре моей нейронной сети все слои имеют relu в качестве функции активации, кроме последнего слоя, который имеет функцию sigmoid . Я выбрал сигмовидную функцию для последнего слоя, потому что значения прогнозов находятся в диапазоне от 0 до 1.

tl; dr: Таким образом, мой вопрос: должен ли я обработать вывод моей нейронной сети? Если я не использую функцию sigmoid, значения моего вывода равны <0 и> 1. В таком случае, как мне это сделать?

Спасибо

1 Ответ

0 голосов
/ 15 ноября 2018

Обычно, если вы делаете регрессию, вы должны использовать линейную 'активацию в последнем слое. Функция сигмоида будет «отдавать предпочтение» значениям ближе к 0 и 1, поэтому вашей модели будет сложнее выводить промежуточные значения.

Если распределение ваших целей является гауссовым или равномерным, я бы пошел с линейным выходным слоем. Де-обработка не должна быть необходимой, если у вас очень большие цели.

...