Глоссарий

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

Открой для себя силу нормализации в машинном обучении! Узнай, как она улучшает обучение моделей, повышает производительность и обеспечивает надежность ИИ-решений.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Нормализация - это фундаментальная техника предварительной обработки данных, которая широко используется в машинном обучении (ML) и науке о данных. Ее основная цель - привести числовые характеристики данных к общему стандартному диапазону, часто между 0 и 1 или -1 и 1, не искажая различий в диапазонах значений. Этот процесс обеспечивает более равный вклад всех характеристик в обучение модели, не позволяя характеристикам с изначально большими значениями (например, зарплата в наборе данных) непропорционально сильно влиять на результат по сравнению с характеристиками с меньшими значениями (например, стаж работы). Нормализация особенно важна для алгоритмов, чувствительных к масштабированию признаков, таких как методы на основе градиентного спуска, используемые в глубоком обучении (DL), и различные алгоритмы оптимизации.

Почему нормализация имеет значение

Реальные наборы данных часто содержат характеристики с совершенно разными масштабами и единицами измерения. Например, в наборе данных для прогнозирования оттока клиентов "баланс счета" может варьироваться от сотен до миллионов, а "количество продуктов" - от 1 до 10. Без нормализации алгоритмы ML, вычисляющие расстояния или использующие градиенты, такие как вспомогательные векторные машины (SVM) или нейронные сети (NN), могут ошибочно воспринимать признак с большим диапазоном как более важный просто из-за его масштаба. Нормализация выравнивает игровое поле, гарантируя, что вклад каждого признака основан на его предсказательной силе, а не на его величине. Это приводит к более быстрой сходимости во время обучения (что видно по уменьшению количества эпох), повышению точности модели и более стабильным, надежным моделям. Такая стабильность полезна при обучении таких моделей, как Ultralytics YOLO для таких задач, как обнаружение объектов или сегментация экземпляров, потенциально улучшая такие показатели, как средняя точность (mAP).

Распространенные техники нормализации

Для изменения масштаба данных существует несколько методов, каждый из которых подходит для разных ситуаций:

  • Масштабирование по минимуму и максимуму: Масштабируй характеристики до фиксированного диапазона, обычно [0, 1]. Вычисляется как: (значение - min) / (max - min). Этот метод сохраняет форму исходного распределения, но чувствителен к выбросам.
  • Стандартизация Z-score (стандартное шкалирование): Пересчитывает характеристики так, чтобы среднее значение было равно 0, а стандартное отклонение - 1. Рассчитывается как: (значение - среднее) / стандартное отклонение. В отличие от масштабирования Min-Max, оно не привязывает значения к определенному диапазону, что может быть минусом для алгоритмов, требующих ввода данных в ограниченном интервале, но зато оно лучше справляется с выбросами. Больше информации об этих и других методах ты можешь найти в документации по препроцессингу Scikit-learn.
  • Робастное масштабирование: Вместо min/max или mean/std dev используй статистику, устойчивую к провалам, например межквартильный диапазон (IQR). Это особенно полезно, когда набор данных содержит значительные провалы. Узнай больше о Robust Scaling.

Выбор между этими методами часто зависит от конкретного набора данных (например, тех, что можно найти в Ultralytics Datasets) и требований используемого ML-алгоритма. В руководствах по предварительной обработке аннотированных данных часто описываются шаги по нормализации, относящиеся к конкретным задачам.

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

Важно отличать нормализацию от смежных понятий:

  • Стандартизация: Эта техника часто используется как взаимозаменяемая со стандартизацией Z-score, она преобразует данные так, чтобы они имели нулевое среднее и единичную дисперсию. В то время как нормализация обычно приводит данные к фиксированному диапазону (например, от 0 до 1), стандартизация центрирует данные вокруг среднего значения и масштабирует их на основе стандартного отклонения, не обязательно ограничивая их конкретным диапазоном.
  • Пакетная нормализация: Это техника, применяемая в нейронной сети во время обучения, а именно к входам слоев или активаций. Она нормализует выходы предыдущего активационного слоя для каждой мини-партии, стабилизируя и ускоряя процесс обучения за счет снижения проблемы смещения внутренних ковариантов. В отличие от нормализации признаков (Min-Max или Z-score), которая представляет собой этап предварительной обработки исходного набора данных, пакетная нормализация является частью архитектуры самой сети, динамически адаптируясь в процессе обучения модели.

Применение нормализации

Нормализация - это повсеместный этап подготовки данных для различных задач искусственного интеллекта (ИИ) и ML:

В общем, нормализация - это важный этап предварительной обработки, который позволяет масштабировать характеристики данных в единый диапазон, улучшая процесс обучения, стабильность и производительность многих моделей машинного обучения, включая те, которые разрабатываются и обучаются с помощью таких инструментов, как Ultralytics HUB. Она обеспечивает справедливый вклад признаков и необходима для алгоритмов, чувствительных к масштабу входных данных, способствуя созданию более надежных и точных ИИ-решений.

Читать полностью