Коли ми поєднуємо зменшення розмірності з кластеризацією?


16

Я намагаюся виконати кластеризацію на рівні документа. Я сконструював частотну матрицю терміна-документ і намагаюся кластеризувати ці великі розмірні вектори за допомогою k-засобів. Замість того, щоб безпосередньо кластеризувати, я спершу застосував сингулярний векторний розпад LSA (Latent Semantic Analysis) для отримання матриць U, S, Vt, вибрав відповідний поріг за допомогою діаграми екрана та застосував кластеризацію на зменшених матрицях (зокрема Vt, оскільки це дає мені інформацію про концепцію документа), яка, здавалося, дає хороші результати.

Я чув, як деякі люди кажуть, що SVD (сингулярне розкладання вектора) є кластеризацією (за допомогою вимірювання подібності косинусу тощо) і не був впевнений, чи зможу я застосувати k-засоби на виході SVD. Я вважав, що це логічно правильно, тому що SVD - техніка зменшення розмірності, дає мені купу нових векторів. k-означає, з іншого боку, візьме кількість кластерів як вхідний і розділить ці вектори на вказану кількість кластерів. Чи є ця процедура хибною чи є шляхи, за допомогою яких це можна вдосконалити? Будь-які пропозиції?


Гарне питання. особисто я думав про ці речі. але не маю гарної відповіді.
suncoolsu

1
Існують методи, які одночасно виконують зменшення розмірності та кластеризацію. Ці методи шукають оптимально обране низькомірне представлення, щоб полегшити ідентифікацію кластерів. Наприклад, див. Пакет clustrd в R та пов'язані з ним посилання.
Nat

Відповіді:


6

Це аж ніяк не повна відповідь. Питання, яке вам слід задати, - "які відстані зберігаються при зменшенні розмірності?". Оскільки алгоритми кластеризації, такі як K-засоби, працюють лише на відстанях, то правильною метрикою відстані, яка використовується (теоретично), є метрика відстані, яка зберігається за рахунок зменшення розмірності. Таким чином, крок зменшення розмірності можна розглядати як обчислювальний ярлик для кластеризації даних у просторі з меншими розмірами. (також уникати місцевих мінімумів тощо)

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


+1 Це дуже цікаве питання. Чи може в такому випадку Евклідовим вважатись однією з таких метрик? У міру зменшення розмірності точки проектуються в простір з меншими розмірами, але це може означати, що поняття відстані може бути втрачено. Мені важко зрозуміти, як можна зберегти відстані при використанні таких скорочень.
Легенда

1
Я думаю, що ця відповідь в основному правильна. Ви хочете знайти деяке вбудовування в менший простір, який зберігає відстані (для деякого поняття відстані). Два хороших алгоритми перевірки - це Isomap та локально-лінійне вбудовування . "Збереження сусідства" здається хорошим підходом, якщо ваша мета - це згрупування.
Ступчастий Джо Піт

5

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.