Keras / NN - Применение различного масштабирования / нормализации на входах - PullRequest
0 голосов
/ 01 мая 2019

в моем путешествии, изучая ML, я тестировал некоторые NN, и я увидел, что мой вывод не учитывает один из моих трех входов, который очень важен.

Мой набор данных состоит из 4столбцы (csv):

  • 3 являются числами (включая выходные данные) betwin 1 000 и могут доходить до 150 000 000

  • 1 isчисло между 0 и 100, которое не принимается во внимание моим NN

Я масштабирую свой набор данных, используя MinMaxScaler из scikit-learn:

df = pd.read_csv('rawData.csv')
dataset = df.values

min_max_scaler = preprocessing.MinMaxScaler()
dataset = min_max_scaler.fit_transform(dataset)

X = dataset[:,0:3] # input
Y = dataset[:,3]   # output

Я также использую другой способ масштабирования своих данных (когда я хочу протестировать свою модель):

min_test = np.min(runset)
max_test = np.max(runset)

normalized = (runset - min_test) / (max_test - min_test)

test = model.predict(normalized)

result = test * (max_test - min_test) + min_test

Поэтому мой вопрос: Возможно ли и рекомендуется использовать разные шкалы для разных входных данных?? Если да, то как мне это сделать?

1 Ответ

0 голосов
/ 02 мая 2019

Короткий ответ на ваш вопрос - это другой вопрос: у меня есть предварительное знание о важности характеристик, характеризующих мой набор данных?

  • если да, я могу масштабировать мои данные таким образом, чтобы более важные функции имели больший разброс / диапазон.
  • если нет, то я должен масштабировать свои данные таким образом, чтобы объекты имели среднее значение 0 и стандартное отклонение 1. Почему? В основном для улучшения числовых условий, устранения проблемы масштабной зависимости начальных весов, ускорения тренировочного процесса и снижения риска застревания в локальных оптимумах.

Не стоит недооценивать чувствительность методов градиентного спуска к масштабированию.

Наконец, не забудьте использовать статистику (среднее и стандартное отклонение) из обучающего набора для стандартизации набора проверки / тестирования.

...