LSA против PCA (кластеризация документов)

25

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

Первое - какие различия между ними? Я знаю, что в PCA декомпозиция SVD применяется к матрице терминов-ковариаций, в то время как в LSA это матрица терминов-документов. Есть ли еще что-нибудь?

Второе - какова их роль в процедуре кластеризации документов? Из того, что я прочитал до сих пор, я делаю вывод, что их целью является уменьшение размерности, уменьшение шума и включение отношений между терминами в представление. После выполнения PCA или LSA традиционные алгоритмы, такие как k-средства или агломерационные методы, применяются к сокращенному пространству терминов, и используются типичные меры подобия, такие как косинусное расстояние. Пожалуйста, поправьте меня, если я ошибаюсь.

Третье - имеет ли значение, если векторы терминов TF / IDF были нормализованы до применения PCA / LSA или нет? И должны ли они после этого снова нормализоваться?

В-четвертых, допустим, я провел некоторую кластеризацию по пространству терминов, сокращенному с помощью LSA / PCA. Теперь, как мне назначить метки для кластеров результатов? Поскольку размеры не соответствуют реальным словам, это довольно сложный вопрос. Единственная идея, которая приходит мне в голову, - это вычисление центроидов для каждого кластера с использованием оригинальных векторов терминов и выбор терминов с максимальным весом, но это звучит не очень эффективно. Есть ли конкретные решения для этой проблемы? Я не смог ничего найти.

Я буду очень благодарен за разъяснение этих вопросов.

user1315305
источник
LSA или LSI: одинаковые или разные? Если вы имеете в виду LSI = скрытое семантическое индексирование, пожалуйста, исправьте и стандартизируйте.
Ник Кокс
3
LSI и LSA - это разные вещи? Я думал, что они эквивалентны.
user1315305
1
Не имею представления; смысл (пожалуйста) использовать один термин для одной вещи, а не для двух; в противном случае ваш вопрос еще сложнее понять.
Ник Кокс
Хорошо, я исправил это уже. Спасибо за указание на это :)
user1315305
3
Википедия создает впечатление, что LSA = LSI. Но LSI - это анализ соответствия (CA). CA - это термин статистического анализа, как и PCA, а LSI / LSA - термин для анализа текста. Итак, ищите статьи, сравнивающие PCA и CA.
ttnphns

Ответы:

8
  1. PCA и LSA - оба анализа, которые используют SVD. PCA является общим классом анализа и в принципе может применяться к перечисленным текстовым корпусам различными способами. В отличие от этого, LSA является очень четко определенным средством анализа и сокращения текста. Оба используют идею, что значение может быть извлечено из контекста. В АЛП контекст предоставляется в числах через матрицу терминологического документа. В PCA предложенный вами контекст представлен в числах посредством предоставления термина ковариационной матрицы (подробности создания которого, вероятно, могут рассказать вам гораздо больше о взаимоотношениях между вашим PCA и LSA). Вы можете посмотреть здесь для более подробной информации.
  2. Вы в основном здесь на ходу. Точные причины их использования будут зависеть от контекста и целей человека, играющего с данными.
  3. Ответ, вероятно, будет зависеть от реализации процедуры, которую вы используете.
  4. Тщательно и с большим искусством. Большинство считает размеры этих семантических моделей непонятными. Обратите внимание, что вы почти наверняка ожидаете, что будет более одного базового измерения. Когда в факторном анализе существует более одного измерения, мы вращаем факторное решение, чтобы получить интерпретируемые факторы. Однако по некоторым причинам это обычно не делается для этих моделей. Ваш подход звучит как принципиальный способ начать ваше искусство ... хотя я был бы менее чем уверен, что масштабирование между измерениями достаточно похоже, чтобы доверять решению кластерного анализа. Если вы хотите поиграть со смыслом, вы можете также рассмотреть более простой подход, при котором векторы имеют прямую связь с конкретными словами, например, HAL .
russellpierce
источник
6

LSI вычисляется по матрице терминов-документов, в то время как PCA рассчитывается по ковариационной матрице, что означает, что LSI пытается найти лучшее линейное подпространство для описания набора данных, в то время как PCA пытается найти лучшее параллельное линейное подпространство.

Гаурав Сингх
источник
4
Ник, не могли бы вы подробнее рассказать о разнице между лучшим линейным подпространством и лучшим параллельным линейным подпространством? Это связано с ортогональностью? Должен ли я задать их как новый вопрос?
Russellpierce
1
Лучший в каком смысле? Минимизирует ли Фробиниус норму ошибки реконструкции? В таком случае, для меня это звучит как PCA.
Андрей М
2

Просто продолжение ответа Расселпирса.

1) По сути, LSA - это PCA, применяемый к текстовым данным. При использовании SVD для PCA он применяется не к ковариационной матрице, а непосредственно к матрице признаков-образцов, которая является просто матрицей терминологических документов в LSA. Разница в том, что PCA часто требует функциональной нормализации данных, а LSA - нет.

Есть хорошая лекция Эндрю Нг, которая иллюстрирует связь между PCA и LSA.

2/3) Поскольку данные документа имеют различную длину, обычно полезно нормализовать величину. Здесь должна использоваться выборочная нормализация, а не функциональная нормализация. На практике я нашел полезным нормализовать как до, так и после LSI.

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

4) Похоже, что это вообще сложная задача - получить значимые метки из кластеров. Некоторые люди извлекают термины / фразы, которые максимизируют разницу в распределении между корпусом и кластером. Другой способ - использовать кластеризацию с полууправлением и предварительно заданными метками.

dontloo
источник