Nauka nienadzorowana: jak maszyny uczą się samodzielnie

Opublikowany: 2021-03-19

Uczenie nienadzorowane umożliwia maszynom samodzielną naukę.

Ten rodzaj uczenia maszynowego (ML) zapewnia aplikacjom AI możliwość uczenia się i znajdowania ukrytych wzorców w dużych zbiorach danych bez nadzoru człowieka. Nauka nienadzorowana jest również kluczowa dla osiągnięcia   sztuczna inteligencja ogólna.

Etykietowanie danych jest pracochłonne i czasochłonne, aw wielu przypadkach niepraktyczne. W tym przypadku nienadzorowane uczenie się przynosi dużą różnicę, dając aplikacjom AI możliwość uczenia się bez etykiet i nadzoru.

Co to jest nauka nienadzorowana?

Uczenie nienadzorowane (UL) to technika uczenia maszynowego używana do identyfikowania wzorców w zestawach danych zawierających niesklasyfikowane i nieoznaczone punkty danych. W tej metodzie uczenia system AI otrzymuje tylko dane wejściowe, a nie odpowiadające im dane wyjściowe.

W przeciwieństwie do uczenia nadzorowanego , nienadzorowane uczenie maszynowe nie wymaga człowieka do nadzorowania modelu. Naukowiec danych pozwala maszynie uczyć się, obserwując dane i samodzielnie znajdując wzorce. Innymi słowy, ta podkategoria uczenia maszynowego umożliwia systemowi działanie na podstawie podanych informacji bez żadnych zewnętrznych wskazówek.

Techniki uczenia się bez nadzoru mają kluczowe znaczenie dla tworzenia systemów sztucznej inteligencji z ludzką inteligencją. Dzieje się tak, ponieważ inteligentne maszyny muszą być zdolne do podejmowania (niezależnych) decyzji poprzez analizę dużych ilości nieoznakowanych danych.

W porównaniu z algorytmami uczenia nadzorowanego, algorytmy UL są bardziej biegłe w wykonywaniu złożonych zadań. Jednak nadzorowane modele uczenia się dają dokładniejsze wyniki, ponieważ nauczyciel wyraźnie mówi systemowi, czego szukać w danych danych. Ale w przypadku uczenia się bez nadzoru rzeczy mogą być dość nieprzewidywalne.

Sztuczne sieci neuronowe, które sprawiają, że   głęboka nauka   rzeczywistości, może wydawać się, że jest wspierana przez nienadzorowaną naukę. Chociaż to prawda, algorytmy uczenia sieci neuronowych mogą być również nadzorowane, jeśli pożądany wynik jest już znany.

Nauka bez nadzoru może być celem samym w sobie. Na przykład modele UL mogą służyć do wyszukiwania ukrytych wzorców w ogromnych ilościach danych, a nawet do klasyfikowania i etykietowania punktów danych. Grupowanie nieposortowanych punktów danych odbywa się poprzez identyfikację ich podobieństw i różnic.

Oto kilka powodów, dla których nauka bez nadzoru jest niezbędna.

  • Nieoznakowanych danych jest pod dostatkiem.
  • Etykietowanie danych to żmudne zadanie wymagające ludzkiej pracy. Jednak sam proces może być zasilany przez ML, co ułatwia etykietowanie zaangażowanym ludziom.
  • Przydaje się do eksploracji nieznanych i nieprzetworzonych danych.
  • Jest to przydatne do wykonywania rozpoznawania wzorców w dużych zestawach danych.
Uczenie nienadzorowane można dalej podzielić na dwie kategorie: uczenie nienadzorowane parametryczne i uczenie nienadzorowane nieparametryczne .

Jak działa nauka nienadzorowana

Mówiąc najprościej, nienadzorowane uczenie się polega na analizowaniu nieskategoryzowanych, nieoznakowanych danych i znajdowaniu w nich ukrytych struktur.

W uczeniu nadzorowanym badacz danych zasila system danymi oznaczonymi etykietami, na przykład obrazami kotów oznaczonych jako koty, umożliwiając mu uczenie się na przykładach. W nienadzorowanym uczeniu się analityk danych dostarcza tylko zdjęcia, a obowiązkiem systemu jest przeanalizowanie danych i stwierdzenie, czy są to obrazy kotów.

Nienadzorowane uczenie maszynowe wymaga ogromnych ilości danych. W większości przypadków to samo dotyczy uczenia nadzorowanego, ponieważ model staje się dokładniejszy z większą liczbą przykładów.

Proces nienadzorowanego uczenia się rozpoczyna się od trenowania przez analityków danych algorytmów przy użyciu uczących zbiorów danych. Punkty danych w tych zestawach danych są nieoznaczone i nieskategoryzowane.

Celem uczenia się algorytmu jest identyfikacja wzorców w zbiorze danych i kategoryzacja punktów danych na podstawie tych samych zidentyfikowanych wzorców. Na przykładzie obrazów kotów algorytm uczenia nienadzorowanego może nauczyć się rozpoznawać różne cechy kotów, takie jak ich wąsy, długie ogony i chowane pazury.

Jeśli się nad tym zastanowić, uczenie się bez nadzoru to sposób, w jaki uczymy się identyfikować i kategoryzować rzeczy. Załóżmy, że nigdy nie próbowałeś ketchupu lub sosu chili. Jeśli dostaniesz dwie „nieoznakowane” butelki ketchupu i sosu chili i poprosisz o ich spróbowanie, będziesz w stanie odróżnić ich smaki.

Będziesz także w stanie zidentyfikować osobliwości obu sosów (jeden jest kwaśny, a drugi pikantny), nawet jeśli nie znasz nazw żadnego z nich. Degustacja każdego z nich jeszcze kilka razy pozwoli lepiej poznać smak. Już niedługo będziecie mogli grupować dania na podstawie dodanego sosu, po prostu ich degustując.

Analizując smak, można znaleźć specyficzne cechy, które wyróżniają oba sosy i dania grupowe. Nie musisz znać nazw sosów ani potraw, aby je kategoryzować. Możesz nawet nazwać jeden słodkim sosem , a drugi ostrym sosem .

Jest to podobne do tego, w jaki sposób maszyny identyfikują wzorce i klasyfikują punkty danych za pomocą nienadzorowanego uczenia się. W tym samym przykładzie uczenie nadzorowane polegałoby na tym, że ktoś wcześniej podałby nazwy obu sosów i ich smak.

Rodzaje uczenia się nienadzorowanego

Problemy z uczeniem się nienadzorowanym można podzielić na problemy związane z grupowaniem i asocjacjami .

Grupowanie

Grupowanie lub analiza skupień to proces grupowania obiektów w klastry. Pozycje z największymi podobieństwami są zgrupowane razem, podczas gdy pozostałe należą do innych klastrów. Przykładem grupowania może być grupowanie użytkowników YouTube na podstawie ich historii oglądania.

W zależności od tego, jak działają, grupowanie można podzielić na cztery grupy w następujący sposób:

  • Grupowanie na wyłączność: Jak sama nazwa wskazuje, grupowanie na wyłączność określa, że ​​punkt danych lub obiekt może istnieć tylko w jednym klastrze.
  • Klastrowanie hierarchiczne: Hierarchiczne próbuje utworzyć hierarchię klastrów. Istnieją dwa rodzaje grupowania hierarchicznego: aglomeracyjny i dzielący . Aglomeracja stosuje podejście oddolne, początkowo traktuje każdy punkt danych jako indywidualny klaster, a pary klastrów są scalane w miarę przesuwania się w górę hierarchii. Dzielący jest całkowitym przeciwieństwem aglomeracji. Każdy punkt danych zaczyna się w jednym klastrze i jest dzielony w miarę przesuwania się w dół hierarchii.
  • Nakładające się klastry: Nakładanie umożliwia zgrupowanie punktu danych w co najmniej dwa klastry.
  • Grupowanie probabilistyczne: probabilistyczne wykorzystuje rozkłady prawdopodobieństwa do tworzenia klastrów. Na przykład „zielone skarpetki”, „niebieskie skarpetki”, „zielona koszulka” i „niebieska koszulka” można pogrupować w dwie kategorie „zielone” i „niebieskie” lub „skarpety” i „koszulki”. ”.

Stowarzyszenie

Uczenie reguł asocjacyjnych (ARL) to nienadzorowana metoda uczenia wykorzystywana do znajdowania relacji między zmiennymi w dużych bazach danych. W przeciwieństwie do niektórych algorytmów uczenia maszynowego, ARL może obsługiwać nienumeryczne punkty danych.

Mówiąc prościej, ARL polega na znalezieniu, jak pewne zmienne są ze sobą powiązane. Na przykład osoby, które kupują motocykl, najczęściej kupują kask.

Znalezienie takich relacji może być lukratywne. Na przykład, jeśli klienci, którzy kupują Produkt X, zwykle kupują Produkt Y, sprzedawca internetowy może polecić Produkt Y każdemu, kto kupuje Produkt X.

Uczenie reguł asocjacyjnych wykorzystuje w swoim rdzeniu instrukcje if/then. Te stwierdzenia mogą ujawnić powiązania między niezależnymi danymi. Dodatkowo, wzorce lub relacje „jeśli/to” są obserwowane za pomocą wsparcia i pewności siebie .

Obsługa określa, jak często relacja if/then pojawia się w bazie danych. Poufność określa, ile razy relacja if/then została uznana za poprawną.

Analiza koszyka rynkowego   oraz   eksploracja wykorzystania sieci   są możliwe dzięki regule stowarzyszenia.

Nienadzorowane algorytmy uczenia

Zarówno klastrowanie, jak i uczenie się reguł asocjacyjnych jest realizowane za pomocą algorytmów.

Algorytm apriori, algorytm ECLAT i algorytm wzrostu częstości wzorców (FP) to tylko niektóre z godnych uwagi algorytmów stosowanych do implementacji reguły asocjacji. Klastrowanie jest możliwe dzięki algorytmom, takim jak grupowanie k-średnich i analiza głównych składowych (PCA).

Algorytm apriori

Algorytm Apriori został stworzony do eksploracji danych. Przydaje się do eksploracji baz danych zawierających dużą liczbę transakcji, na przykład bazy zawierającej listę przedmiotów kupionych przez kupujących w supermarkecie. Służy do identyfikowania szkodliwych skutków narkotyków oraz do analizy koszyka rynkowego, aby znaleźć zestaw przedmiotów, które klienci chętniej kupują razem.

Algorytm ECLAT

Klastrowanie klas równoważności i oddolne przechodzenie przez kratę (ang. bottom-up Lattice Traversal ), lub w skrócie ECLAT , to algorytm eksploracji danych używany do eksploracji zestawów elementów i znajdowania częstych elementów.

Algorytm Apriori wykorzystuje poziomy format danych, dlatego musi wielokrotnie skanować bazę danych w celu zidentyfikowania częstych pozycji. Z drugiej strony, ECLAT stosuje podejście pionowe i generalnie jest szybsze, ponieważ wystarczy przeskanować bazę danych tylko raz.

Algorytm wzrostu częstości formacji (FP)

Algorytm wzrostu częstego wzorca (FP) jest ulepszoną wersją algorytmu Apriori. Algorytm ten reprezentuje bazę danych w formie struktury drzewa znanej jako częste drzewo lub wzorzec .

Tak częste drzewo służy do wydobywania najczęstszych wzorców. Podczas gdy algorytm Apriori musi przeskanować bazę danych n+1 razy (gdzie n jest długością najdłuższego modelu), algorytm wzrostu FP wymaga tylko dwóch skanów.

Grupowanie K-średnich

Wiele iteracji algorytmu k-średnich jest szeroko stosowanych w dziedzinie nauki o danych. Mówiąc najprościej, algorytm grupowania k-średnich grupuje podobne elementy w klastry. Liczbę klastrów reprezentuje k . Jeśli więc wartość k wynosi 3, w sumie będą trzy klastry.

Ta metoda grupowania dzieli zestaw danych bez etykiety, tak aby każdy punkt danych należał tylko do jednej grupy o podobnych właściwościach. Kluczem do sukcesu jest znalezienie centrów K zwanych centroidami .

Każdy klaster będzie miał jeden centroid klastra, a po zobaczeniu nowego punktu danych algorytm określi najbliższy klaster, do którego należy punkt danych, na podstawie metryk takich jak odległość euklidesowa.

Analiza głównych składników (PCA)

Analiza głównych składowych (PCA) to metoda redukcji wymiarowości, powszechnie stosowana do zmniejszania wymiarowości dużych zbiorów danych. Robi to, konwertując dużą liczbę zmiennych na mniejszą, która zawiera prawie wszystkie informacje z dużego zbioru danych.

Zmniejszenie liczby zmiennych może nieznacznie wpłynąć na dokładność, ale może to być akceptowalny kompromis dla uproszczenia. Dzieje się tak, ponieważ mniejsze zestawy danych są łatwiejsze do analizy, a algorytmy uczenia maszynowego nie muszą się zbytnio męczyć, aby uzyskać cenne informacje.

Uczenie nadzorowane a uczenie nienadzorowane

Nauka nadzorowana jest podobna do nadzorowania całego procesu uczenia się przez nauczyciela. Istnieje również zestaw danych treningowych oznaczonych etykietami, który umożliwia uzyskanie poprawnych odpowiedzi na każdy problem, który próbujesz rozwiązać.

Łatwiej jest zrozumieć, czy twoja odpowiedź jest poprawna, czy nie, a nauczyciel poprawi cię również, gdy popełnisz błąd. W przypadku uczenia się bez nadzoru nie ma nauczyciela ani właściwych odpowiedzi.

Z perspektywy obliczeniowej uczenie się bez nadzoru jest bardziej skomplikowane i czasochłonne niż uczenie się nadzorowane. Jest jednak przydatny do eksploracji danych i uzyskania wglądu w strukturę danych przed przypisaniem dowolnego klasyfikatora (algorytm uczenia maszynowego, który automatycznie klasyfikuje dane).

Mimo że jest to przydatne, gdy dane nieoznaczone są ogromne, uczenie bez nadzoru może powodować niewielkie niedogodności dla naukowców zajmujących się danymi. Ponieważ zestaw danych walidacyjnych używany w uczeniu nadzorowanym jest również oznaczony etykietą, naukowcom danych łatwiej jest zmierzyć dokładność modeli. Ale to samo nie dotyczy modeli uczenia się bez nadzoru.

W wielu przypadkach uczenie nienadzorowane jest stosowane przed uczeniem nadzorowanym. Pomaga to w identyfikacji cech i tworzeniu klas.

Proces uczenia się nienadzorowanego odbywa się online, podczas gdy uczenie nadzorowane odbywa się offline. Pozwala to algorytmom UL na przetwarzanie danych w czasie rzeczywistym.

Podczas gdy problemy z uczeniem się nienadzorowanym są podzielone na problemy związane z asocjacją i grupowaniem, uczenie nadzorowane można dalej podzielić na regresję i klasyfikację.

Oprócz uczenia nadzorowanego i nienadzorowanego, istnieje uczenie częściowo nadzorowane i uczenie się ze wzmocnieniem .

Nauka częściowo nadzorowana to połączenie nauki nadzorowanej i nienadzorowanej. W tej technice uczenia maszynowego system jest tylko trochę szkolony, aby uzyskać ogólny przegląd. Część danych treningowych zostanie oznaczona, a reszta nie będzie oznaczona.

W uczeniu ze wzmocnieniem (RL) system sztucznej inteligencji napotka środowisko podobne do gry, w którym musi zmaksymalizować nagrodę. System musi się uczyć, stosując metodę prób i błędów i zwiększać swoje szanse na zdobycie nagrody na każdym kroku.

Oto krótkie spojrzenie na kluczowe różnice między uczeniem nadzorowanym i nienadzorowanym.

Nauka nienadzorowana Nadzorowana nauka
Jest to złożony proces, wymaga większych zasobów obliczeniowych i jest czasochłonny. Jest stosunkowo prosty i wymaga mniej zasobów obliczeniowych.
Treningowy zbiór danych nie ma etykiety. Zbiór danych szkoleniowych jest oznaczony etykietą.
Mniej dokładne, ale niekoniecznie Bardzo dokładny
Podzielony na asocjacje i klastry Podzielony na regresję i klasyfikację
Pomiar dokładności modelu wraz z niepewnością jest kłopotliwy. Łatwiej jest zmierzyć dokładność modelu.
Liczba zajęć jest nieznana. Liczba klas jest znana.
Nauka odbywa się w czasie rzeczywistym. Nauka odbywa się offline.
Apriori, ECLAT, grupowanie k-średnich i algorytm wzrostu częstości wzorców (FP) to tylko niektóre z używanych algorytmów. Regresja liniowa, regresja logistyczna, Naive Bayes i maszyna wektora nośnego (SVM) to tylko niektóre z używanych algorytmów.

Przykłady nienadzorowanego uczenia maszynowego

Jak wspomniano wcześniej, nienadzorowane uczenie się może być celem samym w sobie i może być wykorzystywane do wyszukiwania ukrytych wzorców w ogromnych ilościach danych – nierealistyczne zadanie dla ludzi.

Niektóre rzeczywiste zastosowania nienadzorowanego uczenia maszynowego.

  • Wykrywanie anomalii: jest to proces znajdowania nietypowych punktów danych w zestawach danych i dlatego jest przydatny do wykrywania nieuczciwych działań.
  • Wizja komputerowa: znana również jako   Rozpoznawanie obrazu, to osiągnięcie polegające na identyfikowaniu obiektów na obrazach, jest niezbędne w samochodach autonomicznych, a nawet cenne dla branży opieki zdrowotnej przy segmentacji obrazu.
  • Systemy rekomendacji: Analizując dane historyczne, nienadzorowane algorytmy uczenia rekomendują produkty, które klient najprawdopodobniej kupi.
  • Persona klienta: nienadzorowane uczenie się może pomóc firmom w budowaniu dokładnych person klientów poprzez analizę danych dotyczących nawyków zakupowych.

Pozostawiając algorytmy samym sobie

Możliwość samodzielnego uczenia się sprawia, że ​​nienadzorowane uczenie się jest najszybszym sposobem analizowania ogromnych ilości danych. Oczywiście wybór między uczeniem nadzorowanym lub nienadzorowanym (lub nawet częściowo nadzorowanym) zależy od problemu, który próbujesz rozwiązać oraz od czasu i ogromu dostępnych danych. Niemniej jednak nauka bez nadzoru może sprawić, że cały wysiłek będzie bardziej skalowalny.

Sztuczna inteligencja, którą mamy dzisiaj, nie jest zdolna do dominacji nad światem, nie mówiąc już o nieposłuszeństwie nakazom jej twórców. Ale umożliwia robienie niesamowitych wyczynów, takich jak autonomiczne samochody i chatboty. Nazywa się to wąską sztuczną inteligencją , ale nie jest tak słaba, jak się wydaje.