Omówienie zasad uczenia maszynowego
Uczenie maszynowe to technika programowania używana do tworzenia modeli predykcyjnych. W przeciwieństwie do typowego programowania, w którym kod jest używany do opisywania określonych kroków w celu uzyskania wyniku; Uczenie maszynowe opiera się na użyciu algorytmu do iteratywnego eksplorowania relacji między funkcjami jednostki danych a etykietą, która powinna przewidywać wynikowy model. Algorytmy uczenia maszynowego są oparte na teorii prawdopodobieństwa i statystykach oraz polegają na dużych ilościach danych, za pomocą których należy wytrenować model.
Na uproszczonym poziomie model uczenia maszynowego jest funkcją, która przyjmuje cechy obserwowanej jednostki (jej cechy) i wykonuje na nich obliczenia w celu zwrócenia przewidywanej etykiety. Często odnosi się to ogólnie do funkcji x i przewidywanej etykiety jako y, dlatego model uczenia maszynowego jest funkcją f w wyrażeniu y = f(x)
.
Konkretna operacja wykonywana przez funkcję w celu obliczenia wartości etykiety jest określana przez algorytm używany do trenowania modelu.
Typy uczenia maszynowego
Ogólnie rzecz biorąc, istnieją dwa typowe rodzaje uczenia maszynowego:
- Nadzorowane uczenie maszynowe, w którym model jest trenowany przy użyciu danych zawierających znane wartości etykiet (dlatego algorytm używa istniejących danych do ustanowienia relacji między x i y, co powoduje zastosowanie funkcji x do obliczenia y).
- Nienadzorowane uczenie maszynowe, w którym model jest trenowany przy użyciu tylko wartości funkcji (x) i obserwacji grup (lub klastrów) z podobnymi funkcjami.
Nadzorowane uczenie maszynowe
Ten moduł koncentruje się na nadzorowanym uczeniu maszynowym, ponieważ jest to najbardziej typowy scenariusz. W ramach szerokiej definicji nadzorowanego uczenia maszynowego istnieją dwa typowe rodzaje algorytmu uczenia maszynowego:
Algorytmy regresji , w których etykieta jest wartością liczbową, taką jak cena, temperatura, kwota lub inna wartość, którą można zmierzyć. Algorytmy regresji tworzą modele, w których funkcja (f) działa na funkcjach (x), aby obliczyć wartość liczbową etykiety (y).
Na przykład algorytm regresji może służyć do trenowania modelu, który przewiduje oczekiwaną liczbę lodów sprzedawanych przez kiosk w parku w danym dniu na podstawie funkcji takich jak miesiąc roku, dzień tygodnia, temperatura, wilgotność itd.
Algorytmy klasyfikacji , w których etykieta jest kategorią dyskretną (lub klasą). Algorytmy klasyfikacji tworzą modele, w których funkcja (f) działa na funkcjach (x), aby obliczyć wartość prawdopodobieństwa dla każdej możliwej klasy i zwraca etykietę (y) dla klasy z najwyższym prawdopodobieństwem.
Na przykład algorytm klasyfikacji może służyć do trenowania modelu, który przewiduje, czy pacjent ma cukrzycę na podstawie cech takich jak poziom insuliny krwi, waga, wzrost, wiek itd. Model klasyfikacji identyfikujący jedną z dwóch możliwych klas (takich jak true lub false) jest przykładem klasyfikacji binarnej. Algorytmy, które przewidują prawdopodobieństwo dla więcej niż dwóch klas (na przykład różnicowanie między pacjentami bez cukrzycy, cukrzycą typu 1 lub cukrzycą typu 2) są używane do klasyfikacji wieloklasowej .
Nienadzorowane uczenie maszynowe
Najczęstszą formą uczenia nienadzorowanego jest klastrowanie, w którym funkcje przypadków danych są uważane za wektor punktów w przestrzeni wielowymiarowej. Celem algorytmu klastrowania jest zdefiniowanie klastrów, które grupują punkty, tak aby przypadki z podobnymi funkcjami zostały blisko siebie, ale klastry są wyraźnie oddzielone od siebie.
Klastrowanie jest przydatne, gdy trzeba zdefiniować różne kategorie danych, ale nie masz wstępnie zdefiniowanych kategorii, do których już przypisano istniejące obserwacje danych. Możesz na przykład podzielić klientów na segmenty na podstawie podobieństw w swoich profilach. Klastrowanie może być również używane jako początkowy krok w tworzeniu rozwiązania klasyfikacji — zasadniczo klasterowanie służy do określania odpowiednich klas danych.