A prezentáció témája a ShiftTree névre hallgató, egyedi, model alapú idősor-osztályozó.
A ShiftTree az idősor-osztályozás problémájának egy egyedülálló, modell alapú megközelítése. Az elképzelés alapja, hogy minden idősorhoz egy szemet (kurzort) rendelünk, ami az időtengely egy adott pontjára mutat. Dinamikus attribútumokat hozunk létre úgy, hogy a következő két kérdésre válaszolunk: (1) Hová nézzünk az időtengelyen? (2) Mit nézzünk az adott pontban? Az első kérdésre adott válasz azt mondja meg, hogy hogyan mozgassuk a szemet az időtengely mentén. A második válasz pedig azt definiálja, hogy hogyan számoljuk ki a dinamikus attribútum értékét az adott pontban. Ezeket a dinamikus attribútumokat ezután egy bináris döntési fában használjuk fel.
Ez a diasor a ShiftTree egy korai (2009-es) verzióját mutatja be.
A prezentáció a 2009-es Végzős Konferencián került bemutatásra.
Megjegyzés: valamilyen oknál fogva a SlideShare nem támogatja az animációkat, ezért az animált diák több diára lettek szétszedve.
Context-aware similarities within the factorization framework (CaRR 2013 pres...
ShiftTree: model alapú idősor-osztályozó (VK 2009 előadás)
1. VÉGZŐS KONFERENCIA 2009
2009. május 20, Budapest
Újfajta, automatikus, döntési fa alapú
adatbányászati módszer idősorok osztályozására
Hidasi Balázs
hidasi@tmit.bme.hu
Konzulens: Gáspár-Papanek Csaba
Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Távközlési és Médiainformatikai Tanszék
2009. Május 20.
2. Tartalom
Motiváció
Célok
A ShiftTree algoritmus
A módszer alapjai
Tanulás (ötlet)
Osztályozás példa
Optimalizálás: többszörös modellezés
Eredmények
Benchmark
Verseny
Alkalmazási lehetőségek
Beszélő felismerése
Gesztusfelismerés (+felhasználó azonosítás)
„Gondolatok” felismerése
Összefoglalás
2
3. Motiváció
Idősorok osztályozása
Sok az idősor-jellegű adat
Előtérbe kerülő alkalmazási területek Tanítás
Nyomkövetés Modell
Hangfelismerés
Diagnosztika
Gesztusfelismerés
Modell
Osztályozás
Jelenlegi algoritmusok hátrányai
Klasszikus módszerek
Jelentős emberi munka (előkészítés)
Nem erre találták ki
Információvesztés (pontatlanság)
Általában nem magyaráz
Terület-specifikus algoritmusok
Más területen nem hatékony 3
4. Célok
Automatikus
Kevés emberi munka
Rövid előkészítési fázis
Minél több típus általános kezelése
Változók száma, osztályok száma, idősorok hossza, stb.
Több területen használható (általános)
Pontos osztályozás
Magas találati arány
Magyarázó
Könnyen értelmezhető modellt épít
Ellenőrizhető
4
5. ShiftTree – A módszer alapjai
Hibrid algoritmus
Döntési fa alap
Szerkezet
Vágások jóság értékei Cs1
Leállási feltételek ES: Szem beállítása
Módosított csomópont-szerkezet
Moduláris felépítés CB: Érték számítása
Szemtologató (EyeShifter) L1 Cs2
ES-Operator (ESO) D: Feltétel
Szem (pointer) mozgatás Modell
választása
F(x) Feltételállító (ConditionBuilder)
CB-Operator (CBO)
Érték származtatás a szem által
mutatott értékből
Cs3 L2
(és környezetéből) Felt?
Döntő (Decider)
M
Vágási helyek vizsgálata
Jóságérték számítás
L3 L4
Optimális vágás választása a
lehetségesekből
Feltétel kiszámítása
5
6. ShiftTree – Tanulás (ötlet)
„Dinamikus attribútumok”
Hol nézzük? (ESO)
25 időegységgel előrefele (ESONext(25))
A globális maximumnál (ESOMax)
60 méretű intervallumon belül a legkisebb értéknél
…
Mit nézzünk? (CBO)
A pontbeli értéket (CBOSimple)
F(x)
Az érték környezetének normális eloszlás szerinti súlyozott átlagát (CBONormal)
Az ugrás során a lokális maximumok számát
Az ugrás hosszát
…
Tanulás egy csomópontban
Leállási feltételek vizsgálata
Lehetséges attribútumok kiszámolása (ESO-CBO párok)
Az (első) optimális vágás megtalálása (ezt végzi a Decider)
Attribútumok közül egy
Feltétel érték
Operátorok és a feltétel érték megjegyzése
Vágás az attribútum és a feltétel alapján
Kettéosztani a tanítópontokat a jobb és bal gyermeknek
Rekurzívan ugyanez a gyermek csomópontokban
6
17. Optimalizálás: többszörös modellezés
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
Egy másik halmazzal kiválasztjuk a legjobbat
1. szint
ESONext(25)
CBOSimple
Feltétel1
Az 1. optimális
(25-öt előre) 1. szint
ESOPrev(25)
CBOSimple 2. szint 2. szint
Feltétel2
Levél Levél
2. szint 2. szint
Ez is optimális
Levél Levél
(25-öt vissza)
8
18. Eredmények: benchmark adatokon
20 adatsor különböző területekről
Egy változó
Eltérő tulajdonságok
7 másik algoritmussal szemben
KNN, C4.5 döntési fa, Logistic Model Tree, MLP, SVM, Naív Bayes háló, Random Forest
Konfiguráció
Nincs optimalizálás
Legegyszerűbb operátorok
Ugrás előre/hátra fix távot
Ugrás a következő lokális maximumra/minimumra
Ugrás a maximumra/minimumra
Pontbeli érték, normális súlyozás, exponenciális súlyozás
ShiftTre e vs más osztályozók Optimalizálás hatása
20 100,00%
18 90,00%
80,00%
16
Pontosság (%)
70,00%
14 60,00%
50,00%
12
40,00%
10 30,00%
8 20,00%
10,00%
6 0,00% Coffee
OliveOil
Trace
OSULeaf
TwoPatterns
Beef
SwedishLeaf
FaceFour
ECG200
Fish
Wafer
Lighting2
Lighting7
Yoga
CBF
SyntheticControl
FaceAll
GunPoint
Adiac
50Words
4
2
0
Többszörös modellezés nyeséssel
1 2 3 4 5 6 7 8
Helyezés
Többszörös modellezés
Adatsorok
9
Egyszerű modellezés
19. Eredmények: verseny körülmények
SIGKDD’07 Time Series Challange
adatsorain
20 adatsor Helyezések megoszlása
Kombinált osztályozók ellen
Erősebb konfiguráció 7
Fejlettebb operátorok 6
Több futtatás, többségi szavazás
5
De a paraméterek nincsenek
finomhangolva 4
ShiftTree
Eredmények
Db
Győztes
3
6 első helyezés (legtöbb)
4 adatsoron még lehetne nyerni 2
2 adatsoron lehetne javítani 1
8 adatsoron kevés a tanítóminta
Modell alapú algoritmusok itt 0
elvéreznek 1 2 3 4 5 6 7 8 9 10 11 12 13
Összesítésben: 6-8 hely Helyezés
Holtversenyben (a 13-ból)
10
20. Alkalmazás: hang- és, gesztusfelismerés
Személy felismerése az ae Hangfelismerés (AE): pontosság
magánhangzó kiejtése alapján 100,00%
12 változó 90,00%
80,00%
9 személy (osztály) 70,00%
Találati arány (%)
Egyszerű operátorok 60,00%
Nincs optimalizálás
50,00%
40,00%
Találati arány kellően magas 30,00%
20,00%
10,00%
0,00%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Tanítópontok aránya (%)
Felhasználó felismerés a "love" gesztusnál: pontosság Gesztus adatai gyorsulásmérővel
100,00% 3 változó (koordináta tengelyek)
90,00%
80,00%
10 gesztus, 4 felhasználó
70,00%
Kevés adat
Találati arány (%)
60,00% Lehetséges feladatok:
50,00%
40,00%
Gesztus felismerése
30,00% Adott gesztusnál a felhasználó
20,00% felismerése (nehéz feladat)
10,00% Bonyolult gesztusnál jobb eredmény
11
Kiemelkedő találati arány
0,00%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Tanítópontok aránya (%)
21. Alkalmazás: „Gondolat” felismerés
EEG hullámok osztályozása
Adatsor:
Két osztály: FEL, LE
6 változó
Jelenleg ~90% körüli pontosság
2003-as versenyen a top3-ban
Alkalmazás típusai
Offline osztályozás
Alkatrészek tesztelésének automatikus kiértékelése
Stream adatsorban jelek felismerése
Még sok nyitott kérdés
Folyamatban lévő kutatás
12
22. Összefoglalás
Új idősor-osztályozó: ShiftTree
Automatikus
Minden egydimenziós idősorral működik
Operátorok definiálása a szakértő feladata
Nem automatikus
Pontos
Már egyszerű operátorokkal, optimalizálás nélkül is kellően pontos
Optimalizálással kifejezetten hatékony
Ha a tanítóminta nem túl kicsi
Magyarázó
Könnyen értelmezhető modellek, ellenőrizhető
Legnagyobb előnye: általános
Tématerülettől függetlenül hatékonyan használható
13
23. További ShiftTree-vel kapcsolatos kutatási anyagok az oldalamon: http://www.hidasi.eu
Köszönöm a figyelmet!
ES: Szem beállítása
CB: Érték számítása
D: Feltétel
Modell
választása
ES: Szem beállítása ES: Szem beállítása
CB: Érték számítása CB: Érték számítása
D: Feltétel D: Feltétel
Modell Modell
választása választása