Machine Learning: Przegląd podstawowych kategorii uczenia maszynowego

Tytułem wstępu

W kilku najbliższych wpisach chciałbym omówić poszczególne kategorie uczenia maszynowego, wraz z podstawowymi algorytmami i na przykładach. Wydaje mi się jednak, że dobrym pomysłem byłoby najpierw skrótowe opisanie owych kategorii oraz technik, tak by mogły służyć jako swoisty spis treści, ściągawka albo po prostu przedstawiać wyraźniej zarys zagadnienia. Zwłaszcza, że wiele osób które interesują się ML dosyć pobieżnie, potrafi wskazać tylko dwie najpopularniejsze dziedziny czyli regresję i klasyfikacje, ewentualnie jeszcze klasteryzację – przynajmniej tak wynika z moich obserwacji :).

Na początek zajmiemy się kategoriami i tym jak możemy dobrać dla nich płaszczyznę podziału.

Nadzorowane czy nie? Podstawowy podział uczenia maszynowego – ze względu na dane

Podstawą uczenia maszynowego jest praca na danych, która ma odciążyć człowieka od żmudnych analiz (dzisiaj w takiej skali, w której człowiek raczej by sobie nie poradził). Naturalnym jest, że pierwsza i najbardziej podstawowa klasyfikacja rodzajów ML powinna zacząć się od spojrzenia na dane, które wykorzystujemy do nauki. Możemy je podzielić na dwa rodzaje.

Pierwszy to te które zawierają jasno podaną informację o interesującym nas wyniku – może to być zbiór kolumn z których każda opisuje jakąś cechę samochodu, wśród nich jego cena. Zadaniem jakie postawimy przed algorytmem może być oszacowanie ceny na podstawie zbioru cech. Algorytmy, w których do treningu wykorzystuje się tego typu dane należą do tzw. uczenia nadzorowanego (supervised learning).

Drugi rodzaj danych to takie wśród których nie znajdziemy, na pierwszy rzut oka, poszukiwanej informacji. Żadna z kolumn jej nie zawiera i by ją znaleźć należy przeprowadzić analizę wielu wierszy. Przykładem takich danych może być zbiór z informacjami o rocznym przychodzie osoby i jej wydatkami w sklepie. Do rozwiązania tego typów problemów służy tzw. uczenie nienadzorowane (unsupervised learning). W podanym przykładzie wynikiem byłyby grupy, mówiące o ostrożności finansowej/rozrzutności klientów – tego typu informacje mogą być przydatne np. dla sklepów internetowych w celu wyszukania targetu do którego mogą kierować określoną ofertę (czyli te wszystkie newslettery które przychodzą nam na maile :)).

Oprócz powyższych możemy jeszcze spotkać się z algorytmami, które potrafią przetwarzać dane, których tylko część zawiera etykietę. Załóżmy, że mamy przeprowadzić analizę wielu wierszy, ale w niektórych brakuje istotnej cechy wtedy za pomocą uczenia nadzorowanego uzupełniamy brakujące elementy a następnie odkrywamy ukryte w tych danych struktury już za pomocą uczenia nienadzorowanego. To przykład tzw. uczenia półnadzorowanego (semi-supervised learning)

Podsumowując, główny podział to:

  • Uczenie nadzorowane
  • Ucznie nienadzorowane
  • Uczenie półnadzorowane

Podział Rozszerzony – przez pryzmat problemu

Powyższy podział jest zależny od zawartości danych na których pracujemy. Jest on ważny, ale dosyć ogólny. Możemy jednak go rozszerzyć patrząc stricte na problem z którym mamy do czynienia. Wtedy wygląda on tak:

  • Uczenie nadzorowane:
    • Klasyfikacja
    • Regresja
    • Uczenie ze wzmacnianiem (szczególny rodzaj uczenia nadzorowanego)
  • Uczenie nienadzorowane:
    • Klasteryzacja (Grupowanie)
    • Redukcja wymiarowości i wizualizacja
    • Wykrywanie anomalii
    • Reguły asocjacyjne

 

W kolejnych dwóch postach opiszę dokładniej rozszerzony podział uczenia nadzorowanego i nienadzorowanego.

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *