Чи можете ви порівняти різні методи кластеризації на наборі даних без основної істини шляхом перехресної перевірки?


12

На даний момент я намагаюся проаналізувати набір даних текстових документів, які не мають основної істини. Мені сказали, що ви можете використовувати k-кратну перехресну перевірку для порівняння різних методів кластеризації. Однак у прикладах, які я бачив у минулому, використовується основна правда. Чи можна використовувати засоби k-fold на цьому наборі даних для підтвердження результатів?

Відповіді:


12

Єдине застосування перехресної перевірки до кластеризації, про яке я знаю, це це:

  1. Розділіть зразок на навчальний набір на 4 частини та тестовий набір з 1 частиною.

  2. Застосуйте свій метод кластеризації до навчального набору.

  3. Застосуйте його також до тестового набору.

  4. Використовуйте результати з кроку 2, щоб призначити кожне спостереження в тестовому наборі кластеру навчальних наборів (наприклад, найближчому центророду для k-засобів).

  5. У наборі тестування підрахуйте для кожного кластеру з кроку 3 кількість пар спостережень у цьому кластері, де кожна пара також знаходиться в одному кластері відповідно до кроку 4 (таким чином, уникаючи проблеми ідентифікації кластера, вказаної @cbeleites). Розділіть на кількість пар у кожному кластері, щоб дати пропорцію. Найнижча частка всіх кластерів - це міра того, наскільки хороший метод при прогнозуванні членства в нових кластерах.

  6. Повторіть крок 1 з різними частинами в навчальних і тестових наборах, щоб зробити його в 5 разів.

Tibshirani & Walther (2005), "Валідація кластерів за силою прогнозування", Журнал обчислювальної та графічної статистики , 14 , 3.


Ви можете далі пояснити, що таке спостереження (і чому ми в першу чергу використовуємо пару спостережень)? Крім того, як ми можемо визначити, що таке "той самий кластер" у навчальному наборі порівняно з тестовим набором? Я переглянув статтю, але не здобув ідеї.
Тангуй

1
@Tanguy: Ви враховуєте всі пари - якщо спостереження A, B і C, пари - {A, B}, {A, C}, & {B, C} -, і ви не намагаєтеся визначити " один і той же кластер "для поїздів і тестових наборів, які містять різні спостереження. Швидше ви порівнюєте два рішення кластеризації, застосовані до тестового набору (одне генерується з навчального набору та одне з самого тестового набору), дивлячись, як часто вони погоджуються при об'єднанні або розділенні членів кожної пари.
Scortchi

ок, тоді дві матриці пари спостережень, одна на поїзді, одна на тестовому наборі, порівнюються з мірою подібності?
Тангуй

@Tanguy: Ні, ви розглядаєте лише пари спостережень у тестовому наборі.
Scortchi

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

7

Я намагаюся зрозуміти, як би ви застосували перехресну перевірку до методу кластеризації, такого як k-засоби, оскільки нові надходять дані змінять центроїд і навіть кластерні дистрибутиви на вашому існуючому.

Щодо непідтвердженої перевірки кластеризації, можливо, вам доведеться кількісно оцінити стабільність ваших алгоритмів з різним номером кластера на повторно вибіркових даних.

Основна ідея стабільності кластеризації може бути показана на малюнку нижче:

введіть тут опис зображення

Ви можете помітити, що при кількості кластеризації 2 або 5 є щонайменше два різні результати кластеризації (див. Розділові штрихові лінії на малюнках), проте при кількості кластеризації 4 результат є відносно стабільним.

Стабільність кластеризації: огляд Ульріке фон Люксбург може бути корисним.


7

к кратної перехресної перевірки, генерує "нові" набори даних, які відрізняються від вихідного набору даних, видаляючи кілька випадків.

Для зручності пояснення та ясності я б завантажував кластеризацію.

Взагалі, ви можете використовувати такі перекомпоновані кластери, щоб виміряти стабільність вашого рішення: чи він навряд чи зміниться або він повністю змінюється?

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

km1 <- kmeans (iris [, 1:4], 3)
km2 <- kmeans (iris [, 1:4], 3)
table (km1$cluster, km2$cluster)

#      1  2  3
#   1 96  0  0
#   2  0  0 33
#   3  0 21  0

оскільки кластери номінальні, їх порядок може змінюватися довільно. Але це означає, що вам дозволяється змінювати порядок, щоб кластери відповідали. Тоді діагональні * елементи підраховують випадки, які присвоєні одному кластеру, а недіагональні елементи показують, яким чином змінилися призначення:

table (km1$cluster, km2$cluster)[c (1, 3, 2), ]

#      1  2  3
#   1 96  0  0
#   3  0 21  0
#   2  0  0 33

Я б сказав, що перекомпонування є гарним для того, щоб встановити, наскільки стабільною є ваша кластеризація у кожному методі. Без цього не має великого сенсу порівнювати результати з іншими методами.

i,i


Ви не змішуєте k-кратну перехресну перевірку і k-означає кластеризацію, чи не так?


0

Там останнім часом з публікації про метод перевірки бі-навхрест для визначення числа кластерів тут .

і хтось намагається реалізувати наукові програми, які навчаються тут .

72D

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