Cóż za wspaniałe pytanie - jest to okazja, aby pokazać, jak można sprawdzić wady i założenia dowolnej metody statystycznej. Mianowicie: uzupełnij dane i wypróbuj algorytm!
Rozważymy dwa z twoich założeń i zobaczymy, co stanie się z algorytmem k-średnich, gdy te założenia zostaną złamane. Będziemy trzymać się danych dwuwymiarowych, ponieważ jest łatwa do wizualizacji. (Dzięki przekleństwu wymiarowości dodanie dodatkowych wymiarów może sprawić, że problemy te będą poważniejsze, a nie mniej). Będziemy pracować z statystycznym językiem programowania R: pełny kod znajdziesz tutaj (i post w formie bloga tutaj ).
Dywersja: Kwartet Anscombe
Po pierwsze, analogia. Wyobraź sobie, że ktoś argumentował:
Przeczytałem trochę materiału o wadach regresji liniowej - że oczekuje ona liniowego trendu, że reszty są normalnie rozmieszczone i że nie ma żadnych wartości odstających. Ale regresja liniowa minimalizuje sumę błędów kwadratu (SSE) z przewidywanej linii. Jest to problem optymalizacji, który można rozwiązać bez względu na kształt krzywej lub rozkład reszt. Zatem regresja liniowa nie wymaga żadnych założeń do działania.
Cóż, tak, regresja liniowa działa poprzez minimalizację sumy kwadratów reszt. Ale to samo w sobie nie jest celem regresji: staramy się narysować linię, która służy jako wiarygodny, bezstronny predyktor y na podstawie x . Twierdzenie Gaussa-Markowa mówi nam, że minimalizacja SSE osiąga ten cel - ale to twierdzenie opiera się na pewnych bardzo szczegółowych założeniach. Jeśli te założenia zostaną złamane, nadal możesz zminimalizować SSE, ale może się to nie udaćbyle co. Wyobraź sobie, mówiąc: „Prowadzisz samochód, naciskając pedał: jazda jest zasadniczo„ procesem pchania pedału ”. Pedał można naciskać bez względu na ilość gazu w zbiorniku. Dlatego nawet jeśli zbiornik jest pusty, nadal można naciskać pedał i prowadzić samochód. ”
Ale rozmowa jest tania. Spójrzmy na zimne, twarde dane. A właściwie skompilowane dane.
R2)
Można powiedzieć: „Regresja liniowa nadal działa w tych przypadkach, ponieważ minimalizuje sumę kwadratów reszt”. Ale cóż za pirackie zwycięstwo ! Regresja liniowa zawsze rysuje linię, ale jeśli jest to linia bez znaczenia, kogo to obchodzi?
Teraz widzimy, że fakt, że można przeprowadzić optymalizację, nie oznacza, że osiągamy nasz cel. Widzimy, że tworzenie danych i ich wizualizacja to dobry sposób na sprawdzenie założeń modelu. Trzymaj się tej intuicji, za chwilę jej potrzebujemy.
Zerwane założenie: dane niesferyczne
Argumentujesz, że algorytm k-średnich będzie działał dobrze na klastrach niesferycznych. Gromady niesferyczne, takie jak ... te?
Może nie tego się spodziewałeś, ale jest to całkowicie rozsądny sposób na tworzenie klastrów. Patrząc na ten obraz, my, ludzie, natychmiast rozpoznajemy dwie naturalne grupy punktów - nie można ich pomylić. Zobaczmy więc, jak działa k-średnia: przypisania są pokazane w kolorze, przypisane centra są pokazane jako X-y.
Cóż, to nie w porządku. K-znaczy próbował wpasować kwadratowy kołek w okrągły otwór - próbując znaleźć ładne centra z czystymi kulkami wokół nich - i to się nie udało. Tak, wciąż minimalizuje sumę kwadratów wewnątrz klastra - ale tak jak w powyższym Kwartecie Anscombe, jest to zwycięstwo Pyrrhic!
Możesz powiedzieć: „To nie jest uczciwy przykład ... żadna metoda klastrowania nie mogłaby poprawnie znaleźć tak dziwnych klastrów”. Nie prawda! Wypróbuj hierarchiczne grupowanie z jednym łączeniem :
Przybiłam to! Wynika to z faktu, że hierarchiczne grupowanie z jednym łączeniem przyjmuje właściwe założenia dla tego zestawu danych. (Istnieje cała inna klasa sytuacji, w których zawodzi).
Możesz powiedzieć „To pojedynczy, ekstremalny, patologiczny przypadek”. Ale nie jest! Na przykład, możesz zmienić zewnętrzną grupę w półkole zamiast koła, a zobaczysz, że k-średnie nadal działa strasznie (a hierarchiczne grupowanie nadal dobrze). Z łatwością mogłem wymyślić inne problematyczne sytuacje, i to tylko w dwóch wymiarach. Gdy grupujesz dane 16-wymiarowe, mogą pojawić się wszelkiego rodzaju patologie.
Na koniec powinienem zauważyć, że k-średnich wciąż można uratować! Jeśli zaczniesz od przekształcenia danych we współrzędne biegunowe , teraz klastrowanie działa:
Dlatego zrozumienie założeń leżących u podstaw metody jest bardzo ważne: nie tylko informuje, kiedy metoda ma wady, ale także jak je naprawić.
Złamane założenie: klastry o nierównomiernych rozmiarach
Co się stanie, jeśli klastry mają nierówną liczbę punktów - czy to również łamie k-oznacza klastry? Rozważmy ten zestaw klastrów o rozmiarach 20, 100, 500. Wygenerowałem każdy z wielowymiarowego Gaussa:
Wygląda na to, że k-znaczy prawdopodobnie mógłby znaleźć te klastry, prawda? Wszystko wydaje się być generowane w schludne i uporządkowane grupy. Spróbujmy więc k-znaczy:
Ojej. To, co się tu stało, jest nieco subtelniejsze. W dążeniu do zminimalizowania sumy kwadratów wewnątrz klastra, algorytm k-średnich nadaje większą „wagę” większym klastrom. W praktyce oznacza to, że z przyjemnością pozwala małej gromadzie skończyć z dala od jakiegokolwiek centrum, podczas gdy używa tych centrów do „podziału” znacznie większej gromady.
Jeśli trochę zagrasz z tymi przykładami ( tutaj kod R! ), Zobaczysz, że możesz skonstruować znacznie więcej scenariuszy, w których k-znaczy sprawia, że krępowanie jest błędne.
Wniosek: brak darmowego lunchu
W folklorze matematycznym jest urocza konstrukcja sformalizowana przez Wolperta i Macready'ego , zwana „Twierdzeniem o braku obiadu”. Jest to prawdopodobnie moje ulubione twierdzenie w filozofii uczenia maszynowego i cieszę się, że mogę je przywołać (czy wspominałem, że uwielbiam to pytanie?) Podstawowa idea jest sformułowana (nie rygorystycznie) w następujący sposób: „Po uśrednieniu we wszystkich możliwych sytuacjach, każdy algorytm działa równie dobrze ”.
Brzmi sprzecznie z intuicją? Weź pod uwagę, że w każdym przypadku, w którym działa algorytm, mógłbym stworzyć sytuację, w której okropnie zawodzi. Regresja liniowa zakłada, że dane spadają wzdłuż linii - ale co jeśli podąży za falą sinusoidalną? Test t zakłada, że każda próbka pochodzi z rozkładu normalnego: co jeśli wrzucisz wartość odstającą? Każdy algorytm wynurzania gradientowego może zostać uwięziony w lokalnych maksimach, a każda nadzorowana klasyfikacja może zostać oszukana w celu nadmiernego dopasowania.
Co to znaczy? Oznacza to, że założenia są źródłem twojej mocy!Kiedy Netflix poleca ci filmy, zakłada się, że jeśli podoba ci się jeden film, spodoba ci się podobny (i odwrotnie). Wyobraź sobie świat, w którym to nie było prawdą, a twoje gusta są przypadkowo rozproszone przypadkowo między gatunkami, aktorami i reżyserami. Ich algorytm rekomendacji okropnie zawiódłby. Czy miałoby sens powiedzenie „Cóż, wciąż minimalizuje oczekiwany błąd w kwadracie, więc algorytm nadal działa”? Nie można stworzyć algorytmu rekomendacji bez pewnych założeń dotyczących gustów użytkowników - podobnie jak nie można stworzyć algorytmu klastrowania bez przyjęcia pewnych założeń dotyczących natury tych klastrów.
Więc nie akceptuj tylko tych wad. Poznaj je, aby mogli poinformować Cię o wyborze algorytmów. Zrozum je, abyś mógł ulepszyć algorytm i przekształcić dane, aby je rozwiązać. I kochaj ich, ponieważ jeśli twój model nigdy nie będzie w błędzie, oznacza to, że nigdy nie będzie odpowiedni.