Sprawozdanie 1 Wyszukiwanie najbliższego sąsiada – 1-NN i k-NN
Transkrypt
Sprawozdanie 1 Wyszukiwanie najbliższego sąsiada – 1-NN i k-NN
Metody rozpoznawania obrazów Sprawozdanie 1 Wyszukiwanie najbliższego sąsiada – 1-NN i k-NN Mirosław Jedynak, Krzystof Lewandowski 1-NN Metoda podstawowa Błąd klasyfikacji wyniósł 93% (na 30 zadań niepoprawnie zaklasyfikowane zostały 2 zadania). Skalowanie ostatniej cechy Skalowanie ostatniej cechy dla wartości z przedziału 1..20 f 6 4 12 5 18 7 2 7 4 13 5 19 7 3 8 4 14 5 20 8 3 9 5 15 5 3 10 5 16 5 4 11 5 17 6 Zależność ilości niepoprawnie zaklasyfikowanych obiektów (e) od czynnika skalującego (f). e 1 2 3 4 5 9 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 12 14 16 18 Zależność ilości niepoprawnie zaklasyfikowanych obiektów (e) od czynnika skalującego (f). 20 Jak widać na powyższym zestawieniu skalowanie jednej z cech powoduje zwiększenie błędu klasyfikacji. Powodem takiego zachowania sie algorytmu jest zwiększająca się dominacja jednej z cech – im większa wartość współczynnika skalującego tym większy wpływ na odległość między dwoma obiektami ma ostatnia cecha. Porównanie czasu działania metod Metoda Metoda iteracyjna Metoda macierzowa Czas 13.459 s 427,832 s (7,14 min) Zależność czasu obliczeń od wybranej metody Jak widać na powyższym zestawieniu metoda iteracyjna jest zdecydowanie wolniejsza niż metoda macierzowa. Ilość działań koniecznych do klasyfikacji nie zmienia się w zależności od metody, ale implementacja macierzowa jest dużo bardziej efektywnie realizowana w środowisku matlaba. k-NN Zależność błędu od wartośći k K 11 27 22 12 27 23 13 26 24 14 27 25 15 24 26 16 23 27 17 26 28 18 29 29 19 27 30 20 32 21 29 Zależność wartośći nieopoprawnie zaklasyfikowanych obietków od wartośći K e 1 2 3 4 5 6 7 8 9 10 34 34 29 27 27 25 25 27 26 25 31 34 35 39 39 38 36 46 42 50 45 40 35 30 25 20 15 10 5 0 1 6 11 16 21 26 Zależność wartośći nieopoprawnie zaklasyfikowanych obietków od wartośći K Na powyższym zestawieniu można zauważyć nastepującą prawidłowość: Najmniejsza wartość niepoprawnie zaklasyfikowanych obiektów znajduje sie w środkowej części zakresu k- dla wartośći k=16 niepoprawnie zaklasyfikowane zostało 16 obiektów. Dla małych wartości k, gdy pod uwagę branych było tylko kilku sąsiadów wartość błedu jest większa. Analogiczna sytuacja występuje dla dyżych wartości k, gdzie brana pod uwagę jest przynależność do klas dla zbyt dużej liczby sąsiadów. Na podstawie powyższej analizy można zauważyć, że właściwie dobrana wartość współczynnika k może wpłynąc na poprawę klasyfikacji. 1-NN w wielu wymiarach Zależność błędu od wymiarowości przestrzeni Wymiar. 1 1 2 3 4 5 6 7 8 9 10 11 12 Błędów 132 132 125 156 155 196 222 277 306 339 351 366 383 13 402 14 397 15 392 16 460 17 439 18 411 19 457 20 413 21 436 22 446 23 452 24 456 25 438 26 473 Zależność błędów klasyfikacji od wymiarowości przestrzeni 27 28 29 30 31 32 33 34 35 36 37 38 39 40 463 466 463 514 474 447 476 505 455 448 473 478 458 491 600 500 400 300 200 100 0 0 5 10 15 20 25 30 35 40 Zależność błędów klasyfikacji od wymiarowości przestrzeni Z powyższego zestawienia ilości błędów można wywnioskować, że wraz z rosnącą wymiarowością przestrzeni błędy klasyfikacji rosną. Prowadzi do do stwierdzenia, że dla bardziej skomplikowanych zagadnień, gdzie występuje większa ilość cech, klasyfkacja jest zdecydowanie trudniejsza. Dla przestrzeni 40 wymiarowej błędów klasyfikacji było prawie 5 razy więcej niż dla 2 wymiarowej. Średnia odległość do najbliższych punktów z różnych klas wymiar Prawidłowa klasa 1 2 1,80043E-11 0,000544107 Nieprawidłowa klasa 0,1417395 0,105645 3 4 5 6 0,005564686 0,01864124 0,04272034 0,07371726 0,08417964 0,09292217 0,1166959 0,1558733 7 0,1155553 0,203817 24 1,500164 1,75732 8 0,1603828 0,2625929 25 1,59065 1,862732 9 0,2187145 0,3308464 26 1,705573 1,98541 10 0,2770645 0,3948777 27 1,807577 2,086247 11 0,3424961 0,4828885 28 1,930699 2,208537 12 0,4164038 0,5574543 29 2,03081 2,319428 13 0,4966179 0,6555837 30 2,153527 2,455783 14 0,5727545 0,7347061 31 2,266557 2,577355 15 0,6621424 0,8276565 32 2,370436 2,696247 16 0,731477 0,9136202 33 2,479169 2,806249 17 0,8346785 1,033896 34 2,601007 2,93627 18 0,9170622 1,13345 35 2,709466 3,045935 19 1,005498 1,223571 36 2,83392 3,175612 20 1,105615 1,334679 37 2,930084 3,271941 21 1,202031 1,43858 38 3,048414 3,411495 22 1,297476 1,545579 39 3,188707 3,542303 23 1,410423 1,669715 40 3,317944 3,682731 Zależnośc odległości do najbloższego obiektu z klasy do której został zaklasyfikowany obiekt oraz do przeciwnej. 4 3,5 3 2,5 2 1,5 1 0,5 0 0 5 10 15 20 25 30 35 40 Zależnośc odległości do najbloższego obiektu z klasy do której został zaklasyfikowany obiekt oraz do przeciwnej. 45 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 5 10 15 20 25 30 35 40 45 Zależnośc stosunku odległości do najlbliższego obiektu z prawidłowej klasy do odległości do najlbliższego obiektu z klasy przeciwnej Jak widać na poższym zestawieniu wartość odległości do nalbliższego punktu zarówno z prawidówej jak i przeciwnej klasy rośnie prawie liniowo do wymiarowości przestrzeni. Sam wzrost odległości nie tłumaczy jednek faktu większej ilości błędów klasyfikacji wraz ze wzrostem wymiarowości. Dopiero drugi wykres stosunku odległości tłumaczy dlaczego rośnie ilość błędnie zaklasyfikowanych obiektów wraz ze wzrostem wymiarowości – stosunek odległości zbliża sie do jedności co oznacza że odległości do obiektów z prawidłowej i nieprawidłowej klasy są prawie równe, co utrudnia klasyfikacji i może prowadzić do zwiększenia ilości błędnie zaklasyfikowanych obiektów. Przyspieszanie metody k-NN przy użyciu kd-tree Poniżej przedstawiona została tabela, pokazyjąca zeleżność czasu trwania wyszukiania najbliższego sąsiada w zależnośći od metody wyszokiwania oraz od wymiarowości przestrzeni f 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 KD-Trees Iterative 0,013118 0,590129 0,014076 0,576904 0,027882 0,606876 0,048458 0,647813 0,095652 0,686911 0,089543 0,724801 0,111497 0,764977 0,148726 0,807169 0,171878 0,853166 0,201615 0,89306 0,236685 0,932614 0,252432 0,97425 0,268254 1,016107 0,2924 1,060902 0,307913 1,103044 0,326352 1,154232 0,360308 1,188453 0,369557 1,242659 0,374978 1,286245 0,414584 1,326655 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 0,424168 0,428569 0,446149 0,483034 0,492826 0,730533 0,930378 0,850697 0,952731 1,076444 1,113111 1,076539 1,177436 1,029953 1,284826 1,334786 1,376896 1,444134 1,384705 1,422595 1,369809 1,419837 1,45167 1,516807 1,52529 1,564438 1,607894 1,672149 1,692149 1,731656 1,777096 1,815615 1,861998 1,901174 1,945565 1,984409 2,031526 2,070549 2,120228 2,158978 2,5 2 1,5 KD-Trees 1 Iterative 0,5 0 0 5 10 15 20 25 30 35 40 zeleżność czasu trwania wyszukiania najbliższego sąsiada w zależnośći od metody wyszokiwania oraz od wymiarowości przestrzeni Jak widać na powyższym zestawieniu metoda wykorzystująca kd-drzewa jest szybsza od metody iteracyjnej dla każdego wymiaru przestrzeni. Stosunke czasu wyszukiwania dla obu metod zbliże sie jednak do 1 co wskazuje na fakt że wraz ze wzrostem wymiarowości nie odczywamy znaczącej korzyści z wykorzystanie kd-drzew. Związane to może być z narzutem czasowym, jaki konieczny jest na zainicjalizowanie kd-drzewa na początku. Dodatkowo metoda iteracyjna została oparta o optymalen działania na macierzach w matlabie, co wpływa pozytywnie na jej wydajnośc – zastosowanie metody czysto iteracyjnej pogorszyłoby efektywnośc . Warto zwrócić również uwagę na fakt że w przypadku metody iteraycjnej czas rośnie praktycznie liniowo w stosunku do wymiaru przestrzeni, natomiast dla kd-drzew czas ten wacha sie. Jest to spowodowane faktem że w czasie wyszukiwania w kd-drzewie ilośc operacji zależy nie tylko do wymiaru przestrzeni ale również od zawartości drzewa. W metodzie iteracyjnej czas obliczenia odległości zależy tylko od wymiarowości przestrzeni, co uzasadnia powyżej przedstawioną zależność.