Когда мы объединяем уменьшение размерности с кластеризацией?

16

Я пытаюсь выполнить кластеризацию на уровне документов. Я построил матрицу частот термина-документа, и я пытаюсь кластеризовать эти высокоразмерные векторы с помощью k-средних. Вместо непосредственной кластеризации я сначала применил разложение сингулярных векторов LSA (скрытый семантический анализ) для получения матриц U, S, Vt, выбрал подходящий порог с использованием графика осей и применил кластеризацию к уменьшенным матрицам (особенно Vt, потому что это дает мне информацию о концептуальном документе), которая, казалось, дает мне хорошие результаты.

Я слышал, что некоторые люди говорят, что SVD (разложение по сингулярному вектору) является кластеризацией (используя меру косинусного сходства и т. Д.), И не был уверен, смогу ли я применить k-средства на выходе SVD. Я думал, что это логически правильно, потому что SVD - это метод уменьшения размерности, который дает мне кучу новых векторов. k-means, с другой стороны, примет количество кластеров в качестве входных данных и разделит эти векторы на указанное количество кластеров. Эта процедура ошибочна или есть способы, которыми это можно улучшить? Какие-либо предложения?

легенда
источник
хороший вопрос. лично я думал об этих вещах. но не имею хорошего ответа.
Suncoolsu
1
Существуют методы, которые одновременно выполняют уменьшение размерности и кластеризацию. Эти методы ищут оптимально выбранное низкоразмерное представление, чтобы облегчить идентификацию кластеров. Например, см. Пакет clustrd в R и соответствующие ссылки.
Nat

Ответы:

6

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

Здесь есть много тонкостей, которые я не буду притворяться, чтобы понять, (локальные расстояния против глобальных расстояний, как относительные расстояния искажены и т. Д.), Но я думаю, что это правильное направление, чтобы думать об этих вещах теоретически.

gabgoh
источник
+1 Это очень интересный взгляд на вопрос. В таком случае, можно ли считать евклидову одной из таких метрик? По мере уменьшения размерности точки проецируются в пространство меньшего размера, но это может означать, что понятие расстояния может быть потеряно. Мне трудно понять, как можно сохранить расстояния при использовании подобных сокращений.
Легенда
1
Я думаю, что этот ответ в основном правильный. Вы хотите найти вложение в меньшем пространстве, которое сохраняет расстояния (для некоторого понятия расстояния). Два хороших алгоритма, чтобы проверить это Isomap и локально-линейное вложение . «Сохранение соседства» кажется хорошим подходом, если ваша цель - кластеризация.
Stumpy Джо Пит
5

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

ttnphns
источник