Rozpoznawanie wzorców - Pattern recognition

Rozpoznawanie wzorców to automatyczne rozpoznawanie wzorców i prawidłowości w danych . Ma zastosowanie w statystycznej analizie danych , przetwarzaniu sygnałów , analizie obrazu , wyszukiwaniu informacji , bioinformatyce , kompresji danych , grafice komputerowej i uczeniu maszynowym . Rozpoznawanie wzorców ma swoje początki w statystyce i inżynierii; niektóre nowoczesne podejścia do rozpoznawania wzorców obejmują wykorzystanie uczenia maszynowego ze względu na zwiększoną dostępność dużych zbiorów danych i nową obfitość mocy obliczeniowej . Jednak działania te można postrzegać jako dwa aspekty tego samego obszaru zastosowań i razem przeszły znaczny rozwój w ciągu ostatnich kilku dekad. Nowoczesna definicja rozpoznawania wzorców to:

Dziedzina rozpoznawania wzorców zajmuje się automatycznym wykrywaniem prawidłowości w danych za pomocą algorytmów komputerowych iz wykorzystaniem tych prawidłowości do podejmowania działań, takich jak klasyfikowanie danych do różnych kategorii.

Systemy rozpoznawania wzorców są w wielu przypadkach szkolone na podstawie oznaczonych danych „uczących”, ale gdy nie są dostępne żadne oznaczone dane , można użyć innych algorytmów do wykrywania wcześniej nieznanych wzorców. KDD i data mining kładą większy nacisk na metody nienadzorowane i silniejsze połączenie z zastosowaniami biznesowymi. Rozpoznawanie wzorców koncentruje się bardziej na sygnale, a także uwzględnia akwizycję i przetwarzanie sygnału . Wywodzi się z inżynierii , a termin ten jest popularny w kontekście wizji komputerowej : wiodąca konferencja na temat wizji komputerowej nosi nazwę Conference on Computer Vision and Pattern Recognition .

W uczeniu maszynowym rozpoznawanie wzorców polega na przypisaniu etykiety do danej wartości wejściowej. W statystykach analiza dyskryminacyjna została wprowadzona w tym samym celu w 1936 roku. Przykładem rozpoznawania wzorców jest klasyfikacja , która próbuje przypisać każdą wartość wejściową do jednej z podanych klas (na przykład określić, czy dana wiadomość e-mail jest „spamem” lub „bez spamu”). Jednak rozpoznawanie wzorców jest bardziej ogólnym problemem, który obejmuje również inne typy wyników. Innymi przykładami są regresja , która przypisuje dane wyjściowe o wartościach rzeczywistych do każdego wejścia; etykietowanie sekwencji , które przypisuje klasę każdemu członkowi sekwencji wartości (na przykład część tagowania mowy , która przypisuje część mowy do każdego słowa w zdaniu wejściowym); i parsing , który przypisuje drzewo parsowania do zdania wejściowego, opisując strukturę składniową zdania.

Algorytmy rozpoznawania wzorców generalnie mają na celu zapewnienie rozsądnej odpowiedzi dla wszystkich możliwych danych wejściowych i wykonanie „najbardziej prawdopodobnego” dopasowania danych wejściowych, biorąc pod uwagę ich zmienność statystyczną. Jest to przeciwieństwo algorytmów dopasowywania wzorców , które szukają dokładnych dopasowań w danych wejściowych z wcześniej istniejącymi wzorcami. Typowym przykładem algorytmu dopasowywania wzorców jest dopasowywanie wyrażeń regularnych , które wyszukuje wzorce danego rodzaju w danych tekstowych i jest uwzględnione w możliwościach wyszukiwania wielu edytorów tekstu i procesorów tekstu .

Przegląd

Rozpoznawanie wzorców jest ogólnie podzielone na kategorie zgodnie z rodzajem procedury uczenia używanej do generowania wartości wyjściowej. Nadzorowanego uczenia się zakłada, że zbiór danych treningowych (The zbiór uczący ) został dostarczony, składający się z szeregu przypadków, które zostały odpowiednio oznakowane przez strony z odpowiednim wyjściem. Procedura uczenia generuje następnie model, który próbuje osiągnąć dwa czasami sprzeczne cele: Wykonywać jak najlepiej na danych uczących i uogólniać tak dobrze, jak to możliwe na nowe dane (zazwyczaj oznacza to jak najprostsze, dla pewnej definicji technicznej „prosty”, zgodnie z Brzytwą Ockhama , omówioną poniżej). Z drugiej strony uczenie nienadzorowane zakłada dane uczące , które nie zostały ręcznie oznaczone, i próbuje znaleźć nieodłączne wzorce w danych, które można następnie wykorzystać do określenia prawidłowej wartości wyjściowej dla nowych wystąpień danych. Połączenie tych dwóch, które zostało ostatnio zbadane, to uczenie częściowo nadzorowane , które wykorzystuje kombinację danych oznaczonych i nieoznaczonych (zwykle mały zestaw danych oznaczonych w połączeniu z dużą ilością danych nieoznaczonych). Należy zauważyć, że w przypadku uczenia się bez nadzoru może nie być w ogóle żadnych danych szkoleniowych; innymi słowy, dane, które mają być oznaczone, to dane uczące.

Należy zauważyć, że czasami do opisu odpowiednich nadzorowanych i nienadzorowanych procedur uczenia się dla tego samego typu wyników używane są różne terminy. Na przykład nienadzorowany odpowiednik klasyfikacji jest zwykle nazywany grupowaniem , opartym na powszechnym postrzeganiu zadania jako nie zawierającego danych uczących i grupowaniu danych wejściowych w klastry w oparciu o pewną wewnętrzną miarę podobieństwa (np. odległość między instancji, uważanych za wektory w wielowymiarowej przestrzeni wektorowej ), zamiast przypisywać każdą instancję wejściową do jednej z zestawu predefiniowanych klas. W niektórych dziedzinach terminologia jest inna: na przykład w ekologii społeczności termin „klasyfikacja” jest używany w odniesieniu do tego, co jest powszechnie znane jako „grupowanie”.

Fragment danych wejściowych, dla którego generowana jest wartość wyjściowa, jest formalnie nazywany instancją . Instancja formalnie opisywane przez wektor z funkcji , które razem tworzą opis wszystkich znanych cech przykład. (Te wektory cech mogą być postrzegane jako definiujące punkty w odpowiedniej przestrzeni wielowymiarowej , a metody manipulowania wektorami w przestrzeniach wektorowych można odpowiednio do nich zastosować, takie jak obliczanie iloczynu skalarnego lub kąta między dwoma wektorami). kategoryczny (znany również jako nominalny , tj. składający się z jednego z zestawu nieuporządkowanych elementów, takich jak płeć „męska” lub „żeńska” lub grupa krwi „A”, „B”, „AB” lub „ O”), porządkowe (składające się z jednego ze zbioru uporządkowanych pozycji, np. „duży”, „średni” lub „mały”), o wartości całkowitej (np. liczba wystąpień danego słowa w e-mail) lub wartości rzeczywistej (np. pomiar ciśnienia krwi). Często dane kategoryczne i porządkowe są grupowane razem; podobnie dla danych o wartościach całkowitych i rzeczywistych. Co więcej, wiele algorytmów działa tylko w kategoriach danych kategorycznych i wymaga, aby dane o wartościach rzeczywistych lub całkowitych były dyskretyzowane na grupy (np. mniej niż 5, od 5 do 10 lub większe niż 10).

Klasyfikatory probabilistyczne

Wiele popularnych algorytmów rozpoznawania wzorców ma charakter probabilistyczny , ponieważ wykorzystują wnioskowanie statystyczne, aby znaleźć najlepszą etykietę dla danej instancji. W przeciwieństwie do innych algorytmów, które po prostu wyprowadzają „najlepszą” etykietę, często algorytmy probabilistyczne wyprowadzają również prawdopodobieństwo, że instancja zostanie opisana przez daną etykietę. Ponadto, wiele algorytmów probabilistycznych wypisuje listę N najlepszych etykiet z powiązanymi prawdopodobieństwami dla pewnej wartości N zamiast po prostu pojedynczej najlepszej etykiety. Gdy liczba możliwych etykiet jest dość mała (np. w przypadku klasyfikacji ), N można ustawić tak, aby wyprowadzane było prawdopodobieństwo wszystkich możliwych etykiet. Algorytmy probabilistyczne mają wiele zalet w porównaniu z algorytmami nieprobabilistycznymi:

  • Podają wartość ufności związaną z ich wyborem. (Należy zauważyć, że niektóre inne algorytmy mogą również wyprowadzać wartości ufności, ale ogólnie tylko w przypadku algorytmów probabilistycznych ta wartość jest matematycznie uzasadniona w teorii prawdopodobieństwa . Nieprobabilistyczne wartości ufności na ogół nie mogą mieć żadnego konkretnego znaczenia i są używane tylko do porównania z inne wartości ufności wyprowadzane przez ten sam algorytm).
  • W związku z tym mogą wstrzymać się od głosu, gdy pewność wyboru konkretnego produktu jest zbyt niska.
  • Ze względu na wyniki prawdopodobieństw, probabilistyczne algorytmy rozpoznawania wzorców można skuteczniej włączać do większych zadań uczenia maszynowego w sposób, który częściowo lub całkowicie eliminuje problem propagacji błędów .

Liczba ważnych zmiennych funkcji

Algorytmy wyboru cech próbują bezpośrednio usunąć zbędne lub nieistotne cechy. Przedstawiono ogólne wprowadzenie do wyboru cech, które podsumowuje podejścia i wyzwania. Złożoność doboru cech jest, ze względu na jej niemonotoniczny charakter, problemem optymalizacyjnym, gdzie przy danej sumie cech należy zbadać zestaw mocy składający się ze wszystkich podzbiorów cech. Algorytm Branch-and-bound robi zmniejszyć tę złożoność, ale jest trudny do średnich i dużych wartościach liczby dostępnych funkcji . Aby zapoznać się z porównaniem algorytmów wyboru cech na dużą skalę, zobacz .

Techniki przekształcania surowych wektorów cech ( wyodrębnianie cech ) są czasami używane przed zastosowaniem algorytmu dopasowywania wzorców. Na przykład algorytmy wyodrębniania cech próbują zredukować wektor cech o dużych wymiarach do wektora o mniejszych wymiarach, który jest łatwiejszy w obsłudze i koduje mniej nadmiarowości, przy użyciu technik matematycznych, takich jak analiza głównych komponentów (PCA). Rozróżnienie między wyborem cech a wyodrębnieniem cech polega na tym, że cechy wynikowe po wyodrębnieniu cech są innego rodzaju niż cechy oryginalne i mogą nie być łatwe do zinterpretowania, podczas gdy cechy pozostawione po wyborze cech są po prostu podzbiorem oryginalnych cech .

Stwierdzenie problemu

Formalnie problem rozpoznawania wzorców można sformułować w następujący sposób: Biorąc pod uwagę nieznaną funkcję ( podstawową prawdę ), która odwzorowuje instancje wejściowe na etykiety wyjściowe , wraz z danymi uczącymi, które zakładają, że reprezentują dokładne przykłady odwzorowania, tworzą funkcję, która przybliża się tak blisko możliwie poprawne mapowanie . (Na przykład, jeśli problem polega na filtrowaniu spamu, to jest to jakaś reprezentacja wiadomości e-mail i jest albo „spamem” albo „nie-spamem”). Aby był to dobrze zdefiniowany problem, „przybliżenia tak blisko, jak to możliwe” muszą być rygorystycznie zdefiniowane. W teorii decyzji definiuje się to poprzez określenie funkcji straty lub funkcji kosztu, która przypisuje określoną wartość do „straty” wynikającej z wytworzenia nieprawidłowej etykiety. Celem jest zatem, aby zminimalizować oczekiwane straty, z oczekiwaniem przejął rozkładu prawdopodobieństwa z . W praktyce ani rozkład, ani podstawowa funkcja prawdy nie są dokładnie znane, ale można je obliczyć jedynie empirycznie, pobierając dużą liczbę próbek i ręcznie oznaczając je poprawną wartością (czasochłonny proces, który zwykle jest czynnikiem ograniczającym ilość tego rodzaju danych, które można zebrać). Konkretna funkcja straty zależy od typu przewidywanej etykiety. Na przykład w przypadku klasyfikacji często wystarcza prosta zero-jedynkowa funkcja straty . Odpowiada to po prostu przypisaniu straty 1 do jakiegokolwiek nieprawidłowego etykietowania i implikuje, że optymalny klasyfikator minimalizuje poziom błędu w niezależnych danych testowych (tj. zliczając ułamek przypadków, które wyuczona funkcja etykietuje błędnie, co jest równoważne maksymalizacji liczby poprawnie sklasyfikowane instancje). Celem procedury uczenia się jest zatem minimalizacja współczynnika błędów (maksymalizacja poprawności ) na „typowym” zestawie testowym.

W przypadku probabilistycznego aparatu rozpoznawania wzorców problemem jest zamiast tego oszacowanie prawdopodobieństwa każdej możliwej etykiety wyjściowej przy danym wystąpieniu wejściowym, tj. oszacowanie funkcji formularza

gdzie wektor cech to wejście , a funkcja f jest zazwyczaj sparametryzowana przez niektóre parametry . W dyskryminacyjnym podejściu do problemu f jest szacowane bezpośrednio. Jednak w podejściu generatywnym prawdopodobieństwo odwrotne jest szacowane i łączone z prawdopodobieństwem a priori przy użyciu reguły Bayesa w następujący sposób:

Gdy etykiety są rozłożone w sposób ciągły (np. w analizie regresji ), mianownik obejmuje całkowanie, a nie sumowanie:

Wartość jest zwykle poznawana przy użyciu oszacowania maksimum a posteriori (MAP). Znajduje to najlepszą wartość, która jednocześnie spełnia dwa sprzeczne obiekty: Aby uzyskać jak najlepsze wyniki na danych uczących (najmniejszy współczynnik błędów ) i znaleźć najprostszy możliwy model. Zasadniczo łączy to estymację maksymalnego prawdopodobieństwa z procedurą regularyzacji , która faworyzuje prostsze modele nad bardziej złożonymi modelami. W kontekście bayesowskim procedurę regularyzacji można postrzegać jako umieszczanie prawdopodobieństwa a priori na różnych wartościach . Matematycznie:

w których to wartości stosowanej w następnej procedury oceny i The prawdopodobieństwo a posteriori z , oblicza się

W bayesowskim podejściu do tego problemu, zamiast wybierać pojedynczy wektor parametrów , prawdopodobieństwo danej etykiety dla nowej instancji jest obliczane poprzez całkowanie po wszystkich możliwych wartościach , ważonych zgodnie z prawdopodobieństwem a posteriori:

Częste lub bayesowskie podejście do rozpoznawania wzorców

Pierwszy klasyfikator wzorców – liniowy wyróżnik przedstawiony przez Fishera – został opracowany w tradycji częstej . Podejście częstościowe oznacza, że ​​parametry modelu są uważane za nieznane, ale obiektywne. Parametry są następnie obliczane (szacowane) na podstawie zebranych danych. Dla dyskryminatora liniowego parametrami tymi są właśnie średnie wektory i macierz kowariancji . Z zebranego zbioru danych szacowane jest również prawdopodobieństwo każdej klasy . Należy zauważyć, że użycie „ reguły Bayesa ” w klasyfikatorze wzorca nie powoduje, że podejście do klasyfikacji jest podejściem bayesowskim.

Statystyka bayesowska wywodzi się z filozofii greckiej, w której dokonano już rozróżnienia między wiedzą a priori i a posteriori . Później Kant określił swoje rozróżnienie między tym, co znane a priori – przed obserwacją – a wiedzą empiryczną uzyskaną z obserwacji. W klasyfikatorze wzorca bayesowskiego prawdopodobieństwa klas mogą być wybrane przez użytkownika, które są następnie a priori. Co więcej, doświadczenie określone ilościowo jako wartości parametrów a priori może być ważone obserwacjami empirycznymi – stosując np. rozkłady Beta- ( uprzednie sprzężone ) i rozkłady Dirichleta . Podejście bayesowskie umożliwia płynne łączenie wiedzy eksperckiej w postaci subiektywnych prawdopodobieństw z obiektywnymi obserwacjami.

Klasyfikatory wzorców probabilistycznych można stosować zgodnie z podejściem częstościowym lub bayesowskim.

Zastosowania

Twarz została automatycznie wykryta przez specjalne oprogramowanie.

W naukach medycznych rozpoznawanie wzorców jest podstawą systemów diagnostyki wspomaganej komputerowo (CAD). CAD opisuje procedurę, która wspiera interpretacje i ustalenia lekarza. Inne typowe zastosowania technik rozpoznawania wzorców to automatyczne rozpoznawanie mowy , identyfikacja mówiącego , klasyfikacja tekstu na kilka kategorii (np. wiadomości e-mail spam/nie spam), automatyczne rozpoznawanie pisma ręcznego na kopertach pocztowych, automatyczne rozpoznawanie wizerunków ludzkich twarzy, lub wyodrębnianie obrazu pisma ręcznego z formularzy medycznych. Ostatnie dwa przykłady tworzą podtematową analizę obrazu rozpoznawania wzorów, która zajmuje się obrazami cyfrowymi jako danymi wejściowymi do systemów rozpoznawania wzorów.

Optyczne rozpoznawanie znaków jest klasycznym przykładem zastosowania klasyfikatora wzorców, patrz przykład OCR . Metodę podpisywania swojego nazwiska rejestrowano za pomocą rysika i nakładki, począwszy od 1990 roku. Pociągnięcia, prędkość, względne minimum, względne maksimum, przyspieszenie i nacisk są używane do jednoznacznej identyfikacji i potwierdzenia tożsamości. Bankom po raz pierwszy zaoferowano tę technologię, ale zadowoliły się odebraniem od FDIC wszelkich oszustw bankowych i nie chciały narażać klientów na niedogodności.

Rozpoznawanie wzorców ma wiele rzeczywistych zastosowań w przetwarzaniu obrazu, niektóre przykłady obejmują:

W psychologii rozpoznawanie wzorców (nadawanie sensu i identyfikacja obiektów) jest ściśle związane z percepcją, co wyjaśnia, w jaki sposób odbierane przez ludzi bodźce zmysłowe stają się znaczące. Rozpoznawanie wzorców można traktować na dwa różne sposoby: pierwszym jest dopasowanie szablonu, a drugim wykrywanie cech. Szablon to wzór używany do produkcji przedmiotów o tych samych proporcjach. Hipoteza dopasowania szablonów sugeruje, że przychodzące bodźce są porównywane z szablonami w pamięci długotrwałej. Jeśli istnieje dopasowanie, bodziec jest identyfikowany. Modele wykrywania cech, takie jak system Pandemonium do klasyfikowania liter (Selfridge, 1959), sugerują, że bodźce są podzielone na części składowe w celu identyfikacji. Na przykład wielkie E ma trzy linie poziome i jedną pionową.

Algorytmy

Algorytmy rozpoznawania wzorców zależą od typu etykiety wyjściowej, od tego, czy uczenie jest nadzorowane, czy nienadzorowane, oraz od tego, czy algorytm ma charakter statystyczny, czy niestatystyczny. Algorytmy statystyczne można dalej sklasyfikować jako generatywne lub dyskryminacyjne .

Metody klasyfikacji (metody przewidywania etykiet kategorycznych )

Parametryczny:

Nieparametryczne:

Metody grupowania (metody klasyfikowania i przewidywania etykiet kategorialnych )

Algorytmy uczenia zespołowego (nadzorowane metaalgorytmy do łączenia wielu algorytmów uczenia się razem)

Ogólne metody przewidywania dowolnie ustrukturyzowanych (zestawów) etykiet

Algorytmy wieloliniowego uczenia się podprzestrzeni (przewidywanie etykiet danych wielowymiarowych przy użyciu reprezentacji tensorowych )

Bez nadzoru:

Wartościach rzeczywistych sekwencji znakowanie metody przewidywania (sekwencje o wartościach rzeczywistych etykiet)

Metody regresji (przewidywanie etykiet o wartościach rzeczywistych )

Metody znakowania sekwencji (przewidywanie sekwencji etykiet kategorycznych )

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki