Metody založené na analogii V neznámé situaci lze použít to řešení, které se osvědčilo v situaci podobné 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) Pro učení založeném na instancích (IBL) potřebujeme: 1. funkci pro měření podobnosti dvou instancí, 2. funkci pro volbu instancí pro uložení do databáze, 3. funkci pro klasifikování nových příkladů. P. Berka, 2011 1/12
1. Podobnost mezi příklady Metrika - 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 ) eukleidovská vzdálenost d E (x,z) = v (x j - z j ) 2 j=1 Hammingova vzdálenost v d H (x,z) = x j - z j j=1 překrytí - overlap v d(x,z) = (x j, z j ) j=1 kde (x j, z j ) = 0 pro x j = z j, jinak (x j, z j ) = 1 Podobnost: 1/d(x,z) nebo 1 - d(x,z). P. Berka, 2011 2/12
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 atrinbutu 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 vážení jednotlivých atributů (x j, z j ) = w j (x j, z j ). Řešení druhého problému složitější metriky 1. Value Difference Metric (VDM) C 1 C 2. C S a 1 a 11 a 12. a 1S r 1 a 2 a 21 a 22. a 2S r 2 : : : : : : : : : : a R a R1 a R2. a RS r R s 1 s 2. s S n S ( a i, a j ) = k=1 a ik a v jk, d(x,z) = r i r j (x j, z j ). j=1 P. Berka, 2011 3/12
2. Modified Value Difference Metric (MVDM) v d(x,z) = w x w z (x j, z j ). j=1 w z = w x = 1, počet použití příkladu z pro klasifikaci počet správných použití příkladu z. 3. Využití hierarchie hodnot atributu 1 2 3 4 a b c d e f (a,b) = 1 (b,d) = max(2,1) = 2 (c,e) = max(3,2) = 3 P. Berka, 2011 4/12
2. Podobnost mezi sekvencemi vzdálenost = cena transformace jedné sekvence na druhou 1. sekvence dvojic (elementární událost, časový okamžik) X = (D,8) (D,12) (A,15) (B,17) (A,20) Y = (D,4) (D,8) (C,15) (B,17) (A,18) (C,20) 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. c(x Y) = 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)). 2. sekvence elementárních událostí X = DDABA Y = DDCBAC odstranění symbolu náhrada symbolu vložení symbolu X Y = nahraď(a,c)vlož(c) P. Berka, 2011 5/12
3. Volba instancí vybírání příkladů z trénovací množiny = učení jako prohledávání (často jednoduché heuristické shora dolů) IB1 uložení každého příkladu z trénovacích dat IB2 uložení jen chybně zařazeného příkladu IB3 ukládání příkladů na základě toho, kolikrát se podílely na správné klasifikaci (D. Aha, 1991) shlukování (a hledání centroidů) = jednoduché heurisitcké prohledávání (pro neznámý počet shluků) nebo aproximace (pro k-nn) P. Berka, 2011 6/12
Indexování P. Berka, 2011 7/12
4. Klasifikace Nejbližší soused (nearest neighbour) - základní metoda pro klasifikování příkladů příklady = body v prostoru atributů Algoritmus k-nn Učení 1. Pro každý příklad [x k, y k ] zařaď [x k, y k ] do báze příkladů Klasifikace 1. Pro příklad xx 1.1. Najdi x1, x2, xk k nejbližších příkladů z báze 1.2. Přiřaď yx = yj j = argmaxi l k (i,yl) kde (yi,yl) = 1 pro yi =yl, jinak (yi,yl) = 0 Pro numerický cíl y x = 1 k k y xi. i=1 Hlasování k nejbližších případů rovné vážené w i = 1 d(x x,x i ) 2 P. Berka, 2011 8/12
Příklad nový klient: příjem = 15000 úvěr(ano) Konto = 32000 model = celá trénovací množina: 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 vyjadřovací síla P. Berka, 2011 9/12
model = centroidy: 1. průměrné hodnoty atributů pro příklady téže třídy klient příjem konto C(ano): příjem = 14250, konto = 70625 C(ne): příjem = 5000, konto = 30000 tři chyby na trénovacích datech! ú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 P. Berka, 2011 10/12
2. body osově souměrné v prostoru atributů dle rozdělující nadroviny C(ano): příjem = 15000, konto = 32000 C(ne): příjem = 5000, konto = 30000 bezchybná klasifikace trénovacích dat klient příjem konto úvěr vzdálenost od C(ano) vzdálenost od C(ne) 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 výsledek klasifikace P. Berka, 2011 11/12
Případové usuzování (CBR) Činnost CBR systému (Aamodt, Plaza): 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. Případy = složitější struktury, nikoliv body v prostoru 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 P. Berka, 2011 12/12