Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adattárházak és kiaknázásuk

Hasonló előadás


Az előadások a következő témára: "Adattárházak és kiaknázásuk"— Előadás másolata:

1 Adattárházak és kiaknázásuk

2 A probléma: Adatoktól az információig
Hasznos információ Döntés Modell Tudás reprezentázió Adatbányászat Adatok kinyerése, transzformálása Tisztított, feldolgozott adatok Adattárház Nyers adatok Termelés, Szolgáltatás => Adatbázis

3 Motiváció Az adattárházak lehetőséget biztosítanak, hogy a termelő és üzleti folyamatokban keletkező adatokból, az üzleti döntések számára releváns információk legyenek kinyerhetők. Hogyan építsünk adattárházat? Hogyan rendezzük adatainkat? Hogyan nyerhetünk ki információt?

4 Üzleti intelligencia környezet

5 Mi is az adattárház ? Információs környezet, szemben az adatátvitel-orientált környezettel Olyan folyamatok, eszközök tervezése és implementálása, melyek alkalmasak döntéshozatalhoz szükséges teljes, pontos, és áttekinthető információk adatokból történő kinyerésére. Minden olyan tevékenységet magába foglal amit egy szervezetnek el kell végeznie, hogy egy adattárházat hozzon létre és üzemeltessen

6 Példa adattárházra

7 Miért is? Strukturált módon tárolt adatokhoz egyszerű hozzáférés
Különböző formátumok, platformok Heterogén adatforrások, adattisztítás szűrés átalakítás tárolás könnyen hozzáférhető és áttekinthető formában

8 Adattárház funkciója OLTP: Hogyan vigyünk be és tároljunk adatokat ???
DSS: Decision Support System, Hogyan nyerjünk ki információt ?? EIS: Executive Information System, Hogyan használjuk az információt ?? Összefüggés és téma orientált Trend-adatok (időbeliség) gyakran nem normált több forrású

9 Adattárház struktúrája

10 Tipikus architektúra Intefész, GUI Értékelés Adatbányászati alg.
Tudásbázis Adattárház, adatbázis szerver Adattisztítás és integrálás Szűrés Adatbázisok Adattárház

11 Adattárház definiálása
Döntéstámogató adatbázis melyet külön üzemeltetnek a szervezet működéséhez kapcsolódó adatbázistól Támogató információ feldolgozó egység mely egy megbízható, feldolgozott hisztorikus, elemzések céljából összegyűjtött adatokat tartalmaz. “Az adattárház témaorientált, integrált, idővariáns és nem illékony kollekciója olyan adatoknak, amelyek a vezetőség döntéshozatali folyamatát támogatják.”—W. H. Inmon

12 Témaorientált Témakörök köré szervezett, pl. vásárlók, termékek, eladások. A döntéshozók számára szükséges adatok modellezéséhez és elemzéséhez kötődik, nem a napi működéshez, illetve adatátvitelhez. Egyszerű és tömör nézetet nyújt a fontos témakörökben, de nem tartalmazza azokat az adatokat, melyek nem fontosak a döntéshozatal szempontjából.

13 Integrált Több, különböző jellegű adatforrás integrálásával épül fel
Relációs adatbázisok, különálló fájlok, on-line adatátviteli források Adattisztítási és adatintegrációs eszközöket alkalmaznak Amikor az adat bekerül az adattárházba konvertálódik A konzisztenciát az elnevezési konvenciók, a struktúrák, stb. biztosítja a különböző adatforrások között

14 Idővariáns Az időhorizont sokkal nagyobb mint egy operációs adatbázisban. Operációs adatbázis: aktuális adatok (pl. az elmúlt nap). Adattárház: hisztorikus adatok elemzésére (pl., az előző 5-10 év) Minden fontosabb (kulcs) struktúra tartalmaz Időelemet (explicit vagy implicit módon)

15 Nem “illékony” Fizikailag külön tárolt, a működési környezetből transzformált adatok. Az üzemvitelből adódó adatfissítés nem fordul elő az adattárházban. Nincs szükség on-line adatátvitelre, adatmentésre és vissza, és konzisztenciát biztosító eljárásokra Csak két fő adatkezelési mód: adattárház feltöltése és adatok lekérdezése .

16 Adattárház vs. Heterogén Adatbázisok
Hagyományos heterogén adatbázis integráció: Wrapper-ek/mediator-ok a heterogén adatbázisok felé illesztve Lekérdezés alapú megközelítésmód Amikor kliens oldalról lekérdezés érkezik, egy meta-könyvtár segítségével a lekérdezés a heterogén adatbázis egy eleméhez kapcsolódó lekérdezésre fordítódik, és az egyes lekérdezések eredményei egy globális válasszá integrálódnak Adattárház: feltöltés-alapú, integritás biztosítása, nagy teljesítmény A heterogén adatforrások információi a lekérdezés előtt kerülnek integrálásra és tárolódnak Direkt lekérdezésekhez és elemzések

17 Adattárház alkalmazásai
Jelentések a szervezeten belüli információ megosztás hatékony eszköze Automatikus (web, , intranet) Saját jelentések (infóhoz való hozzáférés, munkamegosztás, teljes áttekintés) Statisztika Interpretáció Valószínűség Minta (szignifikáns) Adatbányászat

18 Végfelhasználók igényei
Tipikus felhasználók „non-frequent user” nem érdekli őket az adattárház, csak időről időre információra van szükségük Előre definiált, friss jelentéseket igénylő felhasználó Speciális érdeklődés, rendszeres időközönként Dinamikus, ad hoc lekérdezéseket igénylő Üzleti elemző Profi felhasználó Számára minden adat fontos Specializált adatpiacok Különböző felhasználók különböző igények

19 OLAP (On-line Analytic Processing)
OLAP ötletét E.F. Codd, a relációs adatbázisok atyja ban egy Computerworld cikkben vetette fel. Codd rájött, hogy az OLTP elérte alkalmazásainak határát, rendkívül nagy számítási igény szükséges amikor relációs adatbázisokból végzünk lekérdezéseket. Rájött (amit már a döntéstámogatással foglalkozó szakértők már régóta hangoztattak): pusztán az operációs adatok nem alkalmasak a menedzserek kérdéseire választ adni. Idáig a relációs adatbázis képes válaszolni tipikus kérdésekre mint „ Mi?, Mit?” Az adattárházak a múltbeli adatok összesítésével képesek válaszolni olyan kérdésekre mint „Mi volt a teljes forgalom a keleti régióban a második negyedévben ?” Az OLAP célja az adatok elemzése és megértése alapján a „Miért?, Mi lenne ha?” kérdések megválaszolása

20 OLAP II. OLAP és az adattárház komplementer fogalmak
Az adattárház tárolja és menedzseli, az OLAP stratégiai információvá alakítja az adatokat Az OLAP alapötlete, hogy a menedzserek képesek legyenek az adatok több dimenziót figyelembe vevő kezelése, és annak megértése, hogy azok miként fordulnak elő, illetve hogyan változnak. Felhasználási területei: Piac szegmentálása, marketingkutatás, termelés tervezés, ... A megoldás a „multi-dimensional” azaz több dimenziós adatbázis.

21 Codd 12 szabálya 1. Többdimenziós áttekintés
2. Felhasználó számára áttekinthető támogatás 3. Elérhetőség 4. Konzisztens naplók készítése 5. Kliens-szerver architektúra 6. Általános dimenzió aggregálás 7. Dinamikus ritka mátrixok 8. Multi-user támogatás 9. „Cross-dimensional operations” 10. Intuitív adatkezelés 11. Rugalmas jelentések 12. Korláttalan dimenziók

22 OLTP vs. OLAP

23 Mikor használjunk OLAP-ot ?
Az adatok iránti igény nem tranzakciós hanem elemző jellegű Az elemzett információ nem elérhető közvetlen módon Jelentős számítási és összesítési igény Főként numerikus adatok Az elemek, melyek az adatpontokat definiálják nem változnak időben

24 Miért külön adattárház?
Mindkét rendszer jó teljesítményt nyújt Relációs adatbázis—OLTP-re hangolva: elérési módok, indexelés Adattárház—OLAP-ra hangolva: összetett OLAP lekérdezések, többdimenziós nézet, konszolidáció. Különböző funkciók és különböző adatok: Hiányzó adatok: Döntéstámogató rendszer olyan hisztorikus adatokat kíván melyeket egy tipikus relációs adatbázisban nem tárolnak Adat konszolidáció: Pl. heterogén forrásból származó adatok aggregálása, összegzése Adat minőség: Különböző adatforrások általában inkonzisztens reprezentációt alkalmaznak, pl. időformátumok

25 Adattárház <-> Heterogén Adatbázisok
OLTP (on-line transaction processing) A hagyományos relációs adatbázisok alapfeladata Napról napra történő működés: vásárlás, bank, gyártás, regisztráció, számlázás, stb. OLAP (on-line analytical processing) Az adattárházak alapfeladata Adatelemzés és döntéshozatal OLTP <-> OLAP: Felhasználó- és rendszerorientáltság: vásárló <-> piac Adat tartalom: aktuális, részletes vs. történeti, konszolidált Tervezési módszer: ER (entity-relationship) + alkalmazás <-> csillag + témakör Nézet: aktuális, lokális <-> evolúciós, integrált Hozzáférés: frissítés <-> csak olvasható de komplex lekérdezések

26 A piac szereplői és mérete
Legnagyobb megoldás szállítók SAS Oracle, IBM

27 Cégek és termékek -Adatbányászat
Cég Termék Angoss KnowledgeSeeker Business objects BuisnessMiner Datamind Datacruncher IBM Intelligent Miner Integral Solutions Clementine Magnify Pattern Mindmaker Mindmaker Pilot software DSS SAS Enterprise Miner Thinking Machines Darwin

28 Összefoglalás I. - Varázsszavak
EIS: Executive Information System DSS: Decision Support System KDD: Knowledge Discovery in Databases DW: Data Warehousing DM: Data Mining OLTP: On-line Transaction Processing OLAP: On-line Analytical Processing MDA: Multi-Dimensional Data Analysis

29 Relációs adatmodell VI.
Mester receptúra tábla kulcs Idegen kulcs Sarzs tábla Mező (jellemző) Kezelő tábla Egyed (rekord)

30 Dimenzionális adatmodellezés
Koncepciók I. Tények Kapcsolódó adategységek üzleti egységet, tranzakciót, eseményt jelöl Kulcs tábla, melyben numerikus adatok szerepelnek

31 Dimenzionális adatmodellezés
Koncepciók II. Dimenziók A tények hátterét definiálják (pl. idő, hely, üzletkötő …) Gyakran nem numerikus egységek pl. termék márka, alkalmazott Diagramokban tengelyként ábrázolva Paraméterek, melyekre OLAP elemzést szeretnénk végezni pl. Idő, Hely, Vásárló ...

32 Alacsony granuláltság
Információ granuláltság Dimenziók hierarchiája Alacsony granuláltság - sok részlet Nagy granuláltság - kevés részlet termék típus üzleti év gyár Menedzsment Üzemvezető termék nap üzem Operátor alkatrész perc berendezés

33 Dimenziók hierarchiája
all all Europe ... North_America region Germany ... Spain Canada ... Mexico country Vancouver ... city Frankfurt ... Toronto L. Chan ... M. Wind office

34 További példa dimenziók hierarchiájára

35 Dimenzionális adatmodellezés
Koncepciók III. Mértékek (Measures) Egy tény numerikus értéke (pl. eladott mennyiség)

36 Koncepcionális modellezés
Csillagdiagram: Középen ténytábla körülötte dimenzió táblák Hópiheséma: A csillagséma finomítása ahol a dimenziók hierarchiája normált, azaz kisebb dimenzió táblákra osztott Tény konstellációk: Több ténytábla, csillagsémák összessége, ezért galaxissémának is hívják Adatkocka

37 Példa csillagsémára item branch time Eladások tény tábla time_key
day day_of_the_week month quarter year time item_key item_name brand type supplier_type item Eladások tény tábla time_key item_key branch_key branch_key branch_name branch_type branch location_key street city province_or_street country location location_key units_sold dollars_sold avg_sales Measures

38 Példa hópihesémára item supplier branch time Eladások ténytábla
time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_key item supplier_key supplier_type supplier Eladások ténytábla time_key item_key branch_key location_key street city_key location branch_key branch_name branch_type branch location_key units_sold city_key city province_or_street country dollars_sold avg_sales Measures

39 Példa galaxissémára item time Szállítások ténytábla Eladások ténytábla
time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_type item Szállítások ténytábla Eladások ténytábla time_key item_key time_key shipper_key item_key from_location branch_key branch_key branch_name branch_type branch location_key to_location location_key street city province_or_street country location dollars_cost units_sold units_shipped dollars_sold avg_sales shipper_key shipper_name location_key shipper_type shipper Measures

40 Többdimenziós adatkocka I.
Az eladási mennyiség a termék, az idő, és a régió függvényében Dimenziók: Termék, Hely, Idő Egységek hierarchikus összegzése Régió Iparág Régió Év Kategória Ország Hónap Termék Város Hét Hivatal Nap Termék Idő

41 Többdimenziós adatkocka II.
Aggregáció a menedzser nézete idő idő termék termék berendezés

42 Példa adatkockára All, All, All Idő Termék Ország
Teljes éves TV eladás az U.S.A.-ban Idő Termék Ország All, All, All sum TV Videó PC 1.n.év 2 .n.év 3 .n.év 4 .n.év U.S.A Kanada Mexikó

43 Tábláktól az adatkockáig
Az adatkocka, pl. eladások, lehetővé teszi, hogy több szempont figyelembevételével vizsgáljuk az adatokat Dimenziótáblák, pl. árucikk(cikk_név, márkanév, típus), vagy idő(nap, hét, hónap, negyedév, év) Tény tábla mértékeket (pl dollár_forgalom) és kapcsolatokat tartalmaz melyek a dimenzió táblákhoz kapcsolódnak Az n-adatkockát base cuboid -nak hívják.

44 Az adatkockához tartozó Cuboidok
all 0-D(apex) cuboid Ország Termék Dátum 1-D cuboidok Termék,dátum Termék,ország Dátum, oszág 2-D cuboidok 3-D(alap,base) cuboid Termék, Dátum, Ország

45 Hatékony adatkocka kezelés
Az adatkocka cuboidok hálójaként értelmezhető A legalsó cuboid az alap cuboid A legfelső cuboid (apex) csak egy cella Hány cuboid fordul elő egy n-dimenziós L szintből felépülő adatkockában? Adatkocka materializációja full materialization, Minden cuboid kiszámítása és tárolása no materialization, partial materialization, Csak néhány cuboid materializációja, a lekérdezések gyakorisága, a méret, stb. alapján

46 Tipikus Olap Műveletek 0. Példa

47 Tipikus OLAP Műveletek I.
Roll up (drill-up): adatok összegzése A hierarhikus dimenziók összesítése (nap vs. év) vagy dimenzióredució (pl. nem érdekel minket a hely) Drill down (roll down): a roll-up ellentettje Nagyobb szintű összesítésből részletekre bontás, illetve új dimenziók bevezetése

48 Tipikus OLAP Műveletek II.
Slice and dice: Projekció és szelekció Pivot (rotate): A kocka átszervezése, megjelenítés, 3D mint 2D síkok halmaza. Más műveletek drill across: Egynél több ténytábla használata drill through: a kocka alsó szintjének és annak relációs táblájának (SQL) kapcsolata

49 OLAP lekérdezések hatékony kezelése
Határozd meg, milyen műveleteket kell elvégezni a cuboidokon Transzformáld a drill, roll, műveleteket megfelelő SQL és/vagy OLAP műveletekké, dice = selection + projection Határozd meg, melyik materializált cuboid(ok) használata szükséges

50 Többdimenziós adatbázisok
Multidimensional databases (MDD) nem teljesen új ötlet. Kb. 20 éve, az EXPRESS szoftvercsomag Kb. a 90’-es évektől a relációs adatbázis szállítók felfrissítették a termékeiket. Különösképp, csillag- és hópihesémát alkalmaznak. Az MDD az adatokat n-dimenziós adatkockában tárolja. Ez valójában ritka mátrixokat eredményez. Szimultán módon vizsgálhatóak a különböző jellegű jellemzők, pl. termékek, régiók, eladások, költségek. A lényeg, az MDD-ben az idő szintén dimenzió. Az MDD relációs adatbázisokkal szembeni legfőbb előnye, hogy a lekérdezések egyszerűségére, illetve sebességére van optimalizálva

51 Tipikus adattárház architektúra

52 Többszintű architektúra
Operational DBs other sources Monitor & Integrator OLAP Server Metadata Extract Transform Load Refresh Analysis Query Reports Data mining Serve Data Warehouse Data Marts Data Sources Data Storage OLAP Engine Front-End Tools

53 Az adattárház felépítése
Három tipikus komponens Maga az adattárház, az adatokkal és a hozzá tartozó szoftverrel Adatgyűtjő (back end) szoftver mely a külső forrásokból származó adatokat konszolidálja, összegzi, és betölti az adattárházba Kliens oldali (front-end) szoftver mely lehetővé teszi a felhasználóknak, hogy elérjék és elemezzék az adatokat.

54 Adattárház struktúrális elemei

55 Adat források Operációs adatbázisok Hisztorikus adatok
Külső adatforrások (Internet) Különböző platformokon Különböző módon strukturált információk Nem strukturált infó: Képek, multimédia szöveg

56 Extrakció/propagálás
Különböző forrásokból az adatok gyűjtése Szelektív folyamat (releváns információk) Pulling (Extrakció) Pushing (Propagation)

57 Transzformáció/Tisztítás
Kód feloldás mapping tables pl. 1: férfi, 2 nő … rejtett üzleti szabályok feloldása pl. számlaszám, vonalkód felépítése Tisztítás (cleansing) hiányzó értékek pótlása normalizálás (pl. euró, dollár) konzisztens reprezentáció

58 Finomítás-Refining Rész-adathalmazok generálása Számított mezők
Információk összegzése (summarize) granuláltság szintjét változtatja pl. heti adatok Információk aggregálása Csoportok generálása pl. termékcsoportok

59 Adatpiac Speciális döntésekhez szabott elő-aggregált információk
Végfelhasználók hozzáférésének kontrolálása Speciális információkhoz gyors hozzáférés Végfelhasználóknak interfész Adattárház kiegészítése Egyensúly az adatpiacok száma és specializáltsága (egyszerűsége) között Gyakori probléma, hogy felépítése osztályról osztályra változik. Ezért az adattárházak integrációja bonyolult feladat.

60 Meta-adatok Kategóriák segítségével struktúrálja az adattárház adatait
Témaorientált: a valós egyedek absztrakciói pl. projekt Definiálja, hogy kell a transzformált adatot interpretálni, pl. dátum 5/9/99 A válaszidő becslésére alkalmas, pl. rekordok száma A származtatott változók számításának leírása

61 Meta-adatok II. Típusai Forrásai Technikai Üzleti Formális Informális
az adattárház üzemeltetéséhez Üzleti az üzleti elemzők és az adattárház kapcsolatát segíti, pl.Üzleti szakkifejezések Forrásai Formális dokumentált, ismertetett Informális hagyományok, belső ökölszabályok

62 Operation Data Store (ODS)
A vállalat egészét érintő döntéshozáshoz felhasználható Naprakészen tartható integrált adat Téma orientált Integrált Naprakész (current valued) többféleképpen értelmezhető (pl. könyvelési év) Illékony (ami ma naprakész …) Részletes

63 Adattárház tervezési folyamat
Architektúra megválasztása Implementációs mód megválasztása Kivitelezés (rolling out) SAS Rapid Warehousing Methodology

64 Architektúra megválasztása I.
Globális adattárház architektúra Az egész vállalatot támogatja félreértés, hogy centralizált (pláne nem fizikailag) A vállalat informatikusai üzemeltetik

65 Architektúra megválasztása I. Adatpiac architektúra
Különböző osztályok Helyi üzemeltetés Kicsi erőforrás igény Az összehangolás erőfeszítéseket igényel Hozzáférési jogosultságok

66

67 Ami kivitelezhető és hasznos
Két tűz között Igények Amit szeretnénk Felhasználó alapú Ami kivitelezhető és hasznos Forrás alapú Amink van Adatok

68 Top-Down Implementáció
Információs tervezés Üzleti koncepció Üzleti elemzés Igények felmérése Tevékenység felmérése Logikus adatmodellezés Generáló adatmodell Felhasználói adatmodell Egyedek és relációk Fizikai adattervezés Fizikai korlátok (pl. tároló kapacitás) Fázisokból álló modellezés Veszélyek Túl általános célból fakadóan túl összetett feladat Túl sok egység összehangolása

69 Bottom-Up implementáció
Először adat piacokat hoznak létre Lépésről lépésre bővítik Rögtön hasznosuló eredmény Lehetséges hátrányok Adatredundancia Inkonzisztencia Nehéz az adatpiacok integrálása

70 Résztvevők SAS Rapid Warehousing Methodology
Tisztán meghatározott felelőségi körök Rugalmas feladatkörök kis projekt, egy személy több szerepkör Kulcsfeladatok és szereplők Vezetői szponzor Projekt menedzsment Adattárház tervezők logical és physical Adattárház adminisztrátorok Adat adminisztrátorok Építő csapat IT szakértők Minőség biztosításért felelősök Felhasználók

71 Tervezés és kivitelezés (rolling out)
Definiálni az architektúrát, megtervezni a kapacitást, és kiválasztani a tároló szervereket, az adatbázist és az OLAP szervereket, valamint az eszközöket. Integrálni a szervereket, a tárolókat és a kliens eszközöket. Megtervezni az adatmodell sémáit és nézeteket. Definiálni a fizikai adattárház szerveződést, az adat elhelyezést, a részekre bontást és az elérési módszereket. A forrásokhoz kapcsolódni átjárók (gateway), ODBC meghajtók vagy egyéb wrapper-ek segítségével. Az adatok kivonására, tisztítására, átalakítására, betöltésére és frissítésére script-eket tervezni és implementálni. A végfelhasználói (end-user) alkalmazások megtervezése és implementálása. Kivitelezni (roll out) az adattárházat és az alkalmazásokat.

72 Adattárház tervezésének nézetei
Négy nézet „Top-down” nézet Megengedi az adattárházhoz szükséges információk kiválasztását Data source (adatforrás) nézet feltárja a tárolandó és kezelendő információkat Adattárház nézet tény- és dimenziótáblákban gondolkodik „Business query” nézet a végfelhasználó szemszögéből, azaz az alkalmazási oldalról indul

73 Tervezési módszertanok
Top-down, bottom-up megközelítések vagy ezek kombinációja Top-down: Általános terv alapú (átgondolt) Bottom-up: Kísérletekre és prototípusokra épít (gyors) A „software engineering” nézőpontból Waterfall (Vízesés): Strukturált és szisztematikus elemzés minden lépésben Spiral: Gyors generálása az egyre összetettebb egységeknek, visszatérés ...

74 Javasolt megközelítési mód
Multi-Tier Data Warehouse Distributed Data Marts Enterprise Data Warehouse Data Mart Data Mart Model refinement Model refinement Define a high-level corporate data model

75 Iteratív adattárház project

76 Tipikus tervezési folyamat
Üzleti folyamat kiválasztása, pl. megrendelés, számlázás Az üzleti folyamat elemi szintjeinek (grain) feltárása Dimenziók megválasztása, (a ténytábla minden rekordjában szerepelnek) Mértékek (a ténytábla adatai)

77 Megvalósítási modellek
Vállalati adatmodell Adatgranuláltság modell Logikai adatpartíciós modell

78 Vállalati adatmodell Enterprise Data Model (EDM)
Információs tervezés Üzleti koncepció pl. üzletegység, vásárlók, Üzleti elemzés igények felmérése Logikai adatmodellezés Generáló logikus adatmodell Logikus felhasználói adatmodell részletes, Egyedek és relációk Fizikai adattervezés Fizikai korlátok (pl. tároló kapacitás) Fázisokból álló modellezés

79 Egyszerű vállalati adatmodell

80 Az EDM előnyei, sikerének kulcsa
Jól követhető, az integrációt propagáló fejlesztés Konzisztens adatdefiníciót támogatja Veszélyek Túl általános célból fakadóan túl összetett feladat Túl sok egység összehangolása Nehéz olyan embert találni, aki a felelős részterületén kívül tevékenységének teljes üzletmenetre gyakorolt hatását jól átlátja

81 Adatgranuláltság modell
Egyensúly az adattárolás költsége (adatelérési idő is) és a válaszadás lehetősége között Multigranulált adatmodellezés Kétszintű tárolás Részletes adatok és összesített adatok a felsőbb szinten

82 Logikai adatparticiós modell
Témakörök (Subject area) Lásd az adattárház definícióját 5W1H szabály when, where, who, what, why és how A felosztás célja Adatok rugalmas elérése, menedzselése Adattárház skálázhatósága Adattárház hordozhatósága Ha megvannak az egységek, mik a kapcsolatok?

83 Az adatbányászat helye
Increasing potential to support business decisions End User Making Decisions Data Presentation Business Analyst Visualization Techniques Data Mining Data Analyst Information Discovery Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA DBA Data Sources Paper, Files, Information Providers, Database Systems, OLTP

84 Adatbányászat: KDD folyamat
Tudás Mintakiértékelés Adatbányászat: a tudásfeltáró folyamat magja. Adatbányászat Feladathoz lényeges adatok Adattárház Válogatás Adattisztítás Adatintegráció Adatbázisok

85 Mi az adatbányászat? Adatbányászat (tudásfeltárás adatbázisokban): Érdekes (nemtriviális, implicit, eddig ismeretlen és potenciálisan hasznos) információ kinyerése nagy adatbázisokból. Más elnevezések és „belső történetük”: Adatbányászat: pontatlan? Tudásfeltárás (-bányászat) adatbázisokban (KDD), tudáskinyerés, adat-/mintaanalízis, adatarcheológia, adatkotrás, információbetakarítás, üzleti intelligencia stb. Mi nem adatbányászat? (Deduktív) lekérdezésfeldolgozás. Szakértő rendszerek és kis ML/statisztikai programok.

86 Mi (nem) adatbányászat?
Keressünk meg egy telefonszámot a telefonkönyvben Keressünk rá egy webes kereséssel az „amazon” szóra Mi adatbányászat? Bizonyos nevek gyakoriak egy adott társadalmi csoportban (pl. Bogdán, Kolompár...) Csoportosítsuk a webkereső által visszaadott dokumentumokat hasonlóság szerint (pl. amazonok, Amazon.com) Kultúra-/nyelvspecifikus példák frissítve.

87 Az adatbányászat eredetei
Ötleteket merít ezekből: gépi tanulás, MI mintafelismerés statisztika adatbázisrendszerek A hagyományos technikák nem mindig megfelelőek, mert Nagy mennyiségű az adat Sok dimenziós Heterogén, elosztott jellegű

88 Az adatbányászat osztályozásának többdimenziós nézete
Általános funkciók Leíró adatbányászat Előrejelző adatbányászat A bányászásra váró adatbázisok Relációs, tranzakciós, objektumorientált, objektumrelációs, aktív, térbeli, idősoros, szöveges, multimédia, heterogén, hagyaték, WWW stb. A bányászandó tudás Jellemzés, megkülönböztetés, társítás, osztályozás, csomósítás, irányvonal-, szórás- és szélsőséganalízis stb. Több/integrált funkciók és bányászat több szinten Felhasznált technikák Adatbázis-orientált, adattárház (OLAP), gépi tanulás, statisztika, vizualizáció, neuronháló stb. Alkalmazási lehetőségek Kereskedelem, távközlés, bankrendszer, csalásfelderítés, DNS-bányászat, tőzsdeelemzés, Web-bányászat, Weblog elemzés stb.

89 Adatbányászati feladatok...
Csomósítás Előrejelző modellezés Anomália- felismerés Társítási szabályok Tej

90 Társítási szabályok feltárása
Adott rekordhalmaz alapján keressünk függőségi szabályokat, amelyek megjósolják egy elem előfordulását a rekord többi elemének előfordulása alapján Alkalmazások Értékesítés és árengedmények Áruházi polcok kezelése Készletkezelés Feltárt szabályok: {tej} --> {kóla} (s=0.6, c=0.75) {pelenka, tej} --> {sör} (s=0.4, c=0.67)

91 A vásárlói kosár elemzés
Adott m-féle termék Adottak a vásárlások (tranzakciók): a vásárlói kosarak tartalma, pl. n db kosár Motiváció: szabályszerűségek feltárása Szupermarket: a vásárlók 10% - a vásárol egyszerre sajtot és bort Web log: az a látogató, aki felkeresi a CNN weboldalát, az 60%-os valószínűséggel 1 hónapon belül felkeresi az ABC News weboldalát is Kérdés: Mely termékeket szokták („nagy” valószínűséggel) együtt vásárolni? Pl.: Milyen részegységeket szoktak gyakran egyszerre vásárolni egy PC vásárlása során?

92 Alapfogalmak 1. E = {e1, e2, …, em} elemek egy adatbázisban (pl. termékek) E részhalmazai: elemhalmazok T = {t1, t2, …tn}: tranzakciók (rekordok) halmaza X elemhalmaz előfordul ti -ben, ha az X része ti-nek X gyakorisága: azon T tranzakciók száma, melyekben X előfordul, (támogatottság, support, supp) kiszámítása: gyakoriság(X) = |{ti | X eleme ti, ahol ti eleme T}| Százalékos formában: osztjuk |T|-vel, így: P(X) valószínűség

93 Alapfogalmak 2. X gyakori elemhalmaz, ha meghaladja az ún. minimális gyakoriságot (gyakoriság küszöb, σ): tehát ha gyakoriság(X) > σ Minimális gyakoriság: objektív, adat vezérelt, vagy pedig szubjektív, a felhasználó határozza meg Példa 1: Mik lesznek az elemek? Milyen gyakori elemhalmazokat és szabályokat fedezünk fel? E = {tej, kenyér, sör, tojás, kóla, pelenka} A {sör, pelenka} elemhalmaz gyakorisága: 3 (60%) Ha pl. σ = 50 %, akkor ez gyakori elemhalmaz.

94 Alapfogalmak 3. A gyakori elemhalmazok hátránya: nem mutatják meg az elemhalmaz elemei között fennálló kapcsolatokat. Ezért: asszociációs szabályokat generálhatunk a gyakori elemhalmazokból Előzmény - X és következmény rész - Y Bizonyosság (konfidencia, conf) mutató: bizonyosság(X->Y) = gyakoriság(X Y)/gyakoriság(X) A {sör, pelenka} gyakori elemhalmazból pl. a következő szabályokat: -Ha valaki vesz sört, akkor bizonyos valószínűséggel pelenkát is vásárol: Sör -> Pelenka -Ha valaki vesz pelenkát, akkor bizonyos valószínűséggel sört is vásárol: Pelenka -> Sör Az ilyen X -> Y implikációt hívjuk asszociációs szabálynak!

95 Alapfogalmak 4. Számítsuk ki a bizonyosságát az előbbi szabályoknak, felhasználva a példa vásárlói kosarakat tartalmazó táblázatot! Conf(Sör -> Pelenka) = supp(Sör, Pelenka)/supp(Sör) = 3/3 (100 %) Conf(Pelenka -> Sör) = supp(Sör, Pelenka)/supp(Pelenka) = ¾ (75 %) Melyik az „erősebb szabály” ? Bizonyos egy szabály, ha bizonyossága meghaladja a minimális bizonyosságot (γ). Érvényes (fontos) szabály: ha gyakori és bizonyos is

96 Hogyan keressünk szabályokat?
Adott n tranzakció és m különböző elem: A lehetséges szabályok száma: Számítás komplexitása: Szisztematikus keresés minden mintára, a „támogatottsági kényszer” felhasználásával: Ha supp {X,Y} < a, akkor supp {X} < a és supp {Y} < a Ha supp {X} < a vagy supp {Y} < a , akkor supp {X,Y} < a Ötlet: Az n elemszámú gyakori termékhalmaz kereséséhez használjuk fel az (n-1) elemszámúakat!

97 Asszociációs szabály generáló algoritmusok
A feladat 2 fő részre bontható: Gyakori termékhalmazok megkeresése Szabályok generálása Közkedvelt gyakori elemhalmaz kereső algoritmus: APRIORI Adjuk meg a keresési feltételeket (supp,conf) Keressük meg a gyakori elemhalmazokat, felhasználva a támogatottsági kényszert (a korábbi ismereteket - innen az Apriori elnevezés) Ezekből generáljunk szabályokat Nézzük meg melyek a „fontos” szabályok, bizonyosság (min_confidence), illetve más mértékek számítása is lehetséges (pl. korreláció, PS - Piatetsky-Shapiro érdekességi mérték, stb.)

98 A jelölt halmazok (jelöltek) felállítása
Apriori – elv:

99 Apriori algoritmus működése

100 Szabályok generálása Gyakori termékhalmazok Szabályok (|Y|=1)
X Y supp conf L ={ 1, 2, 3, 5, {1,3}, {2,3}, {2,5}, {3,5}, {2,3,5} } 1 3 3 1 2 3 3 2 2 5 5 2 3 5 5 3 Fontos Szabályok: s(r) > min_supp és c(r) > min_conf

101 AprioriTID algoritmus
Adatbázis kivonatolása: Apriori-elv használata, de az eredeti adatbázist csak az első lépésben tekinti Elhagyjuk a „felesleges”, nem gyakori elemeket, ill. tranzakciókat

102 Direkt hash-elés és tisztítás – DHP algoritmus
Legnagyobb számban 2-elemű jelöltek fordulnak elő, viszont csak néhány százalékuk gyakori (ez a szűk keresztmetszet a jelöltállításon alapuló algoritmusoknál) Hash alapú jelöltállítás -> csökken a 2-eleműek száma

103 Asszociációs szabályok kiválasztása – érdekességi mutatók
Félrevezethető lehet egy szabály!!! Pl. 500 ember kávé (80 %) és tea (20 %) fogyasztását elemezzük (mindkettőt 15%). tea -> kávé szabály bizonyossága 75 % , viszont 80 % csak kávét iszik, tehát a tea fogyasztás a kávé fogyasztását csökkenti, így a fenti szabály félrevezető! Túl sok az érvényes (supp + conf) szabályunk, de melyek az igazán fontosak? -> Érdekességi mutatók:

104 Asszociációs szabályok típusai 1.
1. Boole-féle, két értékű asszociációs szabályok (szerepel egy elem/elemhalmaz a tranzakcióban vagy sem) 2. Mennyiségi szabályok (numerikus vagy kvantitatív)

105 Asszociációs szabályok típusai 2.
Éles határok problémája a kategorikus esetre: Megoldás: fuzzy logika használata a partícionáláshoz -> 3. fuzzy asszociációs szabályok fiatal középkorú idős életkor

106 Asszociációs szabályok típusai 3.
4. Többszintű asszociációs szabályok (részletes és általános szabályok feltárása is)

107 Adatbányászati funkciók (folyt.)
Osztályozás és előrejelzés Keressünk modelleket (függvényeket), amelyek megkülönböztetnek osztályokat vagy fogalmakat előrejelzés céljából. pl. országok osztályozása éghajlat alapján, autók osztályozása fogyasztás alapján Bemutatás: döntési fa, osztályozó szabály, neuronháló Előrejelzés: jósoljunk meg ismeretlen vagy hiányzó számértékeket Csomósodás elemzése Az osztálycímke ismeretlen: csportosítsuk az adatokat új osztályokba, csomókba, és keressünk eloszlásmintákat A csomósítás alapelve: maximalizáljuk az osztályon belüli hasonlóságot és minimalizáljuk az osztályok közötti hasonlóságot

108 Előrejelző modellezés
Keressünk egy modellt az osztály attribútumához a többi attribútum függvényében Modell az adócsalás előrejelzésére kategorikus kategorikus folytonos osztály házas nem igen NEM bevétel100K igen nem bevétel  80K NEM igen nem Tanuló osztályozás NEM IGEN

109 Csomósítás Adott adatponthalmaz alapján keressünk olyan csoportosítást, amelyben Egy csomón belüli adatpontok legyenek hasonlók egymáshoz Különböző csomók adatpontjai legyenek minél kevésbé hasonlók egymáshoz

110 Csomósítás: Alkalmazások
Piac szegmentálása Génkifejezések csomósítása Dokumentumok csomósítása

111 Tanulóadatok: Egy rekordkollekció: x. Minden rekord tartalmazza a jellemzőket és a C osztályt, amelyhez tartozik. We have a set of training vectors and each vector consists of pair: object described by N features and class label.

112 Osztályozó rendszerek kiértékelése
Hamis pozitívok Igazi pozitívok Hamis negatívok Valódi Jósolt Tanulóhalmaz: példák osztályértékekkel a tanuláshoz. Teszthalmaz: példák osztályértékekkel kiértékeléshez. Kirtékelés: Hipotézisekkel levezetjük a teszthalmaz példáinak osztályozását, majd ezt összehasonlítjuk az ismert osztályozással. Pontosság: a teszthalmaz helyesen besorolt elemeinek százalékos aránya.

113 Bayes-osztályozás: Miért?
Valószínűségi tanulás: Kiszámítja a hipotézis explicit valószínűségét, ez az egyik leggyakorlatiasabb megközelítése bizonyos tanuló problémáknak. Növekményes: Minden tanulópélda fokozatosan növelheti/csökkentheti annak a valószínűségét, hogy a hipotézis helyes. Az előismeretek kombinálhatók a megfigyelt adatokkal. Valószínűségi előrejelzés: Megjósol több hipotézist, a valószínűségükkel súlyozva. Szabvány: Még ha a Bayes-féle módszerek nem kiszámíthatóak is, egy szabványos optimális döntéshozatalt biztosítanak, amelyhez képest mérhetők az egyéb módszerek.

114 Bayes-osztályozás Az osztályozási probléma formalizálható feltételes valószínűséggel: P(C|X) = vsz., hogy a minta X=<x1,…,xk> osztálya C. pl. P(osztály=N | égbolt=napos, szél=igaz,…) Ötlet: rendeljük az X mintához azt a C osztálycímkét, amelyre P(C|X) maximális.

115 Feltételes valószínűség becslése
Bayes-tétel: P(C|X) = P(X|C)·P(C) / P(X) P(X) minden osztályra konstans P(C) = a C osztályú minták relatív gyak.-a C, amelyre P(C|X) maximális = C, amelyre P(X|C)·P(C) maximális Probléma: P(X|C) kiszámítása

116 Naív Bayes-osztályozás
Naív feltételezés: attribútumok függetlensége P(x1,…,xk|C) = P(x1|C)·…·P(xk|C) Ha az i. attribútum kategorikus: P(xi|C) becslése az xi attribútumérték gyakorisága a C osztályban Ha az i. attribútum folytonos: P(xi|C) Gauss-féle sűrűségfüggvénnyel becsülhető Mindkét eset könnyen számítható

117 Tenisz példa: P(xi|C) becslése
kilátás P(napos | j) = 2/9 P(napos | n) = 3/5 P(felhős | j) = 4/9 P(felhős | n) = 0 P(esős | j) = 3/9 P(esős | n) = 2/5 hőmérséklet P(meleg | j) = 2/9 P(meleg | n) = 2/5 P(enyhe | j) = 4/9 P(enyhe | n) = 2/5 P(hűvös | j) = 3/9 P(hűvös | n) = 1/5 páratartalom P(magas | j) = 3/9 P(magas | n) = 4/5 P(normál | j) = 6/9 P(normál | n) = 2/5 szeles P(igaz | j) = 3/9 P(igaz | n) = 3/5 P(hamis | j) = 6/9 P(hamis | n) = 2/5 P(j) = 9/14 P(n) = 5/14

118 Tenisz példa: X osztályozása
Egy ismeretlen példa: X = <esős, meleg, magas, hamis> P(X | j)·P(p) = P(esős | p)·P(meleg | p)·P(magas | p)·P(hamis | p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = P(X | n)·P(n) = P(esős | n)·P(meleg | n)·P(magas | n)·P(hamis | n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = Az X példát az n osztályba soroljuk (ne játsszunk)

119 Döntési fa számítógép vásárlására
kor? <=30 30..40 >40 tanuló? igen hitelminősítés? nem igen kiváló becsületes nem igen nem igen

120 Osztályozás döntési fa levezetésével
A döntési fa állapotdiagram-szerű faszerkezet a belső csúcsok egy attibútum értékének vizsgálatát jelentik minden ág a vizsgálat egy lehetséges eredményét jelenti a levélcsúcsok jelentik az osztálycímkéket vagy -eloszlást A döntési fa felépítése kétfázisú folyamat Fa felépítése Kezdetben minden tanulópélda a gyökérben van Partíciónáljuk a példákat rekurzívan kiválasztott attribútumok szerint Fametszés Ismerjük fel és töröljük a zaj vagy szélsőség által behozott ágakat A döntési fa felhasználása: ismeretlen minta osztályozása Az attribútumok értékeit vizsgáljuk a fa alapján

121 Algoritmus döntési fa levezetésére
Alap algoritmus (mohó) A fát fentről lefelé haladó rekurzív oszd meg és uralkodj módon építjük fel Kezdetben minden tanulópélda a gyökérben van Minden attribútum kategorikus (a folytonos értékűeket diszkretizáljuk) A példákat rekurzívan partícionáljuk kiválasztott attribútumok szerint A vizsgálandó attribútumoket heurisztikus vagy statisztikai mérték alapján választjuk (pl. információnyereség) A partícionálás leállásának feltételei Egy csúcs minden mintája ugyanabba az osztályba tartozik Nincs több attribútum, amely szerint partícionálhatnánk - többségi szavazás dönt a levél besorolásáról Elfogynak a minták

122 Attribútumkiválasztási mértékek
Információnyereség (ID3/C4.5) Minden attribútumot kategorikusnak feltételezünk Módosítható folytonos attribútumra Gini index (IBM IntelligentMiner) Minden attribútumot folytonosnak feltételezünk Feltételezzük, hogy minden attribútumhoz több lehetséges vágó érték létezik Szükség lehet más eszközökre, pl. csomósításra a legjobb vágó értékek meghatározásához Módosítható kategorikus attribútumokra

123 Entrópia I. S egy tanulómintákat tartalmazó halmaz
p+ a pozitív P példák száma p- a negatív N példák száma Az entrópia S szennyezettségének mértékét mutatja Entrópia(S) = -p+ log2 p+ - p- log2 p-

124 Entrópia II. Entrópia(S)= S elemeit leíró osztály (+ vagy -) leírásához szükséges bitek számának várható értéke (optimális, legrövidebb hosszú kóddal) Miért? Az információelmélet szerint az optimális hosszúságú kódban a p valószínűségű üzenethez rendelt kód hossza –log2 p bit. Tehát egy véletlenszerű S-beli elem (+ vagy -) osztályának megfelelő kód várható hossza -p+ log2 p+ - p- log2 p-

125 Információnyereség döntési fa levezetésénél
Tegyük fel, hogy az A attribútum alapján az S halmazt partícionáljuk az {S1, S2 , …, Sv} részhalmazokra. Ha Si tartalmaz pi példát P-ből és ni példát N-ből, akkor az entrópia, azaz az összes Si részfában levő objektumok osztályozásához szükséges információ várható értéke A kódolással nyert információ, ha A-ban elágazunk:

126 Példa információnyereségre
Igaz Hamis [21+, 5-] [8+, 30-] [29+,35-] A2=? Igaz Hamis [18+, 33-] [11+, 2-] [29+,35-] Entrópia([29+,35-]) = -29/64 log2 29/64 – 35/64 log2 35/64= 0.99 Entrópia([18+,33-]) = 0.94 Entrópia([8+,30-]) = 0.62 Nyereség(S,A2)=Entrópia(S) -51/64*Entrópia([18+,33-]) -13/64*Entrópia([11+,2-]) =0.12 Entrópia([21+,5-]) = 0.71 Entrópia([8+,30-]) = 0.74 Nyereség(S,A1)=Entrópia(S) -26/64*Entrópia([21+,5-]) -38/64*Entrópia([8+,30-]) =0.27

127 Attribute Selection by Information Gain Computation
Innen Hasonlóan P osztály: vesz számítógépet = „igen” N osztály: vesz számítógépet = „nem” I(p, n) = I(9, 5) =0.940 Számítsuk ki a kor entrópiáját: Egyenletszerkesztő rules.

128 Az eredmény kor? tanuló? hitelminősítés? nem igen becsületes kiváló
<=30 >40 30..40

129 Gini Index (IBM IntelligentMiner)
Ha egy T adathalmaz n osztályból tartalmaz példákat, akkor a gini index, gini(T) definíciója ahol pj a j osztály gyakorisága T-ben. Ha egy T adathalmaz két részhalmazra bomlik, T1-re és T2-re, melyek mérete N1 ill. N2, akkor az n osztályú adatot tartalmazó halmazra vonatkozó gini(T) definíciója Azon attribútum alapján vágjuk a csúcsot, amelyre a ginisplit(T) értéke a legkisebb (minden lehetséges felosztási pontot fel kell sorolni minden egyes attribútumra).

130 Osztályozási szabályok kiolvasása fákból
A tudást IF-THEN szabályok formájában ábrázoljuk Egy szabály egy gyökértől levélig tartó útnak felel meg Az út menti attribútum-érték párok konjunkciót alkotnak A levélcsúcs tartalmazza az osztály jóslását A szabály ember számára könnyebben értelmezhető IF kor = “<=30” AND tanuló = „nem” THEN vesz_számítógépet = „nem” IF kor = “<=30” AND tanuló = „igen” THEN vesz_számítógépet = „igen” IF kor = “31…40” THEN vesz_számítógépet = „igen” IF kor = “>40” AND hitelminősítés = „kiváló” THEN vesz_számítógépet = „nem” IF kor = “>40” AND hitelminősítés = „becsületes” THEN vesz_számítógépet = „igen” kor? tanuló? hitelminősítés? nem igen becsületes kiváló <=30 >40 30..40

131 Megközelítések a végleges faméret meghatározására
Az összes adatot használjuk tanításra de használjunk egy statisztikai próbát (pl. khí-négyzet), hogy megbecsüljük, egy csúcs kiterjesztése vagy metszése javít-e az eloszláson A minimális leíráshossz (MDL) alapelvét használjuk: leállítjuk a fa növekedsét, ha a kódolás minimális Kereszt-ellenőrzést használunk

132 Példányalapú módszerek
Példányalapú tanulás: Tároljuk a tanulópéldákat és halasszuk el a kiértékelést („lusta kiértékelés”), amíg egy új példányt nem kell osztályozni Tipikus megközelítések k-legközelebbi szomszéd megközelítés A példányokat pontokkal reprezentáljuk egy euklidészi térben Lokálisan súlyozott regresszió Lokális közelítést épít fel

133 Legközelebbi szomszéd
Adott egy távolságmetrika Mindenkinek legyen ugyanaz az osztálya, mint a legközelebbi szomszédjának A művelet során az összes tanulóadatot felhasználjuk Többosztályú döntési keretrendszer

134 A k-legközelebbi szomszéd algoritmus (k-NN)
Minden példány egy n dimenziós tér egypontjának felel meg. A legközelebbi szomszédot az euklidészi távolsággal definiáljuk. A célfüggvény lehet diszkrét vagy valós értékű.. Diszkrét érték esetén k-NN visszaadja az xq-hoz legközelebbi k tanulópélda közül a leggyakoribbat. Voronoi-diagram: döntési felület, amelyet az 1-NN indukál egy tipikus tanulópélda-halmazhoz. . _ _ . _ _ + . . + . _ xq + . _ +

135 k-NN algoritmus diszkussziója
k-NN algoritmus folytonos értékű célfüggvényre Számítsuk ki a k legközelebbi szomszéd átlagértékét Távolsággal súlyozott legközelebbi szomszéd algoritmus A k szomszédot súlyozzuk a vizsgált xq ponttól vett távolság alapján a közelebbi szomszédok súlya nagyobb Ellenáll a zajos adatoknak, mivel k legközelebbi szomszédot átlagol A dimenzionalitás átka: a szomszédok távolságát lényegtelen attribútumok befolyásolhatják. Megkerülése: nyújtsuk meg a tengelyeket vagy küszöböljük ki a leglényegtelenebb attribútumokat.

136 A csomósítás problémája
Adott egy ponthalmaz egy távolságmetrikával. Soroljuk be a pontokat csomókba úgy, hogy valamilyen szempontból a csomó tagjai olyan közel legyenek egymáshoz, amennyire csak lehet.

137 Példa x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x

138 A dimenzionalitás átka
Sok alkalmazás nem 2, hanem 10 vagy dimenzióval foglalkozik. A nagy dimenziójú terek máshogy néznek ki: szinte minden pontpár ugyanolyan távolságra van. Példa: vegyünk fel véletlenszerű pontokat egy határoló téglatestben, pl. 0 vagy 1 értékkel minden dimenzióban.

139 Példa: Dokumentumok csomósítása
Reprezentáljuk a dokumentumokat (x1, x2,…, xk) vektorokkal, ahol xi = 1 pontosan akkor, ha az i. szó (valamilyen rendezés szerint) benne van a dokumentumban. Tulajdonképpen mindegy, hogy k végtelen-e, azaz nem korlátozzuk a szavak halmazát. A hasonló szóhalmazokat tartalmazó dokumentumok valószínűleg ugyanarról a témáról szólnak.

140 Távolságmértékek Minden csomósítási probléma valamilyen pontok közti „távolságon” alapul. Kétféle távolságmérték-típus: Euklidészi Nemeuklidészi

141 Euklidészi vs. nemeuklidészi
Egy euklidészi tér valós értékű dimenziókat és „sűrű” pontokat tartalmaz. Létezik két pont „átlagának” fogalma. Az euklidészi távolság a pontok térbeli helyén alapul. Egy nemeuklidészi tér a pontok tulajdonságain alapul, viszont nem a térbeli „helyükön”.

142 Távolságmérték axiómái
d egy távolságmérték, ha egy pontpárokon értelmezett valós függvény, és igazak rá: d(x,y) > 0. d(x,y) = 0 pontosan akkor, ha x = y. d(x,y) = d(y,x). d(x,y) < d(x,z) + d(z,y) (háromszög-egyenlőtlenség).

143 Néhány euklidészi távolság
L2 norma : d(x,y) = az egyes koordinátaértékek közti különbségek négyzetei összegének négyzetgyöke. A leggyakoribb „távolság”-fogalom. L1 norma : az egyes koordinátaértékek különbségeinek össuege. Manhattan-távolság = a távolság akkor, ha csak a tengelyekkel párhuzamosan haladhatunk.

144 Példák euklidészi távolságra
y = (9,8) L2-norma: dist(x,y) = (42+32) = 5 5 3 L1-norma: dist(x,y) = 4+3 = 7 4 x = (5,5)

145 Másik euklidészi távolság
L∞ norma : d(x,y) = a koordináták közti különbségek maximuma. A maximum a határérték, amelyhez tart a koordináták különbségei n-edik hatványai összegének n-edik gyöke, ha n tart ∞-hez.

146 Nemeuklidészi távolságok
Jaccard-távolság halmazokon = 1 mínusz a metszet és unió méretének hányadosa. Koszinusz-távolság = az origóból a pontokba mutató vektorok által bezárt szög. Szerkesztő-távolság = egy karakterláncból egy másik előállításához szükséges beszúrások és törlések száma.

147 És a nemeuklidészi esetben?
A „helyek”, amelyekről beszélhetünk, csak maguk a pontok lehetnek. Tehát nincs „átlaga” két pontnak. 1. megközelítés: csomópont (clustroid) = a másik pontokhoz „legközelebbi” pont. A csomópontra tekinthetünk úgy, mint a súlypontra, csomók közti távolsággal számolva. A „clustroid” valószínűleg a „cluster” és a „centroid” összerántása, innen jött a csomó+súlypont -> csomópont elnevezés.

148 „Legközelebbi” pont? Lehetséges jelentések
A többi ponttól mért távolságok maximuma a legkisebb. A többi ponttól mért távolságok átlaga a legkisebb. A többi ponttól mért távolságok négyzetösszege a legkisebb. Stb., stb.

149 Példa csomópont 1 2 6 4 3 csomópont 5 csomóközti távolság

150 Más megözelítések a csomók „közelségének” definíciójára
2. megközelítés: csomóközti távolság = a két csomóból az összes módon egy-egy pontot véve, azok távolságainak minimuma. 3. megközelítés: Válasszunk „kohézió” fogalmat, pl. maximális távolság a csomóponttól. Összevonjuk a csomókat, ha az uniójuknak a legnagyobb a kohéziója.

151 Visszatérés az euklidészi esethez
A 2. és 3. megközelítést néha használják euklidészi csomósításra is. Van sok más megközelítés is, ha euklidészi a tér és ha nem.

152 k –átlag algoritmus(ok)
Feltesszük, hogy euklidészi a tér. Válasszuk meg k-t, a csomók számát. A csomók kezdőértéke legyen egy-egy pont minden csomóban. Például válasszunk egy véletlenszerű pontot, aztán k­1 másik pontot úgy, hogy minél távolabb legyenek az előző pontoktól.

153 Csomók feltöltése Minden pontot rakjunk abba a csomóba, amelynek a jelenlegi súlypontjához a legközelebb van. Amint minden pontot elrendeztünk, rögzítsük a k csomó sújpontját. Tetszés szerint: újra rendeljük hozzá a pontokat a legközelebbi súlyponthoz. Néha ez áthelyez pontokat a csomók között.

154 Példa Áthelyezett pontok Csomók az első rész után 2 4 x 6 7 5 x 3 1 8

155 A helyes k megtalálása Próbálkozzunk különböző k-kkal, közben figyeljük a súlypontoktól mért távolságok átlagát, ahogy k nő. Az átlag gyorsan esik a jó k-ig, utána keveset változik. k Súlyponttól mért távolságok átlaga Legjobb k érték

156 Példa x Túl kevés, x xx x sok a nagy súlyponttól mért x x x x x x x
távolság. x x x x x x x x x x x x x x x x x x x x x x x x x x x

157 Példa x x xx x Pont jó, x x a távolságok x x x elég kicsik x x x x x

158 Példa x Túl sok, x xx x csak kicsit javul x x az átlagos x x x
távolság. x x x x x x x x x x x x x x x x x x x x x x x x x x x

159 PageRank Központok és tekintélyek
A Web kiértékelése PageRank Központok és tekintélyek

160 PageRank Megérzés: oldjuk meg az alábbi rekurzív egyenletet: „egy lap fontos, ha fontos lapok hivatkoznak rá”. Dagályos szavakkal: fontosság = a fő sajátvektor a Web sztochasztikus mátrixában. Egy kis javításra szorul.

161 A Web sztochasztikus mátrixa
Soroljuk fel a lapokat. Az i. lap az i. sornak és oszlopnak felel meg. M [i,j ] = 1/n, ha a j. lap n lapra hivatkozik és ezek között van az i. lap; 0, ha j. nem hivatkozik i.-re. M [i,j ] annak a valószínűsége, hogy az i. lapra jutunk, ha épp a j. lapon vagyunk.

162 Példa Tegyük fel, hogy a j. lap 3 másik lapra hivatkozik, köztük az i.-re. j i 1/3

163 Véletlen séta a Weben Tegyük fel, hogy v egy vektor, amelynek i. komponense annak a valószínűsége, hogy valamikor az i. lapon vagyunk. Ha követünk egy véletlenszerű hivatkozást az i.-ről, akkor a következő lap valószínűségi eloszlását az M v vektor adja meg.

164 Véletlen séta --- (2) Tetszőleges v vektorból kiindulva az M (M (…M (M v ) …)) határértéke a laplátogatások eloszlása a véletlen séta során. Megérzés: a lapok fontossága attól függ, milyen gyakran látogatná meg őket a véletlen sétáló. A matek: határeloszlás = M fő sajátvektora = PageRank.

165 Példa: a Web 1839-ben y a m Yahoo y 1/2 1/2 0 a 1/2 0 1 m 0 1/2 0
Amazon M’soft

166 Véletlen séta szimulációja
Kezdjük a v = [1,1,…,1] vektorral, amely azt jelképezi, hogy minden weboldal egy egységnyi fontosságot kap. Ismételten szorozzuk meg a vektort balról M-mel, így a fontosság szétáramlik az oldalak között a véletlen sétának megfelelően. A határérték létezik, de 50 iteráció már elég a végső eloszlás becsléséhez.

167 Példa egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2 + m
m = a /2 y a = m 1 1 3/2 1/2 5/4 1 3/4 9/8 11/8 1/2 6/5 3/5 . . .

168 Az egyenletek megoldása
Mivel nincs konstans, ennek a 3 ismeretlenes, 3 egyenletből álló rendszernek nincs egyértelmű megoldása. Vegyük hozzá az y +a +m = 3 feltételt a megoldáshoz. A Web-méretű példákban nem használhatjuk a Gauss-eliminációt, hanem relaxáló (= iterációs) módszert kell használnunk.

169 Valóságos problémák Néhány oldal „zsákutca” (nem hivatkozik semmire sem). Egy ilyen oldalon keresztül elfolyik a fontosság. Bizonyos lapok (vagy csoportok) pókcsapdák (minden kimenő hivatkozás a csoporton belülre mutat). A pókcsapdák egy idő után elszívják a fontosságot.

170 A Microsoft zsákutcává válik
y a m Yahoo y 1/2 1/2 0 a 1/ m /2 0 Amazon M’soft

171 Példa Egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2 m = a /2 y
1 1 1/2 3/4 1/2 1/4 5/8 3/8 1/4 . . .

172 A Microsoft pókcsapdává válik
y a m Yahoo y 1/2 1/2 0 a 1/ m /2 1 Amazon M’soft

173 Példa Egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2
m = a /2 + m y a = m 1 1 1/2 3/2 3/4 1/2 7/4 5/8 3/8 2 3 . . .

174 Google megoldása a csapdákra
„Adóztassuk meg” az összes oldalt egy bizonyos százalékkal minden iteráció után. Adjuk hozzá ugyanazt a konstanst minden oldalhoz. Azt modellezi, hogy a véletlen séta során fix valószínűséggel egy véletlenszerű helyre megyünk.

175 Példa: Az előző 20%-os adóval
Egyenletrendszer: v = 0.8(M v ) + 0.2: y = 0.8(y /2 + a/2) + 0.2 a = 0.8(y /2) + 0.2 m = 0.8(a /2 + m) + 0.2 y a = m 1 1.00 0.60 1.40 0.84 0.60 1.56 0.776 0.536 1.688 7/11 5/11 21/11 . . .

176 Általános eset Ebben a példában, mivel nincs zsákutca, a fontosságok összege 3 marad. Zsákutcás példában egy kis fontosság elszivárog, de az összeg véges marad.

177 Az egyenletek megoldása
Mivel vannak konstansok, szeretnénk megoldani a kis példákat Gauss-eliminációval. Azonban a Web-méretű példákat még mindig relaxációval kell megoldani.

178 A konvergencia felgyorsítása
Newton-szerű jóslás arra, hogy merre tartanak a fő sajátvektor elemei. Használjuk ki a Web lokalitását. Mindkét technika 50%-kal csökkentheti az iterációk számát Fontos --- a PageRank időbe telik!

179 Komponensértékek becslése
Három egymást követő értékből megsejthetjük, hol van a határérték. 1.0 0.7 0.55 Becslés a következő menetre: 0.6

180 A részszerkezet kihasználása
Bizonyos tartományok, hostok vagy útvonalak, pl. stanford.edu vagy nagyobb sűrűségben tartalmaznak hivatkozásokat. Adjuk kezdőértékül a PageRank-nek a csomókon belüli helyi rangokat, majd a csomók saját rangját.

181 Stratégia Számítsuk ki a helyi PageRankeket (párhuzamosan?).
Használjuk fel a helyi súlyokat a csomóközti súlyok meghatározására. Számítsuk ki a PageRanket a csomók gráfján. Egy lap kezdeti rangja a helyi rangjának és a csomója rangjának szorzata. A „csomók” megfelelő méretű régiók közös tartománnyal vagy alsóbb szintű tulajdonsággal.

182 Képekben Csomók rangjai 1.5 2.05 0.05 Csomóközti súlyok 2.0 0.1
Helyi rangok Kezdeti sajátvektor 3.0 0.15

183 Központok és tekintélyek
Kölcsönösen rekurzív definíció: Egy központ (hub) sok tekintélyre hivatkozik; Egy tekintélyre (authority) sok központ hivatkozik. A tekintélyek azok a helyek, ahol az információ megtalálható. Példa: cégek honlapjai. A csomópontok megmondják, merre vannak a tekintélyek. Példa: adott területtel foglalkozó cégek jegyzéke. Mi az, hogy CSD? Másrészt az ETR nagyon nem felel meg ennek a célnak, szóval: példa frissítve

184 Átmeneti mátrix: A A H&A mátrixában A [i, j ] = 1, ha az i. lap hivatkozik a j.-re, 0, ha nem. AT, azaz A transzponáltja, hasonlít a PageRank M mátrixra, csak AT-ben 1-esek vannak, M-ben pedig törtek.

185 Példa y a m Yahoo y a m A = Amazon M’soft

186 Az A mátrix használata H&A-ban
Az A és AT hatványai divergensek az elemek méretében, ezért skálázó tényezőkre van szükségünk. Legyen h és a olyan vektorok, amelyek az egyes lapok „központságát” és tekintélyét mérik. Egyenletek: h = λAa; a = μAT h. Központság = a rákövetkező (kimenő hivatkozás) lapok tekintélyeinek skálázott összege. Tekintély = a megelőző (bejövő hivatkozás) lapok közponságainak skálázott összege.

187 Az alapegyenletek következménye
A h = λAa; a = μAT h egyenletekből levezethető: h = λμAAT h a = λμATA a Számítsuk ki h-t és a-t iterációval, feltéve, hogy kezdetben minden lapnak egy egységniy központsága és egy egységnyi tekintélye van. Válasszunk megfelelő λμ értéket.

188 Példa 1 1 1 A = 0 1 0 1 1 0 AT = 1 0 1 3 2 1 AAT= 2 2 0 1 0 1 2 1 2 ATA= 1 2 1 . . . a(yahoo) a(amazon) a(m’soft) = 1 5 4 24 18 114 84 1+3 2 h(yahoo) = h(amazon) = h(m’soft) = 6 4 2 132 96 36 . . . 28 20 8 1.000 0.735 0.268

189 Az egyenletek megoldása
Még a kis példák megoldása is trükkös, mert a λμ az ismeretlenek között van. Minden egyenlet, mint y = λμ(3y +2a +m), megoldható λμ-re y, a, m függvényében; tegyük egyenlővé a λμ-re vonatkozó kifejezéseket. Mint ahogy a PageRanknél, a nagy példákat relaxációval kell megoldanunk.

190 Részletek h-ra --- (1) y = λμ(3y +2a +m) a = λμ(2y +2a ) m = λμ(y +m)
Megoldás λμ-re: λμ = y /(3y +2a +m) = a / (2y +2a ) = m / (y +m)

191 Részletek h-ra --- (2) Tegyük fel, hogy y = 1.
λμ = 1/(3 +2a +m) = a / (2 +2a ) = m / (1+m) Szorozzuk keresztbe a 2. és 3. részt: a +am = 2m +2am vagy a = 2m /(1-m ) Szorozzuk keresztbe az 1. és 3. részt: 1+m = 3m + 2am +m 2 vagy a =(1-2m -m 2)/2m

192 Részletek h-ra --- (3) Tegyük egyenlővé a kifejezéseit:
a = 2m /(1-m ) = (1-2m -m 2)/2m Szorozzunk keresztbe: 1 - 2m - m 2 - m + 2m 2 + m 3 = 4m 2 Oldjuk meg m-re: m = .268 Oldjuk meg a-ra: a = 2m /(1-m ) = .735

193 H&A megoldása gyakorlatban
Iteráljunk, mint a PageRanknél, ne próbáljunk egyenletet megoldani. De tartsuk a komponenseket korlátok között. Példa: skálázzunk, hogy a vektor legnagyobb komponense 1 legyen. Trükk: kezdjük h = [1,1,…,1]-gyel, szorozzunk AT -vel, hogy megkapjuk az első a-t, skálázzunk, szorozzunk A-val, hogy megkapjuk a következő h-t,…

194 H&A és PageRank Az IBM-esek azt hajtogatják, hogy „az IBM találta fel a PageRanket”. Arra gondolnak, hogy a H&A-t Jon Kleinberg találta fel, amikor az IBM-nél volt. Viszont a kettő nem ugyanaz. A H&A-t már használták pl. fontos kutatási cikkek elemzésére, de nem tűnik a PageRank helyettesítőjének.


Letölteni ppt "Adattárházak és kiaknázásuk"

Hasonló előadás


Google Hirdetések