Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Podobne dokumenty
Klasyfikacja. Obcinanie drzewa Naiwny klasyfikator Bayes a knn Dokładność klasyfikacji. Eksploracja danych. Klasyfikacja wykład 3

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

7. Maszyny wektorów podpierajacych SVMs

Agnieszka Nowak Brzezińska Wykład III

Popularne klasyfikatory w pakietach komputerowych

SVM: Maszyny Wektorów Podpieraja cych

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Agnieszka Nowak Brzezińska Wykład III

Klasyfikacja metodą Bayesa

Elementy modelowania matematycznego

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Metody probabilistyczne klasyfikatory bayesowskie

Programowanie liniowe

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.

WYKŁAD: Perceptron Rosenblatta. Maszyny wektorów podpierających (SVM). Empiryczne reguły bayesowskie. Zaawansowane Metody Uczenia Maszynowego

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

W ostatnim wykładzie doszliśmy do tego, że problem znalezienia klasyfikatora optymalnego pod względem marginesów można wyrazić w następujący sposób:

Entropia Renyi ego, estymacja gęstości i klasyfikacja

Metody systemowe i decyzyjne w informatyce

WYKŁAD 4. Podejmowanie decyzji dla modeli probabilistycznych Modelowanie Gaussowskie. autor: Maciej Zięba. Politechnika Wrocławska

Wprowadzenie. { 1, jeżeli ˆr(x) > 0, pozatym. Regresja liniowa Regresja logistyczne Jądrowe estymatory gęstości. Metody regresyjne

Wnioskowanie bayesowskie

Klasyfikacja w oparciu o metrykę budowaną poprzez dystrybuanty empiryczne na przestrzeni wzorców uczących

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

2. Empiryczna wersja klasyfikatora bayesowskiego

Fuzja sygnałów i filtry bayesowskie

Weryfikacja hipotez statystycznych

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 7 i 8 - Efektywność estymatorów, przedziały ufności

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

WYKŁAD 3. Klasyfikacja: modele probabilistyczne

Analiza danych. TEMATYKA PRZEDMIOTU

Konstrukcja biortogonalnych baz dyskryminacyjnych dla problemu klasyfikacji sygnałów. Wit Jakuczun

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

Spacery losowe generowanie realizacji procesu losowego

Metody systemowe i decyzyjne w informatyce

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Oracle Data Mining 10g

Estymacja parametrów w modelu normalnym

Wstęp. Regresja logistyczna. Spis treści. Hipoteza. powrót

Ważne rozkłady i twierdzenia c.d.

Układy równań liniowych. Krzysztof Patan

Prawdopodobieństwo czerwonych = = 0.33

Rozwiązywanie równań nieliniowych

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

Optymalizacja ciągła

+ r arcsin. M. Przybycień Rachunek prawdopodobieństwa i statystyka π r x

Klasyfikacja LDA + walidacja

Metody numeryczne. Sformułowanie zagadnienia interpolacji

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Wprowadzenie. Metody bayesowskie Drzewa klasyfikacyjne i lasy losowe Sieci neuronowe SVM. Klasyfikacja. Wstęp

1 Klasyfikator bayesowski

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74


Podstawowe modele probabilistyczne

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Testowanie hipotez statystycznych.

Modele DSGE. Jerzy Mycielski. Maj Jerzy Mycielski () Modele DSGE Maj / 11

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Zagadnienie klasyfikacji (dyskryminacji)

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

wiedzy Sieci neuronowe

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Algorytmy klasyfikacji

STATYSTYKA MAŁYCH OBSZARÓW II.ESTYMATOR HORVITZA-THOMPSONA, ESTYMATOR KALIBROWANY

Własności statystyczne regresji liniowej. Wykład 4

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Metody systemowe i decyzyjne w informatyce

Prawdopodobieństwo i rozkład normalny cd.

STATYSTYKA

ALGORYTM RANDOM FOREST

Regresyjne metody łączenia klasyfikatorów

Agnieszka Nowak Brzezińska

Rozpoznawanie obrazów

Spam or Not Spam That is the question

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

Rozkłady statystyk z próby

Jądrowe klasyfikatory liniowe

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Geometria analityczna

Schemat programowania dynamicznego (ang. dynamic programming)

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

ŁĄCZENIE RÓWNOLEGŁE MODELI KLASYFIKACJI OTRZYMANYCH METODĄ WEKTORÓW NOŚNYCH

Wybrane rozkłady zmiennych losowych. Statystyka

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

A Zadanie

Modele zapisane w przestrzeni stanów

Testowanie hipotez statystycznych.

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Transkrypt:

GLM (Generalized Linear Models) Data Mining Wykład 6 Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa Naiwny klasyfikator Bayesa jest klasyfikatorem statystycznym - oparty na twierdzeniu Bayesa Niech X oznacza przykład, którego klasa nie jest znana. Każdy przykład jest reprezentowany w postaci n-wymiarowego wektora, X=(x1, x2,..., xn) P(C X) prawdopodobieństwo a-posteriori (prawdopodobieństwo obliczane na podstawie wyników doświadczenia, czyli częstości), że przykład X należy do klasy C Reguła Bayesa Przykład X klasyfikujemy jako pochodzący z tej klasy C i, dla której wartość P(C i X), i = 1, 2,..., m, jest największa 1

Naiwny klasyfikator Bayesa - Przykład Przykład: Dany zbiór przykładów opisujących wnioski kredytowe klientów banku: P(Ryzyko=niskie Wiek=38, Status=rozwodnik, Dochód=niski, Dzieci=2) oznacza prawdopodobieństwo a-posteriori, że klient, X=(38, rozwodnik, niski, 2), składający wniosek kredytowy jest klientem o niskim ryzyku kredytowym (klient wiarygodny) Twierdzenie Bayesa W jaki sposób oszacować prawdopodobieństwo a- posteriori P(C X)? P(C X) = (P(X C) * P(C))/P(X), P(C) oznacza prawdopodobieństwo a-priori wystąpienia klasy C (tj. prawdopodobieństwo, że dowolny przykład należy do klasy C), P(X C) oznacza prawdopodobieństwo a-posteriori, że X należy do klasy C, P(X) oznacza prawdopodobieństwo a-priori wystąpienia przykładu X Naiwny klasyfikator Bayesa (1) Dany jest zbiór treningowy D składający się z n przykładów Załóżmy, że atrybut decyzyjny przyjmuje m różnych wartości definiując m różnych klas C i, i = 1,..., m Niech si oznacza liczbę przykładów z D należących do klasy C i Klasyfikator Bayesa przypisuje nieznany przykład X do tej klasy C i, dla której wartość P(C i X) jest największa 2

Naiwny klasyfikator Bayesa (2) Prawdopodobieństwo P(X) jest stałe dla wszystkich klas - klasa C i, dla której wartość P(C i X) jest największa, to klasa C i, dla której wartość P(X C i ) * P(C i ) jest największa Wartości P(C i ) zastępujemy estymatorami s i /n (względną częstością klasy C i ), lub zakładamy, że wszystkie klasy mają to samo prawdopodobieństwo P(C 1 ) = P(C 2 ) =... = P(C m ) Naiwny klasyfikator Bayesa (3) W jaki sposób obliczyć P(X C i )? Dla dużych zbiorów danych, o dużej liczbie deskryptorów, obliczenie P(X C i ) będzie bardzo kosztowne Wymaga ono oszacowania ogromnej liczby prawdopodobieństw i jest rzędu k p, gdzie p oznacza zmienne, natomiast k oznacza liczbę wartości tych zmiennych np. dla p=30 -> 2 30 czyli około 10 9 Przyjmując założenie o niezależności atrybutów, możemy przyjąć, że wszystkie zmienne są warunkowo niezależne przy danych klasach. Wówczas możemy zastąpić prawdopodobieństwo warunkowe P(X Ci) iloczynem prawdopodobieństw P(X C i ) = j=1n P(x j C i ) Naiwny klasyfikator Bayesa (4) Prawdopodobieństwa P(x 1 C i ), P(x 2 C i ),..., P(x n C i ) można estymować w oparciu o zbiór treningowy następująco: jeżeli j-ty atrybut jest atrybutem kategorycznym, to P(x j C i ) estymujemy względną częstością występowania przykładów z klasy C i posiadających wartość x j dla j-tego atrybutu, (s ij /s i ) jeżeli j-ty atrybut jest atrybutem ciągłym, to P(x j C i ) estymujemy funkcją gęstości Gaussa (zakładając rozkład normalny wartości atrybutów) 3

Przykład (1) Rozważmy Przykład: Chcemy dokonać predykcji klasy, do której należy nowy przypadek C1 (kupi_ komputer = tak ) C2 (kupi _ komputer = nie ) Nowy przypadek: X = (wiek= <=30, dochód= średni, student = tak, status= kawaler ) Maksymalizujemy wartość P(X/C i )*P(C i ), dla i=1,2 Przykład (2) Przykład (3) P(kupi_komputer = tak ) = P(C1) = 9/14 = 0.643 P(kupi_ komputer = nie ) = P(C2) = 5/14= 0.357 P(wiek <= 30 kupi_ komputer = tak ) = 2/9 = 0.222 P(wiek <= 30 kupi_ komputer = nie ) = 3/5 = 0.6 P(dochód = średni kupi_ komputer = tak ) = 4/9 = 0.444 P(dochód = średni kupi_ komputer = nie ) = 2/5 = 0.4 P(student = tak kupi_ komputer = tak ) = 6/9 = 0.667 P(student = tak kupi_ komputer = nie ) = 1/5 = 0.2 P(status = kawaler kupi_ komputer = tak ) = 6/9 = 0.667 P(status = kawaler kupi_ komputer = nie ) = 2/9 = 0.4 4

Przykład (4) Korzystając z obliczonych prawdopodobieństw, otrzymujemy: P(X kupi_komputer= tak ) = 0.222 * 0.444 * 0.667 * 0.667 = 0.044 P(X kupi_komputer= nie ) = 0.600 * 0.400 * 0.200 * 0.400 = 0.019 Stąd: P(X kupi_ komputer= tak ) * P(kupi_ komputer= tak ) = 0.044 * 0.643 = 0.028 P(X kupi_ komputer= nie ) * P(kupi_ komputer= nie ) = 0.019 * 0.357 = 0.007 Naiwny klasyfikator Bayesa zaklasyfikuje nowy przypadek X do klasy: kupi_komputer = tak Problem częstości zero A co jeżeli dana wartość atrybutu nie występuje dla wszystkich klas? Przykładowo: wiek= 31..40 dla klasy nie Prawdopodobieństwo wynosi 0, tj. P(wiek= 31..40 kupi_komputer= nie ) = 0 A-posteriori prawdopodobieństwo również wynosi 0 Rozwiązanie: dodać 1 do licznika wystąpień każdej pary <wartość atrybutu klasa> (estymator Laplace a) Podsumowanie - Naiwny klasyfikator Bayesa Założenie o niezależności atrybutów znacznie redukuje koszt obliczeń Jeżeli założenie jest spełnione, naiwny klasyfikator Bayes a jest optymalny, tzn. zapewnia najlepszą dokładność klasyfikacji w porównaniu z innymi klasyfikatorami Założenie rzadko spełnione w praktyce jednakże naiwny klasyfikator Bayes a jest zadziwiająco dokładny 5

Maszyna wektorów nośnych W przestrzeni danych (ang. measurement space) Ω znajduj ą si ę wektory danych x stanowiące próbkę uczącą D, należące do dwóch klas: Szukamy klasyfikatora pozwalającego na podział całej przestrzeni Ω na dwa rozłączne obszary odpowiadającej klasom {1,-1} oraz pozwalającego jak najlepiej klasyfikować nowe obiekty x do klas Podejście opiera się na znalezieniu tzw. granicy decyzyjnej między klasami g( x ) Separowalność liniowa Dwie klasy są liniowo separowalne, jeśli istnieje hiperpłaszczyzna H postaci g(x) przyjmująca wartości Jak poszukiwać takiej hiperpłaszczyzny granicznej? Liniowa funkcja separująca Funkcja liniowa separująca Wyznacza podział przestrzeni na obszary odpowiadające dwóm klasom decyzyjnym. Oryginalna propozycja Fisher, ale tak że inne metody (perceptron, itp..) Uogólnienia dla wielu klas. 6

Support Vector Machine (SVM) Znajdź liniową hiperpłaszczyzn ę (decision boundary) oddzielające obszary przykładów z dwóch różnych klas Support Vector Machine (SVM) Jedno z możliwych rozwiązań Support Vector Machine (SVM) Inne możliwe rozwiązanie 7

Support Vector Machine (SVM) Zbiór wielu możliwych rozwiązań Support Vector Machine (SVM) Którą z hiperpłaszczyzn należy wybrać? B1 czy B2? Czy można to formalnie zdefiniować? Margines Hiperpłaszczyzny b i1 i b i2 są otrzymane przez równoległe przesuwanie hiperpłaszczyzny granicznej aż do pierwszych punktów z obu klas. Odległość między nimi margines klasyfikatora liniowego Jaki margines wybierać? 8

Węższe czy szersze marginesy? Szerszy margines - lepsze własności generalizacji, mniejsza podatność na ew. przeuczenie (overfitting) Wąski margines mała zmiana granicy, radykalne zmiany klasyfikacji Liniowe SVM hiperpłaszczyzna graniczna Vapnik poszukuj maximal margin classifier gdzie w i b s ą parametrami modelu Parametry granicy wyznaczaj tak, aby maksymalne marginesy b i1 i b i2 były miejscem geometrycznym punktów x spełniających warunki Margines odległość między płaszczyznami b i1 i b i2 Poszukiwanie parametrów hiperpłaszczyzny 9

Linear Support Vector Machines Sformułowanie problemu: Przy warunkach ograniczających Jest to problem optymalizacji kwadratowej z liniowymi ogr. uogólnione zadanie optymalizacji rozwiązywany metodą mnożników Lagrange a (tak aby np. nie dojść do w 0) Niepełna liniowa separowalność Co robić z LSVM gdy dane nie s ą w pełni liniowo separowalne? Zmienne dopełniające Drzewo decyzyjne po wprowadzeniu wierzchołka ma postać: 10

Zmienne osłabiające - interpretacja Zmienne ξ i 0 (ang. Soft Margin) dobiera się dla każdego przykładu uczącego. Jej wartość zmniejsza margines separacji. (rodzaj zwisu punktu poza hiperpłaszczyzną nośną) Jeżeli 0 ξ i 1, to punkt danych (x i,d i ) leży wewnątrz strefy separacji, ale po właściwej stronie Jeżeli ξ i >1, punkt po niewłaściwej stronie hiperpłaszczyzny i wystąpi błąd klasyfikacji Modyfikacja wymagań dla wektorów nośnych Nonlinear Support Vector Machines Co zrobić gdy próby uczące powinny być nieliniowo separowalne? Kernel Trick Transformacja do wysoce wielowymiarowej przestrzeni - tzw. Kernel Trick Kernel Trick - metoda mapowania obserwacji z pewnego zbioru S na przestrzeń unitarną V bez konieczności tworzenia explicite samego mapowania w nadziei, ze nabiorą one tam sensownej struktury liniowej. 11

Kernel Trick - Przykład Kernelem nazywamy funkcję K(x, y), która dla x, y S jest iloczynem skalarnym w pewnej przestrzeni V. Przykładowo mając mapowanie: Kernelem jest po prostu: Dlaczego Kernel Trick Dlaczego po prostu nie skonstruować mapowania i pracować na przestrzeni V zamiast S? 1. Złożoność obliczeniowa 2. O wiele trudniej znaleźć dobre mapowanie niż dobry kernel 3. Możliwość pracy na nieskończenie wymiarowych przestrzeniach. Najczęściej używane Kernele Kernel wielomianowy: Kernel Gaussowski: Kernel sigmoidalny: Kernel minimum (przecięcia histogramów): Kernel logarytmiczny: Budowanie kerneli: suma, iloczyn, iloczyn przez stałą dodatnią 12