machine-learning
Nadzorowana nauka
Szukaj…
Klasyfikacja
Wyobraź sobie, że system chce wykryć jabłka i pomarańcze w koszu owoców. System może zbierać owoce, wydobywać z nich pewne właściwości (np. Wagę tego owocu).
Załóżmy, że system ma nauczyciela! który uczy system, które obiekty to jabłka, a które pomarańcze . To jest przykład nadzorowanego problemu z klasyfikacją . Jest nadzorowany, ponieważ oznaczyliśmy przykłady. Jest to klasyfikacja, ponieważ wynik jest prognozą, do której klasy należy również nasz obiekt.
W tym przykładzie rozważamy 3 cechy (właściwości / zmienne objaśniające):
- to waga wybranego owocu większa niż 0,5 grama
- ma rozmiar większy niż 10 cm
- to kolor czerwony
(0 oznacza nie, a 1 oznacza tak)
Aby przedstawić jabłko / pomarańcz, mamy szereg (zwany wektorem) 3 właściwości (często nazywany wektorem cech)
(np. [0,0,1] oznacza, że masa tego owocu nie jest większa niż 0,5 grama, a jego rozmiar nie przekracza 10 cm, a jego kolor jest czerwony)
Tak więc wybieramy losowo 10 owoców i mierzymy ich właściwości. Nauczyciel (człowiek) następnie etykietuje każdy owoc ręcznie jako jabłko => [1] lub pomarańczowy => [2] .
np. Nauczyciel wybiera owoc, który jest jabłkiem. Przedstawienie tego jabłka dla systemu może wyglądać mniej więcej tak: [1, 1, 1] => [1] , Oznacza to, że ten owoc ma 1. wagę większą niż .5 gram , 2. rozmiar większy niż 10 cm i 3. kolor tego owocu jest czerwony, a na koniec jabłko (=> [1])
Tak więc dla wszystkich 10 owoców nauczyciel oznaczy każdy owoc jabłkiem [=> 1] lub pomarańczą [=> 2], a system znalazł swoje właściwości. jak się domyślacie, mamy serię wektorów (które nazywają to macierz) reprezentujących całe 10 owoców.
Klasyfikacja owoców
W tym przykładzie model nauczy się klasyfikować owoce, biorąc pod uwagę określone cechy, wykorzystując etykiety do treningu.
Waga | Kolor | Etykieta |
---|---|---|
0,5 | Zielony | jabłko |
0,6 | fioletowy | śliwka |
3) | Zielony | arbuz |
0,1 | czerwony | wiśnia |
0,5 | czerwony | jabłko |
W tym przypadku model weźmie wagę i kolor jako funkcje do przewidywania etykiety. Na przykład [0,15, „czerwony”] powinien dać prognozę „wiśni”.
Wprowadzenie do nadzorowanego uczenia się
Istnieje wiele sytuacji, w których ktoś ma ogromne ilości danych i za pomocą których musi zaklasyfikować obiekt do jednej z kilku znanych klas. Rozważ następujące sytuacje:
Bankowość: Kiedy bank otrzymuje żądanie klienta od karty bankowej, bank musi zdecydować, czy ją wydać, czy nie, na podstawie cech klientów, którzy już korzystają z kart, dla których znana jest historia kredytowa.
Medycyna: Interesujące może być opracowanie systemu medycznego, który diagnozuje pacjenta, czy ma określoną chorobę, czy nie, w oparciu o zaobserwowane objawy i testy medyczne przeprowadzone na tym pacjencie.
Finanse: firma doradztwa finansowego chciałaby przewidzieć trend ceny akcji, który może zostać sklasyfikowany w górę, w dół lub bez trendu w oparciu o kilka cech technicznych, które regulują ruch cen.
Ekspresja genów: Naukowiec analizujący dane dotyczące ekspresji genów chciałby zidentyfikować najbardziej odpowiednie geny i czynniki ryzyka związane z rakiem piersi, aby oddzielić zdrowych pacjentów od pacjentów z rakiem piersi.
We wszystkich powyższych przykładach obiekt jest klasyfikowany do jednej z kilku znanych klas, w oparciu o pomiary wykonane na wielu cechach, które jego zdaniem mogą rozróżniać obiekty różnych klas. Zmienne te nazywane są zmiennymi predykcyjnymi , a etykieta klasy nazywana jest zmienną zależną . Zauważ, że we wszystkich powyższych przykładach zmienna zależna jest kategoryczna .
Aby opracować model dla problemu klasyfikacji, potrzebujemy, dla każdego obiektu, danych o zestawie określonych cech wraz z etykietami klas, do których należą obiekty. Zestaw danych jest podzielony na dwa zestawy w zalecanym stosunku. Większy z tych zestawów danych jest nazywany zestawem danych treningowych, a drugi zestaw danych testowych . Zbiór danych treningowych jest wykorzystywany przy opracowywaniu modelu. Ponieważ model jest opracowywany przy użyciu obserwacji, których etykiety klas są znane, modele te są znane jako modele uczenia nadzorowanego .
Po opracowaniu modelu model należy ocenić pod kątem wydajności przy użyciu zestawu danych testowych. Celem modelu klasyfikacji jest minimalne prawdopodobieństwo błędnej klasyfikacji na podstawie niewidzianych obserwacji. Obserwacje niewykorzystane przy opracowywaniu modelu są znane jako obserwacje niewidoczne.
Indukcja drzewa decyzyjnego jest jedną z technik budowania modelu klasyfikacji. Model drzewa decyzyjnego zbudowany dla jakościowej zmiennej zależnej nazywa się drzewem klasyfikacji . Zmienna zależna może być numeryczna w niektórych problemach. Model drzewa decyzyjnego opracowany dla zmiennych zależnych numerycznie nazywa się drzewem regresji .
Regresja liniowa
Ponieważ nadzorowane uczenie się składa się ze zmiennej celu lub wyniku (lub zmiennej zależnej), którą należy przewidzieć na podstawie danego zestawu predyktorów (zmiennych niezależnych). Korzystając z tego zestawu zmiennych, generujemy funkcję, która odwzorowuje dane wejściowe na pożądane wyniki. Proces szkolenia trwa, dopóki model nie osiągnie pożądanego poziomu dokładności danych szkolenia.
Dlatego istnieje wiele przykładów algorytmów uczenia nadzorowanego, dlatego w tym przypadku chciałbym skupić się na regresji liniowej
Regresja liniowa Służy do oszacowania rzeczywistych wartości (kosztów domów, liczby połączeń, całkowitej sprzedaży itp.) W oparciu o zmienne ciągłe. Tutaj ustalamy związek między zmiennymi niezależnymi i zależnymi, dopasowując najlepszą linię. Ta linia najlepszego dopasowania znana jest jako linia regresji i jest reprezentowana przez równanie liniowe Y = a * X + b.
Najlepszym sposobem na zrozumienie regresji liniowej jest ponowne przeżycie tego doświadczenia z dzieciństwa. Powiedzmy, że prosisz dziecko w piątej klasie, aby ustawiało ludzi w swojej klasie, zwiększając kolejność ciężarów, bez pytania ich ciężarów! Jak myślisz, co zrobi dziecko? Najprawdopodobniej spojrzałby (analizował wizualnie) na wysokość i budowę ludzi i ułożył je za pomocą kombinacji tych widocznych parametrów.
To jest regresja liniowa w prawdziwym życiu! Dziecko faktycznie zorientowało się, że wzrost i budowa będą skorelowane z ciężarem przez związek, który wygląda jak powyższe równanie.
W tym równaniu:
Y – Dependent Variable
a – Slope
X – Independent variable
b – Intercept
Te współczynniki aib są wyprowadzane na podstawie minimalizacji sumy kwadratowej różnicy odległości między punktami danych a linią regresji.
Spójrz na poniższy przykład. Tutaj zidentyfikowaliśmy linię najlepszego dopasowania o równaniu liniowym y = 0,2811x + 13,9 . Teraz, korzystając z tego równania, możemy znaleźć ciężar, znając wzrost osoby.
Regresja liniowa składa się głównie z dwóch rodzajów: prostej regresji liniowej i wielokrotnej regresji liniowej. Prosta regresja liniowa charakteryzuje się jedną niezależną zmienną. A wielokrotna regresja liniowa (jak sama nazwa wskazuje) charakteryzuje się wieloma (więcej niż 1) zmiennymi niezależnymi. Znajdując linię najlepszego dopasowania, możesz dopasować regresję wielomianową lub krzywoliniową. A te są znane jako regresja wielomianowa lub krzywoliniowa.
Tylko wskazówka dotycząca implementacji regresji liniowej w Pythonie
#Import Library
#Import other necessary libraries like pandas, numpy...
from sklearn import linear_model
#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets
# Create linear regression object
linear = linear_model.LinearRegression()
# Train the model using the training sets and check score
linear.fit(x_train, y_train)
linear.score(x_train, y_train)
#Equation coefficient and Intercept
print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)
#Predict Output
predicted= linear.predict(x_test)
Rzuciłem okiem na zrozumienie Supervised Learning uczenia się algorytmu regresji liniowej wraz z fragmentem kodu Pythona.