Я изучаю различные методы, используемые в кластеризации документов, и я хотел бы прояснить некоторые сомнения, касающиеся PCA (анализ главных компонентов) и LSA (скрытый семантический анализ).
Первое - какие различия между ними? Я знаю, что в PCA декомпозиция SVD применяется к матрице терминов-ковариаций, в то время как в LSA это матрица терминов-документов. Есть ли еще что-нибудь?
Второе - какова их роль в процедуре кластеризации документов? Из того, что я прочитал до сих пор, я делаю вывод, что их целью является уменьшение размерности, уменьшение шума и включение отношений между терминами в представление. После выполнения PCA или LSA традиционные алгоритмы, такие как k-средства или агломерационные методы, применяются к сокращенному пространству терминов, и используются типичные меры подобия, такие как косинусное расстояние. Пожалуйста, поправьте меня, если я ошибаюсь.
Третье - имеет ли значение, если векторы терминов TF / IDF были нормализованы до применения PCA / LSA или нет? И должны ли они после этого снова нормализоваться?
В-четвертых, допустим, я провел некоторую кластеризацию по пространству терминов, сокращенному с помощью LSA / PCA. Теперь, как мне назначить метки для кластеров результатов? Поскольку размеры не соответствуют реальным словам, это довольно сложный вопрос. Единственная идея, которая приходит мне в голову, - это вычисление центроидов для каждого кластера с использованием оригинальных векторов терминов и выбор терминов с максимальным весом, но это звучит не очень эффективно. Есть ли конкретные решения для этой проблемы? Я не смог ничего найти.
Я буду очень благодарен за разъяснение этих вопросов.
источник
Ответы:
источник
LSI вычисляется по матрице терминов-документов, в то время как PCA рассчитывается по ковариационной матрице, что означает, что LSI пытается найти лучшее линейное подпространство для описания набора данных, в то время как PCA пытается найти лучшее параллельное линейное подпространство.
источник
Просто продолжение ответа Расселпирса.
1) По сути, LSA - это PCA, применяемый к текстовым данным. При использовании SVD для PCA он применяется не к ковариационной матрице, а непосредственно к матрице признаков-образцов, которая является просто матрицей терминологических документов в LSA. Разница в том, что PCA часто требует функциональной нормализации данных, а LSA - нет.
Есть хорошая лекция Эндрю Нг, которая иллюстрирует связь между PCA и LSA.
2/3) Поскольку данные документа имеют различную длину, обычно полезно нормализовать величину. Здесь должна использоваться выборочная нормализация, а не функциональная нормализация. На практике я нашел полезным нормализовать как до, так и после LSI.
Если метрика алгоритма кластеризации не зависит от величины (скажем, косинусного расстояния), то последний шаг нормализации может быть опущен.
4) Похоже, что это вообще сложная задача - получить значимые метки из кластеров. Некоторые люди извлекают термины / фразы, которые максимизируют разницу в распределении между корпусом и кластером. Другой способ - использовать кластеризацию с полууправлением и предварительно заданными метками.
источник