Co to jest klaster?

Gdy próbujesz się czegoś dowiedzieć – np. muzyki – spróbuj znaleźć wartościowe grupy lub kolekcje. Możesz uporządkować muzykę według gatunku, a znajomy może uporządkować muzykę według dekady. Gdy zdecydujesz się na grupowanie elementów, możesz dowiedzieć się więcej o nich jako osobnych utworach. Może się okazać, że masz mocne zamiłowanie do punk rocka i podzielisz się gatunekem z różnymi podejściami lub muzyką z różnych lokalizacji. Z drugiej strony przyjaciel może przyjrzeć się muzyce z lat 80. XX wieku i zrozumieć, jak wpływała ona na klimat socjopolityczny. W obu przypadkach Ty i Twój znajomy nauczyliście się czegoś ciekawego o muzyce, nawet jeśli przyjęliście różne podejścia.

W systemach uczących się często grupujemy przykłady jako pierwszy krok, aby zrozumieć temat (zbiór danych) w systemie uczących się. Grupowanie przykładów bez etykiety nazywa się grupowaniem.

Ponieważ przykłady nie mają etykiet, klastry korzystają z nienadzorowanych systemów uczących się. Jeśli przykłady zostaną oznaczone, klastrowanie stanie się klasyfikacją. Bardziej szczegółową rozmowę o metodach nadzorowanych i nienadzorowanych znajdziesz w Wprowadzeniem do kadrowania systemów uczących się.

Wykres przedstawiający 3 klastry
Ilustracja 1. Przykłady bez etykiety pogrupowane w 3 klastry

Zanim pogrupujesz podobne przykłady, musisz znaleźć podobne przykłady. Możesz porównywać podobieństwo między przykładami, łącząc dane cech w danych w formie pomiaru podobieństwa. Gdy każdy przykład jest zdefiniowany przez jedną lub dwie funkcje, można łatwo zmierzyć podobieństwo. Możesz na przykład znaleźć podobne książki ich autorów. Wraz ze wzrostem liczby funkcji tworzenie pomiarów podobieństwa staje się coraz bardziej skomplikowane. Później pokażemy, jak utworzyć pomiar podobieństwa w różnych scenariuszach.

Do czego służy grupowanie?

Klastry mają szeroki zakres zastosowań w różnych branżach. Oto kilka typowych aplikacji do grupowania:

  • podział na segmenty rynkowe
  • analiza sieci społecznościowych
  • grupowanie wyników wyszukiwania
  • obrazowanie
  • podział obrazu na segmenty
  • wykrywanie anomalii

Po klastrach każdemu z klastrów przypisywany jest numer nazywany identyfikatorem klastra. Teraz możesz skonsolidować cały zbiór funkcji w przykładzie w jego identyfikatorze klastra. Przedstawianie złożonego przykładu za pomocą prostego identyfikatora klastra ułatwia tworzenie klastrów. Rozszerzając koncepcję, dane grupujące mogą uprościć duże zbiory danych.

Możesz na przykład pogrupować elementy według różnych funkcji, jak pokazano w tych przykładach:

Przykłady
  • Grupuj gwiazdki według jasności.
  • Grupuj organizmy według informacji genetycznych w taksonomii.
  • Pogrupuj dokumenty według tematów.

Systemy uczące się mogą następnie używać identyfikatorów klastrów, aby uprościć przetwarzanie dużych zbiorów danych. Dzięki temu dane wyjściowe klastra będą używane jako dane cech systemów niższego rzędu.

W Google klastry służą do uogólnienia, kompresji danych i ochrony prywatności w usługach takich jak filmy YouTube, aplikacje Google Play i utwory muzyczne.

Uogólnienie

Jeśli w niektórych przykładach klastra brakuje danych cech, może to oznaczać brakujące dane w innych przykładach.

Przykład
Mniej popularne filmy można połączyć z popularnymi filmami, aby były one bardziej polecane.

Kompresja danych

Jak wspomniano, dane cech wszystkich przykładów w klastrze mogą zostać zastąpione odpowiednim identyfikatorem klastra. Zastępuje to dane funkcji i oszczędza miejsce. Te zalety wiążą się ze znacznym skalowaniem do dużych zbiorów danych. Co więcej, systemy uczące się mogą używać identyfikatora klastra jako danych wejściowych zamiast całego zbioru cech. Zmniejszenie złożoności danych wejściowych sprawia, że model ML jest prostszy i szybciej wytrenowany.

Przykład
Dane funkcji dotyczące jednego filmu w YouTube mogą obejmować:
  • dane o użytkownikach dotyczące lokalizacji, czasu i danych demograficznych;
  • dane komentarzy z sygnaturami czasowymi, tekstem i identyfikatorami użytkowników
  • tagi wideo
Klastry wideo w YouTube pozwalają zastąpić ten zbiór funkcji jednym identyfikatorem klastra, dzięki czemu skompresowane zostaną dane.

Ochrona prywatności

Aby zachować prywatność, grupuj użytkowników i powiąż dane użytkowników z identyfikatorami klastrów, a nie z konkretnymi użytkownikami. Aby nie można było powiązać danych użytkownika z określonym użytkownikiem, klaster musi grupować wystarczającą liczbę użytkowników.

Przykład
Załóżmy, że chcesz dodać do swojego modelu historię nagrań wideo dla użytkowników YouTube. Zamiast polegać na identyfikatorze User-ID, możesz utworzyć klastry użytkowników, korzystając z identyfikatora klastra. Teraz Twój model nie może powiązać historii nagrań wideo z konkretnym użytkownikiem, ale tylko z identyfikatorem klastra reprezentującym dużą grupę użytkowników.