Нормализация

Цель нормализации состоит в том, чтобы преобразовать признаки, чтобы они были в одинаковом масштабе. Это улучшает производительность и стабильность обучения модели.

Краткий обзор методов нормализации

Могут быть полезны четыре общих метода нормализации:

  • масштабирование до диапазона
  • вырезка
  • масштабирование журнала
  • z-оценка

На следующих диаграммах показано влияние каждого метода нормализации на распределение необработанного признака (цены) слева. Диаграммы основаны на наборе данных из Автомобильного ежегодника Уорда за 1985 год, который является частью репозитория машинного обучения UCI в разделе Автомобильный набор данных .

Пять графиков: 1. необработанное распределение. 2. исходное распределение масштабируется до диапазона, который имеет ту же форму, что и исходное распределение. 3. Обрезано исходное распределение, что исключает самые высокие значения. 4. необработанное распределение, масштабированное по логарифму, которое группирует данные в середине распределения. 5. z-показатель распределения, который имеет форму, аналогичную необработанному распределению.

Рисунок 1. Резюме методов нормализации.

Масштабирование до диапазона

Напомним из MLCC , что масштабирование означает преобразование значений функций с плавающей запятой из их естественного диапазона (например, от 100 до 900) в стандартный диапазон — обычно 0 и 1 (или иногда от -1 до +1). Используйте следующую простую формулу для масштабирования до диапазона:

\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]

Масштабирование до диапазона является хорошим выбором, когда выполняются оба следующих условия:

  • Вы знаете приблизительные верхнюю и нижнюю границы ваших данных с небольшими выбросами или без них.
  • Ваши данные примерно равномерно распределены по этому диапазону.

Хороший пример — возраст. Большинство возрастных значений находится в диапазоне от 0 до 90 лет, и в каждой части диапазона проживает значительное количество людей.

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

Отсечение функций

Если ваш набор данных содержит экстремальные выбросы, вы можете попробовать отсечение объектов, которое ограничивает все значения объектов выше (или ниже) определенного значения фиксированным значением. Например, вы можете обрезать все значения температуры выше 40 до ровно 40.

Вы можете применить отсечение объектов до или после других нормализации.

Формула: Установите минимальные/максимальные значения, чтобы избежать выбросов.

Сравнение родного дистрибутива и ограниченного дистрибутива. В исходном распределении почти все значения попадают в диапазон от 1 до 4, но небольшой процент значений находится в диапазоне от 5 до 55. В ограниченном распределении все значения, первоначально превышающие 4, теперь имеют значение 4.

Рисунок 2. Сравнение необработанного дистрибутива и его обрезанной версии.

Другой простой стратегией отсечения является отсечение по z-оценке до +-Nσ (например, ограничение до +-3σ). Обратите внимание, что σ является стандартным отклонением.

Масштабирование журнала

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

\[ x' = log(x) \]

Логарифмическое масштабирование полезно, когда несколько ваших значений имеют много точек, в то время как большинство других значений имеют мало точек. Это распределение данных известно как распределение по степенному закону . Рейтинги фильмов являются хорошим примером. На приведенной ниже диаграмме у большинства фильмов очень мало рейтингов (данные в хвосте), а у некоторых — много рейтингов (данные в заголовке). Логарифмическое масштабирование изменяет распределение, помогая повысить производительность линейной модели.

Два графика, сравнивающие необработанные данные с журналом необработанных данных. График необработанных данных показывает множество оценок в начале, за которыми следует длинный хвост. Логарифмический график имеет более равномерное распределение.

Рисунок 3. Сравнение необработанного распределения с его журналом.

Z-оценка

Z-оценка — это разновидность шкалы, которая представляет собой количество стандартных отклонений от среднего значения. Вы должны использовать z-оценку, чтобы гарантировать, что ваши распределения функций имеют среднее значение = 0 и стандартное значение = 1. Это полезно, когда есть несколько выбросов, но не настолько экстремальных, чтобы вам нужно было отсечь.

Формула для расчета z-показателя точки, x , выглядит следующим образом:

\[ x' = (x - μ) / σ \]

Два графика, сравнивающие необработанные данные с данными, нормализованными с помощью z-показателя. Необработанные данные показывают грубое распределение Пуассона в диапазоне от 5000 до 45000. Нормализованные данные находятся в диапазоне от -1 до +4.

Рисунок 4. Сравнение необработанного распределения с его распределением по z-показателям.

Обратите внимание, что z-оценка сжимает необработанные значения с диапазоном ~40000 в диапазон примерно от -1 до +4.

Предположим, вы не уверены, действительно ли выбросы являются экстремальными. В этом случае начните с z-оценки, если у вас нет значений признаков, которые вы не хотите, чтобы модель изучала; например, значения являются результатом ошибки измерения или причуды.

Резюме

Техника нормализации Формула Когда использовать
Линейное масштабирование$$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ Когда функция более или менее равномерно распределена по фиксированному диапазону.
Отсечение если х > макс, то х' = макс. если x < min, то x' = min Когда функция содержит некоторые экстремальные выбросы.
Масштабирование журнала х' = журнал (х) Когда признак соответствует степенному закону.
Z-оценка х' = (х - μ) / σ Когда распределение признаков не содержит экстремальных выбросов.