Nauka nadzorowana

Zadania uczenia się nadzorowanego są dobrze zdefiniowane i można je stosować w wielu sytuacjach, takich jak identyfikowanie spamu lub przewidywanie opadów.

Podstawowe koncepcje nadzorowanego uczenia się

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

  • Dane
  • Model
  • Szkolenia
  • Sprawdzanie
  • Wnioskowanie

Dane

Dane są siłą napędową systemów uczących się. Dane przychodzą w postaci słów i liczb przechowywanych w tabelach lub wartości pikseli i fali rejestrowanych na obrazach i plikach audio. Powiązane dane przechowujemy w zbiorach danych. Możemy na przykład mieć taki zbiór danych:

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

Zbiory danych składają się z poszczególnych przykładów zawierających funkcje i etykietę. Przykład można porównać do pojedynczego wiersza 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ść, pokrycie chmur, kierunek wiatru i ciśnienie atmosferyczne. Etykieta miałaby postać ilość opadów deszczu.

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

2 przykłady z etykietą

Obraz zastępczy.

Przykłady bez etykiet zawierają funkcje, ale nie zawierają etykiety. Gdy utworzysz model, prognozuje on etykietę na podstawie cech.

2 przykłady bez etykiet

Obraz zastępczy.

Charakterystyka zbioru danych

Zbiór danych charakteryzuje się rozmiarem i różnorodnością. Rozmiar wskazuje liczbę przykładów. Różnorodność wskazuje zakres, którego dotyczą przykłady. 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ą duże, ale mało zróżnicowane, a inne – 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 sprzed 100 lat, ale tylko z lipca. Wykorzystanie 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 zawierać dane z całego miesiąca. Ten zbiór danych może generować słabe prognozy, ponieważ nie ma wystarczającej liczby lat, aby uwzględnić zmienność.

Sprawdź swoją wiedzę

Które atrybuty zbioru danych najlepiej nadają się do wykorzystania przez systemy uczące 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 dla systemów uczących się w zrozumieniu podstawowych wzorców danych. Model wytrenowany na zbiorze danych tego typu ma większe szanse na stworzenie dobrych prognoz dotyczących 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 będzie generować gorsze prognozy na nowych danych, na których nigdy nie został wytrenowany.
Mały rozmiar / duża różnorodność
Większość modeli nie potrafi znaleźć wiarygodnych wzorców w małym zbiorze danych. Prognozy będą niepewne, jakie zapewnia większy zbiór danych.
Mały rozmiar / mała różnorodność
Jeśli zbiór danych jest mały i nie ulega znacznym zmianom, systemy uczące się mogą nie być dla Ciebie przydatne.

Zbiór danych może też być scharakteryzowany liczbą jego cech. Na przykład niektóre zbiory danych pogodowych mogą zawierać setki elementów, od zdjęć satelitarnych po dane z zakresu 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ą funkcji mogą pomóc modelowi w odkrywaniu dodatkowych wzorców i tworzeniu lepszych prognoz. Jednak zbiory danych z większą liczbą cech nie zawsze generują modele, które generują lepsze prognozy, ponieważ niektóre cechy mogą nie mieć związku przyczynowego z etykietą.

Model

W uczeniu nadzorowanym model to złożony zbiór liczb, który definiuje matematyczną relację od wzorców określonych 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ł prognozować, 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 móc formułować jak najlepsze prognozy na podstawie niewidocznych danych.

Jeśli na przykład model przewidywał 1.15 inches opadów deszczu, ale rzeczywista wartość wynosiła .75 inches, model zmienia swoje rozwiązanie tak, aby prognoza była zbliżona do .75 inches. Po przeanalizowaniu każdego przykładu w zbiorze danych (w niektórych przypadkach kilkukrotnie) model dotarł do rozwiązania, które średnio w przypadku każdego z przykładów przedstawia najlepsze prognozy.

Poniżej przedstawiamy trenowanie modelu:

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

    Obraz modelu wykonującego prognozę.

    Rysunek 1. Model ML generują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 modelu porównujący swoją prognozę z wartością rzeczywistą.

    Rysunek 2. Model ML aktualizujący swoją wartość prognozowaną.

     

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

    Obraz modelu powtarzający proces prognozowania w porównaniu z rzeczywistą wartością.

    Rysunek 3. Model ML aktualizujący swoje prognozy dla każdego przykładu oznaczonego etykietą w zbiorze danych treningowych.

     

W ten sposób model stopniowo uczy się prawidłowej relacji między cechami a etykietą. Stopniowa wiedza pozwala też na to, aby duże i zróżnicowane zbiory danych generowały lepszy model. Model wykrył więcej danych o szerszym zakresie wartości i doprecyzował rozumienie relacji między cechami a etykietą.

Podczas trenowania osoby korzystające z systemów uczących się mogą w niewielkim stopniu dostosować konfiguracje i funkcje używane przez model do prognozowania. Na przykład niektóre funkcje mają większą moc przewidywania niż inne. Dlatego osoby zajmujące się systemami uczącymi się mogą wybrać funkcje używane przez model podczas trenowania. Załóżmy, że zbiór danych o pogodzie zawiera funkcję time_of_day. W tym przypadku osoba korzystająca z systemów uczących się może dodać lub usunąć time_of_day podczas trenowania, aby sprawdzić, czy model tworzy lepsze prognozy z nim czy bez.

Sprawdzanie

Oceniamy wytrenowany model, aby określić, jak dobrze się go nauczył. Podczas oceniania modelu używamy zbioru danych oznaczonego etykietami, ale udostępniamy modelowi tylko jego funkcje. Następnie porównujemy prognozy modelu z prawdziwymi wartościami etykiety.

Obraz przedstawiający wytrenowany model porównujący prognozy z rzeczywistymi wartościami.

Rysunek 4. ocenić model 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, zanim wdrożymy model w rzeczywistej aplikacji.

Sprawdź swoją wiedzę

Dlaczego model musi zostać wytrenowany, zanim będzie mógł generować prognozy?
Model musi być wytrenowany, aby mógł poznać matematyczną relację między cechami a etykietą w zbiorze danych.
Modelu nie trzeba trenować. Modele są dostępne na większości komputerów.
Model musi być wytrenowany, aby prognozowanie nie wymagało danych.

Wnioskowanie

Jeśli wyniki oceny modelu będą zadowalające, możemy go użyć do generowania prognoz (nazywanych wnioskami) na przykładach bez etykiet. W przykładzie aplikacji pogodowej przekażemy modelowi bieżące warunki pogodowe, takie jak temperatura, ciśnienie atmosferyczne i wilgotność względna, oraz przewidziany zakres opadów.