Необходимость нормализации выборок данных обусловлена самой природой используемых переменных нейросетевых моделей. Будучи разными по физическому смыслу, они зачастую могут сильно различаться между собой по абсолютным величинам. Так, например, выборка может содержать и концентрацию, измеряемую в десятых или сотых долях процентов, и давление в сотнях тысяч паскаль. Нормализация данных позволяет привести все используемые числовые значения переменных к одинаковой области их изменения, благодаря чему появляется возможность свести их вместе в одной нейросетевой модели.
Чтобы выполнить нормализацию данных, нужно точно знать пределы изменения значений соответствующих переменных (минимальное и максимальное теоретически возможные значения). Тогда им и будут соответствовать границы интервала нормализации. Когда точно установить пределы изменения переменных невозможно, они задаются с учетом минимальных и максимальных значений в имеющейся выборке данных.
Наиболее распространенный способ нормализации входных и выходных переменных – линейная нормализация.
Примем следующие обозначения:
– xik, yjk – i-е входное и j-е выходное значения k-го примера исходной выборки в традиционных единицах измерения, принятых в решаемой задаче;
– – соответствующие им нормализованные входное и выходное значения;
– N – количество примеров обучающей выборки.
Тогда переход от традиционных единиц измерения к нормализованным и обратно с использованием метода линейной нормализации осуществляется с использованием следующих расчетных соотношений:
– при нормализации и денормализации в пределах [0, 1]:
; (1)
; (2)
– при нормализации и денормализации в пределах [–1, 1]:
;
,
где
;
.
Если обучающая выборка не содержит примеров с потенциально возможными меньшими или большими выходными значениями, можно задаться шириной коридора экстраполяции для левой, правой или обеих границ в долях от длины всего первоначального интервала изменения переменной, обычно не более 10 % от нее. В этом случае происходит переход от фактических границ из обучающей выборки к гипотетическим:
.
Один из способов нелинейной нормализации – с использованием сигмоидной логистической функции или гиперболического тангенса. Переход от традиционных единиц измерения к нормализованным и обратно в данном случае осуществляется следующим образом:
– при нормализации и денормализации в пределах [0, 1]:
;
,
где xc i, yc j – центры нормализуемых интервалов изменения входной и выходной переменных:
;
– при нормализации и денормализации в пределах [–1, 1]:
;
.
Параметр aвлияет на степень нелинейности изменения переменной в нормализуемом интервале. Кроме того, при использовании значений a < 0,5 нет необходимости дополнительно задаваться шириной коридора экстраполяции.
Рассмотрим в сравнении методы линейной и нелинейной нормализации. На рис. 1 приведены графики нормализации входной переменной для пределов [–1; 1]. Для нелинейной нормализации с использованием функции гиперболического тангенса принято значение параметра a = 1,0. Следует отметить, что совпадение нормализованного значения в обоих случаях имеет место лишь в точке, соответствующей центру нормализуемого интервала.
Рис. 1. Сравнение линейной и нелинейной функций нормализации
Рис. 2. Влияние параметра на график функции нелинейной нормализации
На рис. 2 показаны случаи нелинейной нормализации в пределах [0; 1] с использованием функции гиперболического тангенса с параметрами a, равными, соответственно, 0,3, 0,5, 1,0. Очевидно, что чем меньше значение параметра a, тем более полого выглядит нормализованная зависимость и больше ширина коридора экстраполяции.