Масштабирование функций - Википедия - Feature scaling

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

Мотивация

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

Еще одна причина, по которой применяется масштабирование функций, заключается в том, что градиентный спуск сходится намного быстрее с масштабированием функций, чем без него.[1]

Также важно применить масштабирование функций, если регуляризация используется как часть функции потерь (так что коэффициенты наказываются соответствующим образом).

Методы

Изменение масштаба (нормализация минимум-максимум)

Также известный как масштабирование min-max или min-max нормализация, это простейший метод, заключающийся в изменении масштаба диапазона функций для масштабирования диапазона в [0, 1] или [-1, 1]. Выбор целевого диапазона зависит от характера данных. Общая формула для min-max [0, 1] задается как:

куда исходное значение, - нормализованное значение. Например, предположим, что у нас есть данные о весе учащихся, а их вес составляет [160 фунтов 200 фунтов]. Чтобы изменить масштаб этих данных, мы сначала вычитаем 160 из веса каждого ученика и делим результат на 40 (разница между максимальным и минимальным весом).

Чтобы изменить масштаб диапазона между произвольным набором значений [a, b], формула принимает следующий вид:

куда - это минимальные и максимальные значения.

Средняя нормализация

куда исходное значение, - нормализованное значение. Существует еще одна форма нормализации средних значений, когда мы делим на стандартное отклонение, которое также называется стандартизацией.

Стандартизация (нормализация по Z-баллу)

В машинном обучении мы можем обрабатывать различные типы данных, например аудиосигналы и значения пикселей для данных изображения, и эти данные могут включать несколько размеры. Стандартизация признаков делает значения каждого признака в данных нулевым средним (при вычитании среднего в числителе) и единичной дисперсией. Этот метод широко используется для нормализации во многих алгоритмах машинного обучения (например, опорные векторные машины, логистическая регрессия, и искусственные нейронные сети ).[2][нужна цитата ] Общий метод расчета - определить распределение иметь в виду и стандартное отклонение для каждой функции. Затем мы вычитаем среднее значение из каждой функции. Затем мы делим значения (среднее уже вычтено) каждого признака на его стандартное отклонение.

Где - исходный вектор признаков, среднее значение этого вектора признаков, и его стандартное отклонение.

Масштабирование до единицы длины

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

В некоторых приложениях (например, функции гистограммы) может быть более практичным использовать L1 норма (т.е. геометрия такси ) вектора признаков. Это особенно важно, если на следующих этапах обучения скалярная метрика используется в качестве меры расстояния.[Почему? ]

Заявление

В стохастический градиентный спуск, масштабирование функций иногда может улучшить скорость сходимости алгоритма[2][нужна цитата ]. В опорных векторных машинах[3] это может сократить время на поиск опорных векторов. Обратите внимание, что масштабирование функции изменяет результат SVM.[нужна цитата ].

Смотрите также

Рекомендации

  1. ^ Иоффе, Сергей; Кристиан Сегеди (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариального сдвига». arXiv:1502.03167 [cs.LG ].
  2. ^ а б Грус, Джоэл (2015). Наука о данных с нуля. Севастополь, Калифорния: О'Рейли. С. 99, 100. ISBN  978-1-491-90142-7.
  3. ^ Juszczak, P .; Д. М. Дж. Налог; Р. П. В. Дуй (2002). «Масштабирование функций в описаниях векторных данных поддержки». Proc. 8-й год. Конф. Adv. Школьный компьютер. Изображения: 25–30. CiteSeerX  10.1.1.100.2524.

дальнейшее чтение

внешняя ссылка