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ść.