R. Duda, P. Hart, D. Stork, Pattern Classification, Second Edition, 00. T. Mitchell, Machine Learning I. Witten, E. Frank, M. Hall, Data Mining. Practical Machine Learning Tools and Techniques UCZENIE MASZYNOWE Tomasz Łukaszewski (ang. Machine Learning) ewoluowało z dziedziny sztucznej inteligencji (ang. Artificial Intelligence) Przykład użycia Proces odpytywania Nowe dane Uczenie: automatyczne modyfikowanie systemu w celu polepszenia skuteczności działania Realizacja: pozyskiwanie wiedzy z danych uczących Dane uczące Algorytm uczący Proces uczenia Nauczony system (np. klasyfikator) Decyzja systemu Paradygmaty uczenia maszynowego Przykładowe dane uczące Uczenie nadzorowane (ang. supervised learning) Każdy przykład zawiera etykietę, celem predykcja etykiety dla nowych przykładów Uczenie nienadzorowane (ang. unsupervised learning) odkrycie regularności (np. skupień) lub anomalii w danych Uczenie ze wzmacnianiem (ang. reinforcement learning) w typowym uczeniu klasyfikator po wyznaczeniu błędnego wyniku otrzymuje informację jaki jest poprawny wynik; w uczeniu ze wzmacnianiem ta informacja zwrotna to jedynie zaznaczenie że wynik jest błędny Fayyad, Piatetsky-Shapiro, Smyth: From Data Mining to Knowledge Discovery in Databases, AI Magazine 7 (3) 996.
Klasyfikator prosty (próg) (uczenie nadzorowane) Klasyfikator liniowy (uczenie nadzorowane) Klasyfikator nieliniowy (uczenie nadzorowane) Klasyfikator najbliższych-sąsiadów (uczenie nadzorowane) Analiza skupień (uczenie nienadzorowane) PRZYKŁAD Zadanie: posiadając dane o warunkach pogodowych podjąć decyzję: grać/nie grać Możliwe sposoby rozwiązania zadania: - ręczna konstrukcja systemu (np. reguł) - automatyczne pozyskanie wiedzy z danych, czyli uczenie maszynowe
(Reguła ) Overcast -> Yes Automatyczna konstrukcja systemu KLASYFIKACJA jest przykładem uczenia nadzorowanego, gdzie etykiety przykładów są wartościami dyskretnymi ze skończonego zbioru (w przeciwnym wypadku, gdy etykieta przyjmuje wartości ciągłe mówimy o regresji). Formalnie, zadaniem klasyfikacji jest znalezienie odwzorowania ze zbioru wejściowego X, opisującego wzorzec wejściowy na etykietę Y, takiego że Y = f(x). Dane uczące to przykłady prawidłowych decyzji podjętych w przeszłości Opis danych uczących: pary atrybut-wartość (ang. attribute-value) Rodzaje atrybutów - nominalny: {zielony, niebieski, biały} - porządkowy: (,,3) - numeryczny: R Wybrany atrybut: etykieta (klasa, decyzja) 3
Przykładowe problemy klasyfikacji: analiza tekstu (np. wykrywanie spamu) wykrywanie oszustw rozpoznawanie liter/cyfr rozpoznawanie twarzy przetwarzanie języka naturalnego bioinformatyka (np. klasyfikacja protein stosownie do ich funkcji) Każdy przykład jest opisany parami atrybut-wartość. Atrybuty nazywamy też cechami (ang. features), Atrybuty dla problemu rozpoznawania twarzy kolor oczu odległość między oczami kształt nosa kształt ust składa się z następujących podzadań: Zebranie danych Czyszczenie danych i wstępne przetwarzanie poprawienie błędnych danych zarządzanie nieznanymi wartościami danych usunięcie szumu dyskretyzacja atrybutów ciągłych Selekcja atrybutów wybranie właściwych atrybutów (cech) Budowa klasyfikatora Metody klasyfikacji widziana jako wyznaczanie granic klas k-najbliższych sąsiadów Metoda wektorów wspierających (SVM) Reguły decyzyjne Sieci neuronowe Klasyfikatory Bayesowskie (naiwny, sieci) Metody złożone Wszystkie metody klasyfikacji działają na drodze grupowania bliskich przykładów i nadawania im tej samej etykiety. Różnice: sposób wyznaczania bliskich przykładów, a co za tym idzie, wyznaczania granic pomiędzy klasami (etykietami). Domingos: A Few Useful Things To Know About Machine Learning Comm. of the ACM, 55, 0 4
Overfitting Jedna klasa czy prawdopodobieństwo klas? Uczenie zazwyczaj z niekompletnych danych Można zbudować doskonały klasyfikator który będzie dobrze dostosowany do danych uczących i dający złe wyniki generalizacji Zbytnie dopasowanie klasyfikatora do danych uczących (ang. overfitting) Trafność (zb_uczący) > Trafność(zb_testowy) Uzyskanie doskonałego klasyfikatora (00% trafności) jest dla większości problemów niemożliwe; klasyfikator wskazujący jako wynik jedną klasę będzie miał pewien błąd generalizacji W takich wypadkach można rozważać bardziej ogólne zagadnienie, jakim jest klasyfikator przypisujący prawdopodobieństwa poszczególnym klasom i wykorzystać je w podejmowaniu decyzji Szum (ang. noise) Stopień trudności problemu klasyfikacji zależy od zmienności wartości atrybutów przykładów tej samej klasy względem do zmienności wartości atrybutów przykładów różnych klas. Trafność predykcji (ang. prediction accuracy) Bias Variance Zmienność wartości atrybutów przykładów tej samej klasy zależy od złożoności problemu lub szumu Domingos: A Few Useful Things To Know About Machine Learning Comm. of the ACM, 55, 0 Inne kryteria oceny: Koszt pozyskania danych Kosz błędnej klasyfikacji Stabilność budowy modelu dla różnych zbiorów danych 5
Zastosowania klasyfikacji: predykcja zrozumienie danych kompresja danych wykrywanie wyjątków k-najbliższych sąsiadów (knn) KLASYFIKACJA knn k-najbliższych sąsiadów (knn) k-najbliższych sąsiadów (knn) Klasyfikator minimalnoodległościowy - Klasyfikuj nowe przykłady na podstawie ich podobieństw do przykładów uczących 6
k-najbliższych sąsiadów (knn) k-najbliższych sąsiadów (knn) Zalety prostota bardzo szybki proces uczenia się Wady duże zapotrzebowanie na pamięć powolne odpytywanie wiedza = przykłady uczące (brak reprezentacji wiedzy) wszystkie atrybuty są tak samo istotne znaczna podatność na przeuczenie czułość na zaszumione i błędne dane treningowe KLASYFIKACJA Budowa drzewa decyzyjnego Umieść wszystkie przykłady w korzeniu drzewa Rekurencyjnie dziel zbiór przykładów w oparciu o testy na wartościach wybranego atrybutu Zatrzymaj, gdy wszystkie przykłady w zbiorze mają wspólną etykietę, lub gdy nie można wybrać kolejnego atrybutu Otrzymane drzewo poddaj uproszczeniu (ang. pruning) Wiele możliwych drzew decyzyjnych, w zależności od sposobu wyboru atrybutu!!! Który atrybut wybrać??? 7
Entropia (zawartość informacyjna): miara oceniająca zbiór przykładów ze zbioru S pod kątem jednolitości przynależności do klas decyzyjnych. Dla dwóch klas (p-pozytywna, n-negatywna) Entropia = Zysk informacyjny (ang. Information Gain): redukcja entropii przy wykorzystaniu danego atrybutu Wyznaczamy entropię dla całego zbioru (9 yes, 5 no) Wartości v atrybutu A dokonują podziału zbioru S na podzbiory S v dla których należy wyznaczyć entropię, = ( ) Wyznaczamy entropię po podziale zbioru za pomocą atrybutu Outlook Sunny: yes, 3 no E(Sunny)=-/5log(/5)-(3/5)log(3/5)=0.97 Overcast: 4 yes, 0 no E(Overcast)=-(4/4)log(4/4)-0log0=0 Rainy: 3 yes, no E(Rainy)=-(3/5)log(3/5)-(/5)log(/5)=0.97 Dalsze obliczenia IG(S,Outlook)=0.94-(5/4)*0.97-(4/4)*0-(5/4)*0.97=0.47 IG(S,Temperature)=0.09 IG(S,Humidity)=0.5 IG(S,Windy)=0.048 IG(temp)=0.57 IG(windy)=0.00 IG(humidity)=0.97 8
Automatyczna konstrukcja systemu Uczenie zazwyczaj z niekompletnych danych uczących Przeuczenie to ryzyko zbytniego dopasowania do danych uczących: Trafność (zb_uczący) > Trafność(zb_testowy) Złożoność vs. błąd generalizacji (klasyfikatory zbyt złożone są zbyt dopasowane do danych uczących): Upraszczanie drzewa (ang. tree pruning) w celu zwiększenia trafności dla zbioru testowego KLASYFIKACJA Klasyfikator Bayesowski Prob. Tw. Bayesa: Pozwala na obliczanie prawdopodobieństw związanych z hipotezami; efektywne podejście do wielu problemów praktycznych. Przyrostowość: Każdy nowy przykład może zmienić oszacowanie prawdopodobieństw; Możliwość uwzględniania prawdopodobieństw apriori. Predykcja probabilistyczna: Predykcja wielu hipotez, ważonych za pomocą prawdopodobieństw. Standard: Pomimo, że w pewnych przypadkach metody bayesowskie są nieatrakcyjne obliczeniowo, to mogą dostarczać tzw. standardu optymalnych decyzji, z którym można porównywać inne metody. 9
Reguła Bayesa A priori probability of H : Pr[ E H ]Pr[ H ] Pr[ H E] = Pr[ E] Pr[H ] Probability of event before evidence is seen A posteriori probability of H : Pr[ H E] Probability of event after evidence is seen from Bayes Essay towards solving a problem in the doctrine of chances (763) Thomas Bayes: 70 (London) 76 (Tunbridge Wells) Dla zbioru uczącego D, prawdopodobieństwo posteriori hipotezy h, h D) wynika z twierdzenia Bayes a: P ( h D) = D h) h) D) MAP (maximum a posteriori) hypothesis: D h) h) h argmax h D) = argmax. MAP h H h H D) Praktyka: założenie znajomości prawdo-podobieństw a priori, duże koszty obliczeniowe Przykłady uczące opisane zbiorem atrybutów warunkowych a,a,,am; mogą być należeć do jednej z klas ze zbioru K = {Kj : j =,...,r} Nowy (klasyfikowany) obiekt opisany wartościami atrybutów warunkowych a = v, a = v,, am = vm Przydziel obiekt do najbardziej prawdopodobnej klasy, tzn. do klasy K MAP która maksymalizuje: K = arg max K a = v, K, a = v ) MAP j m m K K j a = v, K, a = v K ) K ) m m j j = arg max K K a = v, K, a = v ) j m m = arg max a = v, K, a = v K ) K ) m m j j K K j Naiwny klasyfikator Bayesowski Założenie upraszczające: niezależność warunkową atrybutów a i (i =,, n): a = v, L, am = vm K j) = = ai = vi K j) co daje w ostateczności: m K j a = v, L, am = vm) = K j) = a = i i vi K j) Znacznie obniża wymogi co do estymacji prawdopodobieństw a priori, niższe koszty obliczeniowe. m i Przykład Outlook Tempreature Humidity Windy Class sunny hot high false N sunny hot high true N overcast hot high false P rain mild high false P rain cool normal false P rain cool normal true N overcast cool normal true P sunny mild high false N sunny cool normal false P rain mild normal false P sunny mild normal true P overcast mild high true P overcast hot normal false P rain mild high true N Outlook Temperature Humidity Windy Play Yes No Yes No Yes No Yes No Yes No Sunny 3 Hot High 3 4 False 6 9 5 Overcast 4 0 Mild 4 Normal 6 True 3 3 Rainy 3 Cool 3 Sunny /9 3/5 Hot /9 /5 High 3/9 4/5 False 6/9 /5 9/4 5/4 Overcast 4/9 0/5 Mild 4/9 /5 Normal 6/9 /5 True 3/9 3/5 Rainy 3/9 /5 Cool 3/9 /5 Przykład testowy: Outlook Temp. Humidity Windy Play Sunny Cool High True? Likelihood of the two classes For yes = /9 3/9 3/9 3/9 9/4 = 0.0053 For no = 3/5 /5 4/5 3/5 5/4 = 0.006 Conversion into a probability by normalization: yes ) = 0.0053 / (0.0053 + 0.006) = 0.05 no ) = 0.006 / (0.0053 + 0.006) = 0.795 0
Zero-frequency problem Zero-frequency problem Wartość atrybutu nie występuje dla danej klasy Przykład: Outlook=Overcast dla klasy No Overcast No) = 0 W konsekwencji No E) = 0!!! Estymator Laplace a: dodaj w liczniku każdej estymacji dodanie wartości różnej od (Outlook, klasa Yes) + µ /3 4 + µ /3 3+ µ / 3 9 + µ 9 + µ 9 + µ Sunny Overcast Rainy Mnożenie przez wagi (suma równa ) + µ p 9 + µ + µ p 9 + µ 4 + µ p 9 + µ 3 3 Missing values Atrybuty liczbowe Karl Gauss, 777-855 Predykcja atrybut pomijany w obliczeniach Przykład Outlook Temp. Humidity Windy Play? Cool High True? Likelihood of yes = 3/9 3/9 3/9 9/4 = 0.038 Likelihood of no = /5 4/5 3/5 5/4 = 0.0343 yes ) = 0.038 / (0.038 + 0.0343) = 4% no ) = 0.0343 / (0.038 + 0.0343) = 59% Typowe założenie przyjmij wybrany rozkład, np. normalny (Gaussa), zdefiniowany przez dwa parametry: wartość oczekiwana µ odchylenie standardowe σ Funkcja gęstości: µ = σ = f n n i= n n i= x i ( µ ) x i ( x µ ) σ ( x) = e πσ Outlook Temperature Humidity Windy Play Yes No Yes No Yes No Yes No Yes No Sunny 3 64, 68, 65, 7, Overcast 4 0 69, 70, 7, 80, Rainy 3 7, 85, 65, 70, 70, 85, False 6 9 5 70, 75, 90, 9, True 3 3 80, 95, Sunny /9 3/5 µ =73 µ =75 µ =79 µ =86 False 6/9 /5 9/4 5/4 Overcast 4/9 0/5 σ =6. σ =7.9 σ =0. σ =9.7 True 3/9 3/5 Rainy 3/9 /5 Przykład klasyfikowany Outlook Temp. Humidity Windy Play Sunny 66 90 true? Likelihood of yes = /9 0.0340 0.0 3/9 9/4 = 0.000036 Likelihood of no = 3/5 0.09 0.0380 3/5 5/4 = 0.00036 yes ) = 0.000036 / (0.000036 + 0. 00036) = 0.9% no ) = 0.00036 / (0.000036 + 0. 00036) = 79.% (66 73) 6. f ( temperature = 66 yes) = e π 6. = 0.0340
Naiwny klasyfikator Bayesowski Działa zadziwiająco dobrze (pomimo założenia o warunkowej niezależności atrybutów). Dlaczego? Ponieważ klasyfikacja nie wymaga poprawnego oszacowania prawdopodobieństw tak długo, jak długo maksymalne prawdopodobieństwo jest przydzielone do właściwej klasy Poprawa: selekcja cech, sieci bayesowskie Regresja Regresja Regresja Regresja Wyzwania nie odniosło sukcesów w tworzeniu algorytmów które generalizują w oparciu o bardzo małe zbiory uczące Człowiek natomiast potrafi poradzić sobie z tego typu problemami wykorzystując wiedzę zdobytą w innych zadaniach (ang. lifelong learning)