adatbányászat - u-szeged.huberendg/docs/dm/dm_intro_pf.pdf · követelmények bevezetés...
TRANSCRIPT
KövetelményekBevezetés
Adatbányászat
Szegedi Tudományegyetem
Adatbányászat
KövetelményekBevezetés
Követelmények – gyakorlat
Gyakorlaton elérhető: max. 50 pont1 db ZH nov. 30.-án (levelezőn nov. 6.): 30 pont (min. 9pont/ZH)Javító ZH: utolsó gyakorlaton (dec. 7.)Projektfeladat: max. 20 pont (min. 6 pont)Pluszpontok (minimumba nem számítanak bele)
Végső jegy
–22 pont elégtelen (1)23–30 pont elégséges (2)31–36 pont közepes (3)37–42 pont jó (4)43–50 pont jeles (5)
Adatbányászat
KövetelményekBevezetés
Követelmények – kollokvium
Kollokviumra a gyakorlat sikeres teljesítését követően lehetjelentkezniSzóbeli vizsgaPluszpontok (minimumba nem számít bele)
Adatbányászat
KövetelményekBevezetés
Egyebek
Kurzus angolul is hallgatható (ugyanaz a jitsi szoba)Előadás: szerda 15-17Gyakorlat: szerda 17-19
Projektlehetőségek a mestint tanszéken
Adatbányászat
KövetelményekBevezetés
A félév felépítése
Bevezetés, ismerkedés, leíró statisztikaAdatok leírása, előfeldolgozása (adattisztítás,- és redukálás)Felügyelet nélküli módszerek az adatbányászatbanFelügyelt módszerek az adatbányászatban (osztályozás)Kívülálló egyedek tanulása, eltéréselemzés (outlier detection)Gyakori mintázatok, asszociációs szabályok tanulásaGráf alapú módszerek az adatbányászatbanWeb méretű adatbányászat, szövegbányászat
Adatbányászat
KövetelményekBevezetés
Ajánlott irodalom
A kurzus ”hivatalos” (angol nyelvű) jegyzeteH. Witten, E. Frank, M. A. Hall: Data Mining: PracticalMachine Learning Tools and TechniquesP. Tan, M. Steinbach, V. Kumar: Introduction to Data MiningJ. Leskovec, A. Rajaraman, J. Ullman: Mining MassiveDatasetsB. Liu: Web Data MiningC. Manning, P. Raghavan, H. Schütze: Introduction toInformation RetrievalR. Duda, P. Hart, D. Stork: Pattern RecognitionC. Bishop: Pattern Recognition and Machine Learning...Bodon Ferenc, Buza Krisztián: Adatbányászat jegyzete
Adatbányászat
KövetelményekBevezetés
Motiváció
1 millió dolláros NetFlix Prize20 ezer dolláros Kaggle StackOverflow ChallangeFacebook miatt bukhatjuk a hitelt (Index)Warren Buffet March Madness-szel kapcsolatos ajánlata (109$)NSA’s SKYNET program may be killing thousands of innocentpeopleKedvcsináló: ‖M‖2F=
∑i
∑j
∑k
∑l
∑m
∑npikqkl rljpinqnmrmj
Adatbányászat
KövetelményekBevezetés
Motiváció képben
Adatbányászat
KövetelményekBevezetés
Adatbányászat területei
Üzleti alkalmazásokHitelelemzésVásárlói csoportok szegmentálásaAjánlórendszerekElvándorlás/lemorzsolódás (churn) analízis
Tudományos alkalmazásokCsillagászatGyógyszerkutatásOrvosi diagnosztika
Adatbányászat
KövetelményekBevezetés
Mi tehát az adatbányászat?
Hasznos, (gyakran) nem várt mintázatok felismerése nagymennyiségű adathalmazból (pl. Web)Előretörését a technológia (háttértárak, memória, processzor,GPGPU, MapReduce) fejlődés tette lehetővéA segítségével megszerzett tudás legyen érthető, érvényes,hasznos és újszerű≈ tudásfeltárás (Knowledge Discovery)
Adatbányászat
KövetelményekBevezetés
Mi nem adatbányászat?
Adatbázis lekérdezések"Egyszerű" statisztika (eszköz ugyanakkor lehet)Bonferroni-elv: sok adatot figyelembe vétele mellett véletlenesemények is látszólag érdekessé válhatnak
Adatbányászat
KövetelményekBevezetés
Total Information Avareness program
Nagy Testvér bevezetése AmerikábanGondolatkísérlet: gonosztevők keresése szállodaibejelentkezések alapján109 ember 0,01 valószínűséggel száll meg egy nap valamely 100férőhelyes szállodában → 100000 (109 · 0, 01/100) szálloda van1000 nap alatt hány gyanús eset (2 ember 2 éjszakaugyanabban a hotelben szállt meg) kerülne kiszűrésre?P(x és y ugyanott száll meg egyéjszaka)= 0, 01 · 0, 01 · 0, 00001 = 10−9
P(x és y 2 alkalommal is ugyanott száll meg egy éjszaka)= (0, 01 · 0, 01 · 0, 00001)2 = 10−18
Lehetséges éjszaka-ember párosok száma =(109
2
)·(103
2
)≈ 2, 5 · 1023
Gyanús párosok ≈ 2, 5 · 1023 · 10−18 = 250000Adatbányászat
KövetelményekBevezetés
Rhine-paradoxon
David Rhine parapszichológiai vizsgálataiDiákoknak 10 kártyalap színét (piros/kék) kellett"megjósolniuk"Eredmény: a megvizsgáltak közel 0,1 %-a parapszichológiaiképességekkel bír (v.ö. 2−10)A visszahívott "parafenoménok" legközelebb már átlagoseredményt nyújtottak
Rhine konklúziója?A parafenomének elvesztik különleges képességeiket, ha tudtukrajuttatják azokat
Adatbányászat
KövetelményekBevezetés
Simpson-paradoxon
Avagy az adatokból könnyebb hibás következtetésre jutni, mintazt gondolnánk
Felvett/JelentkezettLány Fiú
A szak 7/100 3/50B szak 91/100 172/200Összesen 98/200 175/250
Az aggregált adatok alapján úgy tűnik, a lányokat kisebbarányban vették föl a fiúknál (vö. 49% vs. 70%)A szakonkénti mutatók viszont épp ellenkező trendet mutatnak
Adatbányászat
KövetelményekBevezetés
Korreláció vs. kauzalitás
Kentucky államban kötött házasságok és halászhajóbólvízbefullók száma >0.95 korrelációt mutat 1
KentuckymarriagesFi
shingboatdeaths
Peoplewhodrownedafterfallingoutofafishingboatcorrelateswith
MarriagerateinKentucky
Kentuckymarriages Fishingboatdeaths
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
7per1,000
8per1,000
9per1,000
10per1,000
11per1,000
0deaths
10deaths
20deaths
tylervigen.com
1ForrásAdatbányászat
KövetelményekBevezetés
Mindezek után, adatbányászat-e?
Üzletlánc vásárlói adatbázisában szereplők átlagéletkoránakmeghatározásaHonvédségi adatbázisban átlagos cipőméret meghatározása ahibás adatok kiszűrése melletTomográfiai leletekben elváltozásokra utaló jegyek kereséseVálasztásra jogosultak nemek szerinti megoszlásának vizsgálataVálasztási hajlandóság/részvételi arány előrejelzése
Adatbányászat
KövetelményekBevezetés
Rokonterületek
Matematika: valószínűségszámítás, statisztika, gráfelmélet,algebra, analízisAlgoritmus-, bonyolultságelméletAdatbáziskezelés (SQL és/vagy Solr, Elasticsearch, Kibana,. . . )Gépi tanulás, mesterséges intelligencia
Adatbányászat
KövetelményekBevezetés
Eszközök, szoftverek
Üzleti irányultságú célszoftverek (pl. SAS)Számos gépi tanuló, regressziós, transzformációs stb. módszerttartalmazó szoftvercsomagok (nem üzleti jellegű feladatokhoz)
Weka, MALLETClementine (SPSS Inc.), Intelligent Miner (IBM), DBMiner(Simon Fraser Univ.)Octave, Matlab, Maple, RPython (numpy, scipy, scikit-learn, pandas). . .
Adatbányászat
KövetelményekBevezetés
Adatbányászat tárgya
(Nagy méretű) adathalmazok, melyek (általában) sokjellemzővel leírt adatobjektumokból épülnek fel
Adatobjektum Jellemzőrekord mező
adatpont dimenzióminta/mérés változó
egyed/eset/példány jellemző, tulajdonságDimenzionalitás átka (kissé pongyolán): a dimenziószámnagyságának növekedésével exponenciálisan növő adatpontravan szükség (a megfelelő pontosság eléréséhez)Nagydimenziós térben nehezen értelmezhető a távolságfogalma → diemnziócsökkentő eljárások (lásd később)
Adatbányászat
KövetelményekBevezetés
Adathalmazok formátumai
Adatbázistáblák/sémákTranzakciós listák (kosarak)
AdatmátrixElőfordulási (pl. dokument-term) mátrix
Adatbányászat
KövetelményekBevezetés
Változók típusai mérési skálájuk szerint
Attribútumtípus Leírás Példák Statisztikái
Kategória Nominális Két változó egyezé-
sét tudjuk csupánvizsgálni
városnév, haj-szín
módusz, entró-pia, korreláció,χ2-teszt
Ordinális Két változó közöttértelmezhető a >reláció
jegyek, {rossz,tűrhető, jó}
medián, percenti-lisek
Num
erikus Intervallum Két változó különb-
sége értelmezhetőcipőméret, dá-tumok, ◦C
átlag, szórás,stat. tesztek
Arányskála Képezhető két értékhányadosa is
kor, hossz, Kel-vin fok
százalék, harmo-nikus közép
Adatbányászat
KövetelményekBevezetés
Változók további csoportosítási lehetősége - Diszkrét ésfolytonos változók
Diszkrét változó: véges vagy megszámlálhatóan végtelenértékkészlettel rendelkeznekFolytonos változó: értékkészlete a teljes valós számhalmazMérési skálák vs. értékkészlet
Nominális és ordinális skálájúak jellemzően diszkrétekIntervallum és arányskálájúak jellemzően folytonosakBináris folytonos változó?Diszkrét gyakorisági értékek?
Adatbányászat
KövetelményekBevezetés
Változók további csoportosítási lehetősége - Szimmetria vs.aszimmetria
Egy jellemző meg nem léte nem feltétlen azonos jelentőségűegy jellemző meglétével két egyed hasonlóságának vizsgálatakapcsánpl. ritka dokumentumvektorok, ahol jellemzően a teljes szótárelenyésző hányada szerepel a dokumentumokat reprezentálóvektorokban
Adatbányászat
KövetelményekBevezetés
Jellemzőmanipuláció
JellemződiszkretizációBizonyos algoritmusoknak kedvez(het) sebesség éseredményesség szempontjából, ha numerikus helyett kategóriatípusú értékekkel dogozhatnak
JellemzőszűrésElméletben több jellemző segítségével mélyebb összefüggésektanulhatók, a gyakorlat azonban erre rá tud cáfolniPróbáljuk meg a rendelkezésünkre álló jellemzők leghasznosabbrészhalmazát kiválasztani (részhalmazokból azonbanexponenciálisan sok van! → heurisztikák alkalmazása)
Adatbányászat
KövetelményekBevezetés
Irányítatlan (felügyeletlen) diszkretizáció
Egyedek osztálycímkéjének ismerete nélkül próbáljuk megjellemzőiket diszkretizálni
Fix szélességű intervallumok kialakításaGyér intervallumok alakulhatnak kiJellemzőértékek sűrű régiói kerülhetnek szeparálásra
Fix (egyed)számossággal rendelkező intervallum kialakítása:minden intervallumba ugyanannyi egyed essen (”sík”hisztogram)Sűrűség alapú módszerek (pl. Gaussian Mixture Model)
Adatbányászat
KövetelményekBevezetés
Irányított (felügyelt) diszkretizáció
A jellemzők értékkészleteinek particionálása során figyelembeveszi a jellemzőértékek osztálycímkékkel való együttállásátTörténhet pl. kölcsönös információ, információnyereség(information gain), χ2, . . . mutató alapján
EmlékeztetőX és Y véletlen változók kölcsönös információtartalma:MI (X ;Y ) = H(X )− H(X |Y ) =
∑x∈X
∑y∈Y
p(x , y) log p(x ,y)p(x)p(y)
Mennyivel csökken X véletlen változó értékére vonatkozóbizonytalanságunk, ha Y értékét megismerjük?
Adatbányászat
KövetelményekBevezetés
Példa kölcsönös információtartalom alapú diszkretizálásra
Tegyük föl, hogy 10 megfigyelésünk van, amelyek mindegyike apozitív (P) vagy negatív (N) osztályok valamelyikébe tartozik.Az X véletlen változó diszkretizálását az X = 1 vagy X = 3 értékmellett éri-e meg jobban elvégezni?
31
P NX ≤ 1 2 3X > 1 1 4
P NX ≤ 3 2 4X > 3 1 3
210 log2
43 + 3
10 log267 + 1
10 log223 + 4
10 log287 ≈ 0.035 > 2
10 log2109 + . . . ≈ 0.006
Azaz az X = 1 mentén történő diszkretizáció preferálandó azX = 3 mentén történő diszkretizációval szemben
Adatbányászat
KövetelményekBevezetés
Folytonos változók előfeldolgozása – centralizálás
Minden megfigyelésből vonjuk ki az átlagos megfigyelés értékétAz eredeti változók így az átlagtól vett eltérésüket fogjákmutatni (a jellemzők várhatóértéke 0 lesz)
0 2 4 6 8 10 12
-6
-4
-2
0
(a) „Nyers” adat-6 -4 -2 0 2 4 6
-4
-2
0
2
4
(b) Centralizált adat
Adatbányászat
KövetelményekBevezetés
Folytonos változók előfeldolgozása – standardizálás
Fejezzük ki a változókat a statisztikából ismert z értékükkelA megfigyelt érték a szórás hányszorosával (és milyenirányban) tér el az átlagos megfigyeléstől
0 2 4 6 8 10 12
-6
-4
-2
0
(a) „Nyers” adat-2 0 2
-3
-2
-1
0
1
2
3
(c) Standardizált adat
Adatbányászat
KövetelményekBevezetés
Folytonos változók előfeldolgozása – fehérítés
Tüntessük el a jellemzők között fennálló korrelációtA Σ kovarianciamátrixszal bíró (centralizált) Xmegfigyelésmátrix korrelálatlanná tehető XL transzformációval
L legyen olyan, hogy arra Σ−1 = LLᵀ teljesüljön
0 2 4 6 8 10 12
-6
-4
-2
0
(a) „Nyers” adat-2 0 2
-3
-2
-1
0
1
2
3
(d) Fehérített adat
Adatbányászat
KövetelményekBevezetés
Adatpontok normalizálása – egységnyi hosszúvá tevés
A normalizálás a jellemzőkön túl a megfigyelések tekintetébenis történhet
A többdimenziós x 6= 0 megfigyelésvektor egységnyi hosszúvátehető xu = 1√
xᵀxx módon
0 2 4 6 8 10 12
-6
-4
-2
0
(a) „Nyers” adat-2 -1 0 1 2
-1.5
-1
-0.5
0
0.5
1
1.5
(e) Egységnyi hosszú (és centralizált) adat
Adatbányászat
KövetelményekBevezetés
A tudásfeltárás folyamata
Adatbányászat
KövetelményekBevezetés
Adatminőség
Minden adatbázisban találhatók hibák, inkonzisztenciákadatgyűjtés soránadatbevitel soránmérési hiba
Adatbányászat
KövetelményekBevezetés
Adattisztítás
Hiányzó adatok kezelése pl. xi = (0, 0, 4, 2, ?, ?, 1, 6,′ True ′)hiányzó adat becslése (pl. k-"leghasonlóbb"/teljes sokaságmóduszával/átlagával/mediánjával, esetleg ExpectationMaximization)adatsor elhagyásajellemző elhagyása a modellépítésből
Zajos adatok kezelése (pl. életkor=280)Hiányzó adatokhoz hasonlóan
Duplikátum egyedek kiszűrése
Adatbányászat
KövetelményekBevezetés
Véletlen változók
Kísérlet leírására szolgálnakn kísérlet/mérés eredménye: x1, x2, . . . , xn
Várható érték: µX = E[X ] =∑x∈X
P(X = x) ∗ x
Variancia: Átlagtól való átlagos eltérésVar(X ) =
∑x∈X
P(X = x) ∗ (x − µX )2 = E[(x − µX )2] =
E[X 2]− E2[X ] (biz.: táblán)
PéldaX=[1,4,7]E[X ] = (1 + 4 + 7)/3 = 4E[X 2] = (1 + 16 + 49)/3 = 22Var(X ) = 22− 42 = 6
Adatbányászat
KövetelményekBevezetés
Egy kis algebra (ami még jól fog jönni)
Euklideszi távolság: ‖a‖2 =
√d∑
i=1a2i
Belső szorzat, skalárszorzat: aᵀa =d∑
i=1a2i
Sajátérték, sajátvektorJobboldali sajátérték: Ax = λx⇒ x 6= 0⇔ det(A− λI ) = 0(Miért?)
pl. A=[
3√20√
20 4
]–> λ2 − 7λ− 8 = 0
Baloldali sajátérték: yA = λy
Adatbányászat