Metody systemowe i decyzyjne w informatyce

Podobne dokumenty
Optymalizacja systemów

Metody systemowe i decyzyjne w informatyce

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

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

WYKŁAD 3. Klasyfikacja: 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

SPOTKANIE 3: Regresja: Regresja liniowa

Metody systemowe i decyzyjne w informatyce

SPOTKANIE 4: Klasyfikacja: Regresja logistyczna

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

5. Analiza dyskryminacyjna: FLD, LDA, QDA

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

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

WYKŁAD 2. Problem regresji - modele liniowe

Optymalizacja systemów

Optymalizacja ciągła

Optymalizacja systemów


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

Metody systemowe i decyzyjne w informatyce

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

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

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Podstawowe modele probabilistyczne

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

Podstawy Sztucznej Inteligencji (PSZT)

Wprowadzenie do uczenia maszynowego. Jakub Tomczak

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

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

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. Regresja logistyczna. Spis treści. Hipoteza. powrót

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Agnieszka Nowak Brzezińska Wykład III

KADD Minimalizacja funkcji

Metody klasyfikacji danych - część 1 p.1/24

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

Agnieszka Nowak Brzezińska Wykład III

Elementy inteligencji obliczeniowej

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Klasyfikacja LDA + walidacja

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

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład II 2017/2018

Algorytm grupowania danych typu kwantyzacji wektorów

1 Wprowadzenie do algorytmiki

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Modelowanie rynków finansowych z wykorzystaniem pakietu R

wiedzy Sieci neuronowe

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

KADD Minimalizacja funkcji

Segmentacja przez detekcje brzegów

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

8. Neuron z ciągłą funkcją aktywacji.

Wykład z Technologii Informacyjnych. Piotr Mika

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Modele zapisane w przestrzeni stanów

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Zastosowania sieci neuronowych

Niezawodność i diagnostyka projekt. Jacek Jarnicki

Aproksymacja funkcji a regresja symboliczna

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Programowanie w języku C++ Grażyna Koba

Metoda największej wiarogodności

Zawansowane modele wyborów dyskretnych

Analiza danych. TEMATYKA PRZEDMIOTU

Prawdopodobieństwo i statystyka

Dokumentacja. Kalibracja parametrów modelu Hestona za rozszerzonego filtra Kalmana. Mikołaj Bińkowski Wiktor Gromniak

Zastosowanie modelu regresji logistycznej w ocenie ryzyka ubezpieczeniowego. Łukasz Kończyk WMS AGH

Testowanie modeli predykcyjnych

Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe

Testowanie hipotez statystycznych. Wprowadzenie

Uczenie sieci neuronowych i bayesowskich

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Wprowadzenie do uczenia maszynowego

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Agnieszka Nowak Brzezińska

TEST STATYSTYCZNY. Jeżeli hipotezę zerową odrzucimy na danym poziomie istotności, to odrzucimy ją na każdym większym poziomie istotności.

Elementy modelowania matematycznego

Metody eksploracji danych Laboratorium 2. Weka + Python + regresja

Ekonometria. Modelowanie zmiennej jakościowej. Jakub Mućk. Katedra Ekonomii Ilościowej

Stanisław Cichocki. Natalia Nehrebecka

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

Zapisywanie algorytmów w języku programowania

Prawdopodobieństwo czerwonych = = 0.33

Mikroekonometria 4. Mikołaj Czajkowski Wiktor Budziński

Analiza przeżycia. Wprowadzenie

Transkrypt:

Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego optymalizacji w zastosowaniu do zadania detekcji twarzy na zdjęciu oraz zaimplementowanie rozwiązania problemu w środowisku MATLAB. Detekcja twarzy jako problem klasyfikacji Problem detekcji twarzy na obrazie polega na zaklasyfikowaniu wybranych fragmentów obrazu jako twarzy człowieka. Korzystając z techniki okna przesuwnego (ang. shifting window) obraz dzielony jest na prostokąty, na których dokonywana jest klasyfikacja. Każdy wyszczególniony fragment obrazu opisany jest za pomocą wektora cech φ = (φ 1... φ D ) T otrzymanych za pomocą deskrytporów HOG (ang. Histogram of Oriented Gradients). 1 Dla każdego fragmentu obrazu należy rozwiązać problem klasyfikacji z dwoma klasami y {0, 1}, polegający na przypisaniu fragmentowi obrazu etykiety twarzy, y = 1, lub braku twarzy, y = 0. Zdefiniujmy prawdopodobieństwo wystąpienia twarzy na zadanym fragmencie obrazu reprezentowanym przez cechy φ za pomocą sigmoidalnej funkcji logistycznej: p(y = 1 φ, w) = σ(w T φ), (1) gdzie w oznacza D-wymiarowy wektor parametrów, sigmoidalna funkcja logistyczna: σ(a) = 1 1 + exp( a). (2) Klasyfikacja zadanego fragmentu odbywa się poprzez sprawdzenie, czy prawdopodobieństwo wystąpienia twarzy jest większe niż zadana wartość progowa θ [0, 1]: y 1, jeśli p(y = 1 φ, w) θ, = 0, w przeciwnym przypadku. Klasyfikator w tak podanej postaci nazywa się regresją logistyczną. 1 Sposób otrzymania deksryptorów nie jest istotny dla zadania i jest pominięty w opracowaniu. Zainteresowanych odsyłamy do Wikipedii, gdzie można znaleźć odnośniki do prac źródłowych http://en.wikipedia.org/wiki/ Histogram_of_oriented_gradients. 1 (3)

Uczenie modelu jako problem optymalizacji Dla tak określonego problemu detekcji twarzy kluczowym aspektem jest wyznaczenie parametrów w, czyli uczenie modelu. Zakładamy, że dysponujemy zbiorem treningowym D = {φ n, y n } N n=1, tj. zestawem fragmentów obrazów reprezentowanym przez cechy HOG wraz z etykietą, czy na fragmencie widnieje twarz, czy nie. W celu uczenia modelu wykorzystamy metodę maksymalnej wiarygodności (ang. maximum likelihood). Wprowadźmy następujące oznaczenie: σ n σ(w T φ n ). (4) Zmienna losowa y jest zmienną losową binarną, dlatego funkcja wiarygodności przyjmuje następującą postać: p(d w) = Biorąc negatywny logarytm otrzymujemy: ln p(d w) = N n=1 σ yn n (1 σ n ) 1 yn. (5) N ( yn ln σ n + (1 y n ) ln(1 σ n ) ). (6) n=1 Zadanie wyznaczenia wartości parametrów minimalizujących negatywny logarytm funkcji wiarygodności jest zadaniem optymalizacji bez ograniczeń: minimalizuj (po w) ln p(d w) Zauważmy, że postać σ n zależy od parametrów w, co uniemożliwia wyznaczenia analitycznego rozwiązania (6). Dlatego należy posłużyć się rozwiązaniem numerycznym. W tym celu zastosujemy algorytm gradientu prostego. Algorytm gradientu prostego Oznaczmy naszą funkcję celu jako F (w) = ln p(d w). Algorytm gradientu prostego przedstawiono poniżej. Aby móc zastosować algorytm gradientu prostego należy wyznaczyć gradient w F (w). 2

Algorithm 1: Metoda gradientu prostego Wejście : Punkt startowy x 0 domf, dokładność ε, krok η Wyjście: Punkt optymalny x dla funkcji F 1 x x 0 ; 2 while x x old 2 ε do 3 x old x; 4 x F (x); 5 x x + η x; 6 end 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 czekogolwiek zmieniać ani dopisywać. Instrukcja wykonania zadania 1. Zaimplementować funkcję sigmoidalną (2) w pliku sigmoid.m. 2. Wyznaczyć gradient funkcji celu (6), następnie zaimplementować jej wartość oraz wartość gradientu w pliku logistic cost function.m. 3. Zaimplemnetować funkcję wyznaczającą wartości parametrów w za pomocą algorytmu gradientu prostego w pliku gradient descent.m. Funkcja dodatkowo ma zwracać wartości funkcji celu dla każdej iteracji algorytmu. Efekt końcowy działania programu powinien być taki, jak na Rysunku 1. 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. 3

Rysunek 1: Wynik poprawnie działającego zadania. Implementacja 1. Poprawne zapisanie funkcji sigmoidalnej funkcja sigmoid.m. 2. Poprawne zapisanie funkcji celu wraz z jej gradientem funkcja logistic cost function.m. 3. Poprawne zaimplementowanie algorytmu gradientu prostego funkcja gradient descent.m. Pytania kontrolne 1. Narysować przebieg sigmoidalnej funkcji logistycznej. 2. Wyznaczyć pochodną sigmoidalnej funkcji logistycznej. Zapisać ją jedynie przy pomocy wartości funkcji sigmoidalnej σ(a). 3. Wyznaczyć gradient negatywnego logarytmu funkcji wiarygodności (6). 4. Za co odpowiada wartość progowa θ? 5. Podać liczbę parametrów klasyfikatora (3). Ile parametrów posiadałby model gaussowskiej analizy dyskryminacyjnej, gdyby modelować rozkład warunkowy korzystając z p(y φ) p(φ y)p(y), gdzie p(φ y) rozkładu normalny, p(y) rozkład dwupunktowy? 6. Za co odpowiada η w algorytmie gradientu prostego? 4

7. Kiedy algorytm gradientu prostego będzie zbieżny, a kiedy nie? Odpowiedź uzasadnić graficznie (narysować). 8. Na czym polega detekcja obiektu na zdjęciu? Dlaczego jest to problem klasyfikacji? 9. Jakie mogą być inne warunki stopu dla algorytmu gradientu prostego? Podać przykładowe dwa. 10. W jaki sposób można dodać regularyzację l 2 na parametry modelu regresji logistycznej? Jaki efekt wówczas osiągniemy? 5