1. Что такое масштабирование функций?
Масштабирование признаков — это статистическая операция использования значений признаков для их масштабирования до меньших и аналогичных диапазонов.
Он широко используется при предварительной обработке данных перед дальнейшим проектированием признаков в машинном обучении и глубоком обучении.
2. Какие существуют методы масштабирования характеристик?
Существует 3 основных подхода, каждый из которых состоит из своих вариантов масштабирования признаков. Я покажу 3 основных подхода:
- Минимальное-максимальное масштабирование
x_scaled = [x - min(x)] / [max(x) - min(x)]
где min(x) и max(x) – это соответственно минимальное и максимальное значение по всем точкам данных для признака x. - Стандартизация
x_scaled = [x - µ(x)] / σ(x)
где µ(x) — среднее значение, а σ(x) — стандарт отклонение по всем точкам данных для признака x. - Масштабирование по норме L2
x_scaled = x / ||x||
где ||x| | — L2-норма или евклидово расстояние по всем точкам данных для признака x.
3. Почему важно масштабирование функций?
Масштабирование функций помогает:
- Масштабируйте входные данные необработанных данных в меньший диапазон, это сводит к минимуму потенциальную изменчивость градиента во время обучения сети и обеспечивает более быструю сходимость во время обучения алгоритмов машинного обучения.
- Уравняйте влияние всех входных функций на модель машинного обучения, масштабируя их до аналогичных диапазонов. Например, необработанные естественные измерения могут отличаться друг от друга на порядки, например, 3 поломки на каждые 200 000 км пути, пройденного поездом.
- В процессе масштабирования признаков информация по всем точкам данных распределяется для каждого признака, и мы повторяем это для каждого признака. Это приводит к преобразованию относительности по всем точкам данных для каждой функции.
4. Практически это работает?
Да! Эмпирические результаты экспериментов с наборами данных из открытых источников показаны ниже.
Данные MNIST
Можно было заметить, что масштабирование [0,1] Min-Max и [-0,5, +0,5] Min-Max превосходит отсутствие масштабирования при обучении нейронной сети в течение коротких 15 эпох.
Кроме того, процесс обучения сети с использованием необработанных немасштабированных функций более нестабилен.
Данные CIFAR-10
Можно заметить, что масштабирование [0,1] Min-Max и масштабирование стандартизации превосходят отсутствие масштабирования при обучении нейронной сети в течение коротких 15 эпох.
Кроме того, масштабирование стандартизации превосходит масштабирование Min-Max для этого набора данных.