Uruchamianie algorytmu grupowania

W systemach uczących się czasami występują zbiory danych, które mogą zawierać miliony przykładów. Algorytmy systemów uczących się muszą skutecznie skalować się do tych dużych zbiorów danych. Wiele algorytmów grupowania nie jest jednak skalowanych, ponieważ muszą one obliczać podobieństwo między wszystkimi parami punktów. To oznacza, że ich środowiska wykonawcze zwiększają się jako kwadrat liczby punktów, co oznaczy jako \(O(n^2)\). Na przykład algorytmy agresywne lub hierarchiczne klastry grupujące analizują wszystkie pary punktów i mają złożoność \(O(n^2 log(n))\) i \(O(n^2)\).

Ten kurs skupia się na k-meanach, ponieważ skaluje się on \(O(nk)\), gdzie \(k\)to liczba klastrów. K-means grupuje \(k\) klastry przez minimalizowanie odległości między punktami a centroidem klastra (jak widać na rysunku 1 poniżej). centroid klastra to średnia wszystkich punktów w klastrze.

Jak widać, funkcja k-średnia znajduje około okrągłych klastrów. Konkretnie oznacza to, że dane k-średnia skutecznie traktują dane jako składające się z szeregu mniej więcej okrągłych rozkładów oraz próbują znaleźć klastry odpowiadające tym rozkładom. W rzeczywistości dane zawierają wartości odstające i mogą nie pasować do takiego modelu.

Przed uruchomieniem k-średnich musisz wybrać liczbę klastrów: \(k\). Najpierw zgaduj \(k\). Później omówimy sposoby zawężania tej liczby.

Algorytm grupowania K

Aby połączyć dane w \(k\) klastry, oznacza to, że:

Wykres k-średnich przy inicjowaniu
Ilustracja 1: k-means przy inicjowaniu zapytania.

Krok 1

Algorytm losowo wybiera Centroid dla każdego klastra. W tym przykładzie wybieramy \(k\) z 3, dzięki czemu algorytm losowo wybiera 3 centymetry.

Początkowe klastry
Ilustracja 2.Początkowe klastry

Krok 2

Algorytm przypisuje każdy punkt do najbliższego centroida, aby otrzymać \(k\) początkowe klastry.

Obliczenie centroidów
Ilustracja 3. Ponowne obliczanie centroidów

Krok 3

W przypadku każdego klastra algorytm ponownie oblicza centroid, określając średnią wszystkich punktów w klastrze. Zmiany w centroidach są widoczne na rysunku 3 za pomocą strzałek. Ponieważ zmienia się centroid, algorytm ponownie przypisuje punkty do najbliższego Centroida. Rysunek 4 przedstawia nowe klastry po ponownym przypisaniu.

Klastry po ponownej zmianie
Ilustracja 4. Klastry po zmianie przypisania.

Krok 4

Algorytm powtarza obliczenia centroidów i przypisywania punktów, aż punkty przestaną zmieniać klastry. W przypadku grupowania dużych zbiorów danych zatrzymujesz algorytm, zanim nastąpi dopasowanie, korzystając z innych kryteriów.

Nie musisz znać zagadnień matematycznych stojących za k-średnimi kursami. Jeśli jednak chcesz dowiedzieć się więcej, zwróć uwagę na poniższe potwierdzenie.

Pozycje centroidu są początkowo wybierane losowo, dlatego w przypadku kolejnych cykli pracy znaki k-średnie mogą zwracać znacznie inne wyniki. Aby rozwiązać ten problem, uruchom wielokrotnie k-średnia i wybierz wynik z najlepszymi danymi. Wskaźniki jakości omówimy w dalszej części tego kursu. Aby wybrać lepsze początkowe pozycje środkowych, musisz mieć zaawansowaną wersję k-średnich.