Model ogólny Ogólne schematy uczenia si e Uczenie si e
Transkrypt
Model ogólny Ogólne schematy uczenia si e Uczenie si e
Model ogólny Ogólne schematy uczenia sie֒ Performance standard Sensors Critic changes knowledge Performance element learning goals Problem generator Agent Environment feedback Learning element uczenie sie֒ schematyczne” ” zapamie֒ tywanie i uogólnianie opracowanych przez agenta rozwia֒zań, w celu sprawniejszego rozwia֒zywania podobnych problemów w przyszlości uczenie sie֒ indukcyjne agent ma możliwość obserwacji pewnego zjawiska przez jakiś czas, np. wartości pewnych parametrów na serii przykladów, i zbudowania sobie modelu tego zjawiska, na podstawie którego móglby później odpowiadać na pytania dotycza֒ce zjawiska (w tym swoje wlasne pytania, pojawiaja֒ce sie֒ w trakcie pracy nad jakimś zadaniem) experiments Effectors Metody uczenia sie֒ — model ogólny uczenie sie֒ twórcze” ” schemat uczenia sie֒ nie ograniczony do zamodelowania jakiejś nieznanej funkcji, ale umożliwiaja֒cy tworzenie nowych technik, algorytmów, schematów reprezentacji, itp., na przyklad nauczenie sie֒ matematyki do tego stopnia by umieć samemu formulować nowe hipotezy, znajdować ich dowody, a także tworzyć nowe poje֒ cia, które maja֒ tylko luźny zwia֒zek z dotychczas znanymi 1 Metody uczenia sie֒ — model ogólny 3 Uczenie sie֒ schematyczne” ” Elementy agenta ucza֒cego sie֒ (na ble֒ dach): element wykonawczy (performance element) — podejmuje decyzje o dzialaniu, jest jakby calym inteligentnym agentem bez zdolności uczenia sie֒ Przyklad: planowanie dzialań element uczacy sie֒ (learning element) — obserwuje skuteczność dzialań ֒ agenta, wprowadza usprawnienia do jego algorytmu dzialania Agent może zapamie֒ tać sobie sekwencje֒ operatorów prowadza֒ca֒ do rozwia֒zania oczekuja֒c, że w razie ponownego otrzymania tego samego zadania be֒ dzie mógl zastosować gotowy plan. element oceniajacy (critic) — ocenia jakość dzialań agenta, posluguje sie֒ ֒ zewne֒ trznym (ustalonym) wzorcem poprawności dzialań generator zadań (problem generator) — potrzebny, jeśli agent ma wole֒ eksperymentowania w celu znalezienia nowych możliwości i technik dzialania; normalnie, element wykonawczy wykorzystywalby swoje możliwości dla podejmowania tylko optymalnych w swoim poje֒ ciu dzialań, i móglby nigdy nie odkryć nic istotnie nowego Może również spróbować uogólnić ten plan, zaste֒ puja֒c konkretne wartości parametrami, i otrzymuja֒c w efekcie schemat planu dzialań, stanowia֒cy pewnego rodzaju makro-operator z latwymi do określenia warunkami stosowalności i rezultatami. Istnieja֒ konkretne techniki takiego uogólniania sekwencji operatorów, z których bardziej wyrafinowane moga֒ wprowadzać do planu warunki, pe֒ tle, itp., w efekcie przerabiaja֒c sekwencje akcji na male programy. Oczywiście, budowa elementu ucza֒cego sie֒ silnie zależy od podstaw dzialania elementu wykonawczego, np. na stosowanej metodzie reprezentacji wiedzy (przestrzeń stanów, reguly, logika predykatów, sieci przekonań). Metody uczenia sie֒ — model ogólny 2 Metody uczenia sie֒ — model ogólny 4 Uczenie sie֒ indukcyjne — warianty Uczenie sie֒ indukcyjne — model ogólny Najprostsza forma: uczenie sie֒ nieznanej funkcji f (x) na podstawie serii par hx, f (x)i. uczenie sie֒ nadzorowane (z nauczycielem) Agent otrzymuje informacje w postaci serii par wejście-wyjście, i uczy sie֒ odwzorowania wejść do wyjść. Na przyklad, para֒ mogloby być: Na przyklad, agent może otrzymywać od nauczyciela instrukcje֒ dzialań dla bieża֒cych perceptów, np. zielone światlo-ruszaj, przeszkoda-hamuj, itp. W innej sytuacji, agent może uczyć sie֒ rozpoznawania wzorców w otrzymywanych próbkach danych, np. rozpoznawania znaków drogowych na podstawie obrazu z kamery. W jeszcze innej sytuacji, agent może uczyć sie֒ efektów swoich wlasnych dzialań w różnych warunkach, np. dlugości drogi hamowania, w zależności od stanu drogi, pogody, pre֒ dkości, i sily hamowania. * O O X X X + , +1 . Zadanie: na podstawie serii przykladów ucza֒cych znaleźć hipoteze֒ h taka֒, że h ≈ f. Na przyklad, dopasowanie nieznanej krzywej: f(x) Po otrzymaniu każdej nowej pary ucza֒cej (x, y) agent może na jej podstawie zarówno usprawniać swój model zjawiska, jak i go weryfikować, próbuja֒c samemu niezależnie określić y. x Metody uczenia sie֒ — model ogólny 5 uczenie sie֒ ze wzmocnieniem Agent otrzymuje od nauczyciela nie bezpośrednie pary wartości (x, y), ale ocene֒ jakości jego dzialania w postaci okazjonalnej nagrody (lub kary), zwanej wzmocnieniem (reinforcement). Zatem agent nie wie które jego akcje najbardziej wplyne֒ ly na otrzymane wzmocnienie, oraz czy i jak powinien zmodyfikować swój model zjawiska/otoczenia. Musi dojść do tego przez obserwacje֒ i porównywanie otrzymywanych wzmocnień. Metody uczenia sie֒ — model ogólny f(x) f(x) x f(x) Np. w takiej sytuacji bylby agent ucza֒cy sie֒ gry w szachy wyla֒cznie na podstawie uzyskiwanych końcowych wyników gry. uczenie sie֒ nienadzorowane (bez nauczyciela) W tym przypadku agent w ogóle nie otrzymuje żadnych wartości wyjść ani wskazówek. Może jedynie sam obserwować sekwencje֒ perceptów (wejść) i uczyć sie֒ wyste֒ puja֒cych w niej wzorców aby móc w przyszlości przewidywać pewne sekwencje wartości. x f(x) x x Zasada brzytwy Ockhama: spośród hipotez, które jednakowo dobrze wyjaśniaja֒ dane zjawisko, wybierz najprostsza֒ — te֒ która wymaga dokonania najmniejszej liczby zalożeń. To uczenie sie֒ nie dotyczy bezpośrednio akcji agenta, nie może on w ten sposób nauczyć sie֒ co ma robić, chyba że posiada funkcje֒ użyteczności stanów (ale wtedy bylby to rodzaj uczenia sie֒ ze wzmocnieniem). Metody uczenia sie֒ — model ogólny 7 6 Metody uczenia sie֒ — model ogólny 8 Drzewa decyzyjne — wstep ֒ Drzewa decyzyjne — zasady Chcemy zautomatyzować podejmowanie wste֒ pnych decyzji o przyznawaniu przez bank kredytów w celu ulatwienia pracy ludziom podejmuja֒cym ostateczne decyzje. Mamy pelna֒ historie֒ przyznanych wcześniej kredytów — czy jesteśmy w stanie czegoś sie֒ na tej podstawie nauczyć? i. - n. - wiek 30 42 46 55 35 22 28 pleć M K M M M K M brutto 18,000 12,000 58,000 22,500 36,000 30,000 25,000 wykszt. wyższe wyższe wyższe średnie wyższe wyższe zawod. zatrud. 2 8 14 6 4 <1 8 karany N N N T N N N ... ... ... ... ... ... ... ... kredyt T N T N T N T • Za pomoca֒ drzewa decyzyjnego można zapisać funkcje֒ binarna֒ wyrażona֒ przez dowolny zbiór przykladów: pozytywnych i/lub negatywnych, jeśli tylko jest niesprzeczny. • Trywialna konstrukcja drzewa decyzyjnego: kolejne poziomy odpowiadaja֒ sprawdzanym atrybutom, a gale֒ zie drzewa wyrastaja֒ce na każdym poziomie odpowiadaja֒ konkretnym wartościom tych atrybutów. • Jednak taka konstrukcja jedynie zapamie֒ tuje poznane przypadki: jeśli dany przypadek pojawi sie֒ ponownie to zostanie znaleziony na drzewie, ale jeśli pojawilby sie֒ przypadek odpowiadaja֒cy nieznanej kombinacji atrybutów, to drzewo nie zawieraloby odpowiedzi. Mamy zbiór rekordów z wieloma atrybutami, chcemy znaleźć algorytm wyznaczenia wartości wybranego atrybutu (kredyt) na podstawie wartości pozostalych atrybutów. • Przydalaby sie֒ metoda konstrukcji drzewa decyzyjnego zdolna do uogólniania obserwacji, np. przez grupowanie przypadków jak w przedstawionym przykladzie. Taki algorytm latwo skonstruować przy pomocy drzewa decyzyjnego. Metody uczenia sie֒ — drzewa decyzyjne 9 ✬ ✫ ✩ karany ✪ ✑PPP PP ✑ PP ✑ PP ✑ Pq ✑ ✰ ✑ ✬ P T N N ✫ ✚❩ ✚ ❩ ✚ ❩ ✚ ❩ ✚ ❂ ❩ ⑦ K N M 11 • Trzeba jednak zauważyć, że w ogólności istnieje bardzo dużo funkcji n binarnych (22 dla n atrybutów), i nie wszystkie dadza֒ sie֒ uogólnić przez grupowanie. ✩ pleć Metody uczenia sie֒ — drzewa decyzyjne Na przyklad, funkcja parzystości (sprawdzaja֒ca czy liczba przypadków z dana֒ wartościa֒ atrybutu jest parzysta), albo funkcja wie֒ kszości, dadza֒ sie֒ wyrazić jedynie pelnym, eksponencjalnej wielkości drzewem decyzyjnym, za to obie dadza֒ sie֒ wyrazić stosunkowo prostymi schematami obliczeniowymi. ✪ T Zauważmy: • Takie drzewo zawsze uda sie֒ skonstruować, chyba żeby istnialy dwa wektory identycznych atrybutów, z różnymi decyzjami kredytowymi — nielogiczne. • Zatem drzewa decyzyjne maja֒ sens wtedy, gdy można nimi wyrazić istote֒ jakiegoś poje֒ cia (zadanego zbiorem przykladów) w sposób zwarty, minimalny. Poszukiwana metoda konstrukcji drzew decyzyjnych powinna zatem utworzyć minimalne drzewo klasyfikuja֒ce dane zjawisko. • Fakt, że drzewo udalo sie֒ stworzyć, nie gwarantuje jeszcze, że be֒ dzie ono prawidlowo dzialać, tzn. slusznie przewidywać decyzje kredytowe. Być może trzeba zatem stworzyć szereg alternatywnych drzew, i przetestować je na dodatkowym zbiorze danych testowych. • Niestety, stworzenie drzewa decyzyjnego dokladnie minimalnego jest problemem trudnym — wymaga zbudowania wszystkich drzew. • Niektóre atrybuty należy pominać ֒ (np. imie֒ i nazwisko). • Zamiast tego można zastosować procedure֒ heurystyczna֒ wybieraja֒c po kolei najważniejsze atrybuty. • Inne atrybuty maja֒ specyficzne zbiory wartości (np. dochody brutto, lata pracy), co wtedy? Przedzialy wartości? Metody uczenia sie֒ — drzewa decyzyjne 10 Metody uczenia sie֒ — drzewa decyzyjne 12 Przyklad: decyzja czy czekać w restauracji Example X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 Alt T T F T T F F F F T F T Bar F F T F F T T F T T F T F ri F F F T T F F F T T F T Hun T T F T F T F T F T F T Attributes P at P rice Some $$$ Full $ Some $ Full $ Full $$$ Some $$ None $ Some $$ Full $ Full $$$ None $ Full $ Rain F F F F F T T T T F F F Res T F F F T T F T F T F F T ype French Thai Burger Thai French Italian Burger Thai Burger Italian Thai Burger Est 0–10 30–60 0–10 10–30 >60 0–10 0–10 0–10 >60 10–30 0–10 30–60 Przyklad: podejście systematyczne Target WillWait T F T T F T F T F F F T Alternate — czy w pobliżu jest inna przyzwoita” restauracja ” Bar — czy restauracja ma bar, w którym można wygodnie poczekać Fri/Sat — czy to jest pia֒tek albo sobota Hungry — czy jesteśmy bardzo glodni Patrons — jak dużo ludzi jest w restauracji (już przy stolikach) Price — jak droga jest restauracja Raining — czy na dworze pada Reservation — czy mieliśmy zrobiona֒ rezerwacje֒ Type — rodzaj restauracji, czyli serwowana kuchnia WaitEstimate — oszacowanie czasu oczekiwania (przez kelnera) Metody uczenia sie֒ — drzewa decyzyjne Gromadzimy zestaw przykladów ucza֒cych i przymierzamy” różne atrybuty: ” Który atrybut jest lepszym kandydatem do budowy drzewa decyzyjnego? Wydaje sie֒ , że Patrons”. W dwóch przypadkach jednoznacznie determinuje on ” wynik, a w trzecim, pomimo iż wynik nie jest już jednoznaczny, to i tak jeden wynik ma przewage֒ ilościowa֒. Jednak w ogólnym przypadku wybór niekoniecznie be֒ dzie tak oczywisty jak tu. Zatem jak można sformalizować istote֒ takiego porównania? 13 Metody uczenia sie֒ — drzewa decyzyjne Przyklad: drzewo zbudowane ad-hoc” ” Zawartość informacji Kluczowym poje֒ ciem jest informacja. Ona jest potrzebna do określania odpowiedzi na pytania. Jeśli pocza֒tkowo nie znamy odpowiedzi na jakieś pytanie, to poznaja֒c te֒ odpowiedź zyskujemy informacje֒ . Patrons? None F Some Full T WaitEstimate? >60 30−60 F 10−30 Alternate? No Yes Bar? No T Yes F Metody uczenia sie֒ — drzewa decyzyjne T No Fri/Sat? No F 0−10 Hungry? Yes Reservation? No 15 T Yes T Poje֒ ciem stosowanym w teorii informacji do mierzenia tego zysku informacji jest entropia. Jednostka֒ stosowana֒ do pomiaru entropii jest bit. Jeśli zmienna losowa ma dwie możliwe wartości (np. wynik rzutu moneta֒) z równomiernym rozkladem prawdopodobieństwa h 12 , 21 i, to entropia tej zmiennej, równa zyskowi informacji wynikaja֒cemu z poznania jej wartości, wynosi 1 bit. T Yes Alternate? No T Yes Raining? No F Yes Gdyby jednak moneta nie byla równo wyważona, np. spadalaby orlem do góry w 99% przypadków, jej entropia bylaby mniejsza. W skrajnym wypadku, wynik rzutu moneta֒, która zawsze spada orlem do góry, ma entropie֒ równa֒ zero bitów, bo nie wnosi żadnej informacji. T 14 Metody uczenia sie֒ — drzewa decyzyjne 16 Entropia Budowa drzewa decyzyjnego Entropia zmiennej losowej V ze zbiorem wartości vk jest zdefiniowana jako: H(V ) = X P (vk ) log2 k Zbiór próbek należa֒cy do pewnej liczby klas c1, c2, ...cn dzielimy na grupy wedlug pewnego klucza (atrybutu) i instalujemy te grupy jako gale֒ zie drzewa, którego korzeniem jest wyjściowy zbiór próbek. X 1 =− P (vk ) log2 P (vk ) P (vk ) k ncb − liczba próbek klasy c w gale֒ zi b Na przyklad, dla rzutu moneta֒, która spada orlem do góry w 99% przypadków, entropia wynosi: H = −(0.99 log2 0.99 + 0.01 log2 0.01) ≈ 0.08 bitów W przypadku losowego wyboru ze zbioru n+ próbek pozytywnych i n− negatywnych, z równomiernym rozkladem prawdopodobieństwa, mamy entropie֒ : H(h nb − calkowita liczba próbek w gale֒ zi b nt − calkowita liczba próbek we wszystkich gale֒ ziach Entropie֒ pojedynczej gale֒ zi obliczamy ze wzoru: n− n+ n− n+ n− n+ , + i) = − + log2 + − + log2 + + − − − − − n +n n +n n +n n +n n +n n + n− 6 6 1 1 , i) = − (−1) − (−1) = 1 12 12 2 2 H= 17 Wybór atrybutu Im mniejsza jest entropia, tym latwiej znaleźć odpowiedź na pytanie (sklasyfikować próbke֒ ). Zatem wybieraja֒c podzbiór Ek (galaź ֒ drzewa wyrastaja֒ca֒ z atrybutu A), be֒ dziemy potrzebowali dodatkowych n− k odpowiedź na pytanie. k ncb ) nb X nb nt × Hb = X nb b nt ×( X nc b c nb (− log2 ncb )) nb Metody uczenia sie֒ — drzewa decyzyjne 19 Drzewo zbudowane ta֒ metoda֒ jest minimalnym drzewem zapewniaja֒cym klasyfikacje֒ danego zbioru próbek. Uczenie sie֒ nieznanych pojeć ֒ ta֒ metoda֒ odpowiada filozofii brzytwy Ockhama: najprostsza struktura zgodna z obserwacjami danego poje֒ cia jest zapewne poprawna. k k H(Ek ) = H(h n++n i) bitów informacji, aby znaleźć ostateczna֒ −, + n +n− k nb (− log2 Obliczaja֒c w ten sposób wartości oczekiwane entropii dla podzialów generowanych przez różne atrybuty możemy wyznaczyć atrybut zapewniaja֒cy minimalna֒ entropie֒ , czyli maksymalny zysk informacji ulatwiaja֒cej identyfikacje֒ klasy. Jeśli dla wybranego atrybutu w niektórych gale֒ ziach nadal pozostana֒ niejednorodne zbiory próbek, to te֒ procedure֒ należy powtórzyć indywidualnie dla podzbiorów w tych gale֒ ziach, buduja֒c w ten sposób kompletne drzewo decyzyjne. Buduja֒c drzewo decyzyjne wybieramy atrybut A, który podzieli ucza֒cy zbiór próbek E na d podzbiorów E1, . . . , Ed. Każdy podzbiór Ek ma n+ k próbek pozytywnych i n− negatywnych. k n+ b c b Metody uczenia sie֒ — drzewa decyzyjne X nc Sumaryczna֒ entropie֒ wszystkich gale֒ zi wynikaja֒ca֒ z podzialu zbioru próbek ze wzgle֒ du na wartości danego atrybutu można obliczyć jako: Dla 12 próbek przykladu z restauracja֒ mamy n+ = n− = 6 i entropie֒ : H(h Hb = k Nowa losowo wybrana próbka trafi do gale֒ zi Ek z prawdopodobieństwem n+ +n− k k n+ +n− zatem oczekiwana wartość entropii pozostaja֒cej po wykonaniu sprawdzenia atrybutu A wynosi: d X n+ + n− k k=1 k n+ + n− H(Ek ) Chcemy tak wybrać atrybut A aby te֒ pozostaja֒ca֒ entropie֒ minimalizować. Metody uczenia sie֒ — drzewa decyzyjne 18 Metody uczenia sie֒ — drzewa decyzyjne 20 Drzewa decyzyjne — wybór glównego atrybutu: przyklad Obliczmy entropie֒ kolejnych atrybutów dla przykladu decyzji kredytowych: i. - n. - wiek 30 42 46 55 35 22 28 pleć M K M M M K M brutto 18,000 12,000 58,000 22,500 36,000 30,000 25,000 wykszt. wyższe wyższe wyższe średnie wyższe wyższe zawod. zatrud. 2 8 14 6 4 <1 8 karany N N N T N N N ... ... ... ... ... ... ... ... Drzewa decyzyjne: wynik dla przykladu z restauracja֒ Konstrukcja kompletnego drzewa dla przykladu z restauracja֒ daje poniższy wynik: kredyt T N T N T N T Patrons? None F Some Full T Hungry? Yes Type? French T Italian No F Thai Burger T Fri/Sat? F No F Yes T Entropia glównego atrybutu (Patrons) wynosi 0.459 bitów, zatem zysk informacyjny tego atrybutu jest 0.541. Metody uczenia sie֒ — drzewa decyzyjne 21 Metody uczenia sie֒ — drzewa decyzyjne 23 22 Metody uczenia sie֒ — drzewa decyzyjne 24 Komplet wartości entropii dla wszystkich atrybutów: Ewiek Epleć Ebrutto Ewykszt. Ezatrud. Ekarany = = = = = = 4.00/7 3.61/7 4.76/7 4.85/7 6.76/7 5.51/7 = = = = = = 0.571 0.516 0.680 0.694 0.965 0.787 Zatem wybranym atrybutem glównym o najmniejszej entropii jest Pleć. ✬ ✫ N ✩ ✪ ✑PPP PP ✑ PP PP Pq ✬ P K✑✑✑ ✰ ✑ Pleć M ✫ ??? ✩ ✪ Ćwiczenie: wyznacz kolejny atrybut dla gale֒ zi Pleć=M. Metody uczenia sie֒ — drzewa decyzyjne Skuteczność procesów uczenia sie֒ Skuteczność uczenia sie֒ (cd.) Jak stwierdzić, czy wynik uczenia sie֒ (drzewo decyzyjne) jest poprawny? Skuteczność uczenia sie֒ można najprościej wyrazić obliczaja֒c procentowa֒ poprawność klasyfikacji na zbiorze testowym. Można wyznaczyć jej zależność od wielkości zbioru ucza֒cego, otrzymuja֒c wykres zwany krzywa֒ ucza֒ca֒: Analiza krzywej ble֒ du na zbiorze testowym może wykazać niezdolność nauczenia sie֒ rozpoznawania danego zjawiska na podstawie danych zawartych w zbiorze ucza֒cym (non-realizability ). Może ono być wynikiem brakuja֒cych atrybutów, albo zbyt ograniczonym zbiorem dopuszczalnych hipotez. % correct on test set 1 % correct 0.9 1 realizable 0.8 redundant 0.7 nonrealizable 0.6 0.5 # of examples 0.4 0 10 20 30 40 50 60 70 80 90 100 Training set size Krzywa uczenia sie֒ może też wskazywać zjawisko bardzo powolnego uczenia sie֒ , gdzie przez dluższy czas trudno określić, czy poprawność zmierza do 100%. Może to być wynik nadmiaru informacji, na przyklad uwzgle֒ dnienia dużej liczby nieistotnych atrybutów. Nieosia֒gnie֒ cie 100%-owej skuteczności uczenia sie֒ może być wynikiem: (i) ble֒ dów w danych, (ii) ble֒ dnego procesu uczenia sie֒ , lub (iii) ogólnej niemożności nauczenia sie֒ danego zjawiska. Metody uczenia sie֒ — skuteczność 25 Bledy danych ֒ 27 Uogólnianie i nadmierne dopasowanie Wszystkie procesy uczenia sie֒ indukcyjnego sa֒ w mniejszym lub wie֒ kszym stopniu wrażliwe na ble֒ dy w danych. Ble֒ dy takie obejmuja֒: niepoprawnie, niedokladnie zarejestrowane, lub brakuja֒ce wartości atrybutów, albo niepoprawnie zarejestrowany wynik klasyfikacji. Ble֒ dy takie moga֒ powstać w procesie calkowicie poprawnym i wynikać np. ze stosowania w różnych okresach czasu różnych urza֒dzeń rejestruja֒cych, albo nieco różnia֒cych sie֒ algorytmów decyzyjnych. Moga֒ również wynikać z przeklamań różnej natury. Ponieważ powstawanie takich ble֒ dów w rzeczywistych procesach uwzgle֒ dniaja֒cych tysia֒ce lub setki tysie֒ cy próbek jest nieuniknione, wrażliwość metody uczenia na takie ble֒ dy należy zawsze rozważyć. W rzeczywistych przypadkach indukcyjnego uczenia sie֒ moga֒ zdarzać sie֒ przypadki, kiedy poszukiwana wynikowa klasa próbki ma wartość albo w ogóle przypadkowa֒, niezwia֒zana֒ z pomierzonymi atrybutami, albo zwia֒zana֒ z nimi tylko cześ ֒ ciowo. Na przyklad, odnosza֒c to do przypadku uczenia decyzji kredytowych, być może w pewnych przypadkach (np. osoba karana, bez wyksztalcenia ani zatrudnienia, ale o wysokich dochodach), decyzja banku nie jest deterministyczna, bo nie ma on reguly jak należy poste֒ pować w takich przypadkach, i rzeczywiste decyzje sa֒ podejmowane na podstawie przeslanek pozamerytorycznych (humor pracownika banku, pogoda w chwili podejmowania decyzji, itp.) Drobne, przypadkowe ble֒ dy w danych, zarówno w wartościach atrybutów jak i wartości wyniku, nazywamy szumami (noise). Inny charakter maja֒ ble֒ dy systematyczne. Moga֒ powstawać w procesie calkowicie deterministycznym, w którym zaszly lub zachodza֒ pewne zmiany nieuwzgle֒ dnione w wartościach atrybutów. Nauczyciel przygotowuja֒cy próbki ucza֒ce może być tych zmian nieświadom, albo moga֒ one być trudne do uwzgle֒ dnienia. Moga֒ również istnieć czynniki o charakterze losowym, których nie da sie֒ uwzgle֒ dnić w postaci atrybutów, ba֒dź jest to niecelowe. Metody uczenia sie֒ — skuteczność Metody uczenia sie֒ — skuteczność Jednak ankieta kredytobiorcy jest bardzo szczególowa i algorytm budowy drzew decyzyjnych zapewne znalazlby w niej atrybuty, które udaloby sie֒ dopasować do rozkladu decyzji kredytowych tak, skutecznie minimalizuja֒c entropie֒ . 26 Metody uczenia sie֒ — skuteczność 28 Nadmierne dopasowanie — przeuczenie Wykrywanie przeuczenia drzew decyzyjnych Jest to przypadek nadmiernego dopasowania, inaczej tzw. przeuczenia (ang. overfitting), czyli wykrycia w dużej ilości danych pozornych regularności, gdy prawidlowe regularności sa֒ prostsze lub slabsze, ba֒dź sa֒ zamaskowane przez ble֒ dy, lub w ogóle nie istnieja֒. Algorytm przycinania drzew decyzyjnych (decision tree pruning ) pozwala wykryć i wyeliminować problem przeuczenia drzew decyzyjnych. Polega on na sprawdzaniu istotności każdego we֒ zla drzewa z którego wyrastaja֒ tylko liście. Jeśli we֒ zel (a raczej zawarta w nim decyzja oparta na pewnym atrybucie) jest nieistotny, to jest on zamieniany w pojedynczy liść. Inny przyklad, badamy rzuty kostka֒ i wśród rozważanych atrybutów sa֒: dzień tygodnia, kolor kostki, numer rzutu. W wielu przypadkach, zamiast poprawnie wykryć, że wszystkie wyniki rzutu kostki sa֒ jednakowo prawdopodobne i niezależne od tych atrybutów, algorytm móglby znaleźć jakieś marginalne zależności od nich. Jak wykryć nieistotność” we֒ zla drzewa? Nieistotny atrybut dzieli zbiór próbek ” na podzbiory o podobnych rozkladach wartości jak caly zbiór. Jeśli wzgle֒ dne rozklady cze֒ stotliwości klas w otrzymanych podzbiorach nie różnia֒ sie֒ znacznie od rozkladów klas w zbiorze wyjściowym, to podzial ze wzgle֒ du na ten atrybut jest nieistotny, i należy go odrzucić. Istotność można ocenić metodami statystycznymi, np. takimi jak test χ2. Innym przykladem przeuczenia jest zastosowanie zbyt wysokiego rze֒ du funkcji dla dopasowania danych reprezentuja֒cych przebieg rze֒ du niższego. S5 S3 S4 S2 S6 S1 Punkty S1,...,S4 wyznaczaja֒ krzywa֒ zaznaczona֒ linia֒ kropkowana֒. Jeśli w wyniku uczenia wygeneruje sie֒ przeuczona krzywa cia֒gla, to wartości funkcji dla punktów testowych S5 i S6 moga֒ dawać duże ble֒ dy. Metody uczenia sie֒ — skuteczność 29 Metody uczenia sie֒ — skuteczność 31 Niedouczenie Wykrywanie przeuczenia — przypadek ogólny Przeuczony klasyfikator latwo poznać po tym, że o ile generuje stosunkowo male ble֒ dy na zbiorze ucza֒cym, to ble֒ dy na zbiorze testowym sa֒ znacznie wie֒ ksze. Alternatywnie, można wykryć przypadki przeuczenia dokonuja֒c walidacji krzyżowej (cross validation) danych ucza֒cych. Ponieważ przeuczenie dopasowuje drzewo do danych ucza֒cych bardzo dobrze, ale wykazuje stosunkowo duże ble֒ dy na danych testowych, można zatrzymać cześć ֒ danych ucza֒cych, nie używać ich do budowy drzewa, i zamiast tego sprawdzić nimi jakość klasyfikacji. Jednak nie zawsze duże ble֒ dy uzyskane na danych testowych świadcza֒ o przeuczeniu. Ogólnie, im wie֒ kszy jest zbiór ucza֒cy w stosunku do liczby atrybutów wejściowych i wielkości przestrzeni hipotez, tym mniejsze zagrożenie przeuczeniem. Ble֒ dy na zbiorze testowym moga֒ równie dobrze być wynikiem niedouczenia ze wzgle֒ du na zbyt mala֒ próbke֒ danych ucza֒cych. S5 S1 S3 S4 S7 S2 S6 Uczenie sie֒ punktów S1,...,S4 pozwala wyznaczyć krzywa֒ zaznaczona֒ linia֒ cia֒gla֒. Punkty testowe S5,S6,S7 daja֒ znaczne ble֒ dy, jednak jest to w tym przypadku raczej wynik niedouczenia. Ponowne uczenie z tymi punktami daje krzywa֒ przerywana֒. dane testowe Ble֒ dy o znacznych wartościach — i dużej wariancji — wskazuja֒ cze֒ sto na przeuczenie. Czasami by to potwierdzić trzeba podzielić dane na kilka sposobów i zbudować drzewo wielokrotnie. Określenie czy ble֒ dy danych testowych wynikaja֒ z przeuczenia czy niedouczenia, albo jeszcze z czegoś innego, stanowi trudny element automatycznego uczenia sie֒ i cze֒ sto wymaga przeprowadzenia szeregu eksperymentów. Metody uczenia sie֒ — skuteczność dane ucza֒ce 30 Gdy mamy pewność, że danych ucza֒cych jest bardzo dużo, nie ma obawy o niedouczenie, ale chcemy uniknać ֒ nadmiernej ilości obliczeń, możemy zastosować metode֒ okna danych. Polega ona na wykorzystaniu malej cześ ֒ ci danych ucza֒cych do uczenia, a reszty tylko do weryfikacji poprawności wyniku. Metody uczenia sie֒ — skuteczność 32 uczenie weryfikacja bla֒d ucz. weryfik. bla֒d wer. bla֒d ucz. ucz. Przypadki specjalne dla drzew decyzyjnych weryfikacja W przypadku napotkania na ble֒ dy weryfikacji, proces uczenia jest powtarzany dla zbioru ucza֒cego z dodatkiem próbek generuja֒cych ble֒ dy. Ble֒ dy systematyczne, szumy i przeuczenia nie sa֒ zjawiskami specyficznymi dla drzew decyzyjnych, a pojawiaja֒ sie֒ we wszystkich rodzajach uczenia sie֒ i trzeba być przygotowanym na ich wykrywanie i korygowanie efektów. Szereg przypadków specjalnych wprowadza utrudnienia w zastosowaniu opisanego algorytmu konstrukcji drzew decyzyjnych. Te przypadki zdarzaja֒ sie֒ jednak w praktycznie wszystkich zastosowaniach praktycznych, i radzenie sobie z nimi przesa֒dza o skuteczności stosowania metody drzew decyzyjnych. • cia֒gle lub nieskończone dziedziny wartości atrybutu — można zastosować dyskretyzacje֒ , jednak sposób wyboru konkretnych przedzialów wartości ma zasadniczy wplyw na wynik konstrukcji drzewa decyzyjnego; można re֒ cznie określić te przedzialy, lub zastosować preprocessing określaja֒cy optymalny wybór pewnej liczby przedzialów daja֒cej najlepsze rozbicie zbioru przykladów na klasy • atrybuty dyskretne, lecz z wieloma wartościami — w klasach określanych przez wartości takiego atrybutu be֒ da֒ bardzo male, a wie֒ c przeważnie jednorodne zbiory próbek, a zatem algorytm wybierze taki atrybut jako przydatny w klasyfikacji, jednak w rzeczywistości może to być atrybut nieistotny; takie przypadki można wykrywać (i pomijać dany atrybut w konstrukcji drzewa) obliczaja֒c wzgle֒ dny zysk” z atrybutu jako zysk ” z zastosowania atrybutu wzgle֒ dem jego zawartości informacyjnej Metody uczenia sie֒ — skuteczność 33 Bledy w danych — niespójności ֒ 35 • brakuja֒ce wartości pewnych atrybutów w pewnych próbkach (gdy np. okresowo nie dzialal jakiś czujnik) — ale nie można pominać ֒ w calości takiego atrybutu ani tych niekompletnych próbek; można zastosować metoda֒ polegaja֒ca֒ na przyje֒ ciu wszystkich możliwych wartości dla tego atrybutu z rozkladem zgodnym z ogólnym rozkladem wyste֒ powania jego wartości, i odpowiednio przeskalowuja֒c liczbe֒ takich próbek Ble֒ dy w danych moga֒ spowodować nieoptymalne zbudowanie drzewa decyzyjnego, nadmiernie rozbudowanego i/lub uwzgle֒ dniaja֒cego pozorne przypadki szczególne, lub w ogóle uniemożliwić zbudowanie drzewa. Ten ostatni przypadek, wynikaja֒cy z niespójności danych, ma miejsce kiedy w grupach na najniższym poziomie drzewa nadal istnieja֒ przedstawiciele różnych klas wynikowych, można rozwia֒zać stosunkowo najlatwiej. Można w takiej sytuacji przyjać ֒ glos wie֒ kszości w danej grupie. Ta metoda efektywnie eliminuje pewne próbki, i dobrze sprawdza sie֒ w eliminacji szumów, gdy wymagana jest kategoryczna i deterministyczna odpowiedź z drzewa. Inna֒ metoda֒ może być przyje֒ cie w takiej grupie, zamiast odpowiedzi kategorycznej, rozkladu prawdopodobieństwa zgodnego z cze֒ stotliwościami odpowiednich klas. To podejście jest wlaściwe gdy liczby próbek z różnych klas sa֒ znaczne, i wynikaja֒ z ble֒ dów systematycznych. Przyje֒ ty wynikowy rozklad prawdopodobieństw be֒ dzie odpowiadal rozkladowi prawdopodobieństw tych ble֒ dów, i może zwrócić uwage֒ na ich obecność. Metody uczenia sie֒ — skuteczność Metody uczenia sie֒ — skuteczność 34 • ble֒ dne wartości pewnych atrybutów prowadza֒ oczywiście do konstrukcji mniej lub bardziej niepoprawnego drzewa decyzyjnego, ba֒dź do niemożności jego zbudowania, jednak takie przypadki zdarzaja֒ sie֒ w praktyce i czasem trzeba sobie z nimi radzić; jednym możliwym podejściem jest próba wyodre֒ bnienia takiego podejrzanego” podzbioru próbek i atrybutów, a ” naste֒ pnie usunie֒ cie konkretnych wartości atrybutów i zastosowanie powyższej procedury w budowie drzewa; powtarzaja֒c te֒ procedure֒ wielokrotnie można czasem potwierdzić pierwotne podejrzenie co do konkretnych próbek • cia֒gle wartości atrybutu-klasy — w tym przypadku chcemy wyznaczać wartości atrybutu nie z malego zbioru wartości, lecz np. liczbowe, na przyklad nauczyć sie֒ wyceniać wartość nieruchomości; możliwe jest budowanie drzew regresji, w którego liściach be֒ da֒ liniowe funkcje pewnego podzbioru atrybutów; algorytm musi w pewnym momencie zakończyć budowe֒ drzewa i wykonać algorytm regresji liniowej Metody uczenia sie֒ — skuteczność 36 Budowa pojeciowego modelu zjawiska ֒ Metoda przestrzeni wersji Zbudowanie na podstawie serii przykladów treningowych mechanizmu decyzyjnego (klasyfikatora) nie zawsze jest wystarczaja֒ce. Czasami poża֒dane jest zbudowanie pelnego modelu zjawiska, np. w celu jego dokladnego zbadania, symulacji, itp. Z budowa֒ modelu nieznanego zjawiska, na podstawie serii przykladów w pewnej przestrzeni, zwia֒zane sa֒ naste֒ puja֒ce zjawiska: Metoda przestrzeni wersji polega na uczeniu sie֒ nieznanego poje֒ cia opisanego wektorem atrybutów, przez konstrukcje֒ i uzgadnianie wielu modeli poje֒ cia. Jeśli istnieje model, który poprawnie opisuje wszystkie przedstawione przyklady pozytywne, i poprawnie wyklucza wszystkie przyklady negatywne, to ta metoda go znajdzie. – – – + + – + + – – – – – – + + – + + – + – – – + + – + + – (b) – + – (c) – – + + – ++ – – – – + + – + ++ – – – – – + ++ – – (a) – + ++ (a) (b) (c) (d) (e) – – – – – + (d) + – ++ + – – – + + – Inaczej można powiedzieć, że metoda przestrzeni wersji pozwala na zapamie֒ tanie najważniejszych cech serii przykladów (pozytywnych i negatywnych) przez dokonywanie uogólnień. – – + – – + Podstawowe zalożenia metody przestrzeni wersji: + – – • dane sa֒ poprawne, nie ma ble֒ dnych przykladów • modele zjawisk sa֒ kombinacjami (koniunkcjami) atrybutów (e) hipoteza spójna z wszystkimi przykladami pozytywnymi i negatywnymi, ekstremalny przyklad pozytywny (false negative), uogólnienie hipotezy, bliski kontrprzyklad (false positive), specjalizacja hipotezy. Algorytm metody przestrzeni wersji buduje dwa niezależne drzewa modeli: drzewo modeli najogólniejszych, i drzewo modeli najbardziej szczególowych. Gdy w wyniku przebadania wszystkich próbek znajdzie sie֒ pojedynczy model wspólny dla tych dwóch drzew modeli, to uczenie kończy sie֒ sukcesem. Metody uczenia sie֒ — uczenie sie֒ modelu zjawiska 37 Metody uczenia sie֒ — metoda przestrzeni wersji 39 Metody uczenia sie֒ — uczenie sie֒ modelu zjawiska 38 Metody uczenia sie֒ — metoda przestrzeni wersji 40 Metoda przestrzeni wersji — algorytm Metoda przestrzeni wersji — przyklad ✄ Przyjmij pierwszy przypadek pozytywny jako najbardziej szczególowy model. Skonstruuj również model najogólniejszy, np. zaste֒ puja֒c wartości parametrów przedzialami lub wartościami nieokreślonymi. Przyklad z podre֒ cznika Rich & Knight: określenie rodzaju samochodu opisuja֒cego dana֒ serie֒ próbek. Parametry samochodu to: kraj produkcji, marka, kolor, rocznik (dekada), i klasa (Economy, Subcompact, Compact, Sports, Midsize, Fullsize). ✄ Jeśli przyklad jest pozytywny to: Przyklad pozytywny: (Japan,Honda,Blue,1980,Economy) ⊲ Uogólnij wszystkie bieża֒ce modele szczególne tak by obejmowaly dany przypadek pozytywny, uwzgle֒ dniaja֒c jednak naste֒ puja֒ce warunki: • Modele powinny zawierać jak najmniejsze zmiany. • Każdy model szczególny musi być uszczególowieniem któregoś modelu ogólnego. • Żaden model szczególny nie może być uogólnieniem innego modelu szczególnego, obejmuja֒cego już dany przypadek pozytywny. ⊲ Wyklucz wszystkie te modele ogólne, które nie spelniaja֒ danego przypadku pozytywnego. Metody uczenia sie֒ — metoda przestrzeni wersji Inicjujemy G jako zbiór jednoelementowy zawieraja֒cy model wszystkiego, a S jako zbiór jednoelementowy zawieraja֒cy pierwszy przyklad pozytywny. G = {(?,?,?,?,?)} S = {(Japan,Honda,Blue,1980,Economy)} 41 ✄ Jeśli przyklad jest negatywny to: Metody uczenia sie֒ — metoda przestrzeni wersji 43 Przyklad negatywny: (Japan,Toyota,Green,1970,Sports) Uszczególowiamy G aby wykluczyć przyklad negatywny: ⊲ Uszczególów wszystkie bieża֒ce modele ogólne tak by wykluczaly dany przypadek negatywny, uwzgle֒ dniaja֒c jednak naste֒ puja֒ce warunki: • Nowo utworzone modele powinny zawierać jak najmniejsze zmiany. • Każdy nowo utworzony model ogólny musi być uogólnieniem któregoś modelu szczególowego. • Żaden z nowo utworzonych modeli ogólnych nie może być uszczególowieniem żadnego z innych modeli ogólnych, które już wykluczaja֒ dany przypadek negatywny. ⊲ Wyklucz wszystkie te modele szczególne, które spelniaja֒ dany przypadek negatywny. G = {(?,Honda,?,?,?),(?,?,Blue,?,?),(?,?,?,1980,?),(?,?,?,?,Economy)} S = {(Japan,Honda,Blue,1980,Economy)} ✄ Jeśli po wykonaniu powyższych operacji jeden z modeli ogólnych jest identyczny z którymś z modeli szczególowych, to model ten jest poszukiwanym modelem prawidlowo rozpoznaja֒cym serie֒ ucza֒ca֒ i algorytm kończy prace֒ . Inne możliwe wartości atrybutów dla modeli ogólnych w zbiorze G (np. marka=Ford) odpadaja֒ bo nie sa֒ uogólnieniem (żadnego) modelu szczególowego. UWAGA: Oczywiście algorytm nie be֒ dzie dzialać poprawnie w przypadku istnienia kilku komplementarnych, ale różnych modeli zjawiska. Metody uczenia sie֒ — metoda przestrzeni wersji 42 Metody uczenia sie֒ — metoda przestrzeni wersji 44 Przyklad pozytywny: (Japan,Toyota,Blue,1990,Economy) Przyklad pozytywny: (Japan,Honda,White,1980,Economy) Usuwamy z G wszystkie modele ogólne niezgodne z przykladem pozytywnym. Uogólniamy S aby wszystkie modele szczególowe obje֒ ly przyklad pozytywny. Usuwamy z G wszystkie modele ogólne niezgodne z przykladem pozytywnym. Uogólniamy S aby wszystkie modele szczególowe obje֒ ly przyklad pozytywny. G = {(?,?,Blue,?,?),(?,?,?,?,Economy)} S = {(Japan,?,Blue,?,Economy)} G = {(Japan,?,?,?,Economy)} S = {(Japan,?,?,?,Economy)} Otrzymaliśmy w wyniku zbiory singletonowe S = G, a wie֒ c sukces. Metody uczenia sie֒ — metoda przestrzeni wersji 45 Metody uczenia sie֒ — metoda przestrzeni wersji 47 Metoda przestrzeni wersji — wnioski Przyklad negatywny: (USA,Chrysler,Red,1980,Economy) Uszczególowiamy G tak by wykluczyć przyklad negatywny (ale tak aby pozostać spójnym z S). G = {(?,?,Blue,?,?),(Japan,?,?,?,Economy)} S = {(Japan,?,Blue,?,Economy)} Zalety: • szybka • ma ceche֒ wczesnej eliminacji — już po przeanalizowaniu kilku przykladów pozytywnych i negatywnych stan obu drzew pozwala na stwierdzenie czy nowo pojawiaja֒cy sie֒ przyklad ma w ogóle szanse֒ spelnić jakiś model ogólny lub szczególowy Wady: • bla֒d w danych może spowodować usunie֒ cie poprawnego rozwia֒zania • w podstawowej wersji metoda nie dziala jeśli nieznane poje֒ cie zawiera alternatywe֒ (np. rocznik 1980 lub 1990); uwzgle֒ dnienie takich alternatyw jest możliwe, lecz wymagaloby modyfikacji algorytmu i/lub je֒ zyka specyfikacji wartości atrybutów Metody uczenia sie֒ — metoda przestrzeni wersji 46 Metody uczenia sie֒ — metoda przestrzeni wersji 48 Algorytm W: heurystyki modyfikacji modelu Algorytm W: budowa pojeciowego modelu zjawiska ֒ require-link: jeśli model ma luk, którego przyklad negatywny nie ma, należy zmienić ten luk na wymagany” ” forbid-link: jeśli przyklad negatywny ma luk, którego model nie ma, należy wstawić ten luk do modelu ze statusem: zabroniony” ” climb-tree: jeśli obiekt w modelu należy do innej klasy niż obiekt w przykladzie pozytywnym, i obie te klasy maja֒ wspólna֒ nadklase֒ , to należy zmienić klase֒ obiektu w modelu na najbliższa֒ wspólna֒ nadklase֒ enlarge-set: jeśli obiekt w modelu należy do innej klasy niż obiekt w przykladzie pozytywnym, i te klasy nie maja֒ wspólnej nadklasy, to należy utworzyć nowa֒ klase֒ jako sume֒ tych dwóch klas, i określić klase֒ obiektu jako nowo utworzona֒ klase֒ drop-link: jeśli obiekt w modelu należy do innej klasy niż obiekt w przykladzie pozytywnym, i te klasy dopelniaja֒ sie֒ do zbioru pelnego, to należy usunać ֒ luk przynależności do klasy close-interval: jeśli model posiada liczbe֒ lub przedzial liczbowy, a przyklad pozytywny w to miejsce posiada liczbe֒ poza przedzialem, to należy rozszerzyć przedzial w modelu, lub zasta֒pić pojedyncza֒ wartość liczbowa֒ odpowiednim przedzialem Metody uczenia sie֒ — algorytm W 49 ✄ Jako pierwsze przybliżenie modelu zastosuj pierwszy przyklad pozytywny. Dla kolejnych przykladów: ✄ Jeśli przyklad jest pozytywny to zastosuj procedure֒ generalizacji modelu: ⊲ Dopasuj przyklad do modelu bieża֒cego aby ustalić odpowiedniość mie֒ dzy ich elementami. ⊲ Dla każdej znalezionej różnicy, w zależności od jej rodzaju: • Jeśli luk w modelu wskazuje na inna֒ klase֒ niż w przykladzie, to: – jeśli te klasy maja֒ wspólna֒ nadklase֒ to zastosuj heurystyke֒ climb-tree, – jeśli te klasy dopelniaja֒ sie֒ to zastosuj heurystyke֒ drop-link, – w przeciwnym wypadku zastosuj heurystyke֒ enlarge-set. • Jeśli w przykladzie brakuje luku to zastosuj heurystyke֒ drop-link. • Jeśli różnica polega na różnych wartościach liczbowych to zastosuj heurystyke֒ close-interval. • W przeciwnym wypadku, zignoruj różnice֒ . Metody uczenia sie֒ — algorytm W 51 ✄ Jeśli przyklad jest negatywny to zastosuj procedure֒ specjalizacji modelu: ⊲ Dopasuj przyklad do modelu bieża֒cego aby ustalić odpowiedniość mie֒ dzy ich elementami. ⊲ Sprawdź, czy przyklad jest typowym przykladem negatywnym, który jest trywialnie odrzucany przez model. Jeśli tak, to zignoruj dany przyklad. ⊲ W przeciwnym wypadku, określ czy istnieje pojedyncza najważniejsza różnica pomie֒ dzy przykladem negatywnym a modelem bieża֒cym. • Jeśli istnieje taka różnica i polega ona na tym, że model posiada luk, którego nie posiada przyklad negatywny, to użyj heurystyki require-link. • Jeśli istnieje taka różnica i polega ona na tym, że przyklad negatywny posiada luk, którego nie posiada model, to użyj heurystyki forbid-link. • W przeciwnym wypadku, zignoruj przyklad negatywny. Algorytm w powyższym sformulowaniu dziala konserwatywnie: gdy nie może wbudować w model wniosków plyna֒cych z analizy danego przykladu, to nic nie robi (ignoruje dany przyklad lub znaleziona֒ różnice֒ ). Jednym z powodów jest fakt, że nie potrafi oduczyć sie֒ wlasności raz wyuczonych. Metody uczenia sie֒ — algorytm W 50 Metody uczenia sie֒ — algorytm W 52