Instytut Informatyki Uniwersytetu Śląskiego 23 kwietnia 2012
1 Algorytm 1 NN 2 Algorytm knn 3 Zadania
Klasyfikacja obiektów w oparciu o najbliższe obiekty: Algorytm 1-NN - najbliższego sąsiada. Parametr wejściowy, to zbiór obiektów, na podstawie których będzie przebiegała klasyfikacja. obiekt do zaklasyfikowania Parametr wyjściowy to klasa decyzyjna, do której zaklasyfikowany zostanie obiekt. Schemat algorytmu: 1 Poszukaj obiektu najbliższego w stosunku do obiektu klasyfikowanego. 2 Określenie klasy decyzyjnej na podstawie obiektu najbliższego.
Algorytm k-nn - k najbliższych sąsiadów. Podobny do powyższego algorytmu Bardziej odporny na szumy - w poprzednim algorytmie obiekt najbliższy klasyfikowanemu może być zniekształcony - tak samo zostanie zaklasyfikowany nowy obiekt. Konieczność ustalenia liczby najbliższych sąsiadów. Wyznaczenie miary podobieństwa wsród obiektów (wiele miar podobieństwa).
Dobór parametru k - liczby sąsiadów: Jeśli k jest małe, algorytm nie jest odporny na szumy - jakość klasyfikacji jest niska. Jeśli k jest duże, czas działania algorytmu rośnie - większa złożoność obliczeniowa. Należy wybrać k, które daje najwyższą wartość klasyfikacji.
Wyznaczanie odległości obiektów: odległość euklidesowa odległość miejska odległość taksówkowa Manhattan Pierwsza z nich wyraża się wzorem: d ij = Σ p k=1 (x ik x jk ) 2 Z kolei odległość miejska: d ij = Σ p k=1 x ik x jk
Przykład: Tablica: Tabela danych Tablica: Tabela danych X1 X2 Y 5 5 + 7 7 + 5 3 + 7 3 + 3 3 + 5 4 + 5 2 + 3 1 + 7 5 + 5 1 + X1 X2 Y 8 4-4 6-4 6-10 8-10 6-8 5-7 4-4 9-5 5-4 8-9 10-10 7-6 4-4 10-3 6?
Obiekt klasyfikowany podany jako ostatni : X 1 = 3, X 2 = 6 Teraz obliczmy odległości poszczególnych obiektów od wskazanego. Dla uproszczenia obliczeń posłużymy się wzorem: d ij = (X 1 2 i ˆX 1 2 ) + (X 2 2 i ˆX 2 2 )
Przykład: Tablica: Tabela danych Tablica: Tabela danych X1 X2 Y d 5 5 + 26 7 7 + 40 5 3 + 17 7 3 + 2 3 3 + 13 5 4 + 45 5 2 + 8 3 1 + 58 7 5 + 17 5 1 + 18 X1 X2 Y d 8 4-20 4 6-13 4 6-8 10 8-29 10 6-10 8 5-5 7 4-17 4 9-2 5 5-26 4 8-10 9 10-0 10 7-5 6 4-40 4 10-36 3 6?
Wybranie K= 9 najbliższych sąsiadów i określenie ich decyzji: Tablica: Tabela danych Tablica: Tabela danych X1 X2 Y d znak 5 5 + 26 7 7 + 40 5 3 + 17 7 3 + 2 + 3 3 + 13 5 4 + 45 5 2 + 8 + 3 1 + 58 7 5 + 17 5 1 + 18 X1 X2 Y d znak 8 4-20 4 6-13 4 6-8 - 10 8-29 10 6-10 - 8 5-5 - 7 4-17 4 9-2 - 5 5-26 4 8-10 - 9 10-0 - 10 7-5 - 6 4-40 4 10-36 3 6?
Ostatnim krokiem jest obliczenie liczby sąsiadujących obiektów w danych klasach decyzyjnych: Obiekty w klasie dodatniej 2 Obiekty w klasie ujemnej 7 Klasyfikowany obiekt będzie najprawdopodobniej w klasie ujemnej.
Zadanie pierwsze Przygotować dowolny zbiór danych, a następnie dla tego zbioru zbudować naiwny klasyfikator Bayesa. help Stworzyć zbiór danych z klasą decyzyjną Tak/Nie Stworzyć dodatkową kolumnę określającą, czy dany obiekt ma jednocześnie określoną klasę decyzyjną i wybrany atrybut (przy pomocy formuły = JEZELI (ORAZ(Warunek1; Warunek2); 1; 0)) Np: Tablica: Tabela danych Pogoda Temperatura Wilgotność Wietrznie Klasa Słonecznie Gorąco Duża Nie N Słonecznie Gorąco Duża Tak N = JEZELI (ORAZ(Pogoda = Slonecznie ; Klasa = N ); 1; 0) (Patrz przykład z początku zajęć dotyczący gry w tenisa).
help Przy pomocy formuły = LICZ.JEZELI (zakres; warunek) obliczyć jaki odsetek obiektów w zbiorze zawiera podaną wartość atrybutu (liczba obiektów o zadanym atrybucie do całkowitej liczby obiektów) Obliczyć prawdopodobieństwo na to, że obiekt zostanie zaklasyfikowany do klasy N lub T.
Zadanie drugie Przygotować szablon w excelu klasyfikujący obiekt, działający zgodnie z algorytmem k-nn. help Stworzyć zbiór danych z klasą decyzyjną Tak/Nie Dołożyć dodatkową kolumnę do obliczania dystansu pomiędzy obiektem klasyfikowanym, a aktualnym obiektem. Określenie klasy decyzyjnej obiektów najbliższych - przy pomocy formuły = JEZELI (aktualny <= MIN.K(Przedzial; k); decyzja; ), gdzie: aktualny, to odległość pomiędzy aktualnym obiektem, a klasyfikowanym - kolumna wyliczona w poprzednim punkcie. MIN.K zwraca k-tą najmniejszą wartość w zadanym przedziale. Ustawiając k=8, formuła zwróci nam 8 obiektów o minimalnej odległości z zadanego przedziału. Decyzja to klasa decyzyjna wybranego obiektu. Formuła ustawi decyzję obiektu tylko w przypadku, gdy ten należy do zbioru ośmiu obiektów najbliższych obiektowi klasyfikowanemu.
help Wykres dla danych: pierwsza seria to obiekty z klasą decyzyjną Tak, druga seria to klasa decyzyjna Nie, a trzecia to wartość nieznana, czyli?. Przy pomocy formuły LICZ.JEZELI określamy liczbę obiektów z decyzją dodatnią i liczbę obiektów z decyzją ujemną (tylko z k sąsiadów!!). Jeżeli liczba obiektów dodatnich jest większa, to decyzja klasyfikowanego obiektu = Tak, w przeciwnym wypadku Nie.