Перейти к основному содержимому

Снижение размерности

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

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

Подобная избыточность делает настройку моделей машинного обучения неустойчивой.

Также данные могут содержать шумы, что усиливает переобучение моделей.

Для решения указанных проблем применяется снижение размерности (dimensionality reduction), при котором мы с помощью некоторого преобразования fθ()f_\theta(\cdot) переводим исходный многомерный объект xRD\boldsymbol{x}\in \mathbb{R}^D в компактное признаковое описание znRK\boldsymbol{z}_n \in \mathbb{R}^K, KDK\le D:

z=fθ(x)\boldsymbol{z} = f_\theta(\boldsymbol{x})

где θ\theta - параметры преобразования, настраиваемые по обучающей выборке.

Размерность выхода KK также выступает настраиваемым гиперпараметром.

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

При K=2,3K=2,3 снижение размерности позволяет визуализировать данные в 2D и 3D, давая возможность вручную анализировать их геометрическую структуру.

Мы хотим, чтобы такое преобразование сохраняло как можно больше полезной информации. Критерий «полезности» зависит от конкретного метода:

  • Метод главных компонент (Principal Component Analysis, PCA) максимизирует сохранённую дисперсию данных.
  • Линейный дискриминантный анализ (Linear Discriminant Analysis, LDA) максимизирует разделимость классов.
  • Тематическое моделирование (Topic modeling) выявляет скрытую семантическую структуру в текстах.

Типы снижения размерности

По виду преобразования fθ(x)f_\theta(\boldsymbol{x}) методы делятся на линейные и нелинейные.

В линейных методах искомое преобразование имеет вид z=Wx+w0\boldsymbol{z} = W\boldsymbol{x}+\boldsymbol{w}_0, и такие методы просты в вычислении и интерпретации.

Нелинейные методы (такие, как автокодировщик) способны находить сложные изогнутые структуры (называемые многообразиями) в данных, но более ресурсоёмки и склонны к переобучению.

Если для настройки параметров θ\theta используется только информация о признаковых описаниях объектов, то такие методы называются методами без учителя (unsupervised). Эти методы выделяют лишь ключевые зависимости в признаках.

В методах снижения размерности с учителем (supervised) параметры преобразования θ\theta настраиваются, используя информацию как о признаках, так и об откликах объектов, что позволяет извлекать более информативные признаки именно для целевой задачи прогнозирования откликов.