Hátralevı órák. Néhány fontos probléma. Többdimenziós adatbázisok. k dimenziós térbeli indexek

Hasonló dokumentumok
Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Térinformatikai adatszerkezetek

Principal Component Analysis

Eddig csak a polinom x-ben felvett értékét kerestük

Georg Cantor (1883) vezette be Henry John Stephen Smith fedezte fel 1875-ben. van struktúrája elemi kis skálákon is önhasonló

Szinguláris érték felbontás Singular Value Decomposition

Adaptív dinamikus szegmentálás idősorok indexeléséhez

c adatpontok és az ismeretlen pont közötti kovariancia vektora

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Közösség detektálás gráfokban

Diszkréten mintavételezett függvények

SOKDIMENZIÓS TUDOMÁNYOS ADATHALMAZOK HATÉKONY KEZELÉSE

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

Termék modell. Definíció:

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

IBM SPSS Modeler 18.2 Újdonságok

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Adatbányászati szemelvények MapReduce környezetben

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

Struktúra nélküli adatszerkezetek

Gépi tanulás a gyakorlatban. Lineáris regresszió

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Mérési adatok illesztése, korreláció, regresszió

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

A LEGKÖZELEBBI SZOMSZÉD ANALÍZISHEZ SZÜKSÉGES TERÜLETI ADATBÁZISOK KIALAKÍTÁSÁNAK MÓDSZERTANI KÉRDÉSEI

Wavelet transzformáció

Numerikus matematika vizsga

Sajátértékek és sajátvektorok. mf1n1a06- mf1n2a06 Csabai István

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

3D számítógépes geometria és alakzatrekonstrukció

Idősorok elemzése. Salánki Ágnes

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Legkisebb négyzetek módszere, Spline interpoláció

3D-s számítógépes geometria és alakzatrekonstrukció

7. Régió alapú szegmentálás

Többfelhasználós és internetes térkép kezelés, megjelenítés

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

Normák, kondíciószám

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Felvételi tematika INFORMATIKA

Segítség az outputok értelmezéséhez

Adatbáziskezelés. Indexek, normalizálás NZS 1

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Hajder Levente 2018/2019. II. félév

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

Adatmodellezés. 1. Fogalmi modell

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Automaták. bemenet: pénz, kiválasztó gombok stb. állapot: standby, pénz van behelyezve stb. kimenet: cola, sprite, visszajáró

Panorámakép készítése

Nagyméretű Adathalmazok Kezelése

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Térbeli transzformációk, a tér leképezése síkra

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Matematikai geodéziai számítások 10.

Genetikus algoritmusok

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

Függvények Megoldások

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

Statisztikai függvények

Újfajta, automatikus, döntési fa alapú adatbányászati módszer idősorok osztályozására

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Intelligens adatelemzés

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

biometria II. foglalkozás előadó: Prof. Dr. Rajkó Róbert Matematikai-statisztikai adatfeldolgozás

KÖZELÍTŐ INFERENCIA II.

Numerikus integrálás

Hash-alapú keresések

PONTFELHŐ REGISZTRÁCIÓ

Szalai Péter. April 17, Szalai Péter April 17, / 36

KÖZELÍTŐ INFERENCIA II.

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Losonczi László. Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop.

Társadalmi és gazdasági hálózatok modellezése

A leíró statisztikák

A maximum likelihood becslésről

Kvadratikus alakok gyakorlás.

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók

Lin.Alg.Zh.1 feladatok

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Számítógép és programozás 2

Amortizációs költségelemzés

Adatszerkezetek 2. Dr. Iványi Péter

Érdekes informatika feladatok

Csoportosítás. Térinformatikai műveletek, elemzések. Csoportosítás. Csoportosítás

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Átírás:

1 2 Hátralevı órák 1. A negyedik paradigma 2. Amdahl-törvénye és az Amdahl-szám 3. x64 alapú nagyteljesítményű hardverek 4. Adattároló rendszerek 5. Hálózatok 6. Relációs adatbázis-kezelők 7. Adatok tárolása adatbázis szerverekben 8. Indexek 9. Tranzakciók 10. Biztonsági mentés, replikáció 11. Alapvető fizikai operátorok 12. Lekérdezés optimalizálás 13. Adatbetöltés 14. Metaadatok 15. Többdimenziós adatok kezelése 16. A gömbfelszín indexelése 17. Adatbázisok particionálása, adatbázisklaszterek 18. Különböző adatmodellek relációs leképezése 19. Nem strukturált adatok kezelése 20. Oszlop alapú adatbázisok 21. Tömb alapú adatbázisok április 17. április 24. május 1. május 08. május 15. Többdimenziós adatbázisok Háromdimenziós tér euklideszi metrikával Magasabb dimenziós terek fázistér (hely, impulzus) paraméterterek (pl. galaxisok színe 5 szűrőben) Gömb felszíne Föld / ég koordinátázása Polár koordinátákkal 3D egységvektorokkal (GIS = geographic information system) Ajánlott könyv: Hanan Samet: Foundations of Multidimensional and Metric Data Structures, Morgan-Kaufmann Ábrák forrása: wikipedia.org Néhány fontos probléma Pontok megtalálása egy adott tartományban A tartományt valamilyen módon analitikusan adjuk meg Legközelebbi szomszédos pontok megtalálása (k nearest-neighbor search) Klasztereződés kereséséhez Adatok osztályozására (tanulás) Nem-paraméteres becslésekhez (regresszió) Pontsűrűség becslése (density estimators) Klaszterek megtalálása Trajektóriák megtalálása Kilógó pontok megtalálása (outlier detection) Hisztogramok gyors generálása Párkorrelációs függvény meghatározása Interaktív vizualizáció támogatása Relációs adatbázis-kezelık alkalmazása kd adatbázisokhoz Hátrányok: Háttértár egy dimenziós (fizikailag, címzésileg) Indexek egy dimenziós adatokra optimalizáltak Előnyök: Optimalizált lemez és memória kezelés Párhuzamos végrehajtás Feladat: A többdimenziós adatstruktúrát valamilyen módon egydimenziós sokaságra kell vetíteni A síkot/teret/hiperteret cellákra osztjuk, a cellákhoz számokat rendelünk, a számokra indexet építünk k dimenziós térbeli indexek Spatial Index Adatpontok k koordinátával Gyakran tartozik hozzájuk hiba (szétkent pontok) Euklideszi metrika Dimenziónként lehet más a metrika skála Érdemes a metrikát a hibával skálázni Eljárás: A k dimenziós teret téglatest alakú cellákra osztjuk A cellákhoz számértéket rendelünk Az adatpontokat a cellákhoz rendeljük, és a cella számával felcímkézzük A cellacímkére indexet építünk, amit kereséskor fel tudunk használni: intervallum keresések lesznek (range queries) 1

Rács A k dimenziós teret berácsozzuk A rács szabályos k-dimenziós téglatestekből áll Dimenziónként lehet más a téglalapok élhossza Előnyök: A szerkezet előre definiált, a cellák koordinátái könnyen számolhatók A szomszédos cellák nagyon könnyen meghatározhatóak, de a címkéjük függ a bejárási módszertől Hátrányok: Magasabb dimenzióban nagyon nagy lesz a cellák száma Nem egyenletes eloszlású pontoknál sok üres vagy túl tömött cella lesz Rácscellák bejárása adja a számértékeket Többféle bejárási algoritmus létezik Ezek többnyire rekurzív algoritmusok Rács bejárása Cantor-módszerrel Pl. Cantor-féle mellékátlós módszer Egymáshoz közeli cellákhoz távoli számot rendel (nem lokális) Túl bonyolult formula a számérték meghatározása A bináris alaknak nincsen köze a struktúrához, a bitek nem jelentenek semmit Nem túl jó Z-rendezés Z-rendezés bit értékei Jó lokalitás (közeli cellákhoz közeli számértéket rendel) A bináris reprezentáció jól értelmezhető, a biteknek van jelentésük Tulajdonképpen ez lesz a Quad-tree (négyes-fa) Az egyik legelterjedtebb módszer Peano Hilbert-görbe A z-rendezésnél jobb lokalitási tulajdonság Bonyolultabb a kiszámítása, mint a z-rendezésé Bináris reprezentációban a bitek jelentése nem annyira egyértelmű Ez egy egydimenziós sokaság, a hossza exponenciálisan nő az iterációkkal, határértékben a dimenziója 2 (térkitöltő görbe) Quad-tree 2-dimenziós adatokhoz Minden cella négy felé oszlik, ebből épül fel egy fa A koordináták és a címkék könnyen meghatározhatók A bináris reprezentációnak egyértelmű jelentése van, azonos a z-rendezéssel A felépített fa nem kiegyenlített Klasztereződve elrendeződő pontokhoz nem ideális 2

Octree Az ötlet ugyanaz, mint a Quad-fánál, de itt 3 dimenziós teret indexelünk Voronoi-cellázás Meghatározzuk a ponthalmaz egy részhalmazának Voronoidiagramját A többi pontot is ehhez a diagramhoz rendeljük Lehetséges hierarchikus változatban is Lokális sűrűség becslésre, vizualizációra jó Bonyolultsága miatt egyébként problémás Magasabb dimenzióban problémás Pont cellájának megtalálása: pl. bolyongással a Delaunayháromszögelés szerint Kód a generáláshoz: QHull Voronoi és Delaunay kd-fa Eljárás: Az első dimenzió szerint megkeressük a mediánt Egy félsíkkal elvágjuk a teret Megismételjük a további dimenziókra A mediánt lehet közelíteni (pl. átlaggal) Magasabb dimenziókban is jó Tárolni kell a cellák koordinátáit A cellák bináris azonosítójának bitjei követik a fa struktúráját Térbeli keresések Akkor hatékony, ha sokkal több pont van, mint cella Először megnézzük, hogy a cella maga megfelel-e a keresési feltételnek, három lehetőség: A keresési feltételen kívül van: eldobjuk a cellát A keresési feltételen belül van: az összes pont jó eredmény A keresési feltétellel átmetsz: a cella pontjait muszáj egyenként megvizsgálni k legközelebbi szomszéd A legközelebbi szomszédok megkereséséhez az itt ismertetett térbeli indexeket használjuk A legközelebbi pont mindig lehet az aktuális cellában, vagy valamelyik szomszédos cellában Magas dimenzióban nagyon sok szomszédos cella lehet, ilyenkor csak sok pont esetén éri meg az egész cellázás (N > 2 D ) A keresett pont távolságát nem kell minden egyes ponttól kiszámítani, csak az aktuális és a környező cellákban levő pontoktól 3

Klaszterek keresése Nagy sűrűségű területeket keresünk, amik össze tartoznak Friend-of-friend algoritmus Két pont barát, ha egymás legközelebbi szomszédjai, és távolságuk legfeljebb x Minden pont része a klaszternek, amelyik a klaszter bármelyik elemének barátja x megválasztásával lehet az algoritmust finomhangolni Többszörös szomszédság is megkövetelhető Felhasználás: Adatok automatikus klasszifikálása Statisztikus fizikai szimulációk Galaxisklaszterek keresése Adatok osztályozása Előre osztályozott adatok egy halmaza: tanító halmaz (training set) A vizsgálandó pontokat a tanító halmazhoz hasonlítjuk, megnézzük Megnézzük, hogy a tanító halmaz melyik osztályához (klaszteréhez) esik legközelebb Diszkrét értékű osztályok esetében abba az osztályba tesszük, amelyikbe a legtöbb k legközelebbi szomszéd tartozik Nem-parametrikus becslés Folyamatos eloszlású paraméterek esetén Megkeressük a vizsgált pont tanító halmazbeli legközelebbi szomszédjait A szomszédok paraméter értékei között valamilyen módon interpolálunk, a távolságot is figyelembe véve Azért nem paraméteres becslés a módszer neve, mert nincsen előzetes feltevésünk arról, hogy a keresett érték valamilyen paraméterektől függene. Pusztán a tanító halmazbeli eloszlástól függenek a becsült értékek. Hisztogram számolás A hisztogram számolása általában az összes pont becellázását igényli, de Sokszor közelítő érték is elegendő Igazából csak a pontsűrűséget kell nézni egy adott tér cellában A cellákhoz előre kiszámítjuk az alapvető statisztikai mutatókat (pontok száma, cella térfogat, szórás a cellában stb.) Elegendő az index cellák és a hisztogram cellák metszetét meghatározni Sokszor ez gyorsabb, mint elölről számolni a statisztikát Korrelációs függvény Statisztikus fizikában, kozmológiában alapvető fontosságú N-pont korrelációs függvény: Mi két pont távolságának az eloszlás-függvénye? g(r) Mi egy háromszög létezésének eloszlása stb. Alapesetben minden pontot minden másikkal össze kell hasonlítani és kiszámolni a távolságot Jelentősen lehet gyorsítani kd-fa segítségével Két előre kiszámolt adat kell: Pontok száma a cellában Cella legkisebb befoglaló gömbje (középpont, sugár) Többszintő vizualizáció Nagyszámú pont esetén egyszerre nem lehet az összes pontot kitenni a képernyőre Azt szeretnénk, ha interaktívan lehetne a ponthalmaz egyes részleteire ráközelíteni Nagy távolságra csak a sűrűséget kell érzékeltetni A cellákhoz kiszámolt sűrűséget jelenítjük meg, pl. az átlátszóságba kódolva Közelítve meg akarjuk jeleníteni az egyes pontokat is Kitesszük az egyes pontokat is a képernyőre, ha elég közel vagyunk a cellához 4

Adatok kondicionálása indexeléshez Érdemes a cellákat minél inkább gömbszerűnek tartani Átlag levonása Tengelyenkénti normálás a szórással A k dimenziós adatok sokszor alacsonyabb dimenziójú sokaságok mentén helyezkednek el Főkomponens transzformáció Bonyolultabb, nem lineáris transzformációk Fıkomponens transzformáció A koordinátarendszer tengelyeit a legnagyobb szórású irányokba akarjuk beforgatni Az adatpontokat mátrixba rendezve kiszámítjuk a kovariancia mátrixot: C=<XX T >-µµ T Megoldjuk a C mátrix sajátérték problémáját Ez a gyakorlatban az SVD algoritmussal történik Singular Value Decomposition A szinguláris érték a sajátérték általánosítása Az SVD numerikusan instabil mátrixok esetére is jó A kapott sajátvektorokkal az adatokat a főkomponens térbe transzformáljuk, a szórás a koordináta tengelyek irányába lesz a legnagyobb Létezik iteratív közelítő algoritmus is: Budavári et al., 2008 5