• Nie Znaleziono Wyników

Sztuczna Inteligencja

N/A
N/A
Protected

Academic year: 2021

Share "Sztuczna Inteligencja"

Copied!
3
0
0

Pełen tekst

(1)

Sztuczna Inteligencja

klasyfikator k-nn

Algorytm k-nn

Jest to jeden z najprostszych algorytmów, które mogą służyć do klasyfikacji. Metoda ta pomimo swej prostoty daje zwykle bardzo dokładne wynik klasyfikacji. Jego głównymi wadami jest niska prędkość i konieczność przechowywania często znacznej bazy próbek.

K-nn, aby działał, musi posiadać bazę próbek wzorcowych (X(wz)) zwanych również próbkami uczącymi. Algorytm ten do określenia przynależności próbki do konkretnej klasy potrzebuje również wartości parametru k (k >0, k jest liczbą całkowitą, dodatnią, zwykle nieparzystą).

K-nn wyznacza klasę dostarczonej próbki testowej (x(tst)) biorąc pod uwagę k-te najbliższe próbki z bazy próbek wzorcowych ( X(najbl), x(najbl )X(wz) ) w stosunku do próbki testowej. Następnie algorytm wyszukuje, która klasa dla X(najbl) jest najbardziej popularna i tą klasa zostaje wybrana dla próbki testowej (x(tst)). W przypadku remisu klasyfikator odmawia odpowiedzi (wskazuje błędną klasę).

Głównym problemem jest dobór odpowiedniej wartości parametru k, który należy dobrać eksperymentalnie. W celu ustalenia, które próbki są najbliższe należy ustalić w jaki sposób liczona jest odległość między próbkami. Metoda liczenia odległości zwana jest metryką.

Metryka

Najpopularniejsze metryki służące do określenia odległości między próbkami składającymi się z atrybutów numerycznych to:

• Metryka Manhattan (miejska, taksówkowa) d (v(1), v(2))=

i=1 n

|

vi

(1)−vi(2)

|

, gdzie d (v(1), v(2)) to odległość między dwoma próbkami, i to identyfikator (numer) atrybutu, n to liczba atrybutów (wejściowych), vi(1), v(2)i to wartość (deskryptor) i-tego atrybutu dla odpowiednio pierwszej albo drugie próbki.

• Metryka euklidesowa

d (v(1), v(2))=

i=1n (vi(1)−vi(2))2 .

• Metryka Czebyszewa (maksimum) d (v(1), v(2))=maxi=1. .n

|

vi(1)

vi(2)

|

.

• Metryka Minkowskiego (uogólnienie metryki Manhattan, euklidesowej i maksimum) d (v(1), v(2))=(

i=1 n

|

vi

(1)v(2)pi

|

)

1

p , gdzie p to parametr metryki Minkowskiego p>0

• Metryka z logarytmem d (v(1), v(2))=

i=1 n

|

log vi

(1)−log vi(2 )

|

.

(2)

Testowanie (walidacja) systemu 1 kontra reszta

W celu przetestowania, czy algorytm k-nn działa prawidłowo dla wybranych parametrów (parametr k i miara) i bazy próbek należy użyć odpowiedniej metodologii. Jedną z nich jest 1 kontra reszta.

Polega ona na tym, że algorytm (obecnie klasyfikator k-nn) jest testowany przez N razy (N to liczba próbek w bazie). Za każdym razem kolejna próbka traktowana jest jako próbka testowa, a pozostałe jako próbki uczące (wzorcowe). Po przeprowadzeniu pojedynczego testu system zwraca odpowiedź (w tym wypadku numer klasy, albo odmowa odpowiedzi) dla podanej próbki testowej. Należy zliczyć jak często (w %) zwrócona odpowiedź jest prawidłowa (w tym wypadku numer zwróconej klasy zgadza się z klasą próbki testowej), liczba ta zwana jest dokładnością klasyfikacji.

Normalizacja wartości atrybutów numerycznych

Polega ona na tym, aby wartości dla każdego osobno atrybutu przekształcić liniowo tak, aby mieściły się dokładnie w przedziale [0; 1]. Podczas normalizacji należy pominąć atrybut wskazujący klasę (ostatni). Można użyć wzoru:

wartosc(znormalizowana)

= wartosc(oryginalna)

−wartosc(minimalnaOdpowiedniegoAtrybutu)

wartosc(maksymalnaOdpowiedniegoAtrybutu)

−wartosc(minimalnaOdpowiedniegoAtrybutu) , w innym zapisie:

v(znormalizowana)s ,i

= vs , i(oryginalna )

−mins '=1. .. N(v(oryginalna)s ,i

) maxs'=1... N(v(oryginalna)s ,i

)−mins '=1... N(v(oryginalna)s ,i

) , gdzie v(znormalizowana)s ,i

to wartość i-tego atrybutu, s-tej próbki po znormalizowaniu; v(oryginalna)s ,i

to wartość i-tego atrybutu, s-tej próbki przed znormalizowaniem; N to liczba próbek;

mins '=1... N(v(oryginalna)s ,i

) to minimalna wartość i-tego atrybutu dla próbek oryginalnych.

Na przykład:

Próbki przed normalizacją Próbki po normalizacji 1 -2 12 a

2 0 11 a 1.5 4 16 b

0 0 0.2 a 1 0.5 0 a 0.5 1 1 b

Należy zauważyć, że ostatni atrybut nie podlegał normalizacji, bo zawiera identyfikator klasy i jest nienumeryczny.

Zadania do wykonania

1. Najpierw proszę wczytać bazę próbek iris. Ostatni atrybut (kolumna) określa klasę próbki.

2. Następnie znormalizować wartości wszystkich atrybutów wejściowych (czyli wszystkich poza ostatnim).

3. Później dla różnych kombinacji wartości parametru k oraz metryk przeprowadzić poniższy eksperyment.

3.1. Wylicz dokładność klasyfikacji algorytmem k-nn korzystając z metody 1 kontra reszta.

4. Na końcu należy przedstawić dokładność klasyfikacji dla wszystkich przeprowadzonych eksperymentów.

W programie kilka metryk powinno być zaimplementowanych.

(3)

Wskazówka

Proponuję przetestować na początku k=3 oraz metrykę euklidesową.

Cytaty

Powiązane dokumenty

Horzyk, A., Innovative Types and Abilities of Neural Networks Based on Associative Mechanisms and a New Associative Model of Neurons - referat na zaproszenie na

rozpoczynających się od różnie wylosowanych wag początkowych odległość neuronów zwycięskich reprezentujących najmocniejsze klasy znacznie się różni.. Neurony te nie muszą

Sensory w polach sensorycznych tworzone są, jeśli po prezentacji bodźca żaden z istniejących sensorów nie zareagował odpowiednio mocno, czyli gdy dystans wartości bodźca

wnioskowania dają N zbiorów rozmytych, oraz systemy typu B, na wyjściu którego otrzymujemy jeden zbiór rozmyty,. który jest wynikiem agregacji rezultatów wnioskowania

Żeby sprawdzić, czy słowo jest postaci ww R w można policzyć jego długość (musi to być liczba postaci 3k) a następnie użyć 3 liczników zmieniających się odpowiednio od 1 do

Rozważając sztuczne systemy uczące się będziemy przez uczenie się rozumied proces zmiany zachodzącej w systemie na podstawie doświadczeo, która prowadzi do poprawy jego

W ten sposób komentuje stanowisko Chryzypa Cyceron, który najwyraźniej nie bardzo dał się stoikowi przekonać do jego pomysłu, wskazał jednak wyraźnie na ogólny kształt

Należy zliczyć jak często (w %) zwrócona odpowiedź jest prawidłowa (w tym wypadku numer zwróconej klasy zgadza się z klasą próbki testowej), liczba ta zwana jest