Nauka nadzorowana

Zadania nadzorowanego uczenia się są jasno zdefiniowane i można je stosować w wielu sytuacjach, np. w identyfikowaniu spamu lub przewidywaniu opadów.

Podstawowe pojęcia związane z nauką nadzorowaną

Nadzorowane systemy uczące się opierają się na tych podstawowych koncepcjach:

  • Dane
  • Model
  • Szkolenia
  • Sprawdzanie
  • Wnioskowanie

Dane

Dane to siła napędowa systemów uczących się. Dane występują w postaci słów i liczb zapisanych w tabelach lub w postaci wartości pikseli i fal zarejestrowanych w plikach graficznych i audio. Powiązane dane przechowujemy w zbiorach danych. Możemy np. mieć taki zbiór danych:

  • Zdjęcia kotów
  • Ceny mieszkań
  • Informacje o pogodzie

Zbiory danych składają się z pojedynczych przykładów zawierających funkcje i etykietę. Przykład przypomina pojedynczy wiersz w arkuszu kalkulacyjnym. Cechy to wartości, których model nadzorowany używa do prognozowania etykiety. Etykieta to „odpowiedź” lub wartość, którą ma prognozować model. W modelu pogodowym, który przewiduje opady deszczu, właściwościami mogą być: szerokość geograficzna, długość geograficzna, temperatura, wilgotność, zachmurzenie, kierunek wiatru i ciśnienie atmosferyczne. Etykieta będzie wyglądać tak: ilość opadów deszczu.

Przykłady, które zawierają zarówno funkcje, jak i etykietę, są nazywane przykładami z etykietami.

2 przykłady z etykietami

Obraz zastępczy.

W przeciwieństwie do przykładów bez etykiet przykłady zawierają funkcje, ale nie mają etykiety. Gdy utworzysz model, będzie on prognozował etykietę na podstawie cech.

2 przykłady bez etykiet

Obraz zastępczy.

Charakterystyka zbioru danych

Zbiór danych charakteryzuje się wielkością i różnorodnością. „Rozmiar” wskazuje liczbę przykładów. Różnorodność wskazuje zakres uwzględniany w tych przykładach. Dobre zbiory danych są duże i bardzo zróżnicowane.

Niektóre zbiory danych są duże i zróżnicowane. Niektóre zbiory danych są jednak duże, ale niewielkie zróżnicowanie, a inne są niewielkie, ale bardzo zróżnicowane. Inaczej mówiąc, duży zbiór danych nie gwarantuje wystarczającej różnorodności, a bardzo różnorodny zbiór danych nie gwarantuje wystarczającej liczby przykładów.

Na przykład zbiór danych może zawierać dane ze 100 lat, ale tylko z lipca. Użycie tego zbioru danych do prognozowania opadów w styczniu dałoby słabe prognozy. I na odwrót: zbiór danych może obejmować tylko kilka lat, ale obejmować wszystkie miesiące. Ten zbiór danych może generować słabe prognozy, ponieważ zawiera zbyt mało lat, aby uwzględnić zmienność.

Sprawdź swoją wiedzę

Jakie atrybuty zbioru danych najlepiej nadają się do systemów uczących się?
Duży rozmiar / Duża różnorodność
Duża liczba przykładów, które obejmują różne przypadki użycia, jest niezbędna, aby system systemów uczących się mógł zrozumieć podstawowe wzorce w danych. Model wytrenowany na zbiorze danych tego typu z większym prawdopodobieństwem wygeneruje dobre prognozy na nowych danych.
Duży rozmiar / mała różnorodność
Modele systemów uczących się są tak skuteczne, jak przykłady użyte do ich trenowania. Model wygeneruje gorsze prognozy na nowych danych, na których nigdy nie został trenowany.
Mały rozmiar / duża różnorodność
Większość modeli nie może znaleźć wiarygodnych wzorców w małym zbiorze danych. Prognozy nie mają pewności, co zapewnia większy zbiór danych.
Mały rozmiar / mała różnorodność
Jeśli Twój zbiór danych jest mały i nie różni się znacznie, systemy uczące się mogą nie być przydatne.

Zbiór danych można też scharakteryzować liczbą jego cech. Na przykład niektóre zbiory danych o pogodzie mogą zawierać setki elementów, od zdjęć satelitarnych po wartości pokrycia chmur. Inne zbiory danych mogą zawierać tylko 3 lub 4 cechy, takie jak wilgotność, ciśnienie atmosferyczne i temperatura. Zbiory danych z większą liczbą cech mogą pomóc modelowi w wykrywaniu dodatkowych wzorców i tworzeniu lepszych prognoz. Jednak zbiory danych z większą liczbą cech nie zawsze generują modele, które dają lepsze prognozy, ponieważ niektóre cechy mogą nie mieć związku przyczynowo-skutkowego z etykietą.

Model

W uczeniu nadzorowanym model to złożony zbiór liczb, który definiuje matematyczną relację od określonych wzorców cech wejściowych do określonych wartości etykiet wyjściowych. Model wykrywa te wzorce przez trenowanie.

Szkolenia

Zanim model nadzorowany będzie mógł wygenerować prognozy, trzeba go wytrenować. Aby wytrenować model, przekazujemy mu zbiór danych z przykładami oznaczonymi etykietami. Celem modelu jest znalezienie najlepszego rozwiązania do prognozowania etykiet na podstawie cech. Model znajduje najlepsze rozwiązanie, porównując swoją przewidywaną wartość z rzeczywistą wartością etykiety. Na podstawie różnicy między wartościami prognozowanymi a rzeczywistymi – zdefiniowanymi jako strata – model stopniowo aktualizuje swoje rozwiązanie. Inaczej mówiąc, model uczy się matematycznego związku między cechami a etykietą, aby formułować jak najlepsze prognozy na podstawie niewidocznych danych.

Jeśli na przykład model przewidział 1.15 inches deszczu, ale rzeczywista wartość to .75 inches, model zmieni swoje rozwiązanie tak, aby prognoza była zbliżona do wartości .75 inches. Po przeanalizowaniu przez model każdego przykładu w zbiorze danych – w niektórych przypadkach – w wielu przypadkach – dociera do rozwiązania, które średnio w przypadku każdego z przykładów tworzy najlepsze prognozy.

Poniżej znajdziesz przykład trenowania modelu:

  1. Model bierze pod uwagę 1 przykład oznaczony etykietą i dostarcza prognozę.

    Obraz przedstawiający model przeprowadzający prognozę.

    Rysunek 1. Model ML tworzący prognozę na podstawie przykładu oznaczonego etykietą.

     

  2. Model porównuje swoją przewidywaną wartość z wartością rzeczywistą i aktualizuje swoje rozwiązanie.

    Obraz przedstawiający model porównujący jego prognozę z wartością rzeczywistą.

    Rysunek 2. Model ML aktualizuje swoją wartość prognozowaną.

     

  3. Model powtarza ten proces dla każdego oznaczonego etykietą przykładu w zbiorze danych.

    Obraz modelu, na którym powtarza się proces prognozowania w porównaniu z wartością rzeczywistą.

    Rysunek 3. Model ML aktualizuje swoje prognozy dla każdego przykładu oznaczonego etykietami w zbiorze danych treningowych.

     

W ten sposób model stopniowo uczy się właściwego związku między cechami a etykietą. Taka stopniowa wiedza pozwala też tworzyć lepsze modele z dużych i zróżnicowanych zbiorów danych. Model zauważył więcej danych z szerszym zakresem wartości i doprecyzował zrozumienie relacji między cechami a etykietą.

Podczas trenowania pracownicy korzystający z systemów uczących się mogą wprowadzać drobne zmiany w konfiguracji i funkcjach, których model używa do tworzenia prognoz. Na przykład niektóre funkcje mają większą moc przewidywania niż inne. Osoby korzystające z systemów uczących się mogą wybrać funkcje używane przez model podczas trenowania. Załóżmy np., że zbiór danych o pogodzie zawiera funkcję time_of_day. W takim przypadku osoba pracująca nad systemami uczącymi się może dodać lub usunąć time_of_day podczas trenowania, aby sprawdzić, czy model tworzy lepsze prognozy bez niego, czy bez.

Sprawdzanie

Oceniamy wytrenowany model, aby określić, jak dobrze się nauczył. Gdy oceniamy model, korzystamy ze zbioru danych oznaczonego etykietami, ale udostępniamy modelowi tylko cechy zbioru danych. Następnie porównujemy prognozy modelu z rzeczywistymi wartościami etykiety.

Obraz przedstawiający wytrenowany model, w którym prognozy są porównywane z rzeczywistymi wartościami.

Rysunek 4. Ocena modelu ML przez porównanie jego prognoz z wartościami rzeczywistymi.

 

W zależności od prognoz modelu możemy przeprowadzić więcej trenowania i oceny przed wdrożeniem go w rzeczywistej aplikacji.

Sprawdź swoją wiedzę

Dlaczego model musi zostać wytrenowany, zanim będzie mógł generować prognozy?
Należy wytrenować model tak, aby nauczył się matematycznej relacji między cechami a etykietą w zbiorze danych.
Modelu nie trzeba trenować. Modele są dostępne na większości komputerów.
Model należy wytrenować, aby nie wymagał danych do prognozowania.

Wnioskowanie

Jeśli wyniki oceny modelu są zadowalające, możemy go użyć do tworzenia prognoz (tzw. wnioskowania) na przykładach bez etykiet. W przykładzie z aplikacją pogodową przekażemy modelowi bieżące warunki pogodowe – takie jak temperatura, ciśnienie atmosferyczne i wilgotność względna – i przewidzi ilość opadów.