Pogłębiony przewodnik po nadzorowanym uczeniu maszynowym klasyfikacji

Uczenie maszynowe to nauka (i sztuka) programowania komputerów, aby mogły uczyć się na podstawie danych.

dziedzina nauki, która daje komputerom zdolność uczenia się bez wyraźnego programowania. – Arthur Samuel, 1959

lepsza definicja:

O programie komputerowym mówi się, że uczy się na podstawie doświadczenia E w odniesieniu do jakiegoś zadania T i jakiejś miary wydajności P, jeśli jego wydajność w T, mierzona przez P, poprawia się wraz z doświadczeniem E. – Tom Mitchell, 1997

Na przykład, twój filtr antyspamowy jest programem uczącym się maszynowo, który może nauczyć się oznaczać spam po otrzymaniu przykładów wiadomości spamowych, które są oznaczane przez użytkowników, oraz przykładów zwykłych wiadomości nie będących spamem (zwanych również „ham”). Przykłady, których system używa do nauki, nazywane są zbiorem treningowym. W tym przypadku, zadanie (T) polega na oznaczaniu spamu dla nowych wiadomości e-mail, doświadczenie (E) to dane treningowe, a miara wydajności (P) musi zostać zdefiniowana. Na przykład, można użyć współczynnika poprawnie sklasyfikowanych wiadomości e-mail jako P. Ta konkretna miara wydajności nazywa się dokładnością i jest często używana w zadaniach klasyfikacji, ponieważ jest to podejście uczenia nadzorowanego.

Zanurz się głębiejWprowadzenie do uczenia maszynowego dla początkujących

Uczenie nadzorowane

W uczeniu nadzorowanym, algorytmy uczą się z oznaczonych danych. Po zrozumieniu danych, algorytm określa, jaką etykietę należy nadać nowym danym poprzez skojarzenie wzorców z nowymi danymi bez etykiet.

Uczenie nadzorowane można podzielić na dwie kategorie: klasyfikację i regresję.

Klasyfikacja przewiduje kategorię, do której należą dane.

Niektóre przykłady klasyfikacji obejmują wykrywanie spamu, przewidywanie churn, analizę sentymentu, wykrywanie ras psów i tak dalej.

Regresja przewiduje wartość liczbową na podstawie wcześniej zaobserwowanych danych.

Niektóre przykłady regresji obejmują przewidywanie cen domów, przewidywanie cen akcji, przewidywanie wzrostu-wagi i tak dalej.

Dive DeeperA Tour of the Top 10 Algorithms for Machine Learning Newbies

Klasyfikacja

Klasyfikacja jest techniką określania, do której klasy należy zmienna zależna na podstawie jednej lub więcej zmiennych niezależnych.

Klasyfikacja jest używana do przewidywania dyskretnych odpowiedzi.

superwizowane uczenie maszynowe ilustracja

Regresja logistyczna

Regresja logistyczna jest trochę jak regresja liniowa, ale jest używana, gdy zmienna zależna nie jest liczbą, ale czymś innym (np, odpowiedź „tak/nie”). To się nazywa regresja, ale wykonuje klasyfikację w oparciu o regresję i klasyfikuje zmienną zależną do jednej z klas.

nadzorowane uczenie maszynowe regresja logistyczna

Regresja logistyczna jest używana do przewidywania danych wyjściowych, które są binarne, jak stwierdzono powyżej. Na przykład, jeśli firma obsługująca karty kredytowe buduje model, aby zdecydować, czy wydać kartę kredytową klientowi, będzie modelować, czy klient będzie „zalegał” czy „nie zalegał” ze spłatą swojej karty.

nadzorowane uczenie maszynowe regresja liniowa
regresja liniowa

Po pierwsze, regresja liniowa jest wykonywana na związku między zmiennymi, aby uzyskać model. Próg dla linii klasyfikacyjnej przyjmuje się na poziomie 0,5.

maszyna nadzorowana logistyczna funkcja sigmoidalna
Logistyczna funkcja sigmoidalna

Funkcja logistyczna jest stosowana do regresji w celu uzyskania prawdopodobieństw przynależności do jednej z klas.

Daje ona log prawdopodobieństwa wystąpienia zdarzenia do log prawdopodobieństwa jego niewystąpienia. W końcu klasyfikuje zmienną na podstawie wyższego prawdopodobieństwa jednej z klas.

superwizowane uczenie maszynowe log

K-Najbliżsi Sąsiedzi (K-NN)

Algorytm K-NN jest jednym z najprostszych algorytmów klasyfikacji i jest używany do identyfikacji punktów danych, które są rozdzielone na kilka klas, aby przewidzieć klasyfikację nowego punktu próbki. K-NN jest nieparametrycznym, leniwym algorytmem uczącym. Klasyfikuje on nowe przypadki w oparciu o miarę podobieństwa (tj, funkcji odległości).

superwizowane uczenie maszynowe klasyfikacja knn 1superwizowane uczenie maszynowe klasyfikacja knn 2superwizowane uczenie maszynowe klasyfikacja knn 3superwizowane uczenie maszynowe klasyfikacja knn 4superwizowane uczenie maszynowe klasyfikacja knn 5

K-NN działa dobrze z małą liczbą zmiennych wejściowych (p), ale zmaga się z problemami, gdy liczba zmiennych wejściowych jest bardzo duża.

Maszyna wektorów nośnych (SVM)

Maszyna wektorów nośnych jest używana zarówno do regresji, jak i klasyfikacji. Jest on oparty na koncepcji płaszczyzn decyzyjnych, które definiują granice decyzji. A decision plane (hyperplane) is one that separates between a set of objects having different class memberships.

supervised machine learning support vectors

I performs classification by finding the hyperplane that maximizes the margin between the two classes with the help of support vectors.

supervised machine learning classification svc

Uczenie hiperpłaszczyzny w SVM odbywa się poprzez przekształcenie problemu przy użyciu pewnej algebry liniowej (tj, powyższy przykład jest liniowym jądrem, które ma liniową separowalność między każdą zmienną).

Dla danych o wyższym wymiarze, inne jądra są używane jako punkty i nie mogą być łatwo sklasyfikowane. Są one określone w następnej sekcji.

Kernel SVM

Kernel SVM przyjmuje funkcję jądra w algorytmie SVM i przekształca ją w wymaganą formę, która odwzorowuje dane na wyższym wymiarze, który jest separowalny.

Typami funkcji jądra są:

Typy funkcji jądra w klasyfikacji uczenia maszynowego
Rodzaje funkcji jądra
  1. Liniowa SVM to ta, którą omówiliśmy wcześniej.
  2. W jądrze wielomianowym należy określić stopień wielomianu. Pozwala on na uzyskanie zakrzywionych linii w przestrzeni wejściowej.
  3. W jądrze radial basis function (RBF), jest ono stosowane dla zmiennych separowalnych nieliniowo. Dla odległości używana jest metryczna kwadratowa odległość euklidesowa. Użycie typowej wartości parametru może prowadzić do przepasowania naszych danych. Jest on domyślnie używany w sklearn.
  4. Kernel sigmoidalny, podobny do regresji logistycznej jest używany do klasyfikacji binarnej.

supervised machine learning classification kernel trick

Kernel trick wykorzystuje funkcję jądra do transformacji danych do przestrzeni cech o wyższym wymiarze i umożliwia przeprowadzenie liniowej separacji dla klasyfikacji.

Radial Basis Function (RBF) Kernel

Region decyzyjny jądra RBF SVM jest w rzeczywistości również liniowym regionem decyzyjnym. To, co faktycznie robi jądro RBF SVM, to tworzenie nieliniowych kombinacji cech w celu podniesienia próbek do wyższego wymiaru przestrzeni cech, gdzie liniowa granica decyzyjna może być użyta do oddzielenia klas.

supervised machine learning classification radial basis function

Więc, zasada kciuka brzmi: użyj liniowych SVM dla problemów liniowych, a nieliniowych jąder, takich jak jądro RBF dla problemów nieliniowych.

Naive Bayes

Klasyfikator naiwny Bayesa jest oparty na twierdzeniu Bayesa z założeniami niezależności między predyktorami (tj, zakłada, że obecność cechy w klasie nie jest związana z żadną inną cechą). Nawet jeśli cechy te zależą od siebie, lub od istnienia innych cech, wszystkie te właściwości występują niezależnie. Stąd nazwa naive Bayes.

supervised machine learning classification bayes theorem

Based on naive Bayes, Gaussian naive Bayes is used for classification based on the binomial (normal) distribution of data.

supervised machine learning classification gaussian naive bayes

  • P(class|data) is the posterior probability of class(target) given predictor(attribute). Prawdopodobieństwo, że punkt danych posiada którąś z klas, biorąc pod uwagę punkt danych. Jest to wartość, którą chcemy obliczyć.
  • P(class) jest prawdopodobieństwem uprzednim klasy.
  • P(data|class) jest prawdopodobieństwem, które jest prawdopodobieństwem predyktora biorąc pod uwagę klasę.
  • P(dane) to prawdopodobieństwo predyktora lub prawdopodobieństwo krańcowe.
superwizowane uczenie maszynowe klasyfikacja nb

Kroki

1. Calculate Prior Probability

P(class) = Number of data points in the class/Total no. of observations

P(yellow) = 10/17

P(green) = 7/17

2. Oblicz prawdopodobieństwo krańcowe

P(dane) = Liczba punktów danych podobnych do obserwacji/Całkowita liczba obserwacji

P(?) = 4/17

Wartość występuje przy sprawdzaniu obu prawdopodobieństw.

3. Oblicz prawdopodobieństwo

P(dane/klasa) = Liczba podobnych obserwacji do klasy/Całkowita liczba punktów w klasie.

P(?/żółty) = 1/7

P(?/zielony) = 3/10

4. prawdopodobieństwo potomne dla każdej klasy

superwizowane uczenie maszynowe klasyfikacja prawdopodobieństwo potomne

5. Klasyfikacja

superwizowane uczenie maszynowe klasyfikacja

Wyższe prawdopodobieństwo, klasa należy do tej kategorii, jak z powyżej 75% prawdopodobieństwa punkt należy do klasy zielonej.

Multinomial, Bernoulli naive Bayes są inne modele używane do obliczania prawdopodobieństw. Model naiwnego Bayesa jest łatwy do zbudowania, bez skomplikowanej iteracyjnej estymacji parametrów, co czyni go szczególnie użytecznym dla bardzo dużych zbiorów danych.

Klasyfikacja drzewa decyzyjnego

Drzewo decyzyjne buduje modele klasyfikacji lub regresji w postaci struktury drzewa. Rozbija zbiór danych na coraz mniejsze podzbiory, a jednocześnie powiązane z nim drzewo decyzyjne jest rozwijane przyrostowo. Efektem końcowym jest drzewo z węzłami decyzyjnymi i węzłami liści. It follows Iterative Dichotomiser 3(ID3) algorithm structure for determining the split.

supervised machine learning classification decision trees

Entropia i zysk informacyjny są wykorzystywane do konstrukcji drzewa decyzyjnego.

Entropia

Entropia jest stopniem lub ilością niepewności w losowości elementów. Innymi słowy, jest to miara nieczystości.

supervised machine learning classification entropy

Intuicyjnie, mówi nam o przewidywalności pewnego zdarzenia. Entropia oblicza homogeniczność próbki. Jeśli próbka jest całkowicie jednorodna, entropia wynosi zero, a jeśli próbka jest równo podzielona, ma entropię równą jeden.

Zysk informacji

Zysk informacji mierzy względną zmianę entropii w odniesieniu do niezależnego atrybutu. Próbuje on oszacować informację zawartą w każdym atrybucie. Konstruowanie drzewa decyzyjnego polega na znalezieniu atrybutu, który zwraca największy przyrost informacji (tj, najbardziej jednorodne gałęzie).

superwizowane uczenie maszynowe klasyfikacja zysk informacyjny

Gdzie Gain(T, X) jest zyskiem informacyjnym poprzez zastosowanie cechy X. Entropia(T) jest entropią całego zbioru, podczas gdy drugi człon oblicza entropię po zastosowaniu cechy X.

Zysk informacyjny szereguje atrybuty do filtrowania w danym węźle drzewa. Ranking jest oparty na najwyższej entropii zysku informacyjnego w każdym podziale.

Wadą modelu drzewa decyzyjnego jest nadmierne dopasowanie, ponieważ próbuje dopasować model, wchodząc głębiej w zbiór treningowy, a tym samym zmniejszając dokładność testu.

supervised machine learning classification overfitting

Overfitting w drzewach decyzyjnych może być zminimalizowany przez przycinanie węzłów.

Ensemble Methods for Classification

Model ensemble to zespół modeli. Z technicznego punktu widzenia, modele zespołowe składają się z kilku modeli uczenia nadzorowanego, które są indywidualnie trenowane, a wyniki łączone na różne sposoby w celu uzyskania ostatecznej prognozy. Wynik ten ma wyższą moc predykcyjną niż wyniki któregokolwiek z tworzących go algorytmów uczenia się niezależnie.

nadzorowane uczenie maszynowe metody klasyfikacji zespołowej

klasyfikacja losowego lasu

Klasyfikator losowego lasu jest algorytmem zespołowym opartym na bagowaniu, tj. agregacji bootstrapowej. Metody ensemble łączą więcej niż jeden algorytm tego samego lub różnego rodzaju do klasyfikacji obiektów (np, Zespół SVM, naive Bayes lub drzew decyzyjnych, na przykład.)

supervised machine learning classification bagging

Ogólna idea jest taka, że połączenie modeli uczenia zwiększa ogólny wybrany wynik.

supervised machine learning classification random forrest

Głębokie drzewa decyzyjne mogą cierpieć z powodu przepasowania, ale lasy losowe zapobiegają przepasowaniu poprzez tworzenie drzew na losowych podzbiorach. Głównym powodem jest to, że bierze średnią ze wszystkich przewidywań, co niweluje uprzedzenia.

Las losowy dodaje dodatkową losowość do modelu podczas wzrostu drzew. Zamiast szukać najważniejszej cechy podczas dzielenia węzła, szuka najlepszej cechy wśród losowego podzbioru cech. Dzięki temu uzyskuje się dużą różnorodność, która generalnie skutkuje lepszym modelem.

Klasyfikator Gradient Boosting

Klasyfikator Gradient Boosting jest metodą zespołu boostingu. Boosting jest sposobem łączenia (ensemble) słabych uczących, głównie w celu zmniejszenia błędu przewidywania. Zamiast tworzenia puli predyktorów, jak w przypadku baggingu, boosting tworzy kaskadę predyktorów, gdzie każde wyjście jest wejściem dla kolejnego uczącego. Zazwyczaj, w algorytmie baggingowym drzewa są hodowane równolegle, aby uzyskać średnią predykcję dla wszystkich drzew, gdzie każde drzewo jest budowane na próbce oryginalnych danych. Gradient boosting, z drugiej strony, przyjmuje sekwencyjne podejście do uzyskiwania przewidywań zamiast równoległego budowania drzew. W gradient boosting, każde drzewo decyzyjne przewiduje błąd poprzedniego drzewa decyzyjnego – tym samym zwiększając (poprawiając) błąd (gradient).

supervised machine learning classification boosting

Working of Gradient Boosting

  1. Inicjalizacja przewidywań z prostym drzewem decyzyjnym.
  2. Oblicz wartość rezydualną (rzeczywista-przewidywana).
  3. Zbuduj kolejne płytkie drzewo decyzyjne, które przewiduje wartość rezydualną na podstawie wszystkich niezależnych wartości.
  4. Uaktualnij oryginalną prognozę za pomocą nowej prognozy pomnożonej przez współczynnik uczenia.
  5. Powtarzaj kroki od drugiego do czwartego przez określoną liczbę iteracji (liczba iteracji będzie równa liczbie drzew).
supervised machine learning classification rf gb

Checkout this post: Gradient Boosting From Scratch

Wyniki modeli klasyfikacyjnych

Macierz konfuzji

Macierz konfuzji to tabela, która jest często używana do opisania wydajności modelu klasyfikacyjnego na zbiorze danych testowych, dla których znane są prawdziwe wartości. Jest to tabela z czterema różnymi kombinacjami wartości przewidywanych i rzeczywistych w przypadku klasyfikatora binarnego.

supervised machine learning classification multiclass matrix

Macierz konfuzji dla problemu klasyfikacji wieloklasowej może pomóc w określeniu wzorców błędów.

Dla klasyfikatora binarnego:

supervised machine learning classification binary confusion matrix

Prawdziwie pozytywny to wynik, w którym model poprawnie przewiduje klasę pozytywną. Podobnie, prawdziwy negatyw jest wynikiem, w którym model poprawnie przewiduje klasę negatywną.

Fałszywy pozytywny &fałszywy negatywny

Pojęcia fałszywy pozytywny i fałszywy negatywny są używane w określaniu, jak dobrze model przewiduje w odniesieniu do klasyfikacji. Fałszywy pozytywny to wynik, w którym model błędnie przewiduje klasę pozytywną. I fałszywy negatywny jest wynikiem, gdzie model nieprawidłowo przewiduje klasę negatywną. Im więcej wartości na głównej przekątnej, tym lepszy model, podczas gdy druga przekątna daje najgorszy wynik klasyfikacji.

Fałszywy pozytywny

Przykład, w którym model błędnie przewidział klasę pozytywną. Na przykład, model wywnioskował, że dana wiadomość e-mail jest spamem (klasa pozytywna), ale ta wiadomość e-mail w rzeczywistości nie była spamem. To jest jak znak ostrzegawczy, że błąd powinien zostać naprawiony, ponieważ nie jest to zbyt poważny problem w porównaniu z fałszywym negatywem.

Fałszywy pozytyw (błąd typu I) – kiedy odrzucasz prawdziwą hipotezę zerową

superwizowane uczenie maszynowe klasyfikacja fałszywy pozytyw

Fałszywy negatyw

Przykład, w którym model błędnie przewidział klasę negatywną. Na przykład, model wywnioskował, że dana wiadomość e-mail nie jest spamem (klasa negatywna), ale ta wiadomość e-mail faktycznie była spamem. Jest to jak znak niebezpieczeństwa, że błąd powinien być naprawiony wcześnie, ponieważ jest poważniejszy niż fałszywy pozytyw.

Fałszywy negatyw (błąd typu II) – kiedy przyjmujemy fałszywą hipotezę zerową.

supervised machine learning classification false negative

To zdjęcie doskonale ilustruje powyższą metrykę. Wynik testu mężczyzny jest fałszywie pozytywny, ponieważ mężczyzna nie może być w ciąży. Wyniki testu kobiety są fałszywie negatywne, ponieważ jest ona w ciąży.

Z macierzy konfuzji możemy wywnioskować dokładność, precyzję, przywołanie i wynik F-1.

Precyzyjność

Precyzyjność to ułamek przewidywań, w których nasz model miał rację.

dokładność klasyfikacji uczenia maszynowego

Dokładność może być również zapisana jako

dokładność klasyfikacji uczenia maszynowego

Dokładność sama w sobie nie mówi wszystkiego, gdy pracujemy z zestawem danych niezrównoważonych klasowo, gdzie istnieje znaczna rozbieżność między liczbą etykiet pozytywnych i negatywnych. Precyzja i przywołanie są lepszymi metrykami do oceny problemów związanych z nierównowagą klas.

Precyzja

Precyzja jest to ilość przewidywanych przez nas poprawnych wyników dla wszystkich klas.

precyzja klasyfikacji uczenia maszynowego

Precyzja powinna być jak najwyższa.

Przywołanie

Przywołanie jest to ilość przewidywanych przez nas poprawnych wyników dla wszystkich pozytywnych klas. Jest również nazywany czułością lub współczynnikiem TPR (ang. true positive rate).

supervised machine learning classification recall

Recall powinien być tak wysoki, jak to tylko możliwe.

F-1 Score

Często wygodnie jest połączyć precyzję i recall w jedną metrykę zwaną wynikiem F-1, szczególnie jeśli potrzebujemy prostego sposobu na porównanie dwóch klasyfikatorów. Wynik F-1 jest średnią harmoniczną precyzji i wycofania.

superwizowane uczenie maszynowe klasyfikacja f1 score

Średnia regularna traktuje wszystkie wartości jednakowo, podczas gdy średnia harmoniczna daje znacznie większą wagę niskim wartościom, karząc tym samym wartości skrajne bardziej. W rezultacie, klasyfikator otrzyma wysoki wynik F-1 tylko wtedy, gdy zarówno odwołanie jak i precyzja są wysokie.

Krzywa operatora odbiorcy (ROC) &Obszar pod krzywą (AUC)

Krzywa ROC jest ważną metryką oceny klasyfikacji. Mówi nam, jak dobrze model dokładnie przewidział. Krzywa ROC pokazuje czułość klasyfikatora poprzez wykreślenie wskaźnika prawdziwych pozytywów do wskaźnika fałszywych pozytywów. Jeśli klasyfikator jest wybitny, współczynnik prawdziwych pozytywów wzrośnie, a obszar pod krzywą będzie bliski jedności. Jeżeli klasyfikator jest podobny do losowego zgadywania, współczynnik prawdziwych wyników pozytywnych będzie rósł liniowo wraz ze współczynnikiem fałszywych wyników pozytywnych. Im lepsza miara AUC, tym lepszy model.

superwizowane uczenie maszynowe klasyfikacja roc

Krzywe profilu skumulowanej dokładności

WPR modelu przedstawia skumulowaną liczbę pozytywnych wyników wzdłuż osi y versus odpowiadającą jej skumulowaną liczbę parametrów klasyfikujących wzdłuż osi x. CAP różni się od charakterystyki operacyjnej odbiornika (ROC), która przedstawia współczynnik prawdziwie pozytywny w stosunku do współczynnika fałszywie pozytywnego. Krzywa CAP jest rzadko używana w porównaniu z krzywą ROC.

superwizowane uczenie maszynowe klasyfikacja krzywa cap

Rozważmy model, który przewiduje, czy klient kupi produkt. Jeśli klient zostanie wybrany losowo, istnieje 50% szans, że kupi produkt. Skumulowana liczba elementów, dla których klient dokona zakupu, będzie rosła liniowo w kierunku wartości maksymalnej odpowiadającej całkowitej liczbie klientów. Rozkład ten nazywany jest „losowym” CAP. Jest to niebieska linia na powyższym wykresie. Doskonała prognoza, z drugiej strony, dokładnie określa, który klient kupi produkt, tak że maksymalna liczba klientów kupujących nieruchomość zostanie osiągnięta przy minimalnej liczbie klientów wybierających spośród elementów. Tworzy to stromą linię na krzywej CAP, która pozostaje płaska po osiągnięciu maksimum, co jest „perfekcyjnym” CAP. Jest również nazywany „idealną” linią i jest szarą linią na rysunku powyżej.

W końcu model powinien przewidywać, gdzie maksymalizuje poprawne przewidywania i zbliża się do idealnej linii modelu.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.