Uczenie maszynowe: pojęcia i rodzaje

Wstęp do działu

Poprzedni dział skończył się porażką: po Perceptrons Minsky'ego i Paperta sieci neuronowe wypadły z łask na kilkanaście lat. Ale w tym samym czasie rosło coś szerszego niż sieci — cała rodzina metod, w których program nie dostaje reguł od człowieka, lecz wyciąga je z danych. To uczenie maszynowe.

Ten dział jest słownikiem, do którego będziesz wracać przez całą resztę książki. Nauczysz się rozróżniać trzy sytuacje: kiedy pokazujemy maszynie przykłady z gotowymi odpowiedziami (uczenie nadzorowane), kiedy każemy jej samej znaleźć strukturę w danych bez żadnych podpowiedzi (nienadzorowane) i kiedy zamiast odpowiedzi dajemy nagrody i kary za skutki działania (uczenie ze wzmocnieniem). Zobaczysz też, że „uczenie się" maszyny nie ma wiele wspólnego z uczeniem się człowieka — to dopasowywanie liczb tak, żeby zmniejszyć błąd, a nie rozumienie.

Potem zejdziemy o poziom niżej i zapytamy, z czego właściwie model się uczy (dane, cechy, etykiety), jak sprawdzamy, czy się nauczył, a nie tylko zapamiętał (podział na zbiór treningowy, walidacyjny i testowy — oraz dwie choroby modelu: przeuczenie i niedouczenie), i jak mierzymy jakość, gdy samo „ile procent trafień" prowadzi na manowce. Dział zamkniemy przypomnieniem, że uczenie maszynowe to nie tylko sieci: drzewo decyzyjne albo metoda najbliższych sąsiadów potrafią czasem więcej niż model z miliardem parametrów — i są przy tym zrozumiałe dla człowieka.

Uwaga na jedno pomieszanie pojęć, które spotkasz wszędzie w mediach: sieci neuronowe są jednym z narzędzi uczenia maszynowego, a nie jego definicją. Bez tego rozróżnienia trudno zrozumieć, dlaczego niektóre zadania rozwiązuje się dziś prostym drzewem decyzyjnym, a inne wymagają modelu z setkami miliardów parametrów.

Mapa pojęć działu

                  UCZENIE MASZYNOWE
        (reguły z danych, nie od programisty)
                        |
      ┌─────────────────┼─────────────────┐
 NADZOROWANE      NIENADZOROWANE     ZE WZMOCNIENIEM
      |                 |                  |
 dane + etykiety   same dane         nagroda / kara
 („to kot")        (grupowanie,      za skutek działania
      |             wzorce)                |
 Perceptron            |              SNARC, AlphaGo
 (Dział 8)         segmentacja        (Dział 13)
                   klientów

CZTERY SKŁADNIKI UCZENIA (Jednostka 9.2)

  DANE          MODEL          OCENA           ZMIANA
 przykłady  →  środowisko  →  jak bardzo  →  jak poprawić
 + etykiety     uczenia        się myli       parametry
     |             |               |              |
  9.2           Dział 10       9.3 i 9.4      Dział 11

Jednostki w tym dziale

  • 9.1 Czym jest uczenie maszynowe
  • 9.2 Dane, cechy, etykiety — z czego właściwie uczy się model
  • 9.3 Trening, walidacja, test: przeuczenie i niedouczenie
  • 9.4 Jak mierzymy jakość: trafność, macierz pomyłek, precyzja i czułość
  • 9.5 Klasyfikacja i regresja: co potrafią modele bez sieci