Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaMariska Törökné Megváltozta több, mint 9 éve
1
Hidasi Balázs Gravity R&D BME-TMIT ML@Bp, 2012. február 20. Budapest
2
Tartalom Bevezetés Idősorok Idősor-osztályozás Az alap ShiftTree algoritmus Felépítés Címkézés Tanulás Futási idő Modellek értelmezése Előnyök, hátrányok Kiegészítések Nyesés Többszörös modellezés Heurisztikák a tanulásban Stream-ShiftTree Futási idő csökkentés Konfidenciák Online tanulás Modellek kombinálása Néhány eredmény Merre tovább?
4
Idősorok Félig strukturált adatok Idő szerinti rendezettség Egy vagy több változó Idősor-szerű adatok Több időtengely Jelen tárgyalásban: Egy idő tengely Egy vagy több változó Változók egyenletes mintavétele
5
Motiváció Olcsó szenzorok elterjedése Jelentős mennyiségű idősor jellegű adat Előtérbe kerülő alkalmazási területek Nyomkövetés Hangfelismerés Gesztusfelismerés Diagnosztika Stb.
6
Idősorokhoz kapcsolódó feladatok Előrejelzés Klaszterezés Szakaszok felismerése Osztályozás Stb.
7
Idősorok osztályozása Klasszikus osztályozás, idősor bementtel Ismert címkéjű példányokkal tanítás Ismeretlen címkéjű pontok felcímkézése Modell Tanítás Modell Osztályozás
8
Idősor-osztályozó módszerek Klasszikus módszerek Változó(k) értékei függetlenek Nem használja ki a struktúrát Nem tudja kezelni az eltérő hosszakat Példány alapú módszerek (1-NN (k-NN)) Valamilyen mérték használatával Nincs tanulás Nagyon lassú az osztályozás Indexelés Alacsony általánosító képesség Nem kell sok tanítóminta Rejtett Markov modellek (HMM) Kell ismeret a problémáról (nem domain független) Állapotátmenet mátrix, alap struktúra definiálása Tanuláshoz sok minta kell
9
Célok Modell alapú megoldás Nagyobb általánosító képesség Címkézés gyors Viszont: több tanítóminta kell Értelmezhető modell Leírás az osztályokról Bizalom az algoritmussal szemben Kellő pontosság Domain függetlenség Szakértői tudás beépíthetősége
11
Általános koncepció Nem idősor specifikus Idősor Más félig strukturált adat Gráfok Kurzor (szem) Dinamikus attribútumok Két kérdés „Hova nézzünk?” „Mit nézzünk?” Operátor családok EyeShifter Operator(s) (ESO) ConditionBuilder Operator(s) (CBO) Modell: egyszerű operátorok / szabályok sorozata Elágazások lehetségesek F(x)
12
Koncepció alkalmazása idősorokra Dinamikus attribútumok idősorokhoz EyeShifter Operator (ESO): „Hova nézzünk?” A szemet az időtengely mentén mozgatja Az idősor egy meghatározott pontjához Pl.: „Következő lokális minimum”, „100 egységgel előre”, etc. Megj.: a hely függ(het) a teljes operátor sorozattól ConditionBuilder Operator (CBO): „Mit nézzünk?” Kiszámolja az attribútum értéket Pl.: „Változó értéke”, „Ugrás hossza”, etc. Bináris döntési fa, mint alap modell Jól együttműködik a dinamikus attribútumok rendszerével A gyökértől a levelekig tartó operátor sorozatok Súlyozott átlag F(x)
13
Egy csomópont felépítése ESO j V E változón CBO k V C változón CV < TV ? CV Θ Θ IH Child L Child R
14
Néhány példa operátor ESO Következő lokális maximum Globális minimum Vissza 25 egységgel Legközelebbi szélsőértékre CBO Pontbeli érték Pont körüli súlyozott átlag Ugrás hossza Értékek átlaga az átugrott tartományban
15
Címkézés 15 0. szint ESOMax CBOSimple Felt: 2,028 1. szint ESONext(25) CBOSimple Felt: 0,201982 2. szint 1. szint Levél Érték: 1,32432 Érték: -0,953538 Érték: 1,89136 Érték: 2,15333 Érték: 2,97557
16
Modell tanulás 0. Operátor halmazok definiálása (ESO, CBO). 0. Üres gyökér csomópont felvétele, az összes tanítóminta hozzárendelése a gyökérhez. Minden mintánál a szem beállítása az idősor elejére. Gyökér berakása a kifejtési sorba. 1. A következő üres csomópont vétele a kifejtési sorból. 1.A. Ha teljesül a leállási feltétel, az aktuális csomópont legyen levél. GOTO 1. 1.B. Egyébként a csomópontba kerülő tanítóminták két részre bontása a legjobban szeparáló dinamikus attribútum szerint. (Csomópont tanulás.) 2. A kiválasztott ESO szerint a szem beállítása a tanítómintákon. 3. Két gyermek csomópont létrehozása, a mintahalmazok hozzárendelése, csomópontok hozzá vétele a kifejtési sorhoz. GOTO 1.
17
Csomópont tanulás Kiindulási állapot Szem az idősor elején Előre definiált ESO halmaz Lehetséges szem pozíciók
18
Csomópont tanulás Előre definiált CBO halmaz Elérhető dinamikus attribútumok A lehetséges szem pozíciók „körül” Minden ESO-CBO kombináció Választunk egy… Attribútumot Küszöbértéket Ami minimalizálja a gyermek csomópontokban az osztályok eloszlásának entrópiáinak az összegét F(x)
19
Csomópont tanulás Legjobb vágás kiválasztása Szem mozgatása Elérhető pozíciók megváltoznak! Minták kétfelé osztása Gyermek csomópontok létrehozása Homogén csomópont esetén leállás
20
Csomópont tanulás 20 Döntő 2,486220,369887 0 -0,700739 0 Feltételállító Szemtologató Definiált operátorok ES ESONextMax Ugrás a következő lokális maximumhoz ESONext100 Ugrás 100 hellyel előre ESOMax Ugrás a maximumhoz CBCBSimple Pontbeli érték visszaadása ESONextMax ESONext100 ESOMax CBOSimple ShiftTree Eddigi legjobb jóságérték: ESO: CBO: Feltétel: Eddigi legjobb vágás a csomópontban Jelen beállításnál a legjobb jóság érték: Jelen beállításnál a legjobb vágási feltétel: Eddigi legjobb rendezés: - - - - Inf 0,77183 0,600131 0,390093 0 -0,739969 0,805777 - Inf 1,02775 0,983634 -1,16155 1,32624 -0,332858 0,985078 - Inf 00,805777Inf0,9836340,985078Inf ESONextMax CBOSimple -0,700739 - - - ESONext100 CBOSimple 0,390093 ESONextMax -0,739969 - - - ESOMax CBOSimple 1,02775 ESONextMax - -0,332858 - - F(x) M
21
Futási idő - elmélet Címkézés: Operátorfüggően lineáris az idősor hosszában Lineáris a modell szintjeinek számában Tanítás: Csomópontonként A rendezés miatt N*logN a csomópont mintáinak számában Operátorfüggően lineáris az idősor hosszában Lehetséges dinamikus attribútumok számában lineáris függés Összességében Függ a kialakult struktúrától Függ a tanítópontok aktuális eloszlásától
22
Futási idő - gyakorlat Címkézés: nagyon gyors Tanítás: viszonylag gyors A hossztól való függés nem mutatható ki Nagyban függ a probléma nehézségétől Függ a definiált operátoroktól Lineárisan skálázódik
23
Modell értelmezés Operátor függő! Az adatok megértésében is segít Pl.: CBF adatsor 3 osztály: Cylinder, Bell, Funnel Cylinder a globális maximumban különbözik a másik kettőtől Z-normalizált adatsor Bell és Funnel közti különbség: vissza 25 egységet + zajszűrés (súlyozott átlag) Melyik oldalon van a csúcs
24
Előnyök Modell alapúság előnyei Értelmezhető Domain független Szakértői tudás bevihető az operátorokon keresztül
25
Hátrányok Alap operátorkészlet (és paramétereik) definiálása nem triviális Túl sok operátor esetén belassulhat a tanulás Modell alapúság hátrányai
27
Többváltozós idősorok kezelése Az alap algoritmus működik többváltozóson Változók értékeiből származtathatunk CBE (Condition Builder Extension) A CBO-k által számolt származtatott értékeket kombinálja Pl.: Átlagolás VVO (Virtual Variable operátor) Az egyes változókból származtat virtuális változókat Pl.: 2. és 3. változó különbsége
28
Nyesés Utó- vagy előnyesés Bizonyos ágak levágása Kipróbált módszerek: Szignifikancia alapú Komplexitás-hibaarány Egyszerű nyesés A validációs halmazra legjobban illeszkedő részfa Szintszám limit Csomópontszám limit Mintaszám limit Bármilyen nyesés csak ront a hatékonyságon
29
Többszörös modellezés (MM) 1. szint ESONext(25) CBOSimple Feltétel1 2. szint Levél Több optimális attribútum esetén Az összeset kiválasztjuk, az összes szerint vágunk Többszörös fát építünk De csak ott sokszorozunk, ahol kell, nem az egész fát Címkézés Többségi szavazás Vagy legjobb illeszkedés kiválasztása validációs halmazzal Lassú, memóriaigényes Korlátozás kell a maximális elágazás- és/vagy modellszámra Javulás az eredményekben, de rossz a trade-off Az 1. optimális (25-öt előre) Ez is optimális (25-öt vissza) 1. szint ESOPrev(25) CBOSimple Feltétel2 2. szint Levél
30
Heurisztikák a tanításban Vágási határtól legyenek a az attribútum értékek minél távolabb Operátorok eltérő működési tartománya Normalizálás Átlagolás a negatív példák miatt nem jó SM+ A határhoz legközelebbi pontok távolsága SM++ Az összes pont távolsága a határtól SM3+ SM+ és SM++ aránya Az MM-nél jobb eredmények SM+ a leghatékonyabb Nem jelentős a számítási igény növekedés Kombinálható az MM-mel Mely vágásokat dobjuk el MM használata itt már nem jelent javulást A B H = A / B a7a7 B H = SUM(ai) / B a8 a9 a10 a6 a1 a2 a3 a4 a5
31
ShiftForest: Modellek kombinálása Több modell kombinálása a pontosság növelése végett Értelmezhetőség általában elveszik Kivéve, ha értelmes a modellek metszete Boosting Iteratív módszer: Miden tanítómintához súly rendelése Tanítás Tanítóhalmazon (súlyozott) hiba mérése Modellsúly kiszámítása Hibásan osztályozott minták súlyának növelése Problémák: Kell nyesés, különben a tanítási hiba nulla Kisebb adatsorokon nem feltétlenül működik (tökéletesen illeszkedő fa) „XV” módszer Véletlenszerű felosztása a tanítóhalmaznak Első részen tanítás Másodikon pontosság mérés A modell súly a becsült pontosság érték
32
Futási idő csökkentése Tanítás során attribútum választás Célfüggvény minimalizálása Célfüggvény tulajdonságai Adott rendezés mellett minimumok csak az egybefüggő intervallumok szélén lehetnek Minimum előre meghatározható Nem léphetünk ki minimumnál, de… Ha eléri, akkor csak 2-2 helyet kell vizsgálni a további rendezéseknél Jelentősen csökken a célfüggvény értékének meghatározásának száma Futási idő átlagosan 22,33%-kal csökkent Pl.: FordB – 3636 tanítóminta: 214,94s 173,52s (-19,27%) Pl.: CBF – 30 tanítóminta: 0,246s 0,145s (-41,18%) Pl.: Beef – 30 tanítóminta 0,574s 0,517s (-9,9%)
33
Konfidenciák Mennyire biztos a modellünk a kimenetben Levél (csomópont) konfidencia Pl. többségi osztály aránya a levélben (nyesés!) Útvonal konfidencia Osztályozási útvonalon a konfidenciák (súlyozott) összegzése Egyfajta dinamikus nyesési eljárás
34
Online tanulás Konfidenciák bevezetésével válik lehetővé Teljes modellépítés helyett a modell kisméretű megváltoztatása Konfidencia frissítés az egyes csomópontokban felhasználói visszajelzés alapján Útvonal konfidencia, mint dinamikus nyesés Arányok változásával változik a nyesés
35
Stream ShiftTree Egy érdekes kiegészítés adatfolyamokban bizonyos jelek felismerésére Idősorokon tanított ShiftTree modellt használ a felismerésre Időablakos megoldás A stream változójának értékei alapján frissül, hogy éppen hol vagyunk a fában Visszafele ugrásokat nem támogatja Elkeni a feldolgozáshoz szükséges számítási igényt Főbb problémák Alapjel elkülönítése az egyes osztályoktól
36
Stream ShiftTree példa Attribútum előállítása Ugorj a következő lokális maximumra (ESONextMax(1)), és vedd a 2 sugarú környezet átlagát (CBOAVG(2)) Collector 5 hosszú FIFO sor Activator azt nézi, hogy az előző beérkezett érték lokális maximum-e Bemenet: 234 Előző előtti érték: Előző érték: Beérkezett érték: 2 4 3 4 3 2 3 2 1 2 1 - 1 - - 23--123--- Aktiválás Eredmény: 2,8 Attribútum érték kiszámítása
38
Teszteléshez használt adatok UCR Time Series Database 20 adatsor Különböző területekről A nagy részük kis méretű Time Series Classification Challenge 2007 20 adatsor Különböző területekről Csak vak tesztekhez Ford Classification Challenge 2008 2 nagy méretű adatsor Többváltozós adatok EEG jelek Hangfelismerés Gesztusfelismerés
39
ShiftTree eredmények Nincs optimalizálás Alap operátorkészlet használata minden problémánál Ford és UCR adatok Kisebb adatsorokon nem hatékony
40
ShiftForest eredmények Jelentős növekedés az alap algoritmushoz képest
41
Vak tesztek Time Series Challenge 2007 20 adatsorán Mintha részt vett volna a versenyben Egy-egy futtatás a ShiftTree-vel és a ShiftForest-tel Pontszám a helyezés alapján egy-egy problémánál Eredmény: 13 beadott megoldással (kombinált módszerek) összevetve ShiftTree 8., ShiftForest 6. helyen De az első helyek száma a ShiftTree-nél és a ShiftForest-nél a legmagasabb A kisebb adatsorokon teljesítenek rosszul
42
Algoritmus megbízhatósága
44
A ShiftTree története Egyetemi feladat + hobbi projekt 2008 (februártól) Május: első verzió és néhány teszt Október: alap modell, kiterjedt tesztek December: MM, nyesés, többváltozós 2009 Alkalmazási kísérletek (EEG adatokon) Stream kiterjesztés kidolgozása Egyéb kísérletek Vak tesztek 2010 Heurisztikus tanítás ShiftForest Kísérleti módszerek Új, fejlettebb implementáció Futási idő csökkentő eljárások 2011 (áprilisig) Konfidenciák Online tanulás
45
Nyitott kérdések Hogyan lehet tovább javítani a tanításon? Inner boosting Súlyozott MM Valószínűségi modellek MM-nél Hogyan lehet egy adatsorhoz jó operátorkészletet definiálni?
46
Kutatási irányok Tanítás fejlesztése Az alapelv kiterjesztése Gráfok Többdimenziós idősorok (képek, videók) Más félig strukturált adatok Más modell használata Neurális háló szerű megoldás Alkalmazás
47
Köszönöm a figyelmet! További ShiftTree-vel kapcsolatos kutatási anyagok az oldalamon: http://www.hidasi.euhttp://www.hidasi.eu
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.