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. Termelés, Szolgáltatás => Adatbázis Adattárház Adatok kinyerése, transzformálása Adatbányászat Modell Döntés Nyers adatok.

Hasonló előadás


Az előadások a következő témára: "Adattárházak és kiaknázásuk. Termelés, Szolgáltatás => Adatbázis Adattárház Adatok kinyerése, transzformálása Adatbányászat Modell Döntés Nyers adatok."— Előadás másolata:

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

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

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 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ú Adattárház funkciója

9 Adattárház struktúrája

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

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 PatternMindmaker 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. kulcs Sarzs tábla Mester receptúra tábla Kezelő tábla Idegen kulcs Egyed (rekord) Mező (jellemző)

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 Információ granuláltság Dimenziók hierarchiája Alacsony granuláltság - sok részlet Nagy granuláltság - kevés részlet alkatrészpercberendezés termék típus nap üzleti év üzem gyár Operátor Üzemvezető Menedzsment

33 Dimenziók hierarchiája all EuropeNorth_America MexicoCanadaSpainGermany Vancouver M. WindL. Chan... all region office country TorontoFrankfurtcity

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 time_key day day_of_the_week month quarter year time location_key street city province_or_street country location Eladások tény tábla Measures item_key item_name brand type supplier_type item branch_key branch_name branch_type branch time_key item_key branch_key location_key units_sold dollars_sold avg_sales

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

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

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

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

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

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 Termék Dátum Ország Termék,dátumTermék,országDátum, oszág Termék, Dátum, Ország 0-D(apex) cuboid 1-D cuboidok 2-D cuboidok 3-D(alap,base) cuboid

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 Data Warehouse Extract Transform Load Refresh OLAP Engine Analysis Query Reports Data mining Monitor & Integrator Metadata Data Sources Front-End Tools Serve Data Marts Operational DBs other sources Data Storage OLAP Server

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  Technikai 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 Két tűz között Amit szeretnénk Amink van Ami kivitelezhető és hasznos Felhasználó alapú Forrás alapú Adatok Igények

68 T op-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 Define a high-level corporate data model Data Mart Distributed Data Marts Multi-Tier Data Warehouse Enterprise Data Warehouse Model refinement

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 Business Analyst Data Analyst DBA Making Decisions Data Presentation Visualization Techniques Data Mining Information Discovery Data Exploration OLAP, MDA Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts Data Sources Paper, Files, Information Providers, Database Systems, OLTP

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

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? l 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) l 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

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... Előrejelző modellezés Csomósítás Társítási szabályok Anomália- felismerés Tej Adatok

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) 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 = {e 1, e 2, …, e m } elemek egy adatbázisban (pl. termékek) E részhalmazai: elemhalmazok T = {t 1, t 2, …t n }: tranzakciók (rekordok) halmaza X elemhalmaz előfordul t i -ben, ha az X része t i -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) = |{t i | X eleme t i, ahol t i eleme T}| Százalékos formában: osztjuk |T|-vel, így: P(X) valószínűség

93 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? Alapfogalmak 2. 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 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) Alapfogalmak 3. 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 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 Alapfogalmak 4.

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ó: 1.Gyakori termékhalmazok megkeresése 2.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ékhalmazokSzabályok (|Y|=1) L ={ 1, 2, 3, 5, {1,3}, {2,3}, {2,5}, {3,5}, {2,3,5} } XYXYsupp conf … 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 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 életkor fiatal középkorú idős

106 Asszociációs szabályok típusai 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 házas bevétel  100K bevétel  80K IGENNEM igen nem igen nem kategorikus folytonos osztály Tanuló osztályozás Modell az adócsalás előrejelzésére

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.

112 Hamis pozitívok Igazi pozitívok Hamis negatívok Valódi Jósolt Osztályozó rendszerek kiértékelése 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= 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(x 1,…,x k |C) = P(x 1 |C)·…·P(x k |C) Ha az i. attribútum kategorikus: P(x i |C) becslése az x i attribútumérték gyakorisága a C osztályban Ha az i. attribútum folytonos: P(x i |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(x i |C) becslése kilátás P(napos | j) = 2/9P(napos | n) = 3/5 P(felhős | j) = 4/9P(felhős | n) = 0 P(esős | j) = 3/9P(esős | n) = 2/5 hőmérséklet P(meleg | j) = 2/9P(meleg | n) = 2/5 P(enyhe | j) = 4/9P(enyhe | n) = 2/5 P(hűvös | j) = 3/9P(hűvös | n) = 1/5 páratartalom P(magas | j) = 3/9P(magas | n) = 4/5 P(normál | j) = 6/9P(normál | n) = 2/5 szeles P(igaz | j) = 3/9P(igaz | n) = 3/5 P(hamis | j) = 6/9P(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 = 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? tanuló?hitelminősítés? nemigen becsületes kiváló <=30 >40 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 + log 2 p + - p - log 2 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 –log 2 p bit. Tehát egy véletlenszerű S-beli elem (+ vagy -) osztályának megfelelő kód várható hossza -p + log 2 p + - p - log 2 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 {S 1, S 2, …, S v } részhalmazokra.  Ha S i tartalmaz p i példát P-ből és n i példát N-ből, akkor az entrópia, azaz az összes S i 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 A 1 =? IgazHamis [21+, 5-][8+, 30-] [29+,35-] Entrópia ([21+,5-]) = 0.71 Entrópia ([8+,30-]) = 0.74 Nyereség(S,A 1 )=Entrópia(S) -26/64*Entrópia([21+,5-]) -38/64*Entrópia([8+,30-]) =0.27 Entrópia([18+,33-]) = 0.94 Entrópia([8+,30-]) = 0.62 Nyereség(S,A 2 )=Entrópia(S) -51/64*Entrópia([18+,33-]) -13/64*Entrópia([11+,2-]) =0.12 A 2 =? IgazHamis [18+, 33-] [11+, 2-] [29+,35-] Entrópia([29+,35-]) = -29/64 log 2 29/64 – 35/64 log 2 35/64= 0.99

127 Attribute Selection by Information Gain Computation  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: Innen Hasonlóan

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

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 p j a j osztály gyakorisága T-ben. Ha egy T adathalmaz két részhalmazra bomlik, T 1 -re és T 2 -re, melyek mérete N 1 ill. N 2, 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 gini split (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? nemigen becsületes kiváló <=30 >40 nem igen

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 x q -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.. _ + _ xqxq + _ _ + _ _

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 x q 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 x x x x x xx 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 (x 1, x 2,…, x k ) vektorokkal, ahol x i = 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: 1. Euklidészi 2. 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á: 1. d(x,y) > d(x,y) = 0 pontosan akkor, ha x = y. 3. d(x,y) = d(y,x). 4. d(x,y) < d(x,z) + d(z,y) (háromszög-egyenlőtlenség).

143 Néhány euklidészi távolság L 2 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. L 1 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 x = (5,5) y = (9,8) L 2 -norma: dist(x,y) =  ( ) = 5 L 1 -norma: dist(x,y) = 4+3 =

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.

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

149 Példa csomóközti távolság csomópont

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 1. Minden pontot rakjunk abba a csomóba, amelynek a jelenlegi súlypontjához a legközelebb van. 2. Amint minden pontot elrendeztünk, rögzítsük a k csomó sújpontját. 3. 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 x x Csomók az első rész után Áthelyezett pontok

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 x x x x x x xx x x x x x x x x x x x x x x x x x x Túl kevés, sok a nagy súlyponttól mért távolság.

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

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

159 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 i j Tegyük fel, hogy a j. lap 3 másik lapra hivatkozik, köztük az i.-re. 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 Yahoo M’softAmazon y 1/2 1/2 0 a 1/2 0 1 m 0 1/2 0 y a m

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 /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 Yahoo M’softAmazon y 1/2 1/2 0 a 1/2 0 0 m 0 1/2 0 y a m

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

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

173 Példa Egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2 m = a /2 + m y a = m /2 3/2 3/4 1/2 7/4 5/8 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) a = 0.8(y /2) m = 0.8(a /2 + m) y a = m /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 Becslés a következő menetre:

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 Helyi rangok Csomóközti súlyok Csomók rangjai 1.5 Kezdeti sajátvektor

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.

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. A T, azaz A transzponáltja, hasonlít a PageRank M mátrixra, csak A T -ben 1-esek vannak, M-ben pedig törtek.

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

186 Az A mátrix használata H&A-ban Az A és A T 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 = μ A T 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 = μ A T h egyenletekből levezethető:  h = λμ AA T h  a = λμ A T A 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 A = A T = AA T = A T A= a(yahoo) a(amazon) a(m’soft) ======   3 h(yahoo) = 1 h(amazon) = 1 h(m’soft) =

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 A T -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. Termelés, Szolgáltatás => Adatbázis Adattárház Adatok kinyerése, transzformálása Adatbányászat Modell Döntés Nyers adatok."

Hasonló előadás


Google Hirdetések