Есть ли случаи, когда PCA более подходит, чем t-SNE?


39

Я хочу увидеть, как 7 показателей поведения по исправлению текста (время, потраченное на исправление текста, количество нажатий клавиш и т. Д.) Связаны друг с другом. Меры взаимосвязаны. Я запустил PCA, чтобы увидеть, как меры проецируются на ПК1 и ПК2, что позволяет избежать частичного выполнения двухсторонних корреляционных тестов между измерениями.

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

Я могу видеть, как учет нелинейности мог бы улучшить это, но мне интересно, есть ли веская причина использовать PCA в этом случае, а не t-SNE? Я не заинтересован в кластеризации текстов в соответствии с их отношением к мерам, а скорее в связи между самими мерами.

(Я полагаю, что EFA мог бы также лучше / другой подход, но это другое обсуждение.) По сравнению с другими методами, здесь мало сообщений о t-SNE, поэтому вопрос стоит задать.


3
t-SNE плохо масштабируется с размером набора данных, в то время как PCA. Это вытекает из опыта работы с ними обоих в большом наборе данных с использованием реализации scikit-learn.
мая

@ Возможно, это относится в основном к большим наборам данных? Мой набор данных находится на небольшой стороне (несколько сотен точек данных).
user3744206

Ответы:


65

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

  1. Стохастичность конечного решения . PCA является детерминированным; сне нет. Один получает хорошую визуализацию, а затем ее коллега получает другую визуализацию, а затем они становятся артистичными, что выглядит лучше, и если разница в в расхождении имеет смысл ... В PCA правильный ответ на поставленный вопрос гарантирован. SNE может иметь несколько минимумов, которые могут привести к различным решениям. Это требует многократных прогонов, а также вызывает вопросы о воспроизводимости результатов.0,03 % K L ( P | | Q ) tt0.03%KL(P||Q)t

  2. Интерпретируемость отображения . Это относится к вышеприведенному пункту, но давайте предположим, что команда согласилась на конкретный случайный старт / пробег. Теперь возникает вопрос: что это показывает? -SNE пытается правильно отобразить только локальные / соседние объекты, поэтому наши выводы из этого вложения должны быть очень осторожными; глобальные тренды не представлены точно (и это может быть очень полезно для визуализации). С другой стороны, PCA - это просто диагональное вращение нашей исходной ковариационной матрицы, а собственные векторы представляют новую осевую систему в пространстве, охватываемом нашими исходными данными. Мы можем напрямую объяснить, что делает конкретный PCA.t

  3. Применение к новым / невидимым данным . -SNE не изучает функцию из исходного пространства в новое (нижнее) измерение, и это проблема. В этом отношении SNE является непараметрическим алгоритмом обучения, поэтому приближение с помощью параметрического алгоритма является некорректной задачей. Встраивание изучается путем непосредственного перемещения данных через низкоразмерное пространство. Это означает, что нельзя получить собственный вектор или подобную конструкцию для использования в новых данных. Напротив, используя PCA, собственные векторы предлагают новую систему осей, которую можно напрямую использовать для проецирования новых данных. [Видимо , можно было бы попробовать обучение глубоко-сеть , чтобы узнатьт тttt-SNE картирование (вы можете услышать доктора ван дер Маатена на ~ 46 'этого видео, предлагающего что-то в этом роде), но, очевидно, простого решения не существует.]

  4. Неполные данные . Собственно -SNE не имеет дело с неполными данными. Справедливости ради, PCA также не работает с ними, но существуют многочисленные расширения PCA для неполных данных (например, вероятностный PCA ), которые являются почти стандартными процедурами моделирования. -SNE в настоящее время не может обрабатывать неполные данные (за исключением, очевидно, обучения сначала вероятностного PCA и передачи результатов ПК в -SNE в качестве входных данных).т тttt

  5. не (слишком) маленький корпус. k -SNE решает проблему, известную как проблема скученности, эффективно, что несколько похожих точек в более высоком измерении коллапсируют друг над другом в более низких измерениях (подробнее здесь ). Теперь, когда вы увеличиваете размеры, проблема переполнения становится менее серьезной, т.е. проблема, которую вы пытаетесь решить с помощью -SNE, ослабевает. Вы можете обойти эту проблему, но это не тривиально. Поэтому, если вам нужен мерный вектор в качестве приведенного множества, а не совсем мало, оптимальность производственного решения находится под вопросом. PCA с другой стороны , предложение всегдат к к кttkkkобъяснена лучшая линейная комбинация с точки зрения дисперсии. (Спасибо @amoeba за то, что заметил, что напутал, когда впервые попытался обрисовать этот момент.)

Я не упоминаю вопросы о вычислительных требованиях (например, скорость или объем памяти), а также вопросы выбора соответствующих гиперпараметров (например, растерянность). Я думаю, что это внутренние проблемы методологии SNE, которые не имеют отношения к сравнению с другим алгоритмом.t

Подводя итог, можно сказать , что SNE - это замечательно, но, поскольку все алгоритмы имеют свои ограничения, когда речь заходит о его применимости. Я использую -SNE почти в любом новом наборе данных, который я получаю в качестве пояснительного инструмента анализа данных. Хотя я думаю, что он имеет определенные ограничения, которые не делают его почти таким же применимым, как PCA. Позвольте мне подчеркнуть, что PCA также не идеален; например, визуализация на основе PCA часто уступает визуализации SNE.т тttt


@amoeba: я убрал вопрос, потому что это становилось слишком трудоемким; Я был в основном мотивирован идеей о том, что SNE имеет проблемы, связанные с тем, что проблема скученности является менее серьезной при использовании более высоких измерений (вместо ), и, таким образом, предлагая запутанные идеи, но я перепутал точку, в которой я был пытаюсь сделать. Кроме того, поскольку реконструкция возможна из LLE (Roweis & Saul, 2000), почему t-SNE не сможет сделать это? k = 2 , 3 , 4tk=2,3,4
usεr11852 говорит восстановить Monic

@amoeba: Спасибо, что упомянули об этом. Я обновил свой ответ соответственно.
usεr11852 говорит восстановить Monic

3
Что касается вашего пункта № 3: вот статья 2009 года о параметрическом t-sne lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf . Кажется, что это не очень хорошо (у него в 25 раз меньше ссылок, чем в оригинальной статье t-sne), но на самом деле это довольно легко реализовать с помощью современных технологий / библиотек. У меня есть это и работает в Керасе; Я работал над исследованием (и, возможно, расширением) этого в последние недели.
говорит амеба: восстанови Монику

Круто! (+1) Если вы получите плавающую предварительную печать arXiv, пожалуйста, дайте мне знать (здесь или в 10 раз), мне будет очень интересно узнать о результатах. Да, я видел эту статью во время написания этого ответа (я бы сказал, что это действительно известная статья), но, как вы сказали, она не была рассмотрена. Кроме того, пункт № 3 остается в силе: вам нужно создать DNN, чтобы получить что-то, что предлагает PCA через единый матричный перекрестный продукт.
usεr11852 говорит восстановить Monic

12

https://stats.stackexchange.com/a/249520/7828

отличный общий ответ.

Я хотел бы сосредоточиться немного больше на вашей проблеме. Вы, очевидно, хотите увидеть, как ваши выборки соотносятся с вашими 7 входными переменными. Это то, что t-SNE не делает. Идея SNE и t-SNE состоит в том, чтобы расположить соседей близко друг к другу, (почти) полностью игнорируя глобальную структуру.

Это отлично подходит для визуализации, потому что похожие элементы могут быть нанесены рядом друг с другом (а не друг на друга, см. Скученность).

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

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


Ах, это именно то, что я предположил. Меня интересует не то, как точки данных расположены в пространстве, а то, как сами меры связаны друг с другом. Конечно, эти две вещи связаны, но с точки зрения визуализации и интерпретации этих отношений, я подозреваю, что только PCA делает то, что я хочу. Например, между показателями существуют как положительные, так и отрицательные отношения, и что меня действительно интересует, так это абсолютная ценность ассоциаций, которые, опять же, я думаю, легче интерпретировать / посмотреть, использую ли я PCA.
user3744206

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

Можем ли мы использовать T-SNE для проблем кластера? Насколько я понимаю, мы можем спроецировать новую наступающую точку и попытаться сгруппировать в более низкие измерения? Является ли это возможным ?
Catbuilts

Нет. Поскольку tSNE не является линейным, вы не можете просто вычислить его для новых данных (см. Выше). И было нелегкое обсуждение того, что может также вводить в заблуждение кластеризация проецируемых данных.
Anony-Mousse

1

Чтобы дать один примененный угол, PCA и t-SNE не являются взаимоисключающими. В некоторых областях биологии мы имеем дело с многомерными данными (например, scRNA-seq - тысячи измерений), где t-SNE просто не масштабируется. Поэтому сначала мы используем PCA, чтобы уменьшить размерность данных, а затем, взяв верхние принципиальные компоненты, вычисляем граф окрестностей, а затем встраиваем этот график в 2-х измерениях, используя t-SNE (или аналогичный метод нелинейного уменьшения размерности. как UMAP) для визуализации данных.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.