5.7 Metody založené na analogii



Podobné dokumenty
Metody založené na analogii

Instance based learning

Úloha - rozpoznávání číslic

Moderní systémy pro získávání znalostí z informací a dat

Kybernetika a umělá inteligence, cvičení 10/11

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Obsah. Seznam obrázků. Seznam tabulek. Petr Berka, 2011

ANALÝZA A KLASIFIKACE DAT

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

5.1 Rozhodovací stromy

Strojové učení Marta Vomlelová

Statistická teorie učení

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Dolování z textu. Martin Vítek

Lineární klasifikátory

Datové struktury 2: Rozptylovací tabulky

Některé potíže s klasifikačními modely v praxi. Nikola Kaspříková KMAT FIS VŠE v Praze

Získávání dat z databází 1 DMINA 2010

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Metody odvozování. matematická východiska: logika, Prolog

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Matematika pro informatiky

Učící se klasifikátory obrazu v průmyslu

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

ANALÝZA A KLASIFIKACE DAT

Support Vector Machines (jemný úvod)

Automatické vyhledávání informace a znalosti v elektronických textových datech

Získávání znalostí z dat

Využití metod strojového učení v bioinformatice David Hoksza

DATA MINING KLASIFIKACE DMINA LS 2009/2010

Metody analýzy dat I. Míry a metriky - pokračování

5.5 Evoluční algoritmy

Rozhodovací pravidla

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

Vícerozměrné statistické metody

Pravděpodobně skoro správné. PAC učení 1

Umělá inteligence a rozpoznávání

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Úvod do optimalizace, metody hladké optimalizace

8. Strojové učení. Strojové učení. 16. prosince Václav Matoušek. 8-1 Úvod do znalostního inženýrství, ZS 2014/15

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Pokročilé neparametrické metody. Klára Kubošová

Pokročilé operace s obrazem

Klasifikace předmětů a jevů

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

Odečítání pozadí a sledování lidí z nehybné kamery. Ondřej Šerý

Dobývání dat a strojové učení

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Chybějící atributy a postupy pro jejich náhradu

Globální matice konstrukce

MBI - technologická realizace modelu

Binární soubory (datové, typované)

Neuronové časové řady (ANN-TS)

UČENÍ BEZ UČITELE. Václav Hlaváč

Algoritmy a struktury neuropočítačů ASN - P11

GIS Geografické informační systémy

Binární vyhledávací stromy pokročilé partie

1. Data mining. Strojové učení. Základní úlohy.

Lineární diskriminační funkce. Perceptronový algoritmus.

Přednáška 13 Redukce dimenzionality

Whale detection Brainstorming session. Jiří Dutkevič Lenka Kovářová Milan Le

Projekt LISp-Miner. M. Šimůnek

Dobývání a vizualizace znalostí

GIS Geografické informační systémy

Dijkstrův algoritmus

Unstructured data pre-processing using Snowball language

U Úvod do modelování a simulace systémů

Státnice odborné č. 20

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

Následující text je součástí učebních textů předmětu Bi0034 Analýza a klasifikace dat a je určen

Popisná statistika kvantitativní veličiny

Stromy, haldy, prioritní fronty

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Strojové uení. typy učení: Metody učení: učení se znalostem (knowledge acquisition) učení se dovednostem (skill refinement).

Text Mining: SAS Enterprise Miner versus Teragram. Petr Berka, Tomáš Kliegr VŠE Praha

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Algoritmy pro shlukování prostorových dat

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Úvodem Dříve les než stromy 3 Operace s maticemi

Pokročilé neparametrické metody. Klára Kubošová

Řešení příkladu - klasifikace testovacího subjektu podle minimální vzdálenosti:

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

Dobývání a vizualizace znalostí. Olga Štěpánková et al.

Jana Vránová, 3. lékařská fakulta UK

Analytické procedury v systému LISp-Miner

7. Rozdělení pravděpodobnosti ve statistice

Klasifikace podle nejbližších sousedů Nearest Neighbour Classification [k-nn]

FOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth

Jasové transformace. Karel Horák. Rozvrh přednášky:

Časová a prostorová složitost algoritmů

Ing. Alena Šafrová Drášilová, Ph.D.

Transkript:

5.7 Metody založené na analogii Případové usuzování (Case-Based Reasoning, CBR), pravidlo nejbližšího souseda (nearest neighbour rule), učení založené na instancích (Instance-Based Learning, IBL), líné učení (lazy learning), pamětové učení (Memory-Based Learning), shlukování (clustering) to všechno jsou metody založené principu analogie: v neznámé situaci použij to řešení, které se osvědčilo v situaci podobné. Znalosti jsou tentokrát reprezentovány v podobě databáze již vyřešených problémů. Ve fázi učení se tedy neprovádí generalizace z příkladů (proto název líné učení). Při usuzování se pak v této databázi hledá nejpodobnější případ, dříve použité řešení někdy musí být adaptováno na novou situaci. Metody založené na analogii lze použít pro deskriptivní úlohy (segmentaci a shlukování) i pro úlohy klasifikační. Podobně jako na jiných místech knihy i zde bude větší důraz kladen na klasifikaci. 5.7.1 Podobnost mezi příklady Klíčovým pojmem je koncept podobnosti, resp. vzdálenosti, Jak podobnost tak vzdálenost se vyjadřuje pomocí metriky. Metrika je definována jako funkce d: X X R taková, že 1. x 1,x 2 X; d(x 1,x 2 ) 0 2. d(x 1,x 2 ) = 0 x 1 = x 2 3. d(x 1, x 2 ) = d(x 2,x 1 ) 4. x 1,x 2,x 3 X; d(x 1,x 2 ) + d(x 2,x 3 ) d(x 1,x 3 ) Nejpoužívanější metriky již známe z kapitoly o statistických metodách. Jsou to eukleidovská vzdálenost m d E (x 1,x 2 ) = δ E (x 1j,x 2j ), kde δ E (x 1j,x 2j ) = (x 1j - x 2j ) 2 j=1 a Hammingova vzdálenost (v komunitě strojového učení nazývaná Manhattan, nebo city-block) 1 m d H (x 1,x 2 ) = δ H (x 1j,x 2j ), kde δ H (x 1j,x 2j ) = x 1j - x 2j j=1 K nim se (pro kategoriální atributy) řadí ještě metrika překrytí ( overlap ), počítající počet rozdílů v hodnotách stejných atributů m d O (x 1,x 2 ) = δ O (x 1j,x 2j ), kde δ O (x 1j,x 2j ) = j=1 0 pro x 1j = x 1 pro x 1j x 2j 2j 1 V případě, že hodnoty atributů jsou pouze 0 a 1, počítá Hammingova vzdálenost (stejně jako metrika překrytí) počet neshod v hodnotách vzájemně si odpovídajících atributů dvou příkladů. Takto je tato metrika používána například v teorii informace pro měření vzdálenosti dvou kódových slov reprezentovaných bitovými řetězci. 1

Podobnost pak můžeme spočítat jako 1/d(x 1,x 2 ) nebo jako 1 - d(x 1,x 2 ). První varianta se používá pro d(x 1,x 2 ) R (nenormalizovaná vzdálenost), druhá varianta se používá pro d(x 1,x 2 ) [0,1] (vzdálenost je normalizována např. tak, že je vydělena vzdáleností mezi dvěma krajními hodnotami definičního oboru). Uvedené metriky trpí některými nedostatky. Liu [Liu, 1996] uvádí tyto dva problémy: 1. na určení podobnosti dvou příkladů se všechny atributy podílejí stejně; to může vést k přeučení systému, 2. měření podobnosti mezi dvěma hodnotami kategoriálního atributu jako shoda/neshoda hodnot (případ metriky překrytí) nedokáže často zachytit složitost a jemné nuance problému. Řešení prvního problému spočívá ve vážení jednotlivých atributů. Při porovnávání hodnot téhož atributu se tedy pracuje s hodnotou δ (x 1i,x 2i ) = w i δ(x 1i,x 2i ). Váhy atributů lze získat od experta, na základě analýzy celých trénovacích dat (např. na základě podmíněné pravděpodobnosti nebo entropie; obě možnosti vyjadřují, jak dobře se atribut hodí pro klasifikaci), nebo inkrementálně na základě výsledku klasifikace pro jeden přiklad (váhy správně fungujících atributů se posilují, váhy špatně fungujících atributů se oslabí podobně jako u neuronových sítí). Podrobněji o této problematice viz [Wettschereck, Aha, 1995]. V extremním případě (w i = 0) lze pomocí vážení provádět selekci atributů. Pro řešení druhého problému se nabízejí složitější metriky. Populární je zejména tzv. Value Difference Metric (VDM) [Stanfill, Waltz, 1986]. Tato metrika bere do úvahy celkovou podobnost příkladů patřících do různých tříd v celé trénovací množině. Nechť počty výskytu jednotlivých hodnot v 1, v 2, v R atributu A pro příklady patřící do tříd C(v 1 ),., C(v S ) ukazuje kontingenční tabulka Tab. 1. C(v 1 ) C(v 2 ). C(v S ) A(v 1 ) a 11 a 12. a 1S r 1 A(v 2 ) a 21 a 22. a 2S r 2 : : : : : : : : : : A(v R ) a R1 a R2. a RS r R s 1 s 2. s S n Tab. 1 Kontingenční tabulka Tedy a kl je četnost (frekvence) kombinace A(v k ) C(v l ), S r k = akl, l=1 R s l = akl, a R S n = akl. k=1 k=1 l=1 2

Je-li x 1j = v a a x 2j = v b, potom vzdálenost mezi těmito dvěma hodnotami je 2 S δ( x 1j, x 2j ) = l=1 a al r a a bl r b. Vzdálenost mezi dvěma příklady x 1 a x 2 přitom zůstává m d(x 1,x 2 ) = δ(x 1j,x 2j ). j=1 Modifikace této metriky, Modified Value Difference Metric (MVDM) bere do úvahy i váhy příkladů x 1 a x 2 [Cost, Salzberg, 1993]: m d(x 1,x 2 ) = w x1 w x2 δ(x 1j,x 2j ). j=1 Je-li x 1 nový příklad, který se má klasifikovat a x 2 příklad v databázi, bude w x1 = 1 w x2 = počet použití příkladu x 2 pro klasifikaci počet správných použití příkladu x 2. Váha příkladu x 2 tedy bere do úvahy úspěšnost použití tohoto příkladu při klasifikaci. Jinou možností jak měřit vzdálenost mezi hodnotami kategoriálního atributu je využít hierarchického uspořádání hodnot atributu (pokud takováto hierarchie existuje). Vzdálenost mezi dvěma hodnotami bude v tomto případě dána podílem maxima z hloubky obou hodnot-uzlů v minimálním společném podstromu a hloubky celé hierarchie. Tedy např. pro hierarchii hodnot atributu bydlení uvedenou na Obr. 1 bude δ(vlastní_dům,vlastní_byt)= max(1,1)/2 = 0.5 (kořen minimálního společného podstromu je uzel vlastní) δ(vlastní_byt,družstevní) = max(2,1)/2 = 1 (kořen minimálního společného podstromu je uzel any). any vlastní družstevní nájemní vlastní dům vlastní byt Nájemní byt státní Nájemní byt s majitelem Obr. 1 Hierarchie hodnot atributu bydlení 2 Připomeňme si, že a al /r a je odhad podmíněné pravděpodobnosti P(C(v l ) A(v a )). 3

5.7.2 Podobnost mezi časovými řadami a sekvencemi Zajímavým dílčím problémem je otázka, jak měřit podobnost mezi časovými řadami nebo sekvencemi [Gunopulos, Das, 2000]. U dat typu spotřeba elektrické energie, pohyb cen akcií, transakce na účtu klienta, či výskyt poruch v telekomunikační síti, lze využít toho, že nepracujeme s hodnotami různých atributů, ale s jediným atributem, jehož hodnoty sledujeme v průběhu určitého časového období. Nejjednodušší způsob, jak měřit podobnost mezi dvěma časovými řadami téže délky je standardním způsobem použít eukleidovskou metriku. Tento způsob je ovšem velmi citlivý na drobné posuvy v časové ose 3. Proto se pro časové řady používá metoda dynamic time warping provádějící dynamickou deformaci časové osy [Berndt, Clifford, 1996] 4. Místo abychom porovnávali sobě odpovídající vzorky dvou řad, hledáme vzorky, které si jsou nejblíže. Pro uvažované dvě řady hledáme tzv. deformační cestu (warping path) X = x 1, x 2,, x i,, x lx Y = y 1, y 2,, y j,, y ly W = w 1,w 2,, w k,, w K, max(l x,l y ) K < l x + l y + 1 která specifikuje, které vzorky obou řad budeme porovnávat. Nějaká hodnota w k v této cestě je definována jako w k = (i,j) k, tedy jako volba hodnot x i a y j. Přitom musí platit [Keogh, Pazzani, 1999]: hraniční podmínky w 1 = (1,1) a w K = (l x, l y ), spojitost: je-li w k = (i k,j k ), potom w k-1 = (i k-1,j k-1 ), kde i k -i k-1 1 a j k -j k-1 1, monotonicita: je-li w k = (i k,j k ), potom w k-1 = (i k-1,j k-1 ), kde i k -i k-1 0 a j k -j k-1 0. Cílem je nalézt 5 takovou deformační cestu, která bude minimalizovat vzdálenost mezi uvažovanými řadami X a Y počítanou jako k δ E (x ik,y jk ) resp. k δ H (x ik,y jk ). Obr. 3 ukazuje příklad cesty (1,1) (2,2) (2,3) (3,3) (4,4), která přiřadí třetí hodnotu řady Y ke druhé hodnotě řady X. 5 4 Y 3 2 1 1 2 3 4 5 X Obr. 3 Příklad deformační cesty 3 Připomeňme, že klasické použití této metriky předpokládá, že každý příklad je popsán hodnotami m různých atributů, zde máme jeden atribut, s hodnotami získanými v m časových okamžicích; tyto hodnoty tedy nejsou vzájemně nezávislé. 4 Tato metoda byla původně navržena pro rozpoznávání řeči [Sakoe, Chiba, 1978]. 5 Tato úloha se řeší metodami dynamického programování. 4

Jinou možností 6 je transformovat časovou řadu na sekvenci elementárních úseků (např. vzrůst, pokles, beze změny, nebo hrot, sedlo) a pak použít některou z metod pro porovnávání sekvencí. Tyto sekvence mohou mít v zásadě dvojí podobu: sekvence dvojic (elementární úsek, časový okamžik) sekvence elementárních úseků. Vdálenost mezi dvěma sekvencemi můžeme například měřit na základě náročnosti transformace jedné sekvence na druhou. Pro první typ sekvencí definují Mannila a Rokainen ([Manilla, Rokainen, 1997]) tyto transformační operace: operace Ins(e,t) vloží událost e do časového okamžiku t operace Del(e,t) zruší událost e z časového okamžiku t operace Move(e,t,t ) přesune událost e z časového okamžiku t do časového okamžiku t. Každá z uvedených operací op(e,t) je spojena s určitými náklady c(op(e,t)). Vzdálenost mezi dvěma sekvencemi událostí je tedy dána cenou za transformaci jedné sekvence na sekvenci druhou. Tak například ([Manilla, Rokainen, 1997]) vzdálenost mezi sekvencemi je c(x Y) = X = (D,8) (D,12) (A,15) (B,17) (A,20) Y = (D,4) (D,8) (C,15) (B,17) (A,18) (C,20) c(move(d,8,4)) + c(move(d,12,8)) + c(ins(c,15)) + c(del(a,15)) + c(move(a,20,18)) + c(ins(c,20)). V případě, že sekvence je tvořena pouze elementárními úseky, (a lze ji tedy chápat jako posloupnost symbolů) se aspekt času zcela stírá. Operace používané pro transformaci jedné sekvence (řetězce) na druhou jsou pak odstranění symbolu, náhrada symbolu a vložení symbolu. Pokud jsou ceny transformačních operací jednotkové, je vzdálenost mezi sekvencemi dána počtem provedených operací (tzv. Levensteinova vzdálenost) 7. Kdybychom ve výše uvedeném příkladu sekvencí X a Y ignorovali čas, pak transformace X na Y je tvořena kroky nahraď(a,c)vlož(c) a tedy Levensteinova vzdálenost je rovna 2. Podobnost mezi sekvencemi lze rovněž definovat jako délku největšího společného úseku (longest common subsequence LCS) [Gunopulos, Das, 2000]. Přitom se připouští, že v tomto úseku se mohou vyskytovat jiné události. Pro výše uvedené sekvence X a Y (opět bez uvažování časových okamžiků) je LCS(X, Y) = D D B A A tedy podobnost mezi X a Y je 4 (pokud uvažujeme absolutní délku LCS(X, Y) ), případně 4/5 LCS(X, Y) (pokud uvažujeme relativní délku min(l x,l y ) ). 6 Existují samozřejmě další metody pro analýzu resp. transformaci časových řad, vyhlazování časové řady pomocí klouzavého průměru, autoregresní modely nebo Fourierova transformace. 7 Tento způsob se používá například pro porovnávání dvou řetězců DNA. 5

5.7.3 Učení založené na instancích Jedním z pionýrů v oblasti učení založeném na instancích (IBL) je David Aha. Vyjděme tedy z jeho popisu tohoto typu učení [Aha a kol., 1991]. Předpokladem použití metod učení založených na instancích je existence: funkce pro měření podobnosti dvou instancí, funkce pro volbu instancí pro uložení do databáze, funkce pro klasifikování nových příkladů. Funkcemi pro měření podobnosti resp. vzdálenosti (metrikami) jsme se podrobněji zabývali v předcházejícím odstavci. Nejpoužívanější funkci pro klasifikování nových případů, pravidlo k- nejbližších sousedů (k-nearest neighbour rule) popisuje odstavec následující. Zde se tedy zaměříme na způsob volby instancí které si systém zapamatuje, tedy uloží do databáze. Aha uvádí následující možnosti postupně implementované v systémech IBx: IB1 systém ukládá každý příklad z trénovacích dat; tato nejjednodušší varianta pracuje dobře i pro příklady zatížené šumem, IB2 systém se nejprve pokusí nový příklad klasifikovat. Pouze chybně zařazené příklady jsou uloženy do databáze. U této varianty dochází k významné redukci počtu ukládaných příkladů, dochází ale k problémům v případě šumu, IB3 systém používá složitější kritérium pro volbu příkladů pro uložení založené na souhrnné správnosti klasifikace. Pro každý příklad v databázi se sleduje, kolikrát se podílel na správné klasifikaci a kolikrát na nesprávné. Systém pak testuje, které příklady jsou dobré klasifikátory (ty ponechá) a které jsou špatné (ty odstraní). Tento postup umožňuje zachovat nízké nároky na paměť systému IB2 při růstu spolehlivosti klasifikace pro zašuměná data. S otázkou ukládání příkladů do databáze úzce souvisí otázka vyhledávání. Sekvenční procházení všech uložených příkladů je (pro rozsáhlá data) časově značně náročné. Jsou-li však k dispozici efektivní indexovací techniky, lze redukovat dobu potřebnou na hledání v této databázi. Příkladem takovéto techniky je použití stromů. V případě k-d stromů jsou nelistové uzly tvořeny atributy, v listech jsou pak seznamy podobných příkladů ([Friedman a kol., 1977]). Tyto stromy se tedy používají pro uchovávání příkladů pro algoritmus k-nejbližších sousedů. K-d stromy byly původně navrženy jako binární stromy pro indexování příkladů popsaných pouze numerickými atributy 8, později byl algortimus pro vytváření k-d stromů rozšířen i pro práci s kategoriálními atributy. V případě algoritmu IGTree (IG zde znamená informační zisk [Daelemans a kol., 1996]) se vytváří strom v jehož listech jsou informace o třídě; lze tedy tento strom použít přímo pro klasifikaci. Na rozdíl od algoritmů pro indukci rozhodovacích stromů se ale neprovádí žádná generalizace. Druhým rozdílem je to, že pořadí atributů pro větvení se pevně stanoví před začátkem tvorby stromu. Atributy jsou uspořádány sestupně podle informačního zisku 9 pro celá trénovací data. V tomto pořadí se pak vybírají pro větveni; maximální hloubka stromu je tedy dána počtem atributů a pro uzly ve stejné 8 Při větvení se tedy provádí binarizace. 9 Tedy podle kritéria, které navrhl Quinlan pro volbu atributu v případě indukce rozhodovacích stromů (viz příslušná kapitola). 6

hloubce se pro větvení použije tentýž atribut. Ke každému uzlu je navíc přířazena majoritní (default) třída. Při tvorbě stromu se rovněž provádí komprese dat. Příklady nejsou uloženy v plné podobě: ukládají se pouze hodnoty těch atributů, které umožní klasifikovat příklady v daném uzlu. Odlišnosti mezi k-d stromy, IGTree a rozhodovacími stromy ilustruje jednoduchý příklad převzatý z [Daelemans a kol., 1996] (Obr. 4). Quinlanův algoritmus C4.5 zde zastupuje algoritmy TDIDT. Pro uvedená data je informační zisk (pro celá data) atributu počet_otvorů rovný 1.1, informační zisk atributu tvar rovný 0.9 a informační zisk atributu velikost rovný 0.75. Obr. 4 Rozdíl mezi rozhodovacím stromem (C4.5), k-d stromem a IGTree 7

5.7.4 Nejbližší soused Nejblíže ke statistickému pojetí má metoda nejbližšího souseda, resp. K-nejbližších sousedů (Knearest neighbour rule). K dříve uvedeným základním principům využití analogie ve fázi učení se neprovádí generalizace klasifikace se provádí na základě podobnosti se zde řadí ještě třetí princip příklady jsou chápány jako body v n-rozměrném prostoru atributů. Základní podobu algoritmu uvádí Obr. 5 ([Mitchell, 1997]). Ve fázi učení si systém zapamatuje všechny příklady [x k, y k ] z trénovací množiny. Ve fázi klasifikace se pro nový příklad x nalezne (za použití zvolené metriky) K nejbližších příkladů, které pak hlasují o zařazení příkladu x do třídy. Algoritmus k-nn Učení 1. Pro každý příklad [x i, y i ] zařaď [x i, y i ] do báze příkladů Klasifikace 1. Pro nový příklad x 1.1. Najdi x 1, x 2, x K K nejbližších příkladů z báze příkladů 1.2. Přiřaď K K j k i k, i k=1 k=1 y = y j δ(y, y ) = max δ(y, y ) kde δ(y i,y k ) = 1 pro y i =y k, jinak δ(y i,y k ) = 0 Obr. 5 Algoritmus K-nejbližších sousedů Uvedený algoritmus předpokládá, že cílový atribut je kategoriální, jinými slovy, klasifikujeme příklady do konečného počtu tříd. V případě, že cílový atribut je numerický, počítáme místo nejčastější hodnoty cílového atributu hodnotu průměrnou: ŷ = 1 K K y k. k=1 V obou případech (diskretní třídy i třídy spojité) má každý z K příkladů rovný hlas. To je sice demokratické, ale někdy neefektivní. Proto se používá vážené hlasování (resp. vážený průměr). Jeden příklad vážení příkladů jsme již uvedli v předcházející podkapitole u MVDM, jinou možností je volit váhu příkladu x i v bázi jako kde d(x x,x i ) je vzdálenost obou příkladů. w i = 1 d(x,x i ) 2 8

Pokud budeme uvedeným algoritmem na základě trénovacích dat z našeho příkladu o úvěrech klasifikovat nového klienta s charakteristikami Přijem = 15000 Konto = 32000 Pak při použití eukleidovské vzdálenosti a pro parametr K=1 bude závěr klasifikace úvěr(ano), protože posuzovaný klient má nejblíže ke klientovi k5 (Tab. 2). klient příjem konto úvěr vzdálenost příkladu k1 3000 15000 ne 20808.65 k2 10000 15000 ne 17720.05 k3 17000 15000 ano 17117.24 k4 5000 30000 ne 10198.04 k5 15000 30000 ano 2000.00 k6 20000 50000 ano 18681.54 k7 2000 60000 ne 30870.70 k8 5000 90000 ano 58855.76 k9 10000 90000 ano 58215.12 k10 20000 90000 ano 58215.12 k11 10000 100000 ano 68183.58 k12 17000 100000 ano 68029.41 Tab. 2 Klasifikace nového příkladu podle jednoho nejbližšího souseda V případě velkého množství příkladů, což je situace typická při dobývání znalostí z databází, ale nelze uvažovat o uložení všech příkladů. Neobejdeme se tedy ve fázi učení bez generalizace. Jednotlivé třídy pak budou reprezentovány centroidy, tak, jak to bylo zmíněno v kapitole o statistických metodách. V nejjednodušším případě budou hodnoty atributů pro centroid reprezentující určitou třídu dán průměrnými hodnotami atributů pro příklady této třídy. Tímto způsobem získáme pro naše data dva centroidy: C(ano): příjem = 14250, konto = 70625 C(ne): příjem = 5000, konto = 30000 Pro eukleidovskou vzdálenost se při klasifikaci trénovacích dat podle těchto centroidů dopustíme tří chyb (v Tab. 3 vyznačeno tučně). klient příjem konto úvěr vzdálenost od C(ano) vzdálenost od C(ne) výsledek klasifikace k1 3000 15000 ne 56751.24 15132.75 ne k2 10000 15000 ne 55787.12 15811.39 ne k3 17000 15000 ano 55692.94 19209.37 ne k4 5000 30000 ne 41664.77 0.00 ne k5 15000 30000 ano 40631.92 10000.00 ne k6 20000 50000 ano 21411.52 25000.00 ano k7 2000 60000 ne 16215.83 30149.63 ano k8 5000 90000 ano 21469.82 60000.00 ano k9 10000 90000 ano 19835.65 60207.97 ano k10 20000 90000 ano 20210.22 61846.58 ano k11 10000 100000 ano 29680.85 70178.34 ano k12 17000 100000 ano 29503.44 71021.12 ano Tab. 3 Klasifikace trénovacích dat podle centroidů průměrů 9

To ale neznamená, že neexistují centroidy použitelné pro bezchybnou klasifikaci našich dat. Vzhledem k tomu, že data jsou lineárně separabilní (viz kapitola o neuronových sítích), mohou jako centroidy posloužit každé dva body v prostou atributů, které budou osově souměrné podle rozdělující přímky 10. Tedy například C(ano): příjem = 15000, konto = 32000 C(ne): příjem = 5000, konto = 30000 Polohu těchto centroidů v prostoru atributů ilustruje Obr. 6. Výsledky klasifikace pomocí těchto centroidů pak ukazuje Tab. 4. Obr. 6 Poloha centroidů klient příjem konto úvěr vzdálenost od C(ano) vzdálenost od C(ne) výsledek klasifikace k1 3000 15000 ne 20808.65 15132.75 ne k2 10000 15000 ne 17720.05 15811.39 ne k3 17000 15000 ano 17117.24 19209.37 ano k4 5000 30000 ne 10198.04 0.00 ne k5 15000 30000 ano 2000.00 10000.00 ano k6 20000 50000 ano 18681.54 25000.00 ano k7 2000 60000 ne 30870.70 30149.63 ne k8 5000 90000 ano 58855.76 60000.00 ano k9 10000 90000 ano 58215.12 60207.97 ano k10 20000 90000 ano 58215.12 61846.58 ano k11 10000 100000 ano 68183.58 70178.34 ano k12 17000 100000 ano 68029.41 71021.12 ano Tab. 4 Klasifikace trénovacích dat podle centroidů osově souměrných bodů 10 Reprezentace dvou lineárně separabilních tříd pomocí jedné lineární diskriminační funkce je tedy ekvivalentní reprezentaci pomocí dvou centroidů symetrických podle této funkce. V případě tříd, které nejsou lineárně separabilní je třeba jednu třídu reprezentovat více centroidy (viz kapitola o statistice). 10

5.7.5 Případové usuzování To, čím se případové usuzování (Case-Based Reasoning, CBR) odlišuje od metody nejbližšího souseda a učení na základě instancí je skutečnost, že jednotlivé příklady již nelze chápat jako body v prostoru atributů. Popis případů má charakter složitých struktur, často rámců, tak jak to ukazuje příklad na Obr. 7 (převzato z [Watson, Marir, 1994]). Takto složitá reprezentace vyžaduje složitější metody ukládání (indexování) i měření podobnosti. Základní schéma případového usuzování lze charakterizovat jako 4R [Aamodt, Plaza, 1994]: retrieve najdi nejpodobnější případy, reuse použij tyto případy pro řešení aktuálního problému, revise v případě nutnosti reviduj navržené řešení, retain uchovej nové řešení jako součást nového případu. BEGIN CASE CASE11 TITLE Zásobník inkoustu je poškozen, způsobuje černé skvrny. DESCRIPTION Malé kulaté černé skvrny se objevují na přední nebo zadní straně papíru. Občas se objeví velké nesouvislé skvrny. QUESTIONS Máte problémy s kvalitou tisku? ANSWER: ano SCORING: (-) Jaká je kvalita tisku? ANSWER: černé skvrny SCORING: (default) Pomohlo vyčištění tiskárny? ANSWER: ne SCORING: (default) ACTIONS Zkontrolujte zásobník a vyměnte ho, je-li v něm málo náplně nebo je-li poškozen BROWSE TEXT CREATION 29/7/91 14:19:22 LAST_UPDATE 29/7/91 14:19:22 LAST_USED 29/7/91 14:19:22 STATUS ACTIVE END CASE Obr. 7 Reprezentace případu v systému CBR-Express 11

Případové usuzování (Case-Based Reasoning) se objevuje jako alternativa k usuzování založenému na pravidlech (Rule-Based Reasoning) počátkem 80. let. Systémy případového usuzování jsou založeny na představě, že expert se v neznámé situaci rozhoduje na základě podobnosti s již dříve řešenými (a vyřešenými) případy a nikoliv na základě soustavy pravidel. Tento postup odpovídá např. anglosaskému pojetí práva založenému na precedentech 11. CBR systémy soutěží o přízeň uživatelů s expertními a znalostními systémy. Vzhledem k tomu, že znalosti jsou tentokráte reprezentovány jako soubor typických příkladů, je vytvoření CBR aplikace podstatně rychlejší než tvorba klasického znalostního systému. Problém získávání znalostí se zde transformuje na problém získávání případů. Klíčovou otázkou je zde volba vhodných příkladů, které dostatečně dobře pokrývají zvolenou oblast expertízy. To se dosti obtížně určuje jednorázově; tvorba (plnění) systému je opět iterativní proces. Některé systémy proto mají schopnost doučovat se. Jestliže konzultovaná situace neodpovídá žádnému případu z databáze, vyžádá se závěr od experta a vyřešený případ se zařadí do databáze jako nová znalost. CBR systémy mohou být budovány na základě dat (data driven) nebo na základě zkušeností experta (experience driven). V prvním případě pozorujeme zřejmou vazbu na dobývání znalostí (výše uvedené metody IBL). Ovšem i ve druhém případě, kdy se ve velké míře využívají znalosti experta, lze těžit z metod dobývání znalostí. Někteří autoři uvádějí, že propojení metod dobývání znalostí a případového usuzování v sekvenci databáze dobývání znalostí případové usuzování uživatel umožní překlenout propast mezi databázemi obsahujícími množství málo srozumitelných dat a koncovým uživatelem. Případové usuzování v tomto pojetí umožní v databázi zkušeností nalézt data relevantní pro danou rozhodovací situaci, metody dobývání znalostí pak přispívají k naplňování této databáze ([Aamodt a kol., 1998]). 5.7.6 Systémy IBL Algoritmus K-NN můžeme nalézt mimo jiné v systémech Clementine a Weka. Systém TiMBL z University v Tilburgu implementuje řadu zde popisovaných IBL technik. Používá např. vážení atributů na základě informačního zisku a MVDM metriku pro porovnávání dvou kategoriálních hodnot. Systém uchovává reprezentaci trénovacích dat v paměti a klasifikuje nové příklady na základě extrapolace z nejpodobnějších případů. Proces klasifikace je optimalizován s využitím indexování pomocí IGTree. Systém lze nalézt na http://ilk.kub.nl/software.html. Jiným příkladem je PEBLS, systém pro práci s kategoriálními atributy založený na pravidle nejbližšího souseda s využitím metriky MVDM [Cost, Salzberg, 1993]. Systém je volně dostupný na ftp://condor.cs.jhu.edu/pub/pebls. K aplikacím tohoto systému patří predikce struktury proteinů a identifikace vybraných sekvencí v DNA. 11 Aplikace v právnické oblasti ostatně patří mezi nejrozšířenější příklady použití systémů CBR. 12

Literatura: [Aamodt, Plaza, 1994] Aamodt,A. Plaza,E.: Case-based reasoning: foundational issues, methodological variations and system approaches. AI Communications, 7(1), 1994, 39-59. [Aamodt a kol., 1998] Aamodt,A. Sandtorv,H.A. Winnem,O.M.: Combining case based reasoning and data mining a way of revealing and reusing RAMS experience. In: Proc. Safety and Reliability ESREL 98, 1998, 1345-1351. [Aha a kol., 1991] Aha,D.W. - Kibler,D., - Albert, M. K.: Instance-based learning algorithms. Machine Learning, 6, 1991, 37-66. [Berndt, Clifford, 1996] Berndt,D. Clifford,J.: Finding Patterns in Time Series: A Dynamic Programming Approach. In: Fayyad et al. Advances in Knowledge Discovery and Data Mining. AAAI Press/MIT Press, 1996, 229-248. [Cost, Salzberg, 1993] Cost,S. - Salzberg,S.: A weighted nearest neighbor algorithm for learning with symbolic features, Machine Learning, 10:1, (1993), 57-78. [Daelemans a kol., 1996] Daelemans,W. - van den Bosch,A. Weijters,T.: IGTree: Using trees for compression and classification in lazy learning algorithms. In: D. Aha (ed.) Artificial Intelligence Review, special issue on Lazy Learning, 1996. [Friedman a kol., 1977] Friedman,J. Bentley,J. Finkel,A.R.: An algorithm for finding best matches in logaritmic expected time. ACM Transactions on Mathematical Software, 3(3), 1977. [Gunopulos, Das, 2000] Gunopulos,D. - Das,G.: Time Series Similarity Measures. KDD2000 tutorial, 2000. [Keogh, Pazzani, 1999] Keogh,E. - Pazzani,M.: Scaling up Dynamic Time Warping to Massive Datasets. In: (Zytkow, Rauch, eds.) Proc. European Konf. On Priniples and Practice of KDD PKDD 99, Springer, 1999, 1-11. [Kolodner, 1993] Kolodner, J.: Case-Based Reasoning. Morgan Kaufman, 1993. [Liu, 1996] Liu,W.Z.: An integrated approach for different attribute types in nearest neighbour classification. The Knowledge Engineering Review, Vol. 11:3, 1996, 245-252. [Manilla, Rokainen, 1997] Manilla,H. - Rokainen,P.: Similarity of Event Sequences. In: Proc. 4 th Workshop on Temporal Representation and Reasoning TIME 97, 1997. [Mitchell, 1997] Mitchell,T.: Machine Learning. McGraw-Hill. 1997. ISBN 0-07-042807-7 [Sakoe, Chiba, 1990] Sakoe,H. - Chiba,S.: Dynamic Programming Algorithm Optimization For Spoken Word Recognition 1990. IEEE Trans. Acoustics, Speech and Signal Proc., Vol. ASSP-26, 1978, 43-49. [Stanfill, Waltz, 1986] Stanfill,C. Waltz,D.: Towards memory-based reasoning. Communications of the ACM 29 (12), 1986, 1213-1228. [Watson, Marir, 1994] Watson,I. Marir,F.: Case-based reasoning: An review. The Knowledge Engineering Review, Vol. 9:4, 1994, 327-354. [Wettschereck, Aha, 1995] Wettschereck,D. - Aha,D.: Weighting features. In Proc. 1 st Int. Conf. on Case-Based Reasoning, Springer, 1995. 13