Что такое нормализация: простое объяснение с примерами

Що таке нормалізація: просте пояснення з прикладами

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

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

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

Зачем масштабировать числовые признаки

Представим таблицу с двумя признаками автомобиля: ценой в гривнах и расходом топлива в литрах на 100 километров. Числа в первом столбце могут измеряться сотнями тысяч, а во втором — единицами. Для алгоритмов, использующих расстояния, градиенты или штрафы за большие коэффициенты, признак с более широким числовым диапазоном может непропорционально влиять на результат.

Это касается, в частности, метода ближайших соседей, кластеризации k-means, многих линейных моделей и нейронных сетей. Деревья решений и модели на их основе обычно гораздо меньше зависят от масштаба, поскольку сравнивают значения с порогами. Следовательно, масштабирование не обязательно для каждой модели: выбор зависит от алгоритма, распределения данных и цели анализа.

Min-max scaling: диапазон от 0 до 1

Min-max scaling переносит значения признака в заданный диапазон, чаще всего от 0 до 1. Из каждого значения вычитают минимум обучающей выборки и делят результат на разницу между максимумом и минимумом:

x′ = (x − min) / (max − min)

Если возраст клиентов в обучающих данных меняется от 20 до 60 лет, то 20 преобразуется в 0, 40 — в 0,5, а 60 — в 1. Порядок значений сохранится. Однако метод чувствителен к крайним значениям: один очень большой показатель может сжать большинство наблюдений в узкую часть шкалы. Новые значения, выходящие за обучающий минимум или максимум, без дополнительного ограничения могут преобразоваться в числа меньше 0 или больше 1.

Столбчатая диаграмма и калькулятор для сравнения числовых шкал
Min-max scaling сохраняет порядок значений, но его границы определяются обучающими данными.

Стандартизация: среднее 0 и стандартное отклонение 1

При стандартизации, которую также называют z-score scaling, из значения вычитают среднее и делят результат на стандартное отклонение:

z = (x − μ) / σ

После этого среднее значение обучающего признака равно примерно 0, а стандартное отклонение — 1. Такой результат не ограничен диапазоном от 0 до 1: значения могут быть отрицательными или значительно превышать единицу.

Обычная стандартизация не устойчива к выбросам, поскольку среднее и стандартное отклонение сами зависят от крайних наблюдений. Если выбросы реальны и их нельзя исправить или удалить, стоит рассмотреть робастное масштабирование. Например, RobustScaler в scikit-learn использует медиану и межквартильный размах. Это уменьшает влияние крайних значений, но не делает любой набор данных автоматически корректным.

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

Нормализация вектора до единичной нормы

В узком значении нормализация изменяет каждую строку данных так, чтобы длина её вектора была равна 1. Например, для L2-нормы каждый компонент делят на квадратный корень из суммы квадратов всех компонентов строки. В отличие от StandardScaler или MinMaxScaler, эта операция выполняется для каждого объекта отдельно и не использует среднее или диапазон столбца.

Такой подход часто применяют к текстовым векторам. Если два TF-IDF-вектора нормализованы по L2-норме, их скалярное произведение соответствует косинусному сходству. Это позволяет сравнивать направление векторов, уменьшая влияние их общей длины. Именно так описывает операцию Normalizer в документации scikit-learn.

Рейтинги и индексы: масштабирование не определяет веса

В рейтингах показатели часто приводят к общей шкале перед объединением. Но математическое преобразование не решает методологических вопросов. Сначала нужно определить направление: для дохода больше может означать лучший результат, а для уровня безработицы — худший. Затем автор рейтинга выбирает веса, правила работы с пропусками и способ обработки выбросов.

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

Типичные ошибки

  • Смешение понятий. Конвертация единиц, расчёт доли, стандартизация и нормализация по норме не взаимозаменяемы.
  • Обучение преобразования на всём наборе. Минимум, максимум, среднее и другие параметры нужно вычислять только на обучающей части, а затем без изменений применять к валидационным, тестовым и новым данным. Иначе возникает утечка данных.
  • Игнорирование выбросов. Min-max и обычное z-score масштабирование могут заметно меняться из-за крайних значений.
  • Механическое кодирование категорий. Числа 1, 2 и 3 для названий городов или цветов создают искусственный порядок. Для номинальных категорий обычно требуется другое кодирование, а масштабирование такого кода не исправляет проблему.
  • Масштабирование без проверки модели. Преобразование стоит включить в единый воспроизводимый конвейер и оценить на корректной валидации.

Как выбрать метод

Сначала проверьте единицы, пропуски, дубликаты, ошибки ввода и распределение признаков. Затем определите, что требуется конкретному алгоритму. Если важен фиксированный диапазон, проверьте min-max scaling; если нужны центрированные признаки с сопоставимым разбросом — стандартизацию; если мешают выбросы — робастный вариант; если сравниваются направления текстовых или других векторов — нормализацию по норме.

Лупа над линейным графиком как символ проверки преобразованных данных
После преобразования проверяют распределения и результат модели, а параметры сохраняют для обработки новых данных.

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

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

Добавить комментарий