2016-06-20 2 views
1

Я работаю над моделью Neural Network, и мне было интересно, как я должен был масштабировать свои входы.Масштабирование входов на разных весах Neural Networks

На данный момент я просто масштабирую все входы как входы с помощью mean = 0/std(Standard Deviation) = 1. Однако мои входы не все распределены normally. Некоторые из них обычно распределены, а некоторые из них линейно распределены.

Как я должен обрабатывать и масштабировать свои входы? Можно ли масштабировать некоторые входы с помощью mean = 0 & std = 1 и линейно масштабировать другие входы?

Спасибо! Paul

ответ

0

Единственное дополнение, которое может иметь масштабирование для построения нейронной сети, заключается в том, чтобы избежать ошибок обучения и более быстрой сходимости. Теоретически, вы должны получить тот же результат независимо от масштаба использования (или в вашем случае с использованием разных методов масштабирования для разных входных нейронов). Пока вы не меняете основную структуру своих данных, все должно быть хорошо.

В идеале вы должны использовать один метод масштабирования, независимо от распределения ваших входов, поскольку он предназначен для того, чтобы все входы были сопоставимы друг с другом. Вы также можете выбрать различные методы масштабирования. На ваш вопрос нет правильного ответа, и большинство ответов будут использовать некоторую эмпирическую информацию для выбора метода масштабирования. Это зависит от ваших данных.

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

Смежные вопросы