Temat zajęć: Naiwny klasyfikator Bayesa a algorytm KNN Część I: Naiwny klasyfikator Bayesa Naiwny klasyfikator bayerowski jest prostym probabilistycznym klasyfikatorem. Naiwne klasyfikatory bayesowskie są oparte na założeniu o wzajemnej niezależności predykatorów ( zmiennych niezależnych). Często nie mają one żadnego związku z rzeczywistością i właśnie z tego powodu nazywamy je naiwnymi. Bardziej opisowe może byd określenie- model cech niezależnych. Model prawdopodobieostwa można wyprowadzid korzystając z twierdzenia Bayesa. W zależności od rodzaju dokładności modelu prawdopodobieostwa, naiwne klasyfikatory bayerowskie można uczyd bardzo skutecznie w trybie uczenia z nadzorem. W wielu praktycznych aplikacjach, estymacja parametru dla naiwnych modeli Bayesa używa metody maksymalnego prawdopodobieostwa (Maximal likelihood) á posteriori. Inaczej mówiąc, może pracowad z naiwnym modelem Bayesa bez wierzenia w twierdzenie Bayesa albo używania jakichś metod Bayesa. Jeśli wiemy, że kulek czerwonych jest 2 razy mniej niż zielonych (bo czerwonych jest 20 a zielonych 40) to prawdopodobieostwo tego, że kolejna (nowa) kulka będzie koloru zielonego jest dwa razy większe niż tego, że kulka będzie czerwona. Dlatego możemy napisad, że znane z góry prawdopodobieostwa: Prawdopodobieństwo zielonych = liczba zielonych liczba wszystkich kulek zielonych i czerwonych Prawdopodobieństwo czerwonych = liczba czerwonych liczba wszystkich kulek zielonych i czerwonych Jeśli więc czerwonych jest 20 a zielonych 40, to razem wszystkich jest 60. Więc Prawdopodobieństwo zielonych = 40 60 = 0.66 Prawdopodobieństwo czerwonych = 20 60 = 0.33 Więc teraz gdy mamy do czynienia z nową kulką ( na rysunku biała): To spróbujmy ustalid jaka ona będzie. Dokonujemy po prostu klasyfikacji kulki do jednej z dwóch klas: zielonych bądź czerwonych. Jeśli weźmiemy pod uwagę sąsiedztwo białej kulki takie jak zaznaczono, a więc do 4 najbliższych sąsiadów, to widzimy, że wśród nich są 3 kulka czerwone i 1 zielona. Obliczamy liczbę kulek w sąsiedztwie należących do danej klasy : zielonych bądź czerwonych z wzorów: kulka X jest zielona w swoim sąsiedztwie = liczba kulek zielonych w sąsiedztwie kulki X liczba wszystkich kulek zielonych
liczba kulek czerwonych w sąsiedztwie kulki X kulka X jest czerwona w swoim sąsiedztwie = liczba wszystkich kulek czerwonych W naszym przypadku, jest dziwnie, bo akurat w sąsiedztwie kulki X jest więcej kulek czerwonych niż zielonych, mimo, iż kulek zielonych jest ogólnie 2 razy więcej niż czerwonych. Dlatego zapiszemy, że kulka X jest zielona w swoim sąsiedztwie = 1 40 kulka X jest czerwona w swoim sąsiedztwie = 3 20 Prawdopodobieństwo że kulka X jest zielona = prawdopodobieostwo kulki zielonej * Dlatego ostatecznie powiemy, że Prawdopodobieostwo że kulka X jest zielona = prawdopodobieostwo kulki zielonej * prawdopodobieostwo, że kulka X jest zielona w swoim sąsiedztwie = 40 60 1 40 = 1 60 Prawdopodobieostwo że kulka X jest czerwona = prawdopodobieostwo kulki czerwonej * prawdopodobieostwo, że kulka X jest czerwona w swoim sąsiedztwie = 20 3 = 1 60 20 20 Ostatecznie klasyfikujemy nową kulkę X do klasy kulek czerwonych, ponieważ ta klasa dostarcza nam większego prawdopodobieostwa posteriori. Część II: Algorytm k-nn Klasyfikacja obiektów w oparciu o najbliższe obiekty: Algorytm 1-NN - najbliższego sąsiada. 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 byd zniekształcony - tak samo zostanie zaklasyfikowany nowy obiekt. Koniecznośd ustalenia liczby najbliższych sąsiadów. Wyznaczenie miary podobieostwa wśród obiektów (wiele miar podobieostwa). Dobór parametru k - liczby sąsiadów: Jeśli k jest małe, algorytm nie jest odporny na szumy jakośd klasyfikacji jest niska. Jeśli k jest duże, czas działania algorytmu rośnie - większa złożonośd obliczeniowa. Należy wybrad k, które daje najwyższą wartośd klasyfikacji. Wyznaczanie odległości obiektów: odległośd euklidesowa d ij = p k=1 x ij x jk ^2
Obiekt klasyfikowany podany jako ostatni : a = 3, b = 6 Teraz obliczmy odległości poszczególnych obiektów od wskazanego. Dla uproszczenia obliczeo posłużymy sie wzorem: Znajdujemy więc k najbliższych sąsiadów. Załóżmy, że szukamy 9 najbliższych sąsiadów. Wyróżnimy ich kolorem zielonym. Sprawdzamy, które z tych 9 najbliższych sąsiadów są z klasy + a które z klasy -? By to zrobid musimy znaleźd k najbliższych sąsiadów. Służy do tego funkcja Excela o nazwie MIN.K, która znajduje w zadanych zbiorze jaka wartośd jest wartością progową przy podanej liczbie k sąsiadów. W naszym przypadku, jeśli mamy znaleźd 9 najbliższych sąsiadów, budujemy formułę, A więc okazuje się, że jeśli bierzemy pod uwagę kolumnę D w której mierzymy odległości każdego obiektu (współrzędne a i b kolumny A i B)do tego rekordu niesklasyfikowanego (nr 26) i szukamy 9 jego najbliższych sąsiadów, to wiemy, że wartością progową jest wartośd 3.16. Innymi słowy, bierzemy pod uwagę tylko te obiekty z wierszy od 2 do 25 w których mamy odległości mniejsze bądź równe tej wartości progowej. Musimy więc zbudowad formułę, w której wyróżniamy tylko te rekordy, które spełniają to kryterium w kolumnie E wypiszemy wówczas klasę przynależności takich rekordów, a więc odpowiednio + albo -.
A więc widzimy, że wśród tych 9 sąsiadów, mamy 3 + i 5 -. Musimy dopisad teraz w wierszu 26, gdzie mamy dotąd niesklasyfikowany obiekt, formułę, która w koocu ustali jaka tam ma byd wartośd w kolumnie C czy + czy -? Najpierw trzeba wiedzied czy wśród tych wyróżnionych 9 najbliższych sąsiadów (tak naprawdę 8, bo tym ostatnim jest sam obiekt nowoklasyfikowany) jest więcej + czy -? Więc musimy to zliczyd. Służą do tego formuły takie jak na rysunku poniżej: Teraz w komórce (kolumna C, wiersz 26) wreszcie możemy napisad formułę, która wstawi odpowiednią wartośd. W ten sposób stwierdzimy, że obiekt a=3 i b=6 zaliczymy do klasy -
Zadania do wykonania (zrobić i odesłać wyniki w formie sprawozdania) Zadanie 1. (naiwny klasyfikator) Dla rysunku poniżej, gdzie mamy niebieskie kwadraty i czerwone trójkąty: Powiedz do jakiej klasy zaliczysz nowy obiekt czarne kółko, jeśli jako sąsiedztwo bierzemy pod uwagę mniejszy okrąg, a co jeśli większy? Zadanie 2.Zakładając ze mamy dane z tabeli poniżej Podaj klasę dla obserwacji z wiersza nr 26. Zastosuj metodę 5NN.