Нормализация данных — преобразование значений к неким безразмерным величинам. Обычно в диапазоне от 0 до 1 или от -1 до 1.
Для чего нужна нормализация данных?
Необходимость нормализации данных обучающих выборок данных обусловлена особенностями используемых переменных в нейросетевых моделях. Поскольку они различаются по физическому смыслу, их абсолютные значения могут значительно разниться. Например, выборка может включать концентрацию, измеряемую в десятых или сотых долях процентов, а также давление в сотнях тысяч паскаль и температуру в градусах Цельсия.
Нормализация данных предоставляет возможность привести все числовые значения переменных к одному диапазону изменерений. Это обеспечивает возможность объединить их в одной нейросетевой модели, учитывая их разнообразие.
Чтобы выполнить нормализацию данных, нужно точно знать пределы изменения значений соответствующих переменных (минимальное и максимальное теоретически возможные значения). Тогда им и будут соответствовать границы интервала нормализации. Когда точно установить пределы изменения переменных невозможно, они задаются с учетом минимальных и максимальных значений в имеющейся выборке данных.
Существуют различные способы нормализации данных. Рассмотрим наиболее используемые:
Наиболее распространенный способ нормализации входных и выходных переменных — линейная нормализация.
Примем следующие обозначения:
Тогда переход от традиционных единиц измерения к нормализованным и обратно с использованием метода линейной нормализации осуществляется следующим образом:
Если обучающая выборка не содержит примеров с потенциально возможными меньшими или большими выходными значениями, можно задаться шириной коридора экстраполяции ψ для левой, правой или обеих границ в долях от длины всего первоначального интервала изменения переменной, обычно не более 10% от нее. В этом случае происходит переход от фактических границ из обучающей выборки к гипотетическим:
Один из способов нелинейной нормализации — с использованием сигмоидной логистической функции или гиперболического тангенса. Переход от традиционных единиц измерения к нормализованным и обратно в данном случае осуществляется следующим образом:
Параметр a влияет на степень нелинейности изменения переменной в нормализуемом интервале. Кроме того, при использовании значений a < 0,5 нет необходимости дополнительно задаваться шириной коридора экстраполяции.
Рассмотрим в сравнении методы линейной и нелинейной нормализации. Ниже приведены графики нормализации входной переменной для пределов [–1; 1]. Для нелинейной нормализации с использованием функции гиперболического тангенса принято значение параметра a = 1,0. Следует отметить, что совпадение нормализованного значения в обоих случаях имеет место лишь в точке, соответствующей центру нормализуемого интервала.
Ниже показаны случаи нелинейной нормализации в пределах [0; 1] с использованием функции гиперболического тангенса с параметрами a, равными, соответственно, 0,3, 0,5, 1,0. Очевидно, что чем меньше значение параметра a, тем более полого выглядит нормализованная зависимость и больше ширина коридора экстраполяции.
Пример линейной нормализации в MS Excel
Пример нелинейной нормализации в MS Excel
Мы рассмотрели два способа нормализации переменных, которые успешно используются для подготовки обучающих выборок для нейронных сетей.
Какой способ использовать зависит от решаемой задачи, объема обучающей выборки и ширины диапазона, в котором изменяются исходные значения обучающей выборки.
Источник: Методическое пособие: «Теоретические основы и практическое применение искусственных нейронных сетей». Авторы: С. П. Дударов, П. Л. Папаев