Sztuczna inteligencja : Naiwny klasyfikator Bayesa

Transkrypt

Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Przemysław Juszczuk
Instytut Informatyki Uniwersytetu Śląskiego
18 kwietnia 2012
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Rysunek: Klasyfikator Bayesa
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Jakie jest prawdopodobieństwo, że nowy obiekt będzie
zielony/czerwony?
Jaki będzie kolor nowego obiektu?
Obliczenie prawdopodobieństwa a priori: prawdopodobieństwo, które
możemy ustalić na podstawie obserwacji zbioru.
l.zielonych
prawd. a priori zielonego = l.wszystkich
prawd. a priori czerwonego = l.czerwonych
l.wszystkich
wszystkich obiektów = 60
obiektów zielonych = 40
obiektów czerwonych = 20
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Stąd :
prawd. a priori zielonego = 40
60
prawd. a priori czerwonego = 20
60
Rysunek: Klasyfikator Bayesa
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Następnym krokiem jest wybranie obiektów sąsiadujących z nowym
obiektem - umiejscowienie nowego obiektu.
Obliczenie ile kulek czerwonych jest w sąsiedzywie nowego obiektu
Obliczenie ile kulek zielonych jest w sąsiedztwie nowego obiektu
Szansa, że X będzie zielone =
l.zielonychwssiedztwieX
cak.l.zielonych
= l.czerwonychwssiedztwieX
cak.l.czerwonych
Szansa, że X będzie czerwone
więc mamy:
1
Szansa, że X będzie zielone = 40
3
Szansa, że X będzie czerwone = 20
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Teraz możemy wyliczyć prawdopodobieństwa:
1
1
X zielone = 46 · 40
= 60
1
2 3
X czerwone − 6 · 20 = 40
X będzie czerwone, ponieważ ma większe prawdopodobieństwo.
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Przykład: mamy zbiór danych treningowych złożony z 30 koni, 50 kotów i
20 kur. Otrzymalismy zwierzę (obiekt testowy) czworonożne. Jak określić
jego gatunek? Musimy wyliczyć prawdopodobieństwo warunkowe tego, że
zwierzę jest koniem, o ile ma 4 nogi, i podobnie dla kota i kury. W tym
zadaniu prawdopodobieństwa te możemy wyliczyć wprost, jako
odpowiednio 38 , 5/8 i 0 (gdyż 38 czworonogów jest końmi, 85 kotami i 0
kurami). Wnioskujemy, że nieznane zwierzę jest raczej kotem.
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Do jakiej klasy wyznaczone zostanie czarne kółko? (Rozpatrując różne
sąsiedztwo).
Rysunek: Klasyfikator Bayesa
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Rozpatrzmy przykład gry w tenisa.
Tablica: Tabela danych
Pogoda
Słonecznie
Słonecznie
Pochmurnie
Deszcz
Deszcz
Deszcz
Pochmurnie
Słonecznie
Słonecznie
Deszcz
Słonecznie
Pochmurnie
Pochmurnie
Deszcz
Temperatura
Gorąco
Gorąco
Gorąco
Umiarkowanie
Chłodno
Chłodno
Chłodno
Umiarkowanie
Chłodno
Umiarkowanie
Umiarkowanie
Umiarkowanie
Gorąco
Umiarkowanie
Przemysław Juszczuk
Wilgotność
Duża
Duża
Duża
Duża
Normalna
Normalna
Normalna
Duża
Normalna
Normalna
Normalna
Duża
Normalna
Duża
Wietrznie
Nie
Tak
Nie
Nie
Nie
Tak
Tak
Nie
Nie
Nie
Tak
Tak
Nie
Tak
Klasa
N
N
P
P
P
N
P
N
P
P
P
P
P
N
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Czy gra w tenisa odbedzie się w następujących warunkach:
Słonecznie, zimno, Duża, wieje
Pochmurnie, gorąco, Duża, wieje
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Czy gra w tenisa odbedzie się w następujących warunkach:
Słonecznie, zimno, Duża, wieje
Pochmurnie, gorąco, Duża, wieje
Decyzja:
9
P(p) = 14
5
P(n) = 14
Obliczmy:
Pogoda: P(słonecznie|P) =
P(Słonecznie|N) = 35
P(Pochmurnie|P) = 49
P(Pochmurnie|N) = 0
P(Deszcz|P) = 39
P(Deszcz|N) = 52
2
9
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Temperatura:
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Temperatura:
P(Gorąco|P) = 92
P(Gorąco|N) = 25
P(Umiarkowanie|P) =
P(Umiarkowanie|N) =
P(Chłodno|P) = 93
P(Chłodno|N) = 51
4
9
2
5
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Temperatura:
P(Gorąco|P) = 92
P(Gorąco|N) = 25
P(Umiarkowanie|P) =
P(Umiarkowanie|N) =
P(Chłodno|P) = 93
P(Chłodno|N) = 51
Wilgotność:
P(Duża|P) = 39
P(Duża|N) = 45
P(Normalna|P) = 69
P(Normalna|N) = 25
4
9
2
5
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Temperatura:
P(Gorąco|P) = 92
P(Gorąco|N) = 25
P(Umiarkowanie|P) =
P(Umiarkowanie|N) =
P(Chłodno|P) = 93
P(Chłodno|N) = 51
Wilgotność:
P(Duża|P) = 39
P(Duża|N) = 45
P(Normalna|P) = 69
P(Normalna|N) = 25
Wiatr:
P(Tak|P)= 39
P(Tak|N)= 53
P(Nie|P) = 69
P(Nie|N) = 52
4
9
2
5
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa
Zadanie
Przygotować dowolny zbiór danych, a następnie dla tego zbioru zbudować
naiwny klasyfikator Bayesa.
przygotować obiekty posiadające dwa wymiary (dwa atrybuty),
przedstawić rozkład obiektów na wykresie w excelu,
określić dwa różne sąsiedztwa i wyznaczyć przynależność nowego
obiektu do klasy decyzyjnej.
Przemysław Juszczuk
Sztuczna inteligencja : Naiwny klasyfikator Bayesa