Rozpoznawanie obrazów

Podobne dokumenty
Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

Rozpoznawanie obrazów

Rozpoznawanie obrazów

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

Podstawowe modele probabilistyczne

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

WYKŁAD 4. Podejmowanie decyzji dla modeli probabilistycznych Modelowanie Gaussowskie. autor: Maciej Zięba. Politechnika Wrocławska


Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

WYKŁAD 3. Klasyfikacja: modele probabilistyczne

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

SPOTKANIE 4: Klasyfikacja: Regresja logistyczna

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Wstęp do Metod Systemowych i Decyzyjnych Opracowanie: Jakub Tomczak

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Agnieszka Nowak Brzezińska Wykład III

WYKŁAD 2 i 3. Podstawowe pojęcia związane z prawdopodobieństwem. Podstawy teoretyczne. autor: Maciej Zięba. Politechnika Wrocławska

WYKŁAD 2. Problem regresji - modele liniowe

Agnieszka Nowak Brzezińska Wykład III

SPOTKANIE 3: Regresja: Regresja liniowa

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Regresyjne metody łączenia klasyfikatorów

Testowanie hipotez statystycznych. Wprowadzenie

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.

METODY INŻYNIERII WIEDZY

Prawdopodobieństwo czerwonych = = 0.33

TESTOWANIE HIPOTEZ STATYSTYCZNYCH Hipotezą statystyczną nazywamy, najogólniej mówiąc, pewną wypowiedź na temat rozkładu interesującej nas cechy.

Wprowadzenie. Data Science Uczenie się pod nadzorem

Wprowadzenie do uczenia maszynowego. Jakub Tomczak

Hierarchiczna analiza skupień

Idea. θ = θ 0, Hipoteza statystyczna Obszary krytyczne Błąd pierwszego i drugiego rodzaju p-wartość

Elementy modelowania matematycznego

STATYSTYKA MATEMATYCZNA WYKŁAD stycznia 2010

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Analiza Algorytmów 2018/2019 (zadania na laboratorium)

Wprowadzenie. { 1, jeżeli ˆr(x) > 0, pozatym. Regresja liniowa Regresja logistyczne Jądrowe estymatory gęstości. Metody regresyjne

STATYSTYKA MAŁYCH OBSZARÓW II.ESTYMATOR HORVITZA-THOMPSONA, ESTYMATOR KALIBROWANY

Optymalizacja systemów

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Agnieszka Nowak Brzezińska

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wybór modelu i ocena jakości klasyfikatora

Klasyfikacja LDA + walidacja

Metody probabilistyczne klasyfikatory bayesowskie

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

REGRESJA LINIOWA Z UOGÓLNIONĄ MACIERZĄ KOWARIANCJI SKŁADNIKA LOSOWEGO. Aleksander Nosarzewski Ekonometria bayesowska, prowadzący: dr Andrzej Torój

Klasyfikacja metodą Bayesa

Wnioskowanie bayesowskie

Stanisław Cichocki Natalia Nehrebecka. Wykład 7

TESTOWANIE HIPOTEZ Przez hipotezę statystyczną rozumiemy, najogólniej mówiąc, pewną wypowiedź na temat rozkładu interesującej nas cechy.

Prawdopodobieństwo i statystyka

Optymalizacja ciągła

Algorytm grupowania danych typu kwantyzacji wektorów

Niech X i Y będą niezależnymi zmiennymi losowymi o rozkładach wykładniczych, przy czym Y EX = 4 i EY = 6. Rozważamy zmienną losową Z =.

Metody oparte na logicznej regresji. zastosowaniu do wykrywania interakcji SNPów

Jądrowe klasyfikatory liniowe

Klasyfikacja naiwny Bayes

Szacowanie optymalnego systemu Bonus-Malus przy pomocy Pseudo-MLE. Joanna Sawicka

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

LABORATORIUM 8 WERYFIKACJA HIPOTEZ STATYSTYCZNYCH PARAMETRYCZNE TESTY ISTOTNOŚCI

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 9 i 10 - Weryfikacja hipotez statystycznych

2. Empiryczna wersja klasyfikatora bayesowskiego

Weryfikacja hipotez statystycznych

Testowanie hipotez statystycznych

ODRZUCANIE WYNIKÓW POJEDYNCZYCH POMIARÓW

Testowanie hipotez statystycznych.

Modele i wnioskowanie statystyczne (MWS), sprawozdanie z laboratorium 1

Statystyka Matematyczna Anna Janicka

Systemy ekspertowe - wiedza niepewna

Statystyka Matematyczna Anna Janicka

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Testowanie hipotez. Hipoteza prosta zawiera jeden element, np. H 0 : θ = 2, hipoteza złożona zawiera więcej niż jeden element, np. H 0 : θ > 4.

Naiwny klasyfikator Bayesa brał pod uwagę jedynie najbliższe otoczenie. Lecz czym jest otoczenie? Jak je zdefiniować?

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Załóżmy, że obserwujemy nie jedną lecz dwie cechy, które oznaczymy symbolami X i Y. Wyniki obserwacji obu cech w i-tym obiekcie oznaczymy parą liczb

Algorytmy MCMC i ich zastosowania statystyczne

Testowanie modeli predykcyjnych

Optymalizacja systemów

Prawdopodobieństwo i statystyka

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 13 i 14 - Statystyka bayesowska

1 Gaussowskie zmienne losowe

1 Klasyfikator bayesowski

ALGORYTM RANDOM FOREST

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

METODY INŻYNIERII WIEDZY

Formy kwadratowe. Rozdział 10

Sieć przesyłająca żetony CP (counter propagation)

STATYSTYKA MATEMATYCZNA

Propensity score matching (PSM)

Transkrypt:

Rozpoznawanie obrazów Laboratorium Python Zadanie nr 2 κ-nn i Naive Bayes autorzy: M. Zięba, J.M. Tomczak, A. Gonczarek, S. Zaręba, J. Kaczmar Cel zadania Celem zadania jest implementacja klasyfikatorów κ-nn oraz Naive Bayes w zadaniu analizy dokumentów tekstowych. Zadanie klasyfikacji dokumentów tekstowych Rozważmy problem klasyfikacji dokumentu tekstowego T do jednej z kategorii tematycznych. Każdy dokument tekstowy opisany jest za pomocą wektora cech x = (φ 1 (T ),..., φ D (T )) T, gdzie każda cecha φ d (T ) {0, 1} określa, czy d-te słowo występuje w dokumencie T, tj. φ d (T ) = 1, czy też nie, φ d (T ) = 0. Dla każdego dokumentu należy rozwiązać problem klasyfikacji z wieloma klasami y {1, 2, 3, 4}, gdzie każda wartość określa grupę tematyczną (1 computer, 2 recreation, 3 science, 4 talk). Zadanie klasyfikacji nowego dokumentu tekstowego x new do jednej z grup tematycznych polega na wyznaczeniu prawdopodobieństwa p(y x new ), a następnie wyboru tej klasy, dla której prawdopodobieństwo warunkowe jest największe: y = arg max p(y x new ). (1) y Kluczową wielkością w problemie klasyfikacji jest rozkład warunkowy p(y x), dlatego jest on celem modelowania. Zauważmy, że wielkość tę można modelować co najmniej na dwa sposoby: ˆ Podejście generujące: zauważmy, że rozkład warunkowy p(y x) można wyznaczyć korzystając ze wzoru Bayesa: p(y x) = p(x y)p(y) p(x) = p(x y)p(y) y p(x y )p(y ) W celu poznania rozkładu warunkowego p(y x) będziemy modelować wielkości p(x y, θ) i p(y π), gdzie θ i π oznaczają parametry modelu. ˆ Podejście dyskryminujące: rozkład warunkowy p(y x) modelujemy wprost za pomocą modelu p(y x, θ), gdzie θ oznacza parametry modelu. 1

Podejście generujące: Naive Bayes Model W podejściu generującym naszym celem jest modelowanie rozkładów p(x y, θ) i p(y θ). Rozkład na grupę tematyczną wyrażać będziemy za pomocą rozkładu wielopunktowego: p(y π) = M(y π), (2) gdzie π = (π 1,..., π K ), a π k oznacza prawdopodobieństwo a priori k-tej grupy tematycznej. W rozważanym przypadku cechy opisujące dokument są binarne, dlatego odpowiednim rozkładem byłby taki rozkład, który każdej możliwej konfiguracji słów przyporządkowuje wartość prawdopodobieństwa. Zwróćmy jednak uwagę, że takich konfiguracji jest 2 D, a zatem model musiałby posiadać 2 D 1 parametrów. Przykładowo, dla D = 100 wyuczenie takiego modelu jest w praktyce niemożliwe. Dlatego dalej przyjmować będziemy, że występowanie słów jest niezależne od siebie, wówczas rozważany model będzie posiadał jedynie D parametrów. Naturalnie w ten sposób tracimy możliwość modelowania współzależności między występowaniem słów, ale zyskujemy możliwość wyuczenia takiego modelu. Model, który zakłada niezależność cech, nazywa się Naive Bayes i wyraża się następująco: D p(x y, θ) = p(x d y, θ) (3) d=1 gdzie dla rozpatrywanego zadania rozkład warunkowy na cechy modelujemy za pomocą rozkładu dwupunktowego: Uczenie p(x d y = k, θ) = B(x d θ d,k ) (4) = θ x d d,k (1 θ d,k) 1 x d. (5) Celem uczenia w przypadku modelu Naive Bayes jest oszacowanie prawdopodobieństw {π k } k=1...,4 oraz prawdopodobieństw {θ d,k } d=1,...,d w oparciu o dane uczące D. k=1,...,4 Korzystając z metody największej wiarygodności (estymator ML) wielkości te możemy wyznaczyć w następujący sposób: π k = 1 N I(y n = k), (6) N n=1 Nn=1 I(y n = k, x n,d = 1) θ d,k = Nn=1, (7) I(y n = k) gdzie I( ) oznacza indykator, który zwraca wartość 1, gdy wszystkie warunki logiczne, które są jego argumentami, są prawdziwe i wartość 0 w przeciwnym przypadku. Często w praktyce może wystąpić problem, że pewne słowo może nie pojawić się w danych uczących lub posiadamy zbyt mało danych, aby dostatecznie dobrze oszacować interesujące nas prawdopodobieństwo. Wówczas stosuje się dodatkowy rozkład a priori na słowa, dla których określamy 2

założoną wartość występowania słowa a oraz jego niewystępowania b. W rozważanym przypadku, dla cech binarnych, wygodnym rozkładem a priori jest rozkład beta: p(θ d,k ) = Beta(θ d,k a, b), (8) gdzie a, b > 0 są tzw. hiperparametrami. Wówczas można wyznaczyć estymator maksymalnej a posteriori (MAP) dla θ d,k : θ d,k = Nn=1 I(y n = k, x n,d = 1) + a 1 Nn=1. (9) I(y n = k) + a + b 2 Podejście dyskryminujące: κ-nn Model κ-nearest Neighbors (κ-nn) jest przykładem modelu dyskryminującego oraz modelu nieparametrycznego, tzn. takiego, dla którego parametrami modelu są dane uczące. Rozkład warunkowy dla grupy tematycznej pod warunkiem dokumentu tekstowego określa się w następujący sposób: p(y x, κ) = 1 I(y i = y) (10) κ i N κ(x,d) gdzie κ oznacza liczbę najbliższych sąsiadów, N κ (x, D) oznacza zbiór indeksów κ najbliższych sąsiadów dla dokumentu x w zbiorze treningowym D. Zauważmy, że model κ-nn zależy od zbioru treningowego oraz wartości parametru κ, czyli liczby sąsiadów. Wartość κ musi być zadana przed dokonaniem predykcji. Kluczowym pojęciem dla κ-nn jest odległość za pomocą której wyznacza się najbliższych sąsiadów. W rozważanym przypadku do czynienia mamy z dokumentemi tekstowymi opisanymi za pomocą D cech binarnych określających występowanie słów w dokumencie. W celu wyznaczenia odległości między dwoma dokumentami posłużymy się metryką Hamminga, która określa liczbę miejsc, na których dwa ciągi różnią się od siebie. Na przykład, dla x 1 = (1, 0, 0, 1) i x 2 = (1, 1, 0, 0) odległość Hamminga między x 1 i x 2 wynosi 2: 1 0 0 1 1 1 0 0 0 1 0 1 = 2 Selekcja modelu W rozważanym problemie mamy do czynienia z trzema wielkościami, których nie wyuczamy w oparciu o dane, tj. liczbę sąsiadów κ dla κ-nn oraz wartości rozkładu a priori dla Naive Bayes. W przypadku, gdy dysponujemy zbiorem walidacyjnym D val o długości N val, możemy przeprowadzić 3

selekcję tych wartości. W celu oceny modelu w oparciu o wspomniane wielkości, stosować będziemy miarę błąd klasyfikacji: E(D val ; α) = 1 N val I(y n ŷ n ), (11) N val gdzie α jest hiperparametrem κ w przypadku κ-nn lub (a, b) dla Naive Bayes, oraz ŷ n jest predykowaną przez model wartością klasy dla n-tego przykładu ze zbioru walidacyjnego. Algorithm 1: Procedura selekcji modelu dla modelu κ-nn lub Naive Bayes. Wejście : Zbiór walidacyjny D val, zbiór wartości hiperparametru(-ów) Λ Wyjście: Wartość α 1 for α Λ do 2 if Naive Bayes then n=1 3 Znajdź estymatory dla π i θ z użyciem a i b ; 4 Policz wartość E(D val ; (a, b)) ; 5 else if κ-nn then 6 Policz wartość E(D val ; κ) ; 7 end 8 Zwróć wartość α, dla której E(D val ; α) jest najniższa. Testowanie poprawności działania Do sprawdzania poprawności działania zaproponowanych rozwiązań służy funkcja main w pliku main.py. W pliku main.py nie wolno czegokolwiek zmieniać ani dopisywać. Dodatkowo, aby program zadziałał, należy zainstalować pakiet wordcloud. W Windowsie można zrobić to w następujący sposób: 1. Zainstalować Visual C++ 2015 Build Tools ze strony: http://landinghub.visualstudio.com/visual-cpp-build-tools 2. Uruchomić linię poleceń Start -> cmd i wpisać: pip install wordcloud Instrukcja wykonania zadania Instrukcja: Należy zaimplementować wszystkie funkcje w pliku content.py 1. Zaimplementować funkcję hamming distance liczącą odległości Hamminga. Funkcja przyjmuje dwie macierze rzadkie reprezentujące dwa zbiory obiektów i wyznacza macierz zawierającą odległości Hamminga pomiędzy obiektami z jednego i drugiego zbioru. 4

2. Zaimplementować funkcję sort train labels knn liczącą macierz posortowanych etykiet klas względem macierzy odległości. Dla danej macierzy odległości i zadanych etykiet klas należy zbudować macierz, która w każdym wierszu zawiera etykiety klas posortowane zgodnie z odległościami z tego samego wiersza w macierzy odległości. 1 3. Zaimplementować funkcję p y x knn wyznaczającą macierz prawdopodobieństw przynależności do każdej z klas dla modelu KNN (10). 4. Zaimplementować funkcję classification error liczącą błąd klasyfikacji (11). Jeżeli dla danego przykładu x prawdopodobieństwo p(y = k x) dla kilku klas k jest maksymalne, to jako predykcję modelu wybieramy klasę o najwyższym numerze k. 5. Zaimplementować funkcję model selection knn dokonującą selekcji modelu KNN dla zadanych wartości κ. 6. Zaimplementować funkcję estimate a priori nb liczącą estymator ML dla klas, π k (6), dla modelu NB. 7. Zaimplementować funkcję estimate p x y nb liczącą estymator MAP dla cech, θ d,k (9), dla modelu NB. 8. Zaimplementować funkcję estimate p y x nb wyznaczającą macierz prawdopodobieństw przynależności do każdej z klas dla modelu NB. 9. Zaimplementować funkcję model selection nb dokonującą selekcji modelu NB dla zadanych wartości parametrów a i b. UWAGA! Wszelkie nazwy funkcji i zmiennych w pliku content.py muszą pozostać zachowane. Pytania kontrolne 1. Proszę wyznaczyć estymator największej wiarygodności dla rozkładu wielopunktowego. 2. Proszę wyznaczyć estymator największej wiarygodności dla rozkładu dwupunktowego. 3. Proszę wyznaczyć estymator maksymalnego a posteriori dla rozkładu dwupunktowego. 4. Dlaczego stosujemy założenie o niezależności cech określających wystąpienie słowa w dokumencie? Jaka jest korzyść z takiego podejścia, a jaka jest strata? 1 PRZYKŁAD: macierz odległości: [2 5 3; 6 7 1], zadane etykiety klas: [1 4 3], macierz posortowanych etykiet: [1 3 4; 3 1 4]. 5

5. Jaka jest interpretacja parametrów θ? Ile jest takich parametrów dla D cech i K klas? 6. Jaka jest interpretacja parametrów π? Ile jest takich parametrów dla D cech i K klas? 7. Jaka jest interpretacja hiperparametru κ? Za co odpowiada? Jaka jest jego interpretacja geometryczna? Jak jego wartość wpływa na rozwiązanie? 8. W jaki sposób wyznaczamy sąsiedztwo w modelu κ-nn? 9. Czy model κ-nn jest modelem generującym, czy dyskryminującym? Czy jest to model parametryczny, czy nieparametryczny? 10. Czy model Naive Bayes jest modelem generującym, czy dyskryminującym? Czy jest to model parametryczny, czy nieparametryczny? 6