This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
™) = <*i r) = (op, r) = (ot, «/) = .... Testy kanoniczne i kwadratowe Ponieważ interesuje nas znalezienie skończonej liczby klas abstrakcji relacji rów noważności określonej na nieskończonym zbiorze możliwych testów, nie możemy wprost wskazać każdej klasy, wyliczając wszystkie jej elementy. Należy się raczej ograniczyć do znalezienia reprezentatów poszczególnych klas, w postaci należą cych do nich testów wybranych według pewnego kryterium. Kryterium takiego dostarcza relacja porządku, jaką można określić na zbiorze testów. Wygodnie jest przyjąć za jej podstawę po prostu długość testów, a ściślej długość występujących w nich sekwencji akcji. Testy krótsze warto zawsze rozważać wcześniej niż dłuż sze, chociażby ze względu na efektywność obliczeniową. W przypadku testów o jednakowej długości relację porządku można wprowadzić w dość naturalny spo sób, zakładając, że z kolei symbole alfabetów wejściowego A i wyjściowego Y są w dowolny sposób uporządkowane. Wówczas możemy odpowiednio uporządko wać leksykograficznie także ciągi akcji (symboli wejściowych). Dla dwóch testów o różnych, lecz tak samo długich ciągach akcji o ich uporządkowaniu decyduje ] - = °» ] = r (p , n> = 0, (A,r)
12.3. UCZENIE SIĘ NA PODSTAWIE EKSPERYMENTÓW
693
leksykograficzna kolejność tych ciągów akcji, a gdy są one identyczne, kolejność testowanych symboli wyjściowych. Prowadzi do poniższej definicji.
•
12.14. Testt\ — {ot\,yi)poprzedza testt^ — (^2,2/2), cozapisujemy t\ ~< t2, jeśli jest spełniony jeden z następujących warunków: DEFINICJA
1) długość ciągu a\ jest mniejsza niż długość ciągu a2f 2) ct\ i <%2 mają taką samą długość oraz OL\ -< «2> 3) a\ = a2 i yi -< 3/2-
0
Definicja ta odwołuje się do odpowiednich relacji porządku leksykograficznego dla ciągów akcji i symboli wyjściowych, oznaczając także te relacje przez -< Określa ona porządek zupełny, co oznacza, że dla dowolnych dwóch testów *x i *2 występuje dokładnie jedna z następujących trzech możliwości: t\ -< t
•
TWIERDZENIE 12.4. Jeśli test ( a , y ) jest testem kanonicznym pewnej klasy abstrakcji, to dla każdego przyrostka (3 ciągu akcji a test (/?, y) jest także te stem kanonicznym pewnej innej klasy abstrakcji <
•
TWIERDZENIE 12.5. Jeśli test t nie jest testem kanonicznym swojej klasy abs trakcji, to dla każdego a G A* test a • £ nie jest testem kanonicznym żadnej klasy abstrakcji. <\ Przykład 12.8 (Planeta Małego Księcia). Dla klas równoważności testów po danych w przykładzie 12.7 testami kanonicznymi są testy wymienione w nich jako pierwsze, czyli odpowiednio (A, r), (A, w), (p, r) i (p, w), o ile przyjmiemy dla sym boli wejściowych (akcji) i symboli wyjściowych naturalny porządek alfabetyczny.
Emulowanie automatu docelowego Algorytm równoważności testów sprowadza się do znajdowania zbioru wszystkich testów kanonicznych automatu docelowego, identyfikujących klasy równoważno-
694
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
ści, a także wszystkich testów kwadratowych. Zanim zobaczymy, jak można oba zbiory testów ustalić, przekonajmy się, że jest to wystarczające do reprezento wania hipotezy przybliżającej automat docelowy. Nie podamy tu jednak sposobu konstrukcji automatu na podstawie zbiorów testów kanonicznych i kwadratowych, lecz raczej sposób emulowania automatu docelowego za ich pomocą, czyli prze widywania kolejnych wyjść dla dowolnej wykonywanej sekwencji akcji. Załóżmy zatem, że szczęśliwym trafem znamy zbiory testów kanonicznych i kwadratowych dla automatu docelowego oraz dla każdego testu kanonicznego jego wynik w aktualnym stanie, a dla każdego testu kwadratowego s równoważny z nim test kanoniczny [s]. Aby się przekonać, że informacje te są dostateczne do emulowania automatu docelowego, wystarczy sprawdzić, że: 1) umożliwiają ustalenie aktualnego wyjścia automatu, 2) umożliwiają zachowanie tej samej informacji, która jest dostępna w aktualnym stanie, dla stanu następnego wynikającego z wykonania dowolnej akcji a E A. Spełnienie obu tych warunków gwarantuje, że dla dowolnego ciągu akcji można podać ciąg wyjść automatu. Załóżmy, że aktualnym stanem jest x E X (może to być w szczególności stan początkowy XQ). Wyjście automatu w tym stanie, u(x), można określić na podstawie wyników testów postaci (A,y) dla poszczególnych symboli wyjścio wych y E Y, czyli testów o pustej sekwencji akcji sprawdzających różne wyjścia. Wszystkie testy tej postaci są kanoniczne, gdyż żadne dwa spośród nich nie są równoważne (skoro sprawdzają różne wyjścia w tym samym stanie), co oznacza, że należą do różnych klas abstrakcji, a żaden inny test nie może ich w tych klasach poprzedzać. To oznacza, że z założenia znamy wyniki tych testów, czyli ustalenie aktualnego wyjścia jest możliwe. Przyjmijmy obecnie, że w stanie x jest wykonywana akcja a. Aby w następ nym stanie 8{x) a), do którego wykonanie tej akcji przeprowadzi automat, posia dać tę samą informację, która jest znana dla stanu x, czyli móc przewidzieć kolej ne wyjście, musimy ustalić dla tego następnego stanu wartość wszystkich testów kanonicznych. Zatem dla każdego testu kanonicznego t należy określić wartość t(5(x,a)). Nietrudno jednak zauważyć, że wartość ta jest równa (a •£)(#). Ponie waż a • t jest albo testem kanonicznym, albo kwadratowym, więc tak czy inaczej jest znany test kanoniczny jego klasy abstrakcji tł = [a • t] i poszukiwaną warto ścią t(S(x, a)) = (a • t)(x) jest znana wartość t'(x). Na podstawie tych rozważań procedurę emulacji można zapisać w postaci przedstawionej przez algorytm 12.4. Argumentami funkcji emulacja są, oprócz zbioru testów kanonicznych C i kwadratowych S, zbiór aktualnych wyników tych pierwszych Re oraz akcja, któ rej efekty mają być symulowane. Funkcja nie wykorzystuje wprawdzie w jawny sposób argumentów C, S i Re, lecz zakłada dostępność dla każdego testu t E C jego wyniku rt E Re oraz dla każdego testu t E S jego testu kanonicznego [t].
695
12.3. UCZENIE SIĘ NA PODSTAWIE EKSPERYMENTÓW
funkcja emulacja(C^S^Rc^ct) argumenty wejściowe: • C — zbiór testów kanonicznych, • S — zbiór testów kwadratowych, • Rc — [rt | t e C} — zbiór aktualnych wyników testów kanonicznych, • a — wykonywana akcja; zwraca: aktualne wyjście automatu oraz zmodyfikowany zbiór wyników testów kanonicznych Rc po wykonaniu akcji a\ y ~ argmax y / € yr < A ) J / /); dla wszystkich i € C wykonaj r
t ~r[a*t\* koniec dla zwróć y, RcAlgorytm 12.4. Emulacja automatu docelowego na podstawie testów kanonicznych i kwadratowych Oczywiście dla t E C z definicji [t] = t. Aktualne wyjście y jest znajdowane na podstawie wyników testów kanonicznych (A,?/) dla y1 6 Y, z których dokładnie jeden ma wynik 1 i pozostałe mają wynik 0. Następnie jest modyfikowany wynik każdego testu kanonicznego t w sposób uwzględniający skutki wykonania akcji a. Przykład 12.9 (Planeta Małego Księcia). Załóżmy, że dla środowiska planety Małego Księcia z przykładu 12.2 są znane następujące zbiory testów kanonicznych i kwadratowych: C - {(A ) n>,,(p,r>,(p,«;>}, S =
{{o,n),{o,r),{o,w),{t,n),{t,r),{t,w),{op,n),{op,r),{op,w)^ (pp,n)> tjPP,r), (pp,w)> (*P»«)» <*P>r>> <*P,w»-
Ponadto dla każdego testu kwadratowego znamy test kanoniczny jego klasy równo ważności: [
[
[
[(op,r)] = (p,w), [(pp,r)] = (A, w), [(tp,r)] = ,
[(o, w)] = , [(op,w)] = (Pir)> [fep,w>] = ] - .
W następnym przykładzie zobaczymy, jak można uzyskać tę wiedzę w drodze uczenia się, a obecnie rozważymy wykorzystanie jej do emulacji środowiska. Niech aktualnym stanem będzie ten, w którym robot znajduje się przy róży, zwró cony w kierunku przeciwnym do kierunku ruchu wskazówek zegara. W stanie tym
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
696
wartości testów kanonicznych są następujące: r
(A,r) =
r
(p,r) = 0,
1,
r
{\,w)
= 0»
^{p,™} =
0.
Prześledzimy proces emulacji środowiska dla sekwencji akcji ppott. 1. Z testów kanonicznych postaci {A, y') tylko dla y' = rmamy wynik 1, co pozwala ustalić początkowe wyjście automatu docelowego jako y = r. Wykonanie akcji p powoduje następującą zmianę wyników testów kanonicznych: r == r[
r] = r
:
(p,r)
r
r
~ [
= 0»
r
(p,n)
== [ ( p p , n ) ] = ^(A,n) = 0>
r
:
(p,r)
r
{pyw)
r
:
~ r [(PP»^)]
=
r
~ ^[(pp,u;)] ^
(A,^) =
1
0,
^(A,r) ~ •!•
2. Kolejne wyjście automatu na podstawie wyniku testu (A,n) może być ustalone jako y — n. Wykonanie akcji p powoduje następującą zmianę wyników testów kanonicznych: = r[
= r[(p,r>] = r(P,r) = °>
(p,n)
=
r
(pir)
-
r
T(p,w)
=
r
r
T
r
[
[(PP»r>l ~
=
1,
) = 0»
= r
[(PP^)\
0.
3. Kolejne wyjście automatu na podstawie wyniku testu (A, w) może być ustalone jako y = w. Wykonanie akcji o powoduje następującą zmianę wyników testów kanonicznych: r
(A,n)
r
(A,r)
r
(p,n)
T
(p,r)
r
(p,w)
~
r
=
r
[ ( o , r ) j = ^{A,r) =
-
r
[ ( o , ^ ) ] = r(\iW)
{(o,n)}
= ^
= r [
r
— (p,n)
r
r
— H ( ° P ) ) ] — (p>w) ~ ^[{op,uj)] ~
r
(p,r)
0, 0,
-
1,
= 1, —
'
~ U*
4. Kolejne wyjście automatu jest ustalane tak samo jak poprzednie na podstawie wyniku testu (A, w) jako y — w. Wykonanie akcji t powoduje następującą zmianę wyników testów kanonicznych: r : = H < ^ > ]
=
r
(P,n) =
1.
12.3. UCZENIE SIĘ NA PODSTAWIE EKSPERYMENTÓW
697
= f[{ur)} = r{PyW) = 0, -
r
r
[(t,w)} -
(pyr) = 0»
r
= [(tp,n)} = ^(A,n) = 0, V
(p,r)
^{p,w)
= r[(tp,r)] = r(\,r) r
= 0,
r
= [
5. Kolejne wyjście automatu może być ustalone na podstawie wyniku testu (A,n) jako y — n. Ponowne wykonanie akcji t powoduje zmianę wyników testów ka nonicznych: r
(A,n) = r[(t,n)] = ^{p,n> - 0,
r
(A,r> = r[(*»r>] ~ r(P,w)
~ 1'
(Kw)
= r[{*,™)] = ^(p,r> = 0>
r
= H^P,")]
r
(p,n)
=
r
= !
r
(p,r)
= [<*P,r>] = 7*{A,r) = 0,
{p,w)
-
r
r
r
[(tp,w)} = r (A,w) - 1
6. Po wykonaniu ostatniej akcji wyjście na podstawie wyniku testu (A, r) może być ustalone jako y = r. Czytelnik zechce się samodzielnie przekonać o poprawności wyników uzyska nych w prześledzonej emulacji środowiska Małego Księcia. Algorytm uczenia się Uczenie się w świetle powyższej dyskusji sprowadza się do wyznaczenia zbioru testów kanonicznych i kwadratowych dla automatu docelowego, wraz z określe niem dla każdego testu kwadratowego odpowiedniego testu kanonicznego z jego klasy abstrakcji. Sposób, w jaki można tego dokonać, przedstawia algorytm 12.5. Jego wynikiem jest para C,S, przy czym C oznacza zbiór testów kanonicznych, a S — zbiór testów kwadratowych. Dla każdego testu kwadratowego t E S jest zachowywany odpowiadający mu test kanoniczny [s]. Algorytm wykorzystuje roboczy zbiór testów W, który jest inicjowany jako zbiór zawierający wszystkie testy z pustym ciągiem akcji. Każdy z nich odpo wiada jednemu symbolowi wyjściowemu, więc początkowo \W\ — \Y\. Są to „najmniejsze" testy ze wszystkich możliwych testów w sensie relacji porządku -<. Zbiory testów kanonicznych i kwadratowych są początkowo puste. Testy ze zbioru W są rozpatrywane w wyznaczonej przez tę relację kolejności: operacja inf^ W daje w wyniku kres dolny tego zbioru, czyli pierwszy test. Jest to zawsze „naj mniejszy" ze wszystkich testów, które nie zostały dotychczas zaliczone do testów kanonicznych ani kwadratowych. Po wybraniu takiego testu t i usunięciu go ze zbioru W zachodzą dwie możliwości:
698
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
funkcja znajdź-testy zwraca: zbiór testów kanonicznych i zbiór testów kwadratowych; 1 W~{(\,y)\y€Y}i 2
C:=0;S:=0;
3 4
powtarzaj
5 6 7 8 9 10 11 12 13 14
t^ini^W^W
:=
W-{t}\
jeśli t ~ u dla pewnego ^ G C to S:=SU{ć};
W := u; w przeciwnym przypadku
C:=Cu{*}; dla wszystkich a G A wykonaj
W
:=WU{cft}\
koniec dla koniec jeśli aż nastąpi W = 0; 15 zwróć C, 5. Algorytm 12.5. Znajdowanie testów kanonicznych i kwadratowych
1) test t jest równoważny z pewnym testem kanonicznym ze zbioru C i wówczas jako pierwszy test równoważny z tamtym, lecz od niego różny, jest testem kwadratowym, 2) test t nie jest równoważny z żadnym testem ze zbioru C i wówczas jako pierw szy reprezentant nowej klasy jest testem kanonicznym. W pierwszym przypadku, jeśli t = u dla pewnego u € C, ustalamy [t] = u i do dajemy * do zbioru S. W drugim przypadku test t jest dodawany do zbioru C, a do zbioru W trafiają testy postaci a • t dla każdego a G A Spośród tych testów w jednej z kolejnych iteracji algorytmu będą wybierane dalsze testy kanoniczne lub kwadratowe. Taki sposób modyfikacji zbioru W zapewnia, że jeśli jego „naj mniejszy" element nie jest równoważny z pewnym testem kanonicznym, to jest wówczas testem kwadratowym, jako pierwszy różny od niego równoważny test. Przykład 12.10 (Planeta Małego Księcia). Prześledzimy sposób, w jaki algo rytm 12.5 znajduje testy kanoniczne i kwadratowe dla środowiska planety Małego Księcia z przykładu 12.2, zakładając, że dostępna jest operacja weryfikowania rów noważności testów. Podana zostanie zawartość zbiorów C, S i W w kolejnych itera cjach algorytmu. Dla tego ostatniego należące do niego testy będą zawsze wymieniane w kolejności zgodnej z przyjętą relacją porządku, opartą na długości ciągów akcji oraz alfabetycznej kolejności symboli wejściowych i wyjściowych. ł. Po zainicjowaniu mamy: C = 0,
12.3. UCZENIE SIĘ NA PODSTAWIE EKSPERYMENTÓW
5 = 0, W =
699
{(\,n),(\,r),(\,w)}.
2. Test inf^ W — (A,n) nie jest równoważny z żadnym testem z pustego zbioru C, więc jest on usuwany z W i dodawany do C\ a do zbioru W trafiają jego rozszerzenia: C={}, 5-0, W = {(A, r), (A, w), (o, n), (p, n), (t, n)}. 3. Test inf x py — (A, r) jako nierównoważny z żadnym testem ze zbioru C jest do niego dodawany, przy odpowiedniej modyfikacji zbioru W: C = {, ) (o ) n>,(o,r),(p J n>,(p,r>,(t,n>,{*,r>}. 4. Test im% W = (A,iu) analogicznie jak poprzednie staje się kolejnym testem kanonicznym: C-{(A,n),,
= {(o,n), ( o , ^ , ( 0 , ^ ) , ( ^ , 7 1 ) , ^ ^ ) , ( ^ , ^ ) , ( ^ 7 1 ) , ^ ^ ) , {*,«;>}.
5. Test infx VF — (o,n) jest równoważny z należącym do C testem (A,n), jako pierwszy test kwadratowy trafia więc do zbioru 5: C = {(A,n),}, S={(o,n)}y W = {(o,r),(o,^),(p,n),(p,r),(jo,w;),(i,n),(i,r),(t,w;)}, przy czym zapamiętujemy [(o, n)] — (A, n). 6. Test inf ^ py — (o, r) jest równoważny z należącym do C testem (A, r), a więc jako kolejny test kwadratowy jest umieszczany w zbiorze 5: C-{(A,n),(A,r),(A,™)}, 5 - {(o,n),(o,r)}, W = {{o,w),(p,n),{p,r)J{pJw),(t,n),(t,r),(t,w)}, przy czym zachowuje się [(o, r)] = (A, r). 7. W analogiczny sposób jest przetwarzany kolejny test inf^ PP^ = (o, w), który także jest testem kwadratowym: C-{(A,n),(A,r),(A,^)}, 5 - {(o,n),(o,r),(o,w)}, W = {{p,n),{pyr),(p,w),{t,n),(t,r),{t,w)}, przy czym [(o, w)] = (A, w).
700
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
8. Test inf ^ W = (p, n) nie jest równoważny z żadnym testem z C, jest więc testem kanonicznym:
C={(Kn),(\,r),(\,w),M}, S = {(o,n),(o,r),(o,iu)}, PV = {{pJr),{p,w),(t,n)1{t,r)J{t,w),(op,n),(pp,n),{tp,n)}. 9. Test inf^ VF = (p, r) także jest testem kanonicznym: C = {(A,n),(A,r),(A,w),(p,n),(p,r)}, 5 = {(o,n),(o,r),(o,w)}, VF =
{{p,w)At,n)At>r),(t,w),{op,n),{op,r),(pp,n),(pp,r), (tp,n),(tp,r)}.
10. W analogiczny sposób jest przetwarzany test inf x W = (p, u;), jak się okazuje kolejny test kanoniczny: C = {{\n),{\,r),{\,w),{p,n),{p,r),{p,w)}, 5 = {(o,n), (o,r),(o,w)}, W = {{i, n), (t, r), (i,w), (op, n), (op, r), (op, iu), (pp, n), (pp, r), (pp, w), (ćp, n), (£p, r), (tp, w)}. 11. Każdy z testów pozostałych w zbiorze W jest równoważny z pewnym testem ze zbioru C, co czytelnik zechce zweryfikować samodzielnie. Wszystkie one sta ją się więc testami kwadratowymi, a ich przetworzenie powoduje wyczerpanie zbioru W i zatrzymanie algorytmu. Jego końcowy wynik stanowią następujące zbiory testów kanonicznych i kwadratowych: C = {(A,n), (A, r), (A, w), (p,n), (p, r), (p, w)}, 5 = {(o,n), (o,r), (o, w),
Testowanie równoważności Przedstawiony algorytm zakłada, że możliwe jest stwierdzenie równoważności dwóch testów. Oczywiście może chodzić wyłącznie o eksperymentalne rozstrzy gnięcie tej kwestii, gdyż eksperymenty są jedynym źródłem informacji o automa cie docelowym, jakiego dostępność się zakłada. Być może, zwrócił uwagę czy telnika brak jawnego odwołania do wyników eksperymentów w algorytmie 12.5, a także brak jawnych argumentów funkcji znajdź-testy. To właśnie występujący w nim warunek sprawdzający równoważność dwóch testów stanowi niejawne wy korzystanie eksperymentów przeprowadzanych z automatem docelowym, i to na ogół dość wielu.
12.3. UCZENIE SIĘ NA PODSTAWIE EKSPERYMENTÓW
701
Sposób testowania równoważności testów ma decydujące znaczenie dla sku teczności i efektywności omawianego algorytmu. Zauważmy, że gdyby było moż liwe niezawodne weryfikowanie równoważności testów, umożliwiające stwierdze nie dla dowolnych testów £1 i £2 z całkowitą pewnością, czy t\ = £2 (na przykład przez skierowanie odpowiedniego zapytania do dobrze poinformowanego i praw domównego nauczyciela), wówczas algorytm ten pozwalałby zawsze na dokładne nauczenie się automatu docelowego. Jeśli mówimy o nim jako o algorytmie przy bliżonym, to właśnie ze względu na z konieczności przybliżony charakter ekspe rymentalnego testowania równoważności. Przypomnijmy, że zgodnie z przyjętymi wcześniej założeniami uczniowi nie jest dostępny żaden rodzaj zapytań ani operacja zerowania. Sprawdzanie równo ważności testów bezpośrednio na podstawie jej definicji, przez porównywanie wy ników tych testów we wszystkich stanach, nie jest zatem możliwe. Jedno z pro stych podejść, które może być zastosowane w zamjan, polega na wykrywaniu okresowości testów. Zgodnie z nim w celu stwierdzenia równoważności testów £1 i £2 najpierw wykonuje się pewną liczbę razy jeden z nich, powiedzmy tu do póki jego wyniki nie staną się okresowo powtarzalne. Mamy pewność, że nastąpi to po skończonej liczbie powtórzeń, choćby dlatego, że z założenia automat do celowy ma skończoną liczbę stanów, a więc nie może generować nieskończonej nieokresowej sekwencji wyjść. Co więcej, można udowodnić, że okres powtórzeń nie może przekroczyć współczynnika zróżnicowania automatu docelowego. Mówi o tym następujące twierdzenie.
•
TWIERDZENIE 12.6. Dla dowolnego automatu (X, A,Y,S,U,XQ) o współ czynniku zróżnicowania d, dowolnego testu £ — ( a , y ) , przy czym a £ A* i y e Y, oraz dowolnego stanu x E X ciąg £(xi), £(#2),.. •, £(#&)> • • •, przy czym x\ = x,X2 — 8*(xi,a),... , ¾ = 8* {xk-u ot),..., jest okresowy, a okres powtórzeń nie przekracza d. <\
Dzięki tej właściwości, znając współczynnik zróżnicowania automatu docelo wego lub jego górne ograniczenie, można mieć pewność, że okresowa powtarzal ność wyników testów została poprawnie wykryta. Zauważenie okresowości pozwala w aktualnym stanie (o którym nic poza tym właściwie nie wiadomo) przewidzieć wynik testu t\ bez jego faktycznego wyko nywania, na podstawie wcześniej zaobserwowanych okresowo powtarzających się wyników. Zamiast niego jest wykonywany test £2, którego wynik porównuje się z wynikiem przewidywanym dla tu Niezgodność wyników oznacza natychmiast, że t\ ^ £2, gdyż przynajmniej w jednym stanie dają różne wyniki. W przypad ku ich zgodności automat docelowy przeprowadza się do pewnego innego stanu, przez wykonanie losowej sekwencji akcji, i ponawia powyższą procedurę. Taki sposób postępowania został zapisany jako algorytm 12.6.
702
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
funkcja równoważne (£1,£2) argumenty wejściowe: żi, £2 — testy, których równoważność ma być zweryfi kowana; zwraca: 1 jeśli t\ = £2 i 0 jeśli t\ ^ ti\ 1 powtarzaj 2 losów e-blądzenie; 3 ft:=0; 4 powtarzaj 5 Jfc:=fc+1; 6 rf :— zastosuj-test(t\)\ 7 aż nastąpi wyniki-powtarzalne(r\,r\,..., r£); 8 r := £ms(r{,rjv.. , r £ ) ; 9 r2 := zastosuj-test (tzY 10 jeśli r 2 7^ rf + 1 " r to 11 zwróć 0; 12 koniec jeśli 13 koniec powtarzaj 14 zwróć 1.
Algorytm 12.6. Weryfikacja równoważności testów Funkcja równoważne otrzymuje jako argumenty dwa testy, których równoważ ność ma być eksperymentalnie sprawdzona. Główna iteracja, powtarzana dosta tecznie dużą, lecz nieoznaczoną jawnie w przedstawionym algorytmie liczbę razy, rozpoczyna się od operacji losowego błądzenia, czyli wykonania losowego ciągu akcji, mającego na celu przeprowadzenie automatu docelowego do pewnego lo sowego stanu. Następnie wielokrotnie jest stosowany pierwszy test t\ i są zacho wywane uzyskiwane przy tym kolejno wyniki r j , r^,... aż do zaobserwowania ich okresowej powtarzalności. Powtarzalność ta oznacza, że dla pewnego i ^ 1 występuje równość r{ = r{~r dla każdego j = i,i + 1 , . . . , fc, przy czym k oznacza liczbę wykonań testu, a r > 0 jest okresem powtórzeń. Dzięki temu wia domo, że gdyby test £1 został wykonany po raz kolejny, zostałby uzyskany wynik r^ 4 4 — r\+1~T. Wobec tego zamiast testu t\ jest wykonywany test £2 i jego wy nik jest porównywany z wynikiem przewidzianym w ten sposób dla testu t\. Jeśli wyniki te są różne, natychmiast można stwierdzić, że t\ ^ ^2Uzyskanie zgodnych wyników dla porównywanych testów w każdej z dosta tecznie dużej liczby takich prób pozwala przyjąć, że są one z dużym prawdopo dobieństwem równoważne. Nie będziemy tu rozważać możliwości ewentualnego szacowania tego prawdopodobieństwa, ale z pewnością wymagałoby to przyję cia pewnej charakterystyki automatu docelowego, podobnej do czasu pokrycia. W każdym razie za brak zapytań o równoważność tak czy inaczej musimy za-
12.4. ZAGADNIENIA PRAKTYCZNE
703
płacić utratą gwarancji sukcesu uczenia się, a brak operacji zerowania powoduje znacznie zwiększony koszt eksperymentów, które w tym przypadku są konieczne do wykrywania równoważności. Równoważność testów a perspektywa lingwistyczna O ile algorytmy uczenia się automatów na podstawie eksperymentów, wykorzy stujące sekwencje sprowadzające, stanowiły adaptację technik opracowanych dla perspektywy lingwistycznej, o tyle algorytm równoważności testów w naturalny sposób jest formułowany dla perspektywy identyfikacji. Zgodnie jednak z wcze śniejszą dyskusją dotyczącą przenoszenia algorytmów między perspektywami nie ma przeszkód w jego zastosowaniu także do uczenia się języka docelowego, a ści ślej rzecz biorąc rozpoznawania napisów w tym języku3. Test polega wówczas na podaniu napisu do rozpoznania i sprawdzeniu wyniku, czyli sprowadza się do zapytania o przynależność, przy założeniu jednak, że automat docelowy nie jest zerowany. Mimo zasadniczej możliwości stosowanie algorytmu równoważności testów do uczenia się języka nie jest z reguły zasadne.
12.4 Zagadnienia praktyczne Spora część badan w zakresie uczenia się automatów należy raczej do teoretycz nego nurtu maszynowego uczenia się niż do interesującego nas najbardziej w tej książce nurtu systemowego. Badana jest więc w szczególności nauczalność i efek tywna nauczalność automatów przy różnych założeniach co do ich właściwości oraz dostępnej informacji trenującej, a proponowane algorytmy uczenia się są cza sem wprowadzane bardziej jako element wywodów teoretycznych niż podstawa do opracowania praktycznego systemu uczącego się. Mimo to problemy, do jakich przezwyciężenia zmierzają te algorytmy, mają na ogół duże znaczenie praktyczne i dotyczą możliwości bardziej skutecznego i efektywnego uczenia się „trudniej szych" automatów docelowych na podstawie „słabszej" informacji trenującej. 12.4,1
Niedeterminizm automatu docelowego
W niektórych zastosowaniach, zwłaszcza odpowiadających perspektywie identy fikacji, przyjmowane w tym rozdziale założenie o determinizmie automatu doce lowego nie jest spełnione. Należy się z tym liczyć przede wszystkim w zastosowa niach do modelowania rzeczywistych środowisk, zazwyczaj charakteryzujących się niepewnością. Należy przy tym rozróżnić dwie postaci niedeterminizmu, z ja kimi możemy mieć do czynienia. Pierwsza i łagodniejsza polega na niepewności 3
To rozróżnienie jest konsekwencją faktu, że wynikiem algorytmu jest nie tyle automat co umie jętność jego emulacji.
704
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
obserwacji: wyjścia automatu obserwowane przez przeprowadzającego ekspery menty ucznia mogą wówczas być niedeterministyczne. W tym samym stanie mo gą być obserwowane różne wyjścia. W praktyce będzie tak wtedy, kiedy w ob serwacjach wyjść występują przekłamania, wynikające w szczególności z niedo skonałości urządzeń, za pomocą których są odbierane, takich jak sensory robota. Druga i zdecydowanie ostrzejsza postać niedeterminizmu to niepewność przejść: wówczas zmiany stanów automatu docelowego mogą odbywać się w sposób sto chastyczny. Wykonanie tej samej akcji w tym samym stanie może powodować przejścia do różnych stanów. W praktyce sytuacja taka może wystąpić ze względu na niedoskonałość urządzeń odpowiedzialnych za fizyczne wykonywanie akcji, na przykład efektorów robota. Zależnie od rodzaju i stopnia niedeterminizmu automatu docelowego może być możliwe przybliżone uczenie się go za pomocą odpowiednio zmodyfikowa nych algorytmów dla automatów deterministycznych. Podstawowy pomysł polega na wielokrotnym powtarzaniu każdego eksperymentu w celu ustalenia jego najbar dziej prawdopodobnego wyniku. Jednak w ogólnym przypadku uczenie się auto matów niedeterministycznych wymaga znacznie bardziej złożonych algorytmów i wielokrotnie większych nakładów obliczeniowych. 12.4.2
Usprawnianie testowania równoważności
W pewnych szczególnych, lecz ważnych z praktycznego punktu widzenia przy padkach, przedstawioną wyżej metodę testowania równoważności testów można znacznie usprawnić. Jej nieefektywność wynika z konieczności wielokrotnego po wtarzania jednego z porównywanych testów w celu zaobserwowania okresowości jego wyników. Otóż takie wielokrotne powtarzanie nie jest konieczne w przypadku testów kompatybilnych. • DEFINICJA 12.15. Testy t\ — (ai,yi) / ¾ = («2,2/2) są kompatybilne, jeśli ct\ jest przedrostkiem a.2 lub 0L2 jest przedrostkiem a\. 0 Weźmy pod uwagę testy kompatybilne t\ — {ai,j/i) i £2 = {«21^/2), przy czym ct2 = ct\ • a. W celu zweryfikowania ich równoważności wystarczy najpierw wykonać ciąg akcji ot\ i porównać wyjście automatu z yi, a następnie wykonać ciąg akcji a i porównać wyjście automatu z y^ Ta prosta obserwacja umożliwia bezpośrednie i efektywne testowanie równo ważności testów kompatybilnych, lecz można ją także wykorzystać do uspraw nienia testowania równoważności innych testów, które kompatybilne nie są, lecz dla których równoważności koniecznym (a w niektórych typach środowisk na wet wystarczającym) warunkiem jest równoważność pewnych testów kompatybil nych, wyznaczonych na podstawie porównywanych testów oraz wcześniej zdo-
12.5. ZAGADNIENIA IMPLEMENTACYJNE
705
bytej wiedzy na temat równoważności. Jeśli rozważymy dwa niekompatybilne testy t\ = (ai,j/i) i t2 = {«2,2/2) takie, że dla pewnego ciągu akcji a test Ą — ( a « a i , ?/i) jest w świetle wcześniej zdobytej wiedzy równoważny z pewnym testem t kompatybilnym z testem Ą = (a • #2,2/2), to do równoważności testów t\ i £2 jest konieczne (a w pewnych środowiskach wystarcza), aby równoważne były testy t i t^. Te ostatnie testy jako kompatybilne są łatwe do porówania.
12.5 Zagadnienia implementacyjne O ile algorytmy uczenia się automatów zazwyczaj nie są całkiem oczywiste i ich dokładne zrozumienie wymaga pewnego wysiłku, o tyle dla programisty nie przed stawiają one większych trudności implementacyjnych. Ich podstawowe operacje sprowadzają się zazwyczaj do zadawania zapytań lub wykonywania eksperymen tów i zapamiętywania wyników. Wykorzystywane w tym celu struktury danych są także bardzo proste. W przypadku algorytmu L* i algorytmów pochodnych wyko rzystujących sekwencje sprowadzające jedyną strukturą danych jest tablica obser wacji. Z kolei w przypadku algorytmu równoważności testów są wykorzystywa ne zbiory, między którymi są przenoszone testy. Nie są to struktury wymagające szczególnie zaawansowanych technik, lecz skoro żadne inne zagadnienia imple mentacyjne nie zasługują na większą uwagę, poświęcimy im krótki komentarz.
12.5.1 Reprezentacja tablicy obserwacji Tablica obserwacji jest w zasadzie zwykłą tablicą dwuwymiarową, zawierającą jako swoje elementy symbole wyjściowe automatu docelowego albo po prostu 0 i 1 przy perspektywie lingwistycznej. Jej istotną cechą, która może wpłynąć na decyzję o maszynowej reprezentacji, jest fakt, że funkcję indeksów pełnią w niej napisy złożone z symboli alfabetu wejściowego, będące etykietami wierszy i ko lumn. Oczywiście wszystkie etykiety wierszy i kolumn można w pewien dowolnie ustalony sposób uporządkować (np. według kolejności ich dodawania do zbiorów S, S" i E), wyznaczając w ten sposób ich odwzorowanie na nieujemne liczby całkowite, które mogłyby nam potem posłużyć jako indeksy do tablicy. Niedogod ność związana z tym naturalnym podejściem polega na tym, że dostęp do elementu tablicy o danych etykietach, którego wymaga algorytm L*, musi być poprzedzo ny odnalezieniem tych etykiet w odpowiednich zbiorach w celu wyznaczenia ich numerów porządkowych. Alternatywne rozwiązanie, które dla odpowiednio dużych tablic (a więc dla dużych automatów docelowych) może mieć znaczną przewagę ze względu na efektywność, polegałoby na wykorzystaniu do reprezentacji tablicy automatu ta blicy z kodowaniem mieszającym. Taka tablica umożliwia używanie jako „indek sów" danych dowolnego ustalonego typu, a więc w szczególności także napisów,
706
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
przy jednocześnie bardzo krótkim czasie dostępu. Tablica obserwacji byłaby więc tablicą z kodowaniem mieszającym przechowującą wiersze, a etykiety wierszy pełniłyby dla niej funkcję indeksów. Kuszące wydaje się reprezentowanie wierszy jako podobnych tablic, zawierających tym razem właściwe elementy tablicy obser wacji i indeksowanych etykietami kolumn. To jednak mogłoby być posunięciem nieco zbyt pochopnym. Po pierwsze, zazwyczaj liczba kolumn w tablicy obserwa cji jest znacznie mniejsza od liczby wierszy, co podważa potrzebę takiej decyzji. Po drugie, algorytm L* przy konstruowaniu automatu na podstawie tablicy obser wacji wymaga dostępu do całych wierszy i ich porównywania, co najłatwiej może być zrealizowane przez ich bezpośrednią reprezentację za pomocą wektorów lub list.
12.5,2 Reprezentacja zbiorów testów O niektórych metodach maszynowej reprezentacji zbiorów mieliśmy już okazję mówić w rozdziale 4, kiedy chodziło o zbiory kompleksów. W tym przypadku może być w zasadzie wykorzystana dowolna metoda reprezentacji, nie ograni czająca z góry liczby możliwych elementów zbioru. Ponieważ jednak algorytm znajdowania testów kanonicznych i kwadratowych wymaga wybierania w każdej iteracji „najmniejszego" elementu ze zbioru roboczego, warto wybrać reprezenta cję umożliwiającą realizację tej operacji w sposób możliwie efektywny. Nie jest to bez znaczenia zważywszy na duży rozmiar, jaki może osiągać zbiór roboczy w trakcie działania algorytmu. Stąd szczególnie korzystne wydaje się użycie do re prezentacji zbiorów testów, a właściwie zbioru roboczego (dla dwóch pozostałych zbiorów nie ma to znaczenia), stogu — struktury danych zorganizowanej w spo sób umożliwiający wybór w stałym czasie pierwszego elementu zbioru według pewnej ustalonej relacji porządku oraz usuwanie i wstawianie nowych elementów w czasie logarytmicznym względem rozmiaru zbioru.
12.6 Podsumowanie S-* Uczenie się automatów jest szczególnym rodzajem uczenia się indukcyjnego, w którym zdobywana wiedza nie może być w efektywny sposób reprezentowa na za pomocą prostych odwzorowań z wejść na wyjścia, takich jak pojęcia lub funkcje. W szczególności może to być wiedza dotycząca rozpoznawania po prawnych napisów pewnego języka formalnego lub przewidywania przyszłych zachowań nieznanego systemu na podstawie obserwacji jego historii. S-> Automat skończony jest definiowany przez podanie skończonego zbioru sta nów i symboli wejściowych, funkcji przejść oraz stanu początkowego i zbioru stanów końcowych. Funkcja przejść określa sposób zmiany stanów pod wpły wem symboli wejściowych.
12.6. PODSUMOWANIE
707
9-> Sformułowanie zadania uczenia się automatów oraz skala jego trudności zale ży od dostępnej informacji trenującej. Może ona obejmować zapytania o przy należność, zapytania o równoważność oraz eksperymenty. Zapytania o przyna leżność mogą być traktowane jako eksperymenty z zerowaniem, czyli sprowa dzaniem każdorazowo automatu do stanu początkowego, chociaż w zadaniach identyfikacji operacja taka zazwyczaj nie jest dostępna. CH Dokładne i pewne uczenie się automatu docelowego możliwe jest tylko pod warunkiem dostępności zapytań o przynależność i o równoważność. Może być wówczas wykorzystany algorytm L*, który swoją hipotezę reprezentuje za po mocą tablicy obserwacji o wierszach i kolumnach etykietowanych pewnymi napisami. Wiersze reprezentują stany automatu-hipotezy, a kolumny wykony wane na nim eksperymenty. Zawartość tablicy wypełnia się na podstawie wy ników zapytań o przynależność. S-» Algorytm L* dąży do uzyskania tablicy spójnej i domkniętej. Pierwszy wa runek oznacza, że dowolne dwa stany, na których rozróżnienie nie pozwalają uwzględnione w tablicy eksperymenty, nie mogą być także rozróżnione przez eksperymenty wydłużone o jeden symbol wejściowy. Drugi warunek oznacza, że wydłużenie dowolnego eksperymentu nie prowadzi do znalezienia żadnego nowego stanu. S-> Tablica spójna i domknięta może być przekształcona w automat, dla którego jest zadawane zapytanie o równoważność. Wynik pozytywny kończy działanie algorytmu L*, a wynik negatywny powoduje odpowiednie rozszerzenie tablicy. S-* Jest możliwe zmodyfikowanie algorytmu L*, eliminujące konieczność używa nia zapytań o równoważność przy zachowaniu gwarancji sukcesu z dowolnie dużym prawdopodobieństwem przez odpowiednie zainicjowanie zbioru ety kiet wierszy tablicy obserwacji za pomocą przedrostków dostatecznie długiego napisu losowego. S-> Jeśli zamiast zapytań o przynależność są dostępne wyłącznie eksperymenty bez operacji zerowania, to jako jej substytut można wykorzystać sekwencje sprowadzające. Sekwencja sprowadzająca jest takim ciągiem akcji, że obser wowany podczas jej wykonywania ciąg wyjść jednoznacznie identyfikuje stan, do jakiego jej wykonanie przeprowadzi automat docelowy. <*-> Uczenie się wyłącznie na podstawie eksperymentów, bez zapytań o równoważ ność i bez operacji zerowania, jest możliwe przez eksperymentalne wyznacza nie klas równoważności testów, które są szczególnym rodzajem eksperymen tów, polegających na wykonaniu ciągu akcji i obserwowaniu wyjścia. Testy równoważne dają identyczne wyniki dla wszystkich stanów. Emulacja środo wiska docelowego jest możliwa na podstawie znajomości testów kanonicz nych, czyli pierwszych leksykograficznie testów każdej klasy równoważności, oraz rozszerzających je o jeden symbol testów kwadratowych.
708
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
9-> Algorytm wyznaczania zbiorów testów kanonicznych i kwadratowych wyko rzystuje operację weryfikacji równoważności pary testów, która ma zasadnicze znaczenie zarówno dla jakości jego efektów, jak i dla kosztu ich uzyskania. Weryfikacja równoważności może być przeprowadzona tylko w przybliżony sposób heurystyczny, w najprostszym przypadku polegający na wykrywaniu okresowości wyników testów i wykorzystywania zaobserwowanych powtó rzeń ciągów wyjść do przewidywania wyników testów bez faktycznego ich wykonywania.
12.7 Uwagi historyczne i bibliograficzne Indukcja automatów skończonych jest dość specyficznym rodzajem maszynowe go uczenia się ze względu na rodzaj pozyskiwanej wiedzy. Zainteresowanie nią nie jest tak szerokie jak metodami indukcyjnego uczenia się pojęć lub aproksymacji funkcji. Wynika to z faktu, że maszyna abstrakcyjna, jaką jest automat skończony, jest modelem przydatnym praktycznie w specyficznych i w związku z tym sto sunkowo wąskich zastosowaniach. Obie dziedziny zastosowań, jakie wchodzą tu w grę, zostały wskazane w tym rozdziale — odpowiadają one perspektywie lin gwistycznej i perspektywie identyfikacji, jakie przyjęliśmy przedstawiając odpo wiednie wersje zadania uczenia się automatów oraz stosowane dla nich algorytmy. Obie perspektywy występują także w literaturze tej dziedziny, której podstawowe publikacje polecamy tu czytelnikowi jako lekturę uzupełniającą jej niezbyt kom pletny przegląd przedstawiony w tym rozdziale. Są to w większości prace dość nowe, gdyż poważniejsze zainteresowanie uczeniem się automatów daje się za uważyć u schyłku lat osiemdziesiątych — z tego okresu pochodzą podstawowe algorytmy, jakimi się tu zajmowaliśmy. Lata dziewięćdziesiąte są okresem inten sywnych badań nad przezwyciężeniem szeregu ograniczeń tych elementarnych al gorytmów, tak aby były możliwe ich realne zastosowania praktyczne. Podstawowe informacje o automatach skończonych i ich związku z językami regularnymi można znaleźć w większości podręczników dotyczących lingwistyki formalnej. Warto sięgnąć w szczególności do odpowiednich fragmentów klasycz nej książki Hopcrofta i Ullmana [102]. Odpowiednie informacje wprowadzają ce są dostępne także w literaturze poświęconej metodom maszynowej translacji, w szczególności w książkach Griesa [94] oraz Waite'a i Goosa [272]. O automa tach skończonych z nieco innego punktu widzenia (bliższego perspektywie iden tyfikacji) mówi się także w literaturze poświęconej układom logicznym, gdzie sta nowią one formalny model układów sekwencyjnych. Dobrym źródłem informacji na ten temat jest podręcznik Traczyka [265]. Podstawowe teoretyczne właściwości automatów skończonych, które są wykorzystywane w badaniach nad ich uczeniem się, można znaleźć w książce Kohaviego [120].
12.7. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
709
Trudny do przecenienia jest wkład w badania nad uczeniem się automatów wniesiony przez Dane Angluin, twórczynię w szczególności algorytmu L*, które go rola w kształtowaniu późniejszych prac jest bardzo duża. Algorytm ten został opisany w artykule [6]. Jest mu także poświęcona praca [5], zajmująca się analizą liczby zapytań niezbędnej do nauczenia się automatu docelowego. Wykazano tam, że bez dostępu do zapytania o równoważność zadanie dokładnego uczenia się au tomatów jest trudne. Z kolei w artykule [7] wykazana została trudność dokładnego uczenia się wyłącznie na podstawie zapytań o równoważność, bez dostępu do za pytań o przynależność. Artykuł Angluin i Smitha [8] stanowi przegląd podstawo wych zagadnień związanych z indukcją automatów skończonych i z tego względu jest szczególnie godny polecenia. Koncepcję wykorzystania sekwencji sprowadzających do zastąpienia operacji zerowania automatu docelowego, jeśli nie jest ona dostępna, przedstawili Rivest i Schapire [221]. Ich algorytm uczenia się ze znaną sekwencją sprowadzającą za kładał wykorzystywanie zapytań o równoważność. Wersja tego algorytmu uczenia się nie korzystająca z tych zapytań przedstawiona w tym rozdziale pochodzi z arty kułu Ron i Rubinfelda [225], podobnie jak nie wymagająca zapytań o równoważ ność wersja algorytmu L*, polegająca na odpowiednim zainicjowaniu zbioru ety kiet wierszy tablicy obserwacji. Tam także można znaleźć dowód twierdzenia 12.2, stanowiącego jego podstawę teoretyczną, oraz algorytm uczenia się z nieznaną se kwencją sprowadzającą i teoretyczne uzasadnienie jego właściwości. W tym sa mym artykule są rozważane pominięte przez nas uogólnienia tych algorytmów, uwzględniające przekłamania obserwowanych wyjść, czyli umożliwiające uczenie się na podstawie zaszumionych obserwacji. W swoim innym artykule [224] ci sami autorzy przedstawiają pokrewne techniki. Freund i inni [82] rozszerzają je dodat kowo, umożliwiając uczenie się dowolnych automatów z niedeterministycznymi wyjściami. Zagadnieniem uczenia się automatów na podstawie zaszumionych da nych trenujących zajmował się Sakakibara [234]. Li i Vazirani [132] dyskutują zagadnienia nauczalności automatów skończonych w ujęciu zbliżonym do modelu PAC. Algorytm testowania równoważności opracowany przez Rivesta i Schapire'a podany został za artykułem [220]. Z niego pochodzi także używane w przykładach środowisko planety Małego Księcia. Więcej szczegółów na temat tego algorytmu oraz pewne rezultaty teoretyczne dotyczące jego skuteczności i efektywności po dają ci sami autorzy w pracy [219]. Rozwinięcie algorytmów indukcji automatów skończonych i teoretyczną ana lizę możliwości ich zastosowania do uczenia się mapy środowiska robota można znaleźć w artykule Deana i innych [62].
710
ROZDZIAŁ 12. UCZENIE SIĘ AUTOMATÓW
12.8 Ćwiczenia Ćwiczenie 12.1. Podaj, jeśli istnieją, automaty skończone rozpoznające następujące ję zyki: 1) zbiór dowolnych napisów zbudowanych z symboli (,) oraz a, w których nawiasy są poprawnie zbilansowane, ale nie są zagnieżdżone, 2) zbiór dowolnych napisów zbudowanych z symboli (,) oraz a, w których nawiasy są poprawnie zbilansowane, 3) zbiór dowolnych napisów zbudowanych z symboli ( , ) , [ , ] oraz a, w których nawiasy każdego rodzaju są poprawnie zbilansowane, ale nie występują zagnież dżenia nawiasów tego samego rodzaju, 4) zbiór poprawnych wyrażeń arytmetycznych zbudowanych z symboli a, 6, +, —, ( oraz). Dla języków, dla których nie istnieją rozpoznające je języki, podaj przyczyny tego stanu rzeczy. Ćwiczenie 12.2. Podaj automat opisujący środowisko robota złożone z dwóch prosto kątnych pokoi połączonych korytarzem:
Przyjmij, że robot może wykonywać następujące akcje: 1) ruch prosto wzdłuż ściany aż do napotkania drzwi lub ściany prostopadłej do kie runku ruchu (jeśli robot znajduje się przy ścianie lub przy drzwiach, akcja nie zmienia stanu), 2) przejście przez drzwi (jeśli robot nie znajduje się przy drzwiach, akcja nie zmienia stanu), 3) obrót o 90° w lewo, 4) obrót o 90° w prawo. W stanie początkowym robot znajduje się w lewym górnym rogu lewego pokoju zwró cony w stronę korytarza. Ćwiczenie 12.3. Prześledź działanie algorytmu L* zastosowanego do uczenia się języka docelowego z przykładu 12.1. Ćwiczenie 12.4. Prześledź działanie algorytmu L* zastosowanego do uczenia się języka docelowego, do którego należą wszystkie poprawne literały zmiennopozycyjne w wy branym języku programowania (np. w języku C). Ćwiczenie 12.5. Prześledź działanie algorytmu L* zastosowanego do uczenia się języ ków z ćwiczenia 12.1. W przypadku języków, dla których nie istnieją rozpoznające je automaty, śledzenie przerwij po pięciu negatywnych odpowiedziach na zapytania o równoważność.
12.8. ĆWICZENIA
711
Ćwiczenie 12.6. Udowodnij twierdzenie 12.1. Ćwiczenie 12.7. Podaj minimalny automat skończony modelujący środowisko planety Małego Księcia. Ćwiczenie 12.8. Udowodnij twierdzenie 12.3. Ćwiczenie 12.9. Podaj sekwencje sprowadzające dla automatów przedstawionych w przykładach 12.3 i 12.4. Ćwiczenie 12.10. Udowodnij twierdzenie 12.4. Ćwiczenie 12.11. Udowodnij twierdzenie 12.5. Ćwiczenie 12.12. Udowodnij twierdzenie 12.6. Ćwiczenie 12.13. Zastosuj algorytm równoważności testów do znalezienia zbiorów te stów kanonicznych i kwadratowych dla środowiska z ćwiczenia 12.2. Operację spraw dzania równoważności testów uznaj za daną. Ćwiczenie 12.14. Zastosuj udostępnioną implementację algorytmu L* do uczenia się języka, do którego należą wszystkie poprawne (np. zgodnie ze składnią języków pro gramowania Pascal lub C) wyrażenia arytmetyczne złożone z symboli a, 6, +, —, *, /, ( oraz ). Na podstawie poczynionych obserwacji rozważ możliwość wprowadzenia do algorytmu mechanizmu wykrywania sytuacji, kiedy nie istnieje automat reprezen tujący język docelowy. Ćwiczenie 12.15. Zmodyfikuj udostępnioną implementację algorytmu L*, umożliwia jąc uczenie się bez dostępu do zapytań o równoważność. Ćwiczenie 12.16. Zaimplementuj algorytm uczenia się automatów ze znaną sekwen cją sprowadzającą, ewentualnie wykorzystując udostępnioną implementację algoryt mu L*. Ćwiczenie 12.17. Zaimplementuj algorytm równoważności testów.
Rozdział 1 3
Uczenie się ze wzmocnieniem Money, get away, Get a good job with good pay and you 're okay1 Maszyna posiadała jednak samoprogramowanie oraz specjalny obwód wzmocnienia ambicjonalnego z bezpiecznikami na sześć kiloamperów (... J2.
Po raz kolejny istotnie zmieniamy w tym rozdziale rozważany paradygmat ucze nia się, tym razem biorąc pod uwagę uczenie się celowego zachowania na pod stawie dynamicznych interakcji ze środowiskiem. Interakcje te przybierają postać obserwowania przez ucznia stanów środowiska, wykonywania akcji i obserwowa nia oceniających efekty tych akcji rzeczywistoliczbowych nagród, nazywanych też wartościami wzmocnienia. Zadaniem ucznia jest znalezienie strategii wybierania akcji, która prowadzi do długoterminowej maksymalizacji nagród. W ten abstrak cyjny schemat dobrze wpisuje się wiele praktycznych zadań z dziedziny automa tycznego sterowania, gier, rozwiązywania problemów czy optymalizacji kombinatorycznej. Po nieformalnym przedstawieniu paradygmatu uczenia się ze wzmoc nieniem zajmiemy się jego podstawami teoretycznymi, związanymi z formalnym modelem problemów decyzyjnych Markowa i metodami programowania dyna micznego. Metody te umożliwiają znalezienie strategii optymalnej dla znanych środowisk, czyli takich, w których dla dowolnego stanu i akcji można przewidzieć wartość nagrody i następny stan. Uczenie się ze wzmocnieniem nie zakłada jednak znajomości środowiska, a konstruowanie strategii odbywa się, w podstawowym przypadku, wyłącznie na podstawie bezpośrednich interakcji z nim. Dominujące podejście do tego problemu polega na wykorzystaniu algorytmów opartych na ro dzinie metod różnic czasowych TD(A), które omówimy najpierw w prostszej wer sji TD(0), a następnie w wersji z A > 0 pozwalającej na uzyskanie przyspieszenia zbieżności procesu uczenia się. Przedyskutujemy także istotne dla skuteczności tych algorytmów problemy eksploracji środowiska oraz generalizacji, do realiza cji której wykorzystuje się uczące się aproksymatory funkcji. Zostanie wreszcie naszkicowana obiecująca koncepcja zastosowania uczenia się ze wzmocnieniem do rozwiązywania problemów. 1 2
Money (Pink Floyd: Dark Side ofthe Mooń), Wyprawa pierwsza A, czyli Elektrybałt Trurla.
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
713
13,1 Zadanie uczenia się ze wzmocnieniem Zajmując się uczeniem się ze wzmocnieniem odchodzimy szczególnie daleko od dotychczas rozważanych przez nas rodzajów uczenia się. Od kiedy zamknęliśmy pierwszą część książki poświęconą indukcyjnemu uczeniu się pojęć, kolejne roz działy prowadziły nas w różnych innych kierunkach. Porzucaliśmy bądź to in dukcyjny mechanizm wnioskowania, bądź zadanie pozyskiwania wiedzy w posta ci pojęć. Tym razem dystans, jaki pokonujemy, jest największy z dotychczaso wych. Uczenie się ze wzmocnieniem, którym na kolejnych kilkudziesięciu stro nach będziemy się zajmować, nie ma charakteru indukcyjnego, a więc nie polega na generalizacji dużej liczby przykładów trenujących, nie jest to także żaden in ny rodzaj uczenia się pojęć ani w ogóle żadnej wiedzy deklaratywnej, wreszcie nie jest to w ogóle uczenie się z nadzorem, w którym źródłem informacji tre nującej jest nauczyciel. Uczenie się ze wzmocnieniem ma na celu automatyczne pozyskanie wiedzy proceduralnej, czyli umiejętności, z czym do tej pory zetknę liśmy się tylko raz na krótko przy okazji uczenia się rozwiązywania problemów przez wyjaśnianie. Tym razem jednak pozyskiwanie i doskonalenie umiejętności nie wymaga posiadania kompletnej i poprawnej teorii dziedziny, lecz opiera się na bezpośredniej interakcji ze środowiskiem, w którym umiejętność ta ma być stoso wana do osiągania pewnych celów, postawionych systemowi uczącemu się przez projektanta. W związku z tym uczenie się ze wzmocnieniem może być zwięźle scharakteryzowane jako algorytmiczne podejście do zadania uczenia się celowego zachowania przez inteligentnego agenta na podstawie dynamicznych interakcji ze środowiskiem, na ogół nie znanym mu wcześniej i często niedeterministycznym, a niekiedy także niestacjonarnym, czyli podlegającym zmianom w miarę upływu czasu. Źródło informacji trenującej, która ma charakter wartościujący (oceniający) jakość działania ucznia, a nie instruujący go, w jaki sposób ma działać, może być w tym przypadku określone raczej jako krytyk niż nauczyciel. 13.1.1
Uczenie się z wartościującym sprzężeniem zwrotnym
Nieco trywializując, uczenie się ze wzmocnieniem można określić jako uczenie się na podstawie prób i błędów. System, który ma działać w pewnym środowisku i zachowywać się w pewien pożądany sposób, próbuje realizować swoje zadanie, lecz nie mając wcześniejszej wiedzy o jego charakterze ani o właściwym sposobie jego wykonania, nieuchronnie popełnia błędy. Wartościująca informacja trenująca pełni funkcję sygnału sprzężenia zwrotnego, który dostarcza uczniowi informacji o tym, jak dobre lub złe jest jego działanie. Podstawowa koncepcja jest niezwykle prosta: system uczący dowiadując się, jak jego zachowanie jest oceniane, może starać się zmodyfikować je tak, aby zostało ocenione lepiej, a więc aby było bliższe osiągnięcia postawionych przed nim celów.
714
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
akcja
Uczeń
nagroda
l stan
Środowisko Rys. 13.1. System uczący się ze wzmocnieniem i jego środowisko Sytuację ucznia odbywającego interakcje ze środowiskiem ilustruje rys. 13.1. Są na nim zaznaczone informacje wymieniane między sobą przez te dwa systemy. Szczegółowy mechanizm tej wymiany jest określony przez scenariusz uczenia się ze wzmocnieniem. Sposób generowania tych informacji, które środowisko przeka zuje uczniowi, określają pewne założenia, jakie się na jego temat przyjmuje. Z ko lei sposób, w jaki uczeń ma na te informacje reagować, zależy od postawionego przed nim celu. Wszystkie te elementy łącznie składają się na opis paradygma tu uczenia się ze wzmocnieniem, który wyżej naszkicowaliśmy nieformalnie, a do którego uściślenia obecnie przejdziemy, po rozpatrzeniu prostych przykładów roz wijających leżące u jego podstaw intuicje. Przykład 13.1 (Ruchomy robot). Prostym (koncepcyjnie, niekoniecznie w prak tycznej realizacji) przykładem systemu uczącego się na podstawie wartościującego sprzężenia zwrotnego może być oprogramowanie sterujące ruchomym robotem. Jego zadanie może polegać na obserwowaniu odczytów sensorów robota i odpowiednim uruchamianiu napędzających go silników w taki sposób, aby poruszał się w pomiesz czeniu, w którym się znajduje, nie zderzając się z żadnymi przeszkodami ani ludźmi. Sprzężenie zwrotne może polegać wówczas na dostarczeniu systemowi negatywnej oceny jego działania, jeśli wystąpi takie zderzenie. Inny rodzaj zachowania, jakiego możemy wymagać od robota, to przechodzenie przez drzwi lub poruszanie się wzdłuż korytarza. Wtedy sprzężenie zwrotne przyjmie postać pozytywnej oceny jego dzia łania, jeśli bezkolizyjnie zostanie osiągnięte położenie docelowe, po drugiej stronie drzwi lub na drugim końcu korytarza. System uczący się ma nauczyć się reagowania na wskazania sensorów robota w sposób zapewniający osiąganie tych celów. Funkcję środowiska pełni w tym przypadku pomieszczenie lub zespół połączonych korytarza mi i drzwiami pomieszczeń, w których robot może się poruszać. Również źródło infor macji trenującej oceniającej zachowanie robota zaliczymy do środowiska. W praktyce może to być obserwujący jego działanie eksperymentator lub wbudowany w system sterowania robotem moduł samooceny, wykrywający kolizje i przekazujący modułowi uczącemu się odpowiednie sprzężenie zwrotne. Przykład 13.2 (Gra planszowa). Dość naturalną sytuacją, kiedy uczenie się mo że następować na podstawie wartościującego sprzężenia zwrotnego, jest gra w grę planszową, w której system uczący się jest jednym z graczy. Obserwując aktualną sy-
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
715
tuację na planszy ma on wybrać i wykonać ruch. Sprzężenie zwrotne stanowi wynik partii gry, zazwyczaj przegrana, wygrana lub remis. Celem jest oczywiście nauczenie się zasad wybierania ruchów w sposób zwiększający szanse wygranej. Na środowisko ucznia składa się w tym przypadku plansza rozgrywanej partii oraz jego przeciwnik. O zmianach sytuacji na planszy oraz wyniku partii decydują wykonywane przez obu graczy ruchy oraz obowiązujące ustalone reguły gry. 13.1.2
Scenariusz
U podstaw uczenia się ze wzmocnieniem leżą dynamiczne interakcje ucznia ze śro dowiskiem, w którym działa realizując swoje zadanie. Interakcje te odbywają się na ogół w dyskretnych jednostkach czasu, które będziemy nazywać krokami, i po legają na obserwowaniu przez ucznia kolejnych stanów środowiska oraz wykony waniu akcji wybranych zgodnie z jego obecną strategią decyzyjną. Wyróżnienia tych i niektórych dalszych terminów zwracają uwagę na ich klu czowe znaczenie w języku, którym mówi się o uczeniu się ze wzmocnieniem — w istocie będą one w tym rozdziale odmieniane wielokrotne przez różne formy gramatyczne. Po wykonaniu akcji uczeń otrzymuje rzeczywistoliczbowe wartości nagrody lub inaczej wzmocnienia, które stanowią pewną miarę oceny jakości jego działania. Wykonanie akcji może również powodować zmianę stanu środowiska. Uczenie się polega na modyfikacji strategii wykorzystywanej do wybierania ak cji na podstawie obserwowanych sekwencji stanów, akcji i nagród. Naszkicowany scenariusz jest sprecyzowany jako algorytm 13.1. Ma on postać ogólnego, abs trakcyjnego algorytmu uczenia się ze wzmocnieniem. Większość znanych prak tycznych algorytmów można przedstawić jako jego mniej lub bardziej zaawanso wane konkretyzacje, dotyczące przede wszystkim jego ostatniego kroku, w którym aktualne doświadczenie, mające postać czwórki złożonej ze stanu, akcji, nagrody i następnego stanu, jest wykorzystywane do przeprowadzenia zmiany wewnątrz ucznia, nazywanej uczeniem się. i: dla wszystkich kroków czasu t wykonaj 2: obserwuj aktualny stan xt\ 3: wybierz akcję at do wykonania w stanie xt\ 4: wykonaj akcję af, 5: obserwuj wzmocnienie rt i następny stan xt+\\ 6: ucz się na podstawie doświadczenia (xt, a^rt, xt+i). 7: koniec dla Algorytm 13.1. Scenariusz uczenia się ze wzmocnieniem Algorytm 13.1 wprowadza także konwencje notacyjne do oznaczania stanów, akcji i nagród w kolejnych krokach czasu, które będziemy dalej stosować. W kro ku t przez xt oznaczamy aktualny stan środowiska, obserowany przez ucznia. Jest
716
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
on od niego niezależny, w przeciwieństwie do akcji au którą autonomicznie wy biera on dla tego stanu, biorąc pod uwagę własną strategię decyzyjną. Po wyko naniu akcji uczeń obserwuje dwojakiego rodzaju konsekwencje: wzmocnienie r f , o którym możemy w skrócie i w uproszczeniu powiedzieć, że jest nagrodą „za wykonanie akcji at w stanie xt'\ oraz następny stan xt+i, jaki ustalił się w środo wisku po wykonaniu przez ucznia akcji at w stanie xt. Czwórka (xt, at, rt, xt+i) jest doświadczeniem ucznia z kroku t. 13.1.3
Środowisko
Środowisko uczenia się ze wzmocnieniem zasługuje na nieco szerszy komentarz. Jego matematyczny model, potrzebny do analizy teoretycznej, będzie przedsta wiony później i oczywiście rozwieje wszelkie niejasności. Już teraz jednak warto zwrócić uwagę na niektóre właściwości środowiska, mające decydujące znacze nie z jednej strony dla stopnia trudności zadania uczenia się ze wzmocnieniem, a z drugiej strony dla jego zakresu stosowania w praktyce. Zarówno z teoretycz nego, jak i praktycznego punktu widzenia istotne jest, po pierwsze, że w uczeniu się ze wzmocnieniem dopuszcza się niepewność środowiska i jego nieznajomość przez ucznia. Pierwsza właściwość oznacza, że mechanizmy, zgodnie z którymi są generowane, pod wpływem wykonywanych akcji, wzmocnienia i zmiany stanów, mogą być stochastyczne. Wielokrotne wykonanie tej samej akcji w tym samym stanie może więc skutkować otrzymaniem przez ucznia różnych nagród i przej ściami do różnych stanów. Druga właściwość oznacza, że leżące u podstaw tych stochastycznych mechanizmów rozkłady prawdopodobieństwa mogą nie być zna ne uczniowi. Celowo mówimy tu „mogą nie być znane" zamiast „nie są znane", gdyż wiedza o środowisku, jeśli jest dostępna, może być przez odpowiednie algo rytmy uczenia się ze wzmocnieniem wykorzystana, nigdy jednak jej dostępność nie jest koniecznym warunkiem ich stosowania. Ponadto przyjmujemy, że środo wisko, być może niepewne i nieznane, jest przez ucznia niekontrolowalne. Ozna cza to, że uczeń nie ma żadnego wpływu na rządzące środowiskiem mechanizmy, czyli decydujące o generowaniu nagród i zmianach stanów rozkłady prawdopo dobieństwa, a więc nie może ich zmieniać. Na ogół są one ustaloną właściwością świata zewnętrznego, w którym systemowi uczącemu się przyszło działać, a je śli nawet podlegają zmianom, co niekiedy się dopuszcza, również charakter tych zmian jest właściwością środowiska nie poddaną wpływowi ucznia. Założenie o niekontrolowalności środowiska ma decydujące znaczenie dla wy tyczenia granicy między uczniem a środowiskiem, która bez niego w niektórych sytuacjach mogłaby się wydawać nieco arbitralna. Otóż elementem składowym systemu uczącego się jest wszystko to, na co ma on bezpośredni wpływ, czyli jego własne mechanizmy działania, przede wszystkim strategia wybierania akcji i spo sób wykorzystywania doświadczeń do jej doskonalenia. Częścią środowiska jest
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
717
wszystko to, co wpływowi ucznia nie jest poddane. Taki punkt widzenia prowadzi do przedstawienia uczenia się ze wzmocnieniem jako procesu interakcji zacho dzących między dwoma systemami, z których jeden jest uczniem, a drugi środo wiskiem. Oznacza to przyjęcie, że środowisko decyduje nie tylko o zmieniających się stanach, lecz również o nagrodach otrzymywanych przez ucznia. Jeśli źródło oceniającej informacji trenującej nazwiemy, dla odróżnienia od nauczyciela, kry tykiem, to krytyk ten, jako nie poddany wpływowi ucznia, jest częścią środowiska. W istocie takie milczące założenie było obecne w naszej dyskusji już od pewnego czasu. Aby uniknąć niejasności, trzeba podkreślić, że ma ono z gruntu raczej filo zoficzny niż techniczny charakter. Stwarza ono wygodny model pojęciowy, który niekoniecznie musi mieć bezpośrednie odzwierciedlenie w architekturze sprzętu lub oprogramowania, za pomocą którego uczenie się ze wzmocnieniem jest reali zowane w eksperymentach badawczych lub w praktycznych zastosowaniach, kie dy mechanizm generujący nagrody określa projektant systemu, formułując w ten sposób swoje oczekiwania w stosunku do jego działania. Może się wówczas czę sto zdarzyć, że krytyk będzie fizycznie raczej częścią ucznia niż środowiska, jako odpowiedni podprogram oceniający, czy też nawet jego rolę weźmie na siebie ob serwujący poczynania ucznia człowiek-eksperymentator. 13.1.4
Zadanie ucznia
Do tej pory nie pojawiła się w tej wprowadzającej dyskusji odpowiedź na pyta nie o to, czego właściwie oczekuje się od systemu uczącego się ze wzmocnieniem i jak mają się do tych oczekiwań dostarczane mu nagrody. Zadanie, jakie w środo wisku ma do wykonania uczeń, jest określone pośrednio wyłącznie przez wartości wzmocnienia. Jeśli określimy uczenie się ze wzmocnieniem jako uczenie się ce lowego zachowania, to jego cel może być przekazany przez projektanta uczniowi tylko za pomocą nagród. W najbardziej ogólnym przypadku możemy powiedzieć, że od ucznia ocze kuje się nauczenia się strategii wybierania akcji, której stosowanie prowadzi do maksymalizacji pewnego kryterium jakości zdefiniowanego za pomocą otrzymy wanych przez niego nagród. Rodzaj tego kryterium decyduje o konkretnym typie uczenia się ze wzmocnieniem. Najciekawszy i najczęściej rozważany jest przy padek, kiedy uczeń ma maksymalizować swoje nagrody długoterminowo. Wów czas dobra strategia niekoniecznie przynosi natychmiast wysokie nagrody, lecz jest opłacalna w dłuższym horyzoncie czasowym. Ten typ uczenia się ze wzmocnie niem wymaga uwzględnienia przez ucznia opóźnionych skutków wykonywanych przez niego akcji i w związku z tym jest określany mianem uczenia się z opóźnio nym wzmocnieniem lub uczenia się na podstawie opóźnionych nagród. Stosowane wówczas algorytmy uczenia się rozwiązują problem temporalnego przypisania za sługi, polegający na przypisaniu „zasługi" (bądź „winy") za długoterminowe do-
718
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
chody ucznia jego poszczególnym akcjom, być może wykonanym wiele kroków przed faktycznym uzyskaniem tych dochodów. Temu głównemu problemowi jest poświęcona większa część rozdziału. Uczenie się z opóźnionym wzmocnieniem można przeciwstawić uczeniu się z natychmiastowym wzmocnieniem, w którym system uczący się musi zabiegać tylko o maksymalizację nagród bezpośrednio na stępujących po wykonywanych przez niego akcjach i może pomijać opóźnione skutki tych akcji. Jeśli ograniczymy się do uczenia się z opóźnionym wzmocnieniem, a tak wła śnie zamierzamy postąpić, to dalej pozostaje możliwość różnych szczegółowych miar jakości działania, których maksymalizacji można żądać od systemu uczącego się. Zdecydowanie najczęściej przyjmuje się kryterium maksymalizacji oczekiwa nej zdyskontowanej sumy otrzymanych nagród. Zgodnie z nim uczeń rozpoczyna jący działalność w czasie 0 ma za zadanie maksymalizowanie wartości: E
5>S
(13.1)
t=Q
przy czym współczynnik dyskontowania 7 € [0,1] reguluje względną ważność krótkoterminowych i długoterminowych nagród. Jeśli 7 — 0, to występująca w po wyższym wyrażeniu suma redukuje się do pierwszego składnika ro, o ile przyj miemy 0° = 1. Oznacza to w istocie maksymalizację wyłącznie natychmiasto wych nagród. Jeśli z kolei 7 = 1, to dyskontowana suma zmienia się w zwykłą sumę wszystkich nagród, jakie kiedykolwiek otrzyma uczeń od momentu rozpo częcia działania. Wówczas wzmocnienia ze wszystkich kroków czasu są dla niego tak samo ważne. Pośrednie wartości współczynnika 7 umożliwiają interpolowa nie między tymi dwoma skrajnymi przypadkami i dobieranie w ten sposób stopnia „dalekowzroczoności" ucznia. Dyskontowanie jest jednym z najprostszych mecha nizmów realizacji zdroworozsądkowej zasady, zgodnie z którą nagrody są mniej atrakcyjne (a kary odpowiednio mniej odstraszające), jeśli mają być otrzymane w odległej przyszłości. Niemal w całości tego rozdziału ograniczymy się do kryterium jakości w po staci oczekiwanej zdyskontowanej sumy nagród. Uczenie się ze wzmocnieniem z wykorzystaniem tego kryterium jest nazywane dyskontowanym uczeniem się ze wzmocnieniem. Większość dotychczasowych rezultatów teoretycznych i ekspe rymentalnych uzyskano właśnie dla tego wariantu uczenia się ze wzmocnieniem. Stosunkowo niedawno zwrócono uwagę na inne kryteria jakości dla uczenia się na podstawie opóźnionych nagród, wskazując na ich pewne zalety. Na końcu roz działu zostanie wskazana literatura dotycząca uczenia się maksymalizacji średnich nagród. Dyskusja zadania stojącego przed systemem uczącym się ze wzmocnieniem stwarza dobrą okazję do wyjaśnienia samego terminu „wzmocnienie". Został on
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
719
zapożyczony przez sztuczną inteligencję z eksperymentalnej psychologii, zwłasz cza zaś z badań nad uczeniem się zwierząt, które stanowiły niewątpliwą inspira cję dla paradygmatu uczenia się maszyn, o którym mówimy, chociaż sam termin „uczenie się ze wzmocnieniem" nie jest używany przez psychologów. Według jed nej z najprostszych obserwacji czynionych w tych badaniach, jeśli w pewnej sy tuacji pewna reakcja prowadzi do zadowalającego stanu rzeczy albo do poprawy stanu rzeczy, to tendencja do odpowiadania tą reakcją na takie same lub podobne sytuacje zostaje wzmocniona. Wzmocnieniem dla uczącego się zwierzęcia może być na przykład porcja pożywienia lub porażenie elektryczne. Powyższa analogia sugeruje, że wartości wzmocnienia, które nazywamy także nagrodami, mogą być w pewnych sytuacjach traktowane raczej jako kary. Trzeba tu jednak przestrzec przed traktowaniem takich terminów w sposób zbyt dosłow ny. Nie ma żadnej ustalonej wartości progowej, powyżej której wzmocnienie staje się nagrodą i poniżej której jest karą. To, która interpretacja jest bardziej właściwa, jest względne i zależy od tego, jak duża jest wartość wzmocnienia w porównaniu z oczekiwaniami ukształtowanymi na podstawie przeciętnych wartości wcześniej otrzymywanych w tym samym stanie lub być może także w stanach podobnych. W stanach, w których są zazwyczaj otrzymywane duże wartości wzmocnienia, nie co mniejsza wartość może być interpretowana jako kara, wskazująca na „pogor szenie się stanu rzeczy", lecz w innych stanach nawet dużo mniejsza wartość może być uznana za nagrodę, wskazującą na poprawę jakości działania ucznia. W szcze gólności czysto techniczne i drugorzędne znaczenie ma fakt, czy wzmocnienia są dodatnie, czy ujemne. Znak nie jest w żadnym przypadku kryterium decydującym o tym, czy mamy do czynienia z nagrodą czy z karą. Aby nie wpaść w pułap kę pochopnych intuicyjnych wniosków opartych na terminologicznych skojarze niach, nie będziemy w ogóle posługiwać się terminem „kara", mówiąc wyłącznie o wzmocnieniach i nagrodach, bez względu na to, jakie są ich wartości. 13.1.5
Zadania epizodyczne
W równaniu (13.1) określającym kryterium jakości, którego maksymalizacji żą damy od ucznia, występuje nieskończona suma, uwzględniająca z wykładniczo malejącymi wagami wszystkie nagrody, jakie uzyskuje on w ciągu swej całej dzia łalności. O działaniu w nieskończoność możemy mówić tylko na gruncie analizy teoretycznej —jakakolwiek praktyczna implementacja prędzej czy później musi zakończyć działanie. Nie tylko jednak względy praktyczne skłaniają do rozwa żenia odmiany zadania uczenia się ze wzmocnieniem o skończonym horyzoncie czasowym. Ważną podklasą zadań uczenia się ze wzmocnieniem są zadania epizodyczne, w których interakcje ucznia ze środowiskiem są podzielone na serię niezależnych epizodów lub prób trwających skończoną, choć najczęściej nieznaną z góry liczbę
720
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
kroków. Niezależność polega na tym, że akcje wykonane w ramach każdej próby nie mają wpływu na nagrody otrzymywane w innych próbach — maksymalizacja kryterium jakości działania systemu musi następować w każdej próbie niezależnie. W przypadku zdyskontowanej sumy nagród oznacza to zastąpienie nieskończono ści w górnej granicy sumowania przez skończoną długość próby. Nie ma potrzeby zakładania czegokolwiek na temat liczby wykonywanych prób. Nie jest ona po trzebna do rozważań teoretycznych, a w praktyce zależy od uznania eksperymen tatora. Możemy dopuścić sytuację, w której odbywa się tylko jedna próba jako model nieepizodycznego zadania o skończonym horyzoncie czasowym. Znaczna część praktycznych zadań ma charakter epizodyczny, o czym wkrótce przekonają nas niektóre z zamieszczonych w tym rozdziale przykładów. W rozwa żaniach teoretycznych, których nieco również się pojawi, wygodne jest rozróżnie nie między zadaniami epizodycznymi i nieepizodycznymi pomijać tam, gdzie jest ono nieistotne, czyli w gruncie rzeczy niemal wszędzie. Nie zmniejszając ogólno ści rozważań, można się wówczas ograniczyć do brania pod uwagę zadań o nie skończonym horyzoncie czasowym dzięki prostemu formalnemu zabiegowi, który umożliwia dla każdej próby zadania skończonego skonstruowanie jego odpowied nika nieskończonego. Wystarczy w tym celu przyjąć, że w ostatnim kroku następu je przejście środowiska do specjalnego stanu absorbującego, czyli takiego, które go nie można już opuścić. Wykonanie dowolnej akcji powoduje zawsze pozostanie w tym samym stanie oraz przyznanie uczniowi nagrody 0. Łatwo się przekonać, że wówczas równanie (13.1) staje się równoważne ze swoim „obciętym" w czasie odpowiednikiem dla pojedynczej próby zadania epizodycznego: n-l
(13.2)
E i=0
przy czym n oznacza liczbę kroków próby. Gwoli pełnej ścisłości należałoby zresztą pisać raczej r^t zamiast ru oznaczając w ten sposób nagrodę otrzymaną w kroku t próby o numerze i. Tak daleko posunięta precyzja nie będzie nam po trzebna, gdyż nie będziemy nigdy rozważać więcej niż jednej próby jednocześnie. Przy prezentacji wyników teoretycznych i algorytmów będziemy zakładać zawsze nieskończone uczenie się, biorąc pod uwagę, że ich modyfikacja dla przypadku epizodycznego jest trywialna. Na marginesie tej dyskusji warto wspomnieć o przynajmniej dwóch szcze gólnych typach zadań epizodycznych, do których można zaklasyfikować znaczną część zadań występujących w praktycznych zastosowaniach uczenia się ze wzmoc nieniem. Nazwiemy je zadaniami typu do-sukcesu i do-porażki. O ich wyróżnieniu decyduje szczególnego rodzaju kryterium zakończenia próby, którym jest odnie sienie przez ucznia odpowiednio sukcesu albo porażki w wykonywanym zadaniu. Pierwsze pożądane jest jak najszybciej, a drugie należy jak najdłużej odwlekać.
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
721
Zadania do-sukcesu. W zadaniach typu do-sukcesu uczeń w ramach każdej pró by ma do osiągnięcia pewien cel, który z reguły może być sformułowany jako sprowadzenie środowiska do pewnego pożądanego stanu, czy też dowolnego sta nu spełniającego określone warunki. Osiągnięcie tego celu oznacza sukces, który kończy próbę, przy czym ze zrozumiałych względów pożądane jest osiągnięcie go jak najszybciej. W mocy pozostaje przy tym wcześniejsze stwierdzenie, że je dynym faktycznie realizowanym przez ucznia celem jest maksymalizacja przyję tego kryterium jakości, czyli najczęściej oczekiwanej zdyskontowanej sumy na gród. Oznacza to, że projektant musi zapewnić odpowiedni dobór mechanizmu wzmocnienia, tak aby maksymalizacja wybranej miary jakości pociągała za sobą osiągnięcie sukcesu w jak najmniejszej liczbie kroków. W najprostszym wariancie uczeń otrzymuje ustaloną wartość wzmocnienia r\ we wszystkich krokach poprze dzających osiągnięcie sukcesu i T2 ^ v\ w ostatnim kroku, po jego osiągnięciu. Należy przy tym zapewnić, że nierówność
Y, 7*ri + lnr2 > Y,llri t=o
+ 7n+V2
(13.3)
t=o
jest spełniona dla dowolnego n > 0, gdyż w przeciwnym przypadku systemowi uczącemu nie będzie się „opłacało" osiąganie sukcesu jak najszybciej. Przykład 13.3 (Górski samochód). Przykładem zadania typu do-sukcesu jest za danie górskiego samochodu, którego „kierowca" musi wjechać na szczyt stromego wzniesienia, lecz ze względu na zbyt słaby silnik nie może tego dokonać. Konieczne jest w związku z tym rozpędzenie samochodu przez być może wielokrotne cofanie na poprzednie wzniesienie i zjeżdżanie z niego w dół. Jest to realizowane przez stosowa nie w każdym kroku czasu stałego przyspieszenia do przodu, stałego przyspieszenia do tyłu lub brak przyspieszenia. Celem układu sterującego samochodem jest jak naj szybsze osiągnięcie szczytu wzniesienia. Ilustrację zadania górskiego samochodu przedstawia rys. 13.2. Stan w tym zada niu jest reprezentowany przez położenie samochodu x i jego prędkość, czyli pochod ną położenia względem czasu x. Możliwe do stosowania w każdym kroku akcje to przyspieszanie do przodu, przyspieszanie do tyłu i bieg jałowy. Za osiągnięcie poło żenia docelowego uczniowi kierującemu samochodem może być przyznana nagroda 0, a w każdym wcześniejszym kroku czasu — 1. Zadania do-porażki. W przypadku zadań typu do-porażki celem ucznia jest za pobieganie pewnej niepożądanej sytuacji, co najczęściej oznacza unikanie stanów środowiska o określonych niekorzystnych właściwościach. Osiągnięcie takiego niepożądanego stanu oznacza porażkę, która kończy próbę. Zależy nam na tym, aby system uczący się nauczył się strategii powodującej jak najdłuższe opóźnianie porażki. Jeśli przyjmiemy jak poprzednio, że uczeń dostaje nagrodę rj we wszyst kich krokach pośrednich i T2 ^ ri w kroku końcowym, to aby „opłacało" mu
722
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Rys. 13.2. Zadanie górskiego samochodu się odwlekać porażkę oznaczającą koniec próby, dla dowolnego n > 0 musi być spełniony warunek: n—1
n
E 7*1 + 7^2 < E 7^1 + 7 n + S .
(13.4)
Przykład 13.4 (Odwrócone wahadło). Przykładem zadania epizodycznego typu do-porażki jest zadanie odwróconego wahadła. Na wózku poruszającym się po ogra niczonym obustronnie prostoliniowym torze jest umieszczony pręt, który także może poruszać się wokół punktu umocowania w płaszczyźnie ruchu wózka. Do wózka może być w każdym kroku czasu przyłożona siła skierowana wzdłuż toru jego ruchu o stałej wartości i o jednym z dwóch przeciwnych zwrotów. Celem układu sterującego jest jak najdłuższe unikanie opadnięcia wahadła i uderzenia wózka o ograniczenie toru. Ilustrację zadania odwróconego wahadła przedstawia rys. 13,3. Zaznaczone zo stały na nim wychylenie wózka od środka toru x i wychylenie pręta od pionu 6. Te dwie wielkości oraz ich pochodne względem czasu x i 6, czyli odpowiednio prędkość liniowa wózka i kątowa wahadła, łącznie reprezentują stan w tym zadaniu. Akcja po lega na przyłożeniu siły o jednym z dwóch przeciwnych zwrotów. Wzmocnienie moż na określić jako równe - I w przypadku porażki i 0 w przeciwnym przypadku, przy czym przez porażkę rozumie się przekroczenie przez wychylenie wahadła 6 pewnej dopuszczalnej wartości progowej lub uderzenie wózka o ograniczenie toru (czyli prze kroczenie przez x pewnej wartości progowej). 13.1.6
Tryby uczenia się
W rozdziale 2, przygotowując się do prezentacji w kolejnych rozdziałach najważ niejszych algorytmów indukcyjnego uczenia się, wyróżniliśmy podstawowe tryby, w jakich mogą być one stosowane, wyznaczone ze względu na sposób dostarcza nia uczniowi i przetwarzania przykładów trenujących. W przypadku uczenia się ze wzmocnieniem możemy również mieć do czynienia z różnymi trybami ucze nia się. Tym razem podstawą do ich wyróżnienia jest sposób modyfikacji strategii
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
723
^¥- r X J Rys. 13,3. Zadanie odwróconego wahadła decyzyjnej ucznia, gdyż z istoty paradygmatu uczenia się ze wzmocnieniem wy nika, że informacja trenująca jest zawsze dostarczana tak samo, w postaci pewnej wartości wzmocnienia w każdym kroku czasu. Uwzględniając zatem nie to, kiedy uczeń otrzymuje nagrody, lecz raczej kiedy i jaki robi z nich użytek w celu zapew nienia poprawy własnej strategii, określa się trzy tryby uczenia się: inkrementacyjny, epokowy i wsadowy. Ich nazwy odpowiadają nazwom trybów definiowanych wcześniej dla indukcyjnego uczenia się nie przez przypadek, lecz ze względu na dość bezpośrednie analogie. Tryb inkrementacyjny. W inkrementacyjnym trybie uczenia się strategia decy zyjna ucznia może podlegać modyfikacji w każdym kroku czasu pod wpływem aktualnego doświadczenia: stanu, wykonanej akcji oraz jej konsekwencji w po staci nagrody i następnego stanu. Oznacza to, że strategia, zgodnie z którą są wybierane akcje, może się nieustannie zmieniać, dopóki nie zostanie osiągnięta zbieżność, czyli taka sytuacja, w której stosowany algorytm uczenia się na pod stawie kolejnych doświadczeń nie wprowadza już żadnych zmian do strategii. Ten tryb uczenia się może być stosowany równie dobrze w zadaniach nieskończonych, jak w epizodycznych. Jest on uważany za najbardziej użyteczny z praktycznego punktu widzenia, gdyż pozwala uczniowi reagować natychmiast na otrzymywa ne nagrody odpowiednią modyfikacją strategii, dzięki czemu, ponownie znajdując się we wcześniej odwiedzonym stanie, ma on szansę na podjęcie lepszej decyzji niż poprzednio. W zdecydowanej większości eksperymentów obliczeniowych oraz zastosowań praktycznych jest stosowane inkrementacyjne uczenie się. Tryb epokowy. Epokowy tryb uczenia się jest w naturalny sposób określony dla zadań epizodycznych i polega na odłożeniu modyfikacji strategii do czasu zakoń czenia próby. Obserwowane w jej trakcie doświadczenia, czyli ciąg stanów, akcji i nagród, są zachowywane bądź bezpośrednio, bądź w odpowiednio przetworzo nej postaci, lecz strategia ucznia pozostaje niezmieniona i dopiero po wykonaniu ostatniego kroku próby wykorzystuje się zapamiętane doświadczenia do dokona-
724
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
nia w niej zmian. Oznacza to, że w trakcie całej próby uczeń podejmuje decy zje w ten sam sposób —jeśli ponownie znajdzie się we wcześniej odwiedzonym już w tej próbie stanie, zachowa się tak samo jak poprzednio3. Takie odłożenie w czasie uwzględniania zdobywanych przez system uczący się doświadczeń może być niewskazane w niektórych rodzajach zastosowań, co ma wpływ na ogranicze nie wykorzystywania trybu epokowego tylko do pewnych szczególnych sytuacji, w których poprawa jakości działania systemu w trakcie próby nie jest kohieczna, a zależy nam tylko na osiągnięciu zadowalającej strategii po pewnej liczbie prób. Tryb wsadowy. Wsadowy tryb uczenia się ma znaczenie niemal wyłącznie teo retyczne. Zakłada się w nim, niezależnie od tego, czy jest stosowany w zadaniach epizodycznych czy nieskończonych, że modyfikacja strategii następuje jednorazo wo dopiero po całkowitym zakończeniu działania systemu, co w zadaniach prak tycznych musi prędzej czy później nastąpić. Zatem przez cały czas uczeń zbiera tylko obserwacje ze swoich interakcji ze środowiskiem i zapamiętuje je, być mo że w odpowiednio przetworzonej postaci, lecz nie czyni z nich żadnego użytku w celu poprawienia jakości swego działania. Trudno byłoby uznać system uczący się w ten sposób za przydatny praktycznie, chyba że przyjmiemy nienaturalne dla uczenia się ze wzmocnieniem założenie o oddzieleniu faz uczenia się strategii i jej stosowania w celu rozwiązywania postawionego przed systemem zadania. Jest to możliwe w pewnych bardzo specyficznych zastosowaniach, lecz na ogół tryb wsa dowy pozostaje tylko środkiem do uproszczenia teoretycznej analizy algorytmów uczenia się ze wzmocnieniem. W większej części rozdziału będziemy rozważać uczenie się ze wzmocnieniem w trybie inkrementacyjnym jako najbardziej uniwersalnym i praktycznie użytecz nym. Wszystkie algorytmy, jakie zostaną przedstawione dla tego trybu, mogą być także stosowane w trybach epokowym i wsadowym. Wystarczy w tym celu zwykłe opóźnienie w czasie dokonywanych przez nie modyfikacji. 13.1.7
Specyfika uczenia się ze wzmocnieniem
Jako podsumowanie powyższej wprowadzającej prezentacji paradygmatu uczenia się ze wzmocnieniem i ilustrujących go przykładów zbierzmy najistotniejsze ce chy, które odróżniają go od innych rodzajów maszynowego uczenia się i decydu ją o jego specyfice. Kryje się w nich także częściowe przynajmniej wyjaśnienie niewątpliwej atrakcyjności tego przez coraz większą liczbę naukowców uważa nego za interesujący teoretycznie i obiecujący praktycznie obszaru badań, której zawdzięcza swoją błyskotliwą w ostatnich latach karierę. 3
Jest to o tyle nieścisłe, że na ogół systemy uczące się ze wzmocnieniem posługują się strategiami stochastycznymi, więc faktycznie akcja wybrana przy powtórnej wizycie w stanie może być inna, choć strategia określająca rozkład prawdopodobieństwa wyboru akcji pozostaje taka sama.
13.1. ZADANIE UCZENIA SIĘ ZE WZMOCNIENIEM
725
• Informacja trenująca ma charakter wartościujący. Uczeń nie otrzymuje przy kładów określających pożądany sposób jego zachowania, lecz tylko zwrotną ocenę, na ile jego obecne zachowanie jest dobre. Nie dowiaduje się jednak na wet, czy jest ono już zadowalające, czy też możliwa jest dalsza poprawa. Na nim spoczywa obowiązek znalezienia jak najlepszej strategii ze względu na nagrody, jakie są mu przyznawane. • Informacja trenująca określa cel zadania, a nie sposób jego realizacji. System uczący się ma pełną dowolność w doborze strategii prowadzącej do osiągnię cia tego celu i nie musi, a nawet najczęściej nie powinien być ograniczany wy obrażeniami, jakie na temat odpowiedniej strategii może mieć jego projektant. Gdyby projektant posiadał dostateczną wiedzę do zaprojektowania strategii, uczenie się jej nie byłoby potrzebne. Jeśli wiedzy takiej nie posiada, powinien być ostrożny z „podpowiadaniem" uczniowi właściwej strategii za pomocą na gród (na przykład nagradzając osiągnięcie pewnych fragmentarycznych celów, które w jego ocenie są przydatne do osiągnięcia ostatecznego celu). Może to utrudnić uczniowi znalezienie strategii lepszej niż być może niedoskonała stra tegia sugerowana przez taką „podpowiedz". • Uczenie się następuje na podstawie prób i błędów. Ponieważ uczeń na począt ku interakcji ze środowiskiem, przed zebraniem dostatecznie wielu doświad czeń, może w zasadzie wybierać akcje zgodnie z arbitralną (a więc w szcze gólności również dowolnie złą) strategią, należy się spodziewać z jego strony wielu decyzji błędnych z punktu wiedzenia skutecznego osiągania stojącego przed nim celu. Co więcej, prawo do błądzenia jest uczniowi niezbędne do określenia właściwych decyzji, które musi być poprzedzone wypróbowaniem różnych możliwości. W przypadku środowisk związanych z niektórymi ro dzajami zastosowań praktycznych może to stanowić problem, gdyż czasem popełnianie błędów jest kosztowne. Z drugiej jednak strony, w środowiskach, w których błędy są w ogóle niedopuszczalne, nie można liczyć na zastosowa nie jakiegokolwiek rodzaju systemu uczącego się, gdyż popełnianie błędów jest nieuniknioną ceną płaconą za samodoskonalenie się. • Uczenie się wykonywania zadania i jego faktyczne wykonywanie odbywa się łącznie. Nie ma charakterystycznej dla większości innego rodzaju systemów uczących się oddzielenia fazy uczenia się przez system od fazy stosowania uzyskanej wiedzy lub umiejętności. Oczywiście można takie oddzielenie wpro wadzić sztucznie, wyłączając w pewnym momencie mechanizm aktualizowa nia przez ucznia jego strategii i pozwalając mu stosować „zamrożoną" stra tegię, jakiej zdołał się wcześniej nauczyć, lecz nie ma takiej potrzeby, a na wet często nie jest to wskazane. Zdolność systemu uczącego się do ciągłego doskonalenia jego strategii przez nieokreślony z góry czas może umożliwić dostosowywanie się do środowisk zmieniających się w czasie.
726
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
• Zadanie uczenia się ze wzmocnieniem jest z pewnego punktu widzenia ogól nym zadaniem sztucznej inteligencji w mikroskali. Jeśli uznamy za długo terminowy cel badań w ramach sztucznej inteligencji skonstruowanie syste mów zachowujących się racjonalnie, to paradygmat uczenia się ze wzmocnie niem prezentuje pewien prosty, lecz dostatecznie abstrakcyjny i uniwersalny (a z drugiej strony możliwy do skutecznej realizacji obliczeniowej) mecha nizm automatycznego nabywania umiejętności racjonalnego zachowania się przez system inteligentny. Szczególnie godna podkreślenia jest autonomia, ja ką otrzymuje on w tym paradygmacie, nieporównywalna chyba z żadnym in nym podejściem do konstruowania systemów inteligentnych.
13.2 Procesy decyzyjne Markowa Modelem matematycznym zadania uczenia się ze wzmocnieniem jest problem de cyzyjny Markowa. Jest to problem znalezienia optymalnej strategii decyzyjnej dla środowiska, którego z kolei modelem jest proces decyzyjny Markowa. Taki proces będziemy definiować dla naszych potrzeb przez podanie zbiorów stanów i akcji oraz funkcji wzmocnienia, określającej mechanizm generowania nagród, i funkcji przejść, określającej mechanizm zmian stanów. • DEFINICJA 13.1. Proces decyzyjny Markowa jest definiowany jako czwórka (X, A, g, S), przy czym: • X jest skończonym zbiorem stanów, • A jest skończonym zbiorem akcji, • g jest funkcją wzmocnienia, • 6 jest funkcją przejść stanów. 0 Definicja ta może przypominać definicję automatu skończonego z poprzednie go rozdziału. Istotnie, w niektórych szczególnych przypadkach procesy decyzyj ne Markowa mogą być modelowane przez automaty skończone, lecz w ogólnym przypadku nie jest to możliwe. Wynika to przede wszystkim z tego, że procesy Markowa są stochastyczne, rządzone przez pewne rozkłady prawdopodobieństwa, a ponadto wartości nagród nie muszą pochodzić ze skończonego zbioru, który można by utożsamić z alfabetem wyjściowym. • DEFINICJA 13.2. W procesie decyzyjnym Markowa (X, A, g, 5) dla każdej pa ry {x, a) E X x A wartość funkcji wzmocnienia Q(X, a) jest zmienną losową o wartościach rzeczywistych, oznaczającą nagrodę otrzymywaną po wykona niu akcji a w stanie x. 0
13.2. PROCESY DECYZYJNE MARKOWA
727
• DEFINICJA 13.3. Wprocesie decyzyjnym Markowa (X, A, £, S) dla każdej pa ry (#, a) € X x A wartość funkcji przejść 5(x, a) jest zmienną losową o war tościach ze zbioru X, oznaczającą następny stan po wykonaniu akcji a w sta nie x. 0 Wobec wprowadzonej wcześniej notacji powyższe definicje oznaczają, że w każdym kroku czasu t nagroda rt jest realizacją zmiennej losowej g{x^at), a stan xt+i jest realizacją zmiennej losowej 5(xt, at). Dla ułatwienia posługiwania się stochastycznymi funkcjami przejść i wzmocnienia wygodnie jest wprowadzić dodatkowe oznaczenia: R(x,a) - E[g(x,a)]9
(13.5)
Pxy{a)= Pr(<J(x,a)=y).
(13.6)
Jak się okaże, do analizy procesów decyzyjnych Markowa wystarczają oczeki wane wartości nagród oraz rozkłady prawdopodobieństwa następnych stanów dla poszczególnych par stan-akcja4.
13.2.1 Własność Markowa Z punktu widzenia poszukiwania strategii dla procesów decyzyjnych Markowa zasadnicze znaczenie ma własność Markowa, która wynika z przedstawionej de finicji. Zgodnie z nią wartości funkcji wzmocnienia g i przejść S nie zależą od historii, gdyż ich jedynymi argumentami są aktualny stan i akcja. W każdym kro ku nagroda i następny stan zależą więc (probabilistycznie) tylko od aktualnego stanu i akcji, nie zaś od wcześniejszych stanów i akcji. Własność ta, nazywana także niezależnością od historii lub niezależnością od ścieżki (w domyśle: ścieżki złożonej ze stanów i akcji, jaką osiągnięto aktualny stan), jest teoretycznie warun kiem stosowania wszystkich algorytmów, o których będziemy dalej mówić. Jeśli bowiem własność Markowa nie zachodzi, to znajomość aktualnego stanu nie sta nowi dostatecznej podstawy do wybrania akcji, skoro konsekwencje jej wykonania (nagroda i następny stan) zależą jeszcze od innych czynników niedostępnych ob serwacji. Mówi się wówczas o ukrytym stanie bądź wręcz nazywa się obserwacje podejmującego decyzje agenta sytuacjami, rezerwując termin „stan" dla prawdzi wych (nieznanych) stanów środowiska, które zapewniałyby własność Markowa. My będziemy utożsamiać sytuacje ze stanami, zakładając, że własność Marko wa jest spełniona. Możliwością rozluźnienia tego założenia zajmiemy się krótko w końcowej części rozdziału. 4
W zasadzie byłoby możliwe bezpośrednie zdefiniowanie procesu decyzyjnego Markowa za po mocą takich wartości oczekiwanych i prawdopodobieństw, bez uciekania się do bardziej ogólnych funkcji wzmocnienia i funkcji przejść.
728
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Przykład 13.5 (GRAF-5). Jako prosty przykład procesu decyzyjnego Markowa rozważymy środowisko o następujących zbiorach stanów i akcji: X = {1,2,3,4,5}, A = {0,1}. Funkcję przejść opiszemy podając następujące rozkłady prawdopodobieństw przejść dla każdego x e {1,2,3,4,5}: 0,2 Px,x+i{a) — <0,8 0
dlaz < 5 i a = 0, dlax < 5 i a = 1, dla x = 5,
0,4 0,1 Ą,x(a) - { 0,8 0,2 1
dlal < x < 51 a = 0, d l a l < x < 5 i o = 1, dla z = lia = 0, dla z = l i a = 1, dla x = 5,
f0,4 = { 0,1 0
dlal <x < 5 i a = 0, dlal <x < 5 i a = 1, dla x = 1 lub x = 5.
PXtX-i(a)
Dla wszystkich pozostałych x,y £ X ia E A przyjmiemy PXy{o) — 0. Wynika z te go, że stan 5 jest stanem absorbującym — wykonanie żadnej akcji nie może spowo dować jego opuszczenia. Dla pozostałych stanów możliwe jest w wyniku wykonania akcji przejście do stanu o numerze o 1 większym, pozostanie w tym samym stanie albo przejście do stanu o numerze o 1 mniejszym. Ta ostatnia możliwość nie dotyczy stanu 1, który nie ma poprzednika. Wykonanie akcji 1 daje przy tym większe szanse na „przejście do przodu", a wykonanie akcji 0 na pozostanie w miejscu lub „cofnięcie się". Z kolei wartości oczekiwane nagród są określone następująco: 0,2 R(x,a) — l 0,8 0
dlaa; = 4 i a = 0, dla z = 4 i a = 1, w pozostałych przypadkach.
Niezerowa nagroda może więc być otrzymana tylko w stanie 4, przy czym wykonanie akcji 1 zwiększa jej wartość oczekiwaną. Ilustrację graficzną określonego w tym przykładzie środowiska, które nazwiemy krótko G R A F - 5 , przedstawia rys. 13.4. Będzie ono wykorzystywane w dalszych przy kładach demonstrujących podstawowe właściwości procesów decyzyjnych Markowa i metod programowania dynamicznego. Przykład 13.6 (GRID-6). Jako drugi przykład procesu decyzyjnego Markowa weźmy pod uwagę środowisko dwuwymiarowego świata komórek 6 x 6 , którego ko mórki odpowiadają stanom, a dostępne cztery akcje pozwalają na przemieszczanie
13.2. PROCESY DECYZYJNE MARKOWA
729
Rys. 13.4. Środowisko GRAF-5
się w czterech kierunkach: w lewo, w prawo, w górę i w dół. W deterministycznej wersji tego środowiska wykonanie akcji powoduje zawsze przejście do stanu sąsied niego w wybranym kierunku, o ile taki ruch nie jest blokowany przez granice świata lub przeszkodę zajmującą niektóre komórki. W takim przypadku wykonanie akcji nie powoduje zmiany stanu. Można rozważać także stochastyczną odmianę naszego śro dowiska, w której przejścia miałyby charakter probabilistyczny, lecz nie będziemy komplikować przykładu uwzględnianiem takiej możliwości. Stany środowiska będziemy oznaczać za pomocą współrzędnych odpowiedniej komórki, łącząc numer wiersza i numer kolumny, oba z zakresu od 0 do 5. Zbiór stanów X liczy więc 36 elementów: X = {00,01,..., 05,10,11,..., 1 5 , . . . , 5 0 , 5 1 , . . . , 55}, a czteroelementowy zbiór akcji ma zawartość: 4 = {<-,-•, 1U}. W przypadku deterministycznym mamy następujące prawdopodobieństwa przejść: [ 1 jeśli k = i — 1, Z = j , dostępna{i — 1, j ) , Pij,ki(*~) — \ 1 jeśli k = i, l = j , ^dostępna{i — l,j), [0 w pozostałych przypadkach,
( PijMt)
1 jeśli fc = i + 1, l — j , dostępna{% -j- 1, j ) , 1 jeśli k — i, l = j , -tdostępna(i -j- 1, j ) , 0 w pozostałych przypadkach,
[ 1 jeśli k = i, l — j — 1, dostępna(i,j ~ 1)» ~ i 1 J e ś l i k = ij= j , -*dostępna(i,j - 1), [0 w pozostałych przypadkach,
[ 1 jeśli k = i, l = j H- 1, dostępna(i,j + 1), Pij,hiU) = \ ! Jeśli fc = i, Z = j , ^dostępna(i,j + 1), [0 w pozostałych przypadkach, przy czym zapis dostępna(kj) oznacza, że komórka o współrzędnych (fc,Z) mieści się w granicach środowiska (0 ^ / : ^ 5 1 0 ^ / ^ 5) oraz jest pusta (nie blokowana przez przeszkodę). Jako wyjątki od powyższych reguł potraktujemy stany znajdujące się w prawym górnym i dolnym „narożniku" środowiska, czyli 05 i 55, które uznamy za stany absorbujące — wykonanie w nich dowolnej akcji nie może spowodować ich opuszczenia. Dla formalnej poprawności musimy także uwzględnić możliwe przejścia
730
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
ze stanów odpowiadających komórkom zajmowanym przez przeszkody, mimo że sta ny te są nieosiągalne. Przyjmiemy więc, że one także są absorbujące, czyli wykonanie dowolnej akcji nie powoduje ich opuszczenia. Zakładając deterministyczne przejścia, możemy również deterministyczne nagro dy związać ze stanami, do których następuje przejście po wykonaniu akcji. Przyjmie my, że po przejściu do każdego stanu jest generowana nagroda 0 z wyjątkiem stanu 05, dla którego wynosi ona 1, oraz stanu 55, dla którego wynosi ona 0,5. Uwzględniając wcześniejszą definicję funkcji przejść możemy to zapisać następująco: 1 jeśli i = 0, j — 4, a =-», 1 jeśli i = 1, j = 5, a =f, 0,5 jeśli i — 5, j = 4, a =-*, 0,5 jeśli i = 4, j — 5, a =1, 0 w pozostałych przypadkach.
R{ij, a)
Oznacza to, że tylko (pierwsze) przejście do stanu absorbującego 05 lub 55 powoduje przyznanie dodatniej nagrody — pozostawanie w tych stanach w kolejnych krokach daje zawsze wzmocnienie równe 0. Ilustrację opisywanego środowiska przedstawia rys. 13.5, na którym zaznaczono współrzędne komórek, przeszkody i nagrody otrzymywane po wejściu do każdej ko mórki. Będziemy wykorzystywać je w dalszych przykładach dotyczących procesów Markowa, metod programowania dynamicznego i algorytmów uczenia się ze wzmoc nieniem. 0
1
2
3
4
5
0
0
0
0
0
0
1
1
0
0
1
0
2
0
3
0
4
0
5
0
r•
I 1 1 i • J1 0
0
0
0
0
0
0
0
0
0
Rys. 13.5. Środowisko
13.2.2
0
0
0,5
GRID-6
Strategie i funkcje wartości
Do tej pory mówiliśmy o strategiach nieformalnie, bez żadnej ścisłej definicji, jako o zasadach, zgodnie z którymi są wybierane akcje. Do dalszej dyskusji niezbędna będzie formalna definicja, która jest wyjątkowo prosta.
13.2. PROCESY DECYZYJNE MARKOWA
731
• DEFINICJA 13.4. Strategią dla procesu decyzyjnego Markowa (X, A, £, 5} jest dowolna funkcja TT : X H-» A. 0 Ściślej rzecz biorąc, powyższa definicja określa strategię stacjonarną (która nie zmienia się w czasie) i deterministyczną (która dla każdego stanu determinu je akcję). Może wobec tego zabrzmieć paradoksalnie zapowiedź, że praktyczne algorytmy uczenia się ze wzmocnieniem wykorzystują z reguły strategie niesta cjonarne (podlegające modyfikacjom w trakcie uczenia się) i niedeterministyczne (z probabilistycznym wyborem akcji). Wygodnie jest jednak ograniczyć się do rozważania strategii stacjonarnych i deterministycznych jak długo to możliwe i przedstawić najważniejsze podstawy teoretyczne uczenia się ze wzmocnieniem przy uproszczonych założeniach. Siłą rzeczy taka teoria nie opisuje adekwatnie procesów obliczeniowych, które zachodzą podczas działania praktycznych algo rytmów, lecz jest stosunkowo prosta, a przy tym dostatecznie pomocna w zrozu mieniu algorytmów, aby ją tu omówić. Będziemy mówić, że system odbywający interakcje z procesem decyzyjnym Markowa posługuje się strategią 7r, jeśli w każdym kroku t wykonuje on akcję at = ir(xt). Jakość strategii zależy oczywiście od tego, jakie nagrody przynosi po sługiwanie się nią. Do oceniania strategii służy funkcja wartości, którą wprowadza poniższa definicja. • DEFINICJA 13.5. Dla procesu decyzyjnego Markowa (X, A, Q, 8) funkcja war tości ze względu na strategię -K jest dla każdego stanu x E X określona nastę pująco: oo
V«{x) = E*
XQ =
X
(13.7)
t=0
0 W definicji tej symbol E^ oznacza wartość oczekiwaną przy założeniu posługiwa nia się strategią ir. Zatem funkcja wartości ze względu na strategię n przyporząd kowuje każdemu stanowi oczekiwaną wartość zdyskontowanej sumy przyszłych nagród, jakie będą otrzymane przez system rozpoczynający działalność w tym sta nie i posługujący się strategią n. Wygodnie będzie oceniać w taki sposób nie tylko stany, lecz także pary stan-akcja. • DEFINICJA 13.6. Dlaprocesu decyzyjnego Markowa (X, A, Q, 6) funkcja war tości akcji ze względu na strategię TT jest dla każdej pary (x, a) E X x A
732
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM określona następująco: Q^(x,a)
= E7t
XQ
= x, ao = o,
(13.8)
t=l
0 Funkcja wartości akcji ze względu na strategię ix przyporządkowuje każdej parze stan-akcja (x,a) oczekiwaną wartość zdyskontowanej sumy przyszłych na gród, jakie będą otrzymane przez system rozpoczynający działalność w stanie x od wykonania akcji a i posługujący się następnie strategią n. Konfrontując obie powyższe definicje dochodzimy do oczywistego wniosku, że dla dowolnej strate gii n oraz dla każdego stanu x e X zachodzi równość Vir(x) = Q*(x,ir(x)). Oznacza to, że funkcja wartości akcji umożliwia wyznaczenie funkcji wartości, czyli niesie nie mniej informacji niż ona. W istocie jest tych informacji więcej, gdyż przekonamy się niedługo, że funkcja wartości akcji może stanowić wygodną ze względów obliczeniowych postać reprezentacji jednocześnie funkcji wartości i strategii. Przykład 13,7 (GRAF-5). Dla środowiska z przykładu 13.5 weźmy pod uwagę strategie 7n, 7r2, 7r3 i 7r4 zdefiniowane dla każdego stanu x € {1,2,3,4,5} nastę pująco: 7Ti(x) = 1, 7T2(x) = 0, K3(x)
=
0 jeśli x < 3, 1 jeśli x ^ 3,
7T4(x)
-
1 jeśli x < 3, 0 jeśli x > 3.
Bezpośrednie wyznaczenie wartości stanów (lub par stan-akcja) ze względu na któ rąkolwiek z tych strategii jest kłopotliwe, gdyż wobec niedeterminizmu przejść oraz możliwości wielokrotnego wracania do tych samych stanów nie można określić, po ilu krokach zostanie osiągnięty absorbujący stan 5. Do wyznaczenia funkcji wartości i funkcji wartości akcji wrócimy w jednym z kolejnych przykładów, kiedy pozna my odpowiednie narzędzia teoretyczne. Oczywiście dla dowolnej strategii TT mamy 1/^(5) = 0 oraz Q*(5, a) = 0 dla każdej akcji a. Przykład 13.8 (GRID-6). Dla środowiska GRID-6 Z przykładu 13.6 cztery przy kładowe strategie 7Ti, 7r2, 7r3 i TTĄ przedstawia rys. 13.6. Ściślej rzecz biorąc, są to strategie częściowe, gdyż nie określają akcji dla niedostępnych stanów blokowanych przez przeszkody — możemy przyjąć, że każdemu z nich strategie te przypisują pew ną arbitralnie wykonaną akcję. Zauważmy, że strategie pokazane na rysunku różnią się tylko akcjami wykonywanymi w dwóch stanach: 45 i 52.
733
13.2. PROCESY DECYZYJNE MARKOWA
Ponieważ przejścia oraz nagrody są generowane deterministycznie, wyznaczenie wartości każdego stanu lub pary stan-akcja ze względu na dowolną strategię nie przed stawia trudności. Wystarczy obliczyć liczbę kroków niezbędnych do osiągnięcia stanu absorbującego. W każdym z tych kroków wzmocnienie wynosi 0 z wyjątkiem ostat niego, w którym ma wartość 1 lub 0,5 w zależności od tego, który z dwóch stanów absorbujących jest osiągany. Zademonstrujemy to dla strategii n\ oraz stanu 52: 1^(52)=77. Q* l (52,<-) = = 7 9 , Q^(52,->)=0,572,
^(52,1)-77. 0^(52,^)=7 8 . a) strategia TT\ 0 1 2 -»
t t t t -»
-
>
b) strategia 7T2
->
•
w•
I1
->
1 -
>
•
t t t
c) strategia 7T3 0 1 2 0
-»
1
4
t t t t
5
->
2 3
-»
3
4
5
->
->
-»
t t t
->
3
4
->
->
->
-
>
•
->
t t t
->
->•
2
->
->
->
w•
t t t
2
->
5
->
t
f 1 1
->
-»•
t t
-
>
•
t t t
->
0
-»
t t t t
1
4
t t t t
->
5
->
2 3
Rys. 13.6. Przykładowe strategie dla środowiska
->
->
t t t
->
•
->•
1 1 •J ->
—>
3
4
->
->
->
->•
t t t
d) strategia 7T4 0 1 2
r1• • 1 i1 • j1 t t
1
1t
1 1 •J ->
0
0
t t t ;
- > •
->
rI • • I 1 1 • i j t t
->
->
GRID-6
-•
t t t 4-
-»
-4
734
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
13.2.3
Optymalność strategii
Umożliwiająca ocenę strategii funkcja wartości umożliwia także porównywanie różnych strategii. Z punktu widzenia celu, jakim jest maksymalizowanie kryterium jakości w postaci oczekiwanej zdyskontowanej sumy nagród, poniższa definicja określa warunki, w których dwie strategie są porównywalne. • DEFINICJA 13.7. Strategia n' jest lepsza od strategu n, co zapisujemy 7rf y n, jeśli Vn (x) ^ Vn(x) dla każdego x G X i istnieje x € X, dla którego V*\x) >V*(x). 0 Zgodnie z tą definicją lepsza strategia daje dla wszystkich stanów nie mniej sze wartości, a przynajmniej dla jednego stanu większą wartość niż porównywana z nią gorsza strategia. Posługując się tak sformułowanym kryterium porównywania strategii możemy sformalizować pojęcie strategii optymalnej jako strategii najlep szej w następujący, naturalny sposób. • DEFINICJA 13.8. Strategią optymalną jest każda strategia, dla której nie ist nieje strategia od niej lepsza. 0 Strategii optymalnych może być wiele, gdyż więcej niż jedna strategia może mieć identyczną funkcję wartości. Każda strategia maksymalizująca wartość każ dego stanu jest strategią optymalną. Dowolną optymalną strategię będziemy ozna czać przez 7r*, a odpowiadające jej (optymalne) funkcje wartości i wartości akcji odpowiednio przez V* i Q*. System posługujący się strategią optymalną będzie maksymalizować kryterium jakości dane równaniem (13.1), co umożliwia określe nie celu uczenia się ze wzmocnieniem jako znalezienie strategii optymalnej. Skoro funkcja wartości zależy od współczynnika dyskontowania 7, może od niego zale żeć także strategia optymalna. Zmiana wartości tego współczynnika może spowo dować, że strategia uznawana dotychczas za optymalną przestanie nią być. Gwoli pełnej ścisłości powinniśmy więc mówić raczej o strategiach 7-optymalnych, jaw nie określając, dla jakiej wartości 7 są one faktycznie optymalne. Darujemy sobie tak daleko posuniętą pedanterię, uznając, że zawsze jest brana pod uwagę tylko jedna, ustalona wartość współczynnika dyskontowania. Przykład 13.9 (GRID-6). Wróćmy do środowiska GRID-6 Z przykładu 13.6 i po nownie przyjrzyjmy się czterem strategiom wprowadzonym w przykładzie 13.8, Ła two zauważyć, że aby strategia 7Ti była strategią optymalną, wyznaczone względem niej wartości stanów Vni (45), Vni (52) i Vni (53) muszą być nie mniejsze niż odpo wiednio wartości akcji Qni (45, | ) , Qni (52, -») i Q*1 (53,«-). Jeśli te warunki zosta ną spełnione, wartość każdego innego stanu także będzie maksymalizowana, o czym czytelnik może się bez trudu przekonać.
13.2. PROCESY DECYZYJNE MARKOWA
735
Obliczamy odpowiednie wartości stanów i par stan-akcja: V " (45) =
3 7
V"> (52) =
, 7
7
Q " (45,4.) = 0,5, ,
V " (53) = 0,57,
Qni (52, ->) = 0,5 7 2 , Q"(53,H=78-
Niezbędne warunki optymalności strategii 7Ti są więc następujące5: 7 3 £ 0,5, 7 7 £ 0,5 7 2 , 0,5 7 ^ 7 8 . co po uproszczeniu daje: 7 ^ 0,794, 7 ^ 0,871, 7 =% 0,906, czyli ostatecznie 7 G [0,871; 0,906]. Jak widać, warunek ten spełnia w szczególności 7 = 0,9 i dla tej wartości współczynnika dyskontowania strategia 7Ti jest strategią optymalną. Rozumując analogicznie możemy zapisać następujące warunki optymalności dla strategii ir-i'V"*(45)źQ">(45,t), V* a (52)£ Q"* ( 5 2 , - 0 , V* a (53)^Q"*(53,«-). skąd otrzymujemy: 7 3 ^ 0,5, 7 7 ^ 0,5 7 2 , 0,5 7 ^ 7 8 . czyli:
7 ^ 0,794, 7 > 0,871, 7 ^ 0,906. Żadna wartość 7 nie spełnia tych warunków, co oznacza, że strategia iT2 nie może być optymalna niezależnie od doboru współczynnika dyskontowania. 5
W obliczeniach zaokrąglamy wyniki do trzech cyfr znaczących, co oczywiście powoduje, że podawane wnioski nie są, ściśle rzecz biorąc, poprawne.
736
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM Aby strategia TT3 maksymalizowała wartość każdego stanu, muszą zachodzić na stępujące warunki: V 3 ( 4 5 ) ^ Q"(45,4.), 1^(52)5^(52,1-), skąd otrzymujemy: 7 3 ^ 0,5, 7 7 ^ 0,5 7 2 ,
czyli: 7 ^ 0,794, 7 ^ 0,871 lub krótko 7 € [0,794; 0,871]. W szczególności dla 7 = 0,8 strategia 7r3 jest strategią optymalną. Dla strategii TTĄ możemy z kolei określić następujące warunki optymalności: V*4(45) ^ ( 5 ^ ( 4 5 , 1 ) ,
V*<(52)^Qni(52,t), skąd otrzymujemy: 7 3 ^ 0,5, 7 7 ^ 0,5 7 2 ,
czyli: 7 ^ 0,794, 7 ^ 0,871, a więc ostatecznie 7 € [0; 0,794]. W szczególności dla 7 — 0,7 strategia 7r4 jest optymalna. W powyższych rozważaniach ustaliliśmy (przykładowe) strategie optymalne dla 7 £ [0; 0,906]. Czytelnik zechce w ramach prostego ćwiczenia zastanowić się, jakie strategie są optymalne dla 7 > 0,906. Dotychczas mówiliśmy o funkcjach wartości i wartości akcji dła danej strate gii. Wyznaczanie tych funkcji umożliwia jej ocenę i porównanie z innymi strate giami. Można jednak wyjść od posiadanej funkcji wartości i funkcji wartości akcji i skonstruować na tej podstawie strategię, a właściwie wiele różnych strategii, we dług pewnych zasad. Spośród nich najbardziej interesujące są strategie zachłanne, wybierające akcje tak, aby maksymalizować oczekiwaną nagrodę i zdyskontowaną wartość następnego stanu.
737
13.2. PROCESY DECYZYJNE MARKOWA
• DEFINICJA 13.9. Strategią zachłanną względem fukcji wartości V jest (dowolna) strategia określona dla każdego stanu x E X następująco: j^Pzy(a)V(y)\-
TT(X) = arg max [R(x,a) +
(13.9)
0 • DEFINICJA 13.10. Strategią zachłanną względem fukcji wartości akcji Q jest (dowolna) strategia określona dla każdego stanu x G X następująco: TT(X) = argmaxQ(x,a).
(13.10)
0 Słowo „dowolna" w tych dwóch definicjach odnosi się do interpretacji operacji arg max, którą rozumiemy jako wybór dowolnej wartości jej argumentu (w tym przypadku akcji), która maksymalizuje następujące po niej wyrażenie. Warto za uważyć, że dla dowolnej strategii TT strategia zachłanna względem Vn (lub, co na jedno wychodzi, względem Qn) nie tylko nie musi być identyczna z TT, lecz rów nież nie musi być tak samo wartościowana. Przykład 13.10 (GRAF-5). Dla środowiska grafu o 5 stanach z przykładu 13.5 weźmy pod uwagę funkcję wartości V określoną zgodnie z tablicą: X
v
te). 1
1 0,224
2 0,349
3 0,792
4 0,957
5 0
Jest to w istocie (w zaokrągleniu do trzech cyfr znaczących) funkcja wartości ze wzglę du na strategię 7r3 dla 7 = 0,9, choć nie wiemy jeszcze, jak się o tym w prosty sposób przekonać. Wciąż zakładając 7 = 0,9, wyznaczymy strategię zachłanną względem funkcji wartości V, obliczając wartość sumy R(x1a) + lYl>ypxy{o)V(y) dla wszystkich stanów x E {1,2,3,4,5} i akcji a € {0,1} jak następuje:
ij(i, 0) + 7 Yl piy(°)v(y) = ° + °>9(°>8 - °>224 + °>2 * °>349) = y
= 0,224,
fl(l, 1) + 7 Yl pi»(1) W = ° + °'9(°'2 ' °' 224 + °>8 ' °>349) = y
= 0,292, JJ(2,0) + 7 Y
p
2y(0)V(y) = 0 + 0,9(0,4 • 0,224 + 0,4 • 0,349 +
y
+ 0,2 • 0,792) = 0,349,
738
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM R(2,1) + 7 5 2 p 2y(l)V(t/) = 0 + 0,9(0,1 • 0,224 + 0,1 • 0,349 + y
+ 0,8 • 0,792) = 0,621, R(S, 0) + 7 J2 Ą v (0)V(y) = 0 + 0,9(0,4 • 0,349 + 0,4 • 0,792 + y
+ 0,2 • 0,957) = 0,583, H(3,1) + 7 X l p sv(l) V(») = 0 + 0,9(0,1 • 0,349 + 0,1 • 0,792 + y
+ 0,8 • 0,957) = 0,792, 72(4,0) + 7 5 3 Ą v (0)V(y) = 0,2 + 0,9(0,4 • 0,792 + 0,4 • 0,957 + y
+ 0,2 • 0) = 0,830, R(4,1) + 7 5 2 p4y (l)V(y) = 0,8 + 0,9(0,1 • 0,792 + 0,1 • 0,957 + y
+ 0,8 • 0) = 0,957, R(5,0) + 7 5 2 p s y (0)V(y) = 0 + 0,9(1 • 0) = 0,
= 0 + 0-9(1 • 0) = 0.
R(5,1) + 7 5 2 PtyttWy)
Z obliczeń tych wynika, że istnieją dwie strategie zachłanne względem V, różniące się akcją przypisaną stanowi 5, a wszystkim pozostałym stanom przypisujące akcję 1. Jedną z tych strategii jest strategia K\ . Przykład 13.11 (GRID-6). Dla środowiska G R I D - 6 Z przykładu 13.6 weźmy pod uwagę funkcję wartości V przedstawioną w poniższej tablicy, której wiersze i kolum ny odpowiadają wierszom i kolumnom dwuwymiarowego świata:
L° ^ 18 - 27 P?~ ~ F
V(ij) |
0 1 2 3 4 5
75 76 77 78 79
0 0 0 0 78
0 74 75 76 77
3 7
i13 7 74 0
0,5T
4 1 0 0 0 0 0,5
5 0 1 7 72 0,5 0
Nietrudno się przekonać, że jest to funkcja wartości względem strategii 1x2 z przykła du 13.8. Równie łatwo sprawdzić, że dla 7 = 0,9 strategią zachłanną względem tej funkcji wartości jest strategia 7Ti, o której wiemy z przykładu 13.9, że jest wówczas strategią optymalną. Z kolei dla 7 = 0,8 okazuje się, że strategią zachłanną względem V jest strategia 7r3, która także jest wtedy strategią optymalną. Wreszcie dla 7 = 0,7
13.2. PROCESY DECYZYJNE MARKOWA
739
zachłanna względem funkcji V jest strategia 7TĄ, optymalna dla tej wartości współ czynnika dyskontowania. Można udowodnić następujące twierdzenie, które wiąże strategie zachłanne i strategie optymalne.
•
TWIERDZENIE 13.1. Niech TT będzie dowolną strategią o funkcji wartości V™. Jeśli strategia n1jest zachłanna względem V*, to -K1 jest lepsza od n albo obie strategie n i nf są optymalne. <
Analogiczne twierdzenie może być sformułowane dla funkcji wartości akcji.
•
TWIERDZENIE 13.2. Niech TT będzie dowolną strategią o funkcji wartości ak cji Q*'. Jeśli strategia nł jest zachłanna względem Q7r) to nf jest lepsza od n albo obie strategie 7r / irr są optymalne. <
Z powyższych twierdzeń wynika natychmiast następujący wniosek.
T WNIOSEK 13.1. Dowolna strategia zachłanna względem optymalnej funkcji wartości lub optymalnej funkcji wartości akcji jest strategią optymalną. A Dowód. Niech n* będzie dowolną strategią optymalną. Optymalna funkcja wartości V* jest funkcją wartości względem strategii 7r*. Zatem dowolna strategia n zachłanna wzglę dem V* jest na mocy twierdzenia 13.1 albo lepsza od strategii 7r*, albo również optymalna. Definicja strategii optymalnej wyklucza pierwszą możliwość, co prowadzi do konkluzji, że 7r jest strategią optymalną. Dla strategii zachłannej względem optymalnej funkcji wartości akcji rozumowanie jest analogiczne, •
13.2.4 Problemy Markowa a uczenie się ze wzmocnieniem Cała, bardzo skrócona zresztą, prezentacja procesów decyzyjnych Markowa po trzebna nam była przede wszystkim do sformalizowania zadania uczenia się ze wzmocnieniem w stopniu umożliwiającym dyskutowanie jego podstaw teore tycznych. Wypada więc krótkim podsumowaniem odnieść wcześniejszy niefor malny opis tego zadania do problemu decyzyjnego Markowa, który polega na zna lezieniu strategii optymalnej dla procesu decyzyjnego Markowa. Otóż cel uczenia się ze wzmocnieniem jest zasadniczo taki sam — znalezienie strategii optymalnej dla środowiska, którego modelem formalnym jest proces decyzyjny Markowa. Cel ten może być nieco „złagodzony" na dwa sposoby. Po pierwsze, można w pewnych sytuacjach dopuścić strategie w przybliżeniu optymalne, czyli takie, które wpraw dzie nie maksymalizują wartości każdego stanu, lecz dają dla odpowiednio dużej większości stanów wartości dostatecznie bliskie optymalnym. Po drugie, zamiast
740
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
znalezienia strategii optymalnej lub prawie optymalnej wystarczy od ucznia żądać działania optymalnego lub prawie optymalnego. Do takiego działania może zaś wystarczyć częściowa strategia, która nie jest właściwie określona dla wszystkich stanów, a tylko dla tych, które faktycznie występują podczas rozwiązywania przez ucznia jego zadania. Łagodząc wymagania wobec ucznia zakłada się jednak, że nie są mu znane (a w każdym razie mogą mu nie być znane) właściwości środowiska, reprezen towane przez wartości R(x,a) oraz Pxy{o) dla wszystkich x,y e X i a G A. W zamian uczeń ma możliwość odbywania z procesem bezpośrednich dynamicz nych interakcji — obserwowania stanów, wykonywania akcji, otrzymywania na gród. Na tej podstawie powinien swoją strategię, początkowo być może zupeł nie arbitralną, nieustannie doskonalić, osiągając z czasem strategię optymalną lub jej dostatecznie dobre przybliżenie dla tych stanów, które w trakcie interakcji ze środowiskiem są faktycznie osiągane. Trzeba tu jednak podkreślić, że osłabianie wymagań stawianych uczniowi nie jest mankamentem uczenia się ze wzmocnie niem ani żadną wymuszoną koncesją z teoretycznie uzasadnionych postulatów na rzecz wymogów praktyki. Dzięki innemu niż dla problemu decyzyjnego Markowa sformułowaniu celu uczenie się ze wzmocnieniem można zastosować do zadań, w których metody rozwiązywania problemów Markowa nie mogą być użyte. Za nim zobaczymy, dlaczego tak jest, musimy poznać choćby pobieżnie te metody, które są tematem następnego podrozdziału.
13.3 Programowanie dynamiczne Teoria programowania dynamicznego gwarantuje, że dla dowolnego procesu de cyzyjnego Markowa istnieje przynajmniej jedna stacjonarna i deterministyczna strategia optymalna. Każdej strategii optymalnej odpowiada ta sama optymalna funkcja wartości i optymalna funkcja wartości akcji. Metody programowania dy namicznego umożliwiają wyznaczenie dowolnej z tych funkcji lub strategii opty malnej pod warunkiem posiadania pełnej wiedzy o danym procesie decyzyjnym Markowa, a dokładniej — znajomości wartości R(x,a) i Pxy{o) dla wszystkich x,y G X i a G A 13.3.1
Równania Bellmana
Wszystkie metody programowania dynamicznego opierają się na różnych posta ciach równań Bellmana, Są to równania, które opisują rekurencyjne związki funk cji wartości i wartości akcji lub optymalnych funkcji wartości i wartości akcji. Sformułujemy je w odpowiednich twierdzeniach. Pierwsze z nich wyraża zależ ność wartości dowolnego stanu x względem pewnej strategii TT od wartości wszyst kich pozostałych stanów, jakie mogą być osiągnięte (z określonym prawdopodo-
13.3. PROGRAMOWANIE DYNAMICZNE
741
bieństwem) po wykonaniu w stanie x zgodnej ze strategią TC akcji ir(x). Drugie równanie opisuje analogiczną zależność dla wartości akcji a w stanie x. Dowody tych twierdzeń są tematami dwóch spośród zamieszczonych na końcu rozdziału ćwiczeń. • TWIERDZENIE 13.3. Dla dowolnej strategii TT i dla każdego stanu x € X zachodzi następujące równanie Bellmana dla funkcji wartości: V*(x) - R{x, *(x)) + 7 EPxy(K(x))V*(y).
(13.11)
y
< • TWIERDZENIE 13.4. Dla dowolnej strategii n i dla każdego stanu x G X oraz każdej akcji a £ A zachodzi następujące równanie Bellmana dla funkcji wartości akcji: Q*(x,a) = Rfaa)
+y^Pxy(a)Q*(yMy)).
(13.12)
y
<3
Równania Bellmana, stanowiące treść dwóch powyższych twierdzeń, charak teryzują funkcję wartości i funkcję wartości akcji dla pewnej ustalonej strategii. Dzięki nim nie musimy obliczać tych funkcji wprost z definicji — co może być wprawdzie łatwe w niektórych przypadkach, zwłaszcza kiedy funkcja przejść jest deterministyczna, lecz na ogół jest co najmniej uciążliwe. Główna korzyść z rów nań Bellmana polega na tym, że zamiast rozpatrywać oczekiwaną zdyskontowaną sumę nagród z nieskończonej (lub w każdym razie dużej) liczby kroków czasu, ograniczamy się do rozważania oczekiwanych efektów wykonania jednej tylko akcji. Wystarczy wówczas wziąć pod uwagę oczekiwaną wartość nagrody oraz stany, do jakich można trafić po jej wykonaniu. Wartości tych stanów zawierają pełną informację o tym, jakich nagród można oczekiwać w następnych krokach, a odpowiednio ważąc je prawdopodobieństwami przejść otrzymujemy oczekiwaną wartość następnego stanu. Zobaczymy wkrótce, jak równania Bellmana mogą być wykorzystane do wy znaczenia funkcji wartości lub funkcji wartości akcji dla ustalonej, znanej strate gii. W dyskusji problemów decyzyjnych Markowa interesują jednak nas przede wszystkim stanowiące ich poszukiwane rozwiązania strategie optymalne. Związa nych z nimi optymalnej funkcji wartości i optymalnej funkcji wartości akcji do tyczą równania optymalności Bellmana, sformułowane w dwóch kolejnych twier dzeniach, których udowodnienie również pozostanie ćwiczeniem dla czytelnika.
742
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
• TWIERDZENIE 13.5. Dla każdego stanu x £ X zachodzi następujące równa nie optymalności Bellmana dla funkcji wartości:
V* (x) — max \R(X, a) + 7 Y,Pxy(a)V*(y)\.
(13.13)
y
<\
• TWIERDZENIE 13.6. Dla każdego stanu x e X oraz każdej akcji a e A zachodzi następujące równanie optymalności Bellmana dla funkcji wartości akcji: Q*(x,a) = i ? ( ^ a ) + 7 ^ P ^ ( a ) m ^ x < 3 * ^ ' a ' ) -
(13*14)
y
< Równania optymalności Bellmana są sformalizowanym zapisem podstawowej zasady programowania dynamicznego, nazywanej czasem zasadą optymalności Bellmana. Zgodnie z nią właściwością optymalnego ciągu akcji, rozpoczynającego się w pewnym stanie, jest to, że każdy jego podciąg, rozpoczynający się w dowol nym późniejszym stanie, jest także optymalny. W celu wyboru optymalnej akcji wystarczy zatem zapewnić, że jest maksymalizowana suma oczekiwanej natych miastowej nagrody oraz oczekiwanych zdyskontowanych nagród, jakie będą uzy skane w kolejnych krokach pod warunkiem podejmowania optymalnych decyzji, czyli oczekiwanej optymalnej wartości następnego stanu. Zauważmy ponownie „przewagę" funkcji wartości akcji nad funkcją wartości, gdyż oczywista równość V*(x) = ma,xaQ*(x,a) — Q*(x,7r*(x)) oznacza, że znajomość wartości funk cji Q* dla stanu x i wszystkich akcji umożliwia wyznaczenie wartości funkcji V* dla tego stanu. Co więcej, jeśli z wniosku 13.1 wiemy, że zarówno na podstawie funkcji V*, jak i funkcji Q* możemy wyznaczyć strategię optymalną jako zachłan ną względem tych funkcji, to porównanie definicji strategii zachłannej względem danej funkcji wartości (definicja 13.9) i względem funkcji wartości akcji (defini cja 13.10) pokazuje, że znając Q* dla wszystkich par stan-akcja optymalne akcje możemy określić bez konieczności odwoływania się do wiedzy o procesie decy zyjnym Markowa reprezentowanej przez oczekiwane wartości nagród i prawdo podobieństwa przejść stanów. Określenie strategii optymalnej na podstawie V* wymaga znajomości R(x, a) i PXy(a) dla wszystkich x, y E X i a E A. Przesą dza to o większej praktycznej korzyści ze znajomości optymalnej funkcji wartości akcji niż tylko funkcji wartości: ta pierwsza umożliwia podejmowanie optymal nych decyzji bez żadnego „podglądania" w przód, podczas gdy druga wymaga 1-krokowego „podglądania".
13.3. PROGRAMOWANIE DYNAMICZNE
743
Przykład 13.12 (GRAF-5). Równania Bellmana umożliwiają wyznaczenie funk cji wartości dla środowiska GRAF-5 Z przykładu 13.5 względem strategii określonych w przykładzie 13.7, czego nie potrafiliśmy zrobić bezpośrednio. Dla strategii -K\ i każ dego stanu ze zbioru { 1 , 2 , 3 , 4 , 5 } możemy zapisać równania Bellmana dla funkcji wartości następująco: V " (1) = 0 + 7(0,27 7 7 1 (1) + 0,87 771 (2)), 7 7 7 1 (2) = 0 + 7(0,17 7 7 1 (1) + 0,17 771 (2) + 0,87 771 (3)), 7 7 7 1 (3) = 0 + 7(0,17 7 7 1 (2) + 0,17 771 (3) + 0,87 771 (4)), 7 771 (4) = 0,8 + 7(0,17 7 7 1 (3) + 0,17 771 (4) + 0,87 771 (5)),
V* l (5) = 0 + 7 ^ ( 5 ) . Rozwiązując ten układ równań dla 7 = 0,9 otrzymujemy: 7 ^ ( 1 ) = 0,633, 7^(2)=0,721, V " (3) = 0,832, 7 ^ ( 4 ) =0,961, V " (5) = 0. Podobnie dla strategii 7r2 układ równań Bellmana ma postać: 7 ^ ( 1 ) = 0 + 7(0,87^(1) + 0,27^(2)), V*2(2) = 0 + 7(0,47^(1) + 0,47^(2) + 0,27^(3)), V*'(3) = 0 + 7(0,47^(2) + 0,47^(3) + 0,27^(4)), 7772 (4) = 0,2 + 7 ( 0 , 4 7 ^ (3) + 0,47772 (4) + 0,27772 (5)),
7 ^ ( 5 ) = 0 + 77^(5), a jego rozwiązanie dla 7 = 0,9 jest następujące: 7^(1)=0,042, 7 ^ ( 2 ) = 0,065, 7^(3)=0,148, 7 ^ ( 4 ) = 0,396, 7 ^ ( 5 ) = 0. Dla strategii 7:3 mamy: 7^(1) = 0 + 7(0,87^(1)+0,27^(2)), 7 7 7 3 (2) = 0 + 7(0,47 7 7 3 (1) + 0,47 773 (2) + 0,27 773 (3)), 7 7 7 3 (3) = 0 + 7(0,17 7 7 3 (2) + 0,17 773 (3) + 0,87 773 (4)),
V*a(4) = 0,8 + 7(0,17^(3) + 0,17^(4) + 0,87^(5)), 7^(5) = 0 + 77^(5),
744
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
skąd po rozwiązaniu dla 7 = 0,9 otrzymujemy wartości znane nam już z przykła du 13.10: 7^(1)=0,224, 7^(2) = 0,349, 7*3(3) = 0,792, 7^(4) = 0,957, 7^(5)=0. Wreszcie dla strategii 7r4 układ równań Bellmana zapisujemy następująco: 7 ^ ( 1 ) = 0 + 7(0,27^(1) + 0,87^(2)), V*Ą(2) = 0 + 7(0,17^(1) + 0,17^(2) + 0,87*« (3)), V774 (3) = 0 + 7(0,47^ (2) + 0,47^4 (3) + 0,27^4 (4)), 7*4(4) = 0,2 + 7(0,47^(3) + 0,47^(4) + 0,27*4(5)), 7^(5) = 0 + 77^(5), a jego rozwiązaniem dla 7 = 0,9 jest zbiór wartości: 7*4(1) =0,189, 7^(2)=0,215, 7^(3) = 0,248, 7^(4)=0,452, 7^(5) = 0. 13.3.2
Wartościowanie strategii
Równania Bellmana są podstawą metod programowania dynamicznego służących do wyznaczenia funkcji wartości lub funkcji wartości akcji dla pewnej znanej stra tegii. Problem ten jest nazywany wartościowaniem strategii i nawet jeśli sam w so bie nie stanowi głównego celu, jaki stawia się w problemach decyzyjnych Marko wa, warto poświęcić mu nieco uwagi. Przekonamy się, że wartościowanie strategii może być wykorzystane do znajdowania strategii optymalnych. Funkcję wartości lub funkcję wartości akcji dla danej strategii można by zasad niczo wyznaczyć rozwiązując układ równań, powstały przez zapisanie odpowied niego równania Bellmana dla każdego stanu lub każdej pary stan-akcja. Takie bez pośrednie podejście, choć w pełni poprawne, jest jednak niepraktyczne ze wzglę dów obliczeniowych, z wyjątkiem może bardzo małych rozmiarów przestrzeni sta nów i akcji. Lepiej jest wykorzystać równania Bellmana w inny sposób, traktując je jako swego rodzaju reguły aktualizacji funkcji, dla których przedstawiają one rekurencyjne zależności. Polega to na potraktowaniu znaku równości w tych rów naniach jako symbolu operacji przypisania, która ustanawia nową wartość funkcji
745
13.3. PROGRAMOWANIE DYNAMICZNE
dla pewnego stanu lub pary stan-akcja na podstawie jej dotychczasowych wartości. Dokładnie przedstawia to algorytm 13.2, obliczający F71" dla ustalonej strategii TT. Czytelnik bez trudu sformułuje analogiczny algorytm dla funkcji Qn. funkcja wartościowanie-strategii-v{-K, argumenty wejściowe:
Pxy(a),R(x,a))
• 7r — strategia do wartościowania, • Pxy(a) — prawdopodobieństwa przejść stanów dla wszystkich x, y , a, • R(x, a) — wartości oczekiwane nagród dla wszystkich x, a\ zwraca: przybliżenie funkcji wartości F71"; 1: zainicjuj V° jako dowolną funkcję wartości; 2: k : = 0; 3: powtarzaj 4: dla wszystkich x e X wykonaj 5:
vk+Hx) •-= R(*Mx)) +iZyPxy('K(x))vk(yY>
6: koniec dla 7: k:=k + U 8: aż nastąpi m&xxex 9: zwróć Vk.
\vk(x)-Vk-l(x) ^ e ;
Algorytm 13.2. Iteracyjne obliczanie V77 Oba algorytmy inicjują obliczane przez siebie funkcje w sposób arbitralny. Następnie w każdym kroku o numerze k nowe wartości Vk+l lub Qk+1 są wy znaczane na podstawie dotychczasowych wartości Vk lub Qk za pomocą operacji aktualizacji opartej na odpowiednim równaniu Bellmana. Obliczenia są kontynu owane, jak długo zmiana wprowadzona do obliczanej funkcji przez ostatnią ite rację przekracza pewną ustaloną wartość e > 0. Można zagwarantować, że dla dowolnej dodatniej wartości e nastąpi to po wykonaniu pewnej skończonej liczby kroków. Dowodu tego faktu nie będziemy tu przedstawiać, lecz opiera się on na właściwości redukcji błędu, jaka charakteryzuje zaktualizowane za pomocą rów nań Bellmana przybliżenia funkcji wartości lub wartości akcji. • TWIERDZENIE 13.7. Dla dowolnej funkcji wartości V i dowolnej strategii n jest spełniony warunek: max R(x, n(x)) + 7 £ Pxy(*(x))V(y)
- V*(x) €
X
^m&x\V(x)
-V*{x)\,
(13.15)
X
przy czym nierówność jest ostra, jeśli 7 < 1.
<\
746
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Dowód. Niech max|V(x) - V * ( a r ) | = S,
(13.16)
X
Wówczas dla każdego stanu x € X jest spełniony warunek: V*(x) - S < V(x) ^ y 7r (x) + 5.
(13.17)
Wobec tego dla dowolnego stanu x R(xMx))
+7X)Ąy(^W)V(y) ^ y
^ /?(*, TT(X)) +
7
£ ) Pxy(*(*))(V*(y) + 5) = y
= R(x,
TT(X)) +1J2
P*v{«{x))V*{y) + 7 £ P*y M*))<5 = 2/
2/
W przekształceniu tym wykorzystaliśmy równanie Bellmana dla funkcji wartości. Zatem dla każdego stanu x R{x,
TT(X))
+ 7 ^ Pxy(*(x))V(y)
^ V7V(x) + 6,
(13.18)
y
przy czym dla 7 < 1 nierówność jest ostra. Podobnie stwierdzamy, że dla dowolnego stanu x R{x, TT(X)) + 7 E
P, y (7r(x))V(y) ^
y
= £(*,*(*)) + lY,P*vMx»V*M - TE^v(^))^ = y
=
y
V%x)-18,
czyli
iJ(i,7r(a:)) + 7 ^ ) ^ ( ^ ) ) ^ ( ^ ) > V'(x)-S,
(13.19)
y
przy czym ponownie nierówność jest ostra dla 7 < 1. Nierówności (13.18) i (13.19) uwzględnione łącznie umożliwiają zapisanie dowodzonej nierówności (13.15). •
•
TWIERDZENIE 13.8. Dla dowolnej funkcji wartości akcji Q i dowolnej stra tegii TT jest spełniony warunek: max i ? ( a ; , a ) + 7 £ P X 2 / ( a ) Q ( y , 7 r ( y ) ) - Q ^ ( x , a ) k y I ^msuc 1 ^ ( 3 : , 0 ) - ^ ( 0 : , 0 ) 1 , przy czym nierówność jest ostra, jeśli 7 < 1.
(13.20) <
747
13.3. PROGRAMOWANIE DYNAMICZNE
Dowód przebiega bardzo podobnie do dowodu poprzedniego twierdzenia i nie będziemy go przedstawiać. Powyższe twierdzenia gwarantują, że w każdej iteracji algorytmu 13.2 i jego odpowiednika dla funkcji wartości akcji maksymalny błąd konstruowanych przez nie funkcji, rozumiany jako różnica w stosunku do prawdziwej funkcji wartości lub wartości akcji, nie zwiększa się. Jeśli dodatkowo 7 < 1, mamy gwarancję, że błąd ten w każdej iteracji ulega zmniejszeniu (redukcji), co wystarcza do udowodnienia zbieżności tych algorytmów. Przykład 13.13 (GRAF-5). Prześledzimy zastosowanie algorytmu 13.2 do warto ściowania strategii m określonej w przykładzie 13.7 dla środowiska GRAF-5 Z przy kładu 13.5. Działanie algorytmu będzie polegać w tym przypadku na wielokrotnym aktualizowaniu funkcji V za pomocą operacji podstawienia: V fc+1 (l)
0 + 7 (0,2V*(l) + 0,8V*(2)),
V {2)
0 + 7(0,1V*(1) + 0,1V*(2) + 0,8F fc (3)),
V* +1 (3)
0 + 7 (0,1V*(2) + 0,1V*(3) + 0,8F*(4)),
k+l
+1
0;8 + 7 (0,iy*(3) + 0,1V*(4) + 0,8V*(5)),
+1
0 + 7 V*(5)
V* (4) V* (5)
dla k ~ 0 , 1 , . . . , przy czym przyjmiemy 7 = 0,9 oraz VQ(X) = 0 dla każdego x G {1,2,3,4, 5}. Obliczone w ten sposób wartości Vk dla 10 początkowych iteracji, zaokrąglone do trzech cyfr znaczących, przedstawia poniższa tablica. k 1 2 3 4
5 6 7 8 9 10
Vk(2) 0 0 0,415 0,527 0,627 0,669 0,695 0,707 0,714 1 0,625 0,717
Vk(l) 0 0 0 0,299 1 0,433 0,529 0,577 0,604 0,618
Vk(3) 0 0,576 0,680 0,768 0,797 0,815 0,823 0,828 0,829 0,831
Vfc(4) 0,8 0,872 0,930 0,945 0,954 0,958 0,960 0,960 0,961 0,961
Vk(5) 0 0 0 0 0 0 0 0 0 0
Przyjmując e = 0,1 uzyskalibyśmy po 10 iteracjach zatrzymanie algorytmu 13.2. Po równanie wyznaczonych wartości funkcji Vi o z prawdziwymi wartościami Vni, które w przykładzie 13.12 obliczono przez rozwiązanie układu równań Bellmana, umożli wia stwierdzenie, że uzyskano dość dobre przybliżenie funkcji wartości.
13.3,3 Wyznaczanie strategii optymalnej Poznawszy najprostsze metody programowania dynamicznego służące do warto ściowania strategii, nie będziemy raczej zaskoczeni metodami wyznaczania stra-
748
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
tegii optymalnych, do których omawiania obecnie przechodzimy. Tu także ograni czymy się do algorytmów najbardziej elementarnych, lecz reprezentujących dwa istotnie odmienne podejścia do tego problemu. Pierwsze z nich dąży do wyzna czenia strategii optymalnej, konstruując ciąg coraz lepszych w zamyśle strategii. Drugie polega na obliczeniu optymalnej funkcji wartości lub funkcji wartości ak cji, co umożliwia wyznaczenie strategii optymalnej jako strategii zachłannej. Obu metodom, nazywanym odpowiednio iteracją strategii i iteracją wartości (lub war tości akcji), przyjrzymy się dokładniej, gdyż będą cenną pomocą przy późniejszej dyskusji algorytmów uczenia się ze wzmocnieniem. Iteracja strategii Iteracja strategii konstruuje ciąg strategii, w którym każda kolejna strategia jest lepsza od następnej. Taki ciąg nie może być oczywiście nieskończony, gdyż dla skończonej przestrzeni stanów i akcji skończona jest także liczba możliwych stra tegii. W związku z tym po skończonej liczbie iteracji osiąga się strategię, dla której nie istnieje strategia od niej lepsza, czyli strategię optymalną. Szczegóły tego po dejścia przedstawia algorytm 13.3. funkcja iteracja-strategii-v (Pxy(a), R(x, a)) argumenty wejściowe: • Pxy(a) — prawdopodobieństwa przejść stanów dla wszystkich x, y, a, • R{x, a) — wartości oczekiwane nagród dla wszystkich x, a; zwraca: strategię optymalną 7r*; zainicjuj 7r° jako dowolną strategię; k:=0\ powtarzaj wyznacz Vn ; dla wszystkich x E X wykonaj 7rfc+1(x) := argmax a [R(x,a) + 7 £ koniec dla k:=k + U aż nastąpi nk )f- 7T*"1; zwróć nk.
y
Pxy(a)V*k(yj
Algorytm 13.3. Wyznaczanie strategii optymalnej metodą iteracji strategii Rozpoczynając od arbitralnie zainicjowanej strategii 7r°, metoda iteracji stra tegii w każdym kroku k konstruuje strategię ixkJrl jako strategię zachłanną wzglę dem funkcji wartości V* . Zgodnie z twierdzeniem 13.1 strategia 7T*14"1 jest więc lepsza od strategii -nk, o ile obydwie nie sąjeszcze optymalne. Do wyznaczenia ko-
13.3. PROGRAMOWANIE DYNAMICZNE
749
lejnej strategii 7tk+l na podstawie poprzedniej strategii 7T* prowadzą w istocie dwie operacje. Pierwszą z nich jest wartościowanie strategii nk, które może zostać prze prowadzone w podany wcześniej sposób. Druga to poprawa strategii, polegająca na przyjęciu za 7rfc+1 strategii zachłannej względem nk. Jawne rozdzielenie tych operacji wartościowania i poprawy jest charakterystyczną cechą metody iteracji strategii. Zauważmy na koniec, że równie dobrze można obie z nich sformułować, wykorzystując funkcję wartości akcji zamiast funkcji wartości. Opracowanie od powiednio zmodyfikowanej wersji algorytmu 13.3 nie sprawi czytelnikowi żadnej trudności. Iteracja wartości Iteracja wartości zamiast bezpośredniego wyznaczania optymalnej strategii obli cza optymalną funkcję wartości lub funkcję wartości akcji. Przyjmuje w tym celu podejście analogiczne do tego, które zostało wcześniej przedstawione dla proble mu wartościowania strategii. Polega ono na iteracyjnym stosowaniu operacji ak tualizacji, która tym razem opiera się na równaniu optymalności Bellmana. Algo rytm 13.4 przedstawia odpowiedni ciąg operacji w wersji wykorzystującej funkcję wartości. Dokonanie prostych modyfikacji w celu uzyskania wersji wykorzystują cej funkcję wartości akcji pozostawiamy czytelnikowi. funkcja iteracja-wartości-v(Pxy(a), R(x, a)) argumenty wejściowe: • PXy{o) — prawdopodobieństwa przejść stanów dla wszystkich x, y, a, • R(x, a) — wartości oczekiwane nagród dla wszystkich x, a\ zwraca: strategię optymalną 7r*; 1: zainicjuj V° jako dowolną funkcję wartości; 2: k := 0; 3: powtarzaj 4: dla wszystkich x e X wykonaj k 5: VM(x) := maxa [R(X,a) + 7EyPxy(a)V (y)]. 6: koniec dla 7: k:=k + U 8: aż nastąpi maxxex \Vk(x) — Vk~l(x) ^ e; 9: dla wszystkich x € X wykonaj
10:
ir(x) := argmaxa [ i ^ a ) +7Ej, f iy( f l )^(!/)];
li: koniec dla 12: zwróć ir. Algorytm 13.4. Wyznaczanie strategii optymalnej metodą iteracji wartości
750
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
W kolejnych iteracjach obliczana funkcja wartości, zainicjowana w arbitralny sposób, zbliża się coraz bardziej do V* i kiedy ostatnio dokonana zmiana stanie się dostatecznie mała, proces zostaje zatrzymany. Strategia optymalna jest następ nie konstruowana jako strategia zachłanna. Interesujące jest spostrzeżenie, że na operację wyznaczającą Vk+1 na podstawie Vk, opartą na równaniu optymalności Bellmana dla funkcji wartości, można patrzeć jako na swoiste połączenie operacji wartościowania i poprawy strategii, występujących oddzielnie w metodzie itera cji strategii. Rozważmy sytuację, w której strategię irk najpierw wartościuje się stosując operację aktualizacji opartą na równaniu Bellmana: Vi+1(x) := R(xy(x))
P
+1Y,
xy(*k(x))vi(y)
(13-21)
dla i — 0 , 1 , . . . , a następnie wyznacza się poprawioną strategię 7^+1: nk+\x)
: = argmax [R(x,a) + 7 ^ ^ ( 0 ) ^ ( y ) ] .
(13.22)
y k
przy czym Vn jest wynikiem wcześniejszej fazy wartościowania. Jeśli z dwiema powyższymi operacjami aktualizacji porównamy tę, którą stosuje algorytm iteracji wartości; Vk+l(x) := max [R(X,CL) + 7 E ^ W ^ ( y ) ] .
(13.23)
y
to możemy zauważyć, że jest ona ich pewnego rodzaju kombinacją, odpowiadają cą połączeniu poprawy strategii z pojedynczym krokiem wartościowania strategii. Jednocześnie przyjmuje ona niejawnie jako strategię aktualną strategię zachłanną względem funkcji wartości Vk i wyznacza Vk+l w sposób zbliżający ją do funkcji wartości dla tej strategii. Przykład 13.14 (GRAF-5). Zastosujemy algorytm 13.4 do znalezienia optymal nej funkcji wartości dla środowiska GRAF-5 z przykładu 13.5. Jego działanie będzie polegać w tym przypadku na stosowaniu w kolejnych iteracjach zapisanych poniżej operacji aktualizacji, opartych na równaniach optymalności Bellmana dla funkcji war tości: y* + 1 (l) := max{0 + 7(0,8F*(l)+0,2V*(2)) 0 + 7 (0,2F*(l)+0,81^(2))}, +1
V* (2) := max{0 + 7(0,4V*(1) + 0,4V*(2) + 0,2^(3)), 0 + 7(0,1^(1) + 0,1V*(2) + 0,8V*(3))}, V
k+1
(3) := max{0 + 7 ((W*(2) + 0,4^(3) + 0,2K*(4)), 0 + 7(0,1^(2) + 0,1^(3) + 0,8V*(4))},
751
13.3. PROGRAMOWANIE DYNAMICZNE
V*+1(4) := max{0,2 +7(0,4^(3)+0,4y fc (4)+0,2F fc (5)), 0,8 + 7(0,1V*(3) + 0,1V*(4) + 0,8V*(5))}, +1 l/* (5) := m
1 ^(1) 0 0 0 0,075, 0,299
Vk{2) 0 0 0,104, 0,415 0,272, 0,527
Vk(3) 0 0,144, 0,576 0,364, 0,680 0,562, 0,768
V*(4) 0,2, 0,8 0,488, 0,872 0,721, 0,930 0,780, 0,945
Vk(5) 0 0 0 0
Jak widać, już po czterech iteracjach funkcja Vk poprawnie wyznacza strategie opty malną jako zachłanną względem siebie —jest to w tym przypadku strategia -K\. Kon tynuowanie algorytmu doprowadziłoby więc do zbieżności do funkcji V*1, tak jak obserwowaliśmy to w przykładzie 13.13. 13.3.4
Programowanie dynamiczne a uczenie się
W dalszym ciągu tego rozdziału poznamy najważniejsze algorytmy uczenia się ze wzmocnieniem i zobaczymy, jak blisko są one spokrewnione z metodami pro gramowania dynamicznego, które właśnie zostały przedstawione. Podobieństwo to jednak nie może przesłaniać pewnych zasadniczych różnic, które sprawiają, że uczenie się ze wzmocnieniem nie jest po prostu pewnym szczególnym rodzajem programowania dynamicznego. Są to różnice zasadniczo dwojakiego rodzaju: do tyczące celu, jakiego osiągnięciu mają służyć, oraz środków, jakie mogą być użyte do jego osiągnięcia. Ich konsekwencją są różne zakresy stosowania obu podejść, które na ogół nie konkurują ze sobą, lecz raczej się uzupełniają. O różnicach dotyczących celów programowania dynamicznego i uczenia się ze wzmocnieniem była już mowa wyżej w dyskusji podsumowującej wprowadze nie procesów decyzyjnych Markowa. Otóż, o ile celem programowania dynamicz nego jest wyznaczenie strategii optymalnej dla takiego procesu, o tyle uczenie się ze wzmocnieniem ma spowodować nabycie przez system uczący się umiejętności działania optymalnego lub prawie optymalnego. W związku z tym jego strate gia decyzyjna niekoniecznie musi być ściśle optymalna oraz nie musi być pełna. Oznacza to, po pierwsze, że można dopuścić wykonywanie nieoptymalnych akcji w niektórych stanach, jeśli nie pogarsza to znacząco skuteczności systemu w roz wiązywaniu zadania, jakie przed nim postawił jego konstruktor. Po drugie, można się zadowolić zdolnością systemu do właściwego zachowania się tylko w tych sta nach, które faktycznie występują w trakcie jego interakcji ze środowiskiem.
752
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Znamy już także podstawową różnicę wykorzystywanych środków, jaka dzieli programowanie dynamiczne i uczenie się ze wzmocnieniem. O ile pierwsze bez względnie wymaga znajomości środowiska, czyli wartości oczekiwanych nagród R(x, a) dla wszystkich x E X i a £ A oraz prawdopodobieństw przejść Pxy(a) dla wszystkich x, y G X i a e A, o tyle drugie nie zakłada, że wielkości te są zna ne, i wykorzystuje faktycznie zaobserwowane nagrody i przejścia stanów, czyli doświadczenia pochodzące z interakcji ze środowiskiem. Na pozornie uproszczony cel, jaki stoi przed uczeniem się ze wzmocnieniem w porównaniu z programowaniem dynamicznym, można patrzeć jako na cenę pła coną za osłabienie założeń co do dostępnych środków realizacji tego celu. Nie jest to jednak najwłaściwszy punkt widzenia. Odstępstwo od wymogu uzyskania stra tegii ściśle optymalnej jest bowiem raczej „tylko" rezygnacją z teoretycznej gwa rancji jej niezawodnego znalezienia w pewnych bardziej realnych sytuacjach i nie musi oznaczać jakiegokolwiek praktycznie istotnego pogorszenia jakości działania systemu. Poprzestanie na wymaganiu działania optymalnego zamiast znajdowania optymalnej strategii również nie jest żadnym ograniczeniem z praktycznego punk tu widzenia. To natomiast, co za te „ustępstwa" zyskujemy, to przede wszystkim znaczne poszerzenie zakresu możliwych zastosowań. Otóż dla rzeczywistych śro dowisk znajomość oczekiwanych wartości nagród i prawdopodobieństw przejść stanów jest bardzo rzadko osiąganym luksusem. Na ogół informacje te nie są do stępne i wówczas użycie metod programowania dynamicznego jest możliwe tylko pod warunkiem wcześniejszego ich uzyskania na podstawie interakcji ze środowi skiem i gromadzenia odpowiednich obserwacji, co można traktować jako rodzaj uczenia się z nadzorem. Takie pośrednie podejście, w którym fazę obliczania stra tegii optymalnej poprzedza faza identyfikacji środowiska, nie zawsze jednak może być zastosowane w praktyce, gdyż uzyskanie dostatecznie wiarygodnego i pełne go (przewidującego poprawnie efekty wykonania wszystkich akcji we wszystkich stanach) modelu złożonego stochastycznego środowiska wymaga zazwyczaj bar dzo dużej liczby interakcji. W takich przypadkach podejście bezpośrednie, pole gające na zastosowaniu uczenia się ze wzmocnieniem, może być bardziej ekono miczne, umożliwiając uzyskanie (być może częściowej) strategii optymalnej lub prawie optymalnej kosztem mniejszej liczby interakcji. Dodatkowo uczenie się ze wzmocnieniem umożliwia ciągłe doskonalenie strategii i reagowanie na ewen tualne zmiany środowiska (jeśli oczywiście nie są one zbyt szybkie), czyli zapew nia zdolność do adaptacji niemożliwą przy stosowaniu programowania dynamicz nego. Zobaczymy także, że rezygnując z gwarancji optymalnosci uczenie się ze wzmocnieniem umożliwia dalsze istotne rozluźnienie założeń o środowisku. Po pierwsze, jest możliwe efektywe znajdowanie strategii dla dużych i w szczególno ści nieskończonych przestrzeni stanów dzięki generalizacji w zbiorze podobnych stanów. Są w tym celu wykorzystywane znane nam już uczące się aproksymatory funkcji. Po drugie, pod pewnymi warunkami można odstąpić od wymogu speł-
13.4. UCZENIE SIĘ FUNKCJI WARTOŚCI
753
niania przez środowisko własności Markowa, choć na ogół wymaga to bardziej zaawansowanych algorytmów niż te, które omówimy w tym rozdziale. Nawet wtedy, kiedy ze względu na właściwości środowiska i dostępną o nim wiedzę jest możliwe zastosowanie programowania dynamicznego, uczenie się ze wzmocnieniem niekoniecznie musi być gorszą alternatywą. Wynika to z jeszcze jednej istotnej cechy, która odróżnia oba podejścia do rozwiązywania problemów decyzyjnych Markowa. Metody programowania dynamicznego, dokonując iteracyjnie wielokrotnego przeglądania całej przestrzeni stanów, mogą w pewnym sen sie „marnować" znaczną część wykonywanych obliczeń na aktualizowanie funkcji wartości lub strategii dla stanów, które przy posługiwaniu się strategią optymalną nie są w ogóle osiągalne i o których w związku z tym nie trzeba nic wiedzieć, aby móc optymalnie działać. Jednocześnie wymagany przez programowanie dy namiczne model środowiska, skoro jest dostępny, może być także wykorzystany przez uczenie się ze wzmocnieniem do ograniczenia niezbędnej liczby interakcji ze środowiskiem.
13.4 Uczenie się funkcji wartości W pewnym sensie dopiero teraz naprawdę rozpoczyna się ten rozdział, gdyż to w obecnym podrozdziale po raz pierwszy zaczniemy mówić o algorytmach, które — choć jeszcze nie rozwiązują problemu uczenia się ze wzmocnieniem — nie wy magają przyjęcia żadnych założeń, które stałyby w sprzeczności z podanym przez nas sformułowaniem tego problemu. Będzie więc mowa o algorytmach nie wyma gających, w przeciwieństwie do metod programowania dynamicznego, znajomości środowiska, których działanie opiera się wyłącznie na dynamicznych interakcjach z tym środowiskiem. Zaczniemy jednak, tak jak w przypadku programowania dy namicznego, nie od poszukiwania strategii optymalnych, lecz od wyglądającego na łatwiejszy problemu wartościowania ustalonej strategii. Nawet jeśli problem ten nie stanowi sam w sobie interesującego nas celu, zajęcie się nim na począ tek jest z całą pewnością uzasadnione, gdyż podstawą algorytmów uczenia się ze wzmocnieniem jest właśnie uczenie się funkcji wartości lub funkcji wartości ak cji bez zakładania wstępnej znajomości środowiska. Zobaczymy, że w odpowied ni sposób łączą one wartościowanie swojej aktualnej strategii z jej poprawianiem, przy czym o ile mechanizmy stosowane do tego poprawiania bywają w przypadku poszczególnych algorytmów różne, wspólną cechą tych algorytmów jest właśnie sposób wartościowania strategii. Znakomita większość z nich wykorzystuje bo wiem w tym celu metody różnic czasowych, czyli rodzinę algorytmów uczenia się na podstawie interakcji, którą będziemy określać w powszechnie przyjęty sposób skrótem TD, pochodzącym od jej angielskiej nazwy6. 6
Chodzi o skrót terminu Temporal Differences.
754
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
13.4.1
Algorytm TD
Metody różnic czasowych są pewnego rodzaju niestandardowym podejściem do wieloetapowych problemów predykcyjnych. W takich problemach należy na każ dym etapie wygenerować prognozę pewnej nieznanej końcowej wartości na pod stawie dostępnej w tym kroku cząstkowej informacji. Można przyjąć, że w ko lejnych krokach informacja ta jest coraz bardziej pełna i wiarygodna, powinna więc umożliwiać coraz lepsze stawianie prognozy. W trakcie uczenia się predyk cje generowane w poszczególnych krokach modyfikuje się za pomocą błędów ob liczanych jako różnice wartości przewidywanych w dwóch kolejnych krokach cza su, w jednym, którego dotyczy modyfikacja, oraz następnym, w którym prognoza przez domniemanie powinna być lepsza. Nas jednak nie interesują tu metody róż nic czasowych w ich maksymalnie ogólnej postaci, zwłaszcza że zdecydowanie najważniejsze zastosowanie znalazły właśnie w uczeniu się ze wzmocnieniem. W przypadku wartościowania strategii dla celów uczenia się ze wzmocnie niem wartością „przewidywaną" w kroku t jest zdyskontowana suma przyszłych nagród, reprezentująca wartość stanu x t . Jest to dochód TD dla kroku t, zdefinio wany w następujący sposób:
*t = 5>* r *+*-
(13.24)
Ponieważ dla środowiska stochastycznego dochody TD również mają charakter niedeterministyczny, w kroku t możemy przewidywać co najwyżej wartość ocze kiwaną dochodu zt przy założeniu posługiwania się przez ucznia pewną strate gią 7r, co jest właśnie wartością V*(xt): E* [zt] = V*(xt).
(13.25)
Do nauczenia się przewidywania dochodów TD, a więc funkcji wartości dla ustalonej strategii, na podstawie obserwacji stanów i nagród wynikających ze sto sowania tej strategii do wyboru kolejno wykonywanych akcji, służy podstawowy algorytm TD. Zaczynając od arbitralnie zainicjowanej funkcji wartości VQ W kro ku czasu 0, w kolejnych krokach czasu t = 0 , 1 , . . . dokonuje jej modyfikacji na podstawie doświadczenia zaobserwowanego w tym kroku7. Jeśli więc w stanie xt została wykonana akcja at — 7r(xt), co w konsekwencji spowodowało uzyska nie nagrody rt i zaobserwowanie następnego stanu xt+u t 0 stosowana operacja aktualizacji, nazywana regułą TD, ma postać: uaktualni/(V(xt),
rt + jVt(xt+l)
- Vt(xt)).
(13.26)
7 Indeksy dolne przy wartościach funkcji oznaczające krok czasu, z którego wartości te pochodzą, są istotne ze względu na założenie o inkrementacyjnym trybie uczenia się, w którym modyfikacji funkcji dokonuje się na bieżąco w każdym kroku.
13.4. UCZENIE SIĘ FUNKCJI WARTOŚCI
755
Zapis ten oznacza, według konwencji, którą tu przyjmujemy, że wartość funkcji V dla stanu xt ma zostać zmieniona za pomocą błędu rt+yVt(xt+i ) — Vt(xt)w stop niu określonym przez współczynnik rozmiaru kroku (3. Interpretacja tej operacji, a w szczególności rola błędu i rozmiaru kroku, jest taka jak określona w poświęco nym uczeniu się aproksymacji funkcji rozdziale 8. Wprawdzie jeszcze kilkanaście stron dzieli nas od omawiania sposobu wykorzystania aproksymatorów funkcji w uczeniu się ze wzmocnieniem, lecz już z wyprzedzeniem będziemy formuło wać algorytmy w taki sposób, aby dla domyślnego czytelnika ich rola była jasna. Operacja aktualizacji algorytmu TD może być w istocie realizowana jako operacja aktualizacji aproksymatora używanego do reprezentowania funkcji V. dla wszystkich kroków czasu t wykonaj obserwuj aktualny stan xt; wybierz akcję at — n(xt) do wykonania w stanie x%\ wykonaj akcję at\ obserwuj wzmocnienie rt i następny stan xt+\\ A := rt + jVt(xt+i) - Vt{xt); uaktualnij13(V(xt), A). koniec dla Algorytm 13.5. Wartościowanie strategii za pomocą algorytmu TD Pełny ciąg operacji wykonywanych w każdym kroku czasu podczas warto ściowania strategii za pomocą metod różnic czasowych przedstawia algorytm 13.5, w którym reguła TD jest osadzona w serii interakcji ucznia ze środowiskiem zorga nizowanych według scenariusza znanego nam już z algorytmu 13.1 i nie wymaga jącego w związku z tym dodatkowego komentarza. Takiego komentarza wymaga obliczany w tym algorytmie jako A błąd TD, za pomocą którego jest następnie ak tualizowane oszacowanie funkcji wartości. Jak nas przyzwyczaił rozdział 8, błąd taki można traktować jako różnicę między wartością docelową a wartością dotych czasową aktualizowanej funkcji. Tą drugą jest oczywiście Vt{xt), a rolę pierwszej odgrywa suma otrzymanej w kroku t nagrody i zdyskontowanej wartości następ nego stanu, rt+yVt(xt+i). Modyfikacja ma na celu zbliżenie (w stopniu zależnym od /?) wartości stanu xt do wartości docelowej, którą uznaje się za prawdopodob nie lepsze oszacowanie „prawdziwej" wartości Vn(xt) niż Vt(xt). Porównując sumę rt + yVt(xt+\) z prawą stroną równania Bellmana dla funk cji wartości (czyli równania (13.11)) dostrzegamy, że oczekiwaną wartość wzmoc nienia zastępuje ona faktycznie uzyskaną wartością rt, a oczekiwaną wartość na stępnego stanu (obliczaną tam za pomocą prawdopodobieństw Pxy{a)) zastępuje wartością faktycznie zaobserwowanego następnego stanu. Mówi się wobec tego czasem, że algorytmy uczenia się ze wzmocnieniem oparte na metodach różnic czasowych są symulacją typu Monte-Carlo programowania dynamicznego.
756
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
13.4,2
Zbieżność
Dla podstawowego algorytmu TD istnieją rezultaty teoretyczne, których dowody pominiemy, gwarantujące pod pewnymi warunkami zbieżność do funkcji wartości V71 dla ustalonej aktualnej strategii n. Dokładniej, można zagwarantować zbież ność do częściowej funkcji wartości, czyli określonej na zbiorze tylko tych stanów z X, które pojawiają się (są odwiedzane przez ucznia, jak często się mówi) pod czas posługiwania się strategią ir. Może być bowiem tak, że uczeń wykonujący akcje zgodnie z tą strategią pewnych stanów nigdy nie osiągnie. Dla stanów, które mają niezerowe prawdopodobieństwo odwiedzenia przez ucznia, warunki zbieżności konstruowanego przez algorytm TD oszacowania do funkcji wartości Vn, oprócz dostatecznie wielu kroków interakcji ze środowi skiem, to 1) tablicowa (dyskretna) reprezentacja funkcji wartości, 2) stosowanie ciągu zmiennych współczynników /3, spełniającego standardowe wymagania stochastycznej zbieżności. Zbieżność oznacza w tym przypadku dla każdego (osiągalnego) stanu x E X, że dla dowolnej wartości e > 0 jest spełniony warunek: lim Pr (\Vt(x) - V(x)\ < e) - 1.
(13.27)
t—KX>
Jest to zbieżność z prawdopodobieństwem 1, o jakiej zawsze mówi się w przy padku algorytmów uczenia się ze wzmocnieniem. Gwarancje zbieżności, o jakich wspominamy w tym rozdziale, dotyczą zawsze zbieżności w tym sensie. Tablicowa reprezentacja funkcji oznacza, że dla każdego stanu x jest dokładnie jeden element tablicy zawierający aktualną wartość V(x), a jej aktualizacja za pomocą błędu A odbywa się w kroku t w następujący oczywisty sposób: Vt+i(x):=Vt(x)+0A.
(13.28)
Z kolei standardowe wymagania dotyczące współczynników rozmiaru kroku /3 stosowanych do takiej aktualizacji oznaczają, że i-ta aktualizacja funkcji dla stanu x odbywa się z wykorzystaniem rozmiaru kroku (3i(x), przy czym ciąg wartości Pi{x) spełnia znane nam już z rozdziału 8 warunki: OO
-i
&SW" 0 0 OO
-i
E^
(B.30,
Prosty ciąg o takich właściwościach może być określony następująco:
Pi(x) = 4 -
( ł3 - 31 >
13.5. UCZENIE SIĘ STRATEGII
757
przy czym a E (0,5; 1]. W praktyce jednak dla algorytmów uczenia się ze wzmoc nieniem opartych na TD, które poznamy w następnym podrozdziale, najczęściej stosuje się stałe wartości rozmiaru kroku. Chociaż teoretycznie nie pozwala to na osiągnięcie zbieżności, wystarcza na ogół do osiągnięcia stabilnej strategii, a dzię ki temu, że rozmiar kroku nigdy nie maleje do wartości bliskich 0, umożliwia dostosowanie się do ewentualnych zmian w stochastycznych mechanizmach rzą dzących zachowaniem środowiska.
13.5 Uczenie się strategii Jesteśmy już dobrze przygotowani do zmierzenia się z głównym celem uczenia się ze wzmocnieniem, jakim jest nauczenie się (być może częściowej) strategii optymalnej lub strategii dostatecznie dobrze przybliżającej strategię optymalną na podstawie interakcji ze środowiskiem. Sprawdzą się wcześniejsze zapowiedzi, że przedstawiony wyżej sposób wykorzystania metod różnic czasowych do warto ściowania strategii okaże się przydatnym środkiem do osiągnięcia tego celu. Al gorytmy, które zamierzamy przedstawić, reprezentują bowiem różne podejścia do uzupełnienia podstawowego algorytmu TD o mechanizm poprawiania wartościo wanej strategii. Są one najlepiej znanymi przykładami algorytmów uczenia się ze wzmocnieniem opartych na metodach różnic czasowych i, chociaż nie wyczer pują wszystkich możliwości konstruowania tego typu algorytmów, są dla nich naj bardziej reprezentatywne. 13.5.1
Algorytm AHC
Algorytm AHC uczy się w podany wcześniej sposób funkcji wartości, tyle że względem nie danej z góry i ustalonej, lecz względem ciągle modyfikowanej stra tegii, reprezentowanej za pomocą dodatkowej funkcji. Trzyliterowa nazwa tego algorytmu jest skrótem od pełnej nazwy angielskiej, która bezpośrednio tłumaczy się jako adaptacyjny heurystyczny krytyk*. Jak słusznie sugeruje nazwa, algorytm AHC jest przykładem architektury agenta typu aktor-krytyk, w którym są oddzielo ne moduły odpowiedzialne za podejmowanie decyzji (aktor) i przypisanie zasługi, czy też ocenę tych decyzji (krytyk). Rolę drugiego odgrywa oczywiście funkcja wartości, a raczej jej modyfikowane w czasie oszacowanie. Rolę pierwszego od grywa specjalna funkcja strategii /i : I x 4 4 SR, każdej parze stan-akcja (#, a) przyporządkowująca pewną liczbę rzeczywistą /i(a;, a), od której zależy szansa wykonania tej akcji. Liczba ta reprezentuje, ustalone na podstawie dotychczaso wych doświadczeń, „przekonanie" ucznia o pożytku z wykonania akcji a w sta nie x. Celowo odróżniamy tu funkcję strategii \x od strategii TT: pierwsza jest tylko 8
Nazwa angielska brzmi Adaptive Heuristic Critic.
758
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
pewnym sposobem reprezentowania drugiej. W najprostszym przypadku strate gię, którą posługuje się algorytm AHC, można określić jako zachłanną względem funkcji strategii, polegającą na wybieraniu w stanie x akcji a o największej warto ści fj,(x, a). Dalej zobaczymy jednak, że w praktyce są stosowane strategie stocha styczne, które akcjom o większych wartościach funkcji strategii dają tylko pewne preferencje przy wyborze. W każdym kroku czasu jest modyfikowana zarówno funkcja strategii dla aktu alnego stanu i wykonanej akcji, jak i funkcja wartości dla aktualnego stanu. W re zultacie algorytm uczy się funkcji wartości nie względem ustalonej strategii, lecz względem strategii zmieniającej się w czasie. Strategia ta z kolei jest modyfiko wana na podstawie funkcji wartości w sposób mający prowadzić do jej poprawia nia. Ważne jest, aby akcje wykonywane w trakcie uczenia się były (przynajmniej w sensie probabilistycznym) zgodne z aktualną funkcją strategii, gdyż w przeciw nym przypadku funkcja wartości nie będzie reprezentować wartości stanów dla tej strategii. To wymaganie oznacza, że AHC jest algorytmem zależnym od stra tegii: musi posługiwać się strategią, której się uczy. Tylko pod tym warunkiem będzie możliwe faktyczne poprawianie strategii, ewentualnie zbliżające ją do stra tegii optymalnej. Szczegółowy sposób modyfikacji obu funkcji w każdym kroku czasu przedstawia algorytm 13.6. 1 2 3 4 5 6 7 8 9
dla wszystkich kroków czasu t wykonaj obserwuj aktualny stan xt, at := wybierz-akcję{xułit)\ wykonaj akcję a±\ obserwuj wzmocnienie rt i następny stan xt+\\ A~rt + jVt{xw)~Vt{xt)\ uaktualnij®(V(xt), A); uaktualnijP(/j,(xt,at), A). koniec dla Algorytm 13.6. Algorytm AHC
Do aktualizacji obu funkcji jest użyta ta sama wartość błędu, który jest dobrze nam znanym błędem TD. W przypadku funkcji wartości wiemy już, że celem jej aktualizacji jest przybliżenie wartości stanu xt do rt+jVt(xt+i). Jednak strategia, względem której oblicza się funkcję wartości, w tym przypadku jest reprezentowa na przez również modyfikowaną funkcję JJL. Nieformalne uzasadnienie przyjętego sposobu przeprowadzania tej modyfikacji jest z kolei następujące. Wartość Vt(xt) reprezentuje oczekiwane (w czasie t) efekty, w sensie długoterminowej zdyskon towanej sumy nagród, wykonania w stanie xt akcji zgodnej z aktualną strategią. Zkolei suma/^+7^(0^+1) daje poprawione oszacowanie tych efektów: uwzględ nia bowiem faktyczne natychmiastowe skutki wykonania w stanie xt akcji at, wy-
13.5. UCZENIE SIĘ STRATEGII
759
branej na podstawie jit. Jeśli błąd TD, jako różnica tych dwóch oszacowań, jest do datni, to prawdopodobnie faktyczne konsekwencje wykonanej akcji są lepsze, niż się wydawało przed jej wykonaniem, a zatem należy zwiększyć JJL{X^ at). W prze ciwnym przypadku konsekwencje są gorsze niż spodziewane i należy zmniejszyć fj,{xt, at). W obu przypadkach wielkość zmiany zależy od modułu błędu. Powyższe nieformalne wyjaśnienie działania algorytmu AHC jest w gruncie rzeczy wszystkim, na co w przypadku tego algorytmu można liczyć. Nikomu bo wiem nie udało się udowodnić, że algorytm AHC jest zbieżny do strategii opty malnej pod jakimikolwiek warunkami. Trudność, a być może niemożliwość prze prowadzenia takiego dowodu wynika z jednoczesnego stosowania w nim dwóch współbieżnych procesów aktualizacji dwóch funkcji, wzajemnie na siebie wpły wających: funkcja strategii określa aktualną strategię, dla której jest wyznaczana funkcja wartości, ta zaś jest używana do obliczania błędów, za pomocą których jest modyfikowana tamta. Nie zmienia to faktu, że w praktyce algorytm AHC działa dość dobrze, a w każdym razie nie ustępuje na ogół innym algorytmom o lepiej rozwiniętej teorii. Szukając analogii do programowania dynamicznego, można wskazać na podo bieństwo algorytmu AHC do iteracji strategii. Wyznacza on oszacowanie funkcji wartości względem aktualnej niezależnie reprezentowanej strategii i wykorzystuje tę funkcję wartości do poprawiania strategii w sposób, który zbliża ją do strategii zachłannej względem tej funkcji. O ile jednak oba analogiczne procesy wartościo wania i poprawiania strategii są w algorytmie iteracji strategii wyraźnie oddzielone od siebie i naprzemienne, o tyle w przypadku algorytmu AHC ściśle się ze sobą przeplatają: w każdym kroku czasu następuje zarówno wartościowanie strategii (aktualizacja funkcji wartości), jak i jej poprawianie (aktualizacja funkcji strate gii). To z kolei przypomina bardziej iterację wartości, w której jednak, dla odmia ny, nie korzysta się z odrębnej strategii, lecz dokonuje poprawiania strategii za chłannej niejawnie reprezentowanej przez funkcję wartości. Odpowiednikiem ta kiego podejścia jest na gruncie uczenia się ze wzmocnieniem algorytm Q-learning, który omówimy jako kolejny. Przykład 13.15 (GRID-6). Prześledzimy działanie algorytmu AHC dla środowi ska GRID-6 Z przykładu 13.6, zakładając że uczeń rozpoczynający działanie w kroku 0 w stanie 13 wykonuje następujący ciąg akcji: i, t> «-, -K t> *-> -K -•> -1» —•• Jak łatwo sprawdzić, po wykonaniu ostatniej z nich nastąpi przejście do stanu 05 i przyznanie nagrody równej 1, podczas gdy we wcześniejszych krokach wynosi ona 0. Przyjmiemy, że wartości funkcji V dla wszystkich stanów są zainicjowane na 1, a wartości funkcji \i dla wszystkich stanów i akcji są zainicjowane na 0. Do obliczeń wykorzystamy współczynnik dyskontowania 7 = 0,9 oraz jednakowy dla aktualizacji obu funkcji rozmiar kroku a = j3 — 0,5. Tablica 13.1 przedstawia dla kolejnych kroków czasu stan, akcję, nagrodę oraz wartości funkcji V i /z przed oraz po zastosowaniu właściwych dla algorytmu AHC operacji aktualizacji.
760
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
13*5.2 Algorytm Q-Iearning Znacznie lepiej rozumianym teoretycznie od algorytmu AHC i najczęściej stoso wanym algorytmem uczenia się ze wzmocnieniem jest algorytm Q-learning, któ ry — jak sugeruje to nazwa — uczy się funkcji wartości akcji. Ściślej, uczy się on oszacowania optymalnej funkcji wartości akcji, tak aby móc uzyskać strate gię optymalną jako zachłanną względem niej. Potwierdza to wcześniejsze uwagi o zaletach optymalnej funkcji wartości akcji jako zwartej reprezentacji zarówno optymalnej funkcji wartości, jak i optymalnej strategii. Skoro szacowaniu podlega jedna tylko funkcja, w algorytmie występuje jedna operacja aktualizacji, która w kroku czasu t zmienia oszacowanie funkcji Q dla aktualnego stanu xt i wykonanej w nim akcji a*. Można ją zapisać w następującej postaci: uaktualnif (Q{xuat),
rt + ym&xQt(xt+i,a)
-Qt(xt,at)).
(13.32)
Wiemy już, jak interpretować reguły tego typu. Tym razem wartością docelową, do której w wyniku modyfikacji ma się zbliżyć wartość funkcji Q dla stanu xt i akcji at, jest suma rt 4- 7max a Qt(xtJr\^a)t Porównując ją z prawą stroną rów nania optymalności Bellmana dla funkcji wartości akcji (czyli równania (13.14)) dostrzegamy, że ponownie mamy do czynienia z zastąpieniem nieznanych war tości oczekiwanych znanymi faktycznymi realizacjami odpowiednich zmiennych losowych. Gdybyśmy zapisali oparty na tym równaniu algorytm iteracji wartości akcji, co zostało pozostawione jako proste ćwiczenie dla czytelnika, to algorytm Q-learning można by traktować jako jego ścisły odpowiednik typu Monte-Carlo. dla wszystkich kroków czasu t wykonaj obserwuj aktualny stan x%\ at := wybierz-akcję(xt,Qt)\ wykonaj akcję af, obserwuj wzmocnienie rt i następny stan rct+i; A := rt + 7 m a x a Q f ( x f + i , a ) - Qt(xt,at)\ uaktualnij^(Q(xt,at), A). koniec dla Algorytm 13.7. Algorytm Q-learning Pełny ciąg operacji wykonywanych w każdym kroku czasu jest przedstawio ny jako algorytm 13.7, będący odpowiednią konkretyzacją ogólnego scenariusza uczenia się ze wzmocnieniem. Zauważmy, że przy operacji wyboru akcji do wy konania w aktualnym kroku czasu nie mówi się nic o sposobie, w jaki ma ona zostać wybrana. Mimo że wartości Q wyznaczają pośrednio strategię zachłanną, posługiwanie się nią przez ucznia nie jest konieczne. W przeciwieństwie do al-
761
13.5. UCZENIE SIĘ STRATEGII
LO O
—*O
LO LO LO
O
1 LO CM
«—
[c?
LO LO
o o o o o o o o o o o o o 11 1 i1 CO 1—1
!>o
CM
o o o o o o o o o o o 1
\—'
T—1
LO CM LO N- CM
1—1
lO ŁO T^ Tf
+
iT
LO t-
o o o o ^ o o o o o o o o o o i ; 11 1 LO LO LO
Tt* Tf rj* LO
io
LO
o o o o o o o o o o o o o o 1 i 1 11 1 LO LO
LO
o ~> o o o o o o o o o o o o ol 1 1 f 1 «— o o o o o o o o o o «
1—1
-w
LO
TF H-M o a. t o o o o o o o o o o 1 LO LO
i < E
LO
o o o o o o o o o o o" 1 11
H
**~—s
OJQ
+ ^
1—1
LO LO TF tLO CM IV 00 LO LO r^- CM LO N- LO CM LO CM o en CT> OO oo o Ol G O ) ^ o o o o o o O O H
^LO CM o o
LO ^ CM IV LO O LO o C5 00
-w N
O
v
o
• i—i
O
H
cd
^-^ ^
s
^ e fj
H
i—1
r-H
o o o
I—l
TH
o o o o o o o —• «-
LO LO O O O i-c O ]
O
O
rH
i T<- i T T -• T
co co CO co co CO CM CO ^ r-H CM T — 1 i-i rH o o O O
^ \ O
PO
0
•4-i
O
H CM CO TF LO CD h
oo Oi
762
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
gorytmu AHC dla procesu uczenia się nie jest ważne, czy akcje są w kolejnych krokach wybierane zgodnie z tą strategią (choćby w sensie zgodności probabili stycznej). W związku z tym algorytm Q-learning należy do kategorii algorytmów niezależnych od strategii: może posługiwać się strategią inną niż ta, której się uczy. Celem algorytmu jest wprawdzie nauczenie się optymalnej funkcji wartości akcji, lecz nie wymaga to od niego wybierania do wykonania w kolejnych krokach akcji maksymalizujących wartości tej funkcji. Maksymalizacja jest w tym przypadku, tak jak w odpowiednim równaniu optymalności Bellmana, stosowana do wartości akcji w następnym stanie. Algorytm Q-learning jest prostszy niż AHC (uczy się tylko jednej funkcji o ja snej interpretacji) i bardziej bezpośrednio spokrewniony z programowaniem dy namicznym, ma więc także znacznie lepiej rozwiniętą teorię. Można udowodnić, że konstruowane przez niego oszacowanie funkcji Q jest zbieżne do optymalnej funkcji wartości akcji Q* pod warunkami podobnymi do tych, które były podane wcześniej dla podstawowego algorytmu TD. Są to: 1) tablicowa reprezentacja funkcji Q, 2) stosowanie ciągu zmiennych współczynników /3, spełniającego standardowe wymagania, oraz dodatkowo 3) dostateczna eksploracja. Pierwszy warunek oznacza, że wartość Q(x,a) dla każdego stanu x i każdej ak cji a jest reprezentowana jako dokładnie jeden element tablicy, a jej aktualizacja w kroku t za pomocą błędu A następuje jako podstawienie: Qt+i{x,a) := Qt(x7a)+J3A.
(13.33)
Standardowe wymagania dotyczące stosowanych do takiej aktualizacji współczyn ników rozmiaru kroku /3 oznaczają w tym przypadku, że i-ta aktualizacja dla stanu x i akcji a odbywa się z wykorzystaniem rozmiaru kroku /3*(a;, a), przy czym ciąg wartości fti(x, a) spełnia znane nam już warunki: OO
-i
Y—— = OO
(13.34)
i
(13.35) Jak wspomniano wcześniej, wymagania te są rzadko spełniane przez parametry stosowane w praktyce. Ostatni warunek, który jest tu nowością, oznacza, że w każ dym kroku czasu w aktualnym stanie xt każda akcja ma szansę być wykonana, czyli może zostać wybrana przez ucznia z pewnym niezerowym prawdopodobień stwem. Inaczej mówiąc, w każdym odwiedzanym przez ucznia stanie każda akcja
763
13.5. UCZENIE SIĘ STRATEGII
będzie wykonana nieskończenie wiele razy, jeśli algorytm działa nieskończenie długo. Jest to warunek niezbędny do zapewnienia, że będzie możliwe wiarygodne oszacowanie wartości każdej akcji możliwej do wykonania we wszystkich odwie dzanych stanach. 13.5.3
Algorytm Sarsa
Niezwykle blisko spokrewniony z algorytmem Q-learning — tak blisko, że mógł by uchodzić za jego zmodyfikowaną wersję — jest najnowszy spośród popular nych algorytmów uczenia się ze wzmocnieniem, znany pod nazwą Sarsa9. Mody fikacja polega na zastąpieniu zwykłej reguły aktualizacji funkcji Q przez następu jącą regułę: uaktualnif (Q(xuat),
rt +jQt(xt+i,
a*+i) - Qt(xuat))9
(13.36)
w której nie występuje maksymalizacja wartości akcji w następnym stanie, a do obliczenia błędu jest po prostu wykorzystywana wartość akcji, jaka faktycznie zo stanie w tym stanie wybrana do wykonania. Wymaga to wstrzymania się z doko naniem aktualizacji wartości dla stanu x% i akcji at do czasu, gdy dla stanu xt+\ zostanie wybrana akcja at+i. Możliwości takiej nie przewidywał ogólny scena riusz uczenia się ze wzmocnieniem przedstawiony jako algorytm 13.1, który w tym przypadku wymaga odpowiedniego dostosowania. Jego szczegóły przedstawia al gorytm 13.8. dla wszystkich kroków czasu t wykonaj jeśli t — 0 to obserwuj aktualny stan XQ\ a0 := wybierz-akcję(x0iQo)\ koniec jeśli wykonaj akcję a$; obserwuj wzmocnienie rt i następny stan rrt+i; a*+i := wybierz-akcję{xt+i,Qt)\ A := r t + 7<2t(^+i> a m) -Qt{xuat)\ uaktualnijP(Q(xt,at)i A). koniec dla Algorytm 13.8. Algorytm Sarsa Usunięcie maksymalizacji wartości akcji z reguły aktualizacji eliminuje me chanizm, który w algorytmie Q-learning zapewniał zbieżność do optymalnej funk cji wartości akcji (lub dawał nadzieję na tę zbieżność, jeśli jej formalne warunki nie 9
Nazwa pochodzi od skrótu angielskich słów State, Action, Reward, State, Action, czyli stan, akcja, nagroda, stan, akcja, opisujących przyjmowany w tym algorytmie scenariusz uczenia się.
764
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
były spełnione). Aby można było oczekiwać od algorytmu Sarsa poprawiania stra tegii zachłannej względem funkcji wartości akcji i ewentualnego osiągnięcia stra tegii optymalnej, trzeba ten wyeliminowany mechanizm poprawy zastąpić innym. Zauważmy, że o ile reguła aktualizacji algorytmu Q-learning odpowiada równaniu optymalności Bellmana dla funkcji wartości akcji, o tyle reguła stosowana przez algorytm Sarsa może być uznana za odpowiednik (zwykłego) równania Bellmana dla tej funkcji względem ustalonej strategii. Ponieważ prowadzi ona w związku z tym do uczenia się funkcji wartości akcji względem aktualnej strategii, poszu kiwanym mechanizmem poprawy może być posługiwanie się strategią zachłanną względem tej funkcji. Czyni to z algorytmu Sarsa algorytm zależny od strategii — wymaga on posługiwania się strategią, której się uczy, zachłanną względem funkcji Q, przeplatając jej wartościowanie i poprawianie. Można przy okazji zauważyć, że jest także możliwa inna modyfikacja algoryt mu Q-learning, zmieniająca go w algorytm zależny od strategii. Może ona polegać na wykorzystaniu, tak jak w algorytmie AHC, odrębnej funkcji strategii. Taki algo rytm uczyłby się funkcji wartości akcji względem strategii reprezentowanej przez funkcję strategii, ta zaś byłaby także modyfikowana przez jej „uzachłannianie". Odpowiednie reguły aktualizacji mogą mieć postać: uaktualnij01 (Q(xuat)y uaktualnij^(fi(xuat),
rt + -yQt(xt+uat+i) - Qt(xuat)), rt + -yQt(xt+uat+i)
-Qt{xuat))9
(13.37) (13.38)
jeśli przez \i oznaczymy funkcję strategii. Jednak ani taki algorytm, ani zwykły algorytm Sarsa nie uzyskały formalnych dowodów zbieżności. Mimo to przynaj mniej ten drugi jest uważany za bardzo skuteczny w praktyce.
13.6 Wybór akcji Problem eksploracji, do którego dotarliśmy omawiając algorytm Q-learning, ma bardzo istotne znaczenie dla wszystkich algorytmów uczenia się ze wzmocnie niem. Właściwy poziom eksploracji jest niezbędny do uzyskania zbieżności al gorytmu Q-learning. Nie wspominaliśmy o tym przy omawianiu algorytmu AHC tylko dlatego, że jego zbieżności i tak nie da się zagwarantować, lecz oczywiście w praktyce eksploracja jest również niezbędna. Eksploracja jest działaniem syste mu uczącego się skierowanym ku zdobyciu jak największej wiedzy o środowisku, w którym działa, realizowanym przez odpowiednio dobrane strategie wyboru ak cji. Już definiując stacjonarną i deterministyczną strategię dla procesu decyzyjnego Markowa zastrzegaliśmy, że praktyczne algorytmy uczenia się ze wzmocnieniem stosują w istocie strategie niestacjonarne i niedeterministyczne. Niestacjonarność strategii to oczywista konsekwencja jej modyfikacji (poprawiania) w trakcie uczę-
13.6. WYBÓR AKCJI
765
nia się. Niedeterminizm strategii zaś to jeden z najczęściej wykorzystywanych spo sobów zapewnienia eksploracji. Zauważmy, że w przypadku uczenia się ze wzmocnieniem mamy do czynienia, przynajmniej z pozoru, z konfliktem między działaniem w celu zdobycia wiedzy o środowisku, jakim jest eksploracja, a działaniem w celu zdobycia nagród, któ re jest nazywane eksploatacją wiedzy już zdobytej. System uczący się, który na podstawie dotychczasowych doświadczeń skonstruował pewną strategię, trzyma jąc się jej zbyt kurczowo ryzykuje, że nie wykorzysta istniejących możliwości jej poprawienia, lecz zbytnio eksperymentując ryzykuje, że straci nagrody możliwe do uzyskania przy posługiwaniu się tą strategią. Problem, jakiego dotknęliśmy, jest nazywany problemem wymiany między eksploracją a eksploatacją. Skutecz ny system uczenia się ze wzmocnieniem musi tak czy inaczej rozwiązywać ten problem, a od jakości rozwiązania zależy jakość działania systemu. Dla każdego algorytmu eksploracja wpływa na szybkość zbieżności i jakość uzyskanej strategii — zbyt mała eksploracja może powodować przedwczesną zbieżność do strategii suboptymalnej, zbyt duża eksploracja powoduje, że zbieżność jest powolna, a po nauczeniu się optymalnej strategii uczeń się nią nie posługuje. Zapewnienie wyłącznie eksploracji jest trywialnie proste w przypadku algo rytmów niezależnych od strategii — wystarczy jednostajnie losowy wybór akcji. System wtedy się uczy, lecz ze zdobywanej umiejętności nie korzysta i zachowuje się losowo. Nie jest to już tak łatwe w przypadku algorytmów zależnych od strate gii. Prawdziwa trudność polega jednak nie tylko na zapewnieniu dostatecznej eks ploracji, lecz także na jej odpowiednim balansowaniu z eksploatacją. Niezależnie bowiem od tego, czy mamy do czynienia z algorytmem zależnym czy też niezależ nym od strategii, jest oczywiste, że oczekujemy od ucznia poprawy działania (czyli zwiększania dochodów) w trakcie uczenia się, a więc eksploatacji. Z drugiej stro ny, jeśli jego aktualna strategia nie jest optymalna, to musi on poznać (i docenić) efekty innych akcji niż wynikające z tej strategii, a więc eksplorować. Ponieważ w praktyce problem eksploracji jest równie ważny dla obu rodzajów algorytmów, jego tylko teoretyczna łatwość dla algorytmów niezależnych od strategii nie jest żadnym argumentem na ich rzecz, a przeciw algorytmom zależnym od strategii. Dyskusja o eksploracji grozi nam pewnym zamieszaniem terminologicznym, a dokładniej nieporozumieniami co do sensu terminu „strategia". Może powstać wątpliwość, co rozumiemy przez strategię systemu uczącego się ze wzmocnie niem. Czy jest nią, aby trzymać się poznanych przez nas konkretnych algorytmów, strategia jednoznacznie wyznaczana przez funkcje /i albo Q, jako strategia za chłanna, od posługiwania się którą uczeń eksplorując od czasu do czasu odstępuje, czy też jest nią ta właśnie najczęściej niedeterministyczna strategia, jaką się on posługuje. Można by tę kontrowersję skwitować krótkim wyjaśnieniem, że ma my po prostu dwie różne, choć związane ze sobą strategie: jedna, której system się uczy, i druga, którą się posługuje, otrzymana z pierwszej przez wprowadzenie
766
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
eksploracji. Takie wyjaśnienie jest do przyjęcia dla algorytmów niezależnych od strategii, jak Q-learning, lecz niezbyt pasuje do algorytmów zależnych od strate gii, o których powiedziano, że muszą się posługiwać tą samą strategią, której się uczą. Przyjmiemy zatem, aby uniknąć nieporozumień, że muszą się one posługi wać swoją strategią przez większość czasu, czy też inaczej mówiąc, że muszą się nią posługiwać w sposób probabilistyczny. Oznacza to, że dopuszczalne są od tej strategii odstępstwa: oprócz akcji zgodnych ze strategią są niekiedy wykonywane akcje niezgodne ze strategią, czyli eksperymentalne. Zatem zarówno algorytm za leżny, jak i niezależny od strategii w praktyce posługuje się strategią stochastyczną różniącą się od tej, której się uczy. O ile jednak w przypadku algorytmów nieza leżnych od strategii różnica ta może być dowolnie duża, o tyle dla algorytmów zależnych od strategii akcje zgodne ze strategią muszą być wyraźnie preferowane.
13.6.1 Strategie probabilistyczne Efektywne strategie eksploracji stanowią jeden z ważnych problemów badaw czych w uczeniu się ze wzmocnieniem. Tu przedstawimy tylko dwa najprostsze podejścia do tego problemu, oparte na stosowaniu „prawie zachłannych" strate gii stochastycznych. Na potrzeby tej prezentacji będziemy zakładać, że strategia n jest dwuargumentową funkcją, przyporządkowującą każdemu stanowi x i akcji a prawdopodobieństwo, z jakim akcja a zostanie wybrana do wykonania w stanie x. Tak właśnie jako funkcję n : X x A »->• [0,1] definiuje się strategię niedeterministyczną. Omawiane strategie będą przedstawione tylko dla algorytmu Q-learning, lecz w taki sam sposób mogą być stosowane dla algorytmu AHC lub każdego innego, w którym podlegająca uczeniu strategia jest reprezentowana przez rzeczywistowartościową funkcję stanów i akcji. Strategia e-zachłanna. Najprostszą „prawie zachłanną" strategią stochastyczną jest strategia e-zachłanna, w której z pewnym prawdopodobieństwem e > 0 wy biera się dowolną akcję losowo według rozkładu jednostajnego, a z prawdopodo bieństwem l — e wybiera się akcję zachłanną (jeśli jest ich wiele, to także losowo). Formalnie można to zapisać następująco: ^
a
*
) =
J l A J i d a ^ I I + R[ 1 OT
Jeślia*eArgrm»c a Q(*,a), w przeciwnym przypadku,
^ ^
przy czym Arg max a Q(x, a) oznacza zbiór wszystkich wartości a, które maksy malizują Q(x, a). Strategia oparta na rozkładzie Boltzmanna. Wadą strategii e-zachłannej jest to, że prawdopodobieństwo losowego zachowania się ucznia nie zależy od tego,
13.7. REPREZENTACJA FUNKCJI
767
czego już zdołał się nauczyć. Jednym ze sposobów przezwyciężenia tego manka mentu jest redukowanie wartości e w trakcie uczenia się Inny sposób to strategia oparta na rozkładzie Boltzmanna, opisana wzorem:
£aexp(Q(z,a)/T) przy czym parametr T > 0, nazywany temperaturą, reguluje stopień losowości. Wartości bliskie 0 powodują niemal deterministyczny wybór akcji zachłannej, a duże wartości czynią wybór akcji niemal zupełnie losowym. Przy tej strategii, którą będziemy nazywać krótko strategią Boltzmanna, prawdopodobieństwo wy boru akcji niezachłannej jest tym mniejsze, im bardziej akcja zachłanna ma więk szą (^-wartość od pozostałych. Oczywiście w trakcie uczenia się można „schła dzać" tę strategię, redukując T. Jest to udoskonalenie często uznawane za korzyst ne, choć w istocie niezbyt często stosowane. 13.6.2
Strategie licznikowe
Bardziej zaawansowane mechanizmy eksploracji na ogół mają na celu większe eksplorowanie w obszarach przestrzeni stanów i akcji, dla których dotychczaso wa wiedza ucznia jest niekompletna lub niepewna, a intensywniejszą eksploatację w obszarach, dla których wartości są poznane z dużą pewnością. Typowe podejścia polegają na przechowywaniu różnego typu liczników, w najprostszym przypadku śledzących dla każdego stanu i akcji liczbę razy, jaką ta akcja została dotychczas wykonana w tym stanie, lub liczbę kroków czasu, jakie upłynęły od jej ostatniego wykonania. Podczas wyboru akcji akcja może być wówczas preferowana z dwóch powodów: ma dużą wartość Q (czy też /x) lub była dotychczas mało razy wykona na w aktualnym stanie (bądź od dawna nie była w nim wykonywana). Najprostsze podejście do realizacji strategii licznikowej polega na wykorzy staniu jednego z podanych wyżej stochastycznych mechanizmów wyboru akcji na podstawie wartości funkcji fi lub Q, zwiększonych o pewną liczbę reprezentu jącą stopień niepewności ucznia co do wiarygodności jego obecnego oszacowa nia tych wartości. Jeśli więc nxa oznacza liczbę kroków czasu, jaka upłynęła od ostatniego wykonania akcji a w stanie x, to probabilistyczny wybór akcji zgodnie ze strategią e-zachłanną lub rozkładem Boltzmanna można uzależnić od wartości fj>(x, a) + yjn^a albo Q(x, a) + y/n^.
13.7 Reprezentacja funkcji Dla tych algorytmów uczenia się ze wzmocnieniem, dla których istnieją dowody zbieżności, leżąca u ich podstaw teoria wymaga na ogół założenia o tablicowej
768
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
reprezentacji funkcji. Jednak rzeczywiste problemy, z jakimi mamy do czynienia w praktyce, bardzo często czynią taką reprezentację w najlepszym razie nieefek tywną, a w wielu przypadkach w ogóle wykluczają jej użycie. Jeśli przestrzeń stanów jest duża, to przechowywanie funkcji wartości, wartości akcji lub funkcji strategii dla wszystkich stanów może wymagać bardzo dużo pamięci. Jeśli nawet potrzebna wielkość pamięci jest dostępna, co przy obecnych trendach cen na ryn ku może się zdarzyć, to i tak uczenie się będzie niezwykle powolne i przez to niepraktyczne: trzeba bardzo wielu kroków, aby wypełnić wiarygodnymi warto ściami tablice o tak dużych rozmiarach. W celu przezwyciężenia tych trudności al gorytmy uczenia się ze wzmocnieniem łączy się z metodami aproksymacji funkcji. Umożliwiają one przechowywanie przybliżonych wartości funkcji dla wielu sta nów w pamięci o rozsądnym rozmiarze, a dzięki generalizacji przyspieszają ucze nie się. Z czysto technicznego punktu widzenia połączenie dowolnego algorytmu uczenia się ze wzmocnieniem z aproksymatorem funkcji jest niezwykle proste: każde odwołanie do wartości funkcji powoduje odtworzenie jej z aproksymatora oraz odpowiednio jest przeprowadzana operacja aktualizacji, do której jest wy korzystywany obliczany w zwykły sposób błąd TD. Najwygodniej jest przy tym przyjąć, że argumentem podawanym na wejście aproksymatora jest zawsze tylko stan, a w przypadku funkcji zależnych od akcji każdej z nich odpowiada oddziel ny aproksymator. Operacja aktualizacji jest zawsze przeprowadzana dla jednego aproksymatora, odpowiadającego akcji, której ta aktualizacja dotyczy. Uczącym się aproksymatorom funkcji był poświęcony rozdział 8 i nie ma po trzeby powtarzania tu tego, co na ich temat tam napisano. Każdy z omawianych tam aproksymatorów może być zastosowany do reprezentacji funkcji w uczeniu się ze wzmocnieniem i dla większości odpowiednie próby były przeprowadzo ne. Wiele z tych eksperymentalnych prac dało pomyślne wyniki, mimo niezbyt zachęcającego stanu badań teoretycznych. Więcej o tych wynikach zostanie po wiedziane w podrozdziale poświęconym problemom badawczym. Aby uczący się aproksymator funkcji mógł być w praktyce wykorzystany do reprezentacji funkcji przechowywanych i aktualizowanych przez algorytmy uczenia się ze wzmocnie niem, powinien spełniać pewne podstawowe warunki: 1) zdolność do uczenia się w trybie inkrementacyjnym, 2) zdolność do nieustannego uczenia się na podstawie nieograniczonej liczby przykładów, 3) niewielki nakład obliczeń wymagany do odtworzenia i aktualizacji wartości funkcji. Pierwsze dwa wymagania są ze sobą powiązane i chodzi w nich o zapewnienie możliwości inkrementacyjnego uczenia się ze wzmocnieniem na podstawie serii interakcji ze środowiskiem o niekreślonej z góry długości. Wyklucza to używa nie aproksymatorów, które wymagają dostępności więcej niż jednego przykładu
13.8. PRZYSPIESZANIE UCZENIA SIĘ: TD(A > 0)
769
trenującego na raz oraz dla których maksymalna liczba możliwych do przetwo rzenia przykładów jest ograniczona. Trzeci warunek wyklucza aproksymatory, dla których koszt obliczeniowy odtwarzania lub aktualizacji wartości funkcji dla do wolnego argumentu jest zbyt duży, aby umożliwić systemowi uczącemu się in terakcję ze środowiskiem w czasie rzeczywistym, czyli dostatecznie szybkie (ze względu na wymogi konkretnego zastosowania) reagowanie na kolejno obserwo wane stany środowiska. Można przyjąć, że w mniejszym lub większym stopniu wszystkie te warunki spełniają aproksymatory oparte na reprezentacji parame trycznej, a w szczególności na rozszerzonej reprezentacji i zwłaszcza na rozpro szonym przybliżonym kodowaniu, a także przynajmniej niektóre aproksymatory pamięciowe.
13.8 Przyspieszanie uczenia się: TD(A > 0) Dotychczas poznaliśmy tylko najprostszy wariant metod różnic czasowych w po staci podstawowego algorytmu TD. Właściwsze byłoby nazywanie go algoryt mem TD(0), jako że metody te są parametryzowane współczynnikiem świeżości A E [0,1] i poznana przez nas ich najprostsza postać odpowiada wartości A = 0. Tymczasem użycie A > 0 bardzo często przyspiesza proces uczenia się, co jest z praktycznego punktu widzenia niezwykle atrakcyjne. Zobaczmy więc, jak przed stawia się algorytm TD(A) w ogólnej postaci, jako algorytm wartościowania stra tegii, oraz jak modyfikacje niezbędne do wykorzystania dodatnich wartości A mo gą zostać wprowadzone do algorytmów uczenia się ze wzmocnieniem takich jak AHC i Q-learning. 13.8.1
Siady aktywności
Podstawowy algorytm TD jest charakteryzowany przez regułę aktualizacji funk cji wartości zapisaną jako równanie (13.26), stosowaną w każdym kroku czasu t dla aktualnego stanu xt. Regułę tę nazywaliśmy dotychczas regułą TD, a błąd wykorzystywany przez nią do aktualizacji funkcji wartości błędem TD, obecnie zaś będziemy mówić raczej odpowiednio o regule TD(0) i błędzie TD(0). Regułę TD(A) dla dowolnego A można zapisać następująco: uaktualni/{V(x),
(rt +-/Vt(xt+i)
- Vt(xt))ex(t)).
(13.41)
Widać, że błąd występujący w tej regule, który nazwiemy oczywiście błędem TD(A), jest niczym innym jak iloczynem znanego nam błędu TD(0) i oznacza nej przez ex(t) wielkości nazywanej śladem aktywności stanu x w kroku t. Stan x oznacza stan, dla którego funkcja wartości jest przez regułę TD(A) aktualizowana. W przeciwieństwie bowiem do reguły TD(0), która w kroku t jest stosowana tyl-
770
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
ko dla stanu xt, reguła TD(A) jest stosowana w każdym kroku czasu dla każdego stanu. Dla każdego stanu x jego ślad aktywności w kroku t jest zdefiniowany nastę pująco: t
ex(t) = £(7A)'~*X*(*).
(13.42)
fc=0
przy czym Xx (t) =
1 jeśli x — xu L 0 w przeciwnym przypadku.
(13.43)
Ślad aktywności każdego stanu staje się duży bezpośrednio po odwiedzeniu tego stanu, po czym wykładniczo maleje, dopóki stan nie zostanie odwiedzony ponow nie. Algorytm TD(A) wykorzystuje aktualną wartość błędu TD(0) do aktualizacji wartości każdego stanu, w stopniu proporcjonalnym do jego śladu aktywności. Dzięki temu informacja o dochodach jest propagowana między różnymi stanami szybciej, a to przyspiesza uczenie się. Ilustrację zmian śladu aktywności w zależ ności od czasu odwiedzin odpowiedniego stanu przedstawia rys. 13.7.
Xx(t)
ex(t)
Rys. 13.7. Zmienność śladu aktywności Dla praktycznej implementacji algorytmu ważne jest, że ślady aktywności można obliczać inkrementacyjnie, stosując w każdym kroku t następującą regu łę aktualizacji: ex{t) : = 7 * e x ( * - l ) + X x ( < ) ,
(13.44)
przy czym z definicji ex(0) = Xx(0). Zatem po zainicjowaniu śladu aktywności każdego stanu na 0 w każdym kroku czasu wszystkie ślady są mnożone przez 7A, a ślad aktualnego stanu jest zwiększany o 1. Następnie, po obliczeniu w zwykły sposób błędu TD(0), do aktualizacji wartości każdego stanu wykorzystuje się ten błąd pomnożony przez jego ślad aktywności. Sposób wykorzystania metod TD(A) dla dowolnego A do wartościowania ustalonej strategii TT opisuje algorytm 13.9, będący uogólnieniem algorytmu 13.5.
13.8. PRZYSPIESZANIE UCZENIA SIĘ: TD(A > 0)
771
1 dla wszystkich x e X wykonaj 2 ex :== 0; 3 koniec dla 4 dla wszystkich kroków czasu t wykonaj 5 obserwuj aktualny stan xf, 6 dla wszystkich x £ X wykonaj 7 ex := ^\ex\ 8 jeśli x = xt to 9 €x :™ cx T* l j 10 koniec jeśli 11 12 13 14 15 16 17 18 19
koniec dla wybierz akcję at ~ ir(xt) do wykonania w stanie xt\ wykonaj akcję at\ obserwuj wzmocnienie rt i następny stan #t+i; A:=rt + -YVt(xt+i)-Vt(xt)\ dla wszystkich x E X wykonaj uaktualnij^\V{x), A-ex). koniec dla koniec dla Algorytm 13.9. Wartościowanie strategii za pomocą algorytmu TD(A) Przykład 13.16. Aby lepiej zrozumieć sposób, w jaki algorytm TD(A) modyfikuje wartości stanów, rozpatrzmy ciąg kolejnych stanów £o,^1,£2, £3,£4 i odpowiednich nagród r 0 , r i , r 2 , r 3 . Przyjmiemy, że stan x4 jest stanem absorbującym, w którym zawsze jest otrzymywana nagroda równa 0. Ponadto dla uniknięcia komplikacji za łożymy, że wszystkie stany rozważanego ciągu są różne. Niech początkowe wartości stanów xo, xi, X2, X3, X4 będą odpowiednio równe VQ, V\, v
eXo(0) = 1,
Vb(zi) = vi, V0(x2) =v2,
exi(0) ^°> eX2(0) = 0 , eX3(0) = 0 , eX4(0) = 0.
VQ(X3) = U 3 , VQ(X4)
— u4,
Obliczany jest błąd TD(0): A - r 0 +7^1 - v0. 2. W kroku t = 1 po odpowiedniej aktualizacji wartości i śladów mamy: Vi(x0) =v0 + /3[r0 +7^1 ~vQ]9 Vi (xi) =vu
e x o (l) = 7A, e X l (l) = 1,
772
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
VX(X2)=V2,
CBa(l)=0,
Vi(x3)=V3,
Cx3(l)=0,
Vi(x4)
eX4(l)
= u4,
= 0.
Obliczany jest błąd TD(0): A = n +7½ -vi. 3. W kroku ż = 2: Vi (2¾) = v0 4 y9[r0 4 7^1 ~ v 0 + 7A(ri 4 7 ½
•vi)L
eX0(2)-(7A)2,
V2(xi) = vi + /3[ri + 7V2 - ui],
6-^(2) = 7 A ,
V 2 (x 2 ) = v 2 ,
e* a (2) = l,
V2(x3)
= v3,
e*a(2) = 0,
V2(XĄ)
=
e X4 (2) = 0.
V4,
Obliczany jest błąd TD(0): A = r 2 4 7^3 - v 2 . 4. W kroku t = 3: V3(x0)
= VQ 4 /3[r0 + 7^1 - v o 4
e,0(3)-(7A)3,
+ 7A(ri + jv2 — vi) + + (7A) 2 (r 2 + 7 ^ 3 - u 2 ) ] , y 3 ( x i ) = ui + /3[ri 4 7^2 - vi 4 7A(^2 4 7^3 - ¾ ) ] . ^3(^2) = v 2 + /?[r 2 4 7^3 - u 2 ],
eXl(3)-(7A)2, e
x 2 (3) - 7 A ,
^3(^3) = u 3 ,
3(3)
F3(x4) = v4,
,(3)
Obliczany jest błąd TD(0): A = r 3 + 7 ^ 4 - u3. 5. W kroku t = 4 po przejściu do stanu absorbującego 24 mamy ostatecznie nastę pujące wartości stanów: V40o) = v0 + /?[r 0 4 7^1 - ^0 + 7A(ri + jv2 - vi) 4 + (7A) 2 (r 2 + 7 ^ 3 - v 2 ) + (7A) 3 (r 3 + 7 ^ 4 - u 3 ) ] , 14(^1) — vi -f /3[ri + 7V2 - Vi 4- 7A(r 2 4 7U3 - v 2 ) 4 + (7A) 2 (r 3 + 7 ^ 4 - u 3 ) ] , ^4(x 2 ) = v 2 + y9[r2 4 7U3 - v2 4 7A(r 3 4 7U4 - u 3 )], Vi(a: 3 ) = v3 + /?[r 3 + 7^4 - v 3 ], y 4 ( x 4 ) = u4.
773
13.8. PRZYSPIESZANIE UCZENIA SIĘ: TD(A > 0)
Nietrudno zauważyć, że uzyskane wartości można, odpowiednio grupując wystę pujące w nich składniki, zapisać również w następującej postaci: V4(x0) = (1 - /3)vo + P[r0 + 7(1 - A)ui + -y\(n + 7(1 - A)tfc) + + (7A)2(r2 + 7(1 - A)va) + (7A)3(r3 + 7^4)], VA(xi) - (1 - /3)«! 4- 0[n + 7(1 - A)v2 + 7A(r2 + 7(1 - A)vs) + + (7A)2(r3+7«4)], V4(x2) - (1 - P)v2 + /?[r2 + 7(1 ~ A)^3 + 7A(r3 + 7^)], VĄ(x3) = (1 - f3)v3 + /3[r3 + 7^4], VA(xA) =VĄ. 13.8.2
Dochody TD(A)
W dość prosty sposób można udowodnić, że zarówno dla reprezentacji dyskret nej (tablicowej), jak i parametrycznej skumulowane efekty algorytmu TD(A) są w przybliżeniu równoważne z efektami stosowania w kroku i następującej reguły aktualizacji wyłącznie do aktualnego stanu x%\ uaktualni/(V(xt),
z\ - Vt(xt))9
(13.45)
przy czym z\ jest dochodem TD(X) dla kroku i, zdefiniowanym następująco: OO
*t = E(7A) fc [r*+* + 7(1 ~ A)Vi +fc (x t+fc+1 )].
(13.46)
A;=0
Reguły tej nie da się bezpośrednio zaimplementować, ponieważ z£ zależy od nie znanych w czasie t wartości rt+k i V(xt+k) dla A; = 1,2,..., lecz dobrze wyja śnia ona sposób działania algorytmu. Pouczające jest zwłaszcza zapisanie dochodu TD(A) rekurencyjnie: Ą = rt + 7 (A^ A +1 + (1 - X)Vt(xM)).
(13.47)
Dla A = 0 na dochód TD(0) składa się tylko natychmiastowa nagroda rt i zdys kontowana wartość następnego stanu 7 ^ ( ^ + 1 ) . Dla A = 1 dochód TD(1) jest zdyskontowaną sumą nagród rt + 7r i + x + Użycie pośrednich wartości A umożliwia gładkie interpolowanie między tymi dwoma skrajnymi przypadkami, powodując uwzględnianie w dochodzie zarówno nagród, jak i wartości stanów. Przykład 13.17. Wyniki uzyskane w przykładzie 13.16 umożliwiają natychmiasto wą weryfikację poprawności reguły zapisanej w równaniu (13.45) dla rozważanego tam ciągu stanów i nagród. W istocie początkowe wartości stanów zwiększyły się tam o odpowiednie dochody TD(A), pomnożone przez współczynnik rozmiaru kroku.
774
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
13.8.3
Uczenie się strategii
Zastosowanie TD(A > 0) do przyspieszenia uczenia się algorytmu AHC jest szczególnie proste. Przedstawiona wyżej reguła aktualizacji funkcji wartości dla przypadku wartościowania strategii może być stosowana bez żadnych zmian, z tym że akcje są wybierane na podstawie funkcji strategii JJL, którą także modyfikuje się używając takiej samej wartości błędu i śladów aktywności dla par stan-akcja za miast dla stanów. Łącznie zatem algorytm AHC w wersji dla dowolnego A charak teryzują dwie następujące operacje aktualizacji: uaktualni/(V{x),
(rt + -yVt(xt+i) - Vt(xt))ex(ł))
(13.48)
oraz uaktualni/(IJ,{X, a), (rt -\-jVt{xt+i)
~ Vt(xt))eXja(t))9
(13.49)
przy czym ślad aktywności w kroku t dla pary stan-akcja {x,a) jest określony następująco: t
ex,a(t)^Y,^)t~kXxAk)>
(13.50)
A:=0
przy czym Xx At)
1 Jjeśli x = xt i a — a*, 0 w przeciwnym przypadku.
(13.51)
Analogiczne podejście w przypadku algorytmu Q-learning nie jest, niestety, całkiem poprawne. Oczywista reguła uaktualni/(Q{x,a),
(rt + jmaxQt(xt+ua')
- Qt{xt,at))exJt))
(13.52)
a'
wykorzystuje do aktualizacji funkcji Q dochody następujące po dowolnych wy konywanych przez ucznia akcjach (które nie muszą być zachłanne), podczas gdy celem algorytmu jest nauczenie się optymalnej funkcji Q, reprezentującej warto ści akcji przy posługiwaniu się strategią optymalną (a więc zachłanną). Zapropo nowano więc bardziej skomplikowane sposoby połączenia algorytmu Q-learning z TD(A > 0) niż powyższe bezpośrednie podejście, w praktyce jednak może być ono z powodzeniem stosowane mimo teoretycznych wad, jeśli uczeń posługuje się strategią zachłanną przez wyraźną większość czasu. Problem nie występuje w przypadku zależnego od strategii algorytmu Sarsa, który może być połączony bezpośrednio ze śladami aktywności dla par stan-akcja zdefiniowanymi w powyższy sposób. Oznacza to przyjęcie reguły aktualizacji: uaktualni/(Q(x, a), (rt + yQt(xt^u
at+i) - Qt(xua>t))eXta(t)).
(13.53)
13.8. PRZYSPIESZANIE UCZENIA SIĘ: TD(A > 0)
13.8.4
775
Rola i dobór A
Równanie (13.46) definiuje dochód TD(A) jako sumę, której kolejne składniki można traktować jako swego rodzaju ważone średnie faktycznej nagrody z ak tualnego kroku i zdyskontowanej wartości następnego stanu, reprezentującej prze widywane nagrody z kolejnych kroków. Odpowiednie wagi wynoszą 1 oraz 1 — A. Można więc nieformalnie powiedzieć, że dochód TD( A) uśrednia w pewien sposób faktycznie obserwowane i przewidywane dochody. Dla dużych A proces uczenia się w większym stopniu polega na faktycznie obserwowanych nagrodach niż na obecnych przewidywaniach ucznia. Może to znacznie przyspieszyć uczenie się, zwłaszcza w jego początkowej fazie, kiedy przewidywania te są jeszcze dalekie od poprawnych. Z drugiej strony, jeśli środowisko jest stochastyczne, co w praktyce często występuje, to faktycznie obserwowane nagrody mogą charakteryzować się dużą wariancją i wówczas predykcje reprezentowane przez konstruowaną funkcję wartości, w miarę jak staje się ona bardziej dokładna, mogą być bardziej pożytecz ne w dalszym uczeniu się. Można więc przypuszczać, że właściwy dobór współ czynnika świeżości zależy zarówno od właściwości zadania (przede wszystkim środowiska), jak i od etapu, na jakim znajduje się proces uczenia się. Jedna z możliwych sugestii, wynikających z powyższej dyskusji, polegałaby na ustalaniu początkowo dużej wartości parametru A, równej lub bliskiej 1, lecz późniejszym redukowaniu jej do wartości bliskich 0 w miarę postępów uczenia się, zgodnie z pewnym ustalonym mechanizmem. W najprostszym przypadku może to polegać na odejmowaniu pewnej ustalonej niewielkiej wartości (przy redukcji substraktywnej) lub mnożeniu przez ustaloną wartość nieznacznie mniejszą niż 1 co określoną liczbę kroków lub prób. Bardziej zaawansowane podejście polegałoby na uzależnieniu tempa zmniejszania współczynnika świeżości od faktycznie ob serwowanego postępu uczenia się, którego wyznacznikiem mogą być na przykład przeciętne wartości bezwzględne błędów. Techniki tego typu były niejednokrot nie sugerowane w literaturze, lecz rzadko (jeśli w ogóle) stosowane, trudno więc wyrokować o ich użyteczności. Warto zauważyć, że przy stosowaniu TD(A) do uczenia się strategii, a nie do jej wartościowania, na właściwy dobór wartości A może wpływać również eksplora cja dokonywana przez ucznia. Skoro bowiem algorytmy uczenia się ze wzmocnie niem zależne od strategii wyznaczają oszacowania funkcji wartości lub wartości akcji przy założeniu posługiwania się aktualną strategią,, dochody obserwowane po wykonaniu akcji niezgodnej ze strategią nie są dobrą podstawą do ich aktu alizacji. Problem ten występuje również dla niezależnego od strategii algorytmu Q-learning i został już wyżej wskazany. Wówczas aby nagrody z większej licz by kroków mogły być używane do aktualizacji funkcji Q, wszystkie kolejne ak cje z wyjątkiem pierwszej, dla której funkcja ta będzie aktualizowana, powinny być zgodne ze strategią (czyli zachłanne). Wobec tego, ilekroć zostanie wyko-
776
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
nana akcja niezgodna ze strategią, bardziej wskazane może być poleganie raczej na przewidywanych niż faktycznie obserwowanych nagrodach, czyli zmniejsze nie wartości A. Sugestie takie były w każdym razie wielokrotnie wysuwane wraz z propozycjami prostych heurystyk, ustalających adaptacyjnie wartość At dla każ dego kroku i w zależności od stanu x% i akcji a%.
13.9 Uczenie się rozwiązywania problemów Mówiąc w rozdziale 11 o zastosowaniu uczenia się przez wyjaśnianie do uspraw niania rozwiązywania problemów, wspomnieliśmy o możliwości zastosowania w tym celu także innego rodzaju uczenia się. Obecnie nadszedł czas wytłuma czenia się z tamtej zapowiedzi, która dotyczyła właśnie uczenia się ze wzmoc nieniem. Podstawowy pomysł jest w istocie bardzo prosty i, zdawać by się mo gło, narzucający się: polega na potraktowaniu problemu, opisywanego jak zwykle w kategoriach przestrzeni stanów i operatorów, jako środowiska, z którym system rozwiązujący ten problem odbywa interakcje. Mimo tej zasadniczej prostoty do piero stosunkowo niedawno podjęto prace nad jego konkretyzacją i praktyczną re alizacją. Dotychczasowe efekty są na tyle obiecujące, aby przynajmniej pobieżnie przedstawić zarys koncepcji uczenia się rozwiązywania problemów na podstawie opóźnionych nagród, mimo że jest w niej jeszcze wiele luk i otwartych kwestii. 13.9.1
Problem jako środowisko
Z rozdziału 11 znamy klasyczne sformułowanie rozwiązywania problemów przyj mowane w sztucznej inteligencji. Problem jest w nim charakteryzowany za pomo cą przestrzeni stanów, wśród których jest wyróżniony zbiór stanów docelowych reprezentujących dopuszczalne rozwiązania, oraz zbioru operatorów, które mogą służyć do przemieszczania się w przestrzeni stanów. Od systemu rozwiązujące go problem oczekuje się znalezienia ciągu operatorów, które kolejno zastosowa ne przeprowadzą problem z zadanego stanu początkowego do jednego ze stanów docelowych. Odwzorowanie takiego sformułowania rozwiązywania problemu na zadanie uczenia się ze wzmocnieniem, a ściślej odwzorowanie samego rozwiązy wanego problemu na środowisko systemu uczącego się ze wzmocnieniem, jest cał kiem bezpośrednie, przynajmniej jeśli nie wnikamy zanadto w szczegóły. Stanom problemu odpowiadają zgodnie z nim stany środowiska, a operatorom akcje, jakie mogą być wykonywane w tym środowisku. Oczywiście niezbędne jest założenie, że stany są w pewien sposób obserwowalne, czyli dostępne dla ucznia, który mo że od nich uzależniać wybór akcji. Naturalne jest przyjęcie, że zadanie ucznia ma charakter epizodyczny, a dokładniej jest zadaniem typu do-sukcesu. Sukces, ozna czający koniec próby, oznacza w tym przypadku osiągnięcie stanu docelowego. Wartości wzmocnienia można dobrać w dowolny sposób zapewniający, że maksy-
13.9. UCZENIE SIĘ ROZWIĄZYWANIA PROBLEMÓW
777
malizacja przyjętego kryterium jakości będzie równoznaczna z osiągnięciem stanu docelowego w jak najmniejszej liczbie kroków. Do tej pory mówiąc o rozwiązywaniu problemów zakładaliśmy, że rozwiąza nia są oceniane tylko ze względu na długość (liczbę zastosowań operatorów), nie zaś na stan docelowy, do którego prowadzą. Wszystkie stany docelowe były więc traktowane jako równie pożądane. W praktyce często występują jednak problemy, dla których ważna jest nie tylko długość, lecz i jakość uzyskanego rozwiązania. Stany docelowe różnią się wtedy od siebie i niektóre z nich są preferowane w sto sunku do innych. Przedstawione w rozdziale 11 podejście do uczenia się rozwią zywania problemów nie mogło uwzględnić takich preferencji, lecz w przypadku stosowania uczenia się ze wzmocnieniem w naturalny sposób znajdują one od zwierciedlenie w nagrodach przyznawanych za osiągnięcie stanów docelowych, które mogą być uzależnione od jakości tych stanów. 13.9.2
Rozwiązanie jako strategia
Od systemu rozwiązującego problem wymaga się, aby na drodze przeszukiwania przestrzeni stanów znalazł ciąg operatorów, stanowiący rozwiązanie dla zadanego stanu początkowego. Od systemu uczącego się rozwiązywać problemy oczekuje my czegoś nieco innego: nabycia umiejętności rozwiązywania problemów okre ślonego rodzaju. Nie chodzi więc o rozwiązanie jednego, konkretnego egzempla rza problemu, gdyż ze względu na charakter uczenia się ze wzmocnieniem (próby i błędy, dynamiczne interakcje) musiałoby to być znacznie bardziej kosztowne niż użycie w tym celu dowolnego rozsądnego algorytmu przeszukiwania heurystycz nego. Chodzi raczej o to, aby po pewnej liczbie prób przeprowadzonych dla jed nego lub większej liczby egzemplarzy problemu system potrafił sprawnie znajdo wać rozwiązania dla jego innych egzemplarzy. W ogólnej dyskusji trudno określić, czym dokładnie mogą się różnić egzemplarze problemu. Na pewno może być dla nich różny stan początkowy, lecz często także inne właściwości. Ważne jest w każ dym razie to, że użycie systemu uczącego się może być „opłacalne" tylko wtedy, kiedy interesuje nas rozwiązywanie wielu konkretnych problemów wspólnej klasy i jest możliwe przenoszenie umiejętności znajdowania rozwiązywania nabytej dla pewnej liczby problemów do innych problemów tej samej klasy. Umiejętność rozwiązywania to w naszym przypadku pewna strategia wyboru akcji w zależności od aktualnego stanu problemu. System nie uczy się więc żad nej sekwencji akcji, lecz zasad, według których akcje należy wybierać. To właśnie umożliwia transfer umiejętności, o którym była wyżej mowa, gdyż oczywiście bezpośredni transfer rozwiązań nie jest na ogół możliwy. Strategia uzyskana przez uczenie się ze wzmocnieniem w wyniku wielokrotnych prób, rozpoczynających się w pewnych stanach początkowych i kończących się po osiągnięciu stanów do celowych, powinna umożliwiać znajdowanie rozwiązań o minimalnej długości.
778
13.9.3
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Funkcja wartości jako heurystyka
Na ogół problem traktowany jako środowisko uczenia się ze wzmocnieniem cha rakteryzuje się dwiema właściwościami, których w ogólnym przypadku nie może my zakładać: jest deterministyczny i znany uczniowi. Oznacza to, że wielokrotne wykonywanie tej samej akcji w tym samym stanie prowadzi do przejścia do tego samego za każdym razem stanu następnego oraz uzyskania takiej samej nagrody, a zarówno następny stan, jak i nagroda mogą być znane bez faktycznego wykony wania akcji. Według alternatywnego, lecz równoważnego punktu widzenia akcje mogą być wykonywane „na próbę" w celu poznania ich efektów i następnie co fane, w celu umożliwienia wypróbowania innych akcji. Umożliwia to niejawne reprezentowanie strategii za pomocą samej tylko funkcji wartości stanów. W do wolnym stanie można określić nagrodę i następny stan, jakie byłyby uzyskane po wykonaniu każdej akcji, aby wybrać w ten sposób akcję zachłanną — maksymali zującą sumę nagrody i zdyskontowanej wartości następnego stanu. Takie właśnie podejście, z jednokrokowym „podglądaniem w przód", jest najczęściej stosowane przy uczeniu się rozwiązywania problemów. Do modyfikacji funkcji wartości jest stosowany algorytm TD(0) lub TD(A > 0) w postaci, w jakiej został wyżej poda ny dla wartościowania strategii, lecz akcje do wykonania są wybierane zachłannie z uwzględnieniem pewnej dozy eksploracji. Taki algorytm uczenia się możemy nazwać zachłannym algorytmem TD(A). Funkcja wartości, będąca wynikiem procesu uczenia się, może być używana do rozwiązywania kolejnych problemów przez wybieranie na jej podstawie za chłannych akcji. Odgrywa ona wówczas rolę analogiczną do roli funkcji heury stycznych używanych do przeszukiwania przestrzeni stanów — decyduje o wybo rze najbardziej obiecującego kierunku w tej przestrzeni. Umożliwia to traktowanie uczenia się ze wzmocnieniem zastosowanego do rozwiązywania problemów jako uczenia się heurystycznych funkcji oceny stanów. Ten punkt widzenia można także w nieco odmiennym podejściu potraktować jako punkt wyjścia do zaprojektowania systemu uczącego się. Wówczas jest wybierany pewien algorytm przeszukiwania heurystycznego, a celem uczenia się jest skonstruowanie funkcji heurystycznej, którą będzie się on posługiwał.
13.10 Zagadnienia praktyczne Paradygmat uczenia się ze wzmocnieniem jest prosty i abstrakcyjny na tyle, aby mógł być potencjalnie bardzo szeroko stosowany. Zakres tych zastosowań ogra niczają wprawdzie, oprócz ludzkiej pomysłowości, ograniczenia obecnie znanych metod, te jednak będą z pewnością z czasem pokonywane. Dziedziny, w których możliwości zastosowań uczenia się ze wzmocnieniem wydają się w świetle do tychczasowych prac najbardziej obiecujące, to przede wszystkim:
13.10. ZAGADNIENIA PRAKTYCZNE
• • • •
779
inteligentne sterowanie optymalne, uczące się roboty, gry planszowe, optymalizacja kombinatoryczna i szeregowanie. Nieco upraszczając sytuację, można sformułować następujące „równanie": reprezentacja stanów i akcji + funkcja wzmocnienia system uczący się ze wzmocnieniem L
zgodnie z którym konstruktor systemu uczącego się ze wzmocnieniem musi przede wszystkim określić odpowiednią reprezentację stanów i zbiór akcji oraz zaprojek tować funkcję wzmocnienia, która dobrze określa cel stawiany projektowanemu systemowi. Chociaż istotnych decyzji do podjęcia jest znacznie więcej, te są naj bardziej podstawowe. Reprezentacja stanów powinna zapewniać dostarczanie sys temowi informacji potrzebnych do podejmowania optymalnych decyzji (zachowa nie własności Markowa). Akcje powinny być określane na odpowiednim poziomie abstrakcji: na tyle niskim, aby było możliwe ich bezpośrednie wykonywanie przez system, i na tyle wysokim, aby czas potrzebny do uzyskania za ich pomocą po żądanych celów nie był zbyt długi. Funkcja wzmocnienia oraz współczynnik dys kontowania muszą być tak dobrane, aby maksymalizacja zdyskontowanej sumy nagród była osiągana przez strategie realizujące cel, dla którego jest konstruowany system. Stosowanie uczenia się ze wzmocnieniem w praktyce nie jest jednak tak pro ste, jak sugeruje to poprzedni akapit. Poza tymi zasadniczymi decyzjami, które w nim wymieniono, projektantowi systemu uczącego się pozostaje do podjęcia szereg innych bardziej szczegółowych decyzji. Chodzi przede wszystkim o wybór algorytmu uczenia się, reprezentacji funkcji i strategii eksploracji. Trudno podać jednoznaczne wskazówki, którymi można by się przy tym kierować. W każdym ra zie zgodnie ze wcześniejszą dyskusją teoretyczna przewaga algorytmu Q-learning nad algorytmami AHC i Sarsa nie musi oznaczać przewagi praktycznej. Jeśli za soby obliczeniowe (czas i pamięć) pozwalają, najlepiej użyć A > 0 w celu uzy skania szybszego uczenia się. Jeśli zachodzi konieczność aproksymacji funkcji, to dla ciągłych przestrzeni stanów za najbardziej godny polecenia uchodzi aproksymator CMAC. Możemy jednak w rzeczywistych środowiskach napotkać proble my, z którymi przedstawione w tym rozdziale algorytmy tak czy inaczej nie będą mogły w satysfakcjonujący sposób sobie poradzić. Najważniejszym z tych pro blemów poświęcimy obecnie krótką dyskusję, gdyż dla niektórych z nich są znane przynajmniej częściowe środki zaradcze. Wokół tych właśnie istotnych z praktycz nego punktu widzenia zagadnień, a także wokół uzupełnienia pewnych luk w teo rii, o których nie będziemy tu mówić, koncentrują się obecnie prace badawcze w dziedzinie uczenia się ze wzmocnieniem.
780 13.10.1
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Ukryty stan
W praktyce środowiska, dla których nie zachodzi własność Markowa, zdarzają się dość często. W takich środowiskach informacja przekazywana uczniowi jako stan nie jest pełna i nie wystarcza do podejmowania optymalnych decyzji. Mówi się wówczas o występowaniu ukrytego stanu. Jest wprawdzie możliwe, że zwykłe algorytmy uczenia się ze wzmocnieniem zdołają nauczyć się zadowalającego dzia łania w niektórych środowiskach niemarkowowskich, lecz w ogólnym przypadku przezwyciężenie problemu ukrytego stanu wymaga wyposażenia ucznia w pewien rodzaj pamięci jego historii lub w wewnętrzny stan. Problem ten wciąż jest uzna wany za otwarty, są jednak znane pewne podejścia o często zadowalającej skutecz ności praktycznej, choć wciąż nie w dostatecznym stopniu uniwersalne i uzasad nione teoretycznie. Najprostszy pomysł na radzenie sobie z ukrytym stanem polega na wykorzy staniu okna obserwacji o ustalonym rozmiarze, zawierającego w każdym kroku czasu oprócz aktualnego stanu stany i akcje z określonej liczby poprzednich kro ków. Cała zawartość takiego okna jest traktowana jako rozszerzony stan i prze kazywana zwykłemu algorytmowi uczenia się ze wzmocnieniem. Niedogodności związane z tą metodą to zwielokrotniony efektywny rozmiar używanej przestrzeni stanów, pociągający za sobą zazwyczaj konieczność wykorzystania aproksymatora funkcji, oraz trudność w ustaleniu właściwego rozmiaru okna. Gdy do reprezentacji funkcji jest wykorzystywana sieć neuronowa, system uczący się można wyposażyć w wewnętrzną pamięć jego przeszłości przez uży cie sieci rekurencyjnej. Istnieją odpowiednie algorytmy trenowania sieci o takiej strukturze, których głównym zastosowaniem jest uczenie się odwzorowań zależ nych od historii. Bardziej zaawansowane i uniwersalne metody są znane dla pewnej klasy śro dowisk niemarkowowskich, określanych jako częściowo obserwowalne procesy decyzyjne Markowa, które mogą być opisane jako procesy decyzyjne Markowa z ukrytym stanem, lecz dostępnymi obserwacjami sytuacji probabilistycznie zwią zanymi ze stanem. Istotą tych metod jest nauczenie się automatu skończonego, któ rego system uczący się ze wzmocnieniem mógłby używać jako modelu do przewi dywania „prawdziwego" stanu środowiska na podstawie obserwowanych w prze szłości sytuacji i wykonanych akcji. Podstawowy pomysł polega na rozróżnianiu stanów, które są obserwowane jako identyczne, lecz zostały osiągnięte różnymi ścieżkami poprzednich stanów. Typowe podejścia polegają na konstruowaniu esty matora stanu, który wyznaczałby w każdym kroku domniemany stan na podstawie obserwowanej historii interakcji. Taki domniemany stan może być reprezentowa ny przez rozkład prawdopodobieństwa względem wszystkich możliwych stanów i wyznaczany za pomocą technik pokrewnych tym, jakie są używane do ucze nia się sieci bayesowskich. Byłby on przekazywany w każdym kroku algorytmowi
13.10. ZAGADNIENIA PRAKTYCZNE
781
uczenia się ze wzmocnieniem jako efektywny aktualny stan. Tak wyznaczona wie lowymiarowa i ciągła przestrzeń stanów wymaga oczywiście odpowiednich metod reprezentacji funkcji. Do uczenia się z ukrytym stanem mogą również posłużyć metody nawiązujące do pamięciowych aproksymatorów funkcji. O ile w nich są zapamiętywane przy kłady trenujące w celu późniejszego odtworzenia na ich podstawie wartości funkcji docelowej, o tyle w tym przypadku pamięć zawierałaby wszystkie dotychczasowe doświadczenia ucznia (stany, akcje i nagrody) wraz z odpowiadającymi im war tościami funkcji, jakiej lub jakich uczy się używany algorytm — w szczególności funkcji Q dla algorytmu Q-learning, dla którego podejście to zostało oryginalnie opracowane. W najprostszym przypadku odpowiadającym metodom najbliższego sąsiada w każdym kroku wartości funkcji dla aktualnego stanu są wyznaczane na podstawie wartości przechowywanych dla k najbardziej podobnych stanów z prze szłości, przy czym podobieństwo w tym przypadku odnosi się nie do samych sta nów, ale do historii poprzedzającej ich osiągnięcie. 13.10.2
Aktywna percepcja
Z ukrytym stanem blisko jest związany inny praktycznie ważny problem, doty czący aktywnej percepcji. W niektórych środowiskach stan może być w zasadzie w pełni obserwowalny, lecz ze względów technicznych jednocześnie mogą być dla ucznia dostępne tylko jego niektóre aspekty. Sytuacja taka może na przykład wy nikać z ograniczonej liczby lub wydajności sensorów wykorzystywanych do ob serwowania środowiska. Wówczas system uczący się musi stosować aktywną per cepcję, czyli decydować, które elementy aktualnego stanu są istotne ze względu na jego zadanie i muszą być obserwowane, a które mogą być pominięte. Odpowiada to ekonomicznej alokacji sensorów, tak aby dostarczane przez nie informacje były jak najbardziej przydatne do podjęcia właściwej decyzji. Zaproponowano szereg podejść do tego problemu, lecz w dalszym ciągu jest on uważany za otwarty. 13.10.3
Uczenie się i planowanie
Przeciwstawiając uczenie się ze wzmocnieniem programowaniu dynamicznemu za jedną z najważniejszych dzielących je różnic uznaliśmy to, że pierwsze podejście nie wymaga znajomości modelu środowiska, który jest niezbędny do zastosowa nia drugiego. Jeśli jednak model jest znany lub możliwe jest nauczenie się go, również uczenie się ze wzmocnieniem może skorzystać z reprezentowanej przez niego wiedzy. Koncepcją, która to umożliwia, jest łączenie uczenia się i plano wania. To ostatnie jest rozumiane w tym przypadku jako przetwarzanie hipote tycznych doświadczeń, wygenerowanych przez interakcje z modelem środowiska, oprócz doświadczeń rzeczywistych pochodzących z interakcji ze środowiskiem.
782
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Takie hipotetyczne doświadczenia mogą być wykorzystywane w dokładnie taki sam sposób jak rzeczywiste, a więc na ich podstawie aktualizacji odpowiednich funkcji może dokonywać wybrany algorytm uczenia się ze wzmocnieniem. Daje to szansę na zmniejszenie liczby rzeczywistych interakcji ze środowiskiem nie zbędnej do osiągnięcia zadowalającego poziomu działania systemu. Dotychczaso we prace potwierdzają użyteczność hybrydowych systemów uczących się i planu jących, chociaż pozostaje tu szereg otwartych problemów, dotyczących zwłaszcza metod reprezentacji i uczenia się modeli oraz warunków dokładności, jakie po winien spełniać model, aby posługiwanie się nim nie było szkodliwe raczej niż pożyteczne. 13.10.4
Hierarchiczne uczenie się
Niezależnie od usprawnień, jakie może dać użycie metod TD(A > 0), generalizu jących aproksymatorów funkcji czy łączenie uczenia się z planowaniem, zastoso wanie uczenia się ze wzmocnieniem do złożonych i realnych zadań wciąż natrafia na poważne przeszkody, które objawiają się przede wszystkim powolnym ucze niem się. Do najbardziej obiecujących pomysłów, które mogą znacząco poszerzyć zakres stosowania tego rodzaju uczenia się, jest konstruowanie systemów hierar chicznych, zgodnie ze sprawdzonym wielokrotnie w informatyce podejściem dziel i zwyciężaj. Złożone zadania, które okazują się zbyt trudne dla zwykłych systemów uczących się ze wzmocnieniem, mogą okazać się łatwiejsze dla wielu systemów uczących się zorganizowanych w hierarchię, odpowiadającą pewnej hierarchicz nej dekompozycji zadania. Jako główne odmiany tego podejścia można wymienić abstrakcję stanów i abstrakcję akcji. Pierwsze z nich polega na grupowaniu sta nów o pewnych wspólnych cechach i przypisywaniu im abstrakcyjnych stanów. Dla każdego takiego abstrakcyjnego stanu jest używany oddzielny system uczący się, który ma na celu działanie tylko w tym stanie. Abstrakcja akcji, która jest naj częściej wykorzystywana, polega na definiowaniu akcji abstrakcyjnych na różnych poziomach, które odpowiadają pewnym ciągom akcji lub strategiom niższego po ziomu. Oryginalny zbiór akcji stanowi najniższy poziom. Każdemu poziomowi odpowiada jeden lub więcej systemów uczących się właściwego wybierania akcji na tym poziomie. 13.10.5
Wiedza wrodzona
Algorytmy uczenia się ze wzmocnieniem w podstawowej postaci zakładają, że uczniowi nie jest dostępna żadna wiedza o jego środowisku i postawionym przed nim zadaniu. Pozwala to na stosowanie ich również w sytuacjach, kiedy nie mo gą być użyte inne podejścia, wymagające takiej wiedzy. W praktyce często jakaś początkowa wiedza jest dostępna i wyposażenie w nią ucznia jako w wiedzę wro-
13.11. ZAGADNIENIA IMPLEMENTACYJNE
783
dzoną może ułatwić mu nauczenie się zachowania, którego się od niego oczekuje. Taka wiedza wrodzona może być wprowadzona na szereg sposobów, w szczegól ności zaś można ją uwzględnić przy określaniu: • • • • •
metody reprezentacji i początkowych wartości funkcji, mechanizmu eksploracji, mechanizmu planowania, mechanizmu aktywnej percepcji, hierarchicznej dekompozycji zadania.
W najbardziej naturalny sposób wiedza wrodzona może także posłużyć do do starczenia przykładów właściwego działania systemu, przeznaczonych do ucze nia się z nadzorem, lub przykładowych ciągów stanów i akcji, do przetworze nia w sposób analogiczny do planowania. Można także brać pod uwagę przedsta wianie uczniowi symbolicznego opisu charakteru jego zadania, przypominającego teorię dziedziny w uczeniu się przez wyjaśnianie, pod warunkiem wyposażenia go w mechanizmy wnioskowania niezbędne do wykorzystania takiej wiedzy. Właśnie łączenie uczenia się ze wzmocnieniem z koncepcjami wywodzącymi się z uczenia się przez wyjaśnianie może być obiecującym i jeszcze w niedostatecznym stopniu zbadanym tropem. Innego rodzaju mechanizmem wprowadzania wiedzy wrodzo nej jest układanie. Jego koncepcja pochodzi z eksperymentów dotyczących ucze nia się zwierząt, w których treser często przedstawia zwierzęciu początkowo proste zadania, a w miarę postępów w ich wykonywaniu zwiększa skalę trudności. Jedno z podejść do zastosowania tej koncepcji w uczeniu się ze wzmocnieniem polega na modyfikowaniu funkcji wzmocnienia przez tymczasowe zmniejszanie jego opóź nienia, czyli nagradzanie ucznia za osiągnięcie częściowych, połowicznych celów. W miarę jak jego strategia jest udoskonalana i łatwiejsze zadania są sprawnie re alizowane, opóźnienie wzmocnienia może być zwiększane, tak aby ostatecznie otrzymać oryginalne zadanie.
13.11 Zagadnienia implementacyjne Wszystkie omawiane w tym rozdziale algorytmy są proste do implementacji i nie wymagają od programisty szczególnej inwencji, jeśli chodzi o dobór struktur da nych i kodowanie. Warto mimo to zwrócić uwagę na pewne zagadnienia efektyw ności obliczeniowej związane z algorytmem TD(A). 13.11.1
Efektywne ślady aktywności
Koszt obliczeniowy implementacji TD(A > 0) za pomocą śladów aktywności, wymagającej aktualizacji zarówno wartości, jak i śladów dla wszystkich stanów
784
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
w każdym kroku, jest proporcjonalny do liczby stanów, co może stanowić poważ ny problem w bardziej realnych zastosowaniach. Przyspieszenie zbieżności, jakie jest uzyskiwane przez użycie A > 0, może być w niewielkim stopniu atrakcyjne, jeśli ma być okupione znacznie zwiększonym w stosunku do A — 0 nakładem obliczeń. Jeśli tylko liczba stanów przekracza kilka lub kilkanaście, czas obli czeń wymaganych do uzyskania zbieżności za pomocą TD(A > 0) i tak będzie większy niż za pomocą TD(0), gdyż nawet gdyby wymagana liczba kroków czasu zmniejszyła się dwu- lub trzykrotnie, wielokrotnie większy będzie koszt obliczeń przypadających na jeden krok. W praktyce są możliwe pewne oszczędności obliczeniowe, jeśli operację aktu alizacji funkcji stosuje się wyłącznie dla tych stanów, dla których ślady aktywności są różne od 0, a nawet wyraźnie różne od 0. Dla śladów o wartościach bliskich 0 z aktualizacji funkcji dla odpowiadających im stanów można zrezygnować, uzna jąc wynikającą stąd niedokładność implementacji algorytmu TD(A) za dostatecz nie małą, aby mogła być pominięta. Najwygodniej osiągnąć ten efekt nie tyle przez porównywanie w każdym kroku każdego śladu z ustaloną małą dodatnią wartością progową, co raczej przez ograniczenie się do uwzględniania przy aktualizacji tylko pewnej ustalonej liczby m ostatnich stanów, co w typowych przypadkach umoż liwia uzyskanie w przybliżeniu tego samego efektu. Stany ostatnio odwiedzone mają bowiem zazwyczaj największe wartości śladów aktywności — z wyjątkiem mamy do czynienia tylko wówczas, gdy któryś z dawniejszych stanów był odwie dzany w swoim czasie na tyle często, aby znacznie zwiększyć jego ślad. Uprosz czenie wynikające z rozważania tylko stałej liczby ostatnich stanów jest jednak na tyle duże, że ewentualność taką można pominąć. Używając algorytmu TD(A) implementowanego za pomocą śladów aktywno ści z reprezentacją parametryczną, nie możemy na ogół zaoszczędzić na oblicze niach w sposób sugerowany wyżej dla reprezentacji dyskretnej. Wówczas możliwe było ograniczenie operacji aktualizacji funkcji wyłącznie do stanów o śladach wy raźnie większych od 0, co w praktyce mogło oznaczać po prostu pewną ustaloną liczbę ostatnio odwiedzonych stanów. W przypadku reprezentacji parametrycznej różne stany mogą mieć niezerowe wartości tych samych cech, trudno więc za zwyczaj oczekiwać, aby tylko pewnej niewielkiej liczbie wag odpowiadały ślady o wartościach wyraźnie różnych od 0. Trzeba się raczej liczyć z tym, że większość, o ile nie wszystkie, ślady w każdym kroku będą mieć wartości wyraźnie niezero we i nie będzie możliwe pominięcie odpowiadających im wag przy wykonywaniu operacji aktualizacji funkcji. 13.11.2
Eliminacja śladów aktywności
Zarówno w przypadku dyskretnej, jak i parametrycznej reprezentacji funkcji algo rytm TD(A) można zaimplementować w sposób przybliżony, lecz bardzo efekty w-
785
13.12. PODSUMOWANIE
ny obliczeniowo, korzystając z reguły aktualizacji zapisanej w równaniu (13.45). Wiadomo, że skutki jej stosowania są w przybliżeniu równoważne ze skutkami otrzymywanymi za pomocą śladów aktywności. Jej stosowanie jednak nie jest możliwe, gdyż do aktualizacji stanu xt w kroku t wykorzystuje ona dochód TD(A) dla tego kroku zf, który zależy od nagród rt+k i wartości Vt+k (st+fc+i) dla wszyst kich k — 0 , 1 , . . . . Możliwe jest jednak zaimplementowanie tej reguły w sposób przybliżony przy wykorzystaniu obciętych dochodów TD(A). Taki dochód dla kro ku t jest definiowany następująco: m-2 m
4'
= £ (7A)" [rt+k + 7(1 - X)Ut+k(xt+k+1)] + ( 7 A) m - 1 [r t + m _i + 7 Ł W - 1 (st+m)],
+ (13.54)
przy czym m > 1 oznacza liczbę kroków, do której jest obcięta nieskończona su ma występująca w definicji oryginalnego dochodu TD(A). Obcięty do m kroków dochód TD(A) nazwiemy dochodem TTD(A, m). Do jego obliczenia jest wyma gana znajomość nagród i wartości stanów z następnych m kroków czasu. Oczywi ście przyszłe nagrody i stany nigdy nie są znane z wyprzedzeniem, lecz dochody TTD(A, m) można wykorzystać opóźniając operację aktualizacji funkcji o m kro ków, czyli w kroku t poddając aktualizacji jej wartość dla stanu xt^m+i: uaktualni/\V{xt-m+ih
4-Z+i ~ Vtfo-m+i))-
(13.55)
Wymagany przez tę operację dochód ztf^+l może być obliczony w kroku t9 gdyż „najnowsza" nagroda i wartość stanu, jakie są w tym celu potrzebne, to odpowied nio rt i Vt (rct+i). Możliwe jest nawet wykonywanie tych obliczeń w sposób inkrementacyjny, wymagający stałej ilości obliczeń w każdym kroku czasu niezależnie od długości obcięcia m, która w praktyce jednak i tak nie musi być większa niż kilka, kilkanaście lub dwadzieścia kilka. Prowadzi to do przybliżonej implemen tacji algorytmu TD(A), której koszt nieznacznie tylko przekracza koszt TD(0), co pozwala pogodzić szybką zbieżność z niewielką ilością obliczeń w kroku czasu.
13.12 Podsumowanie S-> Uczenie się ze wzmocnieniem jest obliczeniowym podejściem do nabywania umiejętności celowego zachowania przez system inteligentny na podstawie dy namicznych interakcji ze środowiskiem. Interakcje polegają na obserwowaniu przez system stanów środowiska i wykonywaniu akcji, a cel ucznia jest okre ślony za pomocą rzeczywistoliczbowych nagród. 9-> W każdym kroku dyskretnego czasu system uczący się ze wzmocnieniem ob serwuje aktualny stan środowiska i wybiera akcję do wykonania zgodnie ze
786
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
swoją aktualną strategią decyzyjną. W wyniku wykonania akcji stan środo wiska może ulec zmianie, a system może otrzymać nagrodę, inaczej nazywa ną wzmocnieniem. Uczenie się polega na modyfikowaniu strategii na podsta wie takich doświadczeń w sposób prowadzący do maksymalizacji pewnej mia ry jakości działania, zdefiniowanej w zależności od otrzymywanych wartości wzmocnienia. S-> Środowisko może być niepewne i nieznane uczniowi. Oznacza to, że zmiany stanów i generowanie nagród mogą następować stochastycznie według pew nych rozkładów prawdopodobieństwa, do których uczeń nie ma dostępu i któ rych w każdym przypadku nie może zmieniać, co oznacza, że środowisko jest niekontrowalne. S-> Matematycznym modelem środowiska uczenia się ze wzmocnieniem jest pro ces decyzyjny Markowa, definiowany przez podanie zbioru stanów i akcji oraz funkcji przejść i wzmocnienia. Funkcje te przypisują każdej parze stan-akcja zmienne losowe, oznaczające odpowiednio następny stan i nagrodę. Ich warto ści zależą zawsze tylko od aktualnego stanu i wykonanej w nim akcji — brak zależności od historii poprzednich stanów i akcji jest nazywany własnością Markowa. S-* Metody programowania dynamicznego oparte na równaniach Bellmana umoż liwiają znalezienie strategii optymalnej dla procesu decyzyjnego Markowa, o ile są znane prawdopodobieństwa przejść stanów oraz wartości oczekiwa ne wzmocnienia dla wszystkich par stan-akcja. Uczenie się ze wzmocnieniem nie zakłada dostępności tej wiedzy, a za cel stawia sobie nie tyle znalezie nie strategii optymalnej, co raczej optymalne (lub prawie optymalne) działanie ucznia, do czego może wystarczyć strategia częściowa (nieokreślona dla nie odwiedzanych stanów środowiska). ^
Większość algorytmów uczenia się ze wzmocnieniem opiera się na metodach różnic czasowych TD(A), stosowanych do przewidywania w każdym kroku czasu zdyskontowanej sumy przyszłych nagród. Do uczenia się jest wyko rzystywany błąd obliczany jako różnica między wartościami przewidywany mi w dwóch kolejnych krokach czasu. W podstawowej wersji metody różnic czasowych służą do wartościowania strategii przez wyznaczanie funkcji war tości stanów na podstawie interakcji ze środowiskiem przy posługiwaniu się ustaloną strategią.
^
Algorytmy uczenia się ze wzmocnieniem oparte na metodach różnic czaso wych uzupełniają wartościowanie strategii za pomocą reguły TD o pewne me chanizmy poprawiania strategii. Algorytm AHC wykorzystuje w tym celu od rębną funkcję strategii, a algorytmy Q-learning i Sarsa funkcję wartości akcji jednocześnie reprezentującą wartości stanów i aktualną strategię, jako zachłan ną względem tej funkcji.
13.13. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
787
9-> Wybór akcji przy uczeniu się ze wzmocnieniem musi zapewniać właściwe równoważenie eksploracji (działania w celu zdobywania wiedzy) i eksploata cji (działania w celu zdobywania nagród). Zazwyczaj są w tym celu stosowane „prawie zachłanne" strategie stochastyczne, z których najbardziej popularne są strategia e-zachłanna i strategia oparta na rozkładzie Boltzmanna.
13.13 Uwagi historyczne i bibliograficzne Tylko wieloraka odmienność uczenia się ze wzmocnieniem od innych rodzajów uczenia się, którymi zajmowaliśmy się wcześniej, decyduje o umieszczeniu tego rozdziału w końcowej części książki, nie zaś jego w jakimkolwiek stopniu margi nalnego znaczenia. Jest to obszar aktywnych badań wciąż o charakterze znacznie bardziej podstawowym niż stosowanym, ze względu na dużą liczbę otwartych pro blemów, co tłumaczy jego atrakcyjność dla młodych naukowców pracujących nad rozprawami doktorskimi. Korzenie uczenia się ze wzmocnieniem sięgają lat pięćdziesiątych, czyli po czątków badań nad maszynowym uczeniem się w ogóle. Z tego okresu pochodzi słynny program uczący się gry w warcaby opracowany przez Samuela [236], któ ry używał technik pod wieloma względami zbliżonych do znanych nam obecnie pod nazwą metod różnic czasowych. W tym także okresie pojawił się w słowni ku sztucznej inteligencji termin „wzmocnienie", zapożyczony z psychologii przez Minsky'ego [157]. Po obiecujących początkach w kolejnych latach zainteresowa nia badawcze zdecydowanie przesunęły się ku różnym rodzajom uczenia się z nadzorem i tylko sporadyczne publikacje przerywały milczenie wokół uczenia się ze wzmocnieniem. Jego renesans, a właściwie narodziny we współczesnej formie, przyniosły lata osiemdziesiąte, początkowo głównie za sprawą prac Barto, Suttona i ich współpracowników. W latach dziewięćdziesiątych można było obserwować szybko postępujący wzrost zainteresowania tą dziedziną, którego najłatwiej do strzegalnym objawem jest liczba poświęconych jej publikacji. Obecnie regularnie
788
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
pojawiają się one w czołowych czasopismach poświęconych sztucznej inteligencji i maszynowemu uczeniu się. Na europejskich i międzynarodowych konferencjach na temat uczenia się maszyn udział publikacji na temat uczenia się ze wzmocnie niem sięga ostatnio nawet 10-20%. Szczególne znaczenie dla odnowienia zainteresowania uczeniem się ze wzmoc nieniem można przypisać artykułowi Barto, Suttona i Andersona [14], w którym pojawia się opis pierwszej wersji algorytmu AHC oraz koncepcji wykorzystania śladów aktywności do przyspieszenia uczenia się. Obszerną prezentację algoryt mu AHC, jego nieformalne uzasadnienie oraz wyniki eksperymentalne ilustrują ce jego właściwości przedstawił następnie Sutton w swojej rozprawie doktorskiej [253]. Znajduje się tam też bardzo pouczająca dyskusja paradygmatu uczenia się na podstawie opóźnionych nagród i porównanie go z innymi pokrewnymi rodza jami uczenia się, między innymi z uczeniem się na podstawie natychmiastowych nagród, badanym w ramach prac nad automatami uczącymi się. Następnie towa rzyszącą algorytmowi AHC koncepcję śladów aktywności Sutton rozwinął i opisał jako metody różnic czasowych w artykule [254]. Algorytm Q-learning został niewiele później przedstawiony przez Watkinsa w jego niezwykle ważnej rozprawie doktorskiej [276]. Oprócz podania samego algorytmu, który szybko zdobył pozycję standardowego, jego wkład w dziedzinę polega na odkryciu i wykorzystaniu wcześniej niedostrzeganych lub niedocenia nych związków uczenia się ze wzmocnieniem z programowaniem dynamicznym. Opis algorytmu Q-learning można znaleźć w licznych artykułach, w których jest on wykorzystywany jako podstawa do implementacji systemów uczących się ze wzmocnieniem, w szczególności u Lina [133] oraz Mahadevana i Connella [136], które cytujemy tu ze względu na ich niewątpliwe walory dydaktyczne, oprócz war tości naukowej. Dowód zbieżności dla algorytmu Q-learning przedstawili Watkins i Dayan [277]. Trzeci z omawianych w tym rozdziale algorytmów uczenia się ze wzmocnieniem przedstawili Rummery i Niranjan [228]. Programowanie dynamiczne zostało z kolei zainicjowane w latach pięćdziesią tych przez Bellmana [18], który położył podwaliny pod znane i stosowane do dziś metody oparte na równaniach nazwanych od jego nazwiska. Nowoczesne wpro wadzenie do tej dziedziny stanowi książka Rossa [226]. Podstawowe informacje z zakresu programowania dynamicznego znajdują się też oczywiście w pracach dyskutujących jego powiązania z uczeniem się ze wzmocnieniem. Oprócz cytowa nej wyżej pracy Watkinsa godny polecenia jest zwłaszcza artykuł Barto, Suttona i Watkinsa [15], który może być także traktowany jako dobre wprowadzenie do uczenia się ze wzmocnieniem. Asynchroniczne warianty metod programowania dynamicznego oraz programowanie dynamiczne w czasie rzeczywistym, które łą czy aktualizacje wartości stanów na podstawie równań Bellmana z interakcjami ze środowiskiem, opisują Barto, Bratke i Singh [12]. Z kolei Barto i Singh [13] porównują zastosowanie uczenia się ze wzmocnieniem do nieznanego środowiska
13.13. UWAGI HISTORYCZNE I BIBLIOGRAFICZNE
789
z zastosowaniem programowania dynamicznego poprzedzonym identyfikacją tego środowiska, czyli uczeniem się jego modelu, argumentując, że pierwsze, bezpo średnie podejście może być bardziej opłacalne obliczeniowo od drugiego, pośred niego. Szeroką i wnikliwą dyskusję różnych aspektów uczenia się ze wzmocnieniem przedstawia poświęcona mu książka Suttona i Barto [257]. Jest to obecnie naj pełniejsze źródło informacji o tej dziedzinie, zarówno jeśli chodzi o algorytmy, jak i teorię, powiązania z innymi obszarami badań oraz zastosowania praktycz ne. Orientację w podstawowych zagadnieniach z tego zakresu może też ułatwić przeglądowy artykuł Kaelbling, Littmana i Moore'a [111], zawierający obszerną bibliografię umożliwiającą kontynuowanie studiów literaturowych. Problem ucze nia się ze wzmocnieniem jest nieformalnie przedstawiony przez przeciwstawienie go uczeniu się z nadzorem i bez nadzoru w artykule Barto [11]. Pewne walory dy daktyczne można dostrzec także w pracy magisterskiej autora tych słów [48]. Jego praca doktorska [49] zawiera dość wnikliwą analizę niektórych aspektów algoryt mu TD(A). Wiele zagadnień zaledwie zasygnalizowanych w tym rozdziale ma obszerną literaturę. Tu musimy się ograniczyć do zacytowania tylko najbardziej podstawo wych pozycji. Najbardziej elegancką i uniwersalną teorię zbieżności dla metod różnic czasowych i pokrewnych algorytmów przedstawili Jaakkola, Jordan i Singh [104]. Problem generalizacji w uczeniu się ze wzmocnieniem i wykorzystania róż nego rodzaju aproksymatorów funkcji był poruszany przez szczególnie wielu au torów. Sporą popularność zyskał sobie zwłaszcza aproksymator CMAC, używany między innymi przez Watkinsa [276] i Suttona [256], który zademonstrował jego skuteczność w połączeniu z algorytmem Sarsa i dodatnimi wartościami A. Re zultaty uzyskiwane dla wielowarstwowych perceptronów z algorytmem wstecznej propagacji błędu są zróżnicowane, lecz udanego przykładu ich użycia dostarcza praca Lina [133, 134]. Problemami, jakie mogą wiązać się z przybliżoną reprezen tacją funkcji, zajmowali się między innymi Singh i Yee [248] oraz Boyan i Moore [29]. Z kolei zagadnienie efektywnej eksploracji jest przedmiotem raportu Thruna [263], który omawia dokładnie różne strategie. Alternatywne sformułowanie me tod TD(A) wykorzystujące zastępujące (zamiast akumulujących, do których zawę ziliśmy naszą dyskusje w tym rozdziale) ślady aktywności zaproponowali Singh i Sutton [247]. Równania Bellmana i odpowiednie algorytmy uczenia się dla mak symalizacji średnich nagród — kryterium jakości alternatywnego w stosunku do maksymalizacji zdyskontowanych nagród, którą zajmowaliśmy się w tym rozdzia le — podał Singh [245]. Problem ukrytego stanu był między innymi badany przez Lina [134], który wykorzystywał okno czasowe i rekurencyjne sieci neuronowe, oraz McCalluma [140], który zaproponował podejście polegające na zapamięty waniu doświadczeń. Singh [246] analizował problem uczenia się w środowiskach niemarkowowskich bez technik estymacji ukrytego stanu, lecz z wykorzystaniem
790
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
algorytmów dla średnich nagród. Pokrewny problem aktywnej percepcji badali Whitehead i Ballard [280]. Łączenie uczenia się z planowaniem zasugerował Sutton [255] i zaproponował realizującą ją architekturę Dyna. Różne koncepcje hie rarchicznych systemów uczących się ze wzmocnieniem zaproponowali między in nymi Watkins [276], Mahadevan i Connell [136], Singh [244], Lin [134], Dayan i Hinton [61] czy ostatnio Dietterich [67]. Tadepalli i Dietterich [259] zaproponowali system hierarchiczny, łączący ucze nie się ze wzmocnieniem i uczenie się przez wyjaśnianie, opierając się na ujedno liconej perspektywie dla tych dwóch rodzajów uczenia się zaproponowanej wcze śniej przez Diettericha i Flanna [69], Postęp, jaki dokonał się w badaniach nad uczeniem się ze wzmocnieniem w ostatnich latach, owocuje rosnącą liczbą znaczących zastosowań praktycznych. Za pierwszy spektakularny sukces jest uważany uczący się program do gry w trik-traka opracowany przez Tesauro [262], który bez żadnej wiedzy eksperckiej wy łącznie na podstawie symulowanych partii osiągnął poziom mistrzowski. Crites i Barto [60] opisują udane zastosowanie uczenia się ze wzmocnieniem do ste rowania systemem wind w biurowcu. Zhang i Dietterich [292] przedstawili za stosowanie do szeregowania zadań w misjach kosmicznych NASA, demonstrując jednocześnie przydatność uczenia się ze wzmocnieniem do optymalizacji kombinatorycznej i rozwiązywania problemów.
13.14 Ćwiczenia Ćwiczenie 13.1. Udowodnij twierdzenie 13.1. Ćwiczenie 13.2. Udowodnij twierdzenie 13.2. Ćwiczenie 13.3. Udowodnij twierdzenie 13.3. Ćwiczenie 13.4. Udowodnij twierdzenie 13.4. Ćwiczenie 13.5. Wyznacz funkcje wartości akcji dla środowiska GRAF-5 z przykła du 13.5 względem strategii podanych w przykładzie 13.7, korzystając z odpowiedniej wersji równania Bellmana i przyjmując 7 = 0,9. Ćwiczenie 13.6. Sformułuj odpowiednik algorytmu 13.2 dla funkcji wartości akcji i prześledź jego zastosowanie do wartościowania strategii TTI określonej w przykła dzie 13.7 dla środowiska GRAF-5 z przykładu 13.5. Ćwiczenie 13.7. Powtórz przykład 13.15, zakładając inicjowanie funkcji V i fi na 0. Ćwiczenie 13.8. Powtórz przykład 13.15 dla algorytmu Q-learning, zakładając inicjo wanie funkcji Q na 0 oraz 1.
13.14. ĆWICZENIA
791
Ćwiczenie 13.9. Powtórz przykład 13.15 dla algorytmu Sarsa, zakładając inicjowanie funkcji Q naO oraz 1. Ćwiczenie 13.10. Prześledź działanie algorytmów AHC, Q-Iearning i Sarsa dla środo wiska G R I D - 6 , zakładając, że uczeń rozpoczyna działanie w stanie 32 i wykonuje ciąg akcji ->, | , i, <-, <-, ->, | , <-, | , | , <-, ->, <-, t, -•. -•. t. <~> ~K t. ~K -•• Przyjmij inicjowanie wszystkich funkcji na 0. Ćwiczenie 13.11. Sformułuj wersję algorytmu TD do wartościowania strategii, wyzna czającą funkcję wartości akcji. Ćwiczenie 13.12. Dla ciągłych przestrzeni stanów, w przypadku reprezentacji funk cji za pomocą aproksymatora parametrycznego, jest możliwe wykorzystanie metod TD(A) dla A > 0 przez związanie śladów aktywności z poszczególnymi wagami. Sformułuj odpowiedni algorytm uczenia się, podając reguły aktualizacji wag i śladów. Rozważ szczególne przypadki aproksymatora liniowego i aproksymatora z rozszerzo ną reprezentacją. Ćwiczenie 13.13. Sformułuj algorytm obliczania dochodów TTD, umożliwiający efek tywną implementację metod TD(A) bez użycia śladów aktywności. Ćwiczenie 13.14. Udowodnij równoważność algorytmu stosującego regułę aktualizacji zapisaną w równaniu (13.45) ze standardowym algorytmem TD(A) używającym śla dów aktywności. Ćwiczenie 13.15. Rozważ możliwość sformułowania następujących problemów kombinatorycznych w sposób umożliwiający zastosowanie do nich metod uczenia się ze wzmocnieniem: • • • •
szeregowanie zadań, układanie planu lekcji, układanie rozkładu jazdy, problem komiwojażera.
Ćwiczenie 13.16. Wzorując się na środowisku G R I D - 6 , zaprojektuj dwuwymiarowe środowiska komórkowe GRlD-10, G R I D - 2 0 i G R I D - 5 0 O wymiarach odpowiednio 10 x 10, 20 x 20 i 50 x 50. Rozmieść przeszkody tak, aby zajmowały ok. 10-20% komórek. Przyjmij epizodyczny tryb uczenia się ze sprowadzaniem do stanu począt kowego ustalonego lub wybieranego losowo po każdym osiągnięciu komórki „doce lowej", z którą jest związana dodatnia nagroda. Zaimplementuj komputerowe symu latory tych środowisk oraz zaprojektuj i zaimplementuj dla nich system uczący się ze wzmocnieniem, używając algorytmów AHC, Q-learning i Sarsa w wersjach odpo wiadających TD(0) i TD(A > 0), z eksploracją wykorzystującą strategię e-zachłanną i strategię opartą na rozkładzie Boltzmanna. Porównaj poszczególne algorytmy z róż nymi ustawieniami parametrów ze względu na szybkość uczenia się, jakość uzyski wanych strategii oraz czas obliczeń przypadający na pojedynczy krok i wymagany do uzyskania zbieżności.
792
ROZDZIAŁ 13. UCZENIE SIĘ ZE WZMOCNIENIEM
Ćwiczenie 13.17. Dynamikę systemu odwróconego wahadła opisują następujące rów nania różniczkowe: . x F(t)+mJ[Ś2(t)sm9(t) x(t) =
-6cos6(t)}
-^csgnir(t)
gsin9{t) + cos0(t) | " - ^ ) - ^ « a W ^ ( 0 + M e B g n x ( t )
[3
4 __ m p c o s
2
mvl
fl(Ql
mc+mP J
przy czym: • x(t) — położenie wózka na torze w chwili i, • 6(t) — odchylenie pręta od pionu w chwili tt • g = 9,81 — przyspieszenie grawitacyjne, • mc = 1 — masa wózka, • mp — 0,1 — masa pręta, • l — 0,5 — połowa długości pręta, • jjic— 0,0005 — współczynnik tarcia wózka na torze, • fip = 0,000002 — współczynnik tarcia pręta na wózku, • F(t) = ±10 — siła przyłożona do wózka w chwili t. Stan systemu w chwili t jest opisywany przez wartości x(t), x(t), 8(i) i 8(t). Nie powodzenie następuje w chwili t, jeśli \x(t)\ > 2,4 lub \0(t)\ > 0,21. Do symulacji systemu za pomocą dowolnej metody numerycznego rozwiązywania równań różnicz kowych (np. metody Eulera) przyjmij krok czasu r — 0,02. Zaprojektuj i zaimplementuj system uczący się ze wzmocnieniem dla tego pro blemu przyjmując, że: 1) przestrzeń stanów jest poddana dyskretyzacji za pomocą następujących wartości progowych: • - 0 , 8 , 0,8 dla x, • —0,5, 0,5 dla x, • -0,105, -0,0175, 0, 0,0175, 0,105 dla (9, • -0,8727, 0,8727 dla 6 i dla uzyskanej dyskretnej przestrzeni stanów jest stosowana reprezentacja tabli cowa, 2) do reprezentacji funkcji wykorzystuje się aproksymator CMAC. Porównaj działanie algorytmów AHC, Q-learning i Sarsa, różnych probabilistycznych mechanizmów eksploracji oraz zbadaj wpływ zastosowania TD(A > 0) na szybkość i koszt obliczeniowy uczenia się.
Rozdział 1 4
Zakończenie The time is gone, the song is over, Thought Vd something morę to sayx To rzekłszy, druga maszyna do opowiadania zgrzytnęła dźwięcznie złotymi trybikami, zaśmiała się dziwnie od lekkiego przegrzania poniektórych klistronów, zmniejszyła sobie napięcie anodowe, zafilowała, zgasła i odeszła do lektyki przy powszechnym oklasku, co jej elokwencję i zdolności okazane nagrodził2-
Ostatni rozdział książki jest próbą spojrzenia wstecz z pewnym dystansem na za gadnienia omawiane w poprzednich rozdziałach, a także spojrzenia w bok, na te problemy z zakresu maszynowego uczenia się, które w książce się nie znalazły, oraz spojrzenia w przód, na spodziewany kierunek dalszego rozwoju tej dziedziny. Będzie to więc rozdział o charakterze raczej mało technicznym, a bardziej dyskursywnym, co dla autora stanowi pewną trudność. Chociaż jednak nie należy się po nim zbyt wiele spodziewać, znajdzie się tu w pierwszej kolejności podsumowująca dyskusja różnych omawianych wcześniej algorytmów uczenia się. Jej nadrzędnym celem będzie naszkicowanie sposobów pokonywania dystansu dzielącego algoryt my uczenia się od praktycznych systemów uczących się, jakich konstrukcją są za pewne zainteresowani przynajmniej niektórzy z czytelników. Odwołanie do tego, co w książce się znalazło, ułatwi przedstawienie w ogólnym przynajmniej zarysie tego, dla czego w niej zabrakło miejsca. Chodzi tu przede wszystkim o sieci neuro nowe oraz metody uczenia się wykorzystujące algorytmy ewolucyjne. Była o tych pominięciach mowa w przedmowie, lecz teraz będzie możliwe bardziej precyzyj ne przedstawienie ich i wskazanie odpowiedniej literatury. Ostatni rozdział książki jest też właściwym miejscem na wskazanie wybranych kierunków badań obecnie prowadzonych w dziedzinie maszynowego uczenia się, które w książce o charak terze dość podstawowym nie mogły znaleźć należnej reprezentacji, a które jednak dla części jej czytelników mogą być interesujące. Są one nieco umownie pogrupo wane na wyzwania teoretyczne, koncepcyjne i praktyczne.
]
Time (Pink Floyd: Dark Side ofthe Mooń). Bajka o trzech maszynach opowiadających króla Genialona.
2
794
ROZDZIAŁ 14. ZAKOŃCZENIE
14.1 Od algorytmów do systemów Na stronach rozdziałów od 2 do 13 znalazło się 40 jawnie sformułowanych algoryt mów uczenia się, nie licząc różnych dyskutowanych w tekście wariantów, modyfi kacji i rozszerzeń oraz algorytmów opisanych matematycznie, lecz nie sformuło wanych w pseudokodzie. Prezentacja tych algorytmów była wprawdzie utrzymana na dość ogólnym i abstrakcyjnym poziomie, lecz do pewnego stopnia nadrabiali śmy to dyskutując praktyczne i implementacyjne zagadnienia w końcowych frag mentach poszczególnych rozdziałów. Można więc odnieść wrażenie, że czytelnik, chcący praktycznie zmierzyć się z konstruowaniem systemów uczących się w in teresującej go dziedzinie zastosowań, został zupełnie dobrze wyekwipowany. Czy jest tak w istocie? Odpowiedzieć negatywnie oznaczałoby przyznanie, że z książki mogą sko rzystać co najwyżej studenci słuchający wykładów o uczeniu się lub doktoranci przygotowujący się do podjęcia badań naukowych, lecz nie praktycy, wymieniani jednak w przedmowie w gronie jej potencjalnych odbiorców. Zatem odpowiada my: tak, ta książka przygotowuje do praktycznego stosowania systemów uczących się na tyle, na ile obecny stan rozwoju maszynowego uczenia się pozwala i na ile jest to w ogóle możliwe w jednej książce o ograniczonej objętości dotyczącej tak szerokiego zakresu zagadnień. To jednak oznacza, że własna inwencja pro jektanta takich systemów jest niezastąpiona i może decydować o sukcesie całego przedsięwzięcia. Dla wielu praktycznych problemów brak bowiem uniwersalnych i skutecznych gotowych recept. Ten podrozdział miał w zamierzeniu w możliwie ogólny sposób powiedzieć coś o dystansie, jaki dzieli praktyczne systemy uczące się od przedstawionych w książce algorytmów uczenia się i możliwościach jego pokonywania. Wygląda jednak na to, że zadanie to jest zbyt ambitne, aby można było się z niego do brze wywiązać. Z tego względu poniższa dyskusja będzie nieco mało konkretna i ogólnikowa. Skonkretyzować ją mogą własne doświadczenia czytelnika. Gdyby zechciał się on nimi z autorem podzielić lub odbyć z nim na ich temat dyskusję, będzie to przyjęte z wdzięcznością.
14.1.1 Etapy konstruowania systemu Spróbujmy, na początek przynajmniej, spojrzeć na konstruowanie systemu uczą cego się jako na proces przebiegający w czasie i w związku z tym dający się po dzielić na pewne etapy, podobnie jak czyni się to często ze „zwykłymi" projektami informatycznymi. Podział ten może w różnych projektach wyglądać różnie — za leżnie od doświadczenia projektantów, ich znajomości dziedziny i celów, jakie so bie stawiają. Zachowując w związku z tym należytą ostrożność, możemy wskazać następujące najbardziej typowe etapy procesu, o którym mowa:
14.1. OD ALGORYTMÓW DO SYSTEMÓW
1) 2) 3) 4) 5) 6) 7) 8)
795
analiza wymagań, sformułowanie zadania uczenia się, wybór algorytmów uczenia się, dopasowanie algorytmów, implementacja i testowanie prototypów, implementacja systemu, uruchomienie systemu, pielęgnacja i rozwijanie systemu.
W zależności od konkretnych uwarunkowań niektóre z tych etapów mogą być zbędne lub mogą być potrzebne inne etapy tu nie uwzględnione. Jednak te, któ re wymieniliśmy, występują na tyle często, zaś inne są na tyle zależne od specy ficznych zastosowań, że ograniczymy się do dyskusji ośmiu elementów powyższej listy. Z pewnością w wielu realnych zastosowaniach odpowiadający wymaganiom system musi obok elementów odpowiedzialnych za uczenie się zawierać także in ne, zajmujące się między innymi wymianą informacji z otoczeniem, współpracą z użytkownikiem, a przede wszystkim stosowaniem pozyskanej w wyniku ucze nia się wiedzy lub umiejętności. Nie będziemy tym nieuczącym się elementom poświęcać szczególnej uwagi, powinno być jednak jasne, że jak wszystkie części składowe systemów informatycznych podlegają zwykłym zasadom analizy, pro jektowania i implementacji oprogramowania. Analiza wymagań. Naturalnym początkiem każdego projektu jest określenie wymagań, do których spełnienia — w całości lub w części — ma on doprowa dzić. Zależą one od dziedziny zastosowania, funkcji, jaką ma w niej pełnić sys tem, oraz oczekiwań jego potencjalnych użytkowników. Te ostatnie są często dość słabo określone i analityk powinien pomóc w ich artykulacji. Określenie wyma gań powinno doprowadzić w szczególności do stwierdzenia, czy do ich spełnienia w ogóle jest potrzebne maszynowe uczenie się, a jeśli tak, to jakiego rodzaju. Z po trzebą uczenia się możemy się zetknąć przede wszystkim tam, gdzie występuje konieczność adaptacyjności i poprawy na podstawie doświadczeń oraz uogólnia nia lub brak jest dostatecznej wiedzy na temat dziedziny, wskutek czego system posługujący się konkretnym gotowym algorytmem nie jest w stanie spełnić wy magań. Obszerniej o tym, czym jest uczenie się i kiedy jest przydatne, mówiliśmy w rozdziale 1. Sformułowanie zadania uczenia się. Jeśli analiza wymagań wykaże, że do ich zaspokojenia konieczny jest jakiś rodzaj uczenia się, to należy przyjrzeć się mu dokładniej i doprowadzić do maksymalnie precyzyjnego sformułowania zadania
796
ROZDZIAŁ 14. ZAKOŃCZENIE
uczenia się. Sformułowanie takie zawsze obejmuje określenie postaci danych wej ściowych, jakie otrzymuje system uczący się, sposobu, w jaki powinien na nie odpowiadać, dostarczanej mu informacji trenującej oraz warunków, jakie ma speł niać hipoteza uzyskana na jej podstawie. Może to doprowadzić do sformułowania w czystej postaci jednego z zadań omawianych w tej książce, na przykład zadania indukcyjnego uczenia się pojęć, zadania aproksymacji funkcji lub zadania ucze nia się ze wzmocnieniem, lecz możemy także uzyskać zadanie nie odpowiadające dokładnie żadnemu z nich lub obejmujące jednocześnie kilka z nich. Wybór algorytmów uczenia się. Sformułowanie zadania uczenia się, którego rozwiązanie jest niezbędne do uzyskania pożądanego systemu uczącego się, sta nowi podstawę wyboru przydatnych do jego realizacji algorytmów. Dla każdego zadania, które potrafimy rozwiązać, możemy w ten sposób wskazać pewną liczbę algorytmów (np. różne algorytmy indukcji drzew decyzyjnych lub reguł dla zada nia uczenia się pojęć) lub algorytmów, które należy wykorzystać łącznie w pewnej kombinacji (np. algorytm Q-learning i aproksymator CMAC dla zadania uczenia się ze wzmocnieniem). Niekiedy samo sformułowanie zadania oraz dodatkowe wymogi dotyczące efektywności, trybu uczenia się, czy nawet dostępnych narzę dzi programistycznych umożliwiają jednoznaczny wybór algorytmów, których na leży użyć, niekiedy zaś pozostaje wybór jednej z kilku opcji, który będzie musiał być dokonany w dalszej fazie projektu. Dopasowanie algorytmów. Nie zawsze można liczyć na to, że znane algorytmy, opisane w tej książce lub innych źródłach, nadają się bezpośrednio do rozwiąza nia sformułowanego zadania uczenia się. W wyniku analizy specyficznych cech dziedziny i problemu może okazać się konieczne wprowadzenie do nich odpo wiednich modyfikacji, dopasowujących je do faktycznych potrzeb. Może chodzić o dodanie odpowiedniego przetwarzania wstępnego danych wejściowych, zmianę trybu uczenia się z wsadowego na inkrementacyjny lub odwrotnie, wprowadze nie innego kryterium oceny jakości hipotez lub niestandardowe połączenie kilku algorytmów. Często określenie zakresu i formy niezbędnych zmian jest możliwe dopiero po analizie wstępnych eksperymentów, do których niezbędne są prototy powe implementacje branych pod uwagę algorytmów, o czym mówimy niżej. Implementacja i testowanie prototypów. Dokonawszy wyboru jednego lub kil ku algorytmów odpowiadających rozwiązywanemu zadaniu uczenia się, można przystąpić do implementacji opartych na tych algorytmach prototypowych syste mów uczących się. Prototypy takie nie muszą być i z reguły nie są w pełni funk cjonalne z punktu widzenia wymagań określonych na początku projektu i koncen trują się tylko na wybranych najistotniejszych aspektach projektowanego systemu.
14.1. OD ALGORYTMÓW DO SYSTEMÓW
797
W ogólnym przypadku prototypy reprezentują różne wersje (wykorzystujące różne algorytmy) najważniejszych elementów tego systemu, chociaż oczywiście w wielu projektach możemy mieć do czynienia tylko z jednym elementem lub tylko zjedna możliwą wersją. Jedynym celem, dla którego powstają takie prototypy, jest pod danie ich badaniom zmierzającym do określenia ich skuteczności i efektywności działania. Jest to eksperymentalna faza projektu, polegająca na testowaniu proto typów w warunkach maksymalnie zbliżonych do tych, w których miałyby dzia łać odpowiednie elementy rzeczywistego systemu. Może to polegać na przykład na użyciu próbek rzeczywistych danych lub symulowaniu rzeczywistego środowi ska — dokładny przebieg testowania zależy oczywiście od zadania uczenia się. Niezależnie od sposobu, w jaki zostanie przeprowadzone, powinno ono pozwolić wstępnie ocenić szanse powodzenia całego przedsięwzięcia, które nie zawsze są na początku projektu oczywiste, oraz pozwolić na wybór spośród różnych algoryt mów tych, dla których eksperymentalna weryfikacja wypadła najlepiej. Projektowanie i implementacja systemu. Po pomyślnym zakończeniu testo wania prototypów wszystkie decyzje dotyczące algorytmów uczenia się, które ma ją być użyte w projektowanym systemie uczącym się, oraz ich współdziałania po winny być już podjęte, umożliwiając przejście od inżynierii uczenia się do inżynie rii oprogramowania. Zamyka to fazę badawczą projektu i otwiera fazę produkcyj ną. Oznacza to zaprojektowanie i implementację odpowiedniego oprogramowania. Mogą być przy tym stosowane standardowe techniki i narzędzia, których omawia nie jest oczywiście poza zakresem naszych zainteresowań w tej książce. Uruchomienie systemu. Częściowo w trakcie implementacji, a częściowo po jej zakończeniu musi nastąpić zamykający na ogół projekt etap uruchamiania sys temu. Rozumiemy przez to zarówno uruchamianie w sensie, jaki temu termino wi nadaje się w inżynierii oprogramowania (testowanie, usuwanie błędów), jak i w szerszym sensie, obejmującym odpowiednie sprzężenie systemu uczącego się ze środowiskiem (programowym lub sprzętowym), w jakim ma działać, i faktycz ne wdrożenie go do użytku. Zazwyczaj wiąże się z tym także odpowiednie prze szkolenie jego przyszłych użytkowników. Pielęgnacja i rozwijanie systemu. Aby dowolny system informatyczny, a więc także system uczący się, mógł służyć użytkownikom przez wystarczająco długi czas w stosunku do poniesionych na jego stworzenie nakładów, wymaga pielęgna cji już po zakończeniu właściwego projektu. Rozumie się przez to usuwanie ujaw nianych w trakcie eksploatacji błędów, usterek czy niedogodności oraz w razie potrzeby dostosowywanie do zmieniających się wymagań i warunków. Często jest także uzasadnione rozwijanie systemu, czyli opracowywanie jego kolejnych wersji
798
ROZDZIAŁ 14. ZAKOŃCZENIE
o wzbogaconych cechach funkcjonalnych oraz poprawionej jakości i efektywności działania. Może to oznaczać w szczególności wykorzystanie nowych algorytmów uczenia się lub ich udoskonalonej implementacji.
14.2 Lista nieobecności O nieświadomych brakach w tej książce, wynikających nie z decyzji autora, lecz z jego niewiedzy lub przeoczenia, będą się mogli wypowiedzieć jej czytelnicy. O brakach świadomych wspomnieliśmy już w przedmowie, lecz teraz, mając za sobą trzynaście rozdziałów, najlepiej możemy wyjaśnić, jakie zagadnienia wcho dzące w zakres teorii i praktyki systemów uczących się świadomie nie zostały w niej uwzględnione i próbować to autorskie postanowienie uzasadnić. Podkreśl my, nie chodzi tu o braki polegające na powierzchownym, nie wchodzącym zbyt głęboko w szczegóły opisie niektórych rodzajów uczenia się i algorytmów, które są naturalną cechą książki o podstawowym charakterze, traktującej o stosunkowo szerokiej i zróżnicowanej dziedzinie, a więc o materiał, który mógłby uzupełnić poszczególne rozdziały, gdyby była możliwość przygotowania rozszerzonej wersji książki. Chodzi o materiał, który zasadniczo mógłby posłużyć jako treść nowych rozdziałów, w tej książce nieobecnych. 14.2.1
Sieci neuronowe
Jakkolwiek niewiarygodnie to może wyglądać, braków w rozumieniu podanym wyżej jest w tej książce nader niewiele, a w każdym razie mniej niż w jakiej kolwiek innej znanej autorowi książce o systemach uczących się. Wydaje się, że jedynym tematem, któremu można by poświęcić pełny rozdział, nie ustępujący rozmiarem innym rozdziałom i o zbliżonym poziomie szczegółowości, są sztucz ne sieci neuronowe. Nie znalazły one swego miejsca w tej książce z jednego za sadniczego powodu: napisano na ich temat dostatecznie wiele jak na obecny stan wiedzy, w tym także pozycji na tyle dobrych, że ewentualny rozdział w tej książce odbiegałby od nich niekorzystnie nie tylko szczegółowością, co zrozumiałe, ale zapewne także poziomem merytorycznym. Widząc dostępność, również w języku polskim, szeregu godnych polecenia źródeł wiadomości na ten temat autor zre zygnował z pisania o nim. Można jednak zastanawiać się, jaka byłaby zawartość odpowiedniego rozdziału, gdyby nie było tych powodów do pomijania sieci neu ronowych i rozdział taki znalazłby się w książce. Zacznijmy od tego, że sieci neuronowe zasługiwałyby na oddzielny rozdział nie tylko ze względu na to, że można i trzeba dość dużo o nich powiedzieć, lecz także dlatego, że nie dałoby się ich włączyć do żadnego z rozdziałów istniejących. Chociaż najlepszym kandydatem byłby rozdział o aproksymacji funkcji, gdyż naj częściej stosowane sieci mogą być traktowane jako aproksymatory parametryczne,
14.2. LISTA NIEOBECNOŚCI
799
sieci neuronowe mogą być z powodzeniem stosowane także do uczenia się pojęć, grupowania, a nawet uczenia się automatów skończonych. W ewentualnym roz dziale o sieciach neuronowych musiałaby więc być mowa o różnych rodzajach uczenia się, do których mają one zastosowanie. Każdemu z nich odpowiadają naj częściej wykorzystywane typy sieci i używane do ich trenowania (tak się zazwy czaj mówi w tym kontekście) algorytmy. Ich wspólną cechą jest to, że wiedza zdo bywana przez sieć jest subsymbolicznie reprezentowana za pomocą zbioru wag, których modyfikacja następuje w wyniku uczenia się. Subsymboliczna reprezentacja wiedzy w sieciach neuronowych wskazywana jest czasem jako ich wada. Istotnie może nią być w niektórych zastosowaniach, w których wiedza zdobywana przez system uczący się ma być nie tylko przez nie go używana, ale także prezentowana w postaci dogodnej do inspekcji przez czło wieka. Jeśli jednak nie ma tego wymogu, to sieci neuronowe są na ogół bardzo skutecznymi metodami uczenia się. Rzetelnie prowadzone porównania wykazu ją, że przy odpowiednio starannym doborze topologii i parametrów znakomicie konkurują one z symbolicznymi metodami uczenia się pojęć pod względem moż liwych do uzyskania błędów rzeczywistych, co świadczy o udanej generalizacji. Mankamentem sieci neuronowych jest z pewnością często długi czas uczenia się, wynikający z wymagania wielokrotnej prezentacji wszystkich przykładów trenu jących. Jeśli proces modyfikowania wag w czasie uczenia się potraktujemy jako przeszukiwanie przestrzeni wag w poszukiwaniu takiego ich zbioru, który maksy malizuje pewną miarę jakości reprezentowanej przez nie hipotezy, to w przypad ku najczęściej stosowanych gradientowych metod przeszukiwania istnieje ryzyko osiągnięcia tylko lokalnie optymalnych rozwiązań. 14.2.2
Algorytmy ewolucyjne
W naszej książce zostały również całkowicie pominięte techniki obliczeniowe, których popularność od pewnego czasu zbliża się do popularności sieci neuro nowych i które łącznie są określane mianem algorytmów ewolucyjnych. Chociaż nie wiążą się one w większości bezpośrednio z uczeniem się, niektóre z nich mo gą znaleźć dość bezpośrednie zastosowanie do konstruowania systemów uczących się, więc poświęcenie im nieco uwagi byłoby merytorycznie uzasadnione. Algorytmy ewolucyjne można najogólniej określić jako techniki optymaliza cji i przeszukiwania inspirowane mechanizmami genetyki i doboru naturalnego. Potencjalne rozwiązania pewnego problemu zakodowane maszynowo za pomocą odpowiednich struktur danych są poddawane przetwarzaniu ewolucyjnemu, obej mującemu selekcję, w wyniku której do następnego pokolenia przechodzą osob niki najwyżej oceniane przez pewną funkcję celu, oraz rekombinację, w wyniku której są one modyfikowane w sposób uwzględniający wpływ czynnika losowego. Po odpowiednio dużej liczbie pokoleń można oczekiwać, że najlepsze osobniki
800
ROZDZIAŁ 14. ZAKOŃCZENIE
będą reprezentować zadowalająco dobre rozwiązania problemu. Charakterystycz ną cechą ewolucyjnego przeszukiwania i optymalizacji jest jego globabalny cha rakter (odporność na lokalne optima, które są problemem większości metod heu rystycznych) oraz możliwość ich stosowania do problemów, o których dostępna jest niewielka wiedza poza samym kryterium oceny jakości rozwiązań (chociaż dostępność takiej wiedzy może bardzo znacząco poprawić efektywność przeszu kiwania). Można wskazać na dwie główne możliwości ewolucyjnych metod uczenia się. Pierwsza i najbardziej naturalna odwołuje się do stale obecnej w naszej książce perspektywy traktującej proces uczenia się jako przeszukiwanie przestrzeni hipo tez. Mając określoną pewną funkcję oceny hipotez, do przeszukiwania tej prze strzeni można wykorzystać algorytmy ewolucyjne, licząc na to, że być może kosz tem większej ilości obliczeń uda się w ten sposób uzyskać hipotezy lepsze niż znajdowane przez tradycyjne algorytmy, w większości oparte na różnych strate giach przeszukiwania heurystycznego. Podejście takie stało się szczególnie popu larne po upowszechnieniu się zasady minimalnej długości kodu jako uniwersal nego kryterium oceny jakości hipotez. Inne i historycznie wcześniejsze, chociaż obecnie rzadziej wykorzystywane, podejście polega na konstruowaniu ewolucyj nych systemów uczących się ze wzmocnieniem, tradycyjnie nazywanych syste mami klasyfikatorowymi, w których do podejmowania decyzji wykorzystuje się populację prostych reguł, ocenianych na podstawie uzyskiwanych przez system nagród i okresowo poddawanych genetycznym modyfikacjom. Do oceny jakości reguł jest wówczas wykorzystywany pewien algorytm przypisania zasługi, zazwy czaj pewien wariant algorytmu brygady kubełkowej blisko spokrewnionego z me todami różnic czasowych, choć o niezależnym od nich rodowodzie. Gdyby ewolucyjne metody uczenia się miały znaleźć swoje miejsce w tej książce, należałoby im z pewnością poświęcić oddzielny rozdział. Spora część tego rozdziału musiałaby z konieczności zostać przeznaczona na omawianie pod staw obliczeń ewolucyjnych jako takich, które zostały znakomicie przedstawione w innych książkach wydanych w ostatnich latach. Ograniczona ilość miejsca, ja ka mogłaby im zostać poświęcona, a także ograniczone kompetencje autora, nie pozwoliłyby na konkurowanie z tymi publikacjami. Z kolei zagadnienia związane bezpośrednio ze stosowaniem algorytmów ewolucyjnych do uczenia się są z jed nej strony na tyle proste, a z drugiej na tyle mało usystematyzowane, że należałoby o nich pisać albo bardzo niewiele, albo bardzo szczegółowo. W obu przypadkach poświęcony im rozdział odbiegałby od standardu przyjętego w tej książce.
14.2.3 Zagadnienia szczegółowe Pozostałe pozycje na liście nieobecności w tej książce to zagadnienia zbyt wąskie i szczegółowe, aby zasługiwały na własny rozdział, a które jednocześnie nie mogą
14.2. LISTA NIEOBECNOŚCI
801
być także włączone do żadnego z istniejących rozdziałów. Gdyby miały się one w książce znaleźć, poziom szczegółowości całego zawartego w niej materiału mu siałby dla zachowania równowagi zostać odpowiednio zwiększony. To głównie, oprócz oczywiście ograniczonego limitu liczby stron, jakim rozporządzał autor, i jego ograniczonej wiedzy, jest powodem niewłączenia ich do jej zakresu, nie zaś niedocenianie ich znaczenia. Najbardziej interesujące z nich, o których war to przynajmniej wspomnieć, to teoria zbiorów przybliżonych i modele ukrytych łańcuchów Markowa. Teoria zbiorów przybliżonych. Mówiąc o metodach indukcyjnego uczenia się pojęć, pominęliśmy podejście, które nie jest wprawdzie tak powszechnie znane i często stosowane jak indukcja drzew decyzyjnych i reguł, lecz które warte jest zainteresowania czytelników ze względu na swoje zalety oraz na fakt, że stano wi swego rodzaju polską specjalność w naszej dziedzinie. Chodzi o algorytmy indukcji oparte na teorii zbiorów przybliżonych, której celem w ogólnym ujęciu jest przetwarzanie informacji niepewnej. Do jej charakteryzowania wykorzystuje się na gruncie tej teorii dolne i górne przybliżenia zbiorów, do których przyna leżność nie może być określona w sposób dokładny. W podobny sposób mogą być charakteryzowane także pojęcia, dla których na podstawie dostępnych przy kładów nie można podać dokładnego opisu, lecz można znaleźć przybliżające je hipotezy. Istnieją, oparte na solidnych podstawach teorii zbiorów przybliżonych, algorytmy znajdowania takich hipotez, na które można patrzeć jako na alterna tywne w stosunku do schematu sekwencyjnego pokrywania metody indukcji reguł na podstawie przykładów. Zamiast dążyć do pokrywania kolejnych podzbiorów zbioru trenującego analizuje się jego właściwości jako całości, poszukując takich atrybutów lub wartości atrybutów, których pominięcie z opisu przykładów wciąż umożliwia wyznaczenie ich kategorii. Można w ten sposób uzyskać zbiory reguł o niewielkim rozmiarze i jednocześnie dużej dokładności, co do których istnieje uzasadniona nadzieja na mały błąd rzeczywisty. Niestety, zazwyczaj jest w tym ce lu wymagany dość znaczny w porównaniu z innymi algorytmami nakład obliczeń, co może ograniczać stosowanie indukcji opartej na teorii zbiorów przybliżonych do dużych zbiorów danych. Gdyby algorytmy uczenia się, o których mówimy, miały znaleźć swoje miej sce w tej książce, byłoby ono zapewne w rozdziale poświęconym indukcji reguł, w którym byłaby o nich mowa jako o zamiennikach dla schematu sekwencyjne go pokrywania. Ich prezentacja musiałaby zostać poprzedzona wstępem do samej teorii zbiorów przybliżonych, co z jednej strony zwiększyłoby znacząco jego roz miar, a z drugiej strony poziom formalnej złożoności zawartego w nim materiału. Nie bez znaczenia jest też fakt zbyt skromnych kompetencji autora w zakresie teorii zbiorów przybliżonych, która zasługuje z pewnością na znacznie bardziej wnikliwe i fachowe przedstawienie, niż mógłby on jej zapewnić.
802
ROZDZIAŁ 14. ZAKOŃCZENIE
Ukryte łańcuchy Markowa. Model ukrytego łańcucha Markowa przypomina proces decyzyjny Markowa, lecz kolejnym stanom towarzyszą w nim pewne obser wacje, czyli wyjścia, podobnie jak w automacie skończonym Moore'a. Model taki jest opisywany przez prawdopodobieństwa przejść między poszczególnymi para mi stanów oraz prawdopodobieństwa wystąpienia określonych wyjść dla każdego stanu, przy czym w odróżnieniu od procesów decyzyjnych Markowa lub automa tów skończonych nie zakłada się, że przejścia następują pod wpływem wykonywa nych akcji, lecz że mają charakter spontaniczny i zachodzą zgodnie z odpowied nim rozkładem prawdopodobieństwa w każdym kroku dyskretnego czasu. Znając prawdopodobieństwa przejść i wyjść łańcucha można obliczyć prawdopodobień stwo zaobserwowania dowolnej sekwencji wyjściowej lub dowolnego ciągu sta nów. To z kolei umożliwia wyznaczenie dla danego modelu najbardziej prawdopo dobnej sekwencji wyjściowej albo wybranie ze zbioru danych sekwencji tej, która najlepiej pasuje do tego modelu. Tak rozumiane modele ukrytych łańcuchów Mar kowa mogą być wykorzystywane do opisu, generowania i rozpoznawania pewnych rodzajów sekwencji o charakterze probabilistycznym. Najbardziej typowe jest ich zastosowanie do generowania i rozpoznawania mowy. Przyjmując jako symbole wyjściowe fonemy mowy, za pomocą modelu ukrytego łańcucha Markowa moż na opisać wymowę słowa przez odpowiedni dobór stanów i prawdopodobieństw przejść oraz wyjść. Mając takie modele dla pewnego zbioru słów oraz pewien sy gnał mowy jako ciąg fonemów, można rozpoznać słowo przez znalezienie najlepiej odpowiadającego temu sygnałowi modelu. Innym ważnym obszarem zastosowań ukrytych łańcuchów Markowa jest biologia obliczeniowa, w której wykorzystuje się je do opisu i prognozowania sekwencji DNA i białek. Oczywiście z punktu wi dzenia tematyki tej książki najbardziej interesujące jest nie tyle to, jak używa się modeli ukrytych łańcuchów Markowa, co raczej to, skąd pochodzi wiedza o od powiadających im prawdopodobieństwach przejść i wyjść stanów. Otóż są znane algorytmy uczenia się, które na podstawie ciągów obserwacji sekwencji wyjścio wych oraz początkowych oszacowań prawdopodobieństw przejść i wyjść mody fikują iteracyjnie te oszacowania i pod pewnymi warunkami mogą prowadzić do zbieżności do poprawnych wartości.
14.3 Kierunki badań Ze względu na dość podstawowy charakter książki i jej szeroki zakres tematycz ny tylko niewielkie odzwierciedlenie znalazły w niej problemy będące obecnie przedmiotem najbardziej intensywnych badań naukowych w dziedzinie uczenia się maszyn. Poświęcanie im zbyt dużej uwagi byłoby z jednej strony niewskaza ne w podręczniku adresowanym przede wszystkim do czytelników bez głębokiej wcześniejszej wiedzy na temat systemów uczących się, a z drugiej strony trud-
14.3. KIERUNKI BADAŃ
803
ne ze względu na ograniczoną kompetencję autora, który mógłby wypowiadać się pewnie i wiarygodnie na temat tylko tych obszarów badań, w których ma za sobą własną aktywną działalność. Ten podrozdział ma na celu częściowe skompensowanie braku odpowiedniej reprezentacji w książce aktualnego stanu badań nad maszynowym uczeniem się. Nie będzie to jednak nadrabianie zaległości, polegające na przeglądaniu tematy ki wszystkich poprzednich rozdziałów i uzupełnianiu ich o dyskusję związanych z nimi problemów badawczych. Spróbujemy raczej spojrzeć na naszą dziedzinę z nieco wyższej perspektywy i zaobserwować zaznaczające się w niej w ostatnich latach trendy, zamiast dyskutować szczegółowe zagadnienia, których i tak nie by libyśmy w stanie potraktować w dostatecznie pełny i rzetelny sposób. Patrząc z takiej odpowiednio ogólnej perspektywy na badania naukowe w do wolnej dziedzinie, możemy uporządkować ich główne nurty jako koncentrujące się wokół pewnych podejmowanych przez naukowców wyzwań — problemów otwar tych, które ze względu na swe znaczenie domagają się rozwiązania. W przypad ku maszynowego uczenia się wyzwania podzielimy na teoretyczne, koncepcyjne i praktyczne, z pełną świadomością, że będzie to podział umowny. 14.3.1
Wyzwania teoretyczne
Naczelne miejsce wśród wyzwań związanych z rozwojem teorii uczenia się zajmu je dalsze rozwijanie modelu PAC. Chodzi przede wszystkim o dwa aspekty tego rozwoju: zmniejszanie dystansu między teorią a praktyką przez bądź rozszerzenia modelu, bądź opracowanie nowych algorytmów, oraz rozszerzanie zakresu jego stosowania na inne rodzaje uczenia się, poza uczeniem się pojęć. Znane algoryt my PAC-uczenia się pojęć są w większości bezużyteczne w praktyce, a algorytmy o praktycznym znaczeniu nie mają dostatecznej podbudowy teoretycznej. Wynika to między innymi z tego, że znajdują one hipotezy niespójne, unikając nadmierne go dopasowania, muszą uwzględniać przekłamania i niekompletność danych tre nujących oraz wykorzystywać heurystyczne techniki, zwiększające efektywność przeszukiwania przestrzeni hipotez. Ważne jest także rozszerzenie modelu PAC umożliwiające objęcie nim metauczenia się. W odniesieniu do indukcyjnego pro gramowania logicznego lub uczenia się ze wzmocnieniem, aby użyć dwóch bardzo różnych przykładów, odpowiedniki modelu PAC nie są dostępne lub są dopiero tworzone. Jeśli zresztą chodzi o teorię uczenia się ze wzmocnieniem, to mimo jej niezłego stanu, wynikającego z licznych zapożyczeń z teorii programowania dy namicznego, wciąż pozostają poważne luki dotyczące używania aproksymatorów funkcji, środowisk z ukrytym stanem i łączenia uczenia się z planowaniem, o czym była mowa w rozdziale 13. Wciąż zbyt wiele wyników teoretycznych dotyczących systemów uczących się ma charakter negatywny (mówią one o tym, w jakich sy tuacjach proces uczenia się zakończy się niepowodzeniem).
804
14.3.2
ROZDZIAŁ 14. ZAKOŃCZENIE
Wyzwania koncepcyjne
Trudno jasno określić, co należy rozumieć przez wyzwania koncepcyjne, po części dlatego, że ten termin nie jest zbyt zręczny i użyty tylko ze względu na brak lep szego. Chodzi tu o te problemy, które nie dotyczą bezpośrednio rozwijania teorii, ale też nie zastosowań praktycznych. Wiążą się one z wysuwaniem poprzedzają cych na ogół analizę teoretyczną i zawsze poprzedzających zastosowania pomy słów nowych paradygmatów uczenia się, nowych algorytmów lub nowych połą czeń istniejących algorytmów. Jednym z najważniejszych wyzwań tego typu pozo staje konstruowanie hybrydowych systemów uczących się, łączących w jednolitej strukturze różne rodzaje uczenia się i odpowiadające im różne algorytmy. Może chodzić o łączenie uczenia się indukcyjnego z uczeniem się przez wyjaśnianie lub z uczeniem się ze wzmocnieniem, a także o łączenie tych dwóch ostatnich, aby wymienić tylko niektóre przykłady. W uczeniu się ze wzmocnieniem poważnym wyzwaniem koncepcyjnym pozostaje konstruowanie systemów hierarchicznych, lec^ hierarchiczna dekompozycja jest również jedną z obiecujących dróg, mogą cych prowadzić do systemów hybrydowych, jeśli na różnych poziomach hierarchii zostaną użyte różne rodzaje i algorytmy uczenia się.
14.3.3 Wyzwania praktyczne Przez wyzwania praktyczne rozumiemy wszystkie problemy, które ograniczają możliwość udanych praktycznych zastosowań znanych dotychczas algorytmów uczenia się. Podejmowanie takich wyzwań oznacza próby modyfikowania tych al gorytmów lub proponowania ich nowych odpowiedników w celu przezwyciężenia niektórych przynajmniej z tych ograniczeń, których charakter zależy oczywiście od rodzaju uczenia się. Do wciąż istotnych ograniczeń stosowania indukcyjnego uczenia się należy na przykład przetwarzanie dużych zbiorów trenujących, przy kładów opisanych za pomocą atrybutów różnych typów, uwzględnianie kosztów wyznaczenia wartości poszczególnych atrybutów, czy uczenie się przy niezrów noważonym rozkładzie kategorii. O różnych podejściach do przezwyciężania tych problemów mówiliśmy już w odpowiednich rozdziałach, lecz z pewnością nie po wiedziano w tej sprawie jeszcze ostatniego słowa. Innego rodzaju ograniczenie jest związane z prostą zdaniową reprezentacją wiedzy większości algorytmów in dukcyjnego uczenia się i nadzieją na ich przezwyciężenie jest indukcyjne progra mowanie logiczne. Należy ono do najsilniej rozwijanych działów maszynowego uczenia się i rozwoju takiego rzeczywiście potrzebuje ze względu na problemy, od jakich nie są wolne znane algorytmy. W uczeniu się ze wzmocnieniem naj ważniejszym problemem pozostaje szybkość uczenia się, zwłaszcza w złożonych środowiskach. Znane algorytmy niestety nie najlepiej skalują się przy wzroście rozmiaru przestrzeni stanów.
14.4. SŁOWO KOŃCOWE
805
14.4 Słowo końcowe Po spojrzeniu wstecz, w bok i w przód, jakim był ten rozdział, autorowi pozostaje pożegnanie się z czytelnikiem. Mając za sobą lekturę całości lub części wcześniej szych rozdziałów, zdołał on zapewne wyrobić sobie własną opinię tak na temat systemów uczących się, jak i sposobu, w jaki zostały opisane. Sposób ten z pew nością jest niedoskonały, skażony nie do końca zapewne obiektywną perspekty wą przyjętą przez (dążącego jednak do obiektywizmu) autora oraz jego z natury ograniczoną wiedzą i doświadczeniem. Czytelnicy, którzy sami wcześniej zajmo wali się niektórymi z omawianych tu zagadnień, zauważą przypuszczalnie w ich prezentacji pewne pominięcia lub nieścisłości. Niektóre przyjęte konwencje ter minologiczne i notacyjne mogą się wydać niefortunne, a prowadzone wywody nie zawsze dostatecznie jasne. Mankamenty przedstawionego tu opisu fascynu jącej dziedziny uczenia się maszyn nie powinny jednak zniechęcać do niej samej, zwłaszcza że rozwija się ona w sposób niezwykle obiecujący i, mając już w swym dorobku nie byle jakie osiągnięcia, przypuszczalnie najlepsze ma wciąż przed so bą. O dziedzinie młodej, dynamicznie rozwijającej się i wewnętrznie zróżnicowa nej nie jest łatwo pisać. Jeśli jednak książka ta przyczyni się do wzrostu zainte resowania nią w Polsce w środowisku akademickim i poza nim, to będzie to już wystarczającym usprawiedliwieniem jej istnienia. Można mieć będzie wówczas nadzieję, że najpóźniej za kilka lat pojawią się inne i lepsze książki poświęcone systemom uczącym się, a w czasie poprzedzającym ich publikację niniejsza praca będzie tymczasowym wprowadzeniem do ich teorii i praktyki, która, być może, za cznie bardziej intensywnie niż dotychczas rozwijać się w Polsce. Nie przeceniając siły słowa drukowanego, można przypuszczać, że dzięki niemu wielu studentów, pracowników uczelni i instytutów badawczych oraz firm zajmujących się nowo czesnymi technikami informacyjnymi lub rozważających ich wdrożenie u siebie zacznie zdawać sobie sprawę z dostępności niemałego repertuaru interesujących i użytecznych algorytmów, których badanie i doskonalenie może służyć powięk szaniu dorobku naukowego oraz których stosowanie do praktycznych problemów może służyć powiększaniu stanu konta bankowego. Niezależnie od wrażeń, jakie czytelnicy tej książki wyniosą z jej lektury, czy będzie ona miała charakter pobieżnego przeglądania, wnikliwego studiowania, czy okazjonalnego konsultowania wybranych fragmentów, autor winien jest im głę boką wdzięczność i w tym miejscu właśnie chciałby ją wyrazić. Dopiero w ich umysłach książka nabiera ostatecznego kształtu i jest tak dobra lub tak zła jak ich wyobrażenie o niej. Jakiekolwiek ono jest, jego źródłem jest okazane autorowi zaufanie, włożony w lekturę wysiłek i własne wywołane nią przemyślenia. Za to wszystko czytelnikom dziękuję, przepraszając ich jednocześnie za wszystkie, być może liczne miejsca w tej książce, które wywoływały ich zniechęcenie, irytację lub znudzenie.
806
ROZDZIAŁ 14. ZAKOŃCZENIE
14.5 Podsumowanie S-> Konstruowanie praktycznych systemów uczących się jest złożonym procesem, który oprócz znajomości różnych algorytmów uczenia się i ich podstaw teore tycznych wymaga od projektanta wnikliwej analizy wymagań, odpowiedniego sformułowania zadania uczenia się, wyboru właściwych algorytmów i ewen tualnie dokonania ich koniecznych modyfikacji. Zazwyczaj niezbędne jest za implementowanie prototypowych wersji systemu uczącego się wykorzystują cych jeden lub kilka wybranych algorytmów uczenia się w celu empirycznego zweryfikowania ich właściwości i dokonania ostatecznego wyboru. Oczywi ście poza aspektami związanymi bezpośrednio z uczeniem się opracowanie praktycznego systemu ma wspólne dla większości złożonych projektów infor matycznych aspekty związane z inżynierią oprogramowania. S-> Książka, którą zamyka ten rozdział, stanowi dość pełny przegląd najważniej szych zagadnień związanych z maszynowym uczeniem się, lecz niektóre tema ty zostały w niej świadomie pominięte. Zrezygnowano z omawiania dobrze re prezentowanych w powszechnie dostępnej literaturze sieci neuronowych oraz algorytmów ewolucyjnych, których zastosowanie do uczenia się nie odbiega zasadniczo metodologicznie od ich innych zastosowań w problemach wyma gających przeszukiwania i optymalizacji. Z zagadnień bardziej szczegółowych zasługiwałyby ze względów merytorycznych na wzmiankę modele ukrytych łańcuchów Markowa i metody indukcyjnego uczenia się oparte na teorii zbio rów przybliżonych, lecz nie znalazło się dla nich właściwe miejsce ze wzglę dów redakcyjnych. 9-> Dziedzina maszynowego uczenia się znajduje się w trakcie dynamicznego roz woju i mimo wielu osiągnięć ostatnich lat pozostaje wiele otwartych kwestii, na których przypuszczalnie będą się koncentrować przyszłe zainteresowania naukowców i praktyków. Dotyczą one rozwijania teorii i zbliżania jej do prak tycznych wymogów, poprawy właściwości znanych algorytmów uczenia się, a zwłaszcza łączenia różnych rodzajów uczenia się i odpowiadających im algo rytmów w celu uzyskania zaawansowanych systemów uczących się o nowych i bardziej potężnych możliwościach.
14.6 Uwagi historyczne i bibliograficzne Ten rozdział kończy książkę i nie ma zasadniczo charakteru merytorycznego, więc nie potrzebuje też wiele miejsca na uwagi o historii i literaturze. O historii po wstania tej książki była mowa w przedmowie. Pozostaje więc ograniczyć się do wskazania literatury, która omawia zagadnienia z naszej listy nieobecności, oraz wytycza kierunki przyszłego rozwoju maszynowego uczenia się.
14.7. ĆWICZENIA
807
Z dużej liczby dostępnych książek poświęconych sieciom neuronowym god ne polecenia są między innymi podręczniki Hertza, Krogha i Palmera [98] oraz Osowskiego [189]. Zwięzłe wprowadzenie do algorytmów uczenia się sieci neu ronowych stanowi przeglądowy artykuł Hintona [99]. Z kolei z pozycji poświę conych algorytmom ewolucyjnym na uwagę zasługują zwłaszcza znakomicie na pisany, lecz nie do końca obecnie aktualny podręcznik Goldberga [92], oraz pre zentująca bardziej współczesne ujęcie tej tematyki książka Michalewicza [143]. W obu pracach znajduje się dyskusja podstawowych ewolucyjnych metod uczenia się maszyn. Wprowadzające informacje na ten temat przedstawiają także Booker, Goldberg i Holland [28]. Przegląd podstawowych zagadnień związanych z mo delami ukrytych łańcuchów Markowa zawiera artykuł Rabinera i Juanga [215]. W obszernej literaturze poświęconej teorii zbiorów przybliżonych rolę standar dowej pozycji odgrywa książka Pawlaka [193]. O zastosowaniu opartych na tej teorii algorytmów do indukcji reguł jest mowa w raporcie Pawlaka i Skowrona [194]. Książka pod redakcją Słowińskiego [249] prezentuje szeroki wybór rezul tatów teoretycznych i praktycznych związanych ze zbiorami przybliżonymi. Perspektywy badań nad systemami uczącymi się przedstawia Dietterich w ar tykule [65], wyróżniając cztery główne kierunki jako najbardziej obiecujące. Są to prace dotyczące metauczenia się, przetwarzania dużych zbiorów trenujących przy indukcyjnym uczeniu się, uczenia się ze wzmocnieniem i sieci bayesowskich. Z kolei Michalski [149] propaguje koncepcję konstruowania systemów uczących się łączących różne rodzaje uczenia się i odpowiadające im algorytmy na gruncie inferencyjnej teorii uczenia się, o której krótko była mowa w rozdziale 1. W ar tykule [124] Kubat, Bratko i Michalski dokonują przeglądu metod maszynowego uczenia się i przedstawiają swój pogląd na perspektywy tej dziedziny, podkreślając między innymi rolę systemów hybrydowych.
14.7 Ćwiczenia Ćwiczenie 14.1. Na podstawie materiału przedstawionego w książce wskaż najważniej sze teoretyczne i praktyczne problemy badawcze w uczeniu się maszyn. Ćwiczenie 14.2. Uszereguj przedstawione w książce algorytmy w kolejności 1) ich potencjalnej przydatności praktycznej, 2) liczby i złożoności problemów, jakie utrudniają ich praktyczne stosowanie. Ćwiczenie 14.3. Wskaż najważniejsze wady tej książki i zaproponuj sposoby ich usu nięcia lub zmniejszenia. Ćwiczenie 14.4. Przekaż autorowi swoją opinię o książce, kontaktując się z nim telefo nicznie (22/660-7731) lub pocztą elektroniczną ([email protected]).
Dodatek A
Rozwiązania i wskazówki do ćwiczeń A.l
Rozdział 1
Wskazówka l . l 1 • Z całą pewnością nie można w sensowny sposób mówić o uczeniu się w przypadkach 1, 5, 6, 7. W przypadkach 2, 4 i 8 najwyraźniej mamy do czynienia z uczeniem się. Przypadek 3 można uznać za dyskusyjny.
A.2 Rozdział 2 Rozwiązanie 2.1. Załóżmy, że pojęcie c i hipoteza h są reprezentowane przez prostokąty Rc i Rh, których lewe dolne wierzchołki mają współrzędne (Zc,dc) i (lh,dh), a prawe górne odpowiednio (pc,5c) i (Ph,9h)- Zgodnie z założeniem o ograniczonej dziedzinie możemy przyjąć, że wszystkie współrzędne należą do przedziału [0,1], Ponieważ H jest rozkładem jednostajnym na kwadracie jednostkowym [0,1] x [0,1], prawdopodobieństwo wylosowania dowolnego punktu należącego do pewnego zawartego w tym kwadracie obszaru jest równe polu tego obszaru. Mamy więc dla obu rozważanych prostokątów: Prn(#c) = (Pc - lc) ' {9c ~ d c ), PrQ(jR/l) = (ph - lh) ' (9h - dh). Interesuje nas wartość prawdopodobieństwa: P r Q ( # c -=- Rh) = PvQ(Rc U Rh) - PvQ(Rc n Rh) Fin(Rc)+FrQ(Rh)-2FrQ{RcnRh). Jak widać, pozostaje wyznaczyć prawdopodobieństwo wylosowania punktu należą cego do części wspólnej obu prostokątów, równe polu tej części wspólnej. Prostokąty te mają niepustą część wspólną, jeśli są spełnione następujące warunki: mm{pc,ph} mm{gc,gh}
> max{lcJh}, > max{d c ,<4}
i wówczas jej pole wynosi: Prci{RcC\Rh)
- {mm{pc,ph}
- max{/ c ,Z/J) • (min{# c ,p/J -
'Numeracja rozwiązań i wskazówek odpowiada numeracji ćwiczeń.
max{dc,dh}).
810
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
Rozwiązanie 2.2. 3 er(h) = n , 12
r / x
^ ) r
c
/i
1
= 36 = 3^
\
3 48 ~ 8 ^
* W = 24
+
Wskazówka 2.3. Dla dowolnego przykładu x 6 X hipoteza reprezentowana przez koniunkcję boolowską może być zdefinowana następująco: h(x) ~ f\
a,i(x) A f\
-iai(ar),
przy czym NUN0 C {1, 2 , . . . , n} są rozłącznymi zbiorami numerów atrybutów, któ re występują w definicji hipotezy odpowiednio w literałach pozytywnych i negatywnych. Zbiory N\ i NQ można wyznaczyć w czasie liniowym względem liczby przykładów i atry butów za pomocą algorytmu, który inicjuje je jako zbiór { 1 , 2 , . . . , n}, a następnie prze twarzając kolejne przykłady (wyłącznie) pozytywne dla każdego i usuwa ze zbioru Ni nu mery atrybutów o wartościach 0 i usuwa ze zbioru N0 numery atrybutów o wartościach 1. Wskazówka 2.4. Należy odpowiednio zmodyfikować algorytm z ćwiczenia 2.3 zapew niając, że zostanie znaleziona koniunkcja o najmniejszym błędzie próbki na zbiorze trenu jącym. Można to osiągnąć przetwarzając przykłady trenujące w specjalnej kolejności, tak aby każdy kolejny przykład powodował usunięcie ze zbiorów N\ i No jak najmniejszej liczby numerów atrybutów, czyli usunięcie z generowanej klauzuli jak najmniejszej liczby literałów. W tym celu jako następny powinien być zawsze wybierany przykład x G T 1 maksymalizujący wyrażenie: \{i£ { l , 2 , . . . , n } | (ai(x) = lAiĆN0)v(ai(x)
=0A*£iVi)}|.
Po wybraniu przykładu należy dokonać odpowiedniej modyfikacji zbiorów N\ i NQ tylko wtedy, kiedy w jej wyniku liczba przykładów pozytywnych pokrywanych przez ge nerowaną koniunkcję zwiększy się bardziej niż liczba pokrywanych przez nią przykładów negatywnych. Podobną zasadą należy się kierować przy wyborze przykładów do przetwa rzania w przypadku, gdy podane wyżej wyrażenie jest maksymalizowane przez więcej niż jeden przykład (będzie tak w szczególności przy wyborze pierwszego przykładu, kiedy wyrażenie to osiąga dla wszystkich przykładów jednakową wartość). Wtedy powinny być preferowane przykłady zapewniające największą różnicę między liczbą nowo pokrywa nych przykładów pozytywnych i negatywnych. Nie jest oczywiste, czy naszkicowany algorytm jest rzeczywiście quasi-spójny, a więc czy istotnie zawsze zapewnia minimalizację błędu próbki na zbiorze trenującym. Pełne rozwiązanie tego ćwiczenia wymagałoby przedstawienia dowodu tego faktu. Rozwiązanie 2.5. c/u.
ecp(h)(l - ecP{h))
A.2. ROZDZIAŁ 2
811
przy czym u$ jest liczbą wyznaczoną z warunku Pr(|f/| < u&) = 1 — S dła zmiennej losowej U o standardowym rozkładzie normalnym iV(0,1). Rozwiązanie 2.6.
1 + , , 9 6 ^ ^ 1 ^ = 0,429. Wskazówka 2.7. Mogą to być proste modyfikacje algorytmu z ćwiczenia 2.3. W szcze gólności hipotezę Ai wygenerowałby algorytm, który na jeden krok przed uzyskaniem | A^i U A^o | ^ 1 wyznaczałby na podstawie zawartości zbiorów JVi i N0 koniunkcję li terałów, a następnie ponownie inicjował te zbiory na { 1 , 2 , . . . , n} i przetwarzał kolej ne przykłady. Hipoteza jest alternatywą wszystkich uzyskanych w ten sposób koniunkcji. Z kolei hipotezę h
812
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
atrybutów do selektorów. W przypadku specjalizacji można w ten sposób uzyskać co naj wyżej tyle uszczegółowionych hipotez, ile selektorów zawierają kompleksy. Generalizacja prowadzi zawsze do powstania jednej uogólnionej hipotezy. Dla hipotez reprezentowanych przez zbiory kompleksów operacje specjalizacji i generalizacji komplikują się o tyle, że dla specjalizacji konieczna jest modyfikacja wszystkich kompleksów pokrywających rozpatrywany przykład negatywny, a dla generalizacji po krywanie rozpatrywanego przykładu pozytywnego można zapewnić modyfikując dowolny kompleks. Rozwiązanie X
15 16 17 18
2,14,
1 |{ftevs&. T |M*) = i } | 6 4 0 5
Rozwiązanie X
12 13 14 15
|{fceVSŁr IM*) = 0}| 3 5 9 4
h*(x) 1 0 0 1
|{h€VS&,r I M * ) = 0 } | 4 5 5 6
h*(x) 1 0 0 0
2,15,
1 \{heVSeHT\h(x) 5 4 4 3
= i}\
A.3 Rozdział 3 Rozwiązanie 3,1, Za pomocą drzewa decyzyjnego może być reprezentowana dowolna hipoteza dopuszczalna dla danej dziedziny i zestawu określonych na niej atrybutów. Mamy zatem |H| = 2 4 ' 3 ' 3 ' 3 = 2 1 0 8 . Stąd otrzymujemy wymaganą liczbę przykładów równą ^(l„
2
»
+
l„i)»1543.
Rozwiązanie 3,2, Zauważmy, że szacując rozmiar przestrzeni hipotez wystarczy ograni czyć się do drzew decyzyjnych, mających dokładnie dwa poziomy węzłów i liście wyłącz nie na najniższym trzecim poziomie. Wynika to z faktu, że każda hipoteza reprezentowana przez prostsze drzewo może również być reprezentowana przez drzewo bardziej złożone. Weźmy pod uwagę drzewa decyzyjne, w których korzeniu jest testowany atrybut klasa o 4 możliwych wartościach, W takim drzewie na poziomie 1 znajdują się 4 węzły; w każdym z nich może być testowany jeden z 3 pozostałych atrybutów. Każdy z nich ma dokładnie 3 liście potomne, a każdy liść może zawierać etykietę 1 lub 0. Liczba takich drzew decyzyj nych wynosi w związku z tym (3 • 2 3 ) 4 = 3 4 • 2 12 . Następnie rozważmy drzewa decyzyjne, w których korzeniu jest testowany dowolny spośród atrybutów cena, osiągi, niezawodność, które mają po 3 możliwe wartości. W takich drzewach na poziomie 1 znajdują się 3 węzły, w których może być testowany dowolny z 3 atrybutów nie wykorzystanych w korzeniu
813
A.3, ROZDZIAŁ 3
i z których każdy może mieć 3 lub 4 liście potomne. Liczbę wszystkich takich drzew można więc ograniczyć od góry przez 3 • (3 * 2 4 ) 3 — 3 4 • 2 12 . Ostatecznie stwierdzamy, że rozmiar przestrzeni hipotez nie przekracza2•34•212 = 3 4 • 2 13 . Umożliwia to wyznaczenie górnego ograniczenia wymaganej liczby przykładów następująco: 5ig(41n3 +
13In2 + I n ^ ) « 3 1 4 .
Rozwiązanie 3.3. Konstrukcja testu t1 polega na podziale zbioru Ptr na dwa równoliczne zbiory Ptr,i i Ptr,2 w dowolny sposób i następnie związaniu z nimi wyników nowego testu r\ i r 2 , wskutek czego mamy Pt'ri = Ptr,i i Pt*r2 — ^Łr,2- Nierówność, którą należy udowodnić, jest równoważna z nierównością Et> (P) ^ Et (P). Ponieważ zbiory Rt — {r} oraz Rf — {rx, r^} są identyczne, więc możemy dalej zredukować ją do nierówności
co wobec założenia \Pfri | = \Pfr2\ = \\Ptr\ upraszcza się do warunku l
~EVrl{P) +
\Eilr2{P)^Etr{P).
Po uwzględnieniu definicji entropii otrzymujemy następującą ostateczną postać dowodzo nej nierówności:
lyJlLi + 2 p lJlLl p
lyJlLilog\lL\<
i ^i i «'ni 2,¾ \pvr.\ s i ^ 2 r
h
! T>d I
^ V^
dec
I r>d I
Kir i
'
rn
rtr\
'
'
Udowodnimy, że odpowiednia nierówność zachodzi dla poszczególnych składników po wyższych sum, czyli że dla dowolnej kategorii d € C i p^ i 1
Pl
i p^ i
i p^ i
i p^ i
2
i P^ i
i pd i
'' '• log 1^'ril ^ 4 +|Ą'r h H| log |Ą'r ^ = 4| > |P*r| ^ 4 log |^tr| '""'
1-Pi'nl
2
2
Przy okazji pozbyliśmy się minusów, zmieniając kierunek nierówności oraz ułamków | . Wygodnie będzie wprowadzić teraz pomocnicze oznaczenia: I P^ I \rtr\ P^TTTT' iP r
I p^ I „ i1^_n B r*'ri| ^ ^ i p T> r
^^„2
I P^ I |rf'r2| IP
i'
które umożliwiają przepisanie ostatniej nierówności w postaci Pilogpi + p 2 l o g p 2 ^ 2plogp. Obecnie korzystając z tego, żepi +P2 = 2p, lewą stronę tej nierówności możemy zapisać jako funkcję zmiennej pi następująco: f(Pi) = P i l o g p i + ( 2 p - p i ) l o g ( 2 p - p i ) ,
814
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
a następnie zadać pytanie ojej maksimum dlapi € [0,1]. Łatwo sprawdzić, że maksimum to jest osiągane dlapi = p i wynosi 2plogp, co oznacza, że dla dowolnych p\, p
Pr(c(:r) = 0) i
? ii
0 0
h(a;) 1 0 1 1
Wskazówka 3.7. Dla funkcji oceny zapisanej w równaniu (3.36) zostanie uzyskane następujące drzewo decyzyjne: aura=słoneczna: tempevatura=zimna: 1 tempera tura= umiarko wana: wilgotność=normalna: 1 wilgotność^duża: 0 temperatura=ciepła: 1 aura=pochmurna: 1 aura=deszczowa: wiatr=słaby: 1 wiatr=silny: 0 Rozwiązanie 3.10. Przykładowy zbiór trenujący, na podstawie którego można uzyskać podane drzewo, przedstawia tabl. A.l. Oczywiście dla dowolnego drzewa decyzyjnego można wskazać wiele zbiorów trenujących, na podstawie których mogły być zbudowane.
815
A.4. ROZDZIAŁ 4
Tablica A.l. Alternatywny zbiór trenujący dla dziedziny modeli samochodów
x l klasa 1 9
3 4 5 6 7 8 9 10 11
miejski duży kompakt mały mały kompakt miejski mały kompakt duży duży
cena niska niska niska niska umiarkowana umiarkowana umiarkowana umiarkowana wysoka wysoka wysoka
osiągi słabe słabe dobre przeciętne przeciętne przeciętne przeciętne dobre dobre przeciętne dobre
niezawodność mała mała przeciętna mała przeciętna przeciętna przeciętna duża duża przeciętna duża
c(x) 1 0 1
o 1 0 1 0 1 0 1
A.4 Rozdział 4 Rozwiązanie 4.1. 1. Dla dziedziny stanów pogody: K A L ~ {(słoneczna, ciepła V umiarkowana, duża, słaby), {deszczowa, zimna, ?, silny), {deszczowa, zimna, duża, słaby), {deszczowa, zimna, ?, słaby), {deszczowa, umiarkowana V zimna, mała, słaby), (0)}. 2. Dla dziedziny modeli samochodów: K A L = {{miejski V mały, umiarkowana, dobre,przeciętna V duża), (mały, umiarkowana, ?, przeciętna), (mały, umiarkowana, słabe V przeciętne, mała V przeciętna), {?, wysoka, dobre,przeciętna V duża), {kompakt V duży, ?, dobre, przeciętna V duża), (kompakt, umiarkowana, przeciętne V dobre, przeciętna), (kompakt W duży, niska V umiarkowana, przeciętne, mała Vprzeciętna), (0)}.
Rozwiązanie 4.2. 1. Dla dziedziny stanów pogody: {(słoneczna V pochmurna, ?, ?, ?), (?,?, normalna,?), (?,?,?, silny)}.
816
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
2. Dla dziedziny modeli samochodów: {{mały V kompaktV duży,?,?,?), (?, niska V umiarkowana, ?, ?), {?,?,?, niska V przeciętna)}. Wskazówka 4.3. Specjalizowaną hipotezę należy przeciąć ze zbiorem n kompleksów, z których każdy zawiera dokładnie jeden selektor nieuniwersalny odpowiadający innemu atrybutowi. W przypadku kompleksu dla atrybutu a* : X M- Ai jest to selektor Si o zbiorze wartości dopuszczalnych^. — A{ - {a^rr)}, przy czym x jest przykładem negatywnym, którego pokrywanie ma wykluczyć specjalizacja. Rozwiązanie 4.4. Przestrzeń hipotez zawiera wszystkie hipotezy dopuszczalne dla da nego zestawu atrybutów, gdyż dowolna taka hipoteza może być reprezentowana przez pe wien zbiór reguł. Oznacza to, że rozwiązanie jest w tym przypadku identyczne z rozwią zaniem ćwiczenia 3,1. Rozwiązanie 4.5. Rezygnacja z selektorów dysjunkcyjnych nie zmienia możliwości re prezentowania przez zbiór reguł dowolnej hipotezy dopuszczalnej, więc także teraz roz wiązanie jest identyczne z rozwiązaniem ćwiczenia 3.1. Rozwiązanie 4.6. Gdy każdej kategorii może odpowiadać tylko jedna reguła, której część warunkowa jest reprezentowana przez kompleks, w oczywisty sposób mogą być reprezentowane tylko niektóre hipotezy dopuszczalne. Rozmiar przestrzeni hipotez osza cujemy wówczas jako kwadrat (ponieważ są dwie kategorie i dla każdej z nich możemy mieć tyle samo reguł) liczby wszystkich niesprzecznych kompleksów, która dla dziedziny modeli samochodów (na której jest określony jeden atrybut o czterech wartościach i trzy atrybuty o dwóch wartościach) wynosi (24 - 1) • (23 - 1) • (23 - 1) • (23 - 1). Mamy więc |M| = ((24 — 1) • (23 — l) 3 ) . Stąd otrzymujemy wymaganą liczbę przykładów:
^ ( 2 ( l n l 5 + 3 1 n 7 ) + l n £ ) «388. Wskazówka 4.7. Warto przede wszystkim rozważyć uwzględnienie w funkcji oceny liczby pokrywanych przez kompleks przykładów o kategorii różnej od kategorii ziarna, która powinna być jak najmniejsza. Rozwiązanie 4.8. Może to być zbiór przykładów przedstawiony w tabl. A. 1. Rozwiązanie 4.9. Może to być zbiór przykładów przedstawiony w tabl. A. 1. Wskazówka 4.10. Otrzymany zostanie następujący zbiór reguł: E = {(?, niska, ?, niska V przeciętna) -> 1, {mały V kompakt W duży, niska V umiarkowana, ?, niska V przeciętna) —> 1,
817
A.4. ROZDZIAŁ 4
{miejski V duży, umiarkowana V wysoka, 1, przeciętna V wysoka) ->• 0, {1,1,1, wysoka) -+ 0}. Wskazówka 4.11. Otrzymany zostanie następujący zbiór reguł: R^
{{1,1,1, niska) -> 1, (?,?,?, wysoka) -> 0, ,?,dobre,?>->l, (7, wysoka, 7,7) -> 0, {miejski,!,1,1) ->0, ,?,?,?)->1}.
Rozwiązanie 4.15. Niech /i oznacza hipotezę reprezentowaną przez zbiór reguł interpre towany probabilistycznie (w przypadku przykładów pokrywanych przez wiele reguł). 1. Dla uporządkowanego zbioru reguł z ćwiczenia 4.10: X
12 13 14 15
Pr(c(x) = 1) 1 0 0
Pr(c(ar) = 0) 0 1 1
5
3 8
1
8
h(x) 1 0 0 1
Tylko dla przykładu 15 nie uzyskano jednoznacznej klasyfikacji deterministycznej i niezbędne było wykorzystanie podejścia probabilistycznego. Podane w powyższej tablicy prawdopodobieństwa są wyznaczone jako stosunek liczby przykładów trenu jących odpowiednich kategorii, pokrywanych przez pokrywające ten przykład reguły, do liczby wszystkich pokrywanych przez nie przykładów trenujących. 2. Dla nieuporządkowanego zbioru reguł z ćwiczenia 4.11: X
12 13 14 15
Pr(c(z) = 1) 1 0 0
1
1
Pr(c(x) = 0) 0 1 1 0
h(x) 1 0 0 1
Dla wszystkich przykładów uzyskano jednoznaczną klasyfikację deterministyczną. Wskazówka 4.16. Ziarna negatywne należy wybierać wyłącznie spośród przykładów nie pokrytych przez wcześniej wygenerowane reguły. Wskazówka 4.17. Przy ocenie kompleksów należy uwzględniać ich dokładność rów nież dla przykładów pokrytych przez wcześniej wygenerowane reguły.
818
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
Wskazówka 4.20. Operację efektywnej specjalizacji zbioru kompleksów S można za pisać w poniższy sposób. S' := 0; dla wszystkich k G S wykonaj dla wszystkich selektorów s kompleksu k wykonaj dla wszystkich v E Vs wykonaj k' := k; zastąp selektor s w kompleksie k' selektorem sya_{vy, 5':=5U{k'}; koniec dla koniec dla koniec dla Wskazówka 4.21. Można uwzględniać koszty atrybutów przy ocenie kompleksów. Koszt atrybutu powinien wpływać na ocenę kompleksu, jeśli kompleks zawiera na po zycji odpowiadającej temu atrybutowi selektor nieuniwersalny, gdyż tylko wówczas do weryfikacji pokrywania przykładu konieczna jest znajomość jego wartości.
A.5 Rozdział 5 Rozwiązanie 5,1, Zbiór przykładów z tabl. 2.4 po pominięciu atrybutów cena i osiągi zawiera 10 różnych zestawów wartości atrybutów, gdyż opisy przykładów 3 i 6 stają się identyczne (są to przykłady tej samej kategorii). Oznacza to, że spośród wszystkich 2 12 hipotez dopuszczalnych dokładnie 2 1 2 - 1 0 = 4 hipotezy są spójne ze zbiorem trenującym. Hipotezy te różnią się etykietami przypisywanymi zestawom wartości atrybutów klasa i niezawodność nie występującym w zbiorze trenującym: klasa kompakt miejski
niezawodność 1 1 hi mała ] duża 1 0
nr
h2 0 1
h
/l4
1 0
1 1
Ponieważ zakładamy poprawność danych trenujących, spójne hipotezy h\, /i 2 , ^3 i /¾ są jedynymi hipotezami o niezerowym prawdopodobieństwie a posteriori, gdyż mamy P r ( r I h)\ = 1 dlah e {huh2,hz,h4} i P r ( T | h) = 0dlah £ {huh2,/13,M1. Jeśli Pr(fti) = Pr(/i2) = Pr(/i3) = Pr(/i4), to wobec powyższej obserwacji także Pr(/ii I T) = Pr(/i 2 IT) = Pr(ft3 | T) = Pr(h 4 IT) — wskazane przez nas hipotezy są wszystkie jednakowo prawdopodobne a posteriori, a prawdopodobieństwo a poste riori każdej innej hipotezy wynosi 0. 2. W tym przypadku mamy Pr(fc2) > Pr(hi), Pr(h 2 ) > Pr(ń 3 ), Pr(fc4) > Pr(fti), Pr(/i4) > Pr(/i 3 ). Oznacza to, że najbardziej prawdopodobna a posteriori jest hipo teza hi lub hipoteza /14. 3. W tym przypadku mamy Pr(/ii) > Pr(h 2 ), Pr(hi) > Pr(A 4 ), Pr(h 3 ) > Pr(ń 2 ), Pr(/i 3 ) > Pr(/i 4 ). Oznacza to, że najbardziej prawdopodobna a posteriori jest hipo teza h\ lub hipoteza /13.
819
A.5. ROZDZIAŁ 5
Rozwiązanie 5.2. Hipotezy h\ i h2 przypisują dwóm przykładom, a hipoteza h^ jed nemu przykładowi etykiety niezgodne z etykietami w zbiorze trenującym. Oznacza to, że prawdopodobieństwa danych trenujących przy założeniu poprawności tych hipotez można obliczyć następująco: Pr(T|ft 1 ) = ( l - 0 , l ) 9 - 0 , l a , Pr(T|/i 2 ) = ( l - 0 , l ) 9 - 0 , l 2 , Pr(T|/i 3 ) = ( 1 - 0 , 1 ) 1 0 - 0 , 1 . Uwzględniając przypisane hipotezom prawdopodobieństwa a priori otrzymujemy: P r ( h i ) P r ( r | / i i ) =:0,00155, Pr(ń 2 ) Pr(T |/½) =0,00116, Pr(ft3) Pr(T | h3) =0,00349. Najbardziej prawdopodobna a posteriori jest więc hipoteza hz. Rozwiązanie 5.3. Naiwny klasyfikator bayesowski klasyfikuje niepoprawnie tylko przy kład 6 ze zbioru trenującego podanego w tabl. 2.2, więc jego błąd próbki na tym zbiorze wynosi ^ . Rozwiązanie 5.4. Pr x 6 n (c(x) = 11
X*
7
12 13 14 15
ó
=
(X)A
1
i
(X*)A)
Pr
4
^7^7 x
? \° ł ł i
1
13
S
3
3
b
2
a
I
I
tfTf i !
F 7' 3 !'! tf ? 8 ? § 13
3
8
8
8
9
Wskazówka 5.5. Równanie definiujące hipotezę naiwnego klasyfikatora bayesowskiego uwzględniającego koszty pomyłek przyjmuje postać: h(x+) - argmin
V^
P r ^ o ^ z ) = d!) •
dec d'GC-{rf}
J J P r ^ e n (a*(a;) = a;(z*) | c(a:) = d'). «=i
Wystarczy się upewnić, że minimalizacja względem d wyrażenia: n
53
PrxeQ(c(x)
= d') J ^ P ^ g o (a* (z) = Oi(a;*) |c(x) = d')
d'eC-{d}
i=l
jest równoważna z maksymalizacją względem d wyrażenia: n
Prxen(c(x)
- d) J J P r x G Q (a*(a:) = a^z*) |c(x) = d).
820
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
Rozwiązanie 5.7. Długość kodu wyznaczymy w bitach przyjmując p = ~. Dla węzła znajdującego się w korzeniu drzewa długość kodu wynosi 1+log 2 4. Dla każdego z dwóch węzłów poziomu 1 drzewa długość kodu wynosi 1 + log2 3. Dla każdego z pięciu liści drzewa długość kodu wynosi 1 + log2 2. Łącznie długość kodu dla drzewa jest więc równa 1 + log2 4 + 2(1 + log2 3) + 5(1 + log2 2) = 18,170. Rozwiązanie 5.8. Długość kodu wyznaczymy w bitach przyjmując p = | . Dla poszcze gólnych reguł mamy następujące długości kodu: (1 + 2 log2 3) + (1 + 2 log2 3) + ( 1 + log2 2) + 1 + log2 2 = 12,340, (1 + 21og2 3) + 1 + 1 + (1 + log2 2) + log2 2 = 9,170, (1 + log2 3) + (1 + 2 log2 3) + 1 + (1 + log2 2) + log2 2 - 10,755, (1 + 2 log2 3) + (1 + 2 log2 3) + 1 + (1 + log2 2) + log2 2 = 12,340, (1 + 2 log2 3) + (1 + 2 log2 3) + ( 1 + log2 2) + (1 + log2 2) + log2 2 - 13,340, 1 + 1 + (1 + log2 2) + (1 + log2 2) + log2 2 - 7 . Łącznie daje to 63,945. Rozwiązanie
5.9.
1. Przy braku znajomości hipotezy należy zakodować kategorie wszystkich przykładów trenujących, co daje wymaganą liczbę bitów równą 14 log2 2 = 14. 2. Znane drzewo decyzyjne klasyfikuje poprawnie wszystkie przykłady trenujące, więc długość kodu dla danych wynosi 0, a łączna długość kodu dla drzewa i danych jest zgodnie z rozwiązaniem ćwiczenia 5.7 równa 18,170. 3. Znany zbiór reguł klasyfikuje poprawnie wszystkie przykłady trenujące, więc długość kodu dla danych wynosi 0, a łączna długość kodu dla reguł i danych jest zgodnie z rozwiązaniem ćwiczenia 5.8 równa 63,945. Jak widać, rozmiar zbioru trenującego jest tak mały, że bardziej opłaca się jego bezpo średnie kodowanie niż wykorzystanie w tym celu drzewa decyzyjnego lub zbioru reguł. Reprezentowane przez nie hipotezy nie prowadzą w tym przypadku do kompresji danych. Wskazówka 5.10. Poddamy ocenie węzeł n testujący atrybut aura. W tym celu przyj miemy, że dla trzech wyników takiego testu węzeł n ma trzy liście potomne li, I2 i I3, którym odpowiadają zbiory przykładów, dla których atrybut aura ma odpowiednio war tości słoneczna, pochmurna i deszczowa. Liście li, I2 i I3 rnają wobec tego przypisane etykiety większościowe odpowiednio 0, 1 i 1. Dla określonego w przedstawiony sposób drzewa o korzeniu w węźle n wyznaczymy długość kodu następująco: LKT(n)
= - l o g p + log4 + 3(-log(l - p ) + log2),
gdyż w korzeniu drzewa są 4 możliwe testy, a dla każdego liścia 2 możliwe etykiety kate gorii. Aby mając takie drzewo zakodować zbiór trenujący T, potrzebujemy z kolei komu-
A.5. ROZDZIAŁ 5
821
nikatu o długości: LKD (TI n) = 4(log 14 + log 1) = 4 log 14, gdyż 4 spośród 14 przykładów jest przez nie niepoprawnie klasyfikowanych. Przyjmując logarytmy dwójkowe i p = \ uzyskujemy następującą łączną ocenę węzła: daura(T) = 9 + 41og2 14 = 24,229. Podobnie należy dokonać oceny pozostałych atrybutów i wybrać ten, dla którego zo stanie uzyskana najmniejsza wartość. Rozwiązanie 5.11. Dla ocenianych kompleksów mamy następujące długości kodu: W k x ) = (1 + 21og2 3) + 1 + 1 + 1 = 7,170, LKk (k2) = (1 + 2 log2 3) + (1 + log2 3) + 1 + 1 = 8,755, LKk (k3) = (1 + 2 log2 3) + 1 + 1 + (1 + log2 2) = 8,170. Kompleksy te pokrywają odpowiednio zbiory przykładów trenujących: T k l = {1,2,3,7,8,9,11,12,13}, Tk2 = {1,2,3,13}, rk3 = { 2 , 7 , l l , 1 2 } , z których odpowiednio 3, 2 i 1 mają etykiety różne od etykiet większościowych. Oznacza to, że w celu skorygowania pomyłek niezbędna jest długość kodu: LKD (T kl | ki) = 3(log2 9 + log2 1), LKD (Tk21 k 0 = 2(log2 4 + log2 1), LKD(Tk31 ki) = log2 4 + log2 1. Uwzględniając dodatkowo, że dla kompleksów ki, k2 i k3 pozostaje odpowiednio 5, 10 i 10 nie pokrytych przykładów, których kategorie wymagają zakodowania za pomocą do datkowych 5 log2 2,10 log2 2 i 10 log2 2 bitów, otrzymujemy: LKD (TI ki) = 3(log2 9 + log2 1) + 5 log2 2 = 14,510, LKD (TI k 2 ) = 2(log2 4 + log2 1) + 10 log2 2 = 14, LKD {TI k 3 ) = log2 4 + log2 1 + 101og2 2 = 12. Stąd ostatecznie wyznaczamy ocenę każdego kompleksu jako łączną długość kodu: 0 k l ( T ) = 21,680, tfk2(T)=
22,755,
tfk3(T)=
20,170.
Najlepszy okazał się kompleks k3.
822
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
Rozwiązanie 5.12. Prawdopodobieństwo występujące po lewej stronie równości, któ rą należy udowodnić, można przekształcić, korzystając wielokrotnie z reguły iloczynu, następująco: n-l
P r ^ n y /\ ai(x) = Vij = P r ^ n \an(x) = u n | Ą ai(x) = vi) t=l
i=l n-l
•Pr x e f i ( / \ a* (z) = 1 ; ^ = i=l
n
= J^[Pr x G n \ai(x) =v{\ i-l
I—L
f\ aj(x) = Vj). j=l
Z założenia o poprawności struktury sieci mamy: PrzeQ \a%(x) =Vi\
/\
a,j(x) = Vj) ~ Pr x € n (ai(x) =v{\
f\ aj(x) — Vj).
Oznacza to, że do udowodnienia twierdzenia wystarczy, aby był spełniony warunek: UZC
{l,2,...,z-l}C7V-Ą.
Stanie się tak, jeśli (Vj € Ui) j < i, (Vi € Si) j > i. W tym celu wystarczy zapewnić, że dla dowolnych dwóch węzłów a* i aj, dla których a{ -» Oj, zachodzi nierówność i < j . Spełnienie tego ostatniego warunku, które wystarcza do udowodnienia twierdzenia, można osiągnąć numerując w odpowiedni sposób atrybuty.
A.6 Rozdział 6 Rozwiązanie 6.1. Wystarczy bezpośrednio zaadaptować metodę generowania gwiazdy z systemu AQ, traktując wybrane ziarno x$ jako ziarno pozytywne, a jako kolejne ziar na negatywne wybierając pokrywane przez generowaną gwiazdę pozostałe ziarna i wy kluczając ich pokrywanie. Następnie każdy kompleks uzyskanej gwiazdy należy poddać redukcji, aby uzyskać gwiazdę zredukowaną. Rozwiązanie 6.2. Dla wygody kompleksy ze zbioru K będziemy oznaczać przez ki, k 2 , k 3 i k 4 , numerując je w kolejności, w jakiej zostały zapisane w tekście ćwiczenia. 1. Dla dziedziny stanów pogody w zbiorze K nie są rozłączne pary kompleksów ki i k 2 , ki i k 4 , k 2 i k 3 oraz k 3 i k 4 .
823
A.6. ROZDZIAŁO
a) Aby zapewnić rozłącznośc na całej dziedzinie, modyfikacji poddamy każdą z par nierozłącznych kompleksów. • Dla pary ki i k 4 modyfikacji poddajemy kompleks k 4 , zastępując go kom pleksem (?, umiarkowana, duża, ?). Nie zmienia to zbioru pokrywanych przez ten kompleks przykładów ze zbioru P . • Dla pary ki i k 2 modyfikacji poddajemy kompleks k 2 , zastępując go kom pleksem {?, umiarkowana V zimna, normalna, silny). Nie zmienia to zbioru pokrywanych przez ten kompleks przykładów ze zbioru P. • Dla pary k 2 i k 3 modyfikacji poddajemy kompleks k 3 , zastępując go kom pleksem {słoneczna, ciepła, ?, silny). Zmienia to zbiór pokrywanych przez ten kompleks przykładów, gdyż po modyfikacji nie jest już pokrywany przykład 11, który jednak jest wciąż pokrywany przez kompleks k 2 . • Po tych modyfikacjach nowe kompleksy k 3 i k 4 także są rozłączne. b) Aby zapewnić rozłącznośc na zbiorze P , określamy zbiory przykładów pokrywa nych przez poszczególne kompleksy: P k l ={3,13}, Ą , = {2,11},
Ą a = {6,7,11}, P k 4 - {1,2,3,4,8,12,14}.
Przykłady 2 i 11 są pokrywane przez więcej niż jeden kompleks, wobec czego p\K\>i _ {2,11}, Pomijając te przykłady, kompleksy poddajemy redukcji: k[ = (pochmurna, ciepła,?, słaby), k 2 — {pochmurna V deszczowa, zimna, normalna, silny),
14 = (0), k 4 — (?, ciepła V umiarkowana, duża, ?}. Kompleks k 3 jako pusty jest zbędny. Pozostałe kompleksy pokrywają wszystkie przykłady ze zbioru p l ^ K 1 . Przykład 2 jest pokrywany przez kompleks k^, po zostaje więc zapewnić pokrywanie przykładu 11. Można to osiągnąć zastępując kompleks k 2 kompleksem {?, umiarkowanaV zimna, normalna, silny). 2. Dla dziedziny modeli samochodów w zbiorze K nie są rozłączne pary kompleksów ki i k 2 , k 2 i k 3 oraz k 3 i k 4 . a) Rozłącznośc na całej dziedzinie osiągniemy modyfikując nierozłączne pary kom pleksów. • Dla pary ki i k 2 modyfikujemy kompleks ki, zastępując go kompleksem (duży, niska, ?,?). • Dla pary k 2 i k 3 modyfikujemy kompleks kompleks k 2 , zastępując go kom pleksem (miejski W małyV duży, umiarkowana, przeciętne, ?). • Dla pary k 3 i k 4 modyfikujemy kompleks k 3 , zastępując go kompleksem (kompakt, niska V umiarkowana, ?, niska Vprzeciętna). b) W celu zapewnienia rozłączności na zbiorze P znajdujemy: Pkl - { 2 } , Pk3={3,6},
Pk2-{5,6,7}, Pk4-{9,10,11}.
824
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
Pomijając pokrywany wielokrotnie przykład 6 redukujemy kompleksy: k[ k'2 l4 k'4
— = — =
{duży, niska, słabe, niska), (miejski \/ mały, umiarkowana,przeciętne,przeciętna), (kompakt, niska, dobre, przeciętna), (kompakt V duży, wysoka, przeciętne V dobre, przeciętna V wysoka).
Pokrywanie przykładu 6 możemy zapewnić, zastępując następnie kompleks k^ kom pleksem (kompakt, niska V umiarkowana, przeciętne V dobre, przeciętna). Rozwiązanie 6.4. Oznaczmy przez di kategorię drzewa grupowania zawierającą przy kłady 1, 2, 3,4,8,11,12,14 i przez d2 kategorię zawierającą przykłady 5,6, 7,9,10,13. W przykładzie 6.5 podawaliśmy już wartości liczników związanych z odpowiednimi wę złami oraz rozważaliśmy sposób postępowania z przykładem 18, dla którego wartość atry butu aura nie jest znana. Obecnie przechodzimy bezpośrednio do obliczeń funkcji oceny, mających na celu znalezienie najlepszych pojemników dla klasyfikowanych przykładów. 1. Dla przykładu 15 zaliczenie go do kategorii di daje wartość funkcji oceny: \{^
[ ^ ( 5 2 + 2 2 + 2 2 + l 2 + 5 2 + 3 2 + l 2 + 8 2 + 4 2 + 52) - ^(6
2
+ 4 2 + 5 2 + 5 2 + 62 + 4 2 + 72 + 82 + 82 + 72)] +
l2 + 4 [s?( + 22 + 32 + 42 + l2 + l2 + 62 + 42 + 22) J
15 Lb
"l^(62+42+52
+ 52 + 62+42 + 72+82 + 82 + 7 2 )
]}"
= 0,289, podczas gdy zaliczając go do kategorii d2 otrzymujemy: i { ^ [ ^ ( 4 2 + 2 2 + 2 2 + 5 2 + 3 2 + l 2 + 72 + 4 2 + 4 2 ) - ^(6 7 +
I5
[i(22
2
+ 4 2 + 5 2 + 5 2 + 62 + 4 2 + 72 + 8 2 + 82 + 72)] + + 2 2 + 3 2 + 5 2 + 1 2 + l 2 + 62 + l 2 + 4 2 + 32) -
i j ( 6 2 + 4 2 + 5 2 + 5 2 + 62 + 4 2 + 72 + 8 2 + 82 + 72)] } 152 = 0,244. Zatem przykład 15 zostanie zaliczony do kategorii di. 2. Dla przykładu 16 podobnie stwierdzamy, że zostanie zaliczony do kategorii ck. 3. Przykład 17 zostanie zaliczony do kategorii di.
A.6.
825
ROZDZIAŁO
4. Dla przykładu 18 zaliczenie go do kategorii d\ daje wartość funkcji oceny:
+ 5 2 + 4 2 + 22 + 72 + 4 2 + 5 2 ) 3'
v
3 ' ' v" ' 3 '
+ 4 2 + 62 + 5 2 + 8 2 + 72 + 8 2 + 7 2 )] +
+ 4 [ ^ (J l 2 + 22 + 3 2 + 42 + l 2 + l 2 + 62 + 42 + 22) 15 L6
- ^ ( ( 5 4 ) 2 + (44) 2
+ (5 +
i)2 +
+ 42 + 62 + 5 2 + 8 2 + 72 + 82 + 7 2 )]} = = 0,258, a w przypadku zaliczenia go do kategorii di otrzymujemy:
\{ ^ [^(4 2 + 22 + 22 + 52 + 32 + l 2 + 72 + 42 + 42) -
- ^ ( ( 5 4 ) 2 + (4 + i) 2 + ( 5 + i ) 2 + + 42 + 62 + 52 + 82 + 72 + 82 + 72)] + 7 r 1 //H 16 x9 /rt 13x9 + 1 5 ^ + 4 5 ^ + ^+465
/« +(3+
16xo 45)
+
+ 42 + l 2 + 22 + 7 2 + 4 2 + 3 2 ) - T ^ ( ( 5 + 5)2 + (
4
+ ^ + (5 + ^
+
+ 4 2 + 62 + 5 2 + 8 2 + 72 + 82 + 7 2 )] } = 0,282. Przykład 18 zostanie więc zaliczony do kategorii d2. Rozwiązanie 6.8. W równaniu (6.28) należy wykorzystać funkcję gęstości prawdopo dobieństwa dla rozkładu normalnego: 9ń W = 9h(y) =
przy czym:
i
4d^ i oUy/toi
i.d
:exp exp
2(4d)2 r v-i4. L 2(ahY'
826
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
• filQ jest oszacowaniem oczekiwanej wartości atrybutu i dla przykładów kategorii d, • alf jest oszacowaniem odchylenia standardowego wartości atrybutu i dla przykładów kategorii d, • /XQ jest oszacowaniem oczekiwanej wartości atrybutu i bez zakładania kategorii, • cr^ jest oszacowaniem odchylenia standardowego wartości atrybutu i bez zakładania kategorii, przy założeniu, że przykłady są wybierane z dziedziny zgodnie z rozkładem prawdopodo bieństwa n. Podany wzór należy odpowiednio zaadoptować do oceny węzłów drzewa grupowania. Przyjmując oznaczenia takie jak w równaniu (6.23), możemy zapisać:
^°)
=
~
J2
Pr
*€n (ho(x) = d\h-x(x) = d0) •
d€{di,...,dm}
•\f2 Li=l
f 9tid(v))2dv-J2 J
[ 9if°(v)2dv J
i=l
Wartości /zjj i a^ mogą być obliczone w następujący sposób:
1
' xeTd
V'
'x€T d
Drugie równanie może być przekształcone w postać:
<# = ^
£«•?(*)-(*#)'•
Do obliczania oszacowań parametrów rozkładu normalnego wystarczy przechowywanie w każdym węźle liczby zaliczonych do tego węzła przykładów oraz sumy wartości i kwa dratów wartości poszczególnych atrybutów dla tych przykładów: md=
\T2\, xeTd
sf2 = E «?(*)• x(~Td
które mogą być aktualizowane inkrementacyjnie po dodaniu nowego przykładu. Mamy wówczas:
827
A.7. ROZDZIAŁ 7
Wskazówka 6.10. Główna zmiana w stosunku do algorytmu 6.2 polegałaby na tym, że przy dodawaniu nowego przykładu do liścia nie byłby on automatycznie przekształcany w węzeł, lecz mógłby pozostać liściem zawierającym wiele przykładów. Późniejsze prze kształcenie takiego wieloelementowego liścia w węzeł polegałoby na utworzeniu nowych liści dla każdego z zaliczonych do niego przykładów i umieszczeniu ich jako jego liści potomnych. Kryterium podjęcia takiej decyzji może wykorzystywać funkcję oceny grupo wania i mieć w szczególności postać warunku, aby jakość węzła zastępującego liść była powyżej pewnej minimalnej wartości progowej.
A.7 Rozdział 7 Wskazówka 7.7. Należy wykorzystać następującą postać statystyki x.2.
xl,
* ^ (Kul -eluKn- /,» i=1 ,k(p) =Hźtc EZ <'
Rozwiązanie 7.8. Najpierw obliczymy wartości statystyki x2 dla wszystkich par atry butów: m 1
Xaum,temperatura\-
2
_(l-^) )
5^4
, ( 2 - ! f ) 2 , (2-t^)2 . '
5J5
~*~
^ 4
, (1 - ^ ) 2 , (1 - m2, k±
"•"
(2 - m2,
ki
kA
2
2
, (2-k , (3-!l) , (0-W_ 2o2l. 14
14
2
(o- ^i\ A-aura^i/^otnosćY-1 /
5.7
h^
^) 5-7
, ("- m2, ~T"
14 2
4-7
'
(2 - ^ ) 2 , "*"
4-7
"*"
,(3-W, (2-W_01 14
2
/Tx
3
=
( ~!f)
14
2
, ( ~lf)
14
,
14
\2
2
, (2-m , (2-!p2, M 14
M 14
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
828
X temperatura, wilgotnoścK* )
4^7
"*"
'
6-7 14
4^
"*"
~
6-7 14
"*"
+ ^ ¾ ^ + - ¾ ^ = 5,667, 14 y2
. (T)
/i temperatura, w tatrK^ )
=
14
Ml2 łll.
(oif
+
4JS
t
(9- ^ l lf iii.
2 +
4_^
'
, (3 -6-8m2,"*" (3 6-6- n r"*",
+
14
14
h_ i^2
fl_ i^2
l
+
M 14
2
4
V ( T l rr ( A.wi/gomosć,wjatr\-Ł /
~
= Q>729*
ii 14
ffi
4. (
3
~
7JJ
"14") • + 7JS^
, (4 - % ) ' , ( 3 - % ) ' _ Q Li U> ~ 14
14
Stąd współczynniki V Cramera mogą być wyznaczone następująco:
v aura,temperatura^
) — \l T T
~ ~ U,045,
/ 0,4 Vaura,wilgotność{T)
=
Vaura,w/atr(T) -
W
'
^ / ^ ^
=
0,169,
=
0,091,
^ temperatura, vvi/gotnosć(4 J — A / —— ~ — U,OoD,
^temperatura, wiatr ( 4 j ~
y TT
T — U,ZZo,
Vw vj/gotnosć,wiatr(J ) — \ I —-
r =
u.
Rozwiązanie 7.9. /T\ _ v2 ^klasa^cenaK^ ) ~
V1
n ) %A 11
. i^ ~
y_L + Ar 2J. 11
~
yJ_ + 2^5 11
~
829
A.7. R O Z D Z I A Ł 7
, a-^) 2 , (2-^) 2 , (o-m2, "*"
3-4
"*"
"^
3-4
3-3
"*"
, (i-W , (1-½2 , (1-¾)2 ,
"*"
3-4 11
+ ii
"*"
3-4 11
i i i . + ii
2
/r\ _ V
Afc/asa.osiijgA^ 7
—
ii 1
ni
, V
2J2
~
u)
, v
2_j>
3-2
"*"
, (o-m3,
"*"
3-2 11
"*"
(l-½½)2
+ li
~
,
3-5 11
'
(i-^)2,
"*"
(i-!f)2,
"*"
fl-M)2
U-L + 11
ni 2^4
3-5
11
y_L +
3-4
"*"
(2-^)2, 3-4 11
"*"
( 1 - M)2 i!: ILL =
11
4 765
11
fl„M)2
fi_ M)2
(0-^)
2-3
2J>
2J3
AkJasa,niezawodność^ )
"*"
ii u
, (o-^)2, (2-m2, "*"
33 11
ł l l . + A= Łli- = 5 194
ii 1
"*"
2
, ("-W) 2 , ( " - % ) ' , ( i - ! f ) 2 , "*"
3-3
"^
3-5
"*"
3-3
"*"
, (o-W) 2 , (2-!f) 2 , ( i - W ) 2 , "*"
3-3 11
"*"
fi _ M ^ 2
+ 11
3-5 11
fi _ M ^ 2
UJ— + l i M ii2
y2
. .m
Acen^osiggA^ /
=
"*"
3-3 11
"*"
fi _ 3 ^ 2
! i ! _ 4- l i -Lił ii 2
łiJL - o 444 —
M ii 2
'
'
f i - Ml fi- i^ if(o- ±1\ nj_ + 11 Łli. + 11 ILL + 4-2 TT
4-5 11 /o
2
4-4 11 /-t
2
4-2\ 4-5\ 4-4\ (o-ff) , (3-^r , (i-^) 4-2 "*" 4-5 "*" 4-4 11
11
, (o-W) +
+
3l
m=(3-^) Acena,niezawodność^ )
2
2
4.3
, (i-!ł) 3^~
11
2
, (2-W_6320 +
4-5
"*"
, (Q-^)2, ^
3Ji 11
~ 0,ÓZU,
12
, (l-!f) , (0-lJ ) , "^
4-3 11
3l
2
4-3
, (o-^)2, (3-m2, "*"
2
^
4-5 11
(i-!f)2, 3_j> 11
(1-!f) 2
"*"
^
4-3 11
(
2
-^)
3J3 11
2
-
9 2 £ 0
~~ » , ^ o y ,
830
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
( 2 -W) 2 , ( o - ^ ) 2 , (o-!f) 2 ,
m= x
A osiągi\niezawodność\
)
2*3
2-5
2-3
, ( l - W ) 2 , (4-%rf , ( Q - ^ ) 2 ,
"*"
5-3 11
"*"
2
( ° - TVJ_ r) _L 1 A 4-3 11
5-5 11
( i - T"f )' _L V i 4-5 11
"^
2
5-3 11
"*"
2
(3-lf) + A—_JJ_JL TT
=
12,907,
/5,194 : 0,486, V 11 • 2 ~ /4,765 : 0,465, /li-2 ~ /2,444 : 0,333, —*
VjUa$a,cena(-Ł ) — '
Vfc/asa ,osiągi
* k/asa,niezaivodnoścV^ J
ViF2 ~
vcena,osiągi\J- ) ~
* cena,niezawodność\-*- )
~
/6,320 : 0,536, V 11-2 ~ /9,289 = 0,650,
V lT^2~ /12,907
v osiągi,niezawodność\-L ) ~ ' i/
11.0
= 0,766.
Wskazówka 7.10. Jedna z możliwych heurystycznych strategii wykrywania zależno ści drugiego rzędu może polegać na sprawdzaniu, czy i jak bardzo statystyczna istotność pary atrybutów przekracza statystyczną istotność każdego z nich oddzielnie. W tym ce lu należy odpowiednie miary istotności obliczyć dla obu pojedynczych atrybutów oraz dla atrybutu będącego ich „iloczynem kartezjańskim", czyli takiego, którego wartości jednojednoznacznie odpowiadają parom ich wartości. Niestety, złożoność obliczeniowa nie pozwala rozszerzać takiego podejścia na zbyt dużą liczbę atrybutów. Rozwiązanie 7.11. Analizowane drzewo decyzyjne jest zbyt proste, aby umożliwić za proponowanie wielu sensownych przekształceń. Najprostsza możliwość polega na wpro wadzeniu nowego atrybutu o : l 4 {1,2,3,4,5} zdefiniowanego następująco: 1 2 a(x) = ^ 3 4 5
jeśli aura(rc) = słoneczna i wilgotność(x) — normalna, jeśli aura(x) = słoneczna i wilgotność(x) = duża, jeśli aura(x) = pochmurna, jeśli aura{x) — deszczowa i wiatr(x) = słaby, jeśli aura(ic) — deszczowa i wiatr{x) — silny.
Można się przekonać, że algorytm ID3 wygeneruje wówczas drzewo decyzyjne, zawiera jące jeden węzeł z testem na nowym atrybucie. Rozwiązanie 7.12. Można zaproponować nowe atrybuty odpowiadające całym kom pleksom występującym w analizowanym zbiorze reguł, tu jednak weźmy pod uwagę po-
831
A.8. ROZDZIAŁ 8
wtarzające się selektory dysjunkcyjne słoneczna V pochmurna, słoneczna V deszczowa i zimna V umiarkowana. Wprowadzimy trzy nowe atrybuty a\, a {0,1} zdefi niowane następująco: ai(x)
1 jeśli aura(x) = słoneczna^ aura(x) = pochmurna, - 10 w przeciwnym przypadku,
I 1 jeśli aura(x) = słoneczna^ aura(x) = deszczowa, a2(x) = I 0 w przeciwnym przypadku, f 1 jeśli temperatura(x) = zimna V temperarura(x) — umiarkowana, a 3 (x) = I 0 w przeciwnym przypadku. Po odpowiednim zrzutowaniu zbioru trenującego i bez usuwania żadnego z pierwotnych atrybutów uzyskamy za pomocą algorytmu AQ, stosowanego w wersji takiej jak w przy kładzie 4.7, następujący zbiór reguł, który przedstawiamy zakładając, że atrybutom a x , a 2 i a 3 odpowiadają trzy ostatnie selektory w kompleksach: ,?,duża,?,l,l,?>->0, {pochmurna V deszczowa, ?, ?, s/aby, ?, ?, ?) -» 1, ,?,?,siiny,0,l,l>->0, ,?,?,Simy;l,?,l>^l, ,?, norma/na, ?,1,?,1) - • 1. Analiza tego zbioru reguł może prowadzić do zaproponowania dalszych przekształceń. Warto przy okazji zauważyć, że wykorzystując przekształcenie zaproponowane w roz wiązaniu ćwiczenia 7.11 i zakładając, że nowemu atrybutowi a odpowiada ostatni selektor w kompleksach, uzyskalibyśmy za pomocą tego samego algorytmu następujące reguły: ,?,?,?, 2 V5>->0, ,?,?,?,1V3V4)->1.
A.8 Rozdział 8 Rozwiązanie 8.5. Reguły modyfikacji wyprowadzimy oddzielnie dla wag w'j oraz w^, i — 0 , 1 , . . . , n, j — 0 , 1 , . . . , n'. Weźmy pod uwagę sposób przetwarzania pojedynczego przykładu trenującego x G T. Dla wygody przyjmijmy oznaczenie /n-l G x
j( )
= 9\ X ^ ( z ) u > i j \ i=0
Mamy wówczas: A„;(z) = 0(f(x)
- M * ) ) ^ r
= /*(/(*) -
hw(x))Gj(x),
832
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
A^.(z) = 0(f(x) - hw(x))^^-
= /3(f(x) -
n
hw{x))
^wf-^
=
n'-l
- (3(f(x) - hw(x)) £
w^G^l
-
Gj(x))Mx),
j-0
jeśli zauważymy, że dg(v) _ 6exp(—bv) = dv (1 + exp(~bv))2
g{v){l-g{v)).
Rozwiązanie 8.6. 1. Końce przedziałów podamy tylko dla warstwy 1, gdyż dla pozostałych warstw mogą one być obliczone analogicznie: y
00
#01
#02
—
—
Oj
= -'4 = -»4-
01O = 0, e\x 0,1 5'
620 = 0, 01
0,4 0,1 + 5 ' 0,3 = 0,5 + 5' 0,1 = 0,8 + S'
2 ~ 5'
#13
#04
-'-i-
oU
#05
= 5,
015 = 0,9 +
1 0
02i - y -
®12 =
#03
-
022 = l O + y , 5' 3 ^ 3 = 2 0 + 20 ° 024 = 50 + 5 ' 30 0^5 = 70 + 5'
0,1
016 = 1.
026 = 100.
2. Liczbę cech rozszerzonych obliczamy następująco: n' = 4 • 5 • 5 + 4 • (5 • 6 • 6) = 820. 3. Najpierw wyznaczamy numery przedziałów w poszczególnych warstwach, zawiera jących wartości cech przykładów. Dla przykładu X\ mamy: jg(*i) = l,
^ 1 ) = 2,
Jo2(*i) = 2,
j 0 3 (*i) = l.
Jo(*i) = l.
j?(a:i) = l,
#(¢1)=2,
j?(a:i) = l.
tffa)
= L
#(¢1) = 1.
j°(xi) = 2,
# ( ^ ) = 3,
jj(x!)
j'I(ari) = 2,
j | ( x i ) = 2,
= 2,
co umożliwia wyznaczenie numerów aktywnych cech rozszerzonych dla tego przy kładu w następujący sposób: l/>°(Jo(*i), j? («i).i°(*i)) = 2 + 4 • 1 + 4 • 5 • 2 = 46, i'1Uo(xi),jl(xi),j12(x1))
= 4 - 5 - 5 + 2 + 5-2 + 6 - 5 - 3 = 202,
tf2(jo(*i)> Ji (*i). jftei)) = 4 - 5 - 5 + 5 - 6 - 6 + ' 2 + 5 - l + 6 - 5 - 2 = 347,
833
A.8. ROZDZIAŁ 8
tfs(io(*i).ii
(*i)» Ja(*i)) = 4 - 5 - 5 + 2- (5 -6- 6) + 1 + 5 1 + 6 - 5 - 2 = = 526,
V>40'o(*i), jł(xi),jfai))
= 4 - 5 - 5 + 3- (5 - 6 - 6) + 1 + 5 1 + 6 - 5 - 2 = = 706.
Podobnie dla przykładu x 2 : Jo(*a) = 3,
ij(xa) = 4,
JŹ(x2) = 3, 2
jg(* 2 ) = 3, 3
# ( x 2 ) = 3,
j?(x 2 ) = l,
ii(«a) = 2,
j (x 2 ) = 2,
j (x 2 ) = 2,
ji(x2)
= l,
ij(x 2 ) = 2,
^(12)=3,
J1(X2)=3,
j | ( x 2 ) = 3,
Jl(x2)=2,
co umożliwia wyznaczenie numerów aktywnych cech: tf°(io(*a), j?(x 2 ),^(x 2 )) = 3 + 4 • 1 + 4 • 5 • 2 = 47, ^ U (¾). i j (as2), J2 (x 2 )) = 4 - 5 - 5 + 4 + 5-2 + 6 - 5 - 3 = 204, 1>2tiofa),3ifrt),
Ja(*a)) = 4 - 5 - 5 + 5 - 6 - 6 + 3 + 5-2 + 6 - 5 - 3 = 383,
^ O o f o ) , Ji(x 2 ), j 2 (z 2 )) = 4 - 5 - 5 + 2 - ( 5 - 6 - 6 ) + 3 + 5 - 2 + 6 - 5 - 3 = = 563, 4
4
V> 0'o(*2), j (x 2 ),^(x 2 )) = 4 - 5 - 5 + 3 - ( 5 - 6 - 6 ) + 3 + 5 - 1 + 6 - 5 - 2 = = 708. Dla przykładu X3 otrzymujemy: Jo(«3) = 3, j?(x 3 ) = 2, J2°(^3) = 3,
ii(«s) = 4, jj(x3)=3, J2-(x3) = 4,
^(x3)=4, 2
j (x 3 ) = 3, 2
J2 M=4,
^(x3)=4, 3
^(x3)=3,
j (x 3 ) = 3,
jf(x3)=2,
j|(x3)=3,
j24(^)=3,
co umożliwia wyznaczenie numerów aktywnych cech: i W t e O , j?(* 3 ), $ ( ¾ ) ) = 3 + 4 - 2 + 4 - 5 - 3 = 71, ^(j'0^3), Ji(x 3 ), j21(x3)) = 4 - 5 - 5 + 4 + 5 - 3 + 6 - 5 - 4 = 239, V-2(Jo(z3), Ji2(x3), J I M ) = 4 - 5 - 5 + 5 - 6 - 6 + 4 + 5 - 3 + 6 - 5 - 4 = 419, tf3(Jo(*3),ii (zs), JateO) = 4 - 5 - 5 + 2 - ( 5 - 6 - 6 ) + 4 + 5 - 3 + 6 - 5 - 3 = = 569, ^ O o ^ a ) , j 4 ( x 2 ) , ^ ( x 2 ) ) = 4 - 5 - 5 + 3 - ( 5 - 6 - 6 ) + 3 + 5-2 + 6 - 5 - 3 = = 743. Rozwiązanie 8.10. Wartości funkcji docelowej i hipotezy aproksymatora pamięciowego, wykorzystującego algorytm najbliższego sąsiada, dla przykładów ze zbioru P przedstawia poniższa tablica. Wartości błędów względnego i średniokwadratowego można obliczyć, podstawiając do odpowiednich wzorów zamieszczone w niej liczby.
834
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
| 00 (x) 0,1963 X 0,4948 2 X 0,8496 3 XĄ 1,2467 *ś 1,6788 2,1407 < 2,6292 7 x 3,1416 81 X
~3~l
/(*) 0,9936 0,9597 0,8840 0,7603 0,5922 0,3933 0,1865
h{x) 0,9933 0,9643 0,8980 0,7842 0,6213 0,4191 0,2009
0
0
W szczególności otrzymujemy błąd średniokwadratowy sfp(h) — 0,0003. Rozwiązanie 8.11. Wartości funkcji docelowej i hipotezy aproksymatora pamięciowe go, wykorzystującego algorytm kNN dla k = 3, dla przykładów ze zbioru P przedstawia poniższa tablica. Wartości błędów względnego i średniokwadratowego można obliczyć, podstawiając do odpowiednich wzorów zamieszczone w niej liczby. X
|
~xY\ X
2
4 4 XĄ
x
6
Xr7 X
8
0,9936 0,9597 0,8840 0,7603 0,5922 0,3933 0,1865
0
h{x) 0,9924 0,9629 0,8962 0,7824 0,6198 0,4185 0,2016 0,0643
W szczególności otrzymujemy błąd średniokwadratowy sfp(h) = 0,0008. Rozwiązanie 8.12. Wartości funkcji docelowej i hipotezy aproksymatora pamięciowego, wykorzystującego metodę lokalnych średnich ważonych z funkcją wygładzającą _ 1 Wxx *~ l + 20(<5(x,x*)/3)2 dla przykładów ze zbioru P przedstawia poniższa tablica. Wartości błędów względnego i średniokwadratowego można obliczyć, podstawiając do odpowiednich wzorów zamiesz czone w niej liczby. X
Mx)
~xY\1 0,1963 X 0,4948 2 0,8496 1,2467 < ** 1,6788 X 2,1407 6 X 2,6292 7 X 3,1416 S
4
m 0,9936 0,9597 0,8840 0,7603 0,5922 0,3933 0,1865
0
h(x) 0,8967 0,8713 0,8182 0,7351 0,6253 0,4999 0,3814 0,3159
835
A.9. ROZDZIAŁ 9
W szczególności otrzymujemy błąd średniokwadratowy Sp(h) = 0,0215. Wskazówka 8.14. Hipoteza modelowania może być reprezentowana przez zbiór reguł, którego każdy element ma postać k —> /i, przy czym k jest kompleksem nakładającym pewne warunki na wartości atrybutów, a h E M jest hipotezą odpowiadającą jednemu z modeli. Można przyjąć, że przykładom pokrywanym przez każdy kompleks jest przypi sany inny model, czyli każda reguła ma inną część decyzyjną. Do generowania hipotezy modelowania można zaadaptować schemat sekwencyjne go pokrywania. Należy, tak jak dla uczenia się pojęć, tworzyć kolejne reguły, korzystając z kompleksów pokrywających możliwie wiele przykładów trenujących z możliwie dużą dokładnością, przy czym w tym przypadku przez dokładność powinno być rozumiane ma łe zróżnicowanie wartości funkcji docelowej w zbiorze przykładów pokrywanych przez kompleks. Pozostaje określić sposób znajdowania kompleksów spełniających takie wa runki. Można w tym celu zastosować odpowiednio zmodyfikowany algorytm CN2.
A.9 Rozdział 9 Rozwiązanie 9.1. Ponieważ w literale L0 nie występują zmienne yij dla i = 1, 2 , . . . , k, j = 1, 2 , . . . , mi, możemy formułę (Vt/oi, • • • ,2/Omo) • • • (Vyjfcl, • . • ,yAm fc ) (L0 V "-Li V • • • V
^Lk)
przepisać w postaci: (Vi/oi,---,2/omo)(^o V(Vi/ii,...,2/i mi )...(Vj/jfei,...,3/ fcmfc ) (-1L1 V ••• V-iLjfe)J,
którą z kolei można przedstawić jako implikację: (Vy 0 l, • • • , J/Omo ) ( ^ 2 / 1 1 , • • • , 2 / l m J • • . Ofyjfel, . • . ,2/fcmJ (-Li
V'--V-.Lfc)-»A>).
Do zakończenia dowodu wystarczy spostrzeżenie, że formuła -•(tyii,.. - ,2/imJ • •. (Vyjki, • • • ,2/fcmfc) ( - ^ l V • • • V —i-Łfc) jest na mocy praw de Morgana równoważna z formułą (3yn, • • •, 2/irm) • • • (Ą/H , . . . , t/jkmfc) (Li A • • • A Lk). Wskazówka 9.3. Należy pokazać, że dodanie dowolnego literału do koniunkcji klauzu li albo nie zmienia zbioru pokrywanych przez nią przykładów, albo powoduje usunięcie z niego jego niektórych elementów, nie są zaś możliwe innego rodzaju modyfikacje tego zbioru.
836
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
Rozwiązanie 9.2. Klauzula a i pokrywa krotki: {Anna, Urszula, Adam),
{Magda, Marek, Jan).
Klauzula 0:2 pokrywa krotki: {Paweł, Stanisław, Jan), {Bogdan, Grzegorz, Adam), {Tomasz, Celina, Adam). Wydłużenie krotek nie zmieniłoby oczywiście ich pokrywania przez klauzule. Usunięcie z krotek ostatniego obiektu spowodowałoby, że oprócz wyżej wymienionych klauzula a i pokrywałaby dodatkowo krotkę {Grażyna, Olga), nie miałoby zaś wpływu na pokrywanie poszczególnych krotek przez klauzulę Q2. Rozwiązanie 9.4. Wyniki dla literałów Lmatka^ pi K-tL matka, 1
p
= 20,
i = 1,2,..., 10, są następujące: pi KALmatfa,!
= 20,
0 f^i^>ma(ka,l
= 300,
pi
= 380,
P0
= 7300,
pi
-20,
pi
— n
K>)" matka, 2
pi K,bmatka,3
= 0,
P°
= 320,
pi
= 400,
K
^-*^maika,4
P0
J
KALmalkat3
U
'
pi
= 20,
pi
= 0,
= 7280,
^•>^ma\ka,A
pi KtL
matka, 5
pO f^^^1 matka, 5
= 0,
KAimadta.S
= 320,
pi
= 400,
P0
= 7280,
pi
= 20,
t ) L matka, 6
pi K
ł-^matJta,7
pO
i -Ł> marka, 8
= 400,
5 -Łł matka, 8
= 7280,
pO K
pi
nALm
= 0,
KALa
= 20,
KAL„,
= 0,
= 320,
pi K
= 0,
= 0,
837
A.9. ROZDZIAŁ 9
IpO
= 320,
AC,/'mafia, 9
pi pO
pi
Dl
zz
400,
zz
7280,
« A L mj,tjta, 10
pi
= 0,
K-,Ł matka, 11
pO
zz
K, Li matka, 1 1
pi
KALmatJca.ll
= 0,
320, 400,
pO
= 20,
= 20,
P}KALm
; = 7280.
K>yLma(ka,12
W przypadku literałów Lq/ciec,t inne liczby mogą być uzyskane tylko dla tych i, dla których pierwszym argumentem predykatu R0jciec jest vi, czyli dla i = 5,6,9,10. Otrzymujemy wówczas: Ipl Ki Li ojciCC, 5
IpO K,y Ł ojciec, 5
Ipl K>) Li ojciec, 6
IpO t j Lt ojciec, 6
Ipl
zz
7340,
zz
0, 320,
f^i Li ojciec, 10
= 400,
pi
pi -*
zz
zz
= 20,
260,
K,X/ ojciec, 9
1
/CA L ojciec, 5
= 340,
K,L/pjC,*oc,9
IpO
pi
= 60,
KAL0jciec,6
pi 1
KAL0jciec,9
Dl * KALo/c/ecio
= 20,
= 0,
= 20,
- 320.
K,Z/ o jciec,10
Rozwiązanie 9.5. Do wzoru określającego funkcję oceny wystarczy wstawić liczby wy znaczone w rozwiązaniu ćwiczenia 9.4, określające liczności odpowiednich zbiorów kro tek. Otrzymamy w ten sposób: KL^
(P1, P°) = 20 • (4,322 + log | L ) = 6,44,
*«, W
(P1, P°) = 20 • (4,322 + log | g )
=
_o,3,
^ , ^ , , , , 3 ( ^ 0 ) = 0 • (4,322 + log J L ) = 0, ^ , ^ , ( ^ 1 ^ ° ) = 20- (4,322 + l o g i ^ ) = 1,179, ^.Ł—..
C " , **) = 0 • (4,322 + log ^ ) = 0,
0«,L^AP\P°)
= 20- (4,322 + l o g i ^ ) = 1,179,
838
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
VK,L^,{P\P°)
= 0 • (4,322 + log A ) = o,
0«,L^,{P\I»)
= 20 • (4,322 + log i | L ) = 1,179,
^.L^AP^P0)
= 0 • (4,322 + log J L ) = 0,
^ - , 1 0 ( ^ 1 . ^ ) = 20 • (4,322 + log ijjjL) = 1,179, ' ' a - u . ( ^ ^ ° ) = 0 • (4,322 + log A ) = o, 0
^ „ ( P \ P
) = 20- (4,322 +log ~ )
= 1,179,
^L^,AP\P°)
= 20 • (4,322 + log ^ ) = 38,139,
^Loi^,e(P\P°)
= 20 • (4,322 + log 5 g ) = -3,510,
^.,^,,,.,(^ 1 .^ 0 ) = 0 • (4,322 + log A ) = 0, = 20 • (4,322 + log ijjjL) = 1,179.
KLOJC,K.10(P\P°)
W przypadku literałów Lo/dec,; dla i — 1, 2,3,4, 7,11,12 otrzymamy oczywiście takie same wyniki jak dla odpowiednich literałów Lmatka,u ze względu na jednakową liczność odpowiednich zbiorów krotek. Najlepszy okazuje się literał L0jci'ec,5 i to on zostałby jako pierwszy dodany do tworzonej klauzuli. Rozwiązanie 9,6, Możliwość uniknięcia obliczania funkcji oceny występuje dla litera łów zawierających wyłącznie zmienne v\ i v2. Są to literały LmatJta,9, Lma£ka,io» £matira,ii» Lmatka,12,
£qjci'ec,9> £q/Ci'ec,10> £q/ciec,ll» ^q/ciec,12- M a m y d l a n i c h :
l9 r ^ K , ^ matka, 9 ?9
r
l9
T
^ t t , L matka, 12
?9 - 7 K
?9 17
?9 ?9
r
r 5 iv ojciec, 11
r ^ ł - k ojciec, 12
pi
• 4,322 = 20 • 4,322- 0 ,
1 < P K A L m a t k a , 6 • 4,322 = 20 • 4,322= 86,44,
^
pi
• 4,322 = 0 • 4,322 = 0,
^
P1
•4,322 = 20-4,322 = 86,44,
^
P1
- 4,322 = 20 • 4,322= 86,44,
i ^ ojciec, 9
K , iv ojciec, 10
K
^
K A / J ojciec, 5
1 < P
KAb
^
P1
^
P1
K/\Li
•4,322 = 20-4,322 = 86,44, ojciec, 6
• 4,322 = 0 - 4,322 =0, ojciec, 7
•4,322 = 20-4,322 = 86,44.
KAiv0jc/cc,8
Umożliwia to odrzucenie literałów Lmadta,9, ^matfra.n i ^ojciec, 11 bez obliczania dla nich wartości funkcji oceny.
A.10.
839
ROZDZIAŁ 10
Rozwiązanie 9.7. Literałami kandydującymi byłyby wszystkie pozytywne i negatywne literały utworzone za pomocą predykatów Rmatka i Rojtiec z następującymi argumentami: (vi,v2),
0/1,01),
(ui,2/i>,
(yi,v2),
<*>2,2/l>.
(2/2,M>
(^1,2/2),
(2/2,
V 2 >,
(^2,2/2).
(2/1,2/2),
(2/2,2/1),
przy czym y2 oznacza nową zmienną, z wyjątkiem wcześniej wykorzystanego literału -Rmarfoifai,^). Wskazówka 9.8. Rozpoczynając od kompleksu uniwersalnego, można przeprowadzać jego specjalizację, przecinając go w każdym kroku z pewnym kompleksem atomowym, co oznacza uszczegółowienie jednego selektora. Jego wybór spośród wszystkich możli wych kompleksów atomowych (z pominięciem kompleksów użytych we wcześniejszych iteracjach oraz kompleksów bardziej od nich ogólnych) może być dokonany na podstawie funkcji oceny analogicznej do tej, jaką wykorzystuje system FOIL. Wskazówka 9.9. Podstawowa koncepcja proponowanego algorytmu polega na tym, że wynik zastosowania operatora odwróconej rezolucji staje się zawsze jedną z klauzul, do których ten operator jest stosowany w następnym kroku. Takie podejście jest nazywane liniową odwróconą rezolucją.
A.10 Rozdział 10 Wskazówka 10.4. 1. Indukcja drzew decyzyjnych: wybór testu na podstawie losowej próbki przykładów. 2, Indukcja reguł: ocena kompleksów na podstawie losowej próbki przykładów. Rozwiązanie 10,6. Dla tablicy Np10,2 wyznaczamy wartość statystyki x 2 , otrzymując Xai a2C^) ~ 320,125. Jest to wartość znacznie przekraczająca wartość progową dla po ziomu istotności 0,05 i liczby stopni swobody 3-4 = 12, która wynosi 21,016, co oznacza, że tablica zawiera istotny wzorzec. Dla dowolnej pary wartości atrybutów a\ i a2 można sformułować regułę asocjacyjną. Tu przedstawiamy tylko kilka przykładowych reguł o dużym wsparciu: n = <«12,?> =* ,«2l>,
Sri(P) = ^ ,
/r,(P) =
^ ,
r 2 = <„14,?> => , % 1 ),
sr,(P) = ^ ,
/r2(P) = J£,
840
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
T3 = (^12,?) => (?,t>22)»
Srs(P) =
135 1000'
/rs(^)-
3 7 2
-
Rozwiązanie 10.7. Można sformułować następujące reguły r^ dla każdej pary kom pleksów kj i kj takich, że kj C k j : r i 2 = (miejski,?,?,?)
=>• (?, niska,?,?},
a r i a (P) = 0,55, /r12^j -
r 1 3 = (miejski,?,?,?) => (?,?,słabe,?),
0 6 3 >
r 4 6 — (kompakt,?,?,?) =>• (?,?, przeciętne,?),
Sr 1 3 (P)=0,49, 0,49 /n,(P) = 0,63' ««rr4B « ((P) P ) ==0 , 2 1 , 0,21 /r„(P) = 0,32' *r46(P)=0,27,
J"78 = (?, wysoka, dobre, ?} =$ (?, ?, ?, wysoka),
S r 7 8 ( P ) = 0,11,
T45 = (kompakt, ?, ?, ?) => (?, umiarkowana, ?, ?),
0
/fr 7 8 l P(P)j - o a-^ 6Rozwiązanie 10.8, W zbiorze S4 znajdą się przynajmniej następujące kompleksy: (Vll,U21,V 3 4,V41,?), (^11,^21,^31, ^41,?), (^12,^23,^32,^44,?) (V13,V24,V31,V43,?> (^14, ^ 2 2 , ^ 3 3 , ^ 4 2 , ? ) (?,V21,U31,V41,U 5 l).
Aby dowolny z kompleksów ze zbioru S'4 mógł znaleźć się w zbiorze £4 (o ile okaże się, że ma wystarczająco duże wsparcie), każdy zawarty w nim kompleks o 3 selektorach nieuniwersalnych musi należeć do 53. Oznacza to, że, oprócz podanych w treści ćwicze nia, zbiór 53 musiałby zawierać następujące kompleksy: (?,f 21,^34,^41,?), (Ull,?,t>34,V41,?), (^11,^21,^31,?,?), (?,^23,^32^44,?), (^12,?,^32,^44,?), (?, U24,t>31,t>43,?)»
A . l l . ROZDZIAŁU
841
(?,U22,U33,U42,?>» (?,^21,?,^41,^51>.
Wskazówka 10.9. Sugerowana modyfikacja wymagałaby przede wszystkim sprawdze nia, czy definicje relacji zawierania i operacji różnicy kompleksów mają po dopuszczeniu selektorów dysjunkcyjnych pożądany sens i w razie potrzeby wprowadzenie do nich mo dyfikacji. Następnie algorytm Apriori może być pozostawiony bez zmian, przy założeniu, że § jest zbiorem wszystkich kompleksów atomowych (także z selektorami dysjunkcyjnymi). Duża liczba takich kompleksów oznacza, że algorytm będzie znacznie bardziej kosztowny niż w wersji podstawowej i warto zastanowić się nad usprawnieniami, które mogłyby poprawić efektywność. Wskazówka 10.11. Naszkicujemy działanie algorytmu, nie wchodząc w szczegóły naj niższego poziomu. Załóżmy, że na najwyższym poziomie dekompozycji są brane pod uwa gę kolejne wartości zmiennej x, a na kolejnych poziomach zmiennej v i z. Dla x = 1 i v = 1 na podstawie wartości zmiennej y dla z — 1,2,3,4,5 można znaleźć równa nie y = z2 + 2z + 1. Podobnie dla x = 1 i v = 1 otrzymujemy y — z2 4- 6z + 9. Równania otrzymane w ten sposób dla x = l i wszystkich v = 1,2,3,4,5 mogą być potraktowane jako konkretyzacje wzorca y = z2 + ipi z + z/>2» dla którego parametrów są znajdowane równania tpi — 2v + 2 i ^ 2 = f2 + 2v -f 1. Daje to ostatecznie równanie y - z2 + (2v + 2)z + v2 + 2v + 1, które zachodzi dla a; = 1. Postępując analogicznie dla x = 2 otrzymamy y = z2 + (2t> + 4)z -f v2 -1- 4t> + 4. Równania uzyskane w ten sposób dla wszystkich x = 1,2,3,4,5 mogą być potraktowane jako konkretyzacje wzorca y = z2 + (2v + z/>3)2 + v2 -f ^ 3 u + ^ 4 , dla którego parametrów znajdujemy równania opisujące ich zależność od x w postaci tps = 2x oraz t/>4 = x 2 . Ostatecznie otrzymujemy więc y = z2 + (2u + 2x)z + u2 + 2xv + x 2 = (x + y + ^) 2 , czyli poprawny wynik.
A.ll
Rozdział 11
Rozwiązanie 11.1. Można przyjąć, że wiedza wrodzona ma postać pewnej hipotezy hw, choć niekoniecznie reprezentowanej w taki sam sposób jak hipotezy brane pod uwa gę przez stosowany algorytm uczenia się. Hipoteza hu konstruowana przez ucznia ma wówczas za zadanie uzupełnianie hipotezy hw. W tym celu przez porównanie hipotezy wrodzonej hw ze zbiorem trenującym T powinny być określone warunki jej stosowania, a poszukiwanie hipotezy hu powinno uwzględniać tylko te przykłady z tego zbioru, które warunków tych nie spełniają. Zauważmy, że takie warunki stosowania można potrakto wać jako pojęcie pojedyncze, którego przykładami pozytywnymi są wszystkie te i tylko te przykłady, do których może być stosowana hipoteza hw. Jedno z podejść do określenia warunków jej stosowania może więc polegać na nauczeniu się ich, czyli uzyskaniu pewnej hipotezy hs określającej dła każdego przykładu, czy może być do niego zastosowana hipo teza hw. Niekiedy jednak warunki stosowania hs mogą być dane wraz z hipotezą hw jako część wiedzy wrodzonej lub być bardzo łatwe do ustalenia. W każdym razie hipotezę h,
842
DODATEK A. R O Z W I Ą Z A N I A I W S K A Z Ó W K I D O Ć W I C Z E Ń
będącą ostatecznym efektem uczenia się, można w tym przypadku dla każdego x € X zapisać następująco:
u/ \ _ lh*>(x) )hu(x)
J eśli h*(x) = *' jeśli hs(x) = 0.
Mamy więc do czynienia ze swego rodzaju łączeniem dwóch hipotez hw i hUi wrodzonej i nauczonej, w sposób określony przez trzecią hipotezę ha. Można to potraktować jako pewien specyficzny rodzaj metauczenia się i rozważać także zastosowanie jego innych rodzajów do uwzględniania wiedzy wrodzonej. Rozwiązanie 11.2. Oznaczmy dla wygody klauzule teorii dziedziny przez /?i, 02, /¾. 0Ą, 05 i 0Q w kolejności, w jakiej zostały wymienione w treści zadania. Wyjaśnienia obu przykładów przedstawimy podając wykorzystywane w nich klauzule z teorii dziedziny wraz z odpowiadającymi im podstawieniami. 1. Wyjaśnienie przykładu (Ewa, 10000) można przedstawić jako ciąg klauzul a[ dla i = 4,3,2,1 powstałych przez zastosowanie podstawień Ci do pochodzących z teorii dziedziny klauzul a* w następujący sposób: a 4 - 0u a3 = 02,
C4 = {yi/Ewa, W1250, W10000}, Cs = {y 4 /£wa, y 5 /2500,2/ 6 /2 3 i/ 7 /1250},
OL2 = 03,
C2 = {ys I'Ewa, y9/'2500},
<*1 = /35.
Cl = 0/l5/Ewa,J/i6/l, 3/17/2}.
2. Wyjaśnienie przykładu (Jan, 20000) można przedstawić jako ciąg klauzul a\ dla i — 4,3,2,1 powstałych przez zastosowanie podstawień Ci do pochodzących z teorii dziedziny klauzul a* w następujący sposób: a 4 - 0u
C4 - {yi/Jan,y 2 /2125,y 3 /20000} f
a 3 - 02, «2 - &, «1 = 06,
Cs - {WJan,W8500,06/4,07/2125}, C2 - {yio/Jan^n/Anna^^/SOOO.yw/SSOCi/w/SSOO}, Ci = {yis/Jan, y19/Anna, 1/20/2, W 4 } -
Rozwiązanie 11.3. Posłużymy się oznaczeniami wprowadzonymi w rozwiązaniu ćwi czenia 11.2. Przebieg regresji będzie przedstawiony przez podanie ciągu literałów L" dla i — 4,3, 2,1 oraz podstawień Q unifikujących je z odpowiednimi literałami Lu stanowią cymi konkluzje klauzul a* z teorii dziedziny. 1. Dla przykładu {Ewa, 10000) mamy: L4 = Rdostamc-kKdyt(vi,V2), £ 3 = Rdochód-na-osobę{y 1,V2),
C4 = {^1/2/1,^2/3/3}. (3 = {3/1/2/4, 2/2/2/7}.
^ 2 = i2doc/wM-w-rodziiiie(2/4,2/5).
C2 = {2/4/2/8,3/5/3/9},
i " = jRosoby-w-rodzijiie(2/8i 3/6).
Cl = {^/8/z/15, 2/e/2/l7}•
Po zakończeniu regresji otrzymujemy zbiór złożony z sześciu literałów iJwo/ny(3/15), #zarabia(2/l5.2/9). R}iczba-dzieci(yi5, 2/16). 3/17 = 3/16 + 1, 2/7 = ^ , 3/7 > 0,12/3-
A.ll.
843
ROZDZIAŁU
2. Dla przykładu (Jan, 20000) mamy: L'l = Rdostanie-kredyt(vi:V2),
(4 = {*>! IVWV21 Vz] >
L'ź - Rdochód-na-osobę(y'1,2/2).
(3 = {2/l/2/4i 2/2/2/7}.
L2
(2 = {W2/10, W ^ } .
= Rdochód-w-rodzinie{y4^y$),
£ " = i?osoby-w-rodzHiie(2/10,2/6),
Cl = {2/lo/z/l8, 2/6/2/21 }•
Po zakończeniu regresji otrzymujemy zbiór złożony z następujących dziewięciu li terałów: #raa/źeiSs«wo(2/l8,3/n)» Rzarabia(yi8, 2/12), -Rzarab/a(2/11,2/13). 2/14 = 2/12 + 2/13. #matóeńsrwo(2/l8,2/l9). #liczba-dzieci(y'l8, 2/2o). 2/21 = 2/20 + 2, 2/7 =
^ ,
y 7 > 0,12/3-
Zauważmy, że niedoskonała teoria dziedziny nie pozwala na wywnioskowanie, że ist nieją wyłącznie małżeństwa monogamiczne, chociaż zakłada ten fakt przy obliczaniu liczby osób w rodzinie. Hipoteza uzyskana w wyniku przetworzenia rozważanych przykładów jest zbiorem dwóch klauzul, których konkluzjami są literały Rdostanie-kredyt{yi5,yd) Oraz Rdostanie-kredyt{y'18 > 2/3).
a odpowiednie części warunkowe stanowią koniunkcje zbiorów literałów uzyskanych dla pierwszego i drugiego przykładu. Oczywiście ze względów estetycznych można zapisując te klauzule dokonać przemianowania zmiennych. Rozwiązanie 11.4. 1. Uznając przykłady nie wymienione jako pozytywne za przykłady negatywne, możemy przyjąć poniższe definicje. a) Teoria dziedziny T jest poprawna, jeśli są spełnione następujące warunki: i. dla dowolnego przykładu (xi, x 2 , • * • , #mff)» dla którego z T można wypro wadzić RQ ( x i , x 2 , . . . , z m J , zachodzi ( x i , x 2 , . . -,xme) G ¢, ii. dla dowolnego przykładu (xi, x 2 , . . . , x m e ) , dla którego z T nie można wy prowadzić Rg(xi,x2,... , x m J , zachodzi ( x i , x 2 , . . . , x mfi ) £ £. b) Teoria dziedziny T jest pełna, jeśli są spełnione następujące warunki: i, dla dowolnego przykładu ( x i , x 2 , . . . ,x mfi ) E g z T można wyprowadzić rLg\X\, X 2 , • • • , ^m ff J.
ii. dla dowolnego przykładu (xi, x 2 , . . . , x m e ) 0 £ z T nie można wyprowadzić ł\g\Xi,
X 2 , - • • , %me)'
2. Uznając za negatywne tylko przykłady jawnie wymienione jako negatywne, możemy przyjąć poniższe definicje. a) Teoria dziedziny F jest poprawna, jeśli są spełnione następujące warunki: i. dla dowolnego przykładu ( x x , x 2 , . . . ,x m ( ? ), dla którego z F można wypro wadzić RQ(xux2,... , x m J , zachodzi (xi,x 2 , -.. ,xmg) G Q, ii. dla dowolnego przykładu ( x i , x 2 , . . . ,xme), dla którego z F można wypro wadzić - Ą , ( x i , x 2 , . . . , x m J , zachodzi ( x i , x 2 , . . . ,xmg) ¢ £. b) Teoria dziedziny T jest pełna, jeśli są spełnione następujące warunki: i. dla dowolnego przykładu ( x i , x 2 , . . . , x m c ) £ g zF można wyprowadzić itg\X\ , X 2 , . . . , Xyne j .
844
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
ii. dla dowolnego przykładu ( x i , x 2 ł . . . ,armff) £ Q -ii2e(ari, x 2 j . . . , x m J .
z
F można wyprowadzić
A.12 Rozdział 12 Rozwiązanie
12.1.
1. Język ten rozpoznaje automat opisywany przez następującą tablicę przejść:
ó(x,a)
1a
(
)
XQ
1 X0
Xi
X2
XI
Xx
X2
XQ
X2
^2
X2
x2
w którym stanem początkowym i jedynym stanem końcowym jest XQ. 2. Nie istnieje automat rozpoznający ten język. 3. Język ten rozpoznaje automat o następującej tablicy przejść:
S{x,a)
1a
(
)1[
}
XQ
1 x0
Xi
X2
XB
Xi
Xi
xz
Z5
X2
X2
#5 X4
x5 x0 ^5
Xs
XQ
X5
x5
3¾
Xl
X5
X2 £5
x5 x$
x$ xs
£3 #4 X5
! ^3 ^4 | ^5
X5
w którym stanem początkowym i jedynym stanem końcowym jest x 0 . 4. Nie istnieje automat rozpoznający ten język. W obu przypadkach, w których nie można podać odpowiedniego automatu skończonego, wiąże się to z koniecznością „pamiętania" wystąpienia nieznanej z góry liczby symboli w celu stwierdzenia poprawności napisu. Wskazówka 12.2. Dla każdego z czterech rogów każdego pokoju oraz dla dwóch koń ców korytarza należy rozróżnić po 4 stany robota, odpowiadające jego czterem możliwym orientacjom, co daje łącznie (2 * 4 + 2) • 4 = 40 stanów. Dla każdego z nich należy określić skutki wykonania dostępnych akcji. Wskazówka 12.5. Naszkicujemy działanie algorytmu L* dla najprostszego języka, w którego napisach mogą występować nawiasy ( i ) poprawnie zbilansowane, ale nie za gnieżdżone. Przed uzyskaniem po raz pierwszy spójnej i domkniętej tablicy obserwacji zostaną zadane zapytania o przynależność dla następujących napisów: A, a, (,), (a, ((, ().
845
A.12. ROZDZIAŁ 12
Odpowiedzi pozytywne padają wyłącznie dla napisów A, a i (). Następnie dla otrzymane go automatu, o funkcji przejść opisanej przez tablicę:
6{xya)
1a
#0
1 %0 Xi Xi Xi
Xi
(
) Xi XQ
oraz o stanie początkowym i końcowym xo, jest zadawane zapytanie o równoważność. Po odpowiedzi negatywnej z kontrprzykładem )) algorytm kontynuuje działanie, zadając zapytania o przynależność dla napisów: )), ))a, ))(, ))), )a, )(, )(), )o), )))), ))a), ()), ((), (o), a). Odpowiedź pozytywna pada wyłącznie dla napisu (a). Zbudowana tablica obserwacji umożliwia skonstruowanie automatu, który jest równoważny z docelowym, podanym w rozwiązaniu ćwiczenia 12.1. W przypadku dwóch języków, dla których nie istnieją rozpoznające je automaty skoń czone, w trakcie działania algorytmu L* tablica obserwacji będzie się nieustannie powięk szać bez ograniczeń. Wskazówka 12.6. Automat generowany przez algorytm L* jest spójny z wynikami za pytań o przynależność, a każdy kontrprzykład dostarczony z negatywną odpowiedzią na zapytanie o równoważność jest podstawą do wyznaczenia nowej hipotezy, która jest spój na z automatem docelowym dla tego kontrprzykładu i ma co najmniej jeden stan więcej od poprzedniej. Skoro liczba stanów automatu docelowego jest skończona, to w skoń czonej liczbie kroków zostanie znaleziony automat z nim równoważny. Ponieważ liczba stanów w hipotezie jest zwiększana tylko wtedy, kiedy jest to niezbędne do poprawne go rozpoznawania pewnych napisów, końcowa hipoteza będzie automatem o najmniejszej z możliwych liczbie stanów. Rozwiązanie 12.7. Minimalny automat skończony modelujący środowisko Małego Księ cia jest opisany przez następującą tablicę przejść:
6(x,a)_\ x
P
t
0
\ cj(x,a)
Xl
X3
X2
\
Xl
X2
x0
Xl
X2
X3
Xl
xo
r n
X3
\ x0
X2
X3
\ w
°
n
Łatwo się przekonać, że automat taki otrzymuje się utożsamiając parami stany x 0 i x$, xi i X7, X2 i XĄ oraz x$ i x 5 w automacie podanym w przykładzie 12.4. Wskazówka 12.8. Dowód można oprzeć na następującej konstrukcji. 1. Przyjmujemy początkowo 7 = A.
2, Jeśli 7 nie jest sekwencją sprowadzającą dla rozważanego automatu, to: a) znajdujemy stany x i , x 2 € X, dla których mamy o;*(0:1,7) = u>*(x2,7), ale <5*(xi, 7 )^*(x2,7),
846
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
b) znajdujemy taki ciąg a, że w*(0:1,7 • a ) 7^ ^*(^2,7 • a), c) dołączamy do 7 ciąg a, po czym ponownie sprawdzamy, czy jest on sekwencją sprowadzającą itd. Konstrukcja ta umożliwia wyznaczenie (niestety niekoniecznie minimalnej) sekwencji sprowadzającej dla dowolnego minimalnego automatu skończonego, co dowodzi istnie nia takiej sekwencji. Ciąg akcji a, o którym jest w niej mowa, umożliwia odróżnienie za pomocą obserwowanych wyjść dwóch różnych stanów S*(xi,a) i ó*(x2,a). Dla mini malnego automatu skończonego taki ciąg zawsze istnieje i ma długość co najwyżej \X\. Ponieważ liczba wykonywanych iteracji wydłużania ciągu 7 nie może przekroczyć \X \ — 1, długość sekwencji sprowadzającej na pewno nie przekracza \X\ . Rozwiązanie 12.9. Dla automatu z przykładu 12.3 sekwencją sprowadzającą jest na przykład napis +0. Dla automatu z przykładu 12.4 nie istnieje sekwencja sprowadzająca, gdyż nie jest to automat minimalny. Dla równoważnego automatu minimalnego podanego w rozwiązaniu ćwiczenia 12.7 sekwencją sprowadzającą jest na przykład ciąg akcji pp. Rozwiązanie 12.10. Zauważmy, że dla dowolnych testów ti i t2 oraz ciągu akcji a e A* równoważność ti — t2 pociąga za sobą równoważność a • t\ = a • t2. Innymi słowy, jeśli dwa testy są równoważne, to są równoważne także testy powstałe przez ich wydłuże nie na początku o dowolny taki sam ciąg akcji (własność odwrotna jednak oczywiście nie zachodzi). Załóżmy obecnie, że (a, y) jest testem kanonicznym, lecz dla pewnego przy rostka fi ciągu akcji a test {/3, y) nie jest testem kanonicznym w swojej klasie abstrakcji. Niech zatem t — [{fi,y)] będzie testem kanonicznym dla tej klasy. Weźmy pod uwagę test 7 • i, przy czym 7 • fi = a. Z równoważności t = {fi, y) wynika wtedy równoważ ność 7 • t = (a,j/), ponieważ zaś z założenia t -< (fi,y), to także 7 • t -< (a,y), co przeczy założeniu o kanoniczności testu (a, y). Oznacza to, że test {/?, y) musi być testem kanonicznym w swojej klasie, co należało udowodnić, Rozwiązanie 12.11. Dowód opiera się na rozumowaniu podobnym do tego, którym posłużyliśmy się w rozwiązaniu ćwiczenia 12.10. Załóżmy, że test t nie jest testem ka nonicznym swojej klasy abstrakcji, czyli t ^ [t], ale dla pewnego a 6 A* test a • t jest testem kanonicznym swojej klasy, czyli a • t — [a • i\. Weźmy pod uwagę test a • [i\. Mamy t = [t] i [t] -< t, a więc także a • t ~ a • [i\ i a • [t] -< a • t. To jednak przeczy założeniu, że test a • t jest testem kanonicznym, gdyż istnieje równoważny z nim test, który poprzedza go w relacji porządku -<. Obserwacja ta kończy dowód. Rozwiązanie 12.12. Zauważmy, że t(x2) = a • t(xi), t(xz) = <%• <%• t(xi) i ogólnie t(xk) = ak~~l • t(xx)t przy czym a fe_1 oznacza (A; - l)-krotną konkatenację napisu a. Jeśli d jest współczynnkiem zróżnicowania automatu docelowego, to wśród d + 1 testów t, a • t,..., ad • t muszą się znaleźć przynajmniej dwa testy równoważne. To pozwala wnioskować o okresowości wyników testów.
847
A. 13. ROZDZIAŁ 13
A.13 Rozdział 13 Rozwiązanie 13A. Na podstawie definicji strategii zachłannej możemy zapisać strategie ir' następująco: n'(x) = argmax |i?(x,a) + 7^1 Pxy(a)Vn (y)\. y
Weźmy obecnie pod uwagę funkcję wartości względem tak określonej strategii ir', Z rów nania Bellmana dla V* mamy dla dowolnego stanu x\ V*' (x) = R(x, ir'(x)) + 7 ] T
Pxy{^{x))V^(y).
Z faktu, że nl jest strategią zachłanną względem V71", wynika natomiast, że dla każdego stanu x
y
> R(x, n(x)) + 7 J2 P*vM*))V'(v)
=
V
"(x)>
przy czym równość występuje tylko wtedy, kiedy dla stanu x także strategia 7T jest zachłan na względem Vn. Łącząc powyższe równanie i nierówność możemy zapisać co następuje: V'\x)
- V'(x) >l52Pxy(x'(x))[V*'(v)
- V*(y)].
Aby ta ostatnia nierówność mogła zachodzić dla każdego stanu xy musi być dla każdego x spełniony warunek Vn (x) ^ V7V(x). Wskazówka 13.2. Rozumowanie przebiega w sposób podobny jak w rozwiązaniu ćwi czenia 13.1. Rozwiązanie 13.3. Przekształćmy definicję funkcji wartości, wydzielając pierwszy wy raz występującej w niej sumy: oo
V*{x) = Ew [ r 0 | x o = s] + E» E
$>*rt
' XQ
= X
=
. t=i r
=
fi(ar,7r(x))+7Eff
CO
X^7*n 1 x0 = S(x,w(x))\ |_fc=o
= R(X,TT(X))
J
+jE7T[V^(S(x,7r(x)))].
Wyrażenie En[Vir(S(xi ir(x)))] oznacza oczekiwaną wartość względem strategii n stanu, do którego nastąpi przejście po wykonaniu w stanie x akcji zgodnej z tą strategią. Ponie-
848
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
waż S(x, 7r(x)) jest zmienną losową o znanym rozkładzie dyskretnym, wartość tę można wyznaczyć jako
y
co kończy dowód. Rozwiązanie 13,4, Dowód tego twierdzenia jest bardzo podobny do dowodu twierdze nia 13.4, przedstawionego w rozwiązaniu ćwiczenia 13.3. Definicję funkcji wartości akcji możemy zapisać w postaci: Q*{x,a) =
R(x,a)+>yE7r
^7*rt
x
o = S(x,a)
t=o
= R(x,a) + 1Ev[V-(6(x,a)))
= R(x,a) +
=
y^2Pxy^(x))V'(y).
Do zakończenia dowodu wystarczy uwzględnić, że dla dowolnego stanu y zachodzi oczy wista równość Vn(y) = Q"(y, 7r(y)). Rozwiązanie 13.5. Przedstawimy tu rozwiązanie tylko dla strategii ir3. Możemy wów czas zapisać następujące równania Bellmana: Q' 3 (l,o; = 0 + 7(0,80^(1,0) + 0,20^(2,0)), Q' s (2 > 0; = 0 + 7(0,40^(1,0) + 0,40^(2,0) + 0,21^(3,1)), Q*3(3,o; = 0 + 7(0,4(2^(2,0) + 0,4(5^(3,1) + 0,20^(4,1)), Q*3(4,O;
= 0,8 + 7 (0,4Q ff3 (3,1) + 0,40^(4,1) + 0,2Q^(5,1)),
Q*»(5,O;
= 0 + 70^(5,1),
Q " ( l , l = 0 + 7(0,2Q ff3 (l, 0) + 0,8Q'»(2,0)), O" 3 (2,1 = 0 + 7(0,10^(1,0) + 0,10^(2,0) + 0,8^^(3,1)), O*3 (3,1 = 0 + 7(0,10^(2,0) + 0,10^(3,1) + 0,80^(4,1)), O*3 (4,1 = 0,8 + 7(0,10^(3,1) + 0,10^(4,1) + 0,80^(5,1)), 3 O" 3 (5,1 = 0 + 7 0* (5,1). Rozwiązując en układ równań dla 7 = 0,9 otrzymujemy:
0*3(i,o = 0,224, O*3 (2, o = 0,349, O*3 (3,0 = 0,583, O" 3 (4,0 = 0,830, O*3 (5,0 = 0,
O*3 (i,i) = O*3 (2,1) = 0^(3,1) = 0^(4,1) = 0^(5,1) =
0,292, 0,622, 0,792, 0,957, 0.
A.13. ROZDZIAŁ 13
849
Wskazówka 13.11. W algorytmie 13.5 wystarczy zastąpić Vt(xt) przez Qt{xt,at) Vt{xt+\) przez Qt(xt+un{xt+{)).
oraz
Rozwiązanie 13.12. Siad aktywności związany z wagą w i w kroku t zdefiniujemy rekurencyjnie w następujący sposób: el(t):=1\el(t-l)
+
? ^ , OV)tti
przy czym wt,i oznacza wartość wagi w i w kroku t. Wówczas sposób modyfikacji wagi w i w kroku t określa reguła: wt+u := wtii + 0{rt + yVt(xt+i) -
Vt(xt))ei(t).
Dla aproksymatora liniowego reguła aktualizacji śladów aktywności przyjmuje postać: ei{t) := jkeiit - 1) + ^ ( ^ ) , przy czym
+
(l-\)Vt(xt+1)).
Nietrudno się przekonać, że stosując powyższe równanie iteracyjnie jako regułę aktuali zacji: z := Tt-k + 7(Az + (1 -
\)Vt-k(xt-k+i))
przy & — 0 , 1 , . . . , m—1 dla początkowej wartością — Vt(xt+i) otrzymamy z — zt^a+1. Pomysł na bardziej efektywny algorytm kryje się w następującej postaci definicji do chodu TTD: Zt>m = 5 f A,m + (7A) m V £ + m _i(x t + m ), przy czym m— 1
m
^ =£(7A)*[r^+7(l-A)W*t+*+i)]Jfe=0
Można się przekonać, że dla wartości St
,m
zachodzi następujący związek rekurencyjny:
Ą+? = ^ { s t A ' m - [r, + 7 ( 1 - X)Vt(xt+1)} + ( 7 A) m [r t + m + 7 ( 1 -
+
\)Vt+m(xt+m+i)]},
850
DODATEK A. ROZWIĄZANIA I WSKAZÓWKI DO ĆWICZEŃ
który umożliwia obliczanie dochodów TTD w sposób inkrementacyjny, przy stałej ilości obliczeń w kroku czasu niezależnie od wartości m. Rozwiązanie 13,14. Przyjmijmy oznaczenia: A?=rt+7V^+i)-Vi(*t). oo
k-0
Stosowanie śladów aktywności powoduje aktualizację wartości stanu każdego stanu x w kroku t za pomocą błędu: Ax(t) = A°tex(t). Wykażemy, że dla dowolnego stanu x suma takich błędów ze wszystkich kroków czasu oo
Ax =]TA X (£) t-o jest w przybliżeniu równa sumie błędów wykorzystywanych aktualizacji dla tego stanu obliczanych na podstawie odpowiednich dochodów TD(A):
Przybliżenie będzie polegać na tym, że w dalszych rozważaniach pominiemy indeksy cza su przy wartościach V. Zauważmy najpierw, że przy powyższym założeniu A* = ** -
V(xt).
Rozważaną sumę błędów można przekształcić następująco: oo
t
AB=5>?5>A)'-fcx*(fc) = t-0
fc=0
oo
t
£ - 0 Jfe=0
Zamieniając kolejność dwóch sum otrzymujemy: A
oo
oo
- = EE(7A)t-fcA°X,(fc). k=0t=k
Wreszcie zamieniając A: i t otrzymujemy: oo
oo
t~0 oo
k=t oo
t-0
fc=0
A.14. ROZDZIAŁ 14
851
czyli oo
t=o
co kończy dowód.
A. 14 Rozdział 14 Wskazówka 14.2. Wśród najbardziej bezpośrednio przydatnych praktycznie należy umieścić algorytmy uczenia się pojęć i aproksymacji funkcji. Aspirują do rosnącej ro li praktycznej algorytmy uczenia się ze wzmocnieniem i uczenia się przez wyjaśnianie. Mniej praktyczny na razie charakter mają algorytmy indukcyjnego programowania i ucze nia się automatów skończonych.
Dodatek B
Podstawy teorii prawdopodobieństwa Do elementów teorii prawdopodobieństwa odwołujemy się w wielu miejscach tej książki, nie wykraczając jednak nigdy poza informacje najbardziej podstawowe, które są streszczone poniżej.
B.l
Zdarzenia
Rozważania na temat prawdopodobieństwa prowadzi się zakładając, że dana jest pewna przestrzeń zdarzeń elementarnych, które reprezentują wszystkie możliwe wyniki doświadczenia losowego. Zdarzeniem nazywa się wówczas dowolny pod zbiór tej przestrzeni.
B.2 Aksjomaty prawdopodobieństwa W matematycznej teorii prawdopodobieństwa definiuje się je za pomocą aksjo matów prawdopodobieństwa, nie odwołując się do jego logicznej czy fizycznej interpretacji. • DEFINICJA B.l. Prawdopodobieństwem określonym na zbiorze zdarzeń ele mentarnych £ jest dowolna funkcja Pr : 2 S 1-4 [0,1], spełniająca poniższe aksjomaty: 1) Pr(A) ^ 0 dla dowolnego zdarzenia A C S , 2) Pr(A U B) = Pr(A) + Pr(B) dla dowolnych zdarzeń A,B C E, dla których A n B = 0, 3) Pr(E) = 1. 0
B.3 Prawdopodobieństwo warunkowe Prawdopodobieństwa warunkowe są przypisywane zdarzeniom pod warunkiem zajścia pewnych innych zdarzeń i służą do wyrażenia zależności między zdarze niami. Formalnie określa je poniższa intuicja.
B.4. ZMIENNE LOSOWE
853
• DEFINICJA B.2. Prawdopodobieństwo zajścia zdarzenia A pod warunkiem, że zaszło zdarzenie B, definiuje się dla dowolnych zdarzeń A, B C E, przy czym Pr(B) > 0,jalco
o O zdarzeniach A i B występujących w zapisie prawdopodobieństwa warunko wego Pr(A | B) możemy powiedzieć, że są odpowiednio zdarzeniami warunko wanym i warunkującym. Z prawdopodobieństwami warunkowymi wiąże się wzór Bayesa:
oraz wzór określający prawdopodobieństwo całkowite: n
Pr(A) = £ P r ( A | B i ) - P r ( Ą ) ,
(B.3)
i=l
który zachodzi dla dowolnego zdarzenia A C E oraz zdarzeń Bi, B2, • • -, Bn C E spełniających warunki: 1) Pr(Bi) > 0 dla każdego i = 1, 2 , . . . , n, 2) Pv(Bi n Ą ) - 0 dla i, j = 1,2,... ,n, i / i, 3) U?=iĄ = E. • DEFINICJA B.3. Zdarzenia A, B C H, są niezależne, jeśli jest spełniony waru nek Pi(A n B) = PY(A) • Pr(B). 0 Powyższa definicja może być w naturalny sposób uogólniona na przypadek więcej niż dwóch zdarzeń oraz niezależności warunkowej, kiedy wszystkie roz ważane prawdopodobieństwa są prawdopodobieństwami warunkowymi z tym sa mym zdarzeniem warunkującym.
B.4 Zmienne losowe Zmienna losowa wiąże zdarzenia z liczbami rzeczywistymi: każdemu zdarzeniu elementarnemu jest przyporządkowana liczba lub, w przypadku wielowymiaro wych zmiennych losowych, wektor liczb. Nas interesować będą tylko jednowy miarowe zmienne losowe.
854
DODATEK B. PODSTAWY TEORII PRAWDOPODOBIEŃSTWA
• DEFINICJA B.4. Dla przestrzeni zdarzeń elementarnych E zmienną losową jest dowolna funkcja określona na zbiorze E o wartościach w zbiorze 9¾. 0 Rozkład prawdopodobieństwa zmiennej losowej określa prawdopodobieństwa zdarzeń polegających na przyjęciu przez zmienną losową określonych wartości. • DEFINICJA B.5. Rozkładem prawdopodobieństwa zmiennej losowej Y jest na zywany zbiór prawdopodobieństw Pr (a ^ Y < b) dla wszystkich możliwych wartości a ib. 0 W ogólnym przypadku rozkład zmiennej losowej może być opisywany przez jej dystrybuantę. • DEFINICJA B.6. Dystrybuantą zmiennej losowej Y jest nazywana funkcja Fy : JJ H-> {0,1} zdefiniowana dla dowolnego y G 3? następująco: FY(y) = Pr(Y
(B.4)
0 Najbardziej interesujące są dwa szczególne rodzaje zmiennych losowych, dla których rozkład może być charakteryzowany w sposób wygodniejszy do analizy.
B.4.1 Zmienne losowe dyskretne • DEFINICJA B.7. Zmienną losową nazywa się dyskretną (skokową), jeśli przyj muje wartości tylko ze skończonego lub przeliczalnego zbioru. 0 Dla zmiennej losowej dyskretnej rozkład może być wyznaczony jako przypo rządkowanie prawdopodobieństw jej poszczególnym wartościom. • DEFINICJA B.8. Rozkładem prawdopodobieństwa zmiennej losowej dyskret nej Y jest zbiór wszystkich par (y,p), przy czym y jest wartością zmiennej losowej, a p prawdopodobieństwem, z jakim zmienna Y przyjmuje wartość y, co można zapisać: {(y,p) | (3s e E)y = Y(s) Ap = Pr(s)}.
(B.5)
0 Rozkład zmiennej losowej dyskretnej można charakteryzować podając jej war tość oczekiwaną i wariancję.
B.4. ZMIENNE LOSOWE
855
• DEFINICJA B.9. Dla zmiennej losowej dyskretnej Y o rozkładzie prawdopo dobieństwa {{yuPi) | i = 1,2,... } wartość oczekiwaną definiuje się jako
EY = J2viPi-
(B.6)
i
0 • DEFINICJA B. 10. Dla zmiennej losowej dyskretnej Y o rozkładzie prawdopo dobieństwa {(yiiPi) | i = 1,2,... } wariancję definiuje się jako
D2Y = £ > i - £y) 2 P i .
(B.7)
i
0 Wygodniejsze niż bezpośrednio z definicji jest czasem obliczanie wariancji na podstawie zależności D2Y = EY2 — (EY)2. Pierwiastek kwadratowy z wariancji DY = VD2Y jest nazywany odchyleniem standardowym zmiennej losowej Y. B.4.2
Zmienne losowe ciągłe
• DEFINICJA B.l 1. Zmienną losową Y nazywa się ciągłą, jeśli istnieje niemalejąca funkcja fy : 3R »->• 3ita/ca,że J/a dowolnych a, 6 G SR P r ( a ^ Y < 6 ) = / /y(y)
(B.8)
0 Funkcja fy występująca w powyższej definicji jest nazywana funkcją gęstości prawdopodobieństwa dla zmiennej losowej Y. Dla zmiennych losowych ciągłych również można określić wartość oczekiwa ną i wariancję. • DEFINICJA B.12. Dla zmiennej losowej ciągłej Y o funkcji gęstości fy war tość oczekiwaną definiuje się jako oo
/
yfv(y)dy.
(B.9)
-OO
0
856
DODATEK B. PODSTAWY TEORII PRAWDOPODOBIEŃSTWA
• DEFINICJA B.13. Dla zmiennej losowej ciągłej Y o funkcji gęstości fy wa riancję definiuje się jako oo
/
(y-EY)2fY(y)dy.
(B.10)
-OO
0 Związek D2Y = EY2~{EY)2 ciągłej Y.
zachodzi także dla dowolnej zmiennej losowej
B.5 Ważniejsze rozkłady prawdopodobieństwa Przedstawimy obecnie charakterystykę kilku podstawowych dyskretnych i cią głych rozkładów prawdopodobieństwa. Rozkład równomierny dla zmiennej losowej Y o skończonym zbiorze warto ści {j/i, 2/2J • • • iVn} charakteryzuje się jednakowymi prawdopodobieństwami Pi = Pr(Y = yi) = i dla każdego i = 1,2,..., n. Rozkład jednostajny na przedziale [a, b) jest charakteryzowany przez funkcję gęstości prawdopodobieństwa określoną następująco: ,, ^ f JT~7 Jeśli a ^ yy < b, f(y) = )*>-* J ^ [0 w pozostałych przypadkach.
(B.ll)
Rozkład dwumianowy jest rozkładem zmiennej losowej Yn oznaczającej liczbę sukcesów w n niezależnych próbach losowych, nazywanych próbami Bernoulliego, określonym następująco: Pv(Yn = k)=(n)pk(l-p)n-k
(B.12)
dla k — 0 , 1 , . . . , n, przy czym p oznacza prawdopodobieństwo sukcesu w po jedynczej próbie. Rozkład normalny o wartości oczekiwanej fi i wariancji a2 jest charakteryzowa ny przez funkcję gęstości określoną następująco:
Dodatek C
Podstawy logiki predykatów Do lektury rozdziałów 9 i 11 jest przydatna znajomość i rozumienie podstawowych terminów z zakresu rachunku predykatów. Poniżej przedstawiamy najważniejsze definicje.
Cl
Składnia języka predykatów
Formuły logiczne rachunku predykatów są zbudowane z symboli, których zbiór stanowi jego alfabet. Pełne określenie alfabetu wymagałoby podania wszystkich należących do niego symboli. Zamiast tego poniższa definicja wymienia tylko ro dzaje symboli, jakie mogą wchodzić w skład alfabetu. • DEFINICJA C l . Alfabet rachunku predykatów zawiera następujące symbole: • stałe, • zmienne, • symbole funkcyjne, • symbole predykatówet • funktory logiczne, • nawiasy, 0 • DEFINICJA C.2. Dla danego alfabetu rachunku predykatów zbiór termów de finiuje się następująco: 1) każda stała jest termem, 2) każda zmienna jest termem, 3) jeśli f jest m-argumentowym symbolem funkcyjnym i ż1? t2, •.., tm są ter mami, to /(ti,i2) • • • 5 *m) jest termem. 0 Termy w rachunku predykatów są używane jako argumenty symboli predykatowych. Zastosowanie symbolu predykatowego do argumentów będących termami daje w wyniku najprostszą formułę logiczną, nazywaną formułą atomową. • DEFINICJA C 3 . Dla dowolnego m-argumentowego symbolu predykatowego R, jeśli ti, £2,..., £m są termami, to iJ(ti, £2,..., tm) jest formułą atomową,
o
858
DODATEK C. PODSTAWY LOGIKI PREDYKATÓW
Formuły złożone powstają przez łączenie formuł atomowych za pomocą funktorów logicznych i nawiasów. Możliwości konstruowania formuł złożonych okre śla poniższa definicja. • DEFINICJA C.4. Dla danego alfabetu zbiór formuł rachunku predykatów defi niuje się następująco: J) 2) 3) 4)
każda formuła atomowa jest formułą, dla dowolnej formuły a formułami są (a) i ->a, dla dowolnych formuł a i (3 formułami są a A (3, a V /3, a -» /3 i a
Zmienna, która występuje w formule w zasięgu kwantyfikatora, jest nazywa na zmienną związaną w tej formule. Zmienna, która występuje w formule poza zasięgiem kwantyfikatora, jest nazywana zmiennną wolną w tej formule.
C.2 Semantyka języka predykatów Semantykę dla rachunku predykatów definiuje się określając model, w którym są interpretowane formuły. • DEFINICJA C.5. Modelem jest para (X, t), przy czym X jest niepustym zbio rem nazywanym dziedziną, a i jest funkcją interpretacji, która • każdej stałej przypisuje pewien element dziedziny, • każdemu m-argumentowemu symbolowi funkcyjnemu przypisuje pewne od wzorowanie z Xm na X, • każdemu m-argumentowemu symbolowi predykatowemu przypisuje pewne odwzorowanie z Xm na {0,1}. 0 W kontekście powyższej definicji predykaty są traktowane jako nazwy rela cji, którym funkcja interpretacji przyporządkowuje relacje określone na dziedzi nie. Relację argumentową p G Xm reprezentujemy przy tym za pomocą funkcji charakterystycznej, określonej na Xm o wartościach w zbiorze {0,1}, które są traktowane jako wartości logiczne, odpowiednio fałsz i prawda. • DEFINICJA C.6. Wartościowaniem zmiennych dla dziedziny X jest dowolna funkcja określona na zbiorze zmiennych o wartościach w zbiorze X. 0 Dla ustalonego modelu i wartościowania zmiennych formuły można warto ściować, czyli wyznaczać ich wartość logiczną. Podajemy tu tylko definicję warto-
C.2. SEMANTYKA JĘZYKA PREDYKATÓW
859
ści logicznej dla formuł atomowych, gdyż dla formuł złożonych jest ona określona w sposób zgodny ze znaną interpretacją funktorów logicznych.
• DEFINICJA C.7. Dla modelu (X,L) i wartościowania zmiennych v wartość termów jest określona następująco: 1) dla dowolnej stałej x: V^ L(x) = L(X), 2) dla dowolnej zmiennej v: V^ t(v) — v(v), 3) dla dowolnego m-argumentowego symbolu funkcyjnego f i dowolnych ter-
mówtu...,
tm: V^(m,...,
tm)) = t(«)(Y£t(
<>
• DEFINICJA C.8. Dla modelu (X,L) i wartościowania zmiennych v wartość formuły atomowej R(t\,..., tm), przy czym Rjest m-argumentowym symbo lem predykatowym, a t\, ^2? • • •? im są termami, jest określona następująco: V$%Ł(R(tut2,...,
tm)) = i{R){VlL{h),
VlL{t2),...,
V£ Ł (* ra )).
(Cl)
0 Wartość logiczna formuł jest podstawą do określenia spełniania, spełnialności i prawdziwości formuł. • DEFINICJA C.9. Dowolna formuła a jest spełniona w modelu (X, t) przy war tościowaniu zmiennych v, jeśli V^ L(a) = 1. 0 • DEFINICJA CIO. Dowolna formuła jest spełnialna, gdy istnieje model i war tościowanie zmiennych, dla których jest ona spełniona. 0
• DEFINICJA C. 11. Dowolna formuła jest prawdziwa, gdy jest spełniona dla do wolnego modelu i wartościowania zmiennych. 0 Symetrycznie definiuje się falsyfikowanie, falsyfikowalność i fałszywość (niespełnialność) formuł. Tę ostatnią właściwość wygodnie jest także przypisywać zbiorom formuł.
• DEFINICJA C.12. Zbiór formułjest niespełnialny (sprzeczny), jeśli koniunkcja wszystkich formuł z tego zbioru jest niespełniałna. 0
860
DODATEK C. PODSTAWY LOGIKI PREDYKATÓW
C.3 Wnioskowanie w rachunku predykatów Mówiąc o wnioskowaniu w rachunku predykatów należy rozróżnić dwa rodzaje konsekwencji, które są nazywane konsekwencjami logiczną i syntaktyczną.
• DEFINICJA C l 3. Formuła a jest konsekwencją logiczną (semantyczną) zbio ru formuł {f3\, /?27 • • •, /3m}, jeśli dla każdego modelu i wartościowania zmien nych, dla których jest spełniona formuła /¾ A /¾ A • • • A (3n, jest także spełniona formuła fi. Piszemy wówczas {/?i, /?2? * • • > /3n} |= <*. 0 Konsekwencję syntaktyczną definiuje się, przyjmując pewien system wnio skowania, na który składa się zbiór aksjomatów logicznych i reguł wnioskowania. Aksjomaty są formułami logicznymi, a reguły określają sposób wyprowadzania formuł na podstawie innych formuł. Reguła wnioskowania zapisana następująco: ft fe| ,At
' -
(C.2) a
oznacza, że na podstawie formuł /¾, / ? 2 , . . . , /? n (będących jej przesłankami) moż na w jednym kroku wywnioskować formułę a (będącą jej konkluzją).
• DEFINICJA C.14. Dowodem formuły a na podstawie zbioru formuł S nazy wamy ciąg formuł /?i, / ¾ ) . . . , /? n = <*, w którym dla każdego i — 1,2,... , n formuła fy jest aksjomatem, elementem zbioru S lub wynikiem zastosowania pewnej reguły wnioskowania do formuł poprzedzających ją w dowodzie, 0
• DEFINICJA C.15. Formuła a jest konsekwencją syntaktyczną zbioru formuł S w pewnym systemie wnioskowania, jeśli w tym systemie istnieje dowód tej for muły na podstawie S. Piszemy wówczas S \- a. 0
• DEFINICJA C l 6 . System wnioskowania jest poprawny, jeśli dla dowolnego zbioru formuł S i formuły a konsekwencja syntaktyczną S h a pociąga za sobą konsekwencję logiczną S \= a. 0
• DEFINICJA C. 17. System wnioskowania jest pełny, jeśli dla dowolnego zbioru formuł S i formuły a konsekwencja logiczna S (= a pociąga za sobą konse kwencję syntaktyczną S \- a. 0 Istnieje wiele różnych (przyjmujących różne aksjomaty i reguły wnioskowa nia) poprawnych i pełnych systemów wnioskowania dla rachunku predykatów.
CA. RACHUNEK PREDYKATÓW W UCZENIU SIĘ
861
C.4 Rachunek predykatów w uczeniu się Mówiąc o rachunku predykatów w zastosowaniu do uczenia się, bierze się za wsze pod uwagę pewien ustalony model — dziedzinę i funkcję intepretacji. Stąd dla uproszczenia przyjmujemy, łącząc kategorie syntaktyczne i semantyczne, że stałe są obiektami z dziedziny, symbole funkcyjne są funkcjami o argumentach i wartościach z dziedziny, a predykaty są funkcjami o argumentach z dziedziny i wartościach ze zbioru {0,1}. Mając zawsze ustalony model i zakładając ponad to, że wszystkie zmienne są związane (domyślnymi) kwantyfikatorami, interesu jemy się wyłącznie spełnianiem formuł w tym modelu, które możemy utożsamić z ich prawdziwością. To odstępstwo od formalnej ścisłości nie wpływa na istotę omawianych algorytmów uczenia się.
Dodatek D
Internetowa strona książki Pod adresem h t t p : / / t i c h y . i s e .pw.edu . p i /SU/ su . h t m l znajduje się internetowa strona książki, za pośrednictwem której czytelnikom są udostępnione między innymi: • kod źródłowy do programów w języku Common Lisp, implementujących nie które z omawianych w książce algorytmów uczenia się, • informacje o dostępnych środowiskach języka Common Lisp dla różnych sys temów operacyjnych, • gotowe do instalacji pakiety ze środowiskiem CLisp dla najbardziej popular nych systemów DOS/Windows i Linux, • przykładowe zbiory danych trenujących dla dostarczonych programów, • instrukcje posługiwania się udostępnianym oprogramowaniem i środowiskiem języka Common Lisp, • krótki przewodnik po języku Common Lisp dla początkujących, • przewodnik po internetowych zasobach dotyczących systemów uczących się (w tym odniesienia do stron z publikacjami i oprogramowaniem). Udostępniany kod źródłowy zawiera implementacje wybranych algorytmów uczenia się przygotowane specjalnie na potrzeby tej książki, a więc skonstruowa ne tak, aby jak najbardziej bezpośrednio odpowiadały wersjom tych algorytmów sformułowanym na jej stronach. Jednocześnie odstąpiono w nich od dążenia do uzyskania dużej efektywności na rzecz utrzymania maksymalnej prostoty, umoż liwiającej analizę kodu również czytelnikom znającym język Lisp pobieżnie. Na takie pobieżne poznanie tego języka pozwala udostępniony przewodnik, który za wiera wiele przykładów użycia jego podstawowych konstrukcji. Wszystkie programy były testowane w środowisku CLisp, niekomercyjnej im plementacji języka Common Lisp o niewygórowanych wymaganiach sprzętowych, która jest dostępna dla większości powszechnie używanych typów komputerów i systemów operacyjnych. Czytelnik, który zechce zainstalować ją na swoim kom puterze, znajdzie na internetowej stronie książki gotowe pakiety wraz z instrukcją instalacji.
Literatura 1. Agrawal R., Imieliński T., Swami A.: Database mining: A performance perspective. IEEE Transactions on Knowledge and Data Engineering, 1993, 5, s. 914-925. 2. Agrawal R., Mannila H., Srikant R., Toivonen H., Verkamo A. I.: Fast discovery of association rules. W: Fayyad U. M„ Piatetsky-Shapiro G., Smyth R, Uthurusamy R. (Eds): Advances in Knowledge Discovery and Data Mining, chapt. 12, s. 307-328. AAAIPress, 1996. 3. Albus J. S.: Brain, Behavior, andRobotics. BYTE Books, 1981. 4. Ali K. M., Pazzani M. J.: Error reduction through leaming muitiple descriptions. Machinę Learning, 1996, 24, s. 173-202. 5. Angluin D.: A notę on the number of ąueries needed to identify regular languages. Information and Control, 1981, 51, s. 76-87. 6. Angluin D.: Leaming regular sets from ąueries and counterexamples. Information and Computation, 1987,75, s. 87-106. 7. Angluin D.: Negative results for equivalence ąueries. Machinę Leaming, 1990, 5, s. 121-150. 8. Angluin D., Smith C. H.: Inductive inference: Theory and methods. Computing Surveys, 1983, 15, s. 237-269. 9. Atkeson C. G., Moore A. W., Schaal S. A.: Locally weighted leaming. Artificial Intelligence Review, 1991, 11, s. 11-73. 10. Ayer A. J.: Filozofia w XX wieku. Wydawnictwo Naukowe PWN, Warszawa, 1997. 11. Barto A. G.: Some leaming tasks from a control perspective. W: 1990 Lectures in Complex Systems, SFIStudies in the Sciences of Complexity, Lect. VoL III. Addison-Wesley, 1991. 12. Barto A. G., Bradtke S. J., Singh S. R: Leaming to act using real-time dynamie programming. Artificial Intelligence, 1995, 72, s. 81-138. 13. Barto A. G., Singh S. R: On the computational economics of reinforcement learning. W: Proceedings ofthe 1990 Connectionists Models Summer School. Morgan Kaufmann, 1990. 14. Barto A. G., Sutton R. S., Anderson C. W.: Neuronlike adaptive elements that can so!ve difficult leaming control problems. IEEE Transactions on Systems, Man, and Cybernetics, 1983, 13, s. 835-846. 15. Barto A. G., Sutton R. S., Watkins C. J. C. H.: Leaming and seąuential decision making. W: Gabriel M., Moore J. (Eds): Leaming and ComputationalNeuroscience. MIT Press, 1990. 16. Baxter R. A., 01iver J. J.: MDL and MML: Similarities and differences. Technical Report 207, Department of Computer Science, Monash University, Australia, 1995.
864
LITERATURA
17. Bayes T.: An essay towards solving a problem in the doctrine of chances. Philosophical Transactions ofthe Royal Society of London, 1763, 53, s. 370-418. 18. BellmanR. E.: Dynamie Programming. Princeton University Press, 1957. 19. Bentley J. L., Friedman J. H.: Data structures for rangę searching. ACM Computing Surveys, 1979, 11, s. 563-580. 20. Bentley J. L., Weide B., Yao A.: Optimal expected time algorithms for closest point problems. ACM Transactions on Mathematical Software, 1980, 6, s. 563-580. 21. Bloedorn E., Michalski R. S.: Data-driven constructive induction in AQ17-PRE: A method and experiments. W: Proceedings ofthe Third International Conference onToolsforAI, 1991. 22. Bloedorn E., Michalski R. S., Wnęk J.: Multistrategy constructive induction: AQ17-MCI. W: Proceedings ofthe Second International Workshop on Multistrategy Learning (MSL-93). Morgan Kaufmann, 1993. 23. Blumer A., Ehrenfeucht A., Haussler D., Warmuth M.: Learnability and the VapnikChervonenkis dimension. Journal ofthe ACM, 1989, 36, s. 929-965. 24. Bocheński J. M.: Współczesne metody myślenia. Wydawnictwo „W drodze", Po znań, 1993. 25. Bohanec M., Bratko I.: Trading aceuracy for simpłieity in decision trees. Machinę Leaming, 1994, 15, s. 223-250. 26. Bole L., Borodziewicz W., Wójcik M.L Podstawy przetwarzania informacji niepew nej i niepełnej. Państwowe Wydawnictwo Naukowe, Warszawa, 1991. 27. Bole L., Zaremba J.: Wprowadzenie do uczenia się maszyn. Akademicka Oficyna Wydawnicza RM, Warszawa, 1992. 28. Booker L. B., Goldberg D. E., Holland J. H.: Cłassifier systems and genetic algori thms. Artificial Intelligence, 1989,40, s. 235-383. 29. Boyan J., Moore A. W.: Generalization in reinforcement learning: Safely approximating the value function. W: Advances in Neural Information Processing Systems 7. Morgan Kaufmann, 1995. 30. Bratko I., Muggleton S.: Applications of inductive logie programming. Communi cations ofthe ACM, 1995, 38, s. 65-70. 31. BreimanL.: Bagging predictors. Machinę Learning, 1996, 24, s. 123-140. 32. Breiman L.: Stacked regressions. Machinę Learning, 1996, 24, s. 49-64. 33. Breiman L., Friedman J. H., Olshen R. A,, Stone P. J.: Classification andRegression Trees. Wadsworth Internation Group, 1984. 34. Brodley C. E„ Utgoff P. E.: Multivariate decision trees. Machinę Learning, 1995, 19, s. 45-77. 35. Buntine W. L.: Operations for learning with graphical models. Journal ofArtificial Intelligence Research, 1994, 2, s. 159-225. 36. Buntine W. L., Niblett T.: A further comparison of splitting rules for decision-tree induction. Machinę Learning, 1992, 8, s. 75-86.
LITERATURA
865
37. Carbonell J. G., Michalski R. S., Mitchell T. M.: An overview of machinę leaming. W: Michalski R. S., Carbonell J. G., Mitchell T. M. (Eds): Machinę Learning: An Artificial Intelligence Approach, vol. 1. Tioga (obecnie Morgan Kaufmann), 1983. 38. Catlett J.: Megainduction: Machinę Learning on Very Large Databases. PhD thesis, University of Sidney, 1991. 39. Catlett J,: On changing continuous attributes into ordered discrete attributes. W: Proceedings ofthe European Working Session on Learning (EWSL-9I). Springer-Verlag, 1991. 40. Cestnik B.: Estimating probabilities: A crucial task in machinę learning. W: Procee dings ofthe Ninth European Conference on Artificial Intelligence (ECAI-90), 1990. 41. Chan C.-C, Batur C , Srinivasan A.: Determination of ąuantization intervals in ruke based model for dynamie systems. W: Proceedings ofthe IEEE Conference on Systems, Man, and Cybernetics, 1991. 42. Chan P. K., Stolfo S. J.: Meta-learning for multistrategy and parallel learning. W: Proceedings ofthe Second International Workshop on Multistrategy Learning (MSL-93), 1993. 43. Chan P. K., Stolfo S. J.: Learning arbiter and combiner trees from partitioned data for scaling machinę learning. W: Proceedings ofthe First International Conference on Knowledge Discovery and Data Mining. AAAI Press, 1995. 44. Cheeseman P, Kelly J„ Self M., Stutz J., Taylor W., Freeman D.: AutoClass: A Bayesian classification system. W: Proceedings ofthe Fifth International Workshop on Machinę Learning (ML-88). Morgan Kaufmann, 1988. 45. Cheeseman P. C : In defense of probability. W: Proceedings ofthe Ninth Inter national Joint Conference on Artificial Intelligence (IJCA1-85). Morgan Kaufmann, 1985. 46. Chmielewski M. R., Grzymała-Busse J. W.: Global discretization of continuous attributes as preprocessing for machinę learning. W: Proceedings ofthe Third Inter national Workshop on Rough Sets and Soft Computing, 1994. 47. Chwedeńczuk B. (Ed): Filozofia umysłu. Fragmenty filozofii analitycznej. Wydaw nictwo Spacja — Fundacja Aletheia, 1995. 48. Cichosz R: Reinforcement learning algorithms based on the methods of temporal differences. Praca magisterska, Politechnika Warszawska, Instytut Informatyki, 1994. 49. Cichosz R: Reinforcement Learning by Truncating Temporal Differences. Rozpra wa doktorska, Politechnika Warszawska, Wydział Elektroniki i Technik Informacyj nych, 1997. 50. Clark R: Machinę learning: Techniąues and recent developments. W:MirzaiA. R. (Ed): Artificial Intelligence: Concepts and Applications in Engineering. Chapman and Hall, London, 1990. 51. Clark R, Boswell R.: Rule induction with CN2: Sorne recent improvements. W: Proceedings ofthe Fifth European Working Session on Learning (EWSL-9I). Sprin ger-Yerlag, 1991.
866
LITERATURA
52. Clark R, Niblett T.: The CN2 induction algorithm. Machinę Learning, 1989, 3, s. 261-283. 53. Clemen R. T.: Combining forecasts: A review and annotated bibliography. Interna tional Journal of Forecasting, 1989, 5, s. 559-583. 54. Cochran W. G.: Some methods of strengthening the common x2 tests. Biometrics, 1952, 10, s. 417-451. 55. Cohen W. W.: Efficient pruning for separate-and-conquer rule learning. W: Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence (IJCA1-93). Morgan Kaufmann, 1993. 56. Cohen W. W.: Fast effective rule induction. W: Proceedings ofthe Twelfth Interna tional Conference on Machinę Learning (ML-95). Morgan Kaufmann, 1995. 57. Cohen W. W.: Learning trees and rules with set-valued features. W: Proceedings of the Thirteenth National Conference on Artificial Intelligence (AAAI-96). AAAI Press, 1996. 58. CopplestonR: Historia filozofii. Wydawnictwo PAX, Warszawa, 1989-1999. 59. Cormen T. H, Leiserson C. H., Rivest R. L.: Wprowadzenie do algorytmów. Wy dawnictwa Naukowo-Techniczne, Warszawa, 1998. 60. Crites R. H., Barto A. G.: Improving elevator performance using reinforcement lear ning. W: Advances in Neural Information Processing Systems 8. Morgan Kaufmann, 1996. 61. Dayan R, Hinton G. E.: Feudal reinforcement learning. W: Advances in Neural Information Processing Systems 5. Morgan Kaufmann, 1993. 62. Dean T., Angluin D., Basye K., Engelson S., Kaelbling L. R, Kokkevis E., Maron O.: Inferring finite automata with stochastic output functions and an application to map learning. Machinę Learning, 1995, 18, s. 81-108. 63. DeJong G., Mooney R.: Explanation-based learning: An alternative view. Machinę Learning, 1986, 1, s. 145-176. 64. Dempster A. R, Laird N. M., Rubin D. B.: Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society, 1977, B-39, s. 1-38. 65. Dietterich T. G.: Machinę learning: Four current directions. AlMagazine, 1997, 18, s, 97-136. 66. Dietterich T. G.: Approximate statistical tests for comparing supervised classification learning algorithms. Neural Computation, 1998, 10, s. 1895-1924. 67. Dietterich T. G.: The MAXQ method for hierarchical reinforcement learning. W: Proceedings of the Fifteenth International Conference on Machinę Learning (ML-98). Morgan Kaufmann, 1998. 68. Dietterich T. G., Bakiri G.: Solving multiclass learning problems via error-correcting output codes. Journal of Artificial Intelligence Research, 1995, 2, s. 263-286. 69. Dietterich T. G., Flann N. S.: Explanation-based learning and reinforcement lear ning: A unified view. W: Proceedings ofthe Twelfth International Conference on Machinę Learning (ML-95). Morgan Kaufmann, 1995.
LITERATURA
867
70. Dietterich T. G., Michalski R. S.: A comparative review of selected methods for learning from examples. W: Michalski R. S., Carbonell J. G., Mitchell T. M. (Eds): Machinę Learning: An Artificial Intelligence Approach, voL 1. Tioga (obecnie Mor gan Kaufmann), 1983. 71. Domingos R, Pazzani M.: Beyond independence: Conditions for the optimality of the simple Bayesian classifier. W: Proceedings ofthe Thirteenth International Conference on Machinę Learning (ML-96). Morgan Kaufmann, 1996. 72. DonohoS. K.: Knowledge-Guided Constructive Induction. PhD thesis, University of Illinois, 1996. 73. Dougherty J., Kohavi R., Sahami M.: Supervised and unsupervised discretization of continuous features. W: Proceedings ofthe Twelfth International Conference on Machinę Learning (ML-95). Morgan Kaufmann, 1995. 74. Duda R. O., Hart R E.: Pattern Classification and Scenę Analysis. John Wiley and Sons, 1973. 75. Ehrenfeucht A., Haussler D., Kearns M., Valiant L. G.: A generał lower bound on the number of examples needed for learning. Information and Computation, 1989, 82, s. 247-261. 76. Everitt B. S., Hand D. J.: Finite Mixture Distributions. Chapman and Hall, 1981. 77. Fayyad U. M., Irani K. B.: On the handling of continuous-valued attributes in decision tree generation. Machinę Learning, 1992, 8, s. 87-102. 78. Fayyad U. M., Irani K. B.: Multi-interval discretization of continuous-valued att ributes for classification learning. W: Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence (IJCAI-93). Morgan Kaufmann, 1993. 79. Feingenbaum E. A.: The simulation of verbal learning behavior. W: Feingenbaum E. A., Feldman J. (Eds): Computers and Thought. McGraw-Hill, 1963. 80. Fikes R., Hart R, Nillson N.: Learning and executing generalized robot plans. Arti ficial Intelligence, 1972, 3, s. 251-288. 81. Fisher D. H.: Knowledge acąuisition via incremental conceptual clustering. Machinę Learning, 1987, 2, s. 139-172. 82. Freund Y., Kearns M., Ron D., RubinfeldR., SchapireR., Sellie L.: Efficient learning of typical finite automata from random walks. W: Proceedings ofthe Twenty Fourth AnnualACM Symposium on Theory of Computing, 1993. 83. Freund Y, Schapire R. E.: Experiments with a new boosting algorithm. W: Pro ceedings ofthe Thirteenth International Conference on Machinę Learning (ML-96). Morgan Kaufmann, 1996. 84. Friedman J. H.: A recursive partitioning decision rule for non-parametric classifica tion. IEEE Transactions on Computers, 1977, 26, s. 404-408. 85. Friedman J. H., Bentley J. L., Finkel R. A.: An algorithm for finding best matches in logarithmic expected time. ACM Transactions on Mathematical Software, 1977, 3, s. 209-226. 86. Fulton T. K., Kasif S., Salzberg S.: An efficient algorithm for finding multi-way splits for decision trees. W: Proceedings ofthe Twelfth International Conference on Machinę Learning (ML-95). Morgan Kaufmann, 1995.
868
LITERATURA
87. Flirnkranz J., Widmer G.: Incremental reduced error pruning. W: Proceedings ofthe Eleventh International Conference on Machinę Learning (ML-94). Morgan Kaufmann, 1994. 88. Gallant S., Smith D.: Random cells: An idea whose time has come and gone . . . and come again? W: Proceedings ofthe IEEE International Conference on Neural Networks, 1987. 89. Genesereth M. R., Nilsson N. J.: Logical Foundations ofArtificialIntelligence. Mor gan Kaufmann, 1987. 90. Gennari J. H., Langley R, Fisher D. H.: Models of incremental concept formation. Artificial Intelligence, 1989,40, s. 11-61. 91. Gluck M. A., Corter J. E.: Information, uncertainty and the utility of categories. W: Proceedings ofthe Seventh Annual Conference ofthe Cognitive Science Society. Lawrence Erłbaum Associates, 1985. 92. Goldberg D. E.: Algorytmy genetyczne i ich zastosowania. Wydawnictwa Naukowo-Techniczne, Warszawa, 1995. 93. Good I. J.: Kinds of probability. Science, 1959, 129, s. 443^47. 94. Gries M.L Konstrukcja translatorów dla maszyn cyfrowych. Państwowe Wydawnic two Nakowe, Warszawa, 1984. 95. Haussler D.: Quantifying inductive bias: Al learning algorithms and Valiant's lear ning framework. Artificial Intelligence, 1988, 36, s. 177-221. 96. Hecht-Nielsen R.: Counterpropagationnetworks. Applied Optics, 1987,26, s. 49794984. 97. Heckerman D., Geiger D., Chickering D.: Learning Bayesian networks: The combination of knowledge and statistical data. Machinę Learning, 1995, 20, s. 197-243. 98. Hertz J., Krogh A., Palmer R. G.: Wprowadzenie do teorii obliczeń neuronowych. Wydawnictwa Naukowo-Techniczne, Warszawa, 1993. 99. Hinton G. E.: Connectionist learning procedures. Artificial Intelligence, 1989, 40, s. 185-234. 100. Hofstadter D, R.: Godeł, Escher, Bach: The Eternal Golden Braid. Basic Books, 1979. 101. Holsheimer M., Siebes A.: Data mining: The search for knowledge in databases. Technical Report CS-R9406, Center for Mathematics and Computer Science, The Netherlands, 1994. 102. Hopcroft J. E., Ullman J. D.: Wprowadzenie do teorii automatów, języków i obliczeń. Wydawnictwo Naukowe PWN, Warszawa, 1994. 103. Hunt E. B., Marin J., Stone P. T.: Experiments in Induction. Academic Press, 1966. 104. Jaakkola T., Jordan M. I., Singh S. R: On the convergence of stochastic iterative dynamie programming algorithms. Neural Computation, 1994, 6, s. 1185-1201. 105. Jaynes E. T.: Prior probabilities. IEEE Transactions on Systems Science and Cybernetics, 1968, 4, s. 227-241. 106. Jensen F. V.: An Introduction to Bayesian Networks. Springer-Yerlag, 1996.
LITERATURA
869
107. Joachims T.: A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization. Technical Report CMU-CS-96-118, Carnegie-Mellon University, School of Computer Science, 1996. 108. John G., Kohavi R., Pfleger K.: Irrelevant features and the subset selection pro blem. W: Proceedings ofthe Eleventh International Conference on Machinę Lear ning (ML-94). Morgan Kaufmann, 1994. 109. JóźwiakJ., Podgórski J.: Statystyka od podstaw. Polskie Wydawnictwo Ekonomicz ne, Warszawa, 1997. 110. Martin J. K.: An exact probability metric for decision tree splitting and stopping. Machinę Learning, 1997,28, s. 257-291. 111. Kaelbling L. R, Littman M. L., Moore A. W.: Reinforcement learning: A survey. Journal ofArtificial Intelligence Research, 1996,4, s. 237-285. 112. KanervaR: Sparse Distributed Memory. MIT Press, 1988. 113. Kaufman K. A., Michalski R. S.: Learning in an inconsistent world: Rule selection in AQ18. Technical Report MLI 99-2, George Mason University, Machinę Learning and Inference Laboratory, 1999. 114. Kaufman K. A., Michalski R. S.: STAR: An environment for natural induction and learning. Technical Report MLI 99-1, George Mason University, Machinę Learning and Inference Laboratory, 1999. 115. Kearns M. L, Valiant L. G.: Cryptographic limitations on learning boolean formulae and finite automata. Journal ofthe ACM, 1994,41, s. 67-95. 116. Kedar-Cabelli S., McCarty T.: Explanation-based generalization as resolution theorem proving. W: Proceedings ofthe Fourth International Workshop on Machinę Learning (ML-87). Morgan Kaufmann, 1987. 117. KerberR.: ChiMerge: Discretization of numeric attributes. W. Proceedings of the Tenth National Conference on Artificial Intelligence (AAAI-92). MIT Press, 1992. 118. Kibler D., AhaD, W.: Instance-based prediction of real-valued attributes. Computational Intelligence, 1989, 5, s. 51-57. 119. Kivinen J., Warmuth M. K.: Exponentiated gradient versus gradient descent for linear predictors. Technical Report UCSC-CRL-94-16, Computer Science and Engineering Department, University of California, Santa Cruz, 1994. 120. KohaviZ.: Switching and Finite Automata Theory. McGraw-Hill, 1978. 121. Kononenko I., Bratko L, Roskar E.: Experiments in automatic learning of medical diagnostic rules. Technical report, Jozef Stefan Institute, Ljubljana, 1984. 122. Kowalski R.: Logika w rozwiązywaniu zadań. Wydawnictwa Naukowo-Techniczne, Warszawa, 1989. 123. Kramer S.: CN2-MCI: A two-step method for constructive induction. W: Procee dings ofthe Workshop on Constructive Induction and Change of Representation, the Eleventh International Conference on Machinę Learning (ML-94/COLT-94), 1994. 124. Kubat M., Bratko I., Michalski R. S.: A review of machinę learning methods. W: Machinę Learning and Data Mining: Methods and Applications. John Wiley and Sons, 1998.
870
LITERATURA
125. Laird J. E., Newell A., Rosenbloom P. S.: Soar: An architecture for generał intelligence. Artificial Intelligence, 1987, 33, s. 1-64. 126. Langley R: Data~driven discovery of physical laws. Cognitive Science, 1981, 5, s. 31-54. 127. Langley P, Simon H. A., Bradshaw G. L.: Heuristics for empirical discovery. W: Bole L. (Ed): Computational Models ofLearning. Springer-Verlag, 1987. 128. Lavrać N., Dżeroski S.: Inductive Logic Programming: Techniąues and Applications. Ellis Horwood, 1994. 129. Lebowitz M.: Experiments with incremental concept formation: UNIMEM. Machi nę Learning, 1987, 2, s. 101-138. 130. LemS.: Summa technologiae. Interart, 1996. 131. LemS.: Tajemnica chińskiego pokoju. Universitas, 1996. 132. Li M., Vazirani U.: On the learnability of finite automata. W: Proceedings ofthe 1988 Workshop on Computational Learning Theory (COLT-88). Morgan Kaufmann, 1988. 133. Lin L.-J.: Self-improving, reactive agents based on reinforcement learning, planning and teaching. Machinę Learning, 1992, 8, s. 293-321. 134. Lin L.-J.: Reinforcement Learning for Robots Using Neural Networks. PhD thesis, Carnegie-Mellon University, School of Computer Science, 1993. 135. Lopez de Mantaras R.: A distance-based attribute selection measure for decision tree induction. Machinę Learning, 1991, 6, s. 81-92. 136. Mahadevan S., Connell J.: Automatic programming of behavior-based robots using reinforcement learning. Artificial Intelligence, 1992, 55, s. 311-365. 137. Malerba D., Floriana E., Semeraro G.: A further comparison of simplification methods for decision tree induction. W: Fisher D., Lenz H. (Eds): Learning from Data: Al and Statistics. Springer-Verlag, 1995. 138. Mannila H., Toivonen H.: Multiple uses of freąuent sets and condensed representations. W: Proceedings ofthe Second International Conference on Knowledge Discovery and Data Mining. AAAI Press, 1996. 139. Matheus C. J., Rendell L.: Constructive induction on decision trees. W: Proceedings ofthe Eleventh International Joint Conference on Artificial Conference (IJCAI-89). Morgan Kaufmann, 1989. 140. McCallum R. A.: Overcoming incomplete perception with utile distinction memory. W: Proceedings of the Tenth International Conference on Machinę Learning (ML-93), Morgan Kaufmann, 1993. 141. McLachlan G. J., Basford K. E.: Mixture Models. Marcel Dekker, 1988, 142. Mehta M., Agrawal R., Rissanen J.: SLIQ: A fast scalable classifier for data mining. W: Proceedings ofthe Fifth International Conference on Extending Database Technology (EDBT-96). Springer-Verlag, 1996. 143. Michalewicz Z.: Algorytmy genetyczne + struktury danych - programy ewolucyjne. Wydawnictwa Naukowo-Techniczne, Warszawa, 1996.
LITERATURA
871
144. Michalski R. S.: On the quasi-minimal solution of the generał covering problem. W: Proceedings ofthe First International Symposium on Information Processing, Bied, Yugoslavia, 1969. 145. Michalski R. S.: AQVAL/1 — computer impłementation of a variable valued logie VL1 and examples of its application to pattern recognition. W: Proceedings ofthe First International Joint Conference on Pattern Recognition, 1973. 146. Michalski R. S,: Variable-valued logie and its applications to pattern recognition and learning. In Rine D. C. (Ed): Computer Science and Multiple-Valued Logic: Theory and Applications. 1975. 147. Michalski R. S.: Pattern recognition as rule-guided inductive inference. IEEE Transactions on Pattern Analysis and Machinę Intelligence, 1980, 2, s. 349-361. 148. Michalski R. S.: A theory and methodology of inductive learning. Artificial Intelli^nc,1983,20,s. 111-161. 149. Michalski R. S.: Inferential theory of learning: Developing foundations for multistrategy learning. W: Michalski R. S., Tecuci G. (Eds): Machinę Learning: A Multistrategy Approach, vol. 4. Morgan Kaufmann, 1994. 150. Michalski R. S., Bratko I., Kubat M. (Eds): Machinę Learning and Data Mining: Methods and Applications. John Wiley and Sons, 1998. 151. Michalski R. S., Larson J. B.: Selection of most representative training examples and incremental generation of VLi hypotheses: The underlying methodology and the description of programs ESEL and AQ11. Technical Report 867, University of Illinois, Computer Science Department, 1978. 152. Michalski R. S., Mozetic I., Hong J., Lavrac N.: The multi-purpose incremental learning system AQ15 and its testing application to three medical domains. W: Proceedings of the Fifth National Conference on Artificial Intelligence (AAAI-86). MIT Press, 1986. 153. Michalski R. S., Stepp R. E.: Learning from observation: Conceptual clustering. W: Michalski R. S., Carbonell J. G., Mitchell T. M. (Eds): Machinę Learning: An Artificial Intelligence Approach, vol. 1. Tioga (obecnie Morgan Kaufmann), 1983. 154. Mingers J.: An empirical comparison of pruning measures for decision tree induction. Machinę Learning, 1989, 4, s. 227-243. 155. Mingers J.: An empirical comparison of selection measures for decision tree induction. Machinę Learning, 1989, 3, s. 319-342. 156. Minsky M. L.: Theory of Neural-Analog Reinforcement Systems and Its Application to the Brain-Model Problem. PhD thesis, Princeton University, 1954. 157. Minsky M. L.: Steps toward artificial intelligence. W: Proceedings of the Institute of Radio Engineers, 1961. Przedruk w: Feingenbaum E. A., Feldman J. (Eds): Computers and Thought, McGraw-Hill, New York, 1963. 158. Minsky M. L., Papert S.: Perceptrons. MIT Press, 1969. 159. Minton S.: Learning Search Control Knowledge: An Explanation-Based Approach. Kluwer Academic Publishers, 1988.
872
LITERATURA
160. Minton S., Carbonell J. G., KnoblockC, KuokkaD., Etzioni O., Gil Y.: Explanation-based leaming: A problem solving perspective. Artificial Intelligence, 1989, 40, s. 63-118. 161. Mitchell T. M., Utgoff R E., Banerji R.: Leaming by experimentation: Acąuiring and refining problem solving heuristics. In Michalski R. S„ Carbonell J. G., Mi tchell T. M. (Eds): Machinę Learning: An Artificial Intelligence Approach, vol. 1. Tioga (obecnie Morgan Kaufmann), 1983. 162. Mitchell T. M.: Generalization as search. Artificial Intelligence, 1982, 18, s. 203226. 163. Mitchell T. M.: Leaming and problem soWing. W: Proceedings ofthe Eighth Inter national Joint Conference on Artificial Intelligence (IJCAI-83). Morgan Kaufmann, 1983. 164. Mitchell T. M.: Machinę Learning. McGraw--Hill, 1997. 165. Mitchell T. M., Keller R. M., Kedar-Cabelli S. T.: Explanation-basedgeneralization: A unifying view. Machinę Leaming, 1986,1, s. 47-80. 166. Mitchell T. M., Thrun S. B.: Explanation-based neural network leaming for robot control. W: Advances in Neural Information Processing Systems, vol. 5. Morgan Kaufmann, 1993. 167. Moody J., Darken C. J.: Fast leaming in networks of locally-tuned processing units. Neural Computation, 1989, 1, s. 281-294. 168. Moore A. W.: Efficient Memory-Based Learning for Robot Control. PhD thesis, University of Cambridge, Computer Laboratory, 1990. 169. Moore A. W., Atkeson C. G.: An investigation of memory-based function approximators for leaming control. Technical report, MIT Artificial Intelligence Laboratory, 1992. 170. Moore A. W., Atkeson C. G., Schaal S. A.: Memory-based leaming for control. Technical Report CMU-RI-TR-95-18, Carnegie-Mellon University, Robotics Institute, 1995. 171. Moore A. W., Lee M. S.: Cached sufficient statistics for efficient machinę leaming with large datasets. Journal of Artificial Intelligence Research, 1998, 8, s. 67-91. 172. MuggletonS. (Ed): Inductive Logic Programming. Academic Press, 1992. 173. MuggletonS.: Foundations of Inductive Logic Programming. Prentice-Hall, 1995. 174. MuggletonS.: Inverse entailement and Progol. New Generation Computing, 1995, 13,8.245-286. 175. Muggleton S., Buntine W. L.: Machinę invention of first-order predicates by inverting resolution. W: Proceedings of the Fifth International Workshop on Machinę Learning (ML-88). Morgan Kaufmann, 1988. 176. MulawkaJ. J.: Systemy ekspertowe. Wydawnictwa Naukowo-Techniczne, Warsza wa, 1996. 177. Murphy P M., Pazzani M. J.: Exploring the decision forest: An empirical investigation of Occam's razor in decision tree induction. Journal of Artificial Intelligence Research, 1994, 1, s. 257-275.
LITERATURA
873
178. Murthy S. K.: On Growing Better Decision Trees from Data. PhD thesis, John Hopkins University, Department of Computer Science, Baltimore, 1995. 179. Murthy S. K., Kasif S., Salzberg S.: A system for induction of obliąue decision trees. Journal of Artificial Intelligence Research, 1994, 2, s. 1-33. 180. Musick R., Catlett J., Russell S.: Decision theoretic subsampling for induction on large databases. W: Proceedings ofthe Tenth International Conference on Machinę Learning (ML-92). Morgan Kaufmann, 1992. 181. Nikolaev N. I., SIavov V.: Inductive genetic programming with decision trees. W: Proceedings ofthe Ninth European Conference on Machinę Learning (ECML-97). Springer-Verlag, 1997. 182. Nilsson N, J.: Introduction to machinę learning. Nieopublikowany rękopis przy gotowywanej książki dostępny w postaci elektronicznej na stronie internetowej: http://robotics.Stanford.edu/people/nilsson/mlbook.html, 1996. 183. NunezM.: The use of background knowledge in decision tree induction. Machinę Learning, 1991, 6, s. 231-250. 184. 01iveira A. L., Sangiovanni-Vincentelli A.: Inferring reduced ordered decision graphs of minimum description length. W: Proceedings of the Twelfth International Conference on Machinę Learning (ML-95). Morgan Kaufmann, 1995. 185. 01iver J. J., Baxter R. A., Wallace C. S.: Unsupervised learning using MML. W: Proceedings ofthe Thirteenth International Conference on Machinę Learning (ML-96). Morgan Kaufmann, 1996. 186. 01iver J. J., Hand D. J.: Introduction to minimum encoding inference. Technical Report 205, Department of Computer Science, Monash University, Australia, 1994. 187. Omohundro S. M.: Efficient algorithms with neural network behavior. Complex Systems, 1987, l,s. 273-347. 188. Omohundro S. M.: Geometrie learning algorithms. Technical Report TR-89-063, International Computer Science Institute, Berkeley, 1989. 189. Osowski S.: Sieci neuronowe w ujęciu algorytmicznym. Wydawnictwa Naukowo-Techniczne, Warszawa, 1997. 190. Pagallo G., Haussler D.: Boolean feature discovery in empirical learning. Machinę Learning, 1990,5, s. 71-100. 191. Parmanto B., Munro P. W, Doyle H. R.: Improving committee diagnosis with resampling techniąues. W: Advances in Neural Information Processing Systems, vol. 8. MIT Press, 1996. 192. PatrickJ.D.: Snob: A program for discriminating between classes. Technical Report 91/151, Department of Computer Science, Monash University, Australia, 1991. 193. Pawlak Z.: Rough Sets: Theoretical Aspects ofReasoning aboutData, vol. 9. Kluwer Academic Publishers, 1991. 194. Pawlak Z., Skowron A.: A rough set approach to decision rules generation. Raport badawczy 23/93, Politechnika Warszawska, Instytut Informatyki, 1993. 195. Pazzani M. J., Kibler D.: The utility of prior knowledge in inductive learning. Ma chinę Learning, 1992,9, s. 54-97.
874
LITERATURA
196. Pearl J.: Probabilistic Inference in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann, 1988. 197. PenroseR.: Nowy umysł cesarza. Wydawnictwo Naukowe PWN, Warszawa, 1995. 198. Peterson J. K.: The Cerebellar Articulated Artificial Controller (CMAC neural architecture: Theory and software implementation. Technical Report 643, Clemson University, Department of Mathematical Sciences, 1996. 199. Pfahringer B.: CiPF 2.0: A robust constructive induction system. W: Proceedings of the Workshop on Constructive Induction and Change ofRepresentation, the Eleventh International Conference on Machinę Learning (ML-94/COLT-94), 1994. 200. Pfahringer B.: Compression-based discretization of continuous attributes. W: Pro ceedings of the Twelfth International Conference on Machinę Learning (ML-95). Morgan Kaufmann, 1995. 201. Plotkin G. D.: Automatic Methods of Inductive Inference. PhD thesis, Edinburgh University, 1971. 202. Quinlan J. R.: Induction over large databases. Technical Report STAN-CS-739, Stanford University, 1979. 203. Quinlan J. R.: The effect of noise on concept learning. W: Michalski R. S., Mi tchell T. M., Carbonell J. G. (Eds): Machinę Learning: An Artificial Intelligence Approach, vol. 2. Morgan Kaufmann, 1986. 204. Quinlan J. R.: Induction of decision trees. Machinę Learning, 1986, 1, s. 81-106. 205. Quinlan J. R.: Simplifying decision trees. International Journal of Man-Machine Studies, 1987, 27, s. 221-234. 206. Quinlan J. R.: Unknown attribute values in induction. W: Proceedings ofthe Sixth International Workshop on Machinę Learning (ML-89). Morgan Kaufmann, 1989. 207. Quinlan J. R.: Learning logical definitions from relations. Machinę Learning, 1990, 5, s. 239-266. 208. Quinlan J. R.: Probabilistic decision trees. W: Kodratoff Y, Michalski R. S. (Eds): Machinę Learning: An Artificial Intelligence Approach, vol. 3. Morgan Kaufmann, 1990. 209. Quinlan J. R.: Learning with continuous classes. W: Proceedings ofthe Fifth Australian Joint Conference on Artificial Intelligence, World Scientific, 1992. 210. Quinlan J. R.: C4.5: Programsfor Machinę Learning. Morgan Kaufmann, 1993. 211. Quinlan J. R.: Combining instance-based and model-based learning. W: Procee dings ofthe Tenth International Conference on Machinę Learning (ML-93). Morgan Kaufmann, 1993. 212. QuinlanJ. R.: Improved use of continuous attributes in C4.5. Journal of Artificial Intelligence Research, 1996, 4, s. 77-90. 213. Quinlan J. R., Rivest R. L.: Inferring decision trees using the minimum description length principle. Information and Computation, 1989, 80, s. 227-248. 214. Rabiner L. R.: A tutorial on hidden Markov models and selected applications in speach recognition. Proceedings ofthe IEEE, 1989, 77, s. 257-286.
LITERATURA
875
215. Rabiner L. R„ Juang B. H.: An introduction to hidden Markov models. IEEE ASSP Magazine, 1986, 3, s. 4-16. 216. Ram A., Santamarfa J. C : Continuous case-based reasoning. Artificial Intelligence, 1997,90,s.25-77. 217. Rendell L., Seschu R.: Learning hard concepts through constructive induction: Framework and rationale. Computational Intelligence, 1990, 6, s. 247-270. 218. Rissanen J.: A universal prior for integers and estimation by minimum description Iength. The Annals of Statistics, 1983, 11, s. 416-431. 219. Rivest R. L., Schapire R. E.: Diversity-based inference of finite automata. W: Proceedings ofthe Twenty Eighth IEEE Foundations of Computer Science Conference, 1987. 220. Rivest R. L., Schapire R. E.: A new approach to unsupervised learning in deterministic environments. W: Proceedings ofthe Fourth International Workshop on Machinę Learning (ML-87). Morgan Kaufmann, 1987. 221. Rivest R. L., Schapire R. E.: Inference of finite automata using homing seąuences. Information and Computation, 1993, 103, s, 299-347. 222. Robinson J. A.: A machine-oriented logie based on the resolution principle. Journal ofthe ACM, 1965,12,5.23-41. 223. RocchioJ.: Relevance feedback in Information retrieval. W: The SMART Retrieval System: Experiments in Automatic Document Processing, Prentice-Hall, 1971. 224. Ron D., Rubinfeld R.: Learning fallible finite state automata. Machinę Learning, 1995, 18, s. 149-185. 225. Ron D,, Rubinfeld R.: Exactly learning automata with smali cover time. Machinę Learning, 1997, 27, s. 69-96. 226. Ross S.: Introduction to Stochastic Dynamie Programming. Academic Press, New York, 1983. 227. Rumelhart D. E., Hinton G. E., Williams R. J.: Learning internal representations by error propagation. W: Rumelhart D. E., McClelland J. L. (Eds): Parallel Distributed Processing: Explorations in the Microstructure of Cognition, vol. 1, chapt. 8. MIT Press, 1986. 228. Rummery G. A., Niranjan M.: On-Iine Q-learning using connectionist systems. Technical Report CUED/F-INFENG/TR 166, Cambridge University, Engineering Department, 1994. 229. Russell B.: A History of Western Philosophy andlts Connection with Political and Social Circumstances from the Earliest Times to the Present Day. Simon & Schuster, 1975. 230. Russell B.: Mądrość Zachodu. Penta, 1995. 231. Russell S., Binder J., Koller D., Kanazawa K.: Local learning in probabilistic networks. W: Proceedings ofthe Fourteenth International Joint Conference on Artifi cial Intelligence (IJCAI-95). Morgan Kaufmann, 1995. 232. Russell S., Norvig R: Artificial Intelligence: A Modern Approach. Prentice-Hall, 1994.
876
LITERATURA
233. Safavin S. R., Landgrebe D.: A survey of decion tree classifier methodology. IEEE Transactions on Systems, Man, and Cybernetics, 1991, 21, s. 660-674. 234. Sakakibara Y.: On learning from ąueries and counterexamples in the presence of noise. Information Processing Letters, 1991, 37, s. 279-284. 235. Salton G.: Developments in automatic text retrieval. Science, 1991,253, s. 974-979. 236. Samuel A. L.: Some studies in machinę learning using the gamę of checkers. IBM Journal on Research and Development, 1959, 3, s, 210-229. Przedruk w: Feingenbaum E. A., Feldman J. (Eds): Computers and Thought, McGraw-Hill, New York, 1963. 237. Schlimmer J. C , Fisher D. H.: A case study of incremental concept induction. W: Proceedings of the Fifth National Conference on Artificial Intelligence (AAAI-86). MIT Press, 1986. 238. Schlimmer J. C : Incremental adjustmentof representationsin learning. W: Procee dings ofthe Fourth International Workshop on Machinę Learning (ML-87). Morgan Kaufmann, 1987. 239. Schlimmer J. C : Learning and representation change. W: Proceedings of the Sixth National Conference on Artificial Intelligence (AAAI-87). MIT Press, 1987. 240. Shafer J., Agrawal R„ Mehta M.: SPRINT: A scalable parallel classifier for data mining. W: Proceedings ofthe Twenty-Second VLDB Conference (VLDB-96). Morgan Kaufmann, 1996. 241. ShapiroE.: Algorithmic Program Debugging. MIT Press, 1983. 242. Shavlik J., Dietterich T. G. (Eds): Readings in Machinę Learning. Morgan Kauf mann, 1990. 243. Simon H. U.: A tutorial on the PAC-learning model. Materiał przedstawiony na Dagstuhł Seminar on the Theory and Practice of Machinę Learning, 1996. 244. Singh S. R: Reinforcement learning with a hierarchy of abstract models. W: Procee dings ofthe Tenth National Conference on Artificial Intelligence (AAAI-92). AAAI Press, 1992. 245. Singh S. P: Reinforcement learning algorithms for average-payoff Markovian de cision processes. W: Proceedings ofthe Twelfth National Conference on Artificial Intelligence (AAAI-94). AAAI Press, 1994. 246. Singh S. P, Jaakkola T., Jordan M. I.: Learning without state-estimation in partially observable Markovian decision processes. W: Proceedings ofthe Eleventh Interna tional Conference on Machinę Learning (ML-94). Morgan Kaufmann, 1994. 247. Singh S. P, Sutton R. S.: Reinforcement learning with replacing eligibility traces. Machinę Learning, 1996, 22, s. 123-158. 248. Singh S. R, Yee R. C : Technical notę: An upper bound on the loss from approximate optimal-value functions. Machinę Leaming, 1994,16, s. 227-233. 249. RSłowiński R. (Ed): Intelligenet Decision Support: Handbook of Applications and Advances ofthe Rough Sets Theory, vol. 11. Kluwer Academic Publishers, 1992. 250. Spirtes P, GlymourC, Scheines R.: Causation, Prediction, and Search. Springer-Yerlag, 1993.
LITERATURA
877
251. Srikant R., Agrawal R.: Mining generalizaed association rules. W: Proceedings ofthe Twenty-First International Conference on Very Large Databases (VLDB-95). Morgan Kaufmann, 1995. 252. Stepp R. E., Michalski R. S.: Conceptual clustering: Inventing goal-oriented classifications of structured objects. W: Michalski R. S., Mitchell T. M., Carbonell J. G. (Eds): Machinę Learning; An Artificial Intelligence Approach, vol. 2. Morgan Kauf mann, 1986. 253. Sutton R. S.: Temporal Credit Assignment in Reinforcement Learning. PhD the sis, University of Massachusetts, Department of Computer and Information Science, 1984. 254. Sutton R. S.: Learning to predict by the methods of temporal differences. Machinę Learning, 1988, 3, s. 9 ^ 4 . 255. Sutton R. S.: Integrated architectures for learning, planning, and reacting based on approximating dynamie programming. W: Proceedings ofthe Seventh International Conference on Machinę Learning (ML-90). Morgan Kaufmann, 1990, 256. Sutton R. S.: Generalization in reinforcement learning: Successful examples using sparse coarse coding. W: Advances in Neural Information Processing Systems 8. MIT Press, 1996. 257. Sutton R. S., Barto A. G.: Reinforcement Learning: An Introduction. MIT Press, 1998. 258. Sutton R. S., Whitehead S. D.: Online learning with random representations. W: Proceedings ofthe Tenth International Conference on Machinę Learning (ML-93). Morgan Kaufmann, 1993. 259. Tadepalli R, Dietterich T. G.: Hierarchical explanation-based reinforcement lear ning. W: Proceedings ofthe Fourteenth International Conference on Machinę Lear ning (ML-97). Morgan Kaufmann, 1997. 260. Tan M.: Cost-sensitive learning of classification knowledge and its application in robotics. Machinę Learning, 1993,13, s. 7-33. 261. Tatarkiewicz W.: Historia filozofii. Wydawnictwo Naukowe PWN, Warszawa, 1997. 262. Tesauro G.: Practical issues in temporal difference learning. Machinę Learning, 1992, 8, s. 257-277. 263. Thrun S. B.: The role of exploration in learning control. W: White D. A., Sofge D. A. (Eds): Handbook of Intelligent Control, s. 469-491. Van Nostrand Reinhold, New York, 1992. 264. Titterington D. M., Smith A. R M., Makov U. E.: Statistical Analysis of Finite Mixture Distributions. John Wiley and Sons, 1985. 265. Traczyk W.: Układy cyfrowe automatyki. Wydawnictwa Naukowo-Techniczne, War szawa, 1976. 266. Utgoff P. E.: Shift of Bias for Inductive Concept Learning. PhD thesis, Rutgers University, 1984. 267. Utgoff P. E.: Shift of bias for inductive concept learning. W: Michalski R. S., Mitchell T. M., Carbonell J. G. (Eds): Machinę Learning: An Artificial Intelligence Approach, vol. 2. Morgan Kaufmann, 1986.
878
LITERATURA
268. Utgoff RE.: Incremental induction of decision trees. Machinę Learning, 1989, 4, s. 161-186. 269. Utgoff R E., Berkman N. C , Cluse J. A.: Decision tree induction based on efficient tree restructuring. Machinę Learning, 1997, 29, s. 5-Ą4. 270. Utgoff R E., Percup D.: Constructive function approximation. Technical Report 97-04, University of Massachusetts, Department of Computer Science, 1997. 271. Valiant L. G.: A theory of the learnable. Communications of the ACM, 1984, 27, s. 1134-1142. 272. Waite W. M., Goose G.: Konstrukcja kompilatorów. Wydawnictwa Naukowo-Tech niczne, Warszawa, 1989. 273. Wallace C. S.: Classification by minimum-message-length inference. W: Advances in Computing and Information (ICCI-90). Springer-Verlag, 1990. 274. Wallace C. S., Dowe D. L.: MML mixture modelling of multi-state, Poisson, von Mises circular and Gaussian distributions. W: Proceedings ofthe Sixth International Workshop on Artificial Intelligence and Statistics, 1997. 275. Wallace C. S., Patrick J. D.: Coding decision trees. Machinę Learning, 1993, 11, s. 7-22. 276. Watkins C. J. C. H.: Learning from Delayed Rewards. PhD thesis, King's College, Cambridge, 1989. 277. Watkins C. J. C. H., Dayan R: Technical notę: Q-learning. Machinę Learning, 1992, 8, s. 279-292. 278. Weiss S. M., Kulikowski C. A.: Computer Systems That Learn: Classification and Prediction Methodsfrom Statistics, Neural Nets, Machinę Learning, and Expert Sys tems. Morgan Kaufmann, 1991. 279. Westphal C , Blaxton T.: Data Mining Solutions: Methods and To ols for Sohing Real-World Problems, John Wiley and Sons, 1998. 280. Whitehead S. D., Ballard D. H.: Learning to perceive and act by trial and error. Machinę Learning, 1991, 7, s. 45-83. 281. WidrowB.,HoffM.E.: Adaptiveswitchingcircuits. W: I960WESCON Convention Record Part IV, 1960. Przedruk w: Anderson J. A., Rosenfeld E. (Eds): Neurocomputing: Foundations of Research, The MIT Press, Cambridge, MA, 1988. 282. WinstonR H.: Learning Structural Descriptions from Examples. PhD thesis, Ma ssachusetts Institute of Technology, Artificial Intelligence Laboratory, 1970. 283. Wirth J., Catlett J.: Experiments on the costs and benefits of windowing in ID3. W: Proceedings ofthe Fifth International Workshop on Machinę Learning (ML-88). Morgan Kaufmann, 1988. 284. Wirth N.: Algorytmy + struktury danych = programy. Wydawnictwa Naukowotechniczne, Warszawa, 1990. 285. Wójcik M.: Zasada rezolucji: metoda automatycznego wnioskowania. Państwowe Wydawnictwo Naukowe, Warszawa, 1991. 286. Wnęk J.: Hypothesis-Driven Constructive Induction, PhD thesis, George Mason University, School of Information Technology and Engineering, 1993.
LITERATURA
879
287. Wnęk J„ Kaufman K. A., Bloedorn E., Michalski R. S.: Inductive learning system AQI5c: The method and user's guide. Technical Report MLI 95-4, George Mason University, Center for Machinę Learning and Inference, 1995. 288. Wnęk J., Michalski R. S.: Hypothesis-driven constructive induction in AQ17-HCI: A method and experiments. Machinę Learning, 1994, 14, s. 139-168. 289. Wolpert D.: Stacked generalization. Neural Networks, 1992, 5, s. 241-260. 290. Wróbel S.: Inductive logie programming. W: Brewka G. (Ed): Principles ofKnowledge Representation. CSLI Publications, 1996. 291. Zembowicz R., Zytkow J. M.: Discovery of eąuations: Experimental evaluation of convergence. W: Proceedings ofthe Tenth National Conference on Artificial Intelligence (AAAl-92), MIT Press, 1992. 292. Zhang W., Dietterich T. G.: A reinforcement learning approach to job-shop scheduling. W: Proceedings ofthe Fourteenth International Joint Conference on Artificial Intelligence (IJCAI-95). Morgan Kaufmann, 1995. 293. Zytkow J. M.: Combining many searches in the FAHRENHEIT discovery system. W: Proceedings of the Fourth International Workshop on Machinę Learning (ML-87). Morgan Kaufmann, 1987. 294. Zytkow J. M.: Deriving laws through analysis of processes and eąuations. W: Langley R, Shrager J. (Eds): ComputationalModelsofDiscovery andTheory Formation. Morgan Kaufmann, 1990. 295. Zytkow J. M., Zembowicz R.: Database exploration in search of regularities. Journal of Intelligent Information Systems, 1993, 2, s. 39-81.
Skorowidz Abstrakcja akcji, 782 stanów, 782 AD-drzewo,606, 614 agregacja, 249, 358, 384, 406, 409, 413, 422, 555, 572 dla atrybutów nominalnych, 413 wstępująca, 413 akcja dla automatu, 663 w procesie Markowa, 726 w uczeniu się ze wzmocnieniem, 715, 716 eksperymentalna, 766 niezgodna ze strategią, patrz akcja dla uczenia się ze wzmocnieniem eksperymentalna zgodna ze strategią, 766 aksjomat, 860 aktywna percepcja, 781, 783, 790 alfabet wejściowy, 661 wyjściowy, 664 algorytm AHC, 757-759, 779, 788 a iteracja strategii, 759 dla A > 0, 774 Apriori, 582-583 AQ, 214, 324, 539, 542, 559 bezpośredni MAP, 268, 271, 561 BOC, patrz klasyfikator optymalny bayesowski CAE, patrz algorytm eliminacji kandy datów ChiMerge, 397,413,421,428 CLUSTER/2,321,324 CN2, 228, 539, 559 COBWEB, 349, 372 EBG, 630, 634, 646, 656 eliminacji kandydatów, 122 EM, 364, 373 ESEL,552,614 FOCL, 647 FOIL, 646 dla pojęć zdaniowych, 539
ID3, 614 fcNN, 472, 485 L*, 673, 677, 686, 709 bez zapytań o równoważność, 682, 683, 709 najbliższego sąsiada, 471, 563, 781 dla uczenia się pojęć, 472 najciaśniejszego dopasowania, 102 NBC, patrz klasyfikator naiwny baye sowski NN, patrz algorytm najbliższego sąsia da Prolog-EBG, 656 Q-learning, 760-764, 779, 788 dla A > 0, 774 równoważności testów, 691, 693, 697 w perspektywie identyfikacji, 703 Sarsa, 763-764, 779, 789 dla A > 0, 774 TD, 754-755, 769 TD(0), patrz algorytm TD TDIDT, 146, 189 TD(A), 769-770, 773 zachłanny, 778 testowania równoważności, 709 ważonej większości, 565 większości, 127 wstecznej propagacji błędu, 488 algorytm uczenia się, 36 niestabilny, 562 niezależny od strategii, 762, 765 quasi-spójny, 107, 560 spójny, 103, 104,560 stabilny, 562 zależny od strategii, 758, 764, 765 algorytmy ewolucyjne, 799 alternatywa selektorów, 321 aproksymacja funkcji, 42, 433 pamięciowa, 438, 469, 490, 563 parametryczna, 438, 488, 586 symboliczna, 438, 475,490 w uczeniu się ze wzmocnieniem, 768 wykładniczo-gradientowa, 446, 489 aproksymator funkcji, 768 CMAC, 456, 481, 489, 779, 789
882
SKOROWIDZ
aproksymator funkcji CPN, 489 liniowy, 438, 441 pamięciowy, 469, 769, 781 RBF, 489 symboliczny, 476 architektura aktor-krytyk, 757 atrybut, 72, 494, 548 ciągły, 73, 383, 548 w algorytmie AQ, 248 w algorytmie CLUSTER/2,358-359 w algorytmie CN2,248 w algorytmie COBWEB, 359-361 w algorytmie TDIDT, 163 nieistotny, 410, 411, 555 nominalny, 73, 548 porządkowy, 73, 384, 548 w algorytmie AQ, 248 w algorytmie CN2, 248 w algorytmie TDIDT, 163 warunkowany, 569 warunkujący, 569 automat skończony, 659, 661, 780 deterministyczny, 661 docelowy, 667 Mealy'ego, 664, 665 minimalny, 663, 666 Moore'a, 664, 665 niedeterministyczny, 661, 703, 709 w perspektywie identyfikacji, 663-667, 670,671,690 w perspektywie lingwistycznej, 662663,667,670,671 automatyczne sterowanie, 56,479 optymalne, 779 Baza danych, 56, 547 relacyjna, 548 wiedzy, 52 błąd aproksymacji, 88, 434 średniokwadratowy, 89,435 względny, 89, 435 automatu w perspektywie identyfikacji, 669 w perspektywie lingwistycznej, 668 klasyfikacji, 83 próbki, 83, 566 rzeczywisty, 83
TD, 755, 758, 768-770 TD(0),pafrzbłądTD TD(A),769 w indukcyjnym programowaniu logicz nym, 508-509 próbki, 509 rzeczywisty, 509 brakujące wartości atrybutów, 177, 334, 558 przewidywanie, 333 w grupowaniu probabilistycznym, 354355 w indukcji reguł, 249 wypełnianie, 178, 180, 243 brzytwa Ockhama, 115, 169, 298, 555 Cecha, 433 aktywna, 454 w aproksymatorze CMAC, 458,462 rozszerzona, 449 cykl uczenia się, 436 czas pokrycia, 682,689, 690 część decyzyjna reguły, 195 część warunkowa reguły, 195, 197 Data mining, 547 definicja pojęcia docelowego, 626, 628 pełna, 628 poprawna, 628 dekompozycja zbioru trenującego, 555, 578, 585 długość kodu, 296 dla danych, 297 dla hipotezy, 296 dochód TD, 754 TD(A),773,775 obcięty, 785 TTD, 785 dodawanie atrybutów, 381,419 dodawanie przykładów do liścia drzewa grupowania, 349 do węzła drzewa grupowania, 340 doświadczenie, 715, 723 hipotetyczne, 781 dowód, 628, 631, 632, 860 drzewo decyzyjne, 139 interpretacja regułowa, 144 jako hipoteza, 140 randomizowane, 452 drzewo grupowania, 339 drzewo modelowania, 477,490
SKOROWIDZ
drzewo trie, 255 dyskretyzacja, 249, 358, 383, 385, 409, 428, 555, 572 bez nadzoru, 387,405 a grupowanie, 405 globalna, 386 jako hipoteza, 404 lokalna, 386 metody prymitywne, 385, 389 według równej częstości, 390 według równej szerokości, 389 wstępująca, 385, 397, 398,428 z nadzorem, 386 zstępująca, 385, 392,428 dystrybuanta zmiennej losowej, 854 dziedzina, 72, 548 w indukcyjnym programowaniu logicz nym, 496 w uczeniu się przez wyjaśnianie, 626 Eksperyment, 670, 691 dla algorytmu L*, 673 eksploatacja, 765 eksploracja, 762, 764, 783 baz danych, 546, 549, 550 emulacja automatu, 694 entropia, 153,231,394 estymacja przedziałowa, 95 estymator, 95 etykieta, 75 Formuła logiczna, 499, 858 atomowa, 499, 857 prawdziwa, 859 spełnialna, 859 spełniona, 859 fragmentacja drzewa decyzyjnego, 177 funkcja błędu, 439 charakterystyczna relacji, 495, 858 heurystyczna, 51, 52, 641, 778 w rachunku predykatów, 499, 525, 857 wygładzająca, 473 funkcja docelowa, 88,438 funkcja oceny grupowania probabilistycznego, 338, 372 dla atrybutów ciągłych, 360 klauzuli, 648 kompleksu, 219, 230 w algorytmie AQ, 220
883 w algorytmie CN2, 231 LEF, patrz funkcja oceny leksykograficzna leksykograficzna, 221, 331,417 literału, 524, 649 górne ograniczenie, 528 testu, 152, 154, 157, 158, 162, 190 węzła drzewa grupowania, 342 funkcja przejść automatu, 661 łańcuchowa, 662 procesu Markowa, 727 funkcja strategii, 757 funkcja wartości, 731,754 częściowa, 756 optymalna, 734, 740 w algorytmie AHC, 757 funkcja wartości akcji, 731 optymalna, 734,740 w algorytmie Q-learning, 760 funkcja wyjść automatu, 664 łańcuchowa, 665 funkcja wzmocnienia procesu Markowa, 726 funktor logiczny, 494, 499, 857 Gałąź drzewa decyzyjnego, 139 generalizacja, 54,123 dedukcyjna, 646 lokalna, 456 w aproksymatorze CMAC, 459 na podstawie wyjaśnień, patrz metoda EBG wyjaśnienia, 631, 635, 653 generowanie reguł asocjacyjnych, 579 gęstość prawdopodobieństwa, 306, 360, 363 głębokość drzewa decyzyjnego, 141 głosowanie, 565-567 ważone, 565, 567 gra planszowa, 779 grupowanie pojęciowe, 86, 317, 320 a podobieństwo przykładów, 319 a uczenie się z nadzorem, 367 euklidesowe, 363 hierarchiczne, 339 jako przeszukiwanie, 335 naiwne bayesowskie, 363 probabilistyczne, 334 według odległości, 361, 363, 372 za pomocą pokryć, 321 gwiazda, 216, 228, 324
884 gwiazda częściowa, 217, 248 zredukowana, 325 Hipoteza, 35, 53 bardziej ogólna, 118 bardziej szczegółowa, 118 bazowa, 561-563, 565 do indukcyjnego programowania lo gicznego, 507-508 pełna, 512 poprawna, 512 do uczenia się przez wyjaśnianie, 630 dopuszczalna, 78 MAP, 267, 271,295, 298 ML, 267 modelowania, 475 spójna, 103 zerowa, 410 Indukcyjne programowanie logiczne, 496, 645 informacja, 153,522,523 informacja trenująca, 43, 71 do aproksymacji funkcji, 8§, 437 do indukcyjnego programowania lo gicznego, 509-510 do tworzenia pojęć, 87 do uczenia się automatów, 670 do uczenia się pojęć, 79 do uczenia się ze wzmocnieniem, 725 wartościująca, 713 interakcje ze środowiskiem, 713-715, 717 interpolacja Shepparda, 473 inżynieria oprogramowania, 57, 797 IPL, patrz indukcyjne programowanie lo giczne iteracja strategii, 748, 759 wartości, 749, 759 wartości akcji, 760 Język docelowy, 667 Prolog, 632, 653 regularny, 663 rozpoznawany, 663 VLi,257 Kandydujące literały, 524
SKOROWIDZ
testy, 162 kategoria, 74 k-d drzewo, 485, 606 klasa abstrakcji, 692 klasa pojęć, 75 klasyfikacja, 42, 74 probabilistyczna, 566 w grupowaniu probabilistycznym, 354 w grupowaniu według odległości, 362 w grupowaniu za pomocą pokryć, 332334 za pomocą drzewa decyzyjnego, 140 probabilistyczna, 180-183 za pomocą naiwnego klasyfikatora bayesowskiego, 279 za pomocą przestrzeni wersji, 126 za pomocą zbioru reguł, 203 probabilistyczna, 205, 250 klasyfikator naiwny bayesowski, 275, 312, 334, 420,562,568,605,614 dla atrybutów ciągłych, 307 optymalny bayesowski, 272, 567 klauzula, 499, 628 bardziej ogólna, 506 Horna, 499, 507, 512, 625, 628, 630, 635 w postaci implikacji, 499 pusta, 499 kod, 296 binarny, 296 optymalny, 296 z korekcją błędów, 565 kodowanie, 295, 296 danych, 301-302, 405 drzew decyzyjnych, 299 dyskrętyzacji, 404 kompleksów, 300 literałów, 537 selektorów, 300 zbiorów reguł, 300 kodowanie mieszające, 131, 254, 484, 705 kolumna tablicy obserwacji, 673 kompilacja wiedzy wrodzonej, 625 kompleks, 118, 197, 198, 257, 320, 569 atomowy, 199,582 częsty, 579 pusty, 199 randomizowany, 453 sprzeczny, 199
SKOROWIDZ
kompleks uniwersalny, 199 warunkowany, 570 warunkujący, 570 zredukowany, 327 komunikat, 295 koniunkcja kompleksów, 201,580 literałów, 503, 507, 513, 514, 630, 631, 633, 635, 636, 646 selektorów, 201 nierównościowych, 247 przedziałowych, 247 konkatenacja napisów, 662 konkluzja klauzuli Horna, 499 konkretyzacja wzorca, 595, 596 konsekwencja logiczna, 860 syntaktyczna, 860 konstrukcja automatu w algorytmie L*, 676 konstruktywna aproksymacja, 489 konstruktywna indukcja, 408, 428 na podstawie danych, 408, 409, 429 na podstawie hipotez, 408, 409, 415, 416,429 na podstawie wiedzy, 408, 409, 429 kontrprzykład, 670, 673 korelacja, 408, 550, 604 krawędź sieci bayesowskiej, 284 krok czasu, 715, 754, 758, 760, 769 dowodu, 632 wyjaśnienia, 634 krotka, 495, 497, 628 kryteria Cochrana, 160, 190,411 kryterium stopu dla drzewa decyzyjnego, 148, 149 dla drzewa modelowania, 478 dladyskretyzacji wstępującej, 401 zstępującej, 396 dla konstruktywnej indukcji, 417 dla specjalizacji koniunkcji literałów, 520 krytyk, 44, 713, 717 krzywa uczenia się, 437 kwantyflkator, 499 domniemany w klauzuli, 500
885 Liść drzewa decyzyjnego, 139, 141 probabilistyczny, 172 drzewa grupowania, 339 liczba wag dla aproksymatora CMAC, 468 lingwistyka formalna, 708 lista decyzyjna, 208 literał, 625 docelowy, 507, 628, 634 komplementarny, 529 negatywny, 499 pozytywny, 499, 628 regresyjny, 637 logika formalna, 47 lokalne średnie ważone, 473, 485 łączenie przedziałów, 397, 398, 425 węzłów drzewa grupowania, 346-347 Makrooperator, 643, 655 MAP, patrz zasada maksymalnego prawdo podobieństwa a posteriori MDL, patrz zasada minimalnej długości ko du mediana, 407 megaindukcja, 614 metahipoteza, 475, 561, 562, 564, 565 metauczenie się, 275, 556, 561 metoda różnic czasowych, patrz metoda TD TD, 753, 788, 789 metoda EBG, 625, 646 metryka euklidesowa, 361, 470 skalowana, 363, 470 uogólniona, 482 ML, patrz zasada maksymalnej zgodności MML, patrz zasada minimalnej długości ko du model, 475 dla rachunku predykatów, 858 regresyjny, 475, 550 środowiska, 752, 753, 781 uczenia się, 98 ograniczania liczby pomyłek, 115 PAC, 99, 134,560 modelowanie mieszanin, 364, 373 modyfikacja wag dla aproksymatora liniowego, 442 dla aproksymatora parametrycznego, 440
886 modyfikacja wag dla rozproszonego przybliżonego kodo wania, 454,455 Monte-Carlo, 755, 760 m-szacowanie, 173, 191, 231, 277, 343 Nadmierne dopasowanie, 113,234,472,479, 520, 559, 622 nagroda, 715, 716 opóźniona, 717 najlepszy pojemnik, 346 napis, 662 pusty, 662 rozpoznawany, 663 następnik klauzuli Horna, 499 w sieci bayesowskiej, 285 bezpośredni, 285 nauczyciel, 43 negacja jako niepowodzenie, 652 neurofizjologia, 48 nurt biologiczny, 46 nurt systemowy, 46, 703 nurt teoretyczny, 46, 703 Obciążenie, 53,92-93, 133 absolutne, 93, 380 algorytmu AQ, 221 algorytmu EBG, 640 algorytmu eliminacji kandydatów, 128 preferencji, 93 reprezentacji, 93 w uczeniu się przez wyjaśnianie, 625 obliczanie wartości funkcji dla aproksymatora liniowego, 441 dla aproksymatora parametrycznego, 438 dla rozproszonego przybliżonego kodo wania, 454 ocena jakości grupowania za pomocą pokryć, 331 hipotezy, 417 uczenia się ze wzmocnieniem według średnich nagród, 718, 789 według dyskontowanych nagród, 718 odchylenie standardowe, 476, 590 odkrywanie asocjacji, 569 równań, 584 przez dekompozycję, 599
SKOROWIDZ
przez konkretyzację wzorców, 595 przez wykrywanie stałych pochod nych, 592 przez wykrywanie trendów i stałych, 587, 603 zależności w danych, 56,547, 549 odległość przykładów, 361,406,470, 552 euklidesowa, patrz metryka euklideso wa Hamminga, 471 odwracanie dedukcji, 529, 539, 543 ograniczenie liczby przykładów dolne, 112 górne, 106, 108,111 przestrzeni wersji ogólne, 120 szczegółowe, 120 okienkowanie, 175, 243, 551 operacyjność, 624, 626,629 operator, 641, 776 algorytmu COBWEB, 345 logiczny, patrz funktor logiczny optymalizacja kombinatoryczna, 779 optymalne ograniczenie liczby pomyłek, 116 organizacja pamięci aproksymatora pamię ciowego, 485-486 PAC, patrz model uczenia się PAC PAC-nauczalność, 99,134 efektywna, 100 właściwa, 100 perceptron, 132 prosty, 442 wielowarstwowy, 65,446,488 planowanie, 51, 642, 655, 781, 783, 790 podstawienie, 501, 633, 636 naturalne, 501, 504, 517 odwrotne, 531 spójne, 637 podział dla aproksymatora CMAC, 456, 457, 461 przedziału, 392 węzła drzewa grupowania, 347-348 pojęcie, 74, 75 docelowe, 75,76, 626, 627 pojedyncze, 75, 556, 565 predykatowe, 506, 542 wielokrotne, 74, 75, 336, 514, 565
SKOROWIDZ
pojecie wielokrotne zastępowanie pojęciami pojedynczy mi, 556 zdaniowe, 494 pokrywanie przykładów przez hipotezę, 78 przez klauzulę Horna, 503, 504 przez kompleks, 198, 322 przez koniunkcję literałów, 503, 510 przez literał, 503 przez regułę, 202 częściowe, 206 przez selektor, 198 pole rekordu, 548 poprawianie strategii, 749, 750, 757, 764 poprzednik klauzuli Horna, 499, 513 w sieci bayesowskiej, 285 bezpośredni, 285 porządek dla hipotez, 118 dla testów, 693, 697 leksykograficzny, 693 posługiwanie się strategią, 731 poziom drzewa decyzyjnego, 141 drzewa grupowania, 339, 340, 354 poziom istotności, 411 poziom ufności, 95 prawdopodobieństwa w węźle drzewa grupowania, 339 w węźle sieci bayesowskiej, 289, 365 prawdopodobieństwo danych, 268-271, 567 hipotezy a posteriori, 567 a priori, 265, 294, 304-306, 567 logiczne, 264 obiektywne, 264 statystyczne, 264 predykat, 495,496, 627, 857, 858 docelowy, 506, 507 problem decyzyjny Markowa, 726 proces decyzyjny Markowa, 726, 740 częściowo obserwowalny, 780 programowanie dynamiczne, 740, 788 programowanie przez demonstrację, 57 próba, 719 próbkowanie, 557, 563
887 krzyżowe, 563 wewnętrzne, 554 przecięcie zbiorów kompleksów, 201 przedrostek, 669 przedział dla atrybutów porządkowych, 406,407 dyskretyzacji, 387 przyległy, 398 przedział ufności, 95 dla błędu rzeczywistego, 97 przekłamania, 80, 113, 149, 243,538, 560 przekształcenia przestrzeni atrybutów, 381 przesłanki klauzuli Horna, 499, 503 przestrzeń atrybutów, 72, 378, 563 a obciążenie absolutne, 380 a obciążenie preferencji, 381 cech, 433,449 hipotez, 35 do aproksymacji funkcji, 88 do tworzenia pojęć, 86 do uczenia się pojęć, 77 stanów, 641,776 wersji, 104 zdarzeń elementarnych, 852 przesunięcie dla aproksymatora CMAC, 457, 461,467 przeszukiwanie heurystyczne, 50, 51, 640 przestrzeni literałów, 528 wiązkowe, 217, 595, 604 zachłanne, 595 przycinanie, 559 drzewa decyzyjnego, 190 X2, 172 od środka, 170 pesymistyczne, 172 po przekształceniu na reguły, 239 redukujące błąd, 171 w trakcie wzrostu, 169 drzewa modelowania, 479 zbioru klauzul, 536 zbioru reguł, 239, 240, 258 X2>241 pesymistyczne, 241 redukujące błąd, 241 przykład, 72, 548, 626 do odkrywania równań, 586 etykietowany, 75, 79 błędem, 437,469
SKOROWIDZ
przykład etykietowany wartością, 437, 469 negatywny, 74, 76 relacji, 498, 627, 652 nieetykietowany, 75 nie pokryty przez zbiór reguł, 205-207, 209 w grupowaniu za pomocą pokryć, 329 pozytywny, 74, 75 relacji, 498, 627, 652 ułamkowy, 178,249,559 przypisanie zasługi, 44 temporalne, 717 przyrost informacji, 154, 190, 648 psychologia, 48 eksperymentalna, 719 Rachunek predykatów, 495, 543, 623, 625 zdań, 494 randomizacja, 563 redukcja gwiazdy, 326 zbioru trenującego, 552 redundancja kodu, 296 regresja, 447, 489 globalna, 474 liniowa, 447, 474, 586, 595, 598 lokalna, 474 nieliniowa, 447, 474 rdzeniowa, 473 regresja wyjaśnienia, 635, 646 reguła, 195 interpretacja logiczna, 196 reguła aktualizacji śladu aktywności, 770 delta, 442, 474, 488 uogólniona, 440 znormalizowana, 442, 455 LMS, patrz reguła aktualizacji delta Q-learning, 760 Sarsa, 763 spadku gradientu, 439 addytywna, 446 multiplikatywna, 446 TD, 754, 769 TD(0), patrz reguła aktualizacji TD TD(A), 769
Widrowa-Hoffa, patrz reguła aktualiza cji delta reguła asocjacyjna, 569, 570, 577, 580 reguła wnioskowania, 529, 860 modus ponenSy 633 rekord, 548 rekurencja w algorytmie TDIDT, 186 w indukcyjnym programowaniu logicz nym, 525, 526 relacja, 495, 496, 627, 858 docelowa, 506 pomocnicza, 506 wrodzona, 506 relacja równoważności, 691 replikacja przykładów, 557 reprezentacja funkcji, 768, 783 parametryczna, 438, 769, 784 dla atrybutów dyskretnych, 448 randomizowana, 450, 489 dla atrybutów dyskretnych, 451 dla cech ciągłych, 451 rozszerzona, 448, 449 tablicowa, 756, 762, 768 reprezentacja maszynowa atrybutów, 130 drzew decyzyjnych, 185 klauzul, 540 kompleksów, 252-254 literałów, 540 przykładów, 131 selektorów, 253 tablicy obserwacji, 705 zbiorów kompleksów, 254-255 zbioru testów, 706 zbioru trenującego, 605 reprezentacja wiedzy, 41 subsymboliczna, 41 symboliczna, 41,475 rezolucja, 529, 530, 543, 632, 633 odwrócona, 530, 532 w indukcyjnym programowaniu lo gicznym, 534 rezolwenta, 530 robotyka, 57, 779 rozłączność kompleksów, 321, 327 zapewnianie, 327-329 rozdzielczość dla aproksymatora CMAC, 467
SKOROWIDZ
rozkład częstości kategorii, 153, 156, 157, 159, 170, 172, 205,230,231,233 nierównomierny, 557 wartości atrybutów, 341, 342 rozkład prawdopodobieństwa łączny wartości atrybutów, 288 w sieci bayesowskiej, 288 Boltzmanna, 767 X2, 160,234,400,411 dwumianowy, 96, 172, 856 jednostajny, 366, 856 normalny, 96, 360, 856 równomierny, 173, 563, 683, 689, 856 zmiennej losowej, 854 dyskretnej, 854 rozmiar hipotezy, 101 pojęcia, 101 przykładu, 100 rozmiar kroku, 440, 455, 597, 755 dobór wartości, 480 warunki zbieżności, 480 rozproszenie kompleksu, 322, 326, 327, 331, 333,359 rozproszone przybliżone kodowanie, 453, 769 dla atrybutów dyskretnych, 468 rozwiązywanie problemów, 640, 641, 650, 655,713,776 rozwijanie węzłów najpierw najlepszy, 186 w głąb, 186,609 wszerz, 186,609 równanie Bellmana, 740 dla funkcji wartości, 741, 755 dla funkcji wartości akcji, 741, 764 optymalności Bellmana, 741, 760 dla funkcji wartości, 742, 750 dla funkcji wartości akcji, 742, 764 równoważność automatów, 663 testów, 691,698 różnica kompleksów, 580 rzutowanie, 578 krotek, 516-518 przykładów, 382
889 Słowo kodowe, 296 scenariusz uczenia się ze wzmocnieniem, 715 schemat adresowania dla aproksymatora CMAC, 458, 463 sekwencja sprowadzająca, 684, 709 niepoprawna, 688 nieznana, 689 znana, 686 sekwencyjne pokrywanie, 212, 320, 512, 631,646 dla indukcyjnego programowania lo gicznego, 513 selekcja, 578 selektor, 118, 197,257 dysjunkcyjny, 119, 359 nierównościowy, 198, 247, 358, 359 pojedynczy, 119, 569 przedziałowy, 198, 247, 358, 359 pusty, 119 uniwersalny, 119, 569 sieci neuronowe, 64, 132, 361,433, 442, 562, 780, 789, 798 sieć bayesowska, 283, 284, 286 gradientowe wyznaczanie prawdopo dobieństw, 292-294 o poprawnej strukturze, 287 specjalizacja, 54, 123 dedukcyjna, 646 gwiazdy, 542 w algorytmie AQ, 216, 217 w algorytmie CLUSTER/2, 326 w algorytmie CN2, 229, 244 kompleksu, 201 koniunkcji literałów, 515 spełnianie literału negatywnego, 503 pozytywnego, 502 sprawdzanie równoważności testów, 701, 704 stała w rachunku predykatów, 499, 857 stan automatu, 661 efektywny początkowy, 686, 688 końcowy, 661, 662 początkowy, 661 problemu, 641, 776 docelowy, 641, 776 początkowy, 641 procesu Markowa, 726
890
SKOROWIDZ
stan
CLASSIT, 372 CLS, 189 CLUSTER/2, 320, 372 CLUSTER/S, 372 CN2,214, 243, 258, 429 COBWEB, 334, 340, 406 EPAM, 372 FOCL, 646, 649, 656 FOIL, 257, 512, 514, 521, 523, 524, 526, 528, 538, 543 ID3, 158, 189 INDUCE, 257,428,542 MIS, 542 PROGOL, 543 SLIQ,607,614 SPRINT, 614 STABB, 429 UNIMEM, 372 system wnioskowania, 860 sytuacja, 727 szacowanie błędu rzeczywistego, 97 prawdopodobieństw dla naiwnego klasyfikatora bayesowskiego, 275-277 dla węzła drzewa grupowania, 342 szeregowanie, 779, 790 szerokość przedziału dla atrybutów porządko wych, 407 rdzenia wygładzania, 473 wiązki, 217 sztuczna inteligencja, 49, 64 silna, 49, 67 słaba, 49 szybkość uczenia się, 436 ślad aktywności, 769,770, 788 akumulujący, 789 zastępujący, 789 środowisko, 713, 716 niedeterministyczne, 713 niekontrolowalne, 716 niepewne, 716 niestacjonarne, 713 nieznane, 716
środowiska, 715, 727, 776 absorbujący, 720 domniemany, 780 statystyczna istotność, 191, 408 atrybutu, 410 kompleksu, 230 statystyka, 47, 191,549 X2, 159, 233, 397, 399,410, 574 dla pary atrybutów, 411 dla przedziałów, 399 zakres wartości, 412 G 2 , 160,233 stóg, 706 strategia, 715, 716, 731 Boltzmanna, 767 deterministyczna, 731 e-zachłanna, 766 lepsza, 734 licznikowa, 767 niedeterministyczna, 731, 766 niestacjonarna, 731 optymalna, 734, 740 stacjonarna, 731 zachłanna, 736, 742, 758, 764 a strategia optymalna, 739 względem funkcji wartości, 737 względem funkcji wartości akcji, 737 suma kompleksów, 321, 358 symbol wejściowy, 661 wyjściowy, 664 system ekspercki, 50, 52, 59, 66, 548 system odkryć BACON, 585, 615 FAHRENHEIT, 615 FortyNiner, 573, 614 system uczący się AQ, 214, 243, 257,552 AQ11,257 AQ15, 257 AQ17-DCI,429 AQ17-HCI,429 AQ17-MCI,429 AQ18, 257 ASSISTANT, 189 C4, 189 C4.5, 189 ClPF 2,0, 429
Tabela bazy danych, 548 tablica kategorii, 607 wartości atrybutu, 607
891
SKOROWIDZ
tablica kontyngencji, 571 jako reprezentacja wiedzy, 577 tablica obserwacji, 673, 674, 686 domknięta, 675,678 spójna, 675, 678 temperatura, 767 teoria informacji, 47, 295 prawdopodobieństwa, 47, 265, 311 w sztucznej inteligencji, 311 sterowania, 48 uczenia się inferencyjna, 53, 66 obliczeniowa, 94 zbiorów przybliżonych, 801 teoria dziedziny, 623, 624, 626, 628 pełna, 623, 640, 650 poprawna, 623, 640, 650 term, 499, 857 test dla automatu, 691 kanoniczny, 693, 697, 698 kompatybilny, 704 kwadratowy, 693, 697, 698 okresowy, 701 dla drzewa decyzyjnego, 139 nierównościowy, 152, 163-165 przynależnościowy, 151, 163 równościowy, 150, 162 tożsamościowy, 150, 162 uwzględnianie kosztów, 162 test istotności, 410 X2>410 transmutacja wiedzy, 53, 54 tryb uczenia się, 435 epokowy, 91,436,440 w uczeniu się ze wzmocnieniem, 723 inkrementacyjny, 90, 343, 436, 437, 558, 768 w indukcji drzew decyzyjnych, 183, 190 w indukcji reguł, 251 w uczeniu się ze wzmocnieniem, 723 korekcyjny, 91,436,437 wsadowy, 90,436 w uczeniu się ze wzmocnieniem, 724 twierdzenie Bayesa, 265, 295, 311
tworzenie pojęć, 85-87, 317, 405 typ argumentu relacji, 498, 510 Uczenie się, 34 agnostyczne, 107 analityczne, 625 aproksymacji funkcji, 87-89 automatów, 667 bez nadzoru, 43 celowego zachowania, 713 jako przeszukiwanie, 55, 335, 800 jako wnioskowanie, 53 leniwe, 469 na bieżąco, 90 na podstawie prób i błędów, 713,725 na podstawie zapytań, 43, 672 na wyższym poziomie, 568 pojęć, 42, 74-85 zdaniowe, 494, 498 przez eksperymentowanie, 44, 690 przez wyjaśnianie, 65, 645, 656, 713 przyspieszania, 624, 643, 656 rozwiązywania problemów, 642, 776 z nadzorem, 43 ze wzmocnieniem, 44, 65, 656, 713 a problem decyzyjny Markowa, 739 a programowanie dynamiczne, 751 dyskontowane, 718 hierarchiczne, 782,790 zwierząt, 783 uczeń, 34 układanie, 783 ukryty łańcuch Markowa, 802 ukryty stan, 780 umiejętność, 35,713 unifikacja, 529, 633, 636, 637, 648 unifikator, 529 najbardziej ogólny, 529, 637 usuwanie atrybutów, 381,419,422, 555 usuwanie przykładów dla aproksymatora pa mięciowego, 483 uwzględnianie kosztu pomyłek, 308 testów, 161 Waga, 438 aktywna, 454 w aproksymatorze CMAC, 458,464 walidacja, 97 krzyżowa, 98,563 wariancja, 362, 590
892 wariancja zmiennej losowej ciągłej, 856 dyskretnej, 855 warstwa podziałów dla aproksymatora CMAC,457,461 wartościowanie formuły, 858 predykatu, 497,499, 506, 507, 510, 511 zmiennych, 858 wartościowanie strategii, 744, 749, 750 bezpośrednie, 744 iteracyjne, 745 wartość atrybutu warunkowana, 569 warunkująca, 569 wartość oczekiwana zmiennej losowej ciągłej, 855 dyskretnej, 855 wartość progowa dyskretyzacji, 388, 392 statystyki x2> 160 testu nierównościowego, 152, 163 warunkowa niezależność w sieci bayesowskiej, 286 wektor cech, 433, 438, 470 rozszerzony, 449 centralny, 361, 362 wartości atrybutów, 319, 322, 361, 494 węzeł drzewa decyzyjnego, 141 nierozwiniety, 607 drzewa grupowania, 339, 342 nowy, 346 sieci bayesowskiej, 284 wiarygodność reguły asocjacyjnej, 571, 580 wiązanie, 501, 531 wiedza, 35 deklaratywna, 36 proceduralna, 36, 713 wrodzona, 37, 71, 305, 620, 621, 645, 656 a inicjowanie hipotezy, 621 a modyfikacja celu przeszukiwania, 622 a modyfikacja strategii przeszukiwa nia, 622 w uczeniu się ze wzmocnieniem, 783
SKOROWIDZ
wiersz tablicy obserwacji, 673, 674 podstawowy, 674 rozszerzający, 674 własność Markowa, 727, 780 właściwość redukcji błędu dla funkcji wartości, 745 dla funkcji wartości akcji, 746 wnioskowanie, 53 automatyczne, 50, 628, 631 dedukcyjne, 53,497, 529, 624, 625, 652 monotoniczne, 621 indukcyjne, 44, 53, 71 obciążone, 53 w sieci bayesowskiej, 290, 313 wsparcie kompleksu, 571, 580 reguły asocjacyjnej, 571, 580 współczynnik dyskontowania, 718, 734, 779 generalizacji, 467 korelacji, 590, 595, 604 przyrostu informacji, 157 świeżości, 769 adaptacja wartości, 776 dobór wartości, 775 VCramera,412, 574 zróżnicowania, 692, 701 wybór literału do koniunkcji klauzuli, 521 przedziałów dla dyskretyzacji wstępu jącej, 402 testu dla drzewa decyzyjnego, 152, 154, 521 dla drzewa modelowania, 478 wartości progowej dla dyskretyzacji wstępującej, 396, 423 ziaren w algorytmie AQ, 222 w algorytmie CLUSTER/2, 330 wyjaśnianie, 44, 620, 624, 631 wyjaśnienie, 631 dla przykładu negatywnego, 653 jako ciąg klauzul, 633 wykorzystywanie wiedzy, 42 wymiana między eksploracją a eksploatacją, 765 wymiar Vapnika-Chervonenkisa, 109 wyrocznia, 44, 99 wzmocnienie, 715-718, 779, 787
SKOROWIDZ
wzmocnienie opóźnione, 717 wzorzec równania, 595 minimalny, 601 w tablicy kontyngencji, 573 statystycznie istotny, 575 wzór Bayesa, 266, 295, 337, 567, 568 określający prawdopodobieństwo cał kowite, 266 Zadanie epizodyczne, 719, 720, 723, 724 do-porażki, 721-722 do-sukcesu, 721, 776 nieskończone, 720, 723 zadanie uczenia się aproksymacji funkcji, 89 automatów, 667 pojęć, 85 predykątowych, 511-512 przez wyjaśnianie, 626 sieci bayesowskich, 291-292 tworzenia pojęć, 87 ze wzmocnieniem, 713 zależność atrybutów, 409, 411 funkcyjna, 412 wyższego rzędu, 414 w bazie danych, 548 założenie o niezależności, 279 o zamkniętości świata, 509, 652 zapytanie do aproksymacji funkcji, 88, 471 do tworzenia pojęć, 87 do uczenia się pojęć, 79 o przynależność, 670, 672, 674 o równoważność, 670, 672, 675, 678 zasada maksymalnego prawdopodobieństwa a posteriori, 267 maksymalnej zgodności, 267 minimalnej długości kodu, 294, 297, 312,418,555,566 dla drzew decyzyjnych, 303 dla dyskretyzacji, 404, 428 dla grupowania pojęciowego, 365, 373
893 dla indukcyjnego programowania lo gicznego, 537 dla kompleksów, 303 MDL a MML, 295 optymalności Bellmana, 742 rezolucji, patrz rezolucja zastępowanie atrybutów, 381, 382 zawartość pamięci aproksymatora pamięcio wego, 470 zawieranie się kompleksów, 580 zbieżność, 756 algorytmu AHC, 759 algorytmu Q-learning, 762 algorytmu Sarsa, 764 algorytmu TD, 756 metod TD, 789 z prawdopodobieństwem 1, 756 zbiór pierwotny, 416 przycinania, 169, 240 trenujący, 79, 436 do aproksymacji funkcji, 88 do indukcyjnego programowania lo gicznego, 510 do odkrywania równań, 585, 586 do tworzenia pojęć, 87 do uczenia się pojęć, 79, 80 lokalny, 516 niepoprawny, 80, 113, 218, 244, 520, 535,538,559,590,651 zaszumiony, patrz zbiór trenujący niepoprawny wtórny, 416 zbiór reguł, 512 jako hipoteza, 202-210 nieuporządkowany, 204, 214 uporządkowany, 208, 228 zbiór wartości dozwolonych, 197, 218, 321, 328, 359 zdyskontowana suma nagród, 718, 720 zerowanie, 671 ziarno, 215, 324 negatywne, 216,244 pozytywne, 216, 244 zliczanie przykładów, 605 złożenie podstawień, 531 złożoność hipotezy, 93, 298 do aproksymacji funkcji, 435
894
SKOROWIDZ
złożoność hipotezy do indukcyjnego programowania lo gicznego, 512 obliczeniowa algorytmu AQ, 242 algorytmu CN2, 242 algorytmu TD(A), 783 algorytmu TDIDT, 174 naiwnego klasyfikatora bayesowskiego, 280 zbioru kompleksów, 210-211
zmienna w równaniu, 585 niezależna, 586 zależna, 586 w rachunku predykatów, 499, 857 wolna, 499, 858 związana, 499, 858 zmienna losowa, 854 ciągła, 855 dyskretna, 854 znajdowanie częstych kompleksów, 581
WNT. Warszawa 2000. Wyd. I Ark. wyd. 75,0. Ark. druk. 56,0 Symbol Et/20750/MEN Zakład Poligraficzno-Wydawniczy POZKAL