Spec-Zone.ru › scikit-learn

2.2. Обучение многообразий

../_images/sphx_glr_plot_compare_methods_001.png

manifold_img3 manifold_img4 manifold_img5 manifold_img6

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

2.2.1. Введение

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

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

digits_img projected_img

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

PCA_img LDA_img

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

Примеры

  • См. Обучение многообразий на рукописных цифрах: локально-линейное вложение, Isomap… — пример снижения размерности данных с рукописными цифрами.
  • См. Сравнение методов обучения многообразий — пример снижения размерности игрушечного набора данных «S-кривая».
  • См. Визуализация структуры фондового рынка — пример применения обучения многообразий для отображения структуры фондового рынка на основе исторических цен акций.
  • См. Методы обучения многообразий на разрезанной сфере — пример применения методов обучения многообразий к сферическому набору данных.
  • См. Снижение размерности для «швейцарского рулета» и «швейцарской дыры» — пример применения методов обучения многообразий к набору данных «швейцарский рулет».

Реализации методов обучения многообразий, доступные в scikit-learn, кратко описаны ниже

2.2.2. Isomap

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

../_images/sphx_glr_plot_lle_digits_005.png
Сложность

Алгоритм Isomap состоит из трёх этапов:

  1. Поиск ближайших соседей. Для эффективного поиска соседей в Isomap используется BallTree. Вычислительная сложность составляет приблизительно \(O[D \log(k) N \log(N)]\) для поиска \(k\) ближайших соседей среди \(N\) точек в пространстве размерности \(D\).
  2. Поиск кратчайших путей в графе. Наиболее эффективные из известных алгоритмов — алгоритм Дейкстры, сложность которого составляет приблизительно \(O[N^2(k + \log(N))]\), и алгоритм Флойда — Уоршелла со сложностью \(O[N^3]\). Пользователь может выбрать алгоритм с помощью ключевого слова path_method в Isomap. Если оно не задано, код пытается выбрать наиболее подходящий алгоритм для входных данных.
  3. Частичное разложение по собственным значениям. Вложение кодируется собственными векторами, соответствующими \(d\) наибольшим собственным значениям ядра Isomap размером \(N \times N\). Для плотного решателя вычислительная сложность составляет приблизительно \(O[d N^2]\). Эту сложность часто можно уменьшить с помощью решателя ARPACK. Пользователь может указать решатель собственных значений с помощью ключевого слова eigen_solver в Isomap. Если оно не задано, код пытается выбрать наиболее подходящий алгоритм для входных данных.

Общая вычислительная сложность Isomap составляет \(O[D \log(k) N \log(N)] + O[N^2(k + \log(N))] + O[d N^2]\).

  • \(N\) : количество обучающих точек
  • \(D\) : размерность входных данных
  • \(k\) : количество ближайших соседей
  • \(d\) : размерность выходных данных

Литература

  • «Глобальная геометрическая основа нелинейного снижения размерности» Tenenbaum, J.B.; De Silva, V.; & Langford, J.C. Science 290 (5500)

2.2.3. Локально-линейное вложение

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

Локально-линейное вложение можно выполнить с помощью функции locally_linear_embedding или её объектно-ориентированного аналога LocallyLinearEmbedding.

../_images/sphx_glr_plot_lle_digits_006.png
Сложность

Стандартный алгоритм LLE состоит из трёх этапов:

  1. Поиск ближайших соседей. См. описание выше в разделе об Isomap.
  2. Построение матрицы весов. \(O[D N k^3]\). Для построения матрицы весов LLE необходимо решить линейную систему размером \(k \times k\) для каждой из \(N\) локальных окрестностей.
  3. Частичное разложение по собственным значениям. См. описание выше в разделе об Isomap.

Общая вычислительная сложность стандартного LLE составляет \(O[D \log(k) N \log(N)] + O[D N k^3] + O[d N^2]\).

  • \(N\) : количество обучающих точек
  • \(D\) : размерность входных данных
  • \(k\) : количество ближайших соседей
  • \(d\) : размерность выходных данных

Литература

  • «Нелинейное снижение размерности с помощью локально-линейного вложения» Roweis, S. & Saul, L. Science 290:2323 (2000)

2.2.4. Модифицированное локально-линейное вложение

Одна из известных проблем LLE — проблема регуляризации. Если число соседей превышает размерность входных данных, матрица, определяющая каждую локальную окрестность, оказывается вырожденной. Для решения этой проблемы в стандартном LLE используется произвольный параметр регуляризации \(r\), выбираемый относительно следа локальной матрицы весов. Хотя формально можно показать, что при \(r \to 0\) решение сходится к требуемому вложению, нет гарантии, что при \(r > 0\) будет найдено оптимальное решение. Эта проблема проявляется в искажении исходной геометрии многообразия во вложении.

Один из способов решения проблемы регуляризации — использовать несколько векторов весов в каждой окрестности. В этом заключается суть модифицированного локально-линейного вложения (MLLE). MLLE можно выполнить с помощью функции locally_linear_embedding или её объектно-ориентированного аналога LocallyLinearEmbedding, указав ключевое слово method = 'modified'. Для этого требуется n_neighbors > n_components.

../_images/sphx_glr_plot_lle_digits_007.png
Сложность

Алгоритм MLLE состоит из трёх этапов:

  1. Поиск ближайших соседей. Такой же, как в стандартном LLE.
  2. Построение матрицы весов. Приблизительно \(O[D N k^3] + O[N (k-D) k^2]\). Первый член в точности соответствует члену для стандартного LLE. Второй связан с построением матрицы весов на основе нескольких весов. На практике дополнительные затраты на построение матрицы весов MLLE относительно невелики по сравнению с затратами на этапы 1 и 3.
  3. Частичное разложение по собственным значениям. Такое же, как в стандартном LLE.

Общая вычислительная сложность MLLE составляет \(O[D \log(k) N \log(N)] + O[D N k^3] + O[N (k-D) k^2] + O[d N^2]\).

  • \(N\) : количество обучающих точек
  • \(D\) : размерность входных данных
  • \(k\) : количество ближайших соседей
  • \(d\) : размерность выходных данных

Литература

  • «MLLE: модифицированное локально-линейное вложение с использованием нескольких весов» Zhang, Z. & Wang, J.

2.2.5. Гессианное отображение по собственным векторам

Гессианное отображение по собственным векторам (также известное как LLE на основе матрицы Гессе: HLLE) — ещё один метод решения проблемы регуляризации LLE. В его основе лежит квадратичная форма на основе матрицы Гессе для каждой окрестности, которая используется для восстановления локально-линейной структуры. Хотя в других реализациях отмечается плохая масштабируемость алгоритма с ростом размера данных, sklearn реализует некоторые алгоритмические улучшения, благодаря которым при малой размерности выходных данных его вычислительная сложность сопоставима со сложностью других вариантов LLE. HLLE можно выполнить с помощью функции locally_linear_embedding или её объектно-ориентированного аналога LocallyLinearEmbedding, указав ключевое слово method = 'hessian'. Для этого требуется n_neighbors > n_components * (n_components + 3) / 2.

../_images/sphx_glr_plot_lle_digits_008.png
Сложность

Алгоритм HLLE состоит из трёх этапов:

  1. Поиск ближайших соседей. Такой же, как в стандартном LLE.
  2. Построение матрицы весов. Приблизительно \(O[D N k^3] + O[N d^6]\). Первый член отражает вычислительные затраты, аналогичные затратам стандартного LLE. Второй член связан с QR-разложением локальной оценки матрицы Гессе.
  3. Частичное разложение по собственным значениям. Такое же, как в стандартном LLE.

Общая вычислительная сложность стандартного HLLE составляет \(O[D \log(k) N \log(N)] + O[D N k^3] + O[N d^6] + O[d N^2]\).

  • \(N\) : количество обучающих точек
  • \(D\) : размерность входных данных
  • \(k\) : количество ближайших соседей
  • \(d\) : размерность выходных данных

Литература

  • «Гессианные отображения по собственным векторам: методы локально-линейного вложения для данных высокой размерности» Donoho, D. & Grimes, C. Proc Natl Acad Sci USA. 100:5591 (2003)

2.2.6. Спектральное вложение

Спектральное вложение — это подход к вычислению нелинейного вложения. В scikit-learn реализованы лапласиановы собственные отображения, которые находят низкоразмерное представление данных с помощью спектрального разложения лапласиана графа. Построенный граф можно рассматривать как дискретное приближение низкоразмерного многообразия в пространстве высокой размерности. Минимизация целевой функции на основе графа обеспечивает близкое отображение точек, близких друг к другу на многообразии, в низкоразмерном пространстве, сохраняя локальные расстояния. Спектральное вложение можно выполнить с помощью функции spectral_embedding или её объектно-ориентированного аналога SpectralEmbedding.

Сложность

Алгоритм спектрального вложения (лапласиановых собственных отображений) состоит из трёх этапов:

  1. Построение взвешенного графа. Преобразование исходных входных данных в представление графа с помощью матрицы сходства (смежности).
  2. Построение лапласиана графа. Ненормированный лапласиан графа строится как \(L = D - A\), а нормированный — как \(L = D^{-\frac{1}{2}} (D - A) D^{-\frac{1}{2}}\).
  3. Частичное разложение по собственным значениям. Разложение по собственным значениям выполняется для лапласиана графа.

Общая вычислительная сложность спектрального вложения составляет \(O[D \log(k) N \log(N)] + O[D N k^3] + O[d N^2]\).

  • \(N\) : количество обучающих точек
  • \(D\) : размерность входных данных
  • \(k\) : количество ближайших соседей
  • \(d\) : размерность выходных данных

Литература

  • «Лапласиановы собственные отображения для снижения размерности и представления данных» M. Belkin, P. Niyogi, Neural Computation, June 2003; 15 (6):1373-1396.

2.2.7. Выравнивание локальных касательных пространств

Хотя выравнивание локальных касательных пространств (LTSA) формально не является вариантом LLE, алгоритмически оно достаточно близко к LLE, чтобы относить его к этой категории. В отличие от LLE, ориентированного на сохранение расстояний между соседями, LTSA характеризует локальную геометрию каждой окрестности с помощью её касательного пространства и выполняет глобальную оптимизацию, выравнивая эти локальные касательные пространства для построения вложения. LTSA можно выполнить с помощью функции locally_linear_embedding или её объектно-ориентированного аналога LocallyLinearEmbedding, указав ключевое слово method = 'ltsa'.

../_images/sphx_glr_plot_lle_digits_009.png
Сложность

Алгоритм LTSA состоит из трёх этапов:

  1. Поиск ближайших соседей. Такой же, как в стандартном LLE.
  2. Построение матрицы весов. Приблизительно \(O[D N k^3] + O[k^2 d]\). Первый член отражает вычислительные затраты, аналогичные затратам стандартного LLE.
  3. Частичное разложение по собственным значениям. Такое же, как в стандартном LLE.

Общая вычислительная сложность стандартного LTSA составляет \(O[D \log(k) N \log(N)] + O[D N k^3] + O[k^2 d] + O[d N^2]\).

  • \(N\) : количество обучающих точек
  • \(D\) : размерность входных данных
  • \(k\) : количество ближайших соседей
  • \(d\) : размерность выходных данных

Литература

  • «Главные многообразия и нелинейное снижение размерности посредством выравнивания касательных пространств» Zhang, Z. & Zha, H. Journal of Shanghai Univ. 8:406 (2004)

2.2.8. Многомерное шкалирование (MDS)

Многомерное шкалирование (MDS и ClassicalMDS) ищет низкоразмерное представление данных, в котором расстояния приближены к расстояниям в исходном высокоразмерном пространстве.

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

Существует три типа алгоритмов MDS: метрический, неметрический и классический. В scikit-learn класс MDS реализует метрический и неметрический MDS, а ClassicalMDS реализует классический MDS. При метрическом MDS расстояния во вложенном пространстве устанавливаются максимально близкими к данным о несходстве. В неметрическом варианте алгоритм пытается сохранить порядок расстояний и, следовательно, найти монотонную зависимость между расстояниями во вложенном пространстве и входными значениями несходства. Наконец, классический MDS близок к PCA и вместо аппроксимации расстояний аппроксимирует попарные скалярные произведения. Это более простая задача оптимизации с аналитическим решением на основе спектрального разложения.

MMDS_img NMDS_img

Пусть \(\delta_{ij}\) — матрица несходства между \(n\) входными точками (возможно, полученная из попарных расстояний \(d_{ij}(X)\) между координатами \(X\) входных точек). Несоответствия \(\hat{d}_{ij} = f(\delta_{ij})\) представляют собой некоторое преобразование значений несходства. Целевая функция MDS, называемая сырым стрессом, определяется как \(\sum_{i < j} (\hat{d}_{ij} - d_{ij}(Z))^2\), где \(d_{ij}(Z)\) — попарные расстояния между координатами \(Z\) вложенных точек.

Метрический MDS

В модели метрического MDS (иногда также называемой абсолютным MDS) несоответствия просто равны входным значениям несходства \(\hat{d}_{ij} = \delta_{ij}\).

Неметрический MDS

Неметрический MDS ориентирован на упорядочение данных. Если \(\delta_{ij} > \delta_{kl}\), то вложение стремится обеспечить \(d_{ij}(Z) > d_{kl}(Z)\). Простой алгоритм обеспечения правильного упорядочения — использовать изотоническую регрессию \(d_{ij}(Z)\) по \(\delta_{ij}\), получая несоответствия \(\hat{d}_{ij}\), которые являются монотонным преобразованием значений несходства \(\delta_{ij}\) и, следовательно, имеют тот же порядок. Это выполняется после каждого шага алгоритма оптимизации. Чтобы избежать тривиального решения, при котором все точки вложения совпадают, несоответствия \(\hat{d}_{ij}\) нормализуются.

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

\[\sqrt{\frac{\sum_{i < j} (\hat{d}_{ij} - d_{ij}(Z))^2}{\sum_{i < j} d_{ij}(Z)^2}}.\]

Нормализованный Stress-1 возвращается, если normalized_stress=True.

../_images/sphx_glr_plot_mds_001.png

Классический MDS, также известный как анализ главных координат (PCoA) или шкалирование Торгерсона, реализован в отдельном классе ClassicalMDS. В классическом MDS функция потерь на основе стресса заменяется другой функцией потерь, называемой деформацией, для которой существует точное решение на основе спектрального разложения. Если матрица несходства состоит из попарных евклидовых расстояний между некоторыми векторами, то классический MDS эквивалентен PCA, применённому к этому набору векторов.

../_images/sphx_glr_plot_lle_digits_012.png

Формально функция потерь классического MDS (деформация) задаётся следующим образом:

\[\frac{\|B - ZZ^T\|_F}{\|B\|_F} =\sqrt{\frac{\sum_{i,j} (b_{ij} - z_i^\top z_j)^2}{\sum_{i,j} b_{ij}^2}},\]

где \(Z\) — матрица вложения размера \(n \times d\), строки которой равны \(z_i^T\), \(\|\cdot\|_F\) обозначает норму Фробениуса, а \(B\) — матрица Грама с элементами \(b_{ij}\), задаваемая как \(B = -\frac{1}{2}C\Delta C\). Здесь \(C\Delta C\) — матрица квадратов значений несходства с двойным центрированием, где \(\Delta\) — матрица квадратов входных значений несходства \(\delta^2_{ij}\), а \(C=I-J/n\) — матрица центрирования (единичная матрица минус матрица, состоящая из единиц и делённая на \(n\)). Эту функцию можно точно минимизировать с помощью спектрального разложения \(B\).

Литература

  • «Ещё о многомерном шкалировании и развёртывании в R: smacof, версия 2» Mair P, Groenen P., de Leeuw J. Journal of Statistical Software (2022)
  • «Современное многомерное шкалирование: теория и приложения» Borg, I.; Groenen P. Springer Series in Statistics (1997)
  • «Неметрическое многомерное шкалирование: численный метод» Kruskal, J. Psychometrika, 29 (1964)
  • «Многомерное шкалирование путём оптимизации качества соответствия неметрической гипотезе» Kruskal, J. Psychometrika, 29, (1964)

2.2.9. Стохастическое вложение соседей с t-распределением (t-SNE)

t-SNE (TSNE) преобразует аффинности точек данных в вероятности. Аффинности в исходном пространстве представлены совместными вероятностями с распределением Гаусса, а аффинности во вложенном пространстве — t-распределениями Стьюдента. Благодаря этому t-SNE особенно чувствителен к локальной структуре и обладает рядом других преимуществ по сравнению с существующими методами:

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

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

Минимизация дивергенции Кульбака — Лейблера (KL) совместных вероятностей в исходном и вложенном пространствах выполняется методом градиентного спуска. Обратите внимание, что дивергенция KL не является выпуклой, то есть при нескольких запусках с разными начальными значениями алгоритм будет попадать в локальные минимумы дивергенции KL. Поэтому иногда полезно попробовать разные начальные значения и выбрать вложение с наименьшей дивергенцией KL.

К недостаткам использования t-SNE относятся:

  • t-SNE требует больших вычислительных затрат и может выполняться несколько часов на наборах данных с миллионом образцов, тогда как PCA завершит работу за секунды или минуты
  • Метод t-SNE Barnes-Hut ограничен вложениями в два или три измерения.
  • Алгоритм является стохастическим, и несколько запусков с разными начальными значениями могут давать разные вложения. Тем не менее вполне допустимо выбрать вложение с наименьшей ошибкой.
  • Глобальная структура явно не сохраняется. Эту проблему можно смягчить, задав начальное расположение точек с помощью PCA (используя init='pca').
../_images/sphx_glr_plot_lle_digits_015.png
Оптимизация t-SNE

Основная цель t-SNE — визуализация высокоразмерных данных. Поэтому метод лучше всего работает, когда данные вкладываются в два или три измерения.

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

  • перплексия
  • коэффициент раннего преувеличения
  • скорость обучения
  • максимальное число итераций
  • угол (не используется в точном методе)

Перплексия определяется как \(k=2^{(S)}\), где \(S\) — энтропия Шеннона условного распределения вероятностей. Перплексия игральной кости с \(k\) гранями равна \(k\), то есть фактически \(k\) — это число ближайших соседей, учитываемых t-SNE при вычислении условных вероятностей. При больших значениях перплексии учитывается больше ближайших соседей, а чувствительность к мелким структурам снижается. Напротив, при меньшей перплексии учитывается меньше соседей, поэтому больше глобальной информации игнорируется в пользу локального окружения. При увеличении размера набора данных требуется больше точек для получения репрезентативной выборки локального окружения, поэтому могут потребоваться более высокие значения перплексии. Аналогично, для более зашумлённых наборов данных требуются более высокие значения перплексии, чтобы включить достаточное число локальных соседей и увидеть структуру за фоновым шумом.

Максимальное число итераций обычно достаточно велико и не требует настройки. Оптимизация состоит из двух этапов: этапа раннего преувеличения и финальной оптимизации. На этапе раннего преувеличения совместные вероятности в исходном пространстве искусственно увеличиваются умножением на заданный коэффициент. При больших коэффициентах промежутки между естественными кластерами данных становятся шире. Если коэффициент слишком велик, дивергенция KL может увеличиваться на этом этапе. Обычно настраивать этот параметр не требуется. Критически важным параметром является скорость обучения. Если она слишком мала, градиентный спуск застрянет в неудачном локальном минимуме. Если она слишком велика, дивергенция KL будет увеличиваться в ходе оптимизации. В работе Belkina et al. (2019) предложена эвристика: установить скорость обучения равной размеру выборки, делённому на коэффициент раннего преувеличения. Эта эвристика реализована в аргументе learning_rate='auto'. Дополнительные советы можно найти в разделе часто задаваемых вопросов Laurens van der Maaten (см. список литературы). Последний параметр, угол, задаёт компромисс между производительностью и точностью. При больших углах более крупные области можно аппроксимировать одной точкой, что повышает скорость, но снижает точность результатов.

«Как эффективно использовать t-SNE» содержит полезное обсуждение влияния различных параметров, а также интерактивные графики для изучения эффектов изменения параметров.

t-SNE Barnes-Hut

Реализованный здесь t-SNE Barnes-Hut обычно намного медленнее других алгоритмов обучения многообразий. Оптимизация довольно сложна, а вычислительная сложность вычисления градиента составляет \(O[d N log(N)]\), где \(d\) — число выходных измерений, а \(N\) — число образцов. Метод Barnes-Hut улучшает точный метод, сложность которого для t-SNE составляет \(O[d N^2]\), но имеет и несколько других существенных отличий:

  • Реализация Barnes-Hut работает только при целевой размерности 3 или меньше. Случай с двумя измерениями типичен для построения визуализаций.
  • Barnes-Hut работает только с плотными входными данными. Разреженные матрицы данных можно вложить только точным методом или аппроксимировать плотной проекцией низкого ранга, например, с помощью PCA
  • Barnes-Hut представляет собой аппроксимацию точного метода. Аппроксимация задаётся параметром угла, поэтому этот параметр не используется, если method=”exact”
  • Barnes-Hut значительно лучше масштабируется. Его можно использовать для вложения сотен тысяч точек данных, тогда как точный метод способен обрабатывать лишь тысячи образцов, прежде чем вычисления станут практически невыполнимыми

Для визуализации (основного варианта использования t-SNE) настоятельно рекомендуется метод Barnes-Hut. Точный метод t-SNE полезен для проверки теоретических свойств вложения, в том числе в пространстве более высокой размерности, однако из-за вычислительных ограничений он применим только к небольшим наборам данных.

Также обратите внимание, что метки цифр приблизительно соответствуют естественным группам, обнаруженным t-SNE, тогда как линейная двумерная проекция модели PCA даёт представление, в котором области меток в значительной степени перекрываются. Это убедительно свидетельствует о том, что эти данные можно хорошо разделить нелинейными методами, ориентированными на локальную структуру (например, SVM с гауссовым ядром RBF). Однако если t-SNE в двумерном пространстве не позволяет визуализировать хорошо разделённые группы с одинаковыми метками, это не обязательно означает, что данные нельзя корректно классифицировать с помощью модели обучения с учителем. Возможно, двух измерений недостаточно для точного представления внутренней структуры данных.

Литература

  • «Визуализация высокоразмерных данных с помощью t-SNE» van der Maaten, L.J.P.; Hinton, G. Journal of Machine Learning Research (2008)
  • «Стохастическое вложение соседей с t-распределением» van der Maaten, L.J.P.
  • «Ускорение t-SNE с помощью алгоритмов на основе деревьев» van der Maaten, L.J.P.; Journal of Machine Learning Research 15(Oct):3221-3245, 2014.
  • «Автоматически оптимизированные параметры стохастического вложения соседей с t-распределением улучшают визуализацию и анализ больших наборов данных» Belkina, A.C., Ciccolella, C.O., Anno, R., Halpert, R., Spidlen, J., Snyder-Cappione, J.E., Nature Communications 10, 5415 (2019).

2.2.10. Советы по практическому использованию

  • Убедитесь, что для всех признаков используется одинаковый масштаб. Поскольку методы обучения многообразий основаны на поиске ближайших соседей, в противном случае алгоритм может работать плохо. О способах масштабирования разнородных данных см. StandardScaler.
  • Ошибку восстановления, вычисляемую каждой процедурой, можно использовать для выбора оптимальной выходной размерности. Для \(d\)-мерного многообразия, вложенного в пространство параметров размерности \(D\), ошибка восстановления будет уменьшаться с увеличением n_components до тех пор, пока n_components == d.
  • Обратите внимание, что зашумлённые данные могут «закорачивать» многообразие, фактически создавая мост между его частями, которые иначе были бы хорошо разделены. Обучение многообразий на зашумлённых и/или неполных данных — активно развивающаяся область исследований.
  • Некоторые конфигурации входных данных могут приводить к вырожденным матрицам весов, например, если в наборе данных совпадают более двух точек или если данные разделены на несвязанные группы. В этом случае solver='arpack' не сможет найти нулевое пространство. Проще всего решить эту проблему с помощью solver='dense', который работает с вырожденной матрицей, хотя может быть очень медленным в зависимости от числа входных точек. Другой вариант — попытаться определить причину вырождения: если дело в несвязанных множествах, может помочь увеличение n_neighbors. Если причина в совпадающих точках в наборе данных, может помочь удаление этих точек.

См. также

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

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/manifold.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API