8 Strojové uení a adaptace Dležitou vlastností živých organism je schopnost pizpsobovat se mnícím se podmínkám (adaptovat se), eventuáln se uit na základ vlastních zkušeností. Schopnost uit se bývá nkdy dokonce považována za definici inteligence. Je proto pirozené, že vybavit touto vlastností i systémy technické je jedním z cíl umlé inteligence. Navíc v ad praktických pípad, kdy není dostatek apriorních znalostí o ešeném problému, ani jinak postupovat nelze. V zásad lze rozlišit dva typy uení: uení se znalostem (knowledge acquisition) a uení se dovednostem (skill refinement). První typ hledá koncepty, obecné zákonitosti apod. (nap. jak rozpoznat defraudanta) u druhého typu jde o to zdokonalit své schopnosti na základ procviování njaké innosti (nap. jak nalézt cestu v bludišti). Na tomto míst je teba zdraznit, že umlé metody uení nedosahují možností metod pirozených : formalizmus použitý pro popis situací nebo koncept, které se má systém nauit je pomrn jednoduchý, koncepty, které se systém uí asto odpovídají pouze jedné úrovni abstrakce zatímco lovk je schopen své koncepty uspoádávat do hierarchií, vtšina metod spoléhá na uitele, který dohlíží na celý výukový proces, vtšina metod pedpokládá, vše všechna potebná data jsou k dispozici ped zaátkem uení; lovk je schopen na základ další zkušenosti prbžn aktualizovat své znalosti. Pesto se umlé metody uení studují (a úspšn používají) adu let. V souasné dob procházejí zvýšeným zájmem pedevším v souvislosti se získáváním znalostí z databází. Zde se používají metody uení se konceptm ale k dispozici jsou i alternativní (statistické) pístupy. V centru naší pozornosti tedy budou empirické metody uení se konceptm na základ píklad rozhodnutí resp. na základ pozorování a objevování. Použitým pístupem bude induktivní inference kdy na základ koneného potu píklad budeme hledat obecný popis konceptu (a už daného uitelem nebo vytvoeného systémem). 8.1 Úloha empirického uení Úlohu empirického uení se konceptm s uitelem (tedy úlohu vytvoit na základ dat klasifikaní model) mžeme formáln definovat následujícím zpsobem. Pedpokládejme, že analyzovaná data jsou uložena v tabulce D, tvoené n ádky a m sloupci. 1
11 21 D = : n1 12 22 : n2......... 1 m 2 m : n m ádky tabulky reprezentují sledované objekty. Nkdy se místo termínu objekt používají termíny záznam (v databázi), píklad, pípad, pozorování apod. i-tý objekt je tedy ádek i.. i =... [ i 1 i2 im ] Sloupce datové tabulky odpovídají atributm. Podobn jako v pípad objekt, i zde se používají další termíny veliina, promnná, znak. j-tý atribut (j-tý sloupec) oznaíme symbolem A j. A j : : V tuto chvíli nebudeme rozlišovat, zda se jedná o atributy kategoriální (symbolické, diskrétní) nebo atributy numerické (spojité). Tato informace bude dležitá až pro jednotlivé typy metod. 1 j 2 j nj U klasifikaních úloh pedpokládáme, že eistuje atribut, který obsahuje informaci o zaazení objekt do tíd (v pípad klasifikace v užším smyslu) nebo který obsahuje predikovanou hodnotu (v pípad predikce). íkejme tomuto atributu cílový a ozname ho symbolem C. C : y1 y2 : y n Ostatním, necílovým atributm Aj budeme íkat vstupní atributy. Opt mžeme v literatue nalézt adu dalších názv: cílovému atributu se nkdy íká závislá promnná, závislá veliina nebo vysvtlovaná veliina, vstupním atributm se nkdy íká nezávislé promnné, nezávislé veliiny nebo vysvtlující veliiny. Pidáme-li cílový atribut do datové tabulky, získáme data vhodná pro použití nkteré metody uení s uitelem. Cílem tchto metod je na základ dat tvoených hodnotami vstupních atribut i cílového atributu odvodit znalosti použitelné pro klasifikaci nových objekt. Datm používaným k tomuto úelu se obvykle íká trénovací data (trénovací píklady). Píslušnou datovou tabulku budeme znait D TR 2
D TR 11 21 = : n1 12 22 : n2......... 1 m 2 m : n m y1 y 2 : yn Objekt (trénovací píklad) z této tabulky budeme znait o i = [, yi ] Pedpokládejme, že pro každý objekt o i známe všechny hodnoty i i hodnotu y i. V drtivé vtšin situací pedpokládáme, že nezáleží na poadí objekt v datové tabulce 1. Budeme tedy data považovat za množinu objekt D TR = { o, i=1,.., n} i Klasifikaní úlohu mžeme chápat jako úlohu nalézt takové znalosti (reprezentované rozhodovací funkcí f), které by umožovaly k hodnotám vstupních atribut njakéhoobjektu piadit vhodnou hodnotu atributu cílového f: y. Rozhodovací funkci f pitom chápeme v dosti širokém významu. Je-li klasifikace založena na algoritmu používajícím rozhodovací stromy, je tato funkce (a tedy i hledané znalosti) reprezentována jedním konkrétním rozhodovacím stromem. Je-li klasifikace založena na neuronové síti, je tato funkce (a tedy i hledané znalosti) reprezentována topologií konkrétní sít a váhami vazeb mezi neurony. V prbhu klasifikace se tedy pro hodnoty vstupních atribut njakého objektuoodvodí hodnota cílového atributu. Ozname tuto odvozenou hodnotu. = f (). Odvozená hodnota se pro objekty z trénovacích dat mže lišit od skutené hodnoty y. Mžeme tedy pro každý objekt o i D TR vyíslit chybu klasifikace Q f (o i, i ). V pípad numerického atributu C mže být touto chybou napíklad tverec rozdílu skutené a odvozené hodnoty cílového atributu 2 ( o i,) ) v pípad kategoriálního atributu C mže být touto chybou informace o tom že se odvozená a skutená hodnota vzájemn liší, 1 Výjimku tvoí prostorová data (nap. data z geografických informaních systém), nebo asová data (nap. vývoj cen akcií), kdy uspoádání mezi objekty vyplývá z povahy tchto dat. 3
pro (,) pro Pro celou trénovací množinu D pak mžeme vyíslit souhrnnou chybu Err(f,D TR ),napíklad jako stední chybu ) (, ) Cílem uení je nalézt takové znalosti které by minimalizovaly tuto chybu ) = V píad, že trénovací data neobsahují kontradikce, tedy že platí o 1, o 2 D TR : 1 = 2 y 1 = y 2 lze teoreticky nalézt takovou reprezentaci koncept f*, že Err(f*,D TR ) = 0. Mžeme tedy nalézt znalosti bezchybn klasifikující píklady v trénovací množin. Naším cílem je ale samozejm nalézt znalosti obecnjší, použitelné i pro klasifikaci objekt nových. Ne vždy je nulová chyba Err(f*,D TR ) dosažená na trénovacích datech zárukou kvality nalezených znalostí. Pílišná orientace na trénovací data mže vést k peuení systému (overfitting); získané znalosti pak nereflektují obecnjší zákonitosti, ale pouze kopírují strukturu použitých píklad (viz Obr. 1 a Obr. 2). Draz tedy klademe na to, že v prbhu uení zobecujeme použité píklady na celou aplikaní oblast. Schopnost nalezených znalostí generalizovat se obvykle ovuje eperimentáln na tzv. testovacích datech D TST ; tedy pomocí chyby Err(f*,D TST ). Testovací data mají stejnou strukturu atribut, jako data trénovací, obsahují tedy i cílový atribut. Jedná se ale o objekty, které nabyly použity v prbhu uení. Empirické metody uení vycházejí z pedpokladu, že jednotlivé objekty (píklady, pozorování) lze popsat pomocí charakteristik takových, že objekty patící k témuž konceptu mají podobné charakteristiky (tyto metody bývají nkdy nazývány uení na základ podobnosti - similarity-based learning). Pokud jsou objekty popsány hodnotami atribut, lze je reprezentovat jako body v mnohorozmrném prostoru, jehož dimenze je dána potem tchto atribut 2. Uení na základ podobnosti pak vychází z pedstavy, že objekty pedstavující píklady téhož konceptu vytváejí shluky v tomto prostoru. Cílem uení je tedy nalézt vhodný popis tchto shluk. Hlavním problémem pi použití výše uvedeného pístupu je nalezení onch vhodných charakteristik. Z hlediska procesu dobývání znalostí z databází je toto úkolem krok pedzpracování dat. Ovšem ani ve chvíli, kdy máme nalezeny vhodné charakteristiky, není ješt vyhráno. Otázkou zstává dostatené množství dostaten reprezentativních dat. Tento problém je ilustrován na obrázcích Obr. 1 a Obr. 2. V obou pípadech se snažíme na základ výše píjmu a výše konta v bance nalézt popis klient, kterým banka pjí (klienti ) a kterým nepjí (klienti ). Na základ nkolika píklad klient se zdá, že shluky odpovídající klientm obou skupin jsou zachyceny na Obr. 1. Další píklady spolehlivých klient nás ale pesvdí o našem omylu (píklady v šedém oválu na Obr. 2). 2 Atributm se nkdy íká píznaky (features), odtud anglický název tohoto prostoru feature space. 4
Popis konceptu, který byl nalezen na základ použitých píklad tedy nemusí odpovídat jiným (dosud nezpracovaným) píkladm téhož konceptu. Z tohoto dvodu se obvykle data použitá pi induktivním získávání znalostí rozdlují na ást trénovací a ást testovací. Trénovací data se použijí ve fázi uení, testovací data pak pedstavují píklady, které slouží k provení získaných znalostí. V nkterých pípadech se používají dokonce ti soubory dat: data trénovací, data validaní (používaná pro eventuelní modifikaci znalostí získaných na základ trénovacích dat) a data testovací. Obr. 1 Málo dat Obr. 2 Více dat 8.1.1 Uení jako prohledávání Pijmeme-li pedstavu, že ešit výše popsanou úlohu strojového uení znamená nalézt vhodné rozdlení dat do shluk (a tyto shluky pak následn popsat modelem ve zvolené reprezentaci), mžeme chápat uení jako prohledávání prostoru všech shluk (model). Tento prostor mžeme uspoádat podle obecnosti model (Obr. 3). Nejobecnjší model (MGM) odpovídá situaci, kdy všechna data tvoí jeden shluk; tento model bude všechny píklady klasifikovat do majoritní tídy. Nejspeciálnjší model (MSM) odpovídá situaci, kdy každý píklad tvoí samostatný shluk; takový model bude obvykle mít nulovou schopnost generalizace a nebude 5
tedy vhodný pro klasifikaci nových píklad. Model M 1 je obecnjší než model M 2 (vznikne jeho generalizací), model M 2 je speciálnjší než model M 1 (vznikne jeho specializací). Krok specializace tedy znamená rozdlení jedné ze skupin obsažených v modelu M 1 do dvou skupin (vznikne model M 2 ) a krok generalizace znamená spojení dvou skupin obsažených v modelu M 2 do jedné skupiny (vznikne model M 1 ). Obr. 3 Prostor model Prostor všech model je ovšem obrovský. Pro urení potu všech možných zpsob jak rozdlit n píklad do skupin lze použít tzv. Bellova ísla [Bell, 1934]. Tato ísla jsou definována následujícím rekurzivním pedpisem B(0) = 1, B( n) = n 1 k n 1 B( k). k Prvních nkolik Bellových ísel ukazuje tabulka 1. n 1 2 3 4 5 10 B(n) 1 2 5 15 52 115975 Tab. 1 Bellova ísla Ale i kdybychom uvažovali pro každý možný poet shluk to nejlepší rozdlení (model) tak jak napíklad postupují hierarchické metody shlukové analýzy poet n zstává pro reálné úlohy píliš vysoký. 6
Pro prohledávání prostoru model se nabízí ada zpsob dobe známých z jiných oblastí umlé inteligence [Winston, 1992]. Kritérii, pomoci kterých budeme posuzovat jednotlivé zpsoby budou: Smr: prohledávání od obecnjších model ke speciálnjším neboli shora dol, nebo od speciálnjších k obecnjším neboli zdola nahoru, Strategie: prohledávání slepé (do hloubky nebo do šíky), heuristické (obvykle se pro daný krok vybere nejlepší možnost- tato strategie se nazývá best-first, gready nebo hill-climbing), nebo náhodné, Šíe: prohledávání jednoduché (pro daný krok uvažujeme jen jednu možnost), nebo paralelní. 8.1.2 Uení jako aproimace funkcí Opt vycházíme z (již díve uvedené) pedstavy, že objekty téže tídy tvoí shluky v prostoru atribut. Jednotlivé shluky lze od sebe oddlit hranicí kterou mžeme popsat jako funkci hodnot jednotlivých atribut. Pi uení se tedy snažíme na základ píklad objekt jednotlivých tíd nalézt tuto funkci. Pi aproimaci njaké funkce se na základ hodnot této funkce v koneném potu bod snažíme zrekonstruovat její obecnou podobu (asto vyjádenou analyticky). Na rozdíl od interpolace nepožadujeme, aby nalezená funkce procházela známými body. Cílem je nalézt takovou funkci, která by co možná nejlépe vystihovala funkní hodnoty i v bodech, které nemáme k dispozici. Hledání takového popisu je založeno na vyhodnocení odchylky mezi skutenou funkní hodnotou ve známém bod a mezi funkní hodnotou v tomto bod, která vychází z hledaného popisu funkce. Naším cílem je minimalizovat celkovou odchylku ve všech známých bodech (Obr. 4). Obr. 4 Lineární aproimace Pi aproimování funkcí se obvykle používá metoda nejmenších tverc popsaná v kapitole vnované statistickým metodám. Pipomeme zde tedy jen to, že pi použití této metody minimalizujeme souet druhých mocnin odchylek mezi skutenou hodnotou y a vypoítanou hodnotou. Pi výpotu hodnoty y pitom pedpokládáme uritý typ funkní 7
závislosti y = f() specifikovaný pouze svými parametry (ozname je symbolem q), a metodou nejmenších tverc hledáme tyto parametry. Hledání minima celkové odchylky ) ) 2 se pak pevádí na ešení rovnice d dq n 1 i= ( y - f ( )) i i 2 = 0 V pípad analytického vyjádení hledané funkce f() (to je pípad regresní nebo diskriminaní analýzy kdy se volí typ funkce) lze z výše uvedené rovnice spoítat na základ píklad o i = [ i, y i ] její parametry q. V pípad, že tvar hledané funkce neznáme, je teba použít numerické metody. Minimum funkce se pak hledá iteraními gradientními metodami. Tyto metody jsou založeny na tom, že z daného místa (aktuální hodnoty funkce) se pi hledání minima pohybujeme ve smru nejvtšího spádu (gradientu) Err(q) = Err Err Err,,...,. q0 q1 q Q Modifikace znalostí q = [q 0, q 1,..., q Q ] pak probíhá podle algoritmu q j q j + q j kde Err q j = - q j a η je parametr vyjadující velikost kroku kterým se pibližujeme k minimu funkce Err. Je-li nap. chybová funkce ) ) = )) a pedpokládaná funkce f lineární kombinací vstup mžeme odvodit gradient funkce Err jako a tedy f() = q., 2 2 2 ( ) 2( ) ( ) ( ) ( ) ( )( ) = i= 1 = = 8
η ( ) 8.2 Metody strojového uení Zpsob, jakým jednotlivé metody reprezentují znalosti získané z dat pitom mže být znan rozmanitý. Mohou to být reprezentativní píklady-etalony (tak je tomu u metod založených na analogii), mohou to být funkce piazené jednotlivým shlukm (to je pípad subsymbolických metod), mže to být rozdlení prostoru atribut na snadno popsatelné, pravidelné útvary (to je pípad metod symbolických rozhodovacích strom nebo pravidel). Jednotlivé metody se ovšem neliší pouze zpsobem reprezentování hledaných znalostí. Další rozdíly mezi metodami spoívají v tom: pro jaký typ úlohy dobývání znalostí jsou vhodné (pi deskripních úlohách jde o nalezení srozumitelných znalostí, které popisují základní nebo zajímavé souvislosti v datech, pi klasifikaních úlohách jde o nalezení znalostí, které lze použít pro klasifikaci nových pípad), jak složité shluky dokáží reprezentovat (nap. otázka lineární separability), do jaké míry jsou nalezené znalosti srozumitelné pro uživatele (symbolické vs. subsymbolické), jak jsou nalezené znalosti efektivní pi klasifikaci nových pípad, pro jaký typ dat jsou vhodné (nkteré metody pracují pouze s kategoriálními daty, jiné metody umožují analyzovat kategoriální i numerické atributy). Neeistuje pitom nejlepší algoritmus, který bude dosahovat nejvyšší správnosti klasifikace pro libovolnou úlohu (no free lunch). My se na jednotlivé metody podíváme z výše uvedených dvou základních pístup. Bude nás zajímat, zda se jedná o uení jako prohledávání, pi kterém hledáme strukturu i parametry modelu, nebo zda se jedná o uení jako aproimace, pi kterém hledáme parametry modelu v rámci dané tídy model. 8.2.1 Rozhodovací stromy Indukce rozhodovacích strom patí k nejznámjším algoritmm z oblasti symbolických metod strojového uení. Pi tvorb rozhodovacího stromu se postupuje metodou "rozdl a panuj" (divide and concquer). Trénovací data se postupn rozdlují na menší a menší podmnožiny tak, aby v tchto podmnožinách pevládaly píklady jedné tídy. Obecné schéma algoritmu pro tvorbu rozhodovacích strom je na Obr. 5. Algoritmus tedy realizuje jednoduché heuristické prohledávání shora dol (to ostatn napovídá i používaný akronym TDIDT, neboli top-down induction of decision trees). Eistují i varianty používající paralelní heuristické prohledávání shora dol (option trees nebo random forrest), pípadn prohledávání náhodné. TDIDT algoritmus 9 1. zvol jeden atribut jako koen dílího stromu, 2. rozdl data v tomto uzlu na podmnožiny podle hodnot zvoleného atributu a pidej uzel pro každou podmnožinu, 3. eistuje-li uzel, pro který nepatí všechna data do téže tídy, pro tento uzel opakuj postup od bodu 1, jinak skoni.
Obr. 5 Algoritmus pro tvorbu rozhodovacích strom 8.2.2 Rozhodovací pravidla (pokrývání množin jako prohledávání) Algoritmus pokrývání množin vidíme na Obr. 6. Opt se jedná o algoritmus založený na myšlence prohledávání. Na rozdíl od rozhodovacích strom lze ale prostor pravidel prohledávat (resp. pravidla vytváet v kroku 1 algoritmu) jak shora-dol postupnou specializací obecných pravidel, tak zdola-nahoru postupnou generalizací speciálnjších pravidel. Prohledávání pitom mže být jak jednoduché (v daném kroku uvažujeme jen jedno potenciální pravidlo), tak paralelní (v daném kroku uvažujeme více potenciálních pravidel). Algoritmus pokrývání množin 1. najdi pravidlo, které pokrývá njaké pozitivní píklady a žádný negativní, 2. odstra pokryté píklady z trénovací množiny D TR, 3. pokud v D TR zbývají njaké nepokryté pozitivní píklady, vra se k bodu 1, jinak skoni. Obr. 6 Algoritmus pokrývání množin 8.2.3 Asocianí pravidla Základem všech algoritm pro hledání asocianích pravidel je generování kombinací (konjunkcí) hodnot atribut. Pi generování vlastn procházíme (prohledáváme) prostor všech pípustných konjunkcí a to smrem shora dol. Používají se pitom jak slepé metody (zejména do šíky), tak metody heuristické využívající kvantitativní charakteristiky jednotlivých pravidel. Tmito charakteristikami jsou nejastji poet píklad pokrytých uvažovaným pravidlem, pípadn spolehlivost pravidla definovaná jako podíl potu píklad vyhovujících pedpokladu i závru pravidla a potu píklad vyhovujících pedpokladu pravidla. 8.2.4 Neuronové sít Neuronové sít jsou modely, jejichž uení je založeno na myšlence aproimace. Typickým píkladem mže být vícevrstvý perceptron (Obr. 7). Pro uení takovéto sít se nejastji používá zobecnná gradientní metoda zvaná zptné šíení chyby (error backpropagation) viz Obr. 8. Uení se neuronových sítí je tedy typický píklad uení jako aproimace funkce: známe topologii sít, což je implicitní vyjádení typu funkní závislosti mezi vstupy a výstupy sít, a hledáme jen parametry modelu. 8.2.5 Genetické algoritmy Genetické algoritmy jsou založeny na paralelním náhodném prohledávání. Zdrojem inspirace se stal mechanismus evoluce, chápaný jako Darwinv pirozený výbr: njaký živoišný druh 10
se bhem svého vývoje zdokonaluje tak, že z generace na generaci se penáší genetická informace jen tch nejsilnjších jedinc. Genetická výbava jedinc z jedné populace mže pecházet do populace následující pímo (v dsledku selekce), jen drobn modifikovaná (s využitím mutace), nebo prostednictvím potomk (na základ kížení). Z hlediska chápání procesu uení jako prohledávání prostoru modelu realizují genetické algoritmy paralelní (uvažujeme více jedinc v populaci) náhodné (díky operacím kížení a mutace) prohledávání. Obr. 7 Vícevrstvý perceptron Backpropagation algoritmus 1. inicializuj váhy sít malými náhodnými ísly (nap. z intervalu [-0.05,0.05]) 2. dokud není splnno kritérium pro zastavení 2.1. pro každý píklad [,y] z trénovacích dat 2.1.1. spoítej výstup out u pro každý neuron u v síti 2.1.2. pro každý neuron v ve výstupní vrstv spoítej chybu error v = out v (1 - out v ) (y v - out v ) 2.1.3. pro každý neuron s ve skryté vrstv spoítej chybu error s = out s (1 - out s ) v výstup (w s,v error v ) 2.1.4. pro každou vazbu vedoucí od neuronu j do neuronu k modifikuj váhu vazby w j,k = w j,k + w j,k, kde w j,k = η error k j,k Obr. 8 Algoritmus zptného šíení chyby 8.2.6 Bayesovské metody Bayesovské metody vycházejí z Bayesovy vty o podmínných pravdpodobnostech. Akoliv se tedy jedná o metody pravdpodobnostní, jsou intenzivn studovány v souvislosti se 11
strojovým uením a uplatují se rovnž v systémech pro dobývání znalostí. Bayesv vztah pro výpoet podmínné pravdpodobnosti že platí hypotéza H, pokud pozorujeme evidenci E má podobu: Bayesova vta dává návod jak stanovit vliv jedné evidence na uvažovanou hypotézu. Jak ale postupovat, pokud je evidencí více? Naivní bayesovský klasifikátor vychází z pedpokladu, že jednotlivé evidence E 1,,E K jsou podmínn nezávislé pi platnosti hypotézy H. Tento zjednodušující pedpoklad umožuje spoítat aposteriorní pravdpodobnost hypotézy pi platnosti všech evidencí Hodnoty P(H) a P(Ek H) odhadujeme z dat. Vzhledem k tomu, že struktura modelu je pevn dána (pedpokladem nezávislosti) a hledáme jen jeho parametry (hodnoty pravdpodobností), patí vytvoení naivního bayesovského klasifikátoru mezi metody uení založené na myšlence aproimace. Bayesovské sít umožují reprezentovat znalosti o ásten nezávislých evidencích a tyto znalosti použít pi usuzování. Platí pitom, že sdruženou pravdpodobnostní distribuci celé sít mžeme spoítat jako!"#$ kde rodie(u) jsou uzly, ze kterých vycházejí hrany do uzlu u. Pokud z dat odhadujeme strukturu sít, jde o uení jako prohledávání, pokud je sí pevn dána a z dat odhadujeme jen podmínné pravdpodobnosti piazené jednotlivým uzlm, jde o uení jako aproimaci. Obr. 9 Píklad bayesovské sít 8.2.7 Uení založené na instancích V pípad uení založeném na instancích jsou koncepty (tídy) reprezentovány svými typickými pedstaviteli. Tyto pedstavitele mžeme získat tak, že si zapamatujeme (uložíme do databáze) trénovací píklady. Není teba ukládat vše, staí uložit pouze ty píklady, které nejsou zatím správn klasifikovány jde tedy o jednoduché heuristické prohledávání shora dol. Tento zpsob tedy umožuje inkrementáln pidávat nové znalosti (píklady) do báze 12
píklad. V pípad velkého množství píklad, což je situace typická pi dobývání znalostí z databází, ale nelze uvažovat o uložení všech píklad. Neobejdeme se tedy ve fázi uení bez generalizace. Jednotlivé tídy (resp. shluky pípad v prostoru atribut) pak mžeme reprezentovat tzv. centroidy. Neznáme-li pedem poet shluk, jedná se o uení jako prohledávání (prohledávat mžeme shora-dol pi divizivním shlukování i zdola-nahoru pi aglomerativním shlukování). V pípad, že poet shluk je pedem dán, jedná se o uení jako aproimaci. 8.3 Hodnocení znalostí nalezených v prbhu uení U deskripních model je kritériem kvality nalezených znalostí subjektivní pohled eperta, který posuzuje jejich zajímavost, novost a použitelnost. V pípad klasifikaních model je kritériem úspšnost klasifikace na datech. Eistují rzné zpsoby testování testování v celých trénovacích datech kížová validace (cross-validation) leave-one-out bootstrap testování na testovacích datech které se liší zejména ve zpsobu získání vhodných dat. Ve všech zpsobech se ale vyhodnocuje poet shod klasifikace modelem s informací obsaženou v testovacích datech o zaazení píkladu do tídy. Tyto údaje se lze zobrazit v tzv. matici zámn (konfusion matri) jako poet true positive true negative false positive a false negative klasifikací (viz Obr. 10). Na základ této matice se pak poítají nejrznjší charakteristiky kvality modelu jako správnost, chyba, pesnost a úplnost apod. %&'(&)$''*+$,-./+0&1&0$2 3 3 45 4 5 Obr. 10 Matice zámn 8.4 Teoretické problémy strojového uení 8.4.1 PAC teorie Def: Koncept je reáln eistující tída objekt. Def: Trénovací množina je konená množina píklad, z nichž nkteré jsou prvky daného konceptu (pozitivní píklady) a nkteré nejsou prvky daného konceptu (negativní píklady) Def: Hypotéza je formální, eplicitní charakterizace konceptu. Def: Hypotéza je konzistentní, práv když nepokrývá žádný negativní píklad úplná, práv když pokrývá všechny pozitivní píklady 13
Vta: Cílem strojového uení je nalézt konzistentní a úplnou hypotézu pro daná trénovací data. Je dosažení výše uvedeného cíle vždy možné? A co nám íká konzistentní a úplná hypotéza pro trénovací data o kvalit této hypotézy obecn? Def: Trénovací chyba je chyba, které se hypotéza dopustí na trénovacích datech. Tedy (pro klasifikaní úlohy) je to poet chybn klasifikovaných píkladech z trénovací množiny. Def: Skutená chyba je chyba, které se hypotéza dopustí na datech náhodn vybraných z téže populace, ze které pocházejí trénovací píklady (princip stacionarity). Def: PAC Uení. Koncept je možno se nauit pravdpodobn skoro správn (Probably Aproimately Correctly), pokud s pravdpodobností alespo 1 - δ nalezneme hypotézu h takovou, že její skutená chyba je menší nebo rovna ε. Kolik trénovacích píklad k tomu budeme potebovat? Pedpokládejme nejprve, že trénovací chyba hypotézy h je rovna nule. Hausslerv teorém: Je-li prostor hypotéz H konený a D je sekvence n nezávislých náhodných píklad konceptu c, pak pravdpodobnost, že h H má skutenou chybu vtší než ε je menší než H e εn Požadujeme-li, aby tato pravdpodobnost byla menší než δ potom H e εn < δ 1 n ( ln H + ln(1/ δ )). ε Tento vztah íká, kolik potebujeme píklad pro PAC uení konceptu c. Píklad: Pedpokládejme že data jsou tvoena m binárními (booleovskými) atributy. Hledáme-li hypotézy v podob konjunkce pozitivních literál (pouze TRUE hodnot atribut), pak H = 2 m Poet trénovacích píklad, které potebujeme pro PAC uení je tedy 1 n ε ( mln 2 + ln(1/ δ )) Požadujeme-li, aby s pravdpodobností alespo 95% byla chyba hypotézy menší než 0.1, pak pro 10 atribut potebujeme alespo 1 0.1 ( 10ln 2 ln(1/ 0.05) ) = 10(6,93 + 3) 100 + píklad. 14
Hledáme-li hypotézy v podob konjunkce literál, pak H = 3 m Poet trénovacích píklad, které potebujeme pro PAC uení je tedy 1 n ε ( m ln 3 + ln(1/ δ )) Požadujeme-li, aby s pravdpodobností alespo 95% byla chyba hypotézy menší než 0.1, pak pro 10 atribut potebujeme alespo 1 0.1 ( 10ln 3 ln(1/ 0.05) ) = 10(10,93 + 3) 140 + píklad. Hledáme-li hypotézy v podob disjunkce k konjunkcí literál, pak mk H = 3 Poet trénovacích píklad, které potebujeme pro PAC uení je tedy 1 n ε ( mk ln 3 + ln(1/ δ )) Požadujeme-li, aby s pravdpodobností alespo 95% byla chyba hypotézy tvoené 3 konjunkcemi menší než 0.1, pak pro 10 atribut potebujeme alespo 10(30 ln 3 + ln(1/0.05)) 10(33 + 3) = 360 píklad Hledáme-li hypotézy v podob libovolné podmnožiny píklad, pak H = 2 m 2 Poet trénovacích píklad, které potebujeme pro PAC uení je m ( 2 ln 2 + ln(1/ δ )) 1 n. ε Potebovali bychom tedy více píklad, než lze pro dané binární atributy vytvoit. Jak vypadá potebný poet píklad ve zbývajících situacích, tedy pro nenulovou trénovací chybu resp. pro nekonený prostor hypotéz? Vta: Pokud trénovací chyba hypotézy h není rovna nule, tak v pípad koneného prostoru hypotéz H je poet píklad potebných pro PAC uení n 1 2ε ( ln H + ln(1/ )) 2 δ Vta: Pokud prostor hypotéz H je nekonený, tak poet píklad potebných pro PAC uení je 1 n ( 4log 2 (2 / δ ) + 8VC( H )log 2 (13/ ε )), ε kde VC(H) (tzv. Vapnik-ervonnkisova dimenze) je maimální poet píklad, pro které se lze jako koncept nauit s nulovou trénovací chybou libovolnou podmnožinu tchto píklad. 15
Píklad: Uvažujme, že píklady jsou popsány hodnotami dvou numerických atribut 1 a 2 (a lze je tedy reprezentovat jako body ve dvourozmrném prostoru atribut). Nech H je množina všech lineárních diskriminaních funkcí f = q 0 + q 1 1 + q 2 2. Pak VC(H) = 3, nebo pro žádnou tveici píklad nemže být libovolná podmnožina tchto píklad oddlena pímkou od píklad zbývajících (jde o analogii s XOR problémem u lineárního perceptronu), ale pro ti píklady to možné je (Obr. 11). Obr. 11 Klasifikace libovolné podmnožiny tí bod Vta: VC dimenze množiny lineárních diskriminaních funkcí v m-rozmrném prostoru je m+1. 8.4.2 Bias a variance Dva dležité pojmy, se kterými se setkáváme v souvislosti s hodnocením jednotlivých algoritm strojového uení, jsou bias a variance. Bias (apriorní omezení, pedpojatost), je souhrnné oznaení pro adu skrytých pedpoklad jednotlivých algoritm). Obvykle se používá: Deklarativní bias (preferenní relace mezi jednotlivými hypotézami) Jazykový bias (preferenní relace mezi jazykovými prostedky, které se používají pro popis koncept) Prohledávací bias (poadí, v jakém jsou vyhodnocovány jednotlivé hypotézy) V pípad dvou stejn kvalitních (z hlediska trénovací chyby) hypotéz se obvykle preferuje ta jednodušší. Filozofické zdvodnní tohoto pístupu podal již ve 13. století William z Ockhamu (Entia non sunt multiplicanda praeter necessitatem) proto se tomuto pístupu íká Ockhamova bitva. Variance vyjaduje, do jaké míry je nalezená hypotéza citlivá na zmnu trénovacích dat. Bias a variance jsou spolu vzájemn svázány - bias vyjaduje kvalitu hypotézy, variance vyjaduje robustnost hypotézy: Jednoduché hypotézy, obsahující málo parametr, mají vysoký bias (vyšší chybu) a nízkou variance (nepodléhají velkým zmnám pi zmn trénovacích dat). 16
Složité hypotézy, obsahující mnoho volných parametr, mají nízký bias (nižší chybu), ale vysokou variance (jsou citlivé na zmnu dat) Obr. 12 Vysoký bias, nízká variance Obr. 13 Nízký bias, vysoká variance 8.4.2 Dležité teorémy Otázkou, která napadne každého, kdo chce použít algoritmy strojového uení je, zda eistuje njaký univerzáln nejlepší algoritmus. Odpov je bohužel záporná. No free lunch teorém: Pro libovolné dva algoritmy A a B platí, že je-li algoritmus A lepší (ve smyslu chyby) než algoritmus B na njakých k datových souborech (úlohách), pak eistuje jiných k datových soubor (úloh), na kterých je algoritmus B lepší než algoritmus A. (Algoritmem ve výše uvedeném teorému mže být i náhodné hádání píslušnosti ke tíd) Teorém ošklivé kaátko: 1. Pokud používáme pro popis píklad, které chceme od sebe odlišit hodnoty atribut, pak poet atribut, ve kterých se popisy libovolných dvou píklad shodují, je konstantní. 2. Pokud vyjadujeme podobnost mezi píklady potem atribut ve kterých se jejich hodnoty shodují, pak libovolné dva píklady jsou si stejn podobné. 8.5 Adaptace Pojmy adaptivní systém a uící se systém lze nalézt v teorii ízení již v šedesátých létech. V uvedeném kontetu se v obou pípadech jedná o systémy, které mají schopnost pizpsobovat se prostedí, ve kterém pracují. Tato schopnost je chápána jako minimalizace ztráty, které se systém dopouští v procesu rozhodování (klasifikace). Zatímco adaptivní systém se každé nové situaci pizpsobuje nezávisle na pedcházejících adaptacích a situacích, cílem uícího se systému je dosáhnout dlouhodobji optimálního chovaní; zkušenost z jednotlivých dílích adaptací se zobecuje do obecnji použitelného modelu. Uící se systém tedy v teorii ízení pedstavuje dokonalejší nástroj než systém adaptivní. V ponkud jiném významu se pojem adaptivní objevil v posledních letech v souvislosti s inteligentními systémy, zejména se systémy z oblasti strojového uení a soft computing. V obou pípadech se jedná o systémy z oblasti umlé inteligence. Zatímco strojové uení klade draz na schopnost generalizovat z píklad, a zabývá se tedy zpsobem získávání znalostí, soft computing klade draz na schopnost rychle nalézat ešení (ne nutn optimální) vágn a neúpln popsaných problém, a zabývá se tedy zpsobem zpracovávání znalostí. 17
Vzhledem k tomu, že zpsob získávání znalostí jde asto ruku v ruce se zpsobem jejich zpracování, mžeme adit celou adu metod jak do oblasti strojového uení tak do oblasti soft computing. Mezi metody strojového uení patí metody pro tvorbu rozhodovacích strom, asocianích pravidel, rozhodovacích pravidel, neuronové sít, genetické algoritmy, metody založené na analogii, bayesovské metody, nebo induktivní logické programování. Do soft computing se obvykle adí systémy založené na fuzzy logice, neuronové sít a genetické algoritmy, pípadn hybridní systémy využívající kombinaci více metod (nap. neuro-fuzzy systémy). Schopnost uení je vtšinou nedílnou souástí uvedených metod. V kontetu inteligentních systém je tedy adaptivita nco navíc. Ve shod s evropským výzkumným projektem EUNITE (IST-2000-29207) budeme zde adaptivitu chápat jako (Anguita, 2001): schopnost inteligentního systému pizpsobit se zmnám prostedí, schopnost inteligentního systému pizpsobit se novým podmínkám využívání, schopnost inteligentního systému pizpsobit se nové aplikaci. V prvním pípad musí být inteligentní systém schopen rozpoznat asové nebo prostorové zmny prostedí ve kterém psobí a adekvátn reagovat. Píkladem mže být rozpoznání zmny preferencí zákazník pi elektronickém obchodování nebo regulace nestacionárního systému. Ve druhém pípad se jedná o schopnost systému pracovat i v jiných podmínkách, než pro které byl vyvinut. Píkladem mže být možnost penést systém pro klasifikaci rizikovosti klient z jedné finanní instituce (nap. banky) do jiné finanní instituce (nap. pojišovny) bez nutnosti vývoje celého systému znovu. Tetí pípad se týká možnosti penesení inteligentního systému do zcela jiné aplikaní oblasti. Aby byl inteligentní systém považován za adaptivní ve výše uvedeném smyslu, nemusí vykazovat všechny uvedené schopnosti. Zamíme se na adaptivní rysy systém z oblasti strojového uení. Podrobnji se podíváme na problémy související s inkrementálním uením, uením a zapomínáním, integrací znalostí, metauením, revizí znalostí, využitím analogií. 8.4.1 Inkrementální uení Pi inkrementálním uení lze, na rozdíl od dávkového uení, dosud získané znalosti prbžn modifikovat na základ nových píklad. Na vstupu inkrementálního algoritmu je pvodní model a nový píklad, výstupem je aktualizovaný model. Nkteré algoritmy (nap. uení založené na instancích) jsou inkrementální ze své podstaty, jiné algoritmy (nap. tvorba rozhodovacích strom) je teba podstatn modifikovat. 18
Obr. 14 Dávkové vs. inkrementální uení 8.4.2 Uení a zapomínání Uení a zapomínání hraje roli v úlohách, kdy koncepty, které je teba se nauit, se prbžn mní. Na rozdíl od inkrementálního uení, kdy považujeme za relevantní všechny píklady, které postupn používáme, zde hrají roli jen píklady nejnovjší. Obr. 15 ilustruje pístup založený na použití okna, ve kterém jsou uchovávány jen aktuální píklady. Na jedné stran jsou do okna pidávány nové píklady (systém se uí), na druhé stran jsou z okna odstraovány píklady staré (systém zapomíná). Pi uení resp. zapomínání se modifikuje ta ást znalostí, která pokrývá pidávaný resp. odebíraný píklad. uení zapomínání u + u u u + POS POT NEG z + z + z z Obr. 15 Uení a zapomínání 8.4.3 Integrování znalostí Pod pojmem integrování znalostí chápeme proces kombinace znalostí získaných z rzných zdroj resp. rznými zpsoby. K integrování znalostí mže docházet na úrovni usuzování nebo na úrovni reprezentace. Na úrovni usuzování se jedná o rzné zpsoby kombinování model. Obecné schéma kombinování model vidíme na Obr. 16. K základním pístupm patí bagging, boosting a stacking. Bagging Uení je založeno na vytvoení paralelních model na základ rzných podmnožin trénovacích dat (náhodný výbr s opakováním). Použije se týž algoritmus pro uení. Pi klasifikaci rovné hlasování model Boosting Uení má podobu vytvoení sekvence model. Každý model se zamuje na ty píklady, které se pedcházejícími modely nepodailo klasifikovat (vážení píklad). Pitom se použije (týž) algoritmus pro uení. Pi klasifikaci vážené hlasování model. 19
Stacking Uení má podobu vytvoení paralelních model. Pitom se použijí rzné algoritmy na stejná data. Pak následuje tzv. meta-uení (uení z výsledk jednotlivých klasifikací). Obr. 16 Kombinování model Obecné schéma integrování znalostí na úrovni reprezentace ukazuje Obr. zpsobem se postupuje ve znalostním inženýrství. 17. Tímto Obr. 17 Integrování na úrovni reprezentace 8.4.4 Integrace/revize znalostí V pípad revize znalostí vycházíme z toho, že pvodní, neúplné znalosti mžeme modifikovat na základ trénovacích píklad. Výsledný model je konzistentní s pvodními znalostmi. Oblastí která tímto zpsobem pistupuje k úloze strojového uení, je induktivní logické programování (ILP). Úlohu ILP mžeme definovat následujícím zpsobem: je dána poátení znalost B, a trénovací píklady pozitivní E + a negativní E - (z hlediska jedné tídy). Cílem je nalézt nové znalosti H tak, aby: z H a B byly odvoditelné všechny pozitivní píklady z H a B nebyl odvoditelný žádný negativní píklad H a B byly konzistentní 20
Obr. 18 Úloha revize znalostí 8.4.5 Analogie a adaptace Základní myšlenkou usuzování na základ analogie je použít ešení, které se v minulostí osvdilo na podobné úloze, kterou ešíme nyní. Tento princip našel své vyjádení ve statistice (klasifikace dle nejbližšího souseda), pípadovém usuzování i strojovém uení. Pípadové usuzování (Case-Based Reasoning, CBR) pracuje zpsobem naznaeným na Obr. 19 (Watson, Marir, 1994): retrieve (najdi nejpodobnjší pípady) reuse (použij navržené ešení) revise (pípadn reviduj navržené ešení) retain (uchovej nové ešení v bázi pípad = uení) Problém R retain R retrieve r e u s e Báze pípad R revise Pijaté ešení Navržené ešení Obr. 19 Pípadové usuzování 21
Cviení: 1) Píklad: Data o klientech banky, kteí žádají o úvr jsou tvoena atributy píjem (s hodnotami vysoký, nízký), konto (vysoké, nízké, stední), pohlaví (muž, žena), nezamstnaný (ano, ne). Kolik trénovacích píklad potebujeme pro PAC uení hypotéz, tvoených konjunkcemi pozitivních literál? 2) Píklad: Data o klientech banky, kteí žádají o úvr jsou tvoena atributy píjem (s hodnotami vysoký, nízký), konto (vysoké, nízké, stední), pohlaví (muž, žena), nezamstnaný (ano, ne). Kolik trénovacích píklad potebujeme pro PAC uení hypotéz, tvoených konjunkcemi literál? 3) Píklad: Data o klientech banky, kteí žádají o úvr jsou tvoena atributy píjem (s hodnotami vysoký, nízký), konto (vysoké, nízké, stední), pohlaví (muž, žena), nezamstnaný (ano, ne). Kolik trénovacích píklad potebujeme pro PAC uení hypotéz, tvoených libovolnou podmnožinou? 4) Píklad: Nech X je množina reálných ísel (vyjadujících nap. výši píjm). Nech hypotézy jsou intervaly (a, b) (neboli hypotézy mají tvar a b). Jaká je VC dimenze prostoru všech takových hypotéz? 22