2016-07-26 4 views
2

У меня есть набор функций в интервале (-1,1). Я ищу биективную функцию или процедуру для нормализации данных в определенном диапазоне со средним значением, близким к 0, и дисперсия, близкая к 1.Нормализация данных/функций

Очень важно, чтобы функция была биективной, так как мне нужны нормализованные функции как вход для нейтральной сети с функцией активации tanh. Мой процесс состоял бы в том, чтобы преобразовать данные в память, подавать их в сеть и преобразовывать результат сети в исходный масштаб.

ответ

2

Эта задача нормализации довольно обычна при применении нейронных сетей. Наиболее распространенный подход - просто вычислить среднее и стандартное отклонение ваших данных и сохранить эти значения в вашей учебной программе. Таким образом, трубопровод для ваших данных, то:

  1. Compute mean и sd ваших входных данных и сохранить его в памяти.
  2. Применить нормализующее преобразование: normed_data = (data - mean)/sd.
  3. Поезд/оценка/использование сети.
  4. Denormalize данные используя: original_data = (normed_data * sd) + mean.

Я написал более длинный пост по нормализации данных. Вы можете прочитать его here.

+0

Благодарим вас за ответ. Я просто понял, что в этом случае может быть применена функция преобразования Phi. Раньше я просто знал, что он используется для преобразования, стандартизации нормальных распределенных данных для использования обычных таблиц распределения. –

+0

Вы сказали в своем посте, что нужно рассчитать среднее значение и std. отклонение для Ys, выходов. Не могли бы вы объяснить причину? Рассмотрим следующий пример: Образец представляет собой набор S случайных чисел определенного интервала (x0, x1). Вход xi, а также target yj всегда является подмножеством S. Входы выбираются последовательностью от n до m-1, а целью является m. Производит ли отдельный расчет среднего и std. в этой погоне также применяются отклонения? –