Czy można porównać różne metody klastrowania w zbiorze danych bez prawdziwej prawdy poprzez wzajemną weryfikację?


12

Obecnie próbuję przeanalizować zestaw danych dokumentu tekstowego, który nie ma podstawowej prawdy. Powiedziano mi, że możesz użyć k-krotnego sprawdzania poprawności, aby porównać różne metody klastrowania. Jednak przykłady, które widziałem w przeszłości, wykorzystują podstawową prawdę. Czy istnieje sposób na użycie zestawu K-fold w tym zestawie danych do zweryfikowania moich wyników?

Odpowiedzi:


12

Jedyne zastosowanie walidacji krzyżowej do klastrowania, o którym wiem, to:

  1. Podziel próbkę na 4 częściowy zestaw treningowy i 1 częściowy zestaw testowy.

  2. Zastosuj metodę grupowania do zestawu treningowego.

  3. Zastosuj go również do zestawu testowego.

  4. Użyj wyników z kroku 2, aby przypisać każdą obserwację w zestawie testowym do klastra zestawu treningowego (np. Najbliższy środek ciężkości dla k-średnich).

  5. W zestawie testowym policz dla każdej grupy od kroku 3 liczbę par obserwacji w tej grupie, w której każda para jest również w tej samej grupie zgodnie z krokiem 4 (unikając w ten sposób problemu identyfikacji klastra wskazanego przez @cbeleites). Podziel przez liczbę par w każdym klastrze, aby uzyskać proporcję. Najniższy odsetek we wszystkich klastrach jest miarą tego, jak dobra jest metoda w przewidywaniu przynależności do klastrów dla nowych próbek.

  6. Powtórz krok 1 z różnymi częściami w zestawach treningowych i testowych, aby uzyskać 5-krotność.

Tibshirani i Walther (2005), „Cluster Validation by Prediction Strength”, Journal of Computational and Graphical Statistics , 14 , 3.


czy możesz wyjaśnić, czym jest para obserwacji (i dlaczego przede wszystkim korzystamy z pary obserwacji)? Ponadto, w jaki sposób możemy zdefiniować, czym jest „ten sam klaster” w zestawie szkoleniowym w porównaniu do zestawu testowego? Przejrzałem artykuł, ale nie wpadłem na pomysł.
Tanguy

1
@Tanguy: bierzesz pod uwagę wszystkie pary - jeśli obserwacje to A, B i C, pary to {A, B}, {A, C} i {B, C} - i nie próbujesz zdefiniować „ ten sam klaster ”w zestawach pociągów i testów, które zawierają różne obserwacje. Raczej porównujesz dwa rozwiązania klastrowania zastosowane do zestawu testowego (jedno wygenerowane z zestawu szkoleniowego i jedno z samego zestawu testowego), sprawdzając, jak często zgadzają się w jednoczeniu lub rozdzielaniu członków każdej pary.
Scortchi - Przywróć Monikę

ok, to dwie macierze pary obserwacji, jedna na zestawie, jedna na zestawie, są porównywane ze miarą podobieństwa?
Tanguy

@Tanguy: Nie, bierzesz pod uwagę tylko pary obserwacji w zestawie testowym.
Scortchi - Przywróć Monikę

przepraszam, nie byłem wystarczająco jasny. Należy wziąć całą parę obserwacji zestawu testowego, z których można zbudować macierz wypełnioną 0 i 1 (0, jeśli para obserwacji nie leży w tej samej grupie, 1 jeśli tak jest). Obliczane są dwie macierze, ponieważ patrzymy na parę obserwacji dla klastrów uzyskanych z zestawu treningowego i zestawu testowego. Podobieństwo tych dwóch macierzy jest następnie mierzone za pomocą pewnej miary. Mam rację?
Tanguy

7

Próbuję zrozumieć, w jaki sposób zastosowałbyś walidację krzyżową do metody klastrowania, takiej jak k-średnie, ponieważ nowe nadchodzące dane zmienią centroid, a nawet rozkłady klastrowania na istniejącym.

Jeśli chodzi o nienadzorowane sprawdzanie poprawności klastrowania, może być konieczne oszacowanie stabilności algorytmów przy użyciu innego numeru klastra na ponownie próbkowanych danych.

Podstawową ideę stabilności klastrowania pokazano na poniższym rysunku:

wprowadź opis zdjęcia tutaj

Można zauważyć, że przy liczbie klastrów 2 lub 5 istnieją co najmniej dwa różne wyniki klastrowania (patrz dzielące linie kreskowe na rysunkach), ale przy liczbie klastrowania 4 wynik jest względnie stabilny.

Stabilność grupowania: pomocne może być omówienie Ulrike von Luxburg .


7

k

Dla ułatwienia wyjaśnień i jasności zainicjowałbym klastrowanie.

Ogólnie rzecz biorąc, możesz użyć takich ponownie próbkowanych klastrów, aby zmierzyć stabilność swojego rozwiązania: czy w ogóle się nie zmienia, czy całkowicie się zmienia?

Nawet jeśli nie masz podstawowej prawdy, możesz oczywiście porównać klastrowanie wynikające z różnych przebiegów tej samej metody (ponowne próbkowanie) lub wyniki różnych algorytmów klastrowania, np. Poprzez zestawienie:

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

ponieważ klastry są nominalne, ich kolejność może się zmieniać dowolnie. Ale to oznacza, że ​​możesz zmienić kolejność, aby klastry odpowiadały. Następnie elementy ukośne * liczą przypadki przypisane do tego samego klastra, a elementy nie przekątne pokazują, w jaki sposób zmieniły się przypisania:

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

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

Powiedziałbym, że ponowne próbkowanie jest dobre, aby ustalić, jak stabilne jest twoje grupowanie w ramach każdej metody. Bez tego porównywanie wyników z innymi metodami nie ma większego sensu.

i,i


Nie łączysz walidacji krzyżowej k-fold z klastrowaniem k-średnich, prawda?


0

Opublikowano niedawno publikację na temat metody walidacji dwukrotnej do określania liczby klastrów tutaj .

i ktoś próbuje wdrożyć za pomocą sci-kit, dowiedz się tutaj .

72D

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.