2

Как снять проклятие размерности?

Как снять проклятие размерности? Программирование, IT, Нейронные сети, Машинное обучение, Длиннопост

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

И упростить задачу.

Напоминаем, что чем выше размерность –  тем больше шансов на переобучение модели. Реальная проблема, название ее: "Проклятие размерности"...

Лаконично, да?

Есть три ключевых метода: PCA, t-SNE и UMAP, имеют различные подходы и особенности.

PCA (Principal Component Analysis) – метод линейного понижения размерности, который сводится к поиску новых ортогональных осей, на которых данные имеют наибольшую вариацию. 

Он используется, когда требуется простое и интерпретируемое понижение размерности.

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

Иначе, смотреть не на поведение волосков, а цвет шерсти)

В PCA сначала данные центрируются (вычитание среднего значения каждого признака), затем строится ковариационная матрица, которая описывает зависимость между признаками.

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

Однако PCA имеет ограничения. Это линейный метод, и он не подходит для работы с нелинейными зависимостями, которые часто встречаются в тексте, например.

t-SNE (t-Distributed Stochastic Neighbor Embedding) – метод нелинейного понижения размерности, предназначенный для визуализации данных в 2D или 3D пространстве.

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

Если есть признаки лиц на изображениях – t-SNE может проецировать эти данные в 2D пространство, где лица с похожими чертами окажутся рядом.

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

Затем t-SNE находит такое распределение точек в низкоразмерном пространстве, которое лучше всего воспроизводит эти вероятности. Правда, метод очень медленный).

UMAP (Uniform Manifold Approximation and Projection) – самый современный  метод нелинейного понижения размерности, который работает быстрее, чем t-SNE.

И при этом сохраняет как локальные, так и глобальные структуры данных лучше, чем t-SNE. 

Если вам нужно визуализировать данные об активности пользователей в приложении (например, время использования, типы действий и так далее).

Тогда UMAP может показать не только локальные сходства (например, группы пользователей с похожим поведением), но и глобальные тенденции.

UMAP основан на теории топологии и использует графы ближайших соседей для построения репрезентации данных.

Он создает граф, который соединяет точки в высокоразмерном пространстве на основе их близости, затем проектирует этот граф в низкоразмерное пространство.

Вжух — и проклятие пропало :)