Klasyfikacja uczenia maszynowego: co to jest i jak działa

Opublikowany: 2024-11-20

Klasyfikacja jest podstawową koncepcją analizy danych i uczenia maszynowego (ML). W tym przewodniku omówiono, czym jest klasyfikacja i jak działa, wyjaśniono różnicę między klasyfikacją a regresją oraz omówiono rodzaje zadań, algorytmy, zastosowania, zalety i wyzwania.

Spis treści

  • Co to jest klasyfikacja?
  • Klasyfikacja a regresja
  • Rodzaje zadań klasyfikacyjnych w ML
  • Algorytmy stosowane w analizie klasyfikacyjnej
  • Zastosowania klasyfikacji
  • Zalety klasyfikacji
  • Wady klasyfikacji

Czym jest klasyfikacja w uczeniu maszynowym?

Klasyfikacja to technika uczenia się nadzorowanego stosowana w uczeniu maszynowym, która przewiduje kategorię (zwaną także klasą) nowych punktów danych na podstawie cech wejściowych. Algorytmy klasyfikacji korzystają z danych oznaczonych etykietami, jeśli znana jest właściwa kategoria, aby dowiedzieć się, jak przypisać obiekty do określonych kategorii. Proces ten nazywany jest również kategoryzacją lub klasyfikacją kategoryzacyjną.

Aby przeprowadzić klasyfikację, algorytmy działają w dwóch kluczowych fazach. W fazie uczenia algorytm uczy się relacji między danymi wejściowymi a odpowiadającymi im etykietami lub kategoriami. Po przeszkoleniu model wchodzi w fazę wnioskowania, w której wykorzystuje wyuczone wzorce do klasyfikowania nowych, niewidocznych danych w rzeczywistych zastosowaniach. Skuteczność klasyfikacji w dużej mierze zależy od sposobu obsługi tych faz i jakości wstępnie przetworzonych danych dostępnych podczas szkolenia.

Niezbędne jest zrozumienie, w jaki sposób algorytmy klasyfikacji zarządzają tymi fazami. Jedną z kluczowych różnic jest sposób, w jaki podchodzą do nauki. Prowadzi nas to do dwóch odrębnych strategii, którymi mogą kierować się algorytmy klasyfikacji: leniwe uczenie się i chętne uczenie się.

Pracuj mądrzej dzięki Grammarly
Partner w pisaniu AI dla każdego, kto ma pracę do wykonania

Leniwi uczniowie kontra chętni uczniowie

Algorytmy klasyfikacji zazwyczaj przyjmują jedną z dwóch strategii uczenia się: uczenie się leniwe lub uczenie się chętne. Podejścia te różnią się zasadniczo sposobem i czasem budowania modelu, co wpływa na elastyczność algorytmu, wydajność i przypadki użycia. Chociaż oba mają na celu klasyfikację danych, robią to za pomocą kontrastujących metod, które są dostosowane do różnych typów zadań i środowisk.

Przyjrzyjmy się działaniu leniwych i chętnych uczniów, aby lepiej zrozumieć mocne i słabe strony każdego podejścia.

Leniwi uczniowie

Algorytmy leniwego uczenia się, zwane także uczącymi opartymi na instancjach lub pamięci, przechowują dane szkoleniowe i opóźniają faktyczne uczenie się do czasu konieczności sklasyfikowania zapytania. Po uruchomieniu jednego z tych algorytmów porównuje on nowe punkty danych z przechowywanymi instancjami, stosując miarę podobieństwa. Jakość i ilość dostępnych danych znacząco wpływa na dokładność algorytmu, a dostęp do większych zbiorów danych zazwyczaj poprawia jego wydajność. Leniwi uczniowie często nadają priorytet najnowszym danym, co jest znane jakobłąd związany z niedawnością. Ponieważ uczą się w czasie rzeczywistym, odpowiadanie na zapytania może być wolniejsze i bardziej kosztowne obliczeniowo.

Leniwi uczniowie doskonale radzą sobie w dynamicznych środowiskach, w których podejmowanie decyzji w czasie rzeczywistym ma kluczowe znaczenie, a dane stale się zmieniają. Algorytmy te dobrze nadają się do zadań, w których stale napływają nowe informacje i nie ma czasu na obszerne cykle szkoleniowe pomiędzy zadaniami klasyfikacyjnymi.

Chętni uczniowie

Z kolei algorytmy uczenia się Eager przetwarzają wszystkie dane szkoleniowe z wyprzedzeniem, konstruując model przed wykonaniem jakichkolwiek zadań klasyfikacyjnych. Ta faza uczenia się od początku wymaga zazwyczaj więcej zasobów i jest złożona, co pozwala algorytmowi odkryć głębsze relacje w danych. Po przeszkoleniu chętni uczniowie nie potrzebują dostępu do oryginalnych danych szkoleniowych, dzięki czemu są bardzo wydajni na etapie przewidywania. Mogą szybko klasyfikować dane i obsługiwać duże ilości zapytań przy minimalnych kosztach obliczeniowych.

Jednak chętni uczniowie są mniej elastyczni w dostosowywaniu się do nowych danych w czasie rzeczywistym. Ich proces uczenia wymagający dużych zasobów ogranicza ilość danych, jakie mogą obsłużyć, co utrudnia integrację nowych informacji bez ponownego uczenia całego modelu.

W dalszej części tego posta zobaczymy, jak leniwe i chętne algorytmy mogą być używane w tandemie do rozpoznawania twarzy.

Klasyfikacja a regresja: jaka jest różnica?

Teraz, gdy już zbadaliśmy, jak działa klasyfikacja, ważne jest, aby odróżnić ją od innej kluczowej techniki nadzorowanego uczenia się: regresji.

Zarówno klasyfikacja, jak i regresja służą do tworzenia prognoz na podstawie oznaczonych etykietami danych z fazy uczenia, ale różnią się rodzajem generowanych prognoz.

Algorytmy klasyfikacjiprzewidują dyskretne, kategoryczne wyniki. Na przykład w systemie klasyfikacji wiadomości e-mail wiadomość e-mail może zostać oznaczona jako „spam” lub „szynka” (gdzie „szynka” oznacza wiadomości e-mail niebędące spamem). Podobnie model klasyfikacji pogody może przewidzieć „tak”, „nie” lub „może” w odpowiedzi na pytanie „Czy jutro będzie padać?”

Algorytmy regresjinatomiast przewidują wartości ciągłe. Zamiast przypisywać dane do kategorii, modele regresji szacują wyniki liczbowe. Na przykład w systemie poczty elektronicznej model regresji może przewidzieć prawdopodobieństwo (np. 70%), że wiadomość e-mail jest spamem. W przypadku modelu prognozowania pogody można przewidzieć oczekiwaną wielkość opadów, na przykład 2 cale deszczu.

Chociaż klasyfikacja i regresja służą różnym celom, czasami są używane razem. Na przykład regresja może oszacować prawdopodobieństwa, które zostaną uwzględnione w systemie klasyfikacji, zwiększając dokładność i szczegółowość przewidywań.

Rodzaje zadań klasyfikacyjnych w ML

Zadania klasyfikacyjne są różne, a każde z nich jest dostosowane do konkretnych typów danych i wyzwań. W zależności od złożoności zadania i charakteru kategorii możesz zastosować różne metody: klasyfikację binarną, wieloklasową, wieloetykietową lub niezrównoważoną. Przyjrzyjmy się bliżej każdemu podejściu poniżej.

Klasyfikacja binarna

Klasyfikacja binarna to podstawowe zadanie, które sortuje dane na dwie kategorie, takie jak prawda/fałsz lub tak/nie. Jest szeroko badany i stosowany w takich dziedzinach, jak wykrywanie oszustw, analiza nastrojów, diagnostyka medyczna i filtrowanie spamu. Podczas gdy klasyfikacja binarna dotyczy dwóch klas, bardziej złożoną kategoryzację można przeprowadzić, dzieląc problem na wiele zadań binarnych. Na przykład, aby sklasyfikować dane na „jabłka”, „pomarańcze”, „banany” i „inne”, można zastosować oddzielne klasyfikatory binarne, aby odpowiedzieć na pytania „Czy to jabłko?”, „Czy to pomarańcza?” i „ Czy to banan?”

Klasyfikacja wieloklasowa

Klasyfikacja wieloklasowa, znana również jako klasyfikacja wielomianowa, jest przeznaczona do zadań, w których dane są klasyfikowane do trzech lub więcej kategorii. W przeciwieństwie do modeli, które rozkładają problem na wiele zadań klasyfikacji binarnej, algorytmy wieloklasowe są budowane w celu skuteczniejszej obsługi takich scenariuszy. Algorytmy te są zazwyczaj bardziej złożone, wymagają większych zbiorów danych i ich konfiguracja wymaga więcej zasobów niż systemy binarne, ale często zapewniają lepszą wydajność po wdrożeniu.

Klasyfikacja wieloetykietowa

Klasyfikacja wieloetykietowa, znana również jako klasyfikacja wielowyjściowa, przypisuje więcej niż jedną etykietę do danego fragmentu danych. Często jest mylona z klasyfikacją wieloklasową, gdzie każdej instancji przypisana jest tylko jedna etykieta z wielu kategorii.

Aby wyjaśnić różnicę: algorytm klasyfikacji binarnej może podzielić obrazy na dwie kategorie — obrazy z owocami i obrazy bez owoców. System wieloklasowy mógłby następnie sklasyfikować obrazy owoców w określone kategorie, takie jak banany, jabłka czy pomarańcze. Klasyfikacja wieloetykietowa natomiast umożliwiłaby przypisanie wielu etykiet do jednego obrazu. Na przykład pojedynczy obraz można sklasyfikować jako „owoc” i „banan”, a owoc można również oznaczyć jako „dojrzały” lub „niedojrzały”. Dzięki temu system może uwzględniać jednocześnie wiele niezależnych cech, takich jak („brak owocu”, „brak banana”, „nic nie jest dojrzałe”), („owoc”, „banan”, „dojrzały” lub („owoc, „banan”, „nic nie jest dojrzałe”).

Niezrównoważona klasyfikacja

Często dane dostępne do szkolenia nie odzwierciedlają rozkładu danych widocznych w rzeczywistości. Przykładowo algorytm może mieć dostęp tylko do danych 100 użytkowników podczas szkolenia, podczas którego 50% z nich dokonuje zakupu (podczas gdy w rzeczywistości zakupu dokonuje tylko 10% użytkowników). Algorytmy klasyfikacji niezrównoważonej rozwiązują ten problem podczas uczenia się, stosując techniki nadpróbkowania (ponowne wykorzystanie niektórych części danych uczących) i podpróbkowanie (niedostateczne wykorzystanie niektórych porcji danych uczących). Dzięki temu algorytm uczący dowiaduje się, że podzbiór danych występuje w rzeczywistości znacznie częściej lub rzadziej niż w przypadku danych uczących. Techniki te są zwykle rodzajem optymalizacji uczenia, ponieważ pozwalają systemowi uczyć się na znacznie mniejszej liczbie danych, niż wymagałoby to uczenia się w inny sposób.

Czasami zgromadzenie wystarczającej ilości danych odzwierciedlających rzeczywistość jest trudne lub czasochłonne, a tego typu optymalizacja może pozwolić na wcześniejsze nauczenie modeli. Innym razem ilość danych jest tak duża, że ​​uczenie ich wszystkich algorytmów klasyfikacyjnych zajmuje zbyt dużo czasu, a algorytmy niezrównoważone i tak pozwalają na ich uczenie.

Algorytmy stosowane w analizie klasyfikacyjnej

Algorytmy klasyfikacji są dobrze zbadane i nie stwierdzono, aby istniała pojedyncza forma klasyfikacji, która byłaby uniwersalnie odpowiednia dla wszystkich sytuacji. W rezultacie istnieją duże zestawy narzędzi dobrze znanych algorytmów klasyfikacji. Poniżej opisujemy niektóre z najczęstszych.

Predyktory liniowe

Predyktory liniowe odnoszą się do algorytmów, które przewidują wyniki w oparciu o liniowe kombinacje cech wejściowych. Metody te są szeroko stosowane w zadaniach klasyfikacyjnych, ponieważ są proste i skuteczne.

Regresja logistyczna

Regresja logistyczna jest jednym z najczęściej stosowanych predyktorów liniowych, szczególnie w klasyfikacji binarnej. Oblicza prawdopodobieństwo wyniku na podstawie zaobserwowanych zmiennych przy użyciu funkcji logistycznej (lub sigmoidalnej). Jako przewidywany wynik wybierana jest klasa o najwyższym prawdopodobieństwie, pod warunkiem, że przekracza on próg ufności. Jeśli żaden wynik nie osiągnie tego progu, wynik może zostać oznaczony jako „niepewny” lub „niezdecydowany”.

Regresja liniowa

Regresja liniowa jest zwykle używana w przypadkach użycia regresji i generuje wartości ciągłe. Jednakże wartości można ponownie wykorzystać do klasyfikacji, dodając filtry lub mapy w celu przekształcenia ich wyników w klasy. Jeśli na przykład wytrenowano już model regresji liniowej, który generuje prognozy wielkości opadów, ten sam model może stać się klasyfikatorem binarnym „dzień deszczowy”/„dzień nie deszczowy”, poprzez dowolne ustawienie progu. Domyślnie podczas konwersji modeli na klasyfikatory binarne używany jest tylko znak wyniku regresji (0 i liczby dodatnie są odwzorowywane na odpowiedź „tak” lub „+1”, a liczby ujemne na odpowiedź „nie” lub „- 1”). Mapy mogą być jednak bardziej złożone i dostosowane do przypadku użycia. Na przykład możesz zdecydować, że każda prognoza opadów powyżej pięciu ml zostanie uznana za „deszczowy dzień”, a każda prognoza poniżej będzie oznaczała coś przeciwnego.

Analiza dyskryminacyjna

Liniowa analiza dyskryminacyjna (LDA) to kolejny ważny predyktor liniowy stosowany w klasyfikacji. LDA działa poprzez znajdowanie liniowych kombinacji cech, które najlepiej oddzielają różne klasy. Zakłada, że ​​obserwacje są niezależne i mają rozkład normalny. Chociaż LDA jest często wykorzystywana do redukcji wymiarowości, jest także potężnym narzędziem klasyfikacyjnym, które przypisuje obserwacje do klas przy użyciu funkcji dyskryminacyjnych — funkcji mierzących różnice między klasami.

Klasyfikacja bayesowska

Algorytmy klasyfikacji bayesowskiej wykorzystują twierdzenie Bayesa do obliczenia późniejszego prawdopodobieństwa każdej klasy na podstawie zaobserwowanych danych. Algorytmy te zakładają pewne właściwości statystyczne danych, a ich działanie zależy od tego, jak dobrze te założenia się sprawdzają. Naiwny Bayes zakłada na przykład, że cechy są warunkowo niezależne w danej klasie.

klasyfikacja k-NN

Algorytm k-najbliższego sąsiada (k-NN) to kolejna szeroko stosowana metoda klasyfikacji. Chociaż można go zastosować zarówno do zadań regresyjnych, jak i klasyfikacyjnych, najczęściej stosuje się go do klasyfikacji. Algorytm przypisuje klasę nowemu punktowi danych na podstawie klas jego k najbliższych sąsiadów (gdzie k jest zmienną), używając obliczenia odległości w celu określenia bliskości. Algorytm k-NN jest prosty, wydajny i skuteczny, gdy dane mają strukturę lokalną. Jego działanie zależy od wybrania odpowiedniej metryki odległości i zapewnienia, że ​​dane mają lokalne wzorce, które mogą pomóc w klasyfikacji

Drzewa decyzyjne i lasy losowe

Drzewa decyzyjne są popularnym algorytmem używanym do zadań klasyfikacyjnych. Działają poprzez rekurencyjne dzielenie danych na podstawie wartości cech w celu podjęcia decyzji, do której klasy należy dana obserwacja. Jednak drzewa decyzyjne mają tendencję do nadmiernego dopasowania danych uczących, wychwytując szum i prowadząc do dużej wariancji. To nadmierne dopasowanie skutkuje słabą generalizacją nowych danych.

Aby zapobiec nadmiernemu dopasowaniu, jako metodę zespoloną stosuje się losowe lasy. Losowy las ćwiczy wiele drzew decyzyjnych równolegle na losowych podzbiorach danych, a każde drzewo dokonuje własnych przewidywań. Ostatecznego przewidywania dokonuje się poprzez agregację przewidywań wszystkich drzew, zazwyczaj w drodze głosowania większościowego. Proces ten, znany jako „pakowanie” (skrót oznaczający agregację metodą bootstrap), zmniejsza wariancję i poprawia zdolność modelu do uogólniania niewidocznych danych. Lasy losowe skutecznie równoważą odchylenie i wariancję, co czyni je solidnym, gotowym algorytmem do zadań klasyfikacyjnych.

Zastosowania klasyfikacji

Algorytmy klasyfikacji są szeroko stosowane w różnych dziedzinach do rozwiązywania rzeczywistych problemów poprzez kategoryzację danych w predefiniowane grupy. Poniżej przedstawiono kilka typowych zastosowań klasyfikacji, w tym rozpoznawanie twarzy, klasyfikację dokumentów i przewidywanie zachowań klientów.

Rozpoznawanie twarzy

Systemy rozpoznawania twarzy dopasowują w czasie rzeczywistym twarz na filmie lub zdjęciu do bazy danych znanych twarzy. Są powszechnie używane do uwierzytelniania.

Na przykład system odblokowywania telefonu zaczyna się od systemu wykrywania twarzy, który co kilka sekund pobiera obrazy o niskiej rozdzielczości z aparatu skierowanego na twarz, a następnie ocenia, czy na zdjęciu znajduje się twarz. System wykrywania twarzy mógłby być dobrze wyszkolonym, chętnym klasyfikatorem binarnym, który odpowiedziałby na pytanie „Czy jest obecna twarz, czy nie?”

Leniwy klasyfikator podążałby za chętnym pytaniem „Czy jest twarz?” klasyfikator. Wykorzystałby wszystkie zdjęcia i selfie właściciela telefonu do realizacji osobnego zadania klasyfikacji binarnej i odpowiedzi na pytanie „Czy ta twarz należy do osoby, która może odblokować telefon?” Jeśli odpowiedź brzmi tak, telefon zostanie odblokowany; jeśli odpowiedź brzmi nie, nie będzie.

Klasyfikacja dokumentów

Klasyfikacja dokumentów jest kluczową częścią nowoczesnych strategii zarządzania danymi. Klasyfikatory oparte na uczeniu maszynowym katalogują i klasyfikują dużą liczbę przechowywanych dokumentów, wspierając indeksowanie i wyszukiwanie, dzięki czemu dokumenty i ich zawartość są bardziej przydatne.

Prace nad klasyfikacją dokumentów rozpoczynają się od wstępnego przetwarzania dokumentów. Ich zawartość jest analizowana i przekształcana w reprezentacje numeryczne (ponieważ liczby są łatwiejsze w przetwarzaniu). Ważne cechy dokumentu, takie jak równania matematyczne, osadzone obrazy i język dokumentu, są wyodrębniane z dokumentów i wyróżniane, aby algorytmy ML mogły się ich nauczyć. Następnie następują inne podobne zadania przetwarzania w tym samym duchu.

Podzbiór dokumentów jest następnie klasyfikowany ręcznie przez ludzi, aby utworzyć zbiór danych szkoleniowych dla systemów klasyfikacji. Po przeszkoleniu klasyfikator będzie szybko i na dużą skalę katalogował i klasyfikował wszystkie przychodzące dokumenty. W przypadku wykrycia błędów klasyfikacyjnych istnieje możliwość ręcznego wprowadzenia poprawek do materiałów szkoleniowych dotyczących systemu ML. Co jakiś czas model klasyfikatora można przeszkolić, dodając poprawki, co poprawi jego wydajność.

Przewidywanie zachowań klientów

Internetowe sklepy detaliczne i e-commerce gromadzą szczegółowe i szczegółowe informacje o zachowaniach swoich klientów. Informacje te można wykorzystać do kategoryzacji nowych klientów i udzielenia odpowiedzi na takie pytania, jak „Czy ten nowy klient prawdopodobnie dokona zakupu?” oraz „Czy oferowanie 25% rabatu wpłynie na zachowania zakupowe tego klienta?”

Klasyfikator jest szkolony na podstawie danych od poprzednich klientów i ich ewentualnego zachowania, np. tego, czy dokonał zakupu. W miarę interakcji nowych klientów z platformą model może przewidzieć, czy i kiedy dokonają zakupu. Może także przeprowadzić analizę typu „co by było, gdyby” w celu odpowiedzi na pytania typu „Jeśli zaoferuję temu użytkownikowi 25% rabatu, czy dokona on zakupu?”

Zalety klasyfikacji

Klasyfikacja oferuje szereg korzyści w dziedzinie uczenia maszynowego, dzięki czemu jest szeroko stosowanym podejściem do rozwiązywania problemów z kategoryzacją danych. Poniżej badamy niektóre z kluczowych zalet klasyfikacji, w tym jej dojrzałość, elastyczność i zdolność do dostarczania wyników czytelnych dla człowieka.

Dobrze przestudiowane i zrozumiane

Klasyfikacja jest jednym z najlepiej zbadanych i zrozumiałych problemów w dziedzinie uczenia maszynowego. W rezultacie dostępnych jest wiele dojrzałych zestawów narzędzi do zadań klasyfikacyjnych, umożliwiających użytkownikom znalezienie kompromisu pomiędzy szybkością, wydajnością, wykorzystaniem zasobów i wymaganiami dotyczącymi jakości danych.

Do oceny wydajności klasyfikatora dostępne są standardowe techniki, takie jak dokładność, precyzja, przypominanie i macierze pomyłek. Dzięki tym narzędziom wybór najodpowiedniejszego systemu klasyfikacji dla danego problemu, ocena jego działania i jego ulepszanie w miarę upływu czasu może być stosunkowo prosty.

Zapewnij dane wyjściowe czytelne dla człowieka

Klasyfikatory często pozwalają na kompromis między mocą predykcyjną a czytelnością dla człowieka. Prostsze, łatwiejsze do interpretacji modele, takie jak drzewa decyzyjne lub regresja logistyczna, można dostroić, aby ułatwić zrozumienie ich zachowania. Te interpretowalne modele można wykorzystać do badania właściwości danych, umożliwiając użytkownikom uzyskanie wglądu w dane. Takie spostrzeżenia mogą następnie pomóc w opracowaniu bardziej złożonych i dokładnych modeli uczenia maszynowego.

Wady klasyfikacji

Chociaż klasyfikacja jest potężnym narzędziem w uczeniu maszynowym, wiąże się z pewnymi wyzwaniami i ograniczeniami. Poniżej omawiamy niektóre z kluczowych wad klasyfikacji, w tym nadmierne dopasowanie, niedopasowanie i potrzebę obszernego wstępnego przetwarzania danych uczących.

Nadmierne dopasowanie

Podczas uczenia modeli klasyfikacji ważne jest dostrojenie procesu uczenia, aby zmniejszyć ryzyko nadmiernego dopasowania modelu do danych. Nadmierne dopasowanie to problem polegający na tym, że model zapamiętuje część lub wszystkie dane źródłowe, zamiast rozwijać abstrakcyjne zrozumienie relacji zachodzących w danych. Model, który nadmiernie dopasował dane uczące, będzie działał dobrze, gdy zobaczy nowe dane, które bardzo przypominają dane, na których był szkolony, ale ogólnie może nie działać tak dobrze.

Niedopasowanie

Wydajność systemów klasyfikacyjnych zależy od dostępności wystarczającej ilości danych szkoleniowych i od zastosowania ich do problemów, które dobrze sprawdzają się w przypadku wybranych algorytmów klasyfikacji. Jeśli nie jest dostępna wystarczająca ilość danych szkoleniowych lub jeśli określony algorytm klasyfikacji nie ma odpowiednich narzędzi do prawidłowej interpretacji danych, przeszkolony model może nigdy nie nauczyć się dokonywania dobrych przewidywań. Zjawisko to znane jest jako „niedopasowanie”. Dostępnych jest wiele technik łagodzenia niedopasowania, a ich prawidłowe zastosowanie nie zawsze jest łatwe.

Wstępne przetwarzanie danych treningowych

Wiele systemów klasyfikacji ma stosunkowo sztywne wymagania dotyczące struktury i formatowania danych. Ich wydajność jest często ściśle powiązana z tym, jak dobrze dane zostały przetworzone przed wystawieniem ich na działanie lub przeszkoleniem w tym zakresie. W rezultacie systemy klasyfikacji mogą być sztywne i nieelastyczne, mając ścisłe granice, wokół których problemów i kontekstów danych są najlepiej dopasowane.