Instytut Automatyki i Inżynierii Informatycznej Politechniki

Transkrypt

Instytut Automatyki i Inżynierii Informatycznej Politechniki
2016 © Adam Meissner
Instytut Automatyki i Inżynierii Informatycznej
Politechniki Poznańskiej
Adam Meissner
[email protected]
http://www.man.poznan.pl/~ameis
Elementy uczenia maszynowego
Literatura
[1] Bolc L., Zaremba J., Wprowadzenie do uczenia się
maszyn, Akadamicka Oficyna Wydawnicza RM, War­
szawa, 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 Gene­
ralisation = 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, Stan­
ford University, 1998.
[7] Russell S.J., Norvig P., Artificial Intelligence: A Modern Approach, Prentice Hall, New Jersey, 2003.
1
2016 © Adam Meissner
Plan wykładu
1. Wprowadzenie
2. Uczenie nadzorowane i bez nadzoru
3. Ujęcia logiczne w uczeniu maszynowym
●
●
●
indukowanie pojęć poprzez przeszukiwanie przestrze­
ni wersji (ang. version space search)
indukcyjne programowanie w logice (ang. inductive lo­
gic programming)
uczenie przez objaśnianie (ang. explanation-based le­
arning)
2
2016 © Adam Meissner
Wprowadzenie
• uczenie maszynowe (ang. machine learning) to
zdolność maszyny (systemu) do rozszerzania wie­
dzy i udoskonalania swoich zachowań na podsta­
wie zdobywanych doświadczeń
• podstawą maszynowego uczenia jest indukcja,
czyli wyprowadzanie wniosków i uogólnień z przy­
kładów
Klasyfikacja metod uczenia indukcyjnego
• uczenie nadzorowane (ang. supervised learning),
które zwykle wykorzystuje się do klasyfikowania
przykładów
• uczenie bez nadzoru (ang. unsupervised learning),
stosowane zazwyczaj do odkrywania struktur (np.
skupień, regularności) występujących w analizo­
wanych danych
3
2016 © Adam Meissner
Uczenie nadzorowane (1)
• niech termin przykład oznacza wektor (f1, …, fn),
gdzie każdy element fi 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 ele­
ment zbioru L' nosi nazwę wartości docelowej
Przykład 1
Przykłady treningowe dla zmiennej docelową rozgry­
wanie meczu na dworze
4
2016 © Adam Meissner
Uczenie nadzorowane (2)
• celem uczenia nadzorowanego jest znalezienie
klasyfikatora, czyli jak najlepszej aproksymacji
funkcji l na podstawie funkcji l'
• problemy spotykane przy poszukiwaniu klasyfika­
torów:
− nadmierne dopasowanie
− skrzywione zbiory danych
− rodzaje klasyfikatorów w uczeniu nadzorowanym:
− klasyfikatory Bayesa
− maszyny wektorów wspierających (ang. sup­
port vector machines)
− drzewa decyzyjne
− uczenie na przykładach (ang. instance-based
learning)
− sztuczne sieci neuronowe
5
2016 © Adam Meissner
Uczenie bez nadzoru
• celem uczenia bez nadzoru jest odkrywanie
struktur, regularności lub powtarzających się
wzorców w (zbiorach) danych wejściowych
• uczenie 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 bez nadzoru
należą:
− grupowanie (klasteryzacja), polegające na od­
krywaniu 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 hierarchicz­
ne - w drugim przypadku odkrywane grupy po­
rzą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
2016 © Adam Meissner
Przeszukiwanie przestrzeni wersji (1)
Założenia wstępne
T
E+
EE
H
–
–
–
–
–
teoria przedmiotowa,
zbiór przykładów pozytywnych,
zbiór przykładów negatywnych,
zbiór wszystkich przykładów (E = E+ ∪ E-),
hipotetyczna definicja pojęcia (hipoteza).
T, E i H są zbiorami klauzul Horna.
Zadanie ogólne
Znaleźć hipotezę H na podstawie zbiorów T i E, spełniają­
cą warunki:
• hipoteza jest niesprzeczna z przykładami i teorią przed­
miotową (∀ h ∈ H) ~( T ∪ E |= ~h)
• hipoteza objaśnia przykłady: (T ∪ H) |= E
Metoda rozwiązania
Konstruowanie formuły H poprzez rozpatrywanie kolejnych
jej wersji, aż do uzyskania najbardziej specyficznego
uogólnienia (ang. Least General Generalisation)
7
2016 © Adam Meissner
Przeszukiwanie przestrzeni wersji (2)
Konstruowanie najbardziej specyficznego uogólnienia
• przestrzeń wersji V (ang. Version Space) – zbiór wszystkich
hipotez utworzonych dla teorii przedmiotowej T i zbioru przykła­
dów E,
• relacja Θ-subsumpcji (Θ-s) – relacja określona na zbiorze par
klauzul; klauzula C1 Θ-subsumuje klauzulę C2 (C1 jest bardziej
ogólna od C2) wtw. istnieje takie podstawienie Θ, że każdy lite­
rał występujący w klauzuli C1Θ występuje również w C2,
• relacja Θ-subsumpcji określa częściowy porządek w przestrzeni
wersji.
Działania zachowujące relację C1 Θ-s C2
• uogólnienie klauzuli C1 poprzez usunięcie literału lub zastą­
pienie termu zmienną,
• specjalizowanie klauzuli C2 poprzez dodanie literału lub za­
stą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 osta­
tecznie uzyskać możliwie najmniej ogólne H, które obejmuje
każdy przykład pozytywny i nie obejmuje żadnego przykładu
negatywnego.
8
2016 © Adam Meissner
Przeszukiwanie przestrzeni wersji (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):- wnw(X,10)
p(X):-m(X,czerwona).
p(X):-k(X,karo), w(X,2).
Konstruowanie hipotezy H
1. H1
E1
2. H2
E2
3. H3
=
=
=
=
=
{ p(X). }
kolor(X,karo), wartość(X,2).
{ p(X). }
:- maść(X,czarna),wartość_większa(X,10).
{ p(X):- maść(X,czerwona).,
p(X):- wartość_niewiększa(X,10).)
E3 = kolor(X,kier), wartość(X,król).
4. H4 = { p(X):-maść(X,czerwona) }.
9
2016 © Adam Meissner
Elementy indukcyjnego
programowania w logice (1)
Rezolucja odwrotna (inverse resolution)
Zasada rezolucji
L., H :– L′
Hθ.
jeżeli Lθ = L′θ
• dane:
− przesłanka C1 = (L.),
− przesłanka C2 = (H :– L′.)
• wynik: wniosek (rezolwenta) C = (Hθ).
Idea rezolucji odwrotnej [Muggleton 1988]
• dane:
− przesłanka C1 należąca do teorii przedmiotowej T
− klauzula C należący do zbioru przykładów E
• wynik:
przesłanka C2 taka, że można przeprowadzić wniosko­
wanie rezolucyjne od C1 i C2 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.
10
2016 © Adam Meissner
Elementy indukcyjnego
programowania w logice (2)
Reguła absorpcji dla rachunku predykatów
Def. (odwrotność podstawienia)
Niech θ będzie dowolnym podstawieniem postaci {x1/t1, ..., xn/tn},
gdzie symbole x1, ..., xn oznaczają zmienne a wyrażenia t1, ..., tn
są dowolnymi termami. Odwrotnością podstawienia θ nazywa się­
man wyrażenie θ –1 postaci {t1/x1, ..., tn/xn}. Uwaga: dla dowolnego
wyrażenia E, Eθθ –1 = E.
Wnioskowanie za pomocą reguły absorpcji
• dane:
− przesłanka C1 = (L.),
− wniosek C = (H.)
• wynik: przesłanka C2 = (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 C2.
Przykład 3 [3]
1. C1 = less(X, s(X))., C = less(Y, s(s(Y))).
2. C2′ = less(Y, s(s(Y))) :– less(X, s(X)).
3. Niech θ1 = {X/s(Y)}, wtedy C2′′ = less(Y,s(s(Y))) :– less(s(Y),
s(s(Y))).
4. Niech θ2- 1 = { s(s(Y)) / Z}, wtedy C2 = less(Y, Z) :– less(s(Y), Z).
Rezolwenta C uzyskana z przesłanek C1 i C2
11
2016 © Adam Meissner
Uczenie przez objaśnianie (1)
Dane:
• pojęcie docelowe – pewna definicja D (w postaci zbio­
ru 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 przez objaśnianie (ang. explanation-ba­
sed learning, EBL) jest nowa definicja pojęcia p, skonstru­
owana na podstawie teorii przedmiotowej T i spełniająca
kryterium operatywności K.
Metoda
Przekształcić pojęcie docelowe D do nowej postaci za po­
mocą dedukcji częściowej (ang. partial deduction) [4].
Dedukcja częściowa (Komorowski 1981)
• skonstruować drzewo wywodów rezolucyjnych dla hipo­
tezy p i teorii D ∪ T, którego liście spełniają kryterium K
• przekształcić uzyskane wywody w nową definicję poję­
cia p.
12
2016 © Adam Meissner
Uczenie przez objaśnianie (2)
Przykład 4
POJĘCIE DOCELOWE
można_położyć_na(X,Y) :- lżejsze_od(X,Y).
TEORIA PRZEDMIOTOWA T
lżejsze_od(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(is/2).
k(</2).
k(jest_to/2).
NOWA DEFINICJA POJĘCIA
K
k(gęstość/2).
k(objętość/2).
p
można_położyć_na(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ć_na(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ć_na(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