Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Elementy uczenia maszynowego Literatura [1] Bolc L., Zaremba J., Wprowadzenie do uczenia się maszyn, Akadamicka Oficyna Wydawnicza RM, Warszawa, 1992. [2] Cichosz P., Systemy uczące się, WNT, Warszawa, 2000. [3] Flach P. A., Logical approaches to Machine Learning an overview, in Think, vol. 1, Sept. 1992, pp. 25 36. [4] Harmelen F. van, Bundy A., Explanation-Based Generalisation = Partial Evaluation, Artif. Intell. 36(3), 1988, pp. 401 412. [5] Martinek J., Materiały do wykładów z przedmiotu Sztuczna inteligencja, prowadzonych w latach 1998-2008 na Wydz. Elektrycznym Politechniki Poznańskiej. [6] Nilsson N. J., Introduction to Machine Learning, Stanford University, 1998. [7] Russell S.J., Norvig P., Artificial Intelligence: A Modern Approach, Prentice Hall, New Jersey, 2003. 1
1. Wprowadzenie 2015 Adam Meissner Plan wykładu 2. Uczenie się nadzorowane i bez nadzoru 3. Indukcyjne programowanie w logice jako metoda uczenia się na przykładach 4. Uczenie się przez objaśnianie 2
Wprowadzenie uczenie maszynowe (ang. machine learning) to zdolność maszyny (systemu) do rozszerzania wiedzy i udoskonalania swoich zachowań na podstawie zdobywanych doświadczeń podstawą maszynowego uczenia się jest indukcja, czyli wyprowadzanie wniosków i uogólnień z przykładów Klasyfikacja metod uczenia się indukcyjnego uczenie się nadzorowane (ang. supervised learning), które zwykle wykorzystuje się do klasyfikowania przykładów uczenie się bez nadzoru (ang. unsupervised learning), stosowane zazwyczaj do odkrywania struktur (np. skupień, regularności) występujących w analizowanych danych 3
Uczenie się nadzorowane (1) niech termin przykład oznacza wektor (f 1,, f n ), gdzie każda współrzędna f i dla 1 i n jest wartością pewnej cechy niech E oznacza zbiór przykładów a L niech będzie zbiorem klas, do których należą przykłady ze zbioru E, niech l oznacza klasyfikację, tj. funkcję l: E L; jeżeli L jest zbiorem ciągłym, wówczas funkcja l nosi nazwę regresji daną wejściową dla rozpatrywanych metod jest funkcja l': E' L' nazywana zbiorem treningowym, gdzie E' E to zbiór przykładów treningowych a zbiór L' L jest zmienną docelową; dowolny element zbioru L' nosi nazwę wartości docelowej Przykład 1 Przykłady treningowe dla zmiennej docelową rozgrywanie meczu na dworze 4
Uczenie się nadzorowane (2) celem nadzorowanego uczenia się jest znalezienie klasyfikatora, czyli jak najlepszej aproksymacji funkcji l na podstawie funkcji l' problemy spotykane przy poszukiwaniu klasyfikatorów: nadmierne dopasowanie skrzywione zbiory danych rodzaje klasyfikatorów w nadzorowanym uczeniu się: klasyfikatory Bayesa maszyny wektorów wspierających drzewa decyzyjne uczenie się na przykładach sztuczne sieci neuronowe 5
Uczenie się bez nadzoru celem uczenia się bez nadzoru jest odkrywanie struktur, regularności lub powtarzających się wzorców w (zbiorach) danych wejściowych uczenie się bez nadzoru stosuje się zwykle w związku z eksploracją danych (ang. data mining) w rozpatrywanej klasie metod nie wymaga się podawania zbiorów treningowych do popularnych metod uczenia się bez nadzoru należą: grupowanie (klasteryzacja), polegające na odkrywaniu grup lub klastrów podobnych obiektów wśród danych techniki wydobywania reguł asocjacji, opisujących powiązania między danymi algorytmy grupowania dzielą się na: grupowanie niehierarchiczne oraz hierarchiczne - w drugim przypadku odkrywane grupy porządkuje się w strukturę drzewiastą grupowanie twarde i miękkie - w pierwszym przypadku przypisanie obiektu do grupy jest jednoznaczne, w przypadku drugim przypisanie określa się z pewnym stopniem przynależności 6
Indukcyjne programowanie w logice jako metoda uczenia się na przykładach (1) Założenia wstępne T teoria przedmiotowa, E+ zbiór przykładów pozytywnych, E- zbiór przykładów negatywnych, E zbiór wszystkich przykładów (E = E+ E-), H hipotetyczna definicja pojęcia (hipoteza). T, E i H są zbiorami klauzul Horna. Zadanie ogólne Zadaniem indukcyjnego programowania w logice (ang. inductive logic programming - ILP) jest znalezienie hipotezy H na podstawie zbiorów T i E, spełniającej warunki: hipoteza jest niesprzeczna z przykładami i teorią przedmiotową ( h H) ~( T E = ~ h) hipoteza objaśnia przykłady: (T H) = E Metody rozwiązania konstruowanie najbardziej specyficznego uogólnienia (ang. Least General Generalisation) rezolucja odwrotna (ang. Inverse Resolution) 7
ILP jako metoda uczenia się na przykładach (2) Konstruowanie najbardziej specyficznego uogólnienia przestrzeń wersji V (ang. Version Space) zbiór wszystkich hipotez utworzonych dla teorii przedmiotowej T i zbioru przykładów E, relacja Θ-subsumpcji (Θ-s) relacja określona na zbiorze par klauzul; klauzula C 1 Θ-subsumuje klauzulę C 2 (C 1 jest bardziej ogólna od C 2 ) wtw. istnieje takie podstawienie Θ, że każdy literał występujący w klauzuli C 1 Θ występuje również w C 2, relacja Θ-subsumpcji określa częściowy porządek w przestrzeni wersji. Działania zachowujące relację C 1 Θ-s C 2 uogólnienie klauzuli C 1 poprzez usunięcie literału lub zastąpienie termu zmienną, specjalizowanie klauzuli C 2 poprzez dodanie literału lub zastąpienie zmiennej termem. Specyfikacja problemu Dla teorii przedmiotowej T i zbioru przykładów E skonstruować taką hipotezę H, że w przestrzeni wersji V określonej dla T i E nie istnieje hipoteza mniej ogólna od H. Zarys metody rozwiązania 1. Niech H będzie najogólniejszym elementem zbioru V. 2. Iterując po wszystkich elementach zbioru E przekształcać H przez specjalizowanie lub uogólnianie w taki sposób, aby ostatecznie uzyskać możliwie najmniej ogólne H, które obejmuje każdy przykład pozytywny i nie obejmuje żadnego przykładu negatywnego. 8
ILP jako metoda uczenia się na przykładach (3) Przykład 2 Teoria przedmiotowa T kolor(x,y):- Y = trefl; Y = pik; Y = kier; Y = karo. wartość(x,w):- W = 2; W = 3; ; W = 10; W = walet; W = dama; W = król; W = as. wartość_większa(x,w):- wartość(x,w1),większe(w1,w). maść(x,czarna):- kolor(x,trefl); kolor(x,pik). maść(x,czerwona):- kolor(x,kier); kolor(x,karo). Zbiór przykładów pojęcia E = { (kolor(x,karo), wartość(x,2).), (:- maść(x,czarna), wartość_większa(x,10).), (kolor(x,kier), wartość(x,król).)} Przykład przestrzeni wersji p(x). p(x):-m(x,czerwona). p(x):- wnw(x,10) p(x):-k(x,karo), w(x,2). Konstruowanie hipotezy H 1. H 1 = { p(x). } E 1 = kolor(x,karo), wartość(x,2). 2. H 2 = { p(x). } E 2 = :- maść(x,czarna),wartość_większa(x,10). 3. H 3 = { p(x):- maść(x,czerwona)., p(x):- wartość_niewiększa(x,10).) E 3 = kolor(x,kier), wartość(x,król). 4. H 4 = { p(x):-maść(x,czerwona) }. 9
ILP jako metoda uczenia się na przykładach (3) Rezolucja odwrotna (inverse resolution) Zasada rezolucji L. & H : L Hθ. dane: przesłanka C 1 = (L.), przesłanka C 2 = (H : L.) wynik: wniosek (rezolwenta) C = (Hθ). Idea rezolucji odwrotnej [Muggleton 1988] dane: przesłanka C 1 należąca do teorii przedmiotowej T klauzula C należący do zbioru przykładów E wynik: przesłanka C 2 taka, że można przeprowadzić wnioskowanie rezolucyjne od C 1 i C 2 do C szczególnym przypadkiem rezolucji odwrotnej jest reguła absorpcji, która dla rachunku zdań ma postać: q : A., p : A, B. q : A., p : q, B. jeżeli Lθ = L θ 10
ILP jako metoda uczenia się na przykładach (4) Reguła absorpcji dla rachunku predykatów Def. (odwrotność podstawienia) Niech θ będzie dowolnym podstawieniem postaci {x 1 /t 1,..., x n /t n }, gdzie symbole x 1,..., x n oznaczają zmienne a wyrażenia t 1,..., t n są dowolnymi termami. Odwrotnością podstawienia θ nazywa się wyrażenie θ 1 postaci {t 1 /x 1,..., t n /x n }. Uwaga: dla dowolnego wyrażenia E, Eθθ 1 = E. Wnioskowanie za pomocą reguły absorpcji dane: przesłanka C 1 = (L.), wniosek C = (H.) wynik: przesłanka C 2 = (Hθ 2-1 : Lθ 1 θ 2-1 ) gdzie podstawienie θ 1 dotyczy zmiennych występujących wyłącznie w formule L, a podstawienie θ 2 dotyczy pozostałych zmiennych w klauzuli C 2. Przykład 3 [3] 1. C 1 = less(x, s(x))., C = less(y, s(s(y))). 2. C 2 = less(y, s(s(y))) : less(x, s(x)). 3. Niech θ 1 = {X/s(Y)}, wtedy C 2 = less(y,s(s(y))) : less(s(y), s(s(y))). 4. Niech θ 2-1 = { s(s(y)) / Z}, wtedy C 2 = less(y, Z) : less(s(y), Z). Rezolwenta C uzyskana z przesłanek C 1 i C 2 11
Uczenie się przez objaśnianie (1) Dane: pojęcie docelowe pewna definicja D (w postaci zbioru klauzul) pojęcia p dla którego należy sformułować definicję spełniającą kryterium operatywności K kryterium operatywności zbiór pojęć (predykatów) K, których można użyć w nowej definicji pojęcia p teoria przedmiotowa zbiór klauzul T, objaśniający znaczenie pojęcia docelowego. Wynik Efektem uczenia się przez objaśnianie (ang. explanationbased learning, EBL) jest nowa definicja pojęcia p, skonstruowana na podstawie teorii przedmiotowej T i spełniająca kryterium operatywności K. Metoda Przekształcić pojęcie docelowe D do nowej postaci za pomocą dedukcji częściowej (ang. partial deduction). Dedukcja częściowa (Komorowski 1981) skonstruować drzewo wywodów rezolucyjnych dla hipotezy p i teorii D T, którego liście spełniają kryterium K przekształcić uzyskane wywody w nową definicję pojęcia p. 12
Przykład 4 2015 Adam Meissner Uczenie się przez objaśnianie (2) POJĘCIE DOCELOWE można_położyć(x,y) :- lżejsze(x,y). TEORIA PRZEDMIOTOWA T lżejsze(x,y) :- ciężar(x,w1), ciężar(y,w2), W1 < W2. ciężar(x,50):- jest_to(x, stół). ciężar(x,w):- objętość(x,v), gęstość(x,d), W is V * D. TKRYTERIUM OPERATYWNOŚCI K k(is/2). k(</2). k(jest_to/2). k(gęstość/2). k(objętość/2). NOWA DEFINICJA POJĘCIA p można_położyć(x,y) :- jest_to(x,stół), objętość(y,v), gęstość(y,d), W2 is V*D, 50 < W2. można_położyć(x,y) :- objętość(x,v), gęstość(x,d), W1 is V*D, jest_to(y,stół), W1 < 50. można_położyć(x,y) :- objętość(x,v), gęstość(x,d), W1 is V*D, objętość(y,v1),gęstość(y,d1), W2 is V1*D1, W1 < W2. 13