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

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''Gemini''' и проверена участником ~~~~}} '''Понижение размерности''' (...)
 
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''Gemini''' и проверена участником [[Участник:Kirill Bazhutov|Kirill Bazhutov]] 19:58, 7 июля 2026 (MSD)}}
+
{{well|Первоначальная версия статьи написана с использованием LLM '''Gemini''' и проверена участником [[Участник:Kirill Bazhutov|Kirill Bazhutov]] 17:29, 25 июля 2026 (MSD)}}
-
'''Понижение размерности''' (Dimensionality reduction) — задача машинного обучения и статистики, заключающаяся в преобразовании данных из пространства высокой размерности в пространство меньшей размерности с максимальным сохранением значимых свойств исходных данных (например, дисперсии, попарных расстояний или локальной топологической структуры).
+
'''Понижение размерности''' (также '''снижение размерности'''; англ. ''dimensionality reduction'') — совокупность методов [[Статистика|статистики]], [[Машинное обучение|машинного обучения]] и анализа данных, позволяющих представить данные с большим числом признаков при помощи меньшего числа переменных. При этом стремятся сохранить свойства исходных данных, существенные для решаемой задачи: дисперсию, возможность реконструкции, попарные расстояния, отношения соседства, топологию или информацию, необходимую для прогнозирования.<ref name="survey">van der Maaten L., Postma E., van den Herik J., 2009.</ref>
-
Понижение размерности является одним из ключевых инструментов предварительной обработки данных, позволяющим бороться с [[Проклятие размерности|проклятием размерности]] (curse of dimensionality), снижать вычислительную сложность алгоритмов, снижать влияние мультиколлинеарности и визуализировать многомерные выборки.
+
Понижение размерности применяют для визуализации многомерных выборок, сжатия и подавления шума, ускорения последующих алгоритмов, уменьшения требований к памяти и ослабления эффектов [[Проклятие размерности|проклятия размерности]]. Оно может также снижать влияние мультиколлинеарности. Вместе с тем уменьшение числа координат не гарантирует улучшения качества модели: результат зависит от того, какая структура данных сохраняется выбранным методом.
 +
 
 +
Большинство классических методов понижения размерности относится к [[Обучение без учителя|обучению без учителя]], поскольку для построения представления используются только объекты <tex>X</tex>. Существуют и контролируемые методы, использующие метки классов или целевую переменную, однако они оптимизируют уже не общее сохранение структуры данных, а свойства, связанные с конкретной задачей прогнозирования.
== Формальная постановка задачи ==
== Формальная постановка задачи ==
-
Пусть задана матрица объектов-признаков <tex>X \in \mathbb{R}^{N \times D}</tex>, где <tex>N</tex> — количество объектов, а <tex>D</tex> — исходная размерность пространства признаков. Задача понижения размерности состоит в поиске отображения <tex>f: \mathbb{R}^D \to \mathbb{R}^d</tex>, где <tex>d \ll D</tex>, такого, что новое представление <tex>Y = f(X) \in \mathbb{R}^{N \times d}</tex> минимизирует некоторую функцию потерь, отражающую потерю информации при преобразовании.
+
Пусть задана матрица «объекты — признаки»
 +
::<tex>X = (x_1,\ldots,x_N)^T \in \mathbb{R}^{N \times D},</tex>
 +
где <tex>N</tex> — число объектов, а <tex>D</tex> — число исходных признаков. Требуется получить представление
 +
::<tex>Y=(y_1,\ldots,y_N)^T \in \mathbb{R}^{N \times d}, \qquad d<D.</tex>
-
Глобально методы понижения размерности делятся на две категории:
+
Если метод строит явное отображение, то <tex>y_i=f(x_i)</tex>, где <tex>f:\mathbb{R}^D\to\mathbb{R}^d</tex>. Однако не все алгоритмы задают такую функцию: например, некоторые методы визуализации непосредственно оптимизируют координаты точек <tex>Y</tex>, поэтому перенос результата на новые объекты требует отдельной процедуры.
-
# '''Отбор признаков''' (Feature selection): выбор подмножества из <tex>d</tex> исходных признаков без их модификации.
+
-
# '''Извлечение признаков''' (Feature extraction): конструирование <tex>d</tex> новых признаков, представляющих собой комбинации исходных. Ниже рассматриваются методы именно этой категории.
+
-
== Линейные методы ==
+
Универсальной функции потерь для понижения размерности не существует. В зависимости от метода минимизируется ошибка реконструкции, искажение расстояний или соседств, статистическая дивергенция либо ошибка последующей модели. Поэтому два представления одинаковой размерности могут сохранять разные свойства одного и того же набора данных.
-
Линейные методы ищут отображение в виде линейной проекции <tex>Y = XW</tex>, где <tex>W \in \mathbb{R}^{D \times d}</tex> матрица весов (проекции).
+
Различают два основных подхода:
 +
# '''[[Отбор признаков]]''' (англ. ''feature selection'') выбор подмножества исходных признаков без конструирования новых.
 +
# '''Извлечение признаков''' (англ. ''feature extraction'') — построение новых координат как функций исходных признаков. Отображение может быть линейным или нелинейным.
-
=== Метод главных компонент (PCA) ===
+
== Отбор признаков ==
-
[[Метод главных компонент]] (Principal Component Analysis, PCA) — наиболее распространённый линейный метод обучения без учителя. Цель PCA — найти ортогональное преобразование, переводящее исходные данные в новую систему координат так, чтобы максимизировать дисперсию данных вдоль новых осей. Эквивалентно, PCA находит линейное подпространство размерности <tex>d</tex>, минимизирующее среднеквадратичную ошибку реконструкции данных.
+
-
Математически задача сводится к спектральному разложению выборочной ковариационной матрицы центрированной матрицы данных <tex>X_c</tex> в виде <tex>C = \frac{1}{N-1} X_c^T X_c</tex>. Столбцы матрицы <tex>W</tex> сформируются из <tex>d</tex> собственных векторов матрицы <tex>C</tex>, соответствующих её наибольшим собственным значениям <tex>\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_d</tex>. На практике PCA вычисляется через [[Сингулярное разложение|сингулярное разложение]] (SVD) центрированной матрицы данных <tex>X_c = U \Sigma V^T</tex>, что вычислительно более устойчиво.
+
Отбор признаков также является формой понижения размерности: из <tex>D</tex> исходных переменных сохраняются только <tex>d</tex>. Его преимущество состоит в том, что смысл выбранных признаков обычно не меняется. Основные группы методов отбора:
 +
* '''фильтры''' оценивают признаки независимо от конкретной прогнозирующей модели, например по корреляции, взаимной информации или статистическому критерию;
 +
* '''обёртки''' сравнивают подмножества признаков по качеству выбранной модели;
 +
* '''встроенные методы''' выполняют отбор во время обучения модели, например при помощи <tex>L_1</tex>-регуляризации или отбора переменных в деревьях решений.
-
=== Линейный дискриминантный анализ (LDA) ===
+
Отбор не следует смешивать с извлечением признаков: [[Метод главных компонент|PCA]], например, создаёт новые координаты как линейные комбинации всех или многих исходных признаков.
-
[[Линейный дискриминантный анализ]] (Linear Discriminant Analysis, LDA) — метод понижения размерности с учителем (supervised). LDA ищет проекцию, которая максимизирует разделимость классов: максимизирует межклассовую дисперсию (between-class variance) при одновременной минимизации внутриклассовой дисперсии (within-class variance).
+
-
Задача LDA обычно сводится к обобщённой задаче на собственные значения для матриц межклассового и внутриклассового разброса. Важное математическое ограничение метода: если число классов равно <tex>C</tex>, то число информативных дискриминантных направлений не превышает <tex>C-1</tex>.
+
== Линейные методы и матричные разложения ==
 +
 
 +
Линейное извлечение признаков задаётся проекцией
 +
::<tex>Y=XW, \qquad W\in\mathbb{R}^{D\times d}.</tex>
 +
Такие методы сравнительно просты, часто допускают явное преобразование новых объектов и тесно связаны с низкоранговыми приближениями и разложениями матриц.
 +
 
 +
=== Низкоранговое приближение и сингулярное разложение ===
 +
 
 +
Во многих методах матрицу данных приближают произведением двух матриц меньшего ранга:
 +
::<tex>X\approx ZH, \qquad Z\in\mathbb{R}^{N\times d},\quad H\in\mathbb{R}^{d\times D}.</tex>
 +
Строки <tex>Z</tex> служат новым <tex>d</tex>-мерным представлением объектов, а строки <tex>H</tex> задают компоненты или базисные направления.
 +
 
 +
Для [[Сингулярное разложение|сингулярного разложения]] (SVD)
 +
::<tex>X=U\Sigma V^T</tex>
 +
усечённое разложение
 +
::<tex>X_d=U_d\Sigma_dV_d^T</tex>
 +
является наилучшим приближением ранга не выше <tex>d</tex> в спектральной норме и норме Фробениуса (теорема Эккарта — Янга — Мирского).<ref>Eckart C., Young G., 1936.</ref> Координатами объектов можно считать строки матрицы <tex>U_d\Sigma_d</tex>. Усечённое SVD применяется, в частности, при сжатии данных и в [[Латентно-семантический анализ|латентно-семантическом анализе]].
 +
 
 +
=== Метод главных компонент ===
 +
 
 +
[[Метод главных компонент]] (PCA) — основной линейный метод понижения размерности без учителя. Перед вычислением PCA данные центрируют:
 +
::<tex>X_c=X-\mathbf{1}\mu^T,</tex>
 +
где <tex>\mu</tex> — вектор средних значений признаков. Ковариационная матрица имеет вид
 +
::<tex>C=\frac{1}{N-1}X_c^TX_c.</tex>
 +
Столбцы матрицы проекции <tex>W=V_d</tex> являются собственными векторами <tex>C</tex>, отвечающими <tex>d</tex> наибольшим собственным значениям. Новые координаты и реконструкция задаются формулами
 +
::<tex>Y=X_cV_d,\qquad \widehat X=YV_d^T+\mathbf{1}\mu^T.</tex>
 +
 
 +
PCA одновременно максимизирует дисперсию ортогональной проекции и минимизирует сумму квадратов ортогональных ошибок реконструкции. На практике главные компоненты обычно получают из SVD центрированной матрицы <tex>X_c=U\Sigma V^T</tex>, не формируя ковариационную матрицу явно. Если масштабы признаков несопоставимы, перед PCA часто выполняют стандартизацию, но она изменяет смысл оптимизируемой дисперсии.
 +
 
 +
=== Неотрицательное матричное разложение ===
 +
 
 +
[[Неотрицательное матричное разложение]] (NMF) применяется к матрице <tex>X</tex> с неотрицательными элементами и ищет приближение
 +
::<tex>X\approx WH,\qquad W \ge 0,\quad H \ge 0,</tex>
 +
где <tex>W\in\mathbb{R}^{N\times d}</tex>, а <tex>H\in\mathbb{R}^{d\times D}</tex>. Строки <tex>W</tex> задают координаты объектов в новом представлении. Ограничение неотрицательности приводит к аддитивному описанию данных и нередко облегчает интерпретацию компонент, например как частей изображения или тем в коллекции текстов.<ref>Lee D. D., Seung H. S., 1999.</ref> В отличие от SVD, решение NMF в общем случае не единственно, а задача оптимизации может иметь локальные минимумы.
 +
 
 +
=== Факторный анализ и независимые компоненты ===
 +
 
 +
[[Факторный анализ]] описывает наблюдаемый вектор при помощи латентных факторов:
 +
::<tex>x=\mu+\Lambda z+\varepsilon,</tex>
 +
где <tex>z\in\mathbb{R}^d</tex> — скрытые факторы, <tex>\Lambda</tex> — матрица нагрузок, а <tex>\varepsilon</tex> — специфический шум. В отличие от PCA, факторный анализ задаёт вероятностную модель и отдельно моделирует общую и специфическую вариацию признаков.
 +
 
 +
[[Анализ независимых компонент]] (ICA) ищет линейное преобразование, при котором скрытые компоненты статистически независимы или максимально близки к независимым. Это отличает ICA от PCA, где компоненты лишь некоррелированы и упорядочены по дисперсии. ICA прежде всего используется для разделения смешанных сигналов; понижение размерности возникает, если сохраняется только часть найденных компонент.<ref>Comon P., 1994.</ref>
=== Случайные проекции ===
=== Случайные проекции ===
-
'''Случайная проекция''' (Random projection) — метод понижения размерности, опирающийся на лемму Джонсона — Линденштрауса. Лемма утверждает, что для конечного набора точек в пространстве высокой размерности существует вложение в пространство значительно меньшей размерности, сохраняющее попарные расстояния с заданной небольшой погрешностью. Случайные линейные отображения реализуют такое вложение с высокой вероятностью. Для сохранения попарных расстояний с относительной ошибкой <tex>\varepsilon</tex> обычно достаточно размерности порядка <tex>d = \mathcal{O}(\log N / \varepsilon^2)</tex>. Метод отличается высокой вычислительной эффективностью.
 
-
== Нелинейные методы (обучение на многообразиях) ==
+
В случайной проекции матрица <tex>W</tex> генерируется из подходящего распределения и не обучается по выборке. Основанием метода служит [[Лемма Джонсона — Линденштрауса|лемма Джонсона — Линденштрауса]]: конечное множество из <tex>N</tex> точек можно вложить в пространство размерности порядка
 +
::<tex>d=\mathcal{O}\left(\frac{\log N}{\varepsilon^2}\right)</tex>
 +
с относительным искажением попарных евклидовых расстояний не более заданной величины <tex>\varepsilon</tex>.<ref>Johnson W. B., Lindenstrauss J., 1984.</ref> Плотные и разреженные случайные матрицы позволяют быстро обрабатывать большие наборы данных, но полученные координаты обычно не интерпретируются как содержательные признаки.
-
Линейные методы могут быть недостаточны, если данные лежат на нелинейном [[Многообразие|многообразии]] (manifold) в пространстве высокой размерности. Для таких задач применяются методы manifold learning.
+
== Нелинейные методы ==
-
=== t-SNE ===
+
Если объекты расположены около нелинейного [[Многообразие|многообразия]] малой внутренней размерности, одной линейной проекции может быть недостаточно. Нелинейные методы различаются тем, сохраняют ли они глобальные расстояния, локальные соседства, графовую структуру или вероятности сходства.
-
[[t-SNE]] (t-distributed Stochastic Neighbor Embedding) — алгоритм, преобразующий евклидовы расстояния между объектами в условные вероятности сходства.
+
-
В исходном пространстве сначала задаются условные вероятности соседства на основе гауссовых ядер с индивидуашками масштабами, после чего они симметризуются в совместные вероятности <tex>p_{ij}</tex>. Для пространства низкой размерности вероятности <tex>q_{ij}</tex> моделируются с использованием [[Распределение Стьюдента|распределения Стьюдента]] с одной степенью свободы (распределение Коши):
+
=== Ядерный метод главных компонент ===
-
::<tex>q_{ij} = \frac{(1 + \|y_i - y_j\|^2)^{-1}}{\sum_{k \neq l} (1 + \|y_k - y_l\|^2)^{-1}}</tex>
+
-
Использование распределения с «тяжёлыми хвостами» решает «проблему скученности» (crowding problem). Целевая функция минимизирует [[Расстояние Кульбака — Лейблера|дивергенцию Кульбака — Лейблера]] между распределениями <tex>P</tex> и <tex>Q</tex>:
+
[[Ядерный метод главных компонент (Kernel PCA)|Ядерный метод главных компонент]] (kernel PCA) неявно отображает данные в пространство признаков при помощи положительно определённого ядра и выполняет PCA в этом пространстве. Вычисления сводятся к спектральному разложению центрированной матрицы Грама.<ref>Schölkopf B., Smola A., Müller K.-R., 1998.</ref> Метод способен описывать нелинейные зависимости, но результат сильно зависит от выбора ядра и его параметров, а работа с полной матрицей Грама требует памяти порядка <tex>N^2</tex>.
-
::<tex>C = KL(P \| Q) = \sum_{i \neq j} p_{ij} \log \frac{p_{ij Fluss}}{q_{ij}}</tex>
+
-
Важно отметить, что t-SNE главным образом предназначен для визуализации локальной структуры; расстояния между удалёнными кластерами и их относительные размеры не всегда имеют прямую интерпретацию.
+
=== Многомерное шкалирование и Isomap ===
 +
 
 +
[[Многомерное шкалирование]] (MDS) строит координаты, сохраняющие заданные попарные расстояния или различия между объектами. Классическое метрическое MDS для евклидовых расстояний тесно связано с PCA.
 +
 
 +
[[Isomap]] заменяет прямые евклидовы расстояния приближёнными геодезическими расстояниями вдоль многообразия. Для этого строится граф ближайших соседей, вычисляются длины кратчайших путей, после чего к матрице геодезических расстояний применяется классическое MDS.<ref>Tenenbaum J. B., de Silva V., Langford J. C., 2000.</ref> Результат чувствителен к связности графа: слишком малое число соседей может разорвать граф, а слишком большое — создать «короткие пути» между удалёнными частями многообразия.
 +
 
 +
=== Локально-линейные и спектральные методы ===
 +
 
 +
[[Локально-линейное вложение]] (LLE) сначала представляет каждый объект линейной комбинацией его ближайших соседей, а затем ищет низкоразмерные координаты, в которых сохраняются найденные веса реконструкции.<ref>Roweis S. T., Saul L. K., 2000.</ref>
 +
 
 +
К спектральным методам обучения на многообразиях относятся также [[Лапласиан|лапласианские]] собственные отображения (Laplacian eigenmaps) и диффузионные карты (diffusion maps). Они строят взвешенный граф соседства и используют собственные векторы матрицы, связанной с графовым лапласианом или марковским оператором. Эти методы преимущественно сохраняют локальную геометрию и связность данных.
 +
 
 +
=== t-SNE ===
 +
 
 +
[[t-SNE]] (англ. ''t-distributed Stochastic Neighbor Embedding'') предназначен прежде всего для визуализации локальной структуры многомерных данных в двух или трёх измерениях.<ref name="tsne">van der Maaten L., Hinton G., 2008.</ref>
 +
 
 +
В исходном пространстве сходство объектов задаётся условными вероятностями с гауссовыми ядрами:
 +
::<tex>p_{j\mid i}=\frac{\exp(-\lVert x_i-x_j\rVert^2/2\sigma_i^2)}{\sum_{k\ne i}\exp(-\lVert x_i-x_k\rVert^2/2\sigma_i^2)}, \qquad p_{i\mid i}=0.</tex>
 +
Масштаб <tex>\sigma_i</tex> выбирается отдельно для каждой точки в соответствии с параметром perplexity. Условные вероятности симметризуются:
 +
::<tex>p_{ij}=\frac{p_{j\mid i}+p_{i\mid j}}{2N}.</tex>
 +
В пространстве малой размерности используется распределение Стьюдента с одной степенью свободы:
 +
::<tex>q_{ij}=\frac{(1+\lVert y_i-y_j\rVert^2)^{-1}}{\sum_{k\ne l}(1+\lVert y_k-y_l\rVert^2)^{-1}},\qquad q_{ii}=0.</tex>
 +
Координаты <tex>Y</tex> выбираются минимизацией дивергенции Кульбака — Лейблера
 +
::<tex>C=KL(P\Vert Q)=\sum_{i\ne j}p_{ij}\log\frac{p_{ij}}{q_{ij}}.</tex>
 +
«Тяжёлые хвосты» распределения в малой размерности ослабляют проблему скученности точек. Из-за асимметрии <tex>KL(P\Vert Q)</tex> метод сильнее штрафует разрушение соседств, чем появление ложных дальних соседств. Поэтому расстояния между удалёнными кластерами, их площади и плотности на карте t-SNE не следует автоматически интерпретировать как соответствующие величины в исходном пространстве.
=== UMAP ===
=== UMAP ===
-
'''UMAP''' (Uniform Manifold Approximation and Projection) — современный алгоритм, опирающийся на риманову геометрию и алгебраическую топологию. По утверждению авторов, UMAP часто лучше сохраняет элементы глобальной структуры, чем t-SNE, при сопоставимом качестве визуализации и большей вычислительной эффективности.
 
-
=== Автоэнкодеры ===
+
'''UMAP''' (англ. ''Uniform Manifold Approximation and Projection'') строит взвешенный граф <tex>k</tex> ближайших соседей, интерпретируемый как нечёткое представление локальной структуры данных, и подбирает низкоразмерный граф, минимизируя перекрёстную энтропию между двумя представлениями.<ref name="umap">McInnes L., Healy J., Melville J., 2018.</ref> Как и t-SNE, UMAP зависит от выбора параметров соседства, метрики, инициализации и случайного состояния. Метод часто используется для визуализации и обычно быстрее точных реализаций t-SNE на больших выборках, однако сохранность глобальных расстояний необходимо проверять отдельно, а не выводить только из вида диаграммы.
-
[[Автоэнкодер]] (Autoencoder) — архитектура [[Нейронная сеть|нейронной сети]], обучаемая восстанавливать свой входной сигнал. В контексте понижения размерности используется архитектура с «узким горлышком» (bottleneck) — скрытым слоем размерности <tex>d</tex>. Линейный автоэнкодер с одним скрытым слоем и среднеквадратичной ошибкой реконструкции при определённых условиях восстанавливает то же главное подпространство, что и PCA. Однако нелинейные функции активации позволяют автоэнкодерам выучивать нелинейные представления, которые в некоторых задачах могут превосходить линейные методы.
+
-
== Выбор целевой размерности ==
+
== Автокодировщики ==
-
В линейных методах целевая размерность <tex>d</tex> часто выбирается по доле объяснённой дисперсии, например 90–95 % для PCA. В визуализационных методах обычно используют <tex>d=2</tex> или <tex>d=3</tex>. В прикладных задачах значение <tex>d</tex> также может подбираться по качеству последующей модели на валидационной выборке.
+
[[Автоэнкодер]] (также '''автокодировщик'''; англ. ''autoencoder'') — нейронная сеть, состоящая из кодировщика и декодировщика:
 +
::<tex>z=g_\theta(x)\in\mathbb{R}^d,\qquad \widehat x=h_\phi(z)\in\mathbb{R}^D.</tex>
 +
Код <tex>z</tex> является низкоразмерным представлением, а параметры <tex>\theta</tex> и <tex>\phi</tex> обучаются минимизировать среднюю ошибку реконструкции:
 +
::<tex>\min_{\theta,\phi}\frac{1}{N}\sum_{i=1}^{N}\mathcal{L}\bigl(x_i,h_\phi(g_\theta(x_i))\bigr).</tex>
 +
Для вещественных данных часто используют среднеквадратичную ошибку, а вид функции потерь в общем случае согласуют с вероятностной моделью наблюдений.
 +
 
 +
Если размер скрытого кода <tex>d<D</tex>, автоэнкодер называют неполным (undercomplete), а центральный слой — «узким горлышком». Линейный автоэнкодер с одним скрытым слоем, линейными активациями и квадратичной ошибкой при подходящих условиях выделяет то же главное подпространство, что и PCA, хотя конкретный базис в нём может отличаться.<ref>Baldi P., Hornik K., 1989.</ref> Нелинейные слои позволяют аппроксимировать более сложные отображения и многообразия.<ref>Hinton G. E., Salakhutdinov R. R., 2006.</ref>
 +
 
 +
Одного узкого слоя не всегда достаточно, чтобы получить полезное представление: мощный декодировщик может восстанавливать обучающие объекты, не выделяя устойчивой структуры. Поэтому применяют регуляризованные варианты:
 +
* '''разреженный автоэнкодер''' ограничивает среднюю активность скрытых нейронов или добавляет штраф за плотный код;
 +
* '''шумоподавляющий автоэнкодер''' получает на вход искажённый объект, но обучается восстанавливать исходный, что поощряет устойчивость представления;<ref>Vincent P., Larochelle H., Bengio Y., Manzagol P.-A., 2008.</ref>
 +
* '''контрактивный автоэнкодер''' штрафует чувствительность кода к малым изменениям входа;
 +
* '''вариационный автоэнкодер''' задаёт вероятностную латентную модель и оптимизирует вариационную нижнюю границу, содержащую член реконструкции и регуляризацию распределения скрытых переменных. Он относится также к генеративным моделям и не является прямой заменой обычного метода проекции.<ref>Kingma D. P., Welling M., 2014.</ref>
 +
 
 +
В отличие от t-SNE, обученный кодировщик естественным образом задаёт отображение для новых объектов. К недостаткам относятся необходимость выбора архитектуры и регуляризации, вычислительная стоимость обучения, зависимость от объёма данных и риск переобучения. Низкая ошибка реконструкции сама по себе не гарантирует сохранения расстояний, кластеров или факторов, значимых для прикладной задачи.
 +
 
 +
== Контролируемое понижение размерности ==
 +
 
 +
Если доступны метки классов или целевая переменная, представление можно выбирать по качеству прогноза. К таким подходам относят частичные наименьшие квадраты, достаточное снижение размерности, контролируемые варианты метрического обучения и некоторые дискриминантные проекции.
 +
 
 +
[[Линейный дискриминантный анализ]] (LDA) иногда используют как контролируемое понижение размерности: он ищет направления с большим отношением межклассового разброса к внутриклассовому. Однако основная цель LDA — разделение заранее заданных классов, а не сохранение общей структуры <tex>X</tex>. Поэтому его корректнее рассматривать как частный контролируемый метод извлечения признаков, а не как центральный универсальный метод понижения размерности. При <tex>K</tex> классах число нетривиальных дискриминантных направлений не превышает <tex>K-1</tex>.<ref>Hastie T., Tibshirani R., Friedman J., 2009, с. 106–119.</ref>
 +
 
 +
== Выбор целевой размерности и оценка качества ==
 +
 
 +
Размерность <tex>d</tex> выбирают с учётом цели анализа:
 +
* в PCA используют график собственных значений, долю объяснённой дисперсии или ошибку реконструкции; порог 90–95 % является эвристикой, а не универсальным правилом;
 +
* в факторных и вероятностных моделях сравнивают правдоподобие, информационные критерии или качество на отложенных данных;
 +
* для автоэнкодеров и других параметрических моделей оценивают реконструкцию и качество последующей задачи на валидационной выборке;
 +
* для вложений измеряют сохранение расстояний и соседств, например при помощи корреляции расстояний, trustworthiness и continuity;
 +
* для визуализации обычно выбирают <tex>d=2</tex> или <tex>d=3</tex>, но визуальная убедительность не заменяет количественной проверки.
 +
 
 +
Выбирать гиперпараметры и оценивать последующую модель следует без утечки данных: преобразование обучают только на обучающей части выборки, а затем применяют к валидационной и тестовой частям.
== Ограничения и компромиссы ==
== Ограничения и компромиссы ==
-
* '''Интерпретируемость:''' Большинство методов извлечения признаков (особенно нелинейных) делают новые признаки трудно интерпретируемыми для человека.
+
* '''Потеря информации.''' Любое отображение с <tex>d<D</tex> может удалить структуру, важную для неизвестной заранее задачи.
-
* '''Вычислительная сложность:''' Точный PCA через полное SVD имеет сложность порядка <tex>\mathcal{O}(\min(ND^2, N^2D))</tex>; при работе с ковариационной матрицей дополнительно возникает стоимость её построения и спектрального разложения. Нелинейные методы, такие как t-SNE, требуют вычисления попарных расстояний, что ограничивает их применение на сверхбольших выборках без аппроксимаций.
+
* '''Разные критерии сохранения.''' Метод, хорошо сохраняющий локальные соседства, может искажать глобальные расстояния, и наоборот.
-
* '''Переобучение:''' При использовании гибких нелинейных методов (например, автоэнкодеров) существует риск [[Переобучение|переобучения]] (overfitting), когда модель «запоминает» шум, а не истинное многообразие.
+
* '''Интерпретируемость.''' Отобранные исходные признаки обычно понятнее новых компонент; ограничения NMF или разреженности могут улучшить интерпретируемость, но не гарантируют её.
 +
* '''Предобработка.''' Масштабирование признаков, выбранная метрика, обработка выбросов и пропусков способны существенно изменить результат.
 +
* '''Вычислительная сложность.''' Полное SVD матрицы <tex>N\times D</tex> требует порядка <tex>\mathcal{O}(\min(ND^2,N^2D))</tex> операций, хотя усечённые и рандомизированные алгоритмы могут быть значительно быстрее. Методы, использующие полные матрицы расстояний или сходства, требуют порядка <tex>N^2</tex> памяти без приближений.
 +
* '''Устойчивость и воспроизводимость.''' Стохастические методы и невыпуклые задачи оптимизации могут давать разные результаты при разных инициализациях. Для них указывают случайное состояние и проверяют устойчивость выводов.
 +
* '''Перенос на новые данные.''' PCA, случайная проекция и кодировщик задают явное преобразование, тогда как для многих непараметрических вложений требуется дополнительный алгоритм вневыборочного продолжения.
== См. также ==
== См. также ==
 +
* [[Отбор признаков]]
* [[Метод главных компонент]]
* [[Метод главных компонент]]
-
* [[Линейный дискриминантный анализ]]
 
* [[Сингулярное разложение]]
* [[Сингулярное разложение]]
 +
* [[Неотрицательное матричное разложение]]
 +
* [[Факторный анализ]]
 +
* [[Анализ независимых компонент]]
* [[Случайная проекция]]
* [[Случайная проекция]]
-
* [[Автоэнкодер]]
+
* [[Многомерное шкалирование]]
 +
* [[Isomap]]
 +
* [[Локально-линейное вложение]]
* [[t-SNE]]
* [[t-SNE]]
* [[UMAP]]
* [[UMAP]]
 +
* [[Автоэнкодер]]
* [[Проклятие размерности]]
* [[Проклятие размерности]]
* [[Многообразие]]
* [[Многообразие]]
 +
 +
== Примечания ==
 +
<references/>
== Литература ==
== Литература ==
-
* {{статья | автор = Pearson K. | заглавие = On Lines and Planes of Closest Fit to Systems of Points in Space | издание = Philosophical Magazine | год = 1901 | том = 2 | номер = 11 | страницы = 559–572 }}
+
* {{книга
-
* {{статья | автор = Fisher R. A. | заглавие = The use of multiple measurements in taxonomic problems | издание = Annals of Eugenics | год = 1936 | том = 7 | страницы = 179–188 }}
+
|автор = Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д.
-
* {{статья | автор = Johnson W. B., Lindenstrauss J. | заглавие = Extensions of Lipschitz mappings into a Hilbert space | издание = Contemporary Mathematics | год = 1984 | том = 26 | страницы = 189–206 }}
+
|заглавие = Прикладная статистика: классификация и снижение размерности
-
* {{книга | автор = Jolliffe I. T. | заглавие = Principal Component Analysis | год = 2002 | издательство = Springer }}
+
|место = М.
-
* {{статья | автор = Hinton G. E., Salakhutdinov R. R. | заглавие = Reducing the dimensionality of data with neural networks | издание = Science | год = 2006 | том = 313 | номер = 5786 | страницы = 504–507 }}
+
|издательство = Финансы и статистика
-
* {{статья | автор = van der Maaten L., Hinton G. | заглавие = Visualizing Data using t-SNE | издание = Journal of Machine Learning Research | год = 2008 | том = 9 | страницы = 2579–2605 }}
+
|год = 1989
-
* {{статья | автор = McInnes L., Healy J., Melville J. | заглавие = UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction | издание = arXiv preprint arXiv:1802.03426 | год = 2018 }}
+
|страниц = 607
-
* {{книга | автор = Hastie T., Tibshirani R., Friedman J. | заглавие = The Elements of Statistical Learning: Data Mining, Inference, and Prediction | год = 2009 | издательство = Springer | isbn = 978-0387848570 }}
+
}}
-
* {{книга | автор = Bishop C. M. | заглавие = Pattern Recognition and Machine Learning | год = 2006 | издательство = Springer | isbn = 978-0387310732 }}
+
* {{книга
 +
|автор = Bishop C. M.
 +
|заглавие = Pattern Recognition and Machine Learning
 +
|издательство = Springer
 +
|год = 2006
 +
|isbn = 978-0387310732
 +
}}
 +
* {{книга
 +
|автор = Hastie T., Tibshirani R., Friedman J.
 +
|заглавие = The Elements of Statistical Learning: Data Mining, Inference, and Prediction
 +
|издательство = Springer
 +
|год = 2009
 +
|isbn = 978-0387848570
 +
}}
 +
* {{книга
 +
|автор = Jolliffe I. T.
 +
|заглавие = Principal Component Analysis
 +
|издательство = Springer
 +
|год = 2002
 +
}}
 +
* {{статья
 +
|автор = Baldi P., Hornik K.
 +
|часть = Neural Networks and Principal Component Analysis: Learning from Examples Without Local Minima
 +
|заглавие = Neural Networks
 +
|год = 1989
 +
|том = 2, № 1
 +
|страницы = 53–58
 +
|ссылка = https://doi.org/10.1016/0893-6080(89)90014-2
 +
}}
 +
* {{статья
 +
|автор = Comon P.
 +
|часть = Independent Component Analysis, a New Concept?
 +
|заглавие = Signal Processing
 +
|год = 1994
 +
|том = 36, № 3
 +
|страницы = 287–314
 +
|ссылка = https://doi.org/10.1016/0165-1684(94)90029-9
 +
}}
 +
* {{статья
 +
|автор = Eckart C., Young G.
 +
|часть = The Approximation of One Matrix by Another of Lower Rank
 +
|заглавие = Psychometrika
 +
|год = 1936
 +
|том = 1, № 3
 +
|страницы = 211–218
 +
|ссылка = https://doi.org/10.1007/BF02288367
 +
}}
 +
* {{статья
 +
|автор = Hinton G. E., Salakhutdinov R. R.
 +
|часть = Reducing the Dimensionality of Data with Neural Networks
 +
|заглавие = Science
 +
|год = 2006
 +
|том = 313, № 5786
 +
|страницы = 504–507
 +
|ссылка = https://doi.org/10.1126/science.1127647
 +
}}
 +
* {{статья
 +
|автор = Johnson W. B., Lindenstrauss J.
 +
|часть = Extensions of Lipschitz Mappings into a Hilbert Space
 +
|заглавие = Contemporary Mathematics
 +
|год = 1984
 +
|том = 26
 +
|страницы = 189–206
 +
}}
 +
* {{статья
 +
|автор = Kingma D. P., Welling M.
 +
|часть = Auto-Encoding Variational Bayes
 +
|заглавие = Proceedings of the 2nd International Conference on Learning Representations
 +
|год = 2014
 +
|ссылка = https://arxiv.org/abs/1312.6114
 +
}}
 +
* {{статья
 +
|автор = Lee D. D., Seung H. S.
 +
|часть = Learning the Parts of Objects by Non-negative Matrix Factorization
 +
|заглавие = Nature
 +
|год = 1999
 +
|том = 401
 +
|страницы = 788–791
 +
|ссылка = https://doi.org/10.1038/44565
 +
}}
 +
* {{статья
 +
|автор = McInnes L., Healy J., Melville J.
 +
|часть = UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction
 +
|заглавие = arXiv preprint arXiv:1802.03426
 +
|год = 2018
 +
|ссылка = https://arxiv.org/abs/1802.03426
 +
}}
 +
* {{статья
 +
|автор = Pearson K.
 +
|часть = On Lines and Planes of Closest Fit to Systems of Points in Space
 +
|заглавие = Philosophical Magazine
 +
|год = 1901
 +
|том = 2, № 11
 +
|страницы = 559–572
 +
}}
 +
* {{статья
 +
|автор = Roweis S. T., Saul L. K.
 +
|часть = Nonlinear Dimensionality Reduction by Locally Linear Embedding
 +
|заглавие = Science
 +
|год = 2000
 +
|том = 290, № 5500
 +
|страницы = 2323–2326
 +
|ссылка = https://doi.org/10.1126/science.290.5500.2323
 +
}}
 +
* {{статья
 +
|автор = Schölkopf B., Smola A., Müller K.-R.
 +
|часть = Nonlinear Component Analysis as a Kernel Eigenvalue Problem
 +
|заглавие = Neural Computation
 +
|год = 1998
 +
|том = 10, № 5
 +
|страницы = 1299–1319
 +
|ссылка = https://doi.org/10.1162/089976698300017467
 +
}}
 +
* {{статья
 +
|автор = Sorzano C. O. S., Vargas J., Montano A. P.
 +
|часть = A Survey of Dimensionality Reduction Techniques
 +
|заглавие = arXiv preprint arXiv:1403.2877
 +
|год = 2014
 +
|ссылка = https://arxiv.org/abs/1403.2877
 +
}}
 +
* {{статья
 +
|автор = Tenenbaum J. B., de Silva V., Langford J. C.
 +
|часть = A Global Geometric Framework for Nonlinear Dimensionality Reduction
 +
|заглавие = Science
 +
|год = 2000
 +
|том = 290, № 5500
 +
|страницы = 2319–2323
 +
|ссылка = https://doi.org/10.1126/science.290.5500.2319
 +
}}
 +
* {{статья
 +
|автор = van der Maaten L., Hinton G.
 +
|часть = Visualizing Data using t-SNE
 +
|заглавие = Journal of Machine Learning Research
 +
|год = 2008
 +
|том = 9
 +
|страницы = 2579–2605
 +
|ссылка = https://www.jmlr.org/papers/v9/vandermaaten08a.html
 +
}}
 +
* {{статья
 +
|автор = van der Maaten L., Postma E., van den Herik J.
 +
|часть = Dimensionality Reduction: A Comparative Review
 +
|заглавие = Tilburg University Technical Report TiCC-TR 2009-005
 +
|год = 2009
 +
|ссылка = https://lvdmaaten.github.io/publications/papers/TR_Dimensionality_Reduction_Review_2009.pdf
 +
}}
 +
* {{статья
 +
|автор = Vincent P., Larochelle H., Bengio Y., Manzagol P.-A.
 +
|часть = Extracting and Composing Robust Features with Denoising Autoencoders
 +
|заглавие = Proceedings of the 25th International Conference on Machine Learning
 +
|год = 2008
 +
|страницы = 1096–1103
 +
|ссылка = https://doi.org/10.1145/1390156.1390294
 +
}}
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]
-
[[Категория:Анализ данных]]
+
[[Категория:Энциклопедия анализа данных]]
 +
[[Категория:Популярные и обзорные статьи]]

Текущая версия

Первоначальная версия статьи написана с использованием LLM Gemini и проверена участником Kirill Bazhutov 17:29, 25 июля 2026 (MSD)


Понижение размерности (также снижение размерности; англ. dimensionality reduction) — совокупность методов статистики, машинного обучения и анализа данных, позволяющих представить данные с большим числом признаков при помощи меньшего числа переменных. При этом стремятся сохранить свойства исходных данных, существенные для решаемой задачи: дисперсию, возможность реконструкции, попарные расстояния, отношения соседства, топологию или информацию, необходимую для прогнозирования.[1]

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

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

Содержание

Формальная постановка задачи

Пусть задана матрица «объекты — признаки»

X = (x_1,\ldots,x_N)^T \in \mathbb{R}^{N \times D},

где N — число объектов, а D — число исходных признаков. Требуется получить представление

Y=(y_1,\ldots,y_N)^T \in \mathbb{R}^{N \times d}, \qquad d<D.

Если метод строит явное отображение, то y_i=f(x_i), где f:\mathbb{R}^D\to\mathbb{R}^d. Однако не все алгоритмы задают такую функцию: например, некоторые методы визуализации непосредственно оптимизируют координаты точек Y, поэтому перенос результата на новые объекты требует отдельной процедуры.

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

Различают два основных подхода:

  1. Отбор признаков (англ. feature selection) — выбор подмножества исходных признаков без конструирования новых.
  2. Извлечение признаков (англ. feature extraction) — построение новых координат как функций исходных признаков. Отображение может быть линейным или нелинейным.

Отбор признаков

Отбор признаков также является формой понижения размерности: из D исходных переменных сохраняются только d. Его преимущество состоит в том, что смысл выбранных признаков обычно не меняется. Основные группы методов отбора:

  • фильтры оценивают признаки независимо от конкретной прогнозирующей модели, например по корреляции, взаимной информации или статистическому критерию;
  • обёртки сравнивают подмножества признаков по качеству выбранной модели;
  • встроенные методы выполняют отбор во время обучения модели, например при помощи L_1-регуляризации или отбора переменных в деревьях решений.

Отбор не следует смешивать с извлечением признаков: PCA, например, создаёт новые координаты как линейные комбинации всех или многих исходных признаков.

Линейные методы и матричные разложения

Линейное извлечение признаков задаётся проекцией

Y=XW, \qquad W\in\mathbb{R}^{D\times d}.

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

Низкоранговое приближение и сингулярное разложение

Во многих методах матрицу данных приближают произведением двух матриц меньшего ранга:

X\approx ZH, \qquad Z\in\mathbb{R}^{N\times d},\quad H\in\mathbb{R}^{d\times D}.

Строки Z служат новым d-мерным представлением объектов, а строки H задают компоненты или базисные направления.

Для сингулярного разложения (SVD)

X=U\Sigma V^T

усечённое разложение

X_d=U_d\Sigma_dV_d^T

является наилучшим приближением ранга не выше d в спектральной норме и норме Фробениуса (теорема Эккарта — Янга — Мирского).[1] Координатами объектов можно считать строки матрицы U_d\Sigma_d. Усечённое SVD применяется, в частности, при сжатии данных и в латентно-семантическом анализе.

Метод главных компонент

Метод главных компонент (PCA) — основной линейный метод понижения размерности без учителя. Перед вычислением PCA данные центрируют:

X_c=X-\mathbf{1}\mu^T,

где \mu — вектор средних значений признаков. Ковариационная матрица имеет вид

C=\frac{1}{N-1}X_c^TX_c.

Столбцы матрицы проекции W=V_d являются собственными векторами C, отвечающими d наибольшим собственным значениям. Новые координаты и реконструкция задаются формулами

Y=X_cV_d,\qquad \widehat X=YV_d^T+\mathbf{1}\mu^T.

PCA одновременно максимизирует дисперсию ортогональной проекции и минимизирует сумму квадратов ортогональных ошибок реконструкции. На практике главные компоненты обычно получают из SVD центрированной матрицы X_c=U\Sigma V^T, не формируя ковариационную матрицу явно. Если масштабы признаков несопоставимы, перед PCA часто выполняют стандартизацию, но она изменяет смысл оптимизируемой дисперсии.

Неотрицательное матричное разложение

Неотрицательное матричное разложение (NMF) применяется к матрице X с неотрицательными элементами и ищет приближение

X\approx WH,\qquad W \ge 0,\quad H \ge 0,

где W\in\mathbb{R}^{N\times d}, а H\in\mathbb{R}^{d\times D}. Строки W задают координаты объектов в новом представлении. Ограничение неотрицательности приводит к аддитивному описанию данных и нередко облегчает интерпретацию компонент, например как частей изображения или тем в коллекции текстов.[1] В отличие от SVD, решение NMF в общем случае не единственно, а задача оптимизации может иметь локальные минимумы.

Факторный анализ и независимые компоненты

Факторный анализ описывает наблюдаемый вектор при помощи латентных факторов:

x=\mu+\Lambda z+\varepsilon,

где z\in\mathbb{R}^d — скрытые факторы, \Lambda — матрица нагрузок, а \varepsilon — специфический шум. В отличие от PCA, факторный анализ задаёт вероятностную модель и отдельно моделирует общую и специфическую вариацию признаков.

Анализ независимых компонент (ICA) ищет линейное преобразование, при котором скрытые компоненты статистически независимы или максимально близки к независимым. Это отличает ICA от PCA, где компоненты лишь некоррелированы и упорядочены по дисперсии. ICA прежде всего используется для разделения смешанных сигналов; понижение размерности возникает, если сохраняется только часть найденных компонент.[1]

Случайные проекции

В случайной проекции матрица W генерируется из подходящего распределения и не обучается по выборке. Основанием метода служит лемма Джонсона — Линденштрауса: конечное множество из N точек можно вложить в пространство размерности порядка

d=\mathcal{O}\left(\frac{\log N}{\varepsilon^2}\right)

с относительным искажением попарных евклидовых расстояний не более заданной величины \varepsilon.[1] Плотные и разреженные случайные матрицы позволяют быстро обрабатывать большие наборы данных, но полученные координаты обычно не интерпретируются как содержательные признаки.

Нелинейные методы

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

Ядерный метод главных компонент

Ядерный метод главных компонент (kernel PCA) неявно отображает данные в пространство признаков при помощи положительно определённого ядра и выполняет PCA в этом пространстве. Вычисления сводятся к спектральному разложению центрированной матрицы Грама.[1] Метод способен описывать нелинейные зависимости, но результат сильно зависит от выбора ядра и его параметров, а работа с полной матрицей Грама требует памяти порядка N^2.

Многомерное шкалирование и Isomap

Многомерное шкалирование (MDS) строит координаты, сохраняющие заданные попарные расстояния или различия между объектами. Классическое метрическое MDS для евклидовых расстояний тесно связано с PCA.

Isomap заменяет прямые евклидовы расстояния приближёнными геодезическими расстояниями вдоль многообразия. Для этого строится граф ближайших соседей, вычисляются длины кратчайших путей, после чего к матрице геодезических расстояний применяется классическое MDS.[1] Результат чувствителен к связности графа: слишком малое число соседей может разорвать граф, а слишком большое — создать «короткие пути» между удалёнными частями многообразия.

Локально-линейные и спектральные методы

Локально-линейное вложение (LLE) сначала представляет каждый объект линейной комбинацией его ближайших соседей, а затем ищет низкоразмерные координаты, в которых сохраняются найденные веса реконструкции.[1]

К спектральным методам обучения на многообразиях относятся также лапласианские собственные отображения (Laplacian eigenmaps) и диффузионные карты (diffusion maps). Они строят взвешенный граф соседства и используют собственные векторы матрицы, связанной с графовым лапласианом или марковским оператором. Эти методы преимущественно сохраняют локальную геометрию и связность данных.

t-SNE

t-SNE (англ. t-distributed Stochastic Neighbor Embedding) предназначен прежде всего для визуализации локальной структуры многомерных данных в двух или трёх измерениях.[1]

В исходном пространстве сходство объектов задаётся условными вероятностями с гауссовыми ядрами:

p_{j\mid i}=\frac{\exp(-\lVert x_i-x_j\rVert^2/2\sigma_i^2)}{\sum_{k\ne i}\exp(-\lVert x_i-x_k\rVert^2/2\sigma_i^2)}, \qquad p_{i\mid i}=0.

Масштаб \sigma_i выбирается отдельно для каждой точки в соответствии с параметром perplexity. Условные вероятности симметризуются:

p_{ij}=\frac{p_{j\mid i}+p_{i\mid j}}{2N}.

В пространстве малой размерности используется распределение Стьюдента с одной степенью свободы:

q_{ij}=\frac{(1+\lVert y_i-y_j\rVert^2)^{-1}}{\sum_{k\ne l}(1+\lVert y_k-y_l\rVert^2)^{-1}},\qquad q_{ii}=0.

Координаты Y выбираются минимизацией дивергенции Кульбака — Лейблера

C=KL(P\Vert Q)=\sum_{i\ne j}p_{ij}\log\frac{p_{ij}}{q_{ij}}.

«Тяжёлые хвосты» распределения в малой размерности ослабляют проблему скученности точек. Из-за асимметрии KL(P\Vert Q) метод сильнее штрафует разрушение соседств, чем появление ложных дальних соседств. Поэтому расстояния между удалёнными кластерами, их площади и плотности на карте t-SNE не следует автоматически интерпретировать как соответствующие величины в исходном пространстве.

UMAP

UMAP (англ. Uniform Manifold Approximation and Projection) строит взвешенный граф k ближайших соседей, интерпретируемый как нечёткое представление локальной структуры данных, и подбирает низкоразмерный граф, минимизируя перекрёстную энтропию между двумя представлениями.[1] Как и t-SNE, UMAP зависит от выбора параметров соседства, метрики, инициализации и случайного состояния. Метод часто используется для визуализации и обычно быстрее точных реализаций t-SNE на больших выборках, однако сохранность глобальных расстояний необходимо проверять отдельно, а не выводить только из вида диаграммы.

Автокодировщики

Автоэнкодер (также автокодировщик; англ. autoencoder) — нейронная сеть, состоящая из кодировщика и декодировщика:

z=g_\theta(x)\in\mathbb{R}^d,\qquad \widehat x=h_\phi(z)\in\mathbb{R}^D.

Код z является низкоразмерным представлением, а параметры \theta и \phi обучаются минимизировать среднюю ошибку реконструкции:

\min_{\theta,\phi}\frac{1}{N}\sum_{i=1}^{N}\mathcal{L}\bigl(x_i,h_\phi(g_\theta(x_i))\bigr).

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

Если размер скрытого кода d<D, автоэнкодер называют неполным (undercomplete), а центральный слой — «узким горлышком». Линейный автоэнкодер с одним скрытым слоем, линейными активациями и квадратичной ошибкой при подходящих условиях выделяет то же главное подпространство, что и PCA, хотя конкретный базис в нём может отличаться.[1] Нелинейные слои позволяют аппроксимировать более сложные отображения и многообразия.[1]

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

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

В отличие от t-SNE, обученный кодировщик естественным образом задаёт отображение для новых объектов. К недостаткам относятся необходимость выбора архитектуры и регуляризации, вычислительная стоимость обучения, зависимость от объёма данных и риск переобучения. Низкая ошибка реконструкции сама по себе не гарантирует сохранения расстояний, кластеров или факторов, значимых для прикладной задачи.

Контролируемое понижение размерности

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

Линейный дискриминантный анализ (LDA) иногда используют как контролируемое понижение размерности: он ищет направления с большим отношением межклассового разброса к внутриклассовому. Однако основная цель LDA — разделение заранее заданных классов, а не сохранение общей структуры X. Поэтому его корректнее рассматривать как частный контролируемый метод извлечения признаков, а не как центральный универсальный метод понижения размерности. При K классах число нетривиальных дискриминантных направлений не превышает K-1.[1]

Выбор целевой размерности и оценка качества

Размерность d выбирают с учётом цели анализа:

  • в PCA используют график собственных значений, долю объяснённой дисперсии или ошибку реконструкции; порог 90–95 % является эвристикой, а не универсальным правилом;
  • в факторных и вероятностных моделях сравнивают правдоподобие, информационные критерии или качество на отложенных данных;
  • для автоэнкодеров и других параметрических моделей оценивают реконструкцию и качество последующей задачи на валидационной выборке;
  • для вложений измеряют сохранение расстояний и соседств, например при помощи корреляции расстояний, trustworthiness и continuity;
  • для визуализации обычно выбирают d=2 или d=3, но визуальная убедительность не заменяет количественной проверки.

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

Ограничения и компромиссы

  • Потеря информации. Любое отображение с d<D может удалить структуру, важную для неизвестной заранее задачи.
  • Разные критерии сохранения. Метод, хорошо сохраняющий локальные соседства, может искажать глобальные расстояния, и наоборот.
  • Интерпретируемость. Отобранные исходные признаки обычно понятнее новых компонент; ограничения NMF или разреженности могут улучшить интерпретируемость, но не гарантируют её.
  • Предобработка. Масштабирование признаков, выбранная метрика, обработка выбросов и пропусков способны существенно изменить результат.
  • Вычислительная сложность. Полное SVD матрицы N\times D требует порядка \mathcal{O}(\min(ND^2,N^2D)) операций, хотя усечённые и рандомизированные алгоритмы могут быть значительно быстрее. Методы, использующие полные матрицы расстояний или сходства, требуют порядка N^2 памяти без приближений.
  • Устойчивость и воспроизводимость. Стохастические методы и невыпуклые задачи оптимизации могут давать разные результаты при разных инициализациях. Для них указывают случайное состояние и проверяют устойчивость выводов.
  • Перенос на новые данные. PCA, случайная проекция и кодировщик задают явное преобразование, тогда как для многих непараметрических вложений требуется дополнительный алгоритм вневыборочного продолжения.

См. также

Примечания


Литература

  • Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: классификация и снижение размерности. — М.: Финансы и статистика, 1989. — 607 с.
  • Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006. — ISBN 978-0387310732
  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. — Springer, 2009. — ISBN 978-0387848570
  • Jolliffe I. T. Principal Component Analysis. — Springer, 2002.
  • Baldi P., Hornik K. Neural Networks. — 1989. — Т. 2, № 1. — С. 53–58.
  • Comon P. Signal Processing. — 1994. — Т. 36, № 3. — С. 287–314.
  • Eckart C., Young G. Psychometrika. — 1936. — Т. 1, № 3. — С. 211–218.
  • Hinton G. E., Salakhutdinov R. R. Science. — 2006. — Т. 313, № 5786. — С. 504–507.
  • Johnson W. B., Lindenstrauss J. Contemporary Mathematics. — 1984. — Т. 26. — С. 189–206.
  • Kingma D. P., Welling M. Proceedings of the 2nd International Conference on Learning Representations. — 2014.
  • Lee D. D., Seung H. S. Nature. — 1999. — Т. 401. — С. 788–791.
  • McInnes L., Healy J., Melville J. arXiv preprint arXiv:1802.03426. — 2018.
  • Pearson K. Philosophical Magazine. — 1901. — Т. 2, № 11. — С. 559–572.
  • Roweis S. T., Saul L. K. Science. — 2000. — Т. 290, № 5500. — С. 2323–2326.
  • Schölkopf B., Smola A., Müller K.-R. Neural Computation. — 1998. — Т. 10, № 5. — С. 1299–1319.
  • Sorzano C. O. S., Vargas J., Montano A. P. arXiv preprint arXiv:1403.2877. — 2014.
  • Tenenbaum J. B., de Silva V., Langford J. C. Science. — 2000. — Т. 290, № 5500. — С. 2319–2323.
  • van der Maaten L., Hinton G. Journal of Machine Learning Research. — 2008. — Т. 9. — С. 2579–2605.
  • van der Maaten L., Postma E., van den Herik J. Tilburg University Technical Report TiCC-TR 2009-005. — 2009.
  • Vincent P., Larochelle H., Bengio Y., Manzagol P.-A. Proceedings of the 25th International Conference on Machine Learning. — 2008. — С. 1096–1103.