Z kursu: Podstawy nauki o danych: Eksploracja danych

Pogrupowanie danych

- [Instruktor] Algorytm definiuje, co to znaczy być podobnym, a także definiuje, jak mierzyć odległość i co to znaczy być klastrem. Dostępnych jest wiele opcji. Dzielą się one na kilka ogólnych kategorii. Na przykład istnieją metody, które mierzą odległość między punktami, takie jak odległość euklidesowa. Są inne, które mierzą odległość od centroidu, inne, które patrzą na gęstość danych w przestrzeni i inne, które używają modeli dystrybucyjnych. Teraz, jeśli masz dane wykresu, które są danymi sieciowymi, są też inne modele, ale skupię się tutaj na modelach atrybutów. Zacznijmy od szybkiego przyjrzenia się algorytmom odległości. Wyobraźcie sobie, że macie tutaj zbiór punktów w dwuwymiarowej przestrzeni, a to jest jedna gromada w kolorze pomarańczowym, a wy mamy tu inną gromadę w kolorze niebieskim. To, co zamierzasz zrobić, to zmierzyć odległość od każdego punktu do każdego innego punktu. Nie robię tego dla nich wszystkich, ponieważ zrobiłem to ręcznie i to byłoby zbyt wiele, ale to, co tutaj robisz, to mierzenie odległości euklidesowej. Pomyśl o tym jako o pomiarze bezpośredniej odległości między każdym z nich, a są one również znane jako modele łączności, a jedną z fajnych rzeczy, które z nich otrzymujesz, jest hierarchiczny diagram, który mogę zademonstrować, gdy przechodzimy przez to oprogramowanie. Jednym z interesujących wyborów jest to, czy chcesz zrobić podejście łączenia lub dzielenia. Są one technicznie znane jako aglomeracyjne lub dzielące. Albo zaczynasz od wszystkich danych w jednym klastrze, a następnie rozkładasz je na części, albo zaczynasz od wszystkich obserwacji osobno, a następnie łączysz je ze sobą sekwencyjnie. Jedną z sztuczek jest to, że te modele odległości naprawdę znajdują tylko wypukłe klastry. To znaczy, jeśli jesteś w dwuwymiarowym lub trójwymiarowym kształcie, znajdziesz te, które mają kształt jabłek lub może arbuzów, ale nie jak banany, ponieważ zakrzywiają się z powrotem i to jest ograniczenie wielu metod, które tutaj zobaczymy. Innym ważnym ograniczeniem jest to, że chociaż modele odległości są łatwe do opisania, są naprawdę powolne w przypadku dużych zbiorów danych, ponieważ trzeba obliczyć gigantyczną liczbę odległości i pracować z nimi, aby doprowadzić nas do innych wyborów. Po modelach odległościowych prawdopodobnie najczęściej spotykane są modele oparte na centroidach, więc teraz mamy tutaj naszą gromadę punktów, a to, co otrzymujemy z tym diamentem, to punkt, który definiuje średnią w przestrzeni wielowymiarowej tutaj. Teraz, po prostu patrzę na to, ale to, co robi, to patrzy na odległość od każdego punktu w grupie do tego centroidu. Punkt środkowy tutaj, centroid, jest zdefiniowany przez średni wektor, więc jest to średnia dla tej grupy na każdej zmiennej, którą masz w przestrzeni wymiarowej, a najczęstszą wersją tego jest to, co nazywa się k-means i tam po prostu definiujesz, ile centroidów chcesz mieć, a następnie dowiadujesz się, jak daleko każdy punkt jest od tak wielu różnych centroidów. Podobnie jak modele odległościowe, model centroidalny znajduje wypukłe klastry, ale z dodatkowym ograniczeniem. Są one na ogół podobnej wielkości, a innym poważnym problemem jest to, że musisz wybrać wartość k, liczbę klastrów, które chcesz mieć. Istnieje kilka interesujących adaptacji wokół tego, ale ogólnie rzecz biorąc, po prostu wybierasz numer i dajesz go komputerowi i widzisz, jak dobrze działa. Następnie, są algorytmy gęstości i to jest miejsce, w którym patrzysz w wielowymiarową przestrzeń, a ona po prostu oblicza gęstość punktów tam i rysuje granicę wokół nich, więc na przykład, tutaj rysuję granicę wokół tej jednej grupy punktów, a następnie tutaj jest większy, inny rodzaj grupy i ma zupełnie inny rodzaj obramowania wokół niej. Więc to, co tutaj robisz, to łączenie gęstych obszarów w przestrzeni k-wymiarowej, gdzie k jest liczbą zmiennych lub atrybutów, które posiadasz. Fajne w tym jest to, że te podejścia mogą modelować niewypukłe klastry. Widzisz na przykład, jak pomarańczowy się wygina. Może również modelować klastry o różnych rozmiarach. Niebieski jest mniejszy, pomarańczowy większy, a więc pokonuje niektóre ograniczenia innych podejść. Jedną z interesujących rzeczy jest to, że można zignorować wartości odstające lub nietypowe przypadki, ponieważ nie znajdują się one w gęstych regionach. Głównym problemem jest jednak to, że trudno jest dokładnie opisać, w jaki sposób algorytm doszedł do tych rzeczy. Nie masz rozkładu parametrycznego, aby powiedzieć, że ten klaster jest zdefiniowany przez wysokie wyniki dla tej zmiennej i niskie wyniki dla tej, ponieważ może to być nietypowy kształt, który się owija. Czwarty zbiór algorytmów, o których chcę wspomnieć, to dystrybucje lub modele dystrybucyjne. Wyobraźmy sobie, że mamy tutaj nasze punkty i rysujemy wokół nich rodzaj normalnego kształtu w modelu dwuwymiarowym, który będzie wyglądał jak elipsa, więc tutaj narysowałem przybliżoną elipsę wokół tych punktów, więc to, co tutaj robimy, to otrzymujemy klastry i modelujemy je jako rozkłady statystyczne. Teraz masz wiele możliwości wyboru, ale zdecydowanie najczęstszym jest wielowymiarowy rozkład normalny i pokazuję to za pomocą moich zmiennych luźnych elips tutaj. Jest w tym jeden poważny problem, ponieważ podejście dystrybucyjne jest podatne na nadmierne dopasowanie. Oznacza to, że jeśli dasz komputerowi wolną rękę, będzie on po prostu dodawał coraz więcej wymiarów, aż skończysz z modelami, które naprawdę odnoszą się tylko do dokładnych danych, które obecnie posiadasz. Teraz możecie to przezwyciężyć, mówiąc mu, z iloma wymiarami pracować, tak jak macie do czynienia ze środkami k i powiedzieć, ile klastrów. Jedną z zalet jest to, że jest dobry w przechwytywaniu korelacji lub wzajemnych relacji między atrybutami w danych, czego żadne z innych podejść nie robi konkretnie. Z drugiej strony jest również ograniczony do wypukłych klastrów, ponieważ taki jest kształt naszych rozkładów. Istnieje wiele definicji klastrów. Istnieją definicje tego, co to znaczy być klastrem, jak definiują odległość i jak definiować kształt, a chociaż istnieje kilka kategorii algorytmów, każdy z nich ma inne mocne strony i ograniczenia. Na przykład, niektóre robią tylko wypukłe kształty, niektóre robią klastry o równej wielkości, niektóre są trudne dla dużych zestawów danych, niektóre są trudne do opisania parametrycznie, więc jeśli chodzi o faktyczne przeprowadzenie analizy klastrów, będziesz musiał pamiętać o tych opcjach i spróbować wybrać algorytm, który zarówno pasuje do twoich danych, jak i pasuje do celów lub pragmatycznych zastosowań twojej analizy.

Spis treści