Metody systemowe i decyzyjne w informatyce

Podobne dokumenty
Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

Rozpoznawanie obrazów

Optymalizacja systemów

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Podstawowe modele probabilistyczne

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

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

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

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

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

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

SPOTKANIE 4: Klasyfikacja: Regresja logistyczna

WYKŁAD 2. Problem regresji - modele liniowe

Optymalizacja systemów

Agnieszka Nowak Brzezińska Wykład III

SPOTKANIE 3: Regresja: Regresja liniowa

Optymalizacja systemów

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

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Regresyjne metody łączenia klasyfikatorów

Elementy modelowania matematycznego

Prawdopodobieństwo czerwonych = = 0.33

METODY INŻYNIERII WIEDZY

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Metody probabilistyczne klasyfikatory bayesowskie

Testowanie hipotez statystycznych. Wprowadzenie

Wprowadzenie. Data Science Uczenie się pod nadzorem

Wprowadzenie do uczenia maszynowego. Jakub Tomczak

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

Hierarchiczna analiza skupień

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

STATYSTYKA MATEMATYCZNA WYKŁAD stycznia 2010

Klasyfikacja LDA + walidacja

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

Klasyfikacja metodą Bayesa

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

Agnieszka Nowak Brzezińska

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

Weryfikacja hipotez statystycznych

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Optymalizacja ciągła

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Systemy ekspertowe - wiedza niepewna

Metody systemowe i decyzyjne w informatyce

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

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

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

Wybór modelu i ocena jakości klasyfikatora

Wnioskowanie bayesowskie

Prawdopodobieństwo i statystyka

Stanisław Cichocki Natalia Nehrebecka. Wykład 7

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

Algorytmy MCMC i ich zastosowania statystyczne

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

2. Empiryczna wersja klasyfikatora bayesowskiego

LABORATORIUM 8 WERYFIKACJA HIPOTEZ STATYSTYCZNYCH PARAMETRYCZNE TESTY ISTOTNOŚCI

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

Testowanie hipotez statystycznych

ODRZUCANIE WYNIKÓW POJEDYNCZYCH POMIARÓW

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

Testowanie hipotez statystycznych.

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

Statystyka Matematyczna Anna Janicka

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

Statystyka Matematyczna Anna Janicka

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

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.

Podstawy Programowania C++

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Korelacja oznacza współwystępowanie, nie oznacza związku przyczynowo-skutkowego

Elementy inteligencji obliczeniowej

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

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

Adrian Horzyk

1 Gaussowskie zmienne losowe

Klasyfikacja naiwny Bayes

Hipotezy statystyczne

Transkrypt:

Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 κ-nn i Naive Bayes autorzy: M. Zięba, J.M. Tomczak, A. Gonczarek, S. Zaręba 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.m. W pliku main.m nie wolno czegokolwiek zmieniać ani dopisywać. Instrukcja wykonania zadania Instrukcja: 1. Zaimplementować funkcję liczącą odległości Hamminga w pliku hamming distance.m. 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. 2. Zaimplementować funkcję liczącą macierz posortowanych etykiet klas względem macierzy odległości w pliku sort train labels KNN.m. 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 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]. 4

3. Zaimplementować funkcję wyznaczającą macierz prawdopodobieństw przynależności do każdej z klas dla modelu KNN (10) w pliku p y x KNN.m. 4. Zaimplementować funkcję liczącą błąd klasyfikacji (11) w pliku error fun.m. 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ę dokonującą selekcji modelu KNN dla zadanych wartości κ w pliku model selection KNN.m. 6. Zaimplementować funkcję liczącą estymator ML dla klas, π k (6), dla modelu NB w pliku estimate a priori NB.m. 7. Zaimplementować funkcję liczącą estymator MAP dla cech, θ d,k (9), dla modelu NB w pliku estimate p x y NB.m. 8. Zaimplementować funkcję wyznaczającą macierz prawdopodobieństw przynależności do każdej z klas dla modelu NB w pliku estimate p y x NB.m. 9. Zaimplementować funkcję dokonującą selekcji modelu NB dla zadanych wartości parametrów a i b w pliku model selection NB.m. UWAGA! Wszelkie macierze zawierające obiekty są typu sparse i logical. Aby zamienić macierz rzadką (sparse) na pełną wykonujemy funkcję full, natomiast aby zmienić typ danych na double wykonujemy funkcję double. UWAGA! Wszelkie nazwy funkcji i zmiennych w plikach *.m muszą pozostać zachowane. Zmiana jakichkolwiek nazw i dodanie fragmentów kodu poza wskazanymi miejscami skutkować będzie otrzymaniem 0 pkt. 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? 5. Jaka jest interpretacja parametrów θ? Ile jest takich parametrów dla D cech i K klas? 5

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