Co to jest uczenie maszynowe?

Ukończone

Uczenie maszynowe ma swoje początki w statystykach i modelowaniu matematycznym danych. Podstawową ideą uczenia maszynowego jest użycie danych z poprzednich obserwacji w celu przewidywania nieznanych wyników lub wartości. Na przykład:

  • Właściciel sklepu z lodami może użyć aplikacji, która łączy historyczne rekordy sprzedaży i pogody, aby przewidzieć, ile lodów prawdopodobnie sprzeda w danym dniu, na podstawie prognozy pogody.
  • Lekarz może używać danych klinicznych od poprzednich pacjentów do przeprowadzania testów automatycznych, które przewidują, czy nowy pacjent jest zagrożony cukrzycą na podstawie czynników, takich jak waga, poziom glukozy we krwi i inne pomiary.
  • Badacz na Antarktydzie może używać wcześniejszych obserwacji automatyzować identyfikację różnych gatunków pingwinów (takich jak Adelie, Gentoo lub Chinstrap) na podstawie pomiarów flipperów ptaków, rachunku i innych atrybutów fizycznych.

Uczenie maszynowe jako funkcja

Ponieważ uczenie maszynowe opiera się na matematyce i statystykach, często należy myśleć o modelach uczenia maszynowego w kategoriach matematycznych. Zasadniczo model uczenia maszynowego to aplikacja programowa, która hermetyzuje funkcję w celu obliczenia wartości wyjściowej na podstawie co najmniej jednej wartości wejściowej. Proces definiowania tej funkcji jest nazywany trenowaniem. Po zdefiniowaniu funkcji można jej użyć do przewidywania nowych wartości w procesie nazywanym wnioskowaniem.

Przyjrzyjmy się krokom zaangażowanym w trenowanie i wnioskowanie.

Diagram przedstawiający fazy trenowania i wnioskowania w uczeniu maszynowym.

  1. Dane szkoleniowe składają się z wcześniejszych obserwacji. W większości przypadków obserwacje obejmują obserwowane atrybuty lub cechy obserwowanej rzeczy oraz znaną wartość rzeczy, którą chcesz wytrenować do przewidywania (znanej jako etykieta).

    W kategoriach matematycznych często zobaczysz funkcje, o których mowa przy użyciu skróconej nazwy zmiennej x, a etykieta określana jako y. Zwykle obserwacja składa się z wielu wartości cech, więc x jest wektorem (tablica z wieloma wartościami), takim jak: [x1,x 2,x 3,...].

    Aby to wyjaśnić, rozważmy przykłady opisane wcześniej:

    • W scenariuszu sprzedaży lodów naszym celem jest wytrenować model, który może przewidzieć liczbę sprzedaży lodów na podstawie pogody. Pomiary pogody dla dnia (temperatura, opady deszczu, prędkość wiatru itd.) będą cechami (x), a liczba lodów sprzedawanych każdego dnia będzie etykietą (y).
    • W scenariuszu medycznym celem jest przewidywanie, czy pacjent jest zagrożony cukrzycą na podstawie ich pomiarów klinicznych. Pomiary pacjenta (waga, poziom glukozy we krwi itd.) są cechami (x), a prawdopodobieństwo cukrzycy (na przykład 1 dla ryzyka, 0 dla ryzyka) jest etykietą (y).
    • W scenariuszu badań antarktycznych chcemy przewidzieć gatunek pingwina na podstawie jego atrybutów fizycznych. Kluczowe pomiary pingwina (długość jego flipperów, szerokość rachunku itd.) to cechy (x) i gatunek (na przykład 0 dla Adelie, 1 dla Gentoo lub 2 dla Chinstrap) jest etykietą(y).
  2. Algorytm jest stosowany do danych, aby spróbować określić relację między funkcjami i etykietą, a uogólnić tę relację jako obliczenie, które można wykonać na x w celu obliczenia y. Określony algorytm używany zależy od rodzaju problemu predykcyjnego, który próbujesz rozwiązać (więcej na ten temat później), ale podstawową zasadą jest próba dopasowania funkcji do danych, w których wartości funkcji można użyć do obliczenia etykiety.

  3. Wynikiem algorytmu jest model, który hermetyzuje obliczenia uzyskane przez algorytm jako funkcję — nazwijmy to f. W notacji matematycznej:

    y = f(x)

  4. Po zakończeniu fazy trenowania do wnioskowania można użyć wytrenowanego modelu. Model jest zasadniczo programem programowym, który hermetyzuje funkcję utworzoną przez proces trenowania. Możesz wprowadzić zestaw wartości funkcji i otrzymać jako dane wyjściowe przewidywanie odpowiedniej etykiety. Ponieważ dane wyjściowe z modelu to przewidywanie, które zostało obliczone przez funkcję, a nie obserwowana wartość, często zobaczysz dane wyjściowe z funkcji wyświetlanej jako ŷ (co jest raczej uroczo ustalizowane jako "y-hat").