Metoda najbliższego sąsiada
Marcin Orchel
1 Wstęp
1.1 Metoda najbliższego sąsiada Estymujemy p (c|~x) jako
p (c|~ˆ x) = 1 k
n
X
i=1
Id (~x, ~xi) ≤ d~x, ~x(k)I (yi = c) ,
gdzie I (A) jest funkcją indykatorową zdarzenia A, ~x(k)jest k-tym co do odległości od x punktem z próby uczącej, d jest pewną odległością.
Klasyfikator metody k-najbliższych sąsiadów ma postać k (~x) = arg max
0≤c≤1p (c|~ˆ x) . (1)
d jest odległością, a ogólniej miarą niepodobieństwa zdefiniowaną jako funkcja e : X × X → R
e ( ~xr, ~xs) ≥ 0 (2)
e ( ~xr, ~xs) = 0 wtw ~xr= ~xs (3) e ( ~xr, ~xs) = e ( ~xs, ~xr) (4) Przykładami są metryka euklidesowa
e1( ~xr, ~xs) =
p
X
i=1
(xri− xsi)2
!1/2
(5) Inne to
e2( ~xr, ~xs) =
p
X
i=1
(xri− xsi)2 (6)
e3( ~xr, ~xs) =( ~xr− ~xs)0W−1( ~xr− ~xs)1/2 =
p
X
i=1
1
w2i (xri− xsi)2
!1/2
(7) gdzie W to macierz diagonalna, wi są odchyleniami standardowymi poszczególnych cech, następnie odległość Mahalanobisa
e4( ~xr, ~xs) =( ~xr− ~xs)0S−1( ~xr− ~xs)1/2 , (8) 1
gdzie S jest estymatorem macierzy kowariancji.
Jeśli znaleźliśmy już k najbliższych sąsiadów, ale okazuje się, że kolejny punkt jest tak samo odległy jak najdalszy znaleziony, to zwiększamy wtedy k odpowiednią ilość razy.
1.1.1 Metody rozwiązywania sytuacji remisowych Kiedy
P (0| ~xk) = P (1|xk) (9)
Mamy dwie możliwości: możemy dodać kolejny punkt i użyć metody k + 1 najbliższych sąsiadów, krok ten powtarzamy jeśli dalej mamy sytuację remisową. Albo wybieramy klasę do której należy najbliższy sąsiad klasyfikowanej obserwacji, czyli stosujemy me- todę 1 najbliższego sąsiada.
1.1.2 Wykorzystanie metody k-nn do estymacji gęstości prawd.
Mamy daną kulę K (~x) o środku w punkcie ~x oraz objętości V (~x). Prawd. że losowo wybrany punkt leży w kuli wynosi
p = Z
K(~x)
f (~x) d~x (10)
Możemy to prawd. przybliżyć za pomocą
p ≈ f (~x) V (~x) (11)
gdzie V (~x) to objętość kuli. Możemy również przybliżyć je z danych p ≈ k
n (12)
gdzie k oznacza ilość punktów leżących w kuli, a więc f (~x) = k
nV (~x) (13)
Dla metody k najbliższych sąsiadów możemy rozpatrywać kulę o promieniu d~x, ~x(k). 1.2 Przydatne polecenia Matlaba
• ClassificationKNN
2
2 Zadania
2.1 Zadania na 3.0
• dla wygenerowanych danych dwuwymiarowych dwóch klas z rozkładów normalnych zaznacz na wykresie klasyfikator Bayesa (z macierzą kowariancji i wartościami średnimi obliczonymi z danych), a także klasyfikator k-nn dla różnych k (np. 1, 5, 10), dla odległości euklidesowej i mahalanobisa
• oblicz błąd klasyfikacji na zbiorze testowym dla wszystkich klasyfikatorów 2.2 Zadania na 4.0
• powtórzyć zadanie na 3.0 dla danych trójwymiarowych 2.3 Zadania na 5.0
• wykonać klasyfikację dla wybranych danych wielowymiarowych ze stronyuciza po- mocą metody k-nn, porównać jakość klasyfikacji na danych testowych z wybranym innym klasyfikatorem
3