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, для чувствительности к нелинейной структуре данных. Хотя существуют варианты с учителем, типичная задача обучения на многообразиях — без учителя: она изучает многомерную структуру данных по самим данным без использования предварительно определённых классификаций.

Примеры

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

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

2.2.2. Изокарта

Один из самых ранних подходов к обучению на многообразиях — алгоритм 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\) наибольшим собственным значениям \(N \times N\) ядра isomap. Для плотного решателя стоимость приблизительно \(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\) : размерность выхода

Ссылки

  • “A global geometric framework for nonlinear dimensionality reduction” 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\) : размерность выхода

Ссылки

  • “Nonlinear dimensionality reduction by locally linear embedding” 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: Modified Locally Linear Embedding Using Multiple Weights” 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\) : размерность выхода

Литература

  • “Hessian Eigenmaps: Locally linear embedding techniques for high-dimensional data” 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\) : размерность выхода

Литература

  • “Laplacian Eigenmaps for Dimensionality Reduction and Data Representation” M. Belkin, P. Niyogi, Neural Computation, June 2003; 15 (6):1373-1396

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

Хотя технически это не вариант LLE, выравнивание локального касательного пространства (LTSA) достаточно алгоритмически схоже с 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\) : размерность вывода

Литература

  • “Principal manifolds and nonlinear dimensionality reduction via tangent space alignment” Zhang, Z. & Zha, H. Journal of Shanghai Univ. 8:406 (2004)

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

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

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

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

../_images/sphx_glr_plot_lle_digits_010.png

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

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

Простейшая метрическая MDS модель, называемая абсолютным MDS, расхождения определяются как \(\hat{d}_{ij} = S_{ij}\). При абсолютном MDS значение \(S_{ij}\) должно точно соответствовать расстоянию между точкой \(i\) и \(j\) в точке вложения.

Чаще всего расхождения устанавливаются как \(\hat{d}_{ij} = b S_{ij}\).

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

Неметрическое MDS фокусируется на упорядочении данных. Если \(S_{ij} > S_{jk}\), то вложение должно обеспечить \(d_{ij} < d_{jk}\). По этой причине мы обсуждаем это в терминах несхожестей (\(\delta_{ij}\)) вместо схожестей (\(S_{ij}\)). Обратите внимание, что несхожести легко получить из схожестей посредством простого преобразования, например, \(\delta_{ij}=c_1-c_2 S_{ij}\) для некоторых вещественных констант \(c_1, c_2\). Простой алгоритм для обеспечения правильного упорядочения — использовать монотонную регрессию \(d_{ij}\) на \(\delta_{ij}\), что даёт расхождения \(\hat{d}_{ij}\) в том же порядке, что и \(\delta_{ij}\).

Тривиальное решение этой проблемы — установить все точки в начале координат. Чтобы избежать этого, расхождения \(\hat{d}_{ij}\) нормализуются. Обратите внимание, что поскольку нас интересует только относительный порядок, наша цель должна быть инвариантной к простым сдвигам и масштабированию, однако напряжение, используемое в метрическом MDS, чувствительно к масштабированию. Для решения этой проблемы неметрическое MDS может использовать нормированное напряжение, известное как Stress-1, определённое как

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

Использование нормированного Stress-1 можно включить, установив normalized_stress=True, однако оно совместимо только с неметрической задачей MDS и будет проигнорировано в метрическом случае.

../_images/sphx_glr_plot_mds_001.png

Литература

  • “Modern Multidimensional Scaling - Theory and Applications” Borg, I.; Groenen P. Springer Series in Statistics (1997)
  • “Nonmetric multidimensional scaling: a numerical method” Kruskal, J. Psychometrika, 29 (1964)
  • “Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis” 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 завершит работу за секунды или минуты
  • Метод Barnes-Hut t-SNE ограничен встраиванием в двух или трех измерениях.
  • Алгоритм является стохастическим, и несколько перезапусков с разными начальными значениями могут привести к различным встраиваниям. Однако совершенно законно выбрать встраивание с наименьшей ошибкой.
  • Глобальная структура не сохраняется явно. Эта проблема смягчается инициализацией точек с помощью PCA (используя init='pca').
../_images/sphx_glr_plot_lle_digits_013.png
Оптимизация t-SNE

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

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

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

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

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

“Как эффективно использовать 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 значительно масштабируемее. Barnes-Hut может использоваться для встраивания сотен тысяч точек данных, в то время как точный метод может обрабатывать тысячи выборок, прежде чем станет вычислительно невыполнимым

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

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

Литература

  • “Визуализация данных высокой размерности с помощью t-SNE” van der Maaten, L.J.P.; Hinton, G. Журнал машинного обучения (2008)
  • “t-Распределенное стохастическое встраивание ближайших соседей” van der Maaten, L.J.P.
  • “Ускорение t-SNE с помощью древовидных алгоритмов” van der Maaten, L.J.P.; Журнал машинного обучения 15(октябрь):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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/manifold.html

Spec-Zone.ru

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