klasyfikacja jest procesem przewidywania klasy danych punktów. Klasy są czasami nazywane celami / etykietami lub kategoriami. Klasyfikacja modelowanie predykcyjne jest zadaniem przybliżania funkcji mapowania (f) od zmiennych wejściowych (X) do dyskretnych zmiennych wyjściowych (y).
na przykład wykrywanie spamu u dostawców usług pocztowych można zidentyfikować jako problem z klasyfikacją. Jest to klasyfikacja binarna s, ponieważ istnieją tylko 2 klasy jako spam, a nie spam. Klasyfikator wykorzystuje niektóre dane treningowe, aby zrozumieć, w jaki sposób podane zmienne wejściowe odnoszą się do klasy. W takim przypadku jako dane szkoleniowe należy wykorzystać znane wiadomości spamowe i inne niż spam. Po dokładnym przeszkoleniu klasyfikatora można go użyć do wykrycia nieznanej wiadomości e-mail.
Klasyfikacja należy do kategorii uczenia się nadzorowanego, gdzie cele również dostarczały danych wejściowych. Istnieje wiele zastosowań w klasyfikacji w wielu dziedzinach, takich jak zatwierdzenie kredytu, diagnoza medyczna, marketing docelowy itp.
istnieją dwa typy uczniów w klasyfikacji jako leniwi uczniowie i chętni uczniowie.
- leniwi uczniowie
leniwi uczniowie po prostu przechowują dane treningowe i czekają, aż pojawią się dane testowe. W takim przypadku klasyfikacja jest przeprowadzana na podstawie najbardziej powiązanych danych w przechowywanych danych treningowych. W porównaniu do chętnych uczniów, leniwi uczniowie mają mniej czasu na trening, ale więcej czasu na przewidywanie.
Ex. K-najbliższy sąsiad, rozumowanie oparte na Przypadku
2. Chętni uczniowie
chętni uczniowie konstruują model klasyfikacji na podstawie danych treningowych przed otrzymaniem danych do klasyfikacji. Musi być w stanie poddać się jednej hipotezie, która obejmuje całą przestrzeń instancji. Ze względu na konstrukcję modelu, chętni uczniowie potrzebują dużo czasu na trenowanie, a mniej czasu na przewidywanie.
Ex. Decision Tree, Naive Bayes, Artificial Neural Networks
algorytmy klasyfikacji
obecnie dostępnych jest wiele algorytmów klasyfikacji, ale nie można stwierdzić, który z nich jest lepszy od innych. Zależy to od zastosowania i charakteru dostępnego zbioru danych. Na przykład, jeśli klasy są liniowo rozdzielne, klasyfikatory liniowe, takie jak regresja logistyczna, dyskryminacja liniowa Fishera, mogą przewyższać zaawansowane modele i odwrotnie.
drzewo decyzyjne
drzewo decyzyjne buduje modele klasyfikacji lub regresji w postaci struktury drzewa. Wykorzystuje zestaw reguł if-then, który jest wzajemnie wykluczający się i wyczerpujący dla klasyfikacji. Zasady są poznawane kolejno na podstawie danych treningowych po kolei. Za każdym razem, gdy reguła jest poznawana, krotki objęte regułami są usuwane. Proces ten jest kontynuowany na zestawie szkoleniowym aż do spełnienia warunku wypowiedzenia.
drzewo zbudowane jest w sposób rekurencyjny z góry na dół. Wszystkie atrybuty powinny być kategoryczne. W przeciwnym razie należy je dyskrecjonować z wyprzedzeniem. Atrybuty w górnej części drzewa mają większy wpływ na klasyfikację i są identyfikowane za pomocą koncepcji information gain.
drzewo decyzyjne może być łatwo nadmiernie dopasowane, generując zbyt wiele gałęzi i może odzwierciedlać anomalie spowodowane hałasem lub wartości odstające. Zbyt dopasowany model ma bardzo słabą wydajność na niewidocznych danych, mimo że daje imponującą wydajność na danych treningowych. Można tego uniknąć poprzez wstępne przycinanie, które zatrzymuje budowę drzewa wcześnie lub po przycinaniu, które usuwa gałęzie z w pełni dorosłego drzewa.
Naive Bayes
Naive Bayes jest klasyfikatorem probabilistycznym zainspirowanym twierdzeniem Bayesa przy prostym założeniu, że atrybuty są warunkowo niezależne.
klasyfikację prowadzi się przez wyprowadzenie maksimum tylnego, które jest maksymalnym P(ci/x) z powyższym założeniem stosującym się do twierdzenia Bayesa. Założenie to znacznie zmniejsza koszt obliczeniowy, licząc tylko rozkład klas. Mimo że założenie nie jest w większości przypadków ważne, ponieważ atrybuty są zależne, zaskakująco naiwny Bayes jest w stanie wykonać imponująco.
Naive Bayes jest bardzo prostym algorytmem do implementacji i w większości przypadków uzyskuje dobre wyniki. Może być łatwo skalowalny do większych zbiorów danych, ponieważ wymaga czasu liniowego, a nie kosztownego iteracyjnego przybliżania, jak w przypadku wielu innych typów klasyfikatorów.
naiwny Bayes może cierpieć na problem zwany problemem zerowego prawdopodobieństwa. Gdy prawdopodobieństwo warunkowe wynosi zero dla danego atrybutu, nie daje ono prawidłowej prognozy. Należy to wyraźnie ustalić za pomocą estymatora Laplaciana.
Sztuczne sieci neuronowe
sztuczna sieć neuronowa to zestaw połączonych jednostek wejścia / wyjścia, w których każde połączenie ma przypisaną wagę. W fazie uczenia się, sieć uczy się poprzez dostosowanie wag tak, aby móc przewidzieć poprawną Etykietę klas krotek wejściowych.
obecnie dostępnych jest wiele architektur sieciowych, takich jak Feed-forward, Convolutional, Recurrent itp. Odpowiednia Architektura zależy od zastosowania modelu. W większości przypadków modele feed-forward dają dość dokładne wyniki, a zwłaszcza w zastosowaniach przetwarzania obrazu sieci konwolucyjne działają lepiej.
w modelu może być wiele ukrytych warstw w zależności od złożoności funkcji, która będzie mapowana przez model. Posiadanie większej liczby warstw ukrytych umożliwi modelowanie złożonych relacji, takich jak głębokie sieci neuronowe.
jednak, gdy istnieje wiele ukrytych warstw, trenowanie i dostosowanie wights zajmuje dużo czasu. Inną Wadą jest słaba interpretacja modelu w porównaniu z innymi modelami, takimi jak drzewa decyzyjne, ze względu na nieznane znaczenie symboliczne za wyuczonymi wagami.
ale Sztuczne sieci neuronowe sprawdziły się imponująco w większości rzeczywistych zastosowań. Ma wysoką tolerancję na hałaśliwe Dane i jest w stanie klasyfikować niewprawne wzorce. Zazwyczaj Sztuczne sieci neuronowe działają lepiej przy wejściach i wyjściach o wartości ciągłej.
wszystkie powyższe algorytmy są chętnymi uczniami, ponieważ wcześniej trenują model, aby uogólnić dane treningowe i wykorzystać je do przewidywania później.
K-najbliższy sąsiad (KNN)
k-nearest neighbor to leniwy algorytm uczenia się, który przechowuje wszystkie instancje odpowiadające punktom danych treningowych w przestrzeni n-wymiarowej. Po odebraniu nieznanych danych dyskretnych analizuje najbliższą K liczbę zapisanych instancji (najbliższych sąsiadów) i zwraca najczęściej spotykaną klasę jako przewidywanie, a dla danych o wartości rzeczywistej Zwraca średnią K najbliższych sąsiadów.
w algorytmie distance-weighted nearest neighbor, waha udział każdego z k sąsiadów zgodnie z ich odległością, używając następującego zapytania, dając większą wagę najbliższym sąsiadom.
Usually KNN is robust to noisy data since it is averaging the k-nearest neighbors.