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

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

Нормалізацією даних часто називають будь-яке приведення чисел до зручного масштабу. У машинному навчанні цей термін має точніше значення: нормалізація зазвичай змінює довжину кожного окремого вектора, а масштабування і стандартизація перетворюють ознаки — стовпці таблиці. Розрізнення важливе, бо ці операції вирішують різні завдання. Щоб краще зрозуміти, звідки беруться ці стовпці та рядки, варто розібратися, що таке що таке джерело даних: просте пояснення з прикладами і як воно впливає на подальшу обробку.

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

Термометр і кухонні ваги як приклад показників у різних одиницях
Різні одиниці вимірювання спочатку потрібно правильно визначити. Масштабування не виправляє помилки в одиницях.

Уявімо таблицю з двома ознаками автомобіля: ціною в гривнях і витратою пального в літрах на 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; якщо потрібні центровані ознаки зі співставним розкидом — стандартизацію; якщо заважають викиди — робастний варіант; якщо порівнюються напрямки текстових або інших векторів — нормалізацію за нормою.

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

Головне правило: метод визначає завдання, а не звичка. Масштабування допомагає алгоритму працювати з числовими ознаками, але не виправляє погані дані, невдалу метрику чи суб’єктивну методологію рейтингу.

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

Додати коментар