Pytanie, które k-means nie może samodzielnie odpowiedzieć
Sklearn k-means ma znane słabe miejsce: musisz powiedzieć mu, ile grup znaleźć ma, zanim zacznie działać. Podaj trzy, a on bez wahania podzieli Twoje dane na trzy grupy, niezależnie od tego, czy trzy jest właściwym liczbą. Podaj osiem, a on równie pewnie stworzy osiem grup, niektóre z nich będą niestosowne przekroje przez to, co powinno być pojedynczym naturalnym grupem. Algorytm nie ma wbudowanej wiedzy o tym, że jest za dużo lub za mało grup — wie tylko, jak minimalizować odległość między punktem a jego przydzielonym centroidem, dla zadanego k. Dobrze wybranie k to oddzielna problema, która leży poza samym algorytmem, i dwa metody dominują w tym, jak zwykle jest rozwiązywane: metoda łokcia i skoroszycowy wynik.
Metoda kolana: obserwacja zaniknięcia inertii
K-means dla ustalonego k próbuje minimalizować wielkość inertii (także nazywaną sumą kwadratów wewnątrz klastrów): całkowitą odległość kwadratową między każdym punktem a centroidem klastra, do którego został przypisany. Inertia zawsze maleje przy rosnącym k — więcej klastrów oznacza, że każdy centroid musi pokrywać mniejszą obszar, a w ekstremalnym przypadku, gdy k równa się liczbie punktów danych, inertii osiąga zero, ponieważ każdy punkt jest własnym klastrów. Inertia sama po sobie nie może być użyta do wyboru k; zawsze by powiedziała, aby wybrać największą wartość k, której można się dopłacić.
Metoda kolana okrąża ten problem poprzez badanie kształtu spadku inertii zamiast jej końcowej wartości. Uruchom k-means dla zakresu wartości k — powszechnie od 1 do 10 — zapisz inertię na każdym poziomie i narysuj inertię w zależności od k. Wczesniej, dodanie klastra zwykle pozwala na zidentyfikowanie rzeczywistej struktury i inertii spada gwałtownie. Po jakimś punkcie, dodatkowe klastry głównie podziałują już koherentne grupy, a inertii kontynuuje się maleć, ale znacznie wolniej. Narysowana krzywa zwykle ma kształt zginutej ręki, spadającej gwałtownie i nawiązującej do długiej, płaskiej ogonu, a „kolano” — punkt, w którym spadek gwałtowny ustępuje płaskiemu ogonowi — czyta się jako przyjazny estymator liczby klastrów rzeczywistej w danych.
Słabość metody kolana polega na tym, że zginanie jest często niejasne. Na rzeczywistych i szumowych danych — takich jak dochód i wydatki klientów, a nie idealnie oddzielonych skupień z podręcznika szkolnego — krzywa często ginie gładko zamiast gwałtownie, a dwoje analistów patrząc na tę samą krzywą może uznać, że kolano znajduje się w k=3 lub k=4. Jest to przydatne pierwsze podejście, ale nie końcowy odpowiedź.
Ocena sklejki przez stopień siluety: ocena dopasowania dla każdego pojedynczego punktu
Metoda stopnia siluety podejmuje problem inaczej: zamiast analizować jedno agresywniejsze liczbowe wyrażenie dla całego sklejkowania, ocenia jak dobrze każdy pojedynczy punkt pasuje do klastra, do którego został przypisany. Dla danego punktu oblicza ona dwie wartości: a, średnią odległość do wszystkich innych punktów w tym samym klastrze, oraz b, średnią odległość do wszystkich punktów w najbliższym innym klastrze (najlepszej alternatywnej klasyfikacji, do której punkt mógłby zostać przypisany). Wartość siluety dla danego punktu wynosi (b − a) podzielone przez większą z a lub b, co daje liczbę z zakresu od -1 do 1.
Interpretacja jest intuicyjna po zapoznaniu się z kształtowaniem się wzoru. Wartość bliska +1 oznacza, że punkt jest znacznie bliższy swojemu klastrze niż do najbliższego alternatywnego klastra — pewny i dobrze umieszczony członek. Wartość bliska 0 oznacza, że punkt znajduje się w przybliżonym południu między dwoma klastrami, nie lepiej pasując do jednego niż do drugiego. Negatywna wartość oznacza, że punkt jest na średnim planie bliższy innemu klastrze niż do tego, do którego został przypisany — sygnał, że sklejkowanie, co do tego punktu, jest niepoprawne. Średnica z tych wartości dla każdego punktu w zestawie danych daje ogólny stopień siluety dla danego k, a k, który powoduje najwyższą średnią wartość stopnia siluety, jest tym, który należy preferować, wszystko inne równe.
Został to obliczony na podstawie każdego punktu i sredni, metoda stopnia siluety obsługuje również diagnostykę, której nie może zapewnić metoda łokcia: rysowanie rozkładu indywidualnych wartości stopnia siluety w każdym klastrze. Klastrowanie, w którym większość punktów ma zdrowe i dodatnie wartości stopnia siluety, jest dobrze zdefiniowane; klastrowanie, w którym wiele punktów sięga blisko zera lub spada poniżej niego, jest kandydatem do podziału, połączenia z sąsiadującym klastrami lub prostej klasyfikacji jako nieistniejące.
Używanie obu metod razem i gdzie skalowanie i wyjatki zmieniają odpowiedź
Obie metody są dopełniające, a nie nadmiernie zastępujące się. Praktyczny przepływ pracy polega na wykonaniu metody kolana w celu ograniczenia możliwego zakresu k do „coś między 1 a 10” do krótkiej listy dwóch lub trzech kandydatów, a następnie obliczeniu indeksu silhouette dla każdego z tych kandydatów i pozostawieniu decyzji na jego łono, ponieważ ona bezpośrednio pomierza jakość klastrów zamiast nieprzezroczystego proxy takiego jak kształt krzywej. Jest popularne, że obie metody mogą się nie zgadzać — kolano może sugerować k=4, a indeks silhouette osiąga maksimum dla k=3 — i gdy tak jest, warto wizualizować oba klasterowania zamiast bezwzględnie zaufać żadnej liczbie, ponieważ szczyt metryki wygenerujący klastry bez jasno określonego znaczenia rzeczywistego nie jest na prawdę pomocny, nawet jeśli wygląda on tak czysto statystycznie.
Obie metody są wrażliwe na dwa aspekty, które łatwo można przegapić. Pierwszy to skalowanie cech: ponieważ zarówno inercja, jak i indeks silhouette opiera się na odległości euklidesowej, wykonywanie ich na nieprzeliniowanych danych — gdzie jedna cecha obejmuje setki tysięcy a druga tylko kilka dziesiątek — pozwala dużej skalnej cechie dominować w wyniku prawie całkowicie, a „optimalny” k znaleziony tym sposobem jest rzeczywiście optimalnym k dla tej jednej cechy. Standardowe przeliczanie cech przed ich wykorzystaniem jest prawie koniecznością. Drugi to wyjatki: kilka ekstremalnych punktów może zniekształcić obie krzywe, nadmiernie podnosiąc inercję przy niskich k i spadkując silhoutet score dla całego zestawu danych nawet jeśli większość klastrowania jest solidna. Zdolność do wykrywania i przeprowadzania na wyjatkach przed wykonaniem dowolnego diagnostycznego — powszechnie z metoda IQR lub lasem izolacji — jest standardową praktyką dokładnie dlatego, że pomijanie tego kroku może prowadzić do różnych, zarówno błędnych, wniosków o k przez metodę kolana i indeks silhouette.
Często zadawane pytania
Dlaczego nie mogę prostym sposobem wybrać k z najniższą inertią?
Bo inertja maleje monotonicznie wraz ze wzrostem k — przy wystarczającej liczbie klastrów, każdy punkt może stać się własnym klastrów i inertja spadnie do zera. Najniższa inertja jest zawsze osiągana dla największego k, który chcesz spróbować, co przeciwnie do celu. Metoda kolana szuka miejsca, gdzie stopniowana jest szybkość zmniejszenia się inertii, a nie wartości bezwzględnej.
Co oznacza wartość silhoutta ujemna dla konkretnego punktu?
Oznacza to, że dany punkt jest na średnim odleglejszy od punktów w innym klastrze niż od punktów w klastrze do którego został przypisany. Jest to znak tego, że dany punkt był nieprawidłowo przypisany, lub że ogólna wybrana wartość k zmusiła do niewygodnej podziału w pobliżu.
Czy należy skalować cechy przed użyciem metody kolana i oceny silhoutta?
Tak. Oba są oparte na odległości euklidesowej, więc cecha z większym zakresem numerycznym dominuje w obliczeniu odległości i skojarza się z tym k, który jest optymalny dla tej jednej cechy. Standardizacja wszystkich cech do porównywalnego zakresu jest standardową praktyką.
Co powinienem zrobić, jeśli metoda kolana i ocena silhoutta zgadzają się na inny k?
Oblicz ocenę silhoutta dla obu propozycji kandydatów i podglądaj wizualnie wynikowe klastry, lub wykres silhoutta na poziomie punktów. Ocena silhoutta jest bezpośrednim miernikiem jakości klastrów, ale ostateczne podejście powinno również uwzględniać czy klasy wynikające z nich mają sens dla danego problemu — wyższa statystyczna ocena nie jest przydatna, jeśli klasy, które ona tworzy, są niewyjaśnione.
Czy powinny być usunięte wyjatki przed obliczeniem krzywej kolana lub oceny silhoutta?
Zazwyczaj zalecane. Mała liczba ekstremalnych punktów może zniekształcić inertię i opuścić średnią wartość silhoutta na całym zestawie danych, prowadząc do nieprawidłowych wyników dla k. Znalezienie i obsługa wyjatków, często za pomocą metody IQR, przed obliczeniem dowolnego diagnostyki daje czystszą ocenę liczby klastrów rzeczywiście obecnych.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Silhouette Score and the Elbow Method i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Silhouette Score and the Elbow Method