Normalization in Machine Learning

Оновлено: 31.07.2023

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

Методи нормалізації в машинному навчанні

Якщо ви новачок у науці про дані та машинному навчанні, ви напевно задавалися питаннями про те, що таке нормалізація ознак у машинному навчанні і як вона працює.

Найпоширенішими типами нормалізації в машинному навчанні є наступні:

  • Мінімальне-максимальне масштабування - Відніміть мінімальне значення від максимального значення кожного стовпчика і розділіть на діапазон. Кожен новий стовпчик має мінімальне значення 0 і максимальне значення 1.
.

  • Стандартизація масштабування - Термін "стандартизація" відноситься до процесу центрування змінної на нулі і стандартизації дисперсії на одиниці. Процедура полягає у відніманні середнього значення кожного спостереження і подальшому діленні на стандартне відхилення:

Об'єкти будуть перемасштабовані таким чином, щоб вони мали атрибути типового нормального розподілу зі стандартними відхиленнями.

Нормалізація та стандартизація

Нормалізація і стандартизація - це не одне й те саме. Стандартизація, що цікаво, означає прирівнювання середнього значення до нуля, а стандартного відхилення до одиниці. Нормалізація в машинному навчанні - це процес переведення даних в діапазон [0, 1] (або будь-який інший діапазон) або просто перетворення даних на одиничну сферу.

Деякі алгоритми машинного навчання виграють від нормалізації та стандартизації, особливо коли використовується евклідова відстань. Наприклад, якщо одна зі змінних в алгоритмі K-найближчого сусіда, KNN, знаходиться в 1000-х, а інша - в 0,1, перша змінна буде домінувати над відстанню досить сильно. У цьому випадку нормалізація та стандартизація можуть бути корисними.

Прикладом стандартизації є використання методу машинного навчання, коли передбачається, що дані походять з нормального розподілу. Одним із прикладів є лінійний дискримінантний аналіз або LDA.

При використанні лінійних моделей та інтерпретації їх коефіцієнтів як значущості змінних у нагоді стають нормалізація та стандартизація. Якщо одна зі змінних має значення в 100-х, а інша - в 0,01, то коефіцієнт, виявлений за допомогою логістичної регресії для першої змінної, швидше за все, буде значно більшим, ніж коефіцієнт, отриманий за допомогою логістичної регресії для другої змінної.

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

Коли потрібно використовувати нормалізацію та стандартизацію

  • Коли ви не знаєте розподіл ваших даних або знаєте, що він не є гаусівським, розумним підходом буде застосування нормалізації. Нормалізація корисна, коли ваші дані мають змінні масштаби, а методи, які ви використовуєте, такі як k-найближчих сусідів і штучні нейронні мережі, не роблять припущень про розподіл ваших даних.
  • Припущення, яке лежить в основі нормалізації, полягає в тому, що ваші дані мають гауссівський (дзвоноподібний) розподіл. Це не є обов'язковим, проте допомагає підходу працювати краще, якщо розподіл ваших атрибутів є гауссовим. Якщо ваші дані мають змінну розмірність і метод, який ви використовуєте (наприклад, логістична регресія, лінійна регресія, лінійний дискримінантний аналіз), стандартизація є корисною.
.

Як ми вже говорили раніше, для машинного навчання не потрібно нормалізувати кожен набір даних. Це потрібно лише тоді, коли діапазони характеристик відрізняються.

Розглянемо збір даних, який включає дві характеристики: вік і дохід. Де вік коливається від 0 до 80 років, а дохід - від 0 до 80 000 доларів і вище. Дохід приблизно в 1000 разів перевищує вік. Як наслідок, діапазони цих двох характеристик дуже різняться.

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

  • Ми нормалізуємо навчальні дані, щоб вирішити проблему навчання моделі. Ми переконуємося, що різні ознаки мають схожі діапазони значень (масштабування ознак), щоб градієнтні спуски збігалися швидше.
.