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).