Metody Rozpoznawania Obrazów Laboratorium nr 6 Metody
Transkrypt
Metody Rozpoznawania Obrazów Laboratorium nr 6 Metody
Metody Rozpoznawania Obrazów Laboratorium nr 6 Metody klasyfikacji 1. Format sprawozdania W trakcie zajęć naleŜy wykonać wszystkie doświadczenia opisane w rozdziale „Opis doświadczeń podstawowych”. Uzyskane wyniki naleŜy umieścić w sprawozdaniu z ćwiczeń, łącznie z ich analizą i dyskusją, zachowując numerację paragrafów zgodną z instrukcją. W szczególności, naleŜy umieścić wyniki oznaczone symbolem (SPR). Sprawozdanie powinno być zwięzłe, i nie powinno zawierać wprowadzenia do rozwaŜanych zagadnień ani opisu przeprowadzonych doświadczeń, o ile nie dokonano w trakcie ich przeprowadzania Ŝadnych modyfikacji w stosunku do poniŜszej instrukcji. NaleŜy przygotować jedno sprawozdanie na grupę dwuosobową. Sprawozdanie naleŜy umieścić w katalogu o nazwie składającej się z 4 członów: nr ćwiczenia, nr grupy ćwiczeniowej, nazwisko1, imię1, nazwisko2, imię2 (np. 1_7_Nowak_Janina_Kowalski_Jan). Katalog wraz z jego zawartością naleŜy skompresować w formacie RAR do pliku o nazwie takiej jak nazwa katalogu (np. 1_7_Nowak_Janina_Kowalski_Jan.rar), tak aby po rozpakowaniu katalog odtworzył się. Następnie plik skompresowany naleŜy przesłać na adres: [email protected] Laboratorium przewidziane jest do realizacji przez 3 ćwiczenia. Sprawozdania naleŜy przesłać na powyŜszy adres nie później niŜ w 2 tygodnie od dnia, w którym zostały przeprowadzone trzecie ćwiczenia. Katalog powinien zawierać, oprócz samego sprawozdania w formacie PDF, równieŜ podkatalog o nazwie „kod”, w którym umieszczone są wszystkie pliki źródłowe procedur i skryptów napisanych w trakcie ćwiczeń. 2. Wprowadzenie 2.1. Cele laboratorium - 2.2. Poznanie i przeanalizowanie własności liniowych metod klasyfikacji: FLD/LDA oraz perceptronu Poznanie i przeanalizowanie własności nowoczesnych, nieliniowych metod klasyfikacji: SVM i klasyfikatorów zespołowych. Literatura - Algorytmy: Wykład http://www.mathworks.com/access/helpdesk/help/toolbox/nnet/nnet_pr oduct_page.html http://www.icsr.agh.edu.pl/~mro/classif/papers.rar 2.3. Zbiory danych Zbiory danych wykorzystywane w tym ćwiczeniu: - artificial2D.mat - facesYale.mat - multiDimHypercubes.mat - uci-spambase.mat - uci-wdbc-normalized.mat znajdują się pod adresem: http://www.icsr.agh.edu.pl/~mro/classif/datasets.rar 2.4. Kod źródłowy - Biblioteka OSU SVM znajduje się pod adresem: http://sourceforge.net/projects/svm/ Skrypt graphicalSVM.m i skypty pomocnicze znajdują się pod adresem: http://www.icsr.agh.edu.pl/~mro/classif/scripts.rar 3. Opis doświadczeń podstawowych Poprawne wykonanie i przeanalizowanie wyników z tej części umoŜliwia uzyskanie oceny maksymalnie 5.0. 3.1. FLD/LDA Zaimplementuj metodę FLD/LDA dla problemów wieloklasowych (patrz: LDA.ps, przydatna moŜe być m.in. funkcja eig). 3.1.1. LDA jako optymalny rzut liniowy Dla danych facesYale.mat (badanych juŜ wcześniej w Laboratorium nr 1), dokonaj przekształcenia liniowego wejściowej przestrzeni cech na przestrzeń 2D wynikającą z macierzy transformacji liniowej LDA i zobrazuj rozkład punktów w tej przestrzeni (funkcja scatter). Dokonaj równieŜ przekształcenia tego samego problemu do przestrzeni 2D wykorzystując 2 pierwsze komponenty główne wynikające z metody PCA. Umieść obie ilustracje w sprawozdaniu, i oceń przydatność obydwu metod pod obrazowania kątem rozróŜnialności klas (SPR). 3.1.2. Wpływ stosunku liczby przykładów do liczby cech na zachowanie LDA jako klasyfikatora Zaimplementuj optymalny próg decyzyjny dla LDA dla problemów dwuklasowych (wzór A.23 w pliku FLD.ps). Oblicz błąd klasyfikacji oraz czułość (sensitivity) i swoistość (specificity) metody FLD dla zbioru uci-wdbc-normalized.mat, na zbiorze treningowym i testowym (SPR). 3.2. Perceptron Dla zbioru danych uci-wdbc-normalized.mat, wyucz klasyczny perceptron (funkcja newp) w wariancie wsadowym (trainFcn=’trainb’), bez wykorzystania zbioru walidacyjnego, oraz z wykorzystaniem tego zbioru (jako parametru do funkcji train). Oblicz błąd klasyfikacji oraz czułość (sensitivity) i swoistość (specificity) obu wariantów na zbiorze treningowym i testowym (SPR). Porównaj uzyskane wyniki z metodą FLD z punktu 3.1.2 (SPR). 3.3. Support Vector Machines Zapoznaj się z biblioteką OSU SVM. 3.3.1. Obrazowa analiza zachowania metody SVM Uruchom skrypt graphicalSVM.m i zaobserwuj zachowanie metody SVM dla serii zbiorów 2D z pliku artificial2D.mat, zwracając uwagę na takie czynniki jak geometria granicy decyzyjnej pomiędzy klasami, liczba przykładów treningowych, i rodzaj SVMa (patrz na miejsca oznaczone w skrypcie TU ZMIENIAJ: ). Uwagi odnośnie zgodności wynikającej z SVM granicy decyzyjnej z faktyczną granicą decyzyjną, oraz rozmieszczenia wektorów wspierające (support vectors) zanotuj w sprawozdaniu, wklejając takŜe co ciekawsze przykładowe ilustracje (SPR). 3.3.2. Wpływ parametrów na błąd metody SVM Wczytaj dane ze zbioru uci-spambase.mat. Dokonaj normalizacji kaŜdej cechy zarówno w zbiorze treningowym jak i testowym poprzez odjęcie od wartości średniej ze zbioru treningowego, oraz podzielenie przez trzykrotną wartość odchylenia standardowego ze zbioru treningowego (tj. naleŜy wyznaczać średnią i odchylenie tylko na zbiorze treningowym, i uŜywać tych samej wartości modyfikując zbiór treningowy i testowy). Dokonaj analizy błędu testowego, czułości oraz swoistości dla szeregu wartości stałej C, oraz parametrów opisujących kernel (wybierz jeden z dwóch, wielomianowy lub RBF). Postaraj się tak dobrać parametry, by uzyskać moŜliwie najmniejszy błąd i największą czułość i swoistość. Wyniki analizy i ich dyskusję umieść w sprawozdaniu (SPR). 3.4. Metody zespołowe Zaimplementuj metodę AdaBoost (patrz: ShortIntroBoost.pdf) wykorzystującą drzewa decyzyjne (uczenie i klasyfikacja drzewami decyzyjnymi: funkcje treefit i treeval) oraz schemat „resampling” (patrz: Freund96Experiments.pdf, rozdz. 3) do uwzględniania wag przy konstrukcji zespołu. 3.4.1. Obrazowa analiza zachowania metody metody AdaBoost dla drzew decyzyjnych Przygotuj podobny skrypt do analizy jak w punkcie 3.3.1. Porównaj graficznie granicę decyzyjną metody AdaBoost z faktyczną granicą, dla kilku zespołu 2, 5, 10 i 50 drzew decyzyjnych oraz dla pojedynczego drzewa decyzyjnego, ilustracje i wnioski umieść w sprawozdaniu (SPR). 3.4.2. Wpływ wielkości zespołu na błąd Dokonaj analizy błędu testowego oraz czułości i swoistości metody AdaBoost w zaleŜności od wielkości zespołu (w zakresie 1-100) dla danych ze zbioru uci-spambase.mat, umieść wykres zaleŜności błędu od wielkości zespołu w sprawozdaniu (SPR). Porównaj najmniejszy uzyskany błąd z najmniejszym błędem dla tego zbioru danych uzyskanym przy pomocy SVM w punkcie 3.3.2 (SPR). 4. Opis doświadczeń dodatkowych Poprawne wykonanie i przeanalizowanie wyników z tej części umoŜliwia podwyŜszenie oceny do 6.0. 4.1. Wpływ stosunku liczby przykładów do liczby cech na zachowanie LDA jako klasyfikatora i rozszerzenie LDA do RDA Oblicz błąd klasyfikacji dwuklasowej metody FLD (zaimplementowanej w punkcie 3.1.2) dla zbioru uci-wdbc-normalized.mat, biorąc do treningu kolejno 10, 12, 14, ..., 282, 284 pierwszych przykładów z oryginalnego zbioru treningowego. Wykreśl zaleŜność błędu klasyfikacji od ilości przykładów treningowych i przedyskutuj uzyskaną zaleŜność (SPR). Zaimplementuj metodę RDA jako rozszerzenie metody FLD dla zbiorów o małej liczbie przykładów. Oblicz błąd klasyfikacji metodą RDA dla zbioru uci-wdbc-normalized.mat, biorąc do treningu kolejno 10, 12, 14, ..., 282, 284 pierwszych przykładów z oryginalnego zbioru treningowego. Wykreśl zaleŜność błędu klasyfikacji od ilości przykładów treningowych i przedyskutuj uzyskaną zaleŜność (SPR). Porównaj relatywną skuteczność metody RDA względem FLD (SPR). Porównaj wyniki (SPR) uzyskane dla metody RDA z metodą, która najpierw redukuje wymiarowość przestrzeni cech przy uŜyciu PCA, a następnie stosuje metodę FLD w nowej przestrzeni definiowanej przez pierwszych kilka komponentów głównych. 4.2. Porównanie metod SVM i AdaBoost z metodą najbliŜszych sąsiadów Przetestuj metody SVM i AdaBoost dla serii zbiorów danych z pliku multiDimHypercubes.mat , która była uŜywana w punkcie 3.3 Laboratorium nr 1 (tam teŜ znajduje się dokładny opis tego zbioru). Porównaj przebieg krzywych opisujących błąd testowy metod SVM oraz AdaBoost w funkcji wzrastającej wymiarowości przestrzeni cech z wykresem dla metody najbliŜszych sąsiadów uzyskanym w ramach Laboratorium nr 1. Wykresy wraz z analizą umieść w sprawozdaniu (SPR).