• Nem Talált Eredményt

Adatbányászati alapfeladatok

Nagy adathalmazok elemzésének, a „rejtett” tudás feltárásának igénye sok kü-lönböző területen jelentkezett és jelentkezik, úgy mint a marketing, biztosítás, hitelintézetek, orvostudomány vagy mérnöki alkalmazások.

Érdekes módon, a különböző területek szakértői, kutatói — elméleti, „ma-tematikai” szempontból — nagyon hasonló feladatokra jutottak. A feladatok megoldása során alkalmazott eljárások algoritmusok is sokszor egyazon eljá-rás külöböző változatai. Elsőre talán meglepő lehet, hogy például a kéretlen elektronikus levelek (spam-ek) automatikus felismerésére sok szempontból ha-sonló modellt használhatunk, mint annak előrejelzésére, hogy egy banki ügyfél vissza fogja-e fizetni a számára folyosított hitelt. Amint látni fogjuk, az osz-tályozás különböző területeken alkalmazott felismerő és előrejelző rendszerek közös elméleti keretét alkotja. Ehhez hasonlóan az alábbiakban leírt további adatbányászati alapfeladatok is számos alkalmazásban fordulnak elő.

A szakirodalom, lásd pl. [Tan és tsa., 2005], általában négy adatbányászati alapfeladatot határoz meg:

Osztályozás és regresszió. Az osztályozó algoritmusokat és azokkal kapcso-latos ismereteinket különféle felismerési és előrejelzési feladatok közös el-méleti hátterének tekinthetjük. Ilyen felismerési feladat többek között a számítógéppel automatikusan végzett kézírásfelismerés, beszédfelismerés vagy jelbeszédi jelek felismerése. Szintén osztályozási feladatnak tekint-hető annak előrejelzése, hogy egy bank potenciális ügyfelei közül vár-hatóan kik fogják késedelem nélkül visszafizetni a hitelüket és kik nem.

Hasonló feladat annak becslése, hogy egy biztosítónál gépjárműveiket biztosító ügyfelek közül ki milyen valószínűséggel okoz majd balesetet.

Lemorzsolódás-előrejelzési feladatok (azaz mely ügyfelek fogják várha-tóan elhagyni az adott szolgáltatót), egy-egy blogbejegyzésre érkező kom-mentek számának előrejelzése és további „egzotikus” felismerési feladatok is ebbe a körbe tartoznak, mint például a számítógépes felismerése annak, hogy egy adott szöveg szerzője nő-e vagy férfi [Stańczyk, 2011].

Feltehetjük, hogy az adatbázisunk valamilyen példányok (ügyfelek, be-tegségek, vásárlók, telekommunikációs események, stb.) tulajdonságait írja le. Egy-egy tulajdonság egyszerű esetben egy számmal vagy szim-bólummal írható. Ekkor az adatbázis egy nagy táblázat, melynek egyes sorai az egyes példányoknak felelnek meg, oszlopai pedig a tulajdonsá-goknak (egy-egy oszlop egy-egy tulajdonságnak). Egy ilyen adatbázist szemléltet az 1.2. ábra, amely egy kereskedő ügyfeleinek körében végzett felmérés során gyűtött adatokat tárolja. Az Életkor tulajdonság értékei:

fiatal,középkorú,idős. A tulajdonság helyett gyakran használjuk majd az

1.2. ábra. Példa: Egy adattábla

attribútum szót6. Amikor minden attribútum szám, a példányok egy sok-dimenziós tér pontjainak feleltethetők meg, ezért az attribútum helyett adimenzió kifejezést is használhatjuk. Apéldányra más szóvalobjektum, elem, rekord néven is hivatkozik a szakirodalom.

Ilyen megközelítésben az osztályozás illetve regresszió feladata valamely ismeretlen attribútum becslése illetve előrejelzése. Ezt a kitüntetett att-ribútumot nevezzük osztályattribútumnak (class attribute, class label).

Amennyiben az osztályattribútum értékkészlete diszkrét (az osztályattri-bútum előre definiált értékek valamelyikét veszi fel), osztályozási feladat-ról beszélünk, ha az osztályattribútum értéke folytonos, akkorregressziós feladatról.

Ha például az 1.2. ábrán látható adatbázis esetében néhány ügyfélről nem tudjuk, hogy érdekelni fogja-e őket az akciót, és ezt szeretnénk ügyfelen-ként előrejelezni, egy osztályozási feladattal van dolgunk. Az osztályatt-ribútum ezesetben az Érdekli-e az akció elnevezésű attribútum.

Ha egy biztosítótársaság, a korábbi példák egyikét folytatva, ügyfeleinek különböző tulajdonságait tárolja (életkorukat, jövedelmük nagyságát, az általuk vezetett autó végsebességét, motorjának teljesítményét, stb.) és azt szeretné előrejelezni, hogy egy ügyfél mekkora eséllyel okoz balesetet a következő évben, akkor a baleset valószínűsége lesz az osztályattribútum.

Ez az előrejelzési feladat egy regressziós feladat, hiszen az előrejelzendő érték (baleset valószínűsége) folytonos.

Klaszterezés. Osztályozási feladatok esetében, amikor az osztályattribútum

6A közgazdászok a tulajdonság helyett ismérvet, valamely tulajdonság konkrét értéke helyettismérv változatot mondanak.

1.3. ábra. Klaszterezés (bal oldalon) és különc pontok keresése (jobb oldalon)

értéke néhány, előre definiált érték valamelyike, úgy tekinthetjük, hogy az objektumokat előre definiált csoportok valamelyikébe soroljuk be: egy-egy csoport az osztályattribútum egy-egy-egy-egy értékének felel meg. Ezzel szemben a klaszterezés során a csoportok előre nem ismertek, a feladat a csoportok felfedezése, feltárása, és az egyes objektumok besorolása a megtalált csoportokba. Az objektumokat tehát előre nem definiált cso-portokba (klaszterekbe) kell sorolnunk úgy, hogy az egy csoportba tartozó objektumok hasonlóak legyenek, míg a különböző csoportba kerültek kü-lönbözzenek egymástól.

Tipikus klaszterezési feladat például az ügyfelek szegmentálása, de klasz-terező algoritmusokat használhatunk dokumentumok vagy képek csopor-tosítására, szociális hálózatok és csillagászati adatok elemzésére, valamint nagy teljesítményű szuperszámítógépek komponenseinek elrendezésekor.

Klaszterezésre mutat példát az 1.3 ábra első fele. Az adatbázisbeli objek-tumokat itt a sík pontjainak feleltettük meg. Ez akkor lehetséges, ha azt feltételezzük, hogy az adatbázisbeli objektumok két számmal megadott attribútummal rendelkeznek: az egyik attribútum a vízszintes, a másik pedig a függőleges koordinátatengelynek feleltethető meg. Ilyen ábrázo-lás mellett a hasonló objektumok egymáshoz közeli pontoknak felelnek meg, az egymástól különböző objektumok pedig távoli pontoknak.

Gyakori minták és asszociációs szabályok keresése. Történetileg kifeje-zetten érdekes a gyakori mintázatok és asszociációs szabályok keresésének feladata, mert szorosan összefügg az adatbányászat, mint önálló terület kialakulásával. Ezzel szemben az osztályozással, regresszióval, klasztere-zéssel már korábban is foglalkoztak.

Asszociációs szabályok alatt olyan jellegű összefüggéseket értünk, mint

például az alábbi:

Aki dohányzik és sok alkoholt fogyaszt, sokkal nagyobb eséllyel lesz rákos, mint aki nem.

A gyakori minták keresésének feladatát legtöbbször kereskedelmi példá-kon keresztül szokták bevezetni. Tételezzük fel, hogy arra vagyunk kíván-csiak, hogy egy bevásárlóközpont által árusított termékek közül melyek azok, amelyeket gyakran vásárolnak egyszerre a vevők. Ebben a kontex-tusban egy-egy gyakori minta termékek egy halmazát jelöli, olyan ter-mékeket, amelyeket jellegzetesen egyszerre vásárolnak meg. Egy gyakori minta lehet például a

zsemle, tej, szalámi, sajt, egy másik pedig a

sör és pelenka.

Amint látni fogjuk, a gyakori mintázatok bányászata szorosan összekap-csolódik az asszociációs szabályok bányászatával. Szintén látni fogjuk, hogy a minta típusától függően az alapfeladatnak különböző változatai vannak: kereshetünk gyakori halmazokat, gyakori sorozatokat, gyakori részgráfokat, figyelembe vehetjük azt, hogy a bevásárlóközpont termékei különböző kategóriákba tartoznak, stb.

Anomáliák felismerése. Más szóval: eltéréselemzés, különc pontok keresése, illetve outlier-ek felismerése. Azokat a példányokat, amelyek nem felelnek meg az adatbázis általános jellemzőinek, tulajdonságaik nagy mértékben eltérnek az általánostól, az adatbázisbeli példányok többségétől, különc példányoknak nevezzük. Jópár adatbányászati algoritmus az ilyen különc pontoknak nem tulajdonít nagy jelentőséget, zajnak vagy kivételnek ke-zeli őket. Azonban egyre több területen merül fel az igény, hogy éppen az ilyen különc pontokat találjuk meg. Eltéréselemzés főbb alkalmazási terü-lete a csalások, visszaélések kiszűrése, beleértve a vírusok, hackertámadá-sok, biztosítási csaláhackertámadá-sok, hitelkártyákkal elkövetett illegitim tranzakciók, és a belterjes kereskedés felismerését, mobiltelefon-hálózatok és egészség-ügyi szolgáltatások jogosulatlan igénybe vételét [Chandola és tsa., 2009].

Különc pontok keresésére mutat példát az 1.3 ábra második fele.

Az anomáliakeresés feladata nagyban összefügg az osztályozással és klasz-terezéssel. Sokszor osztályozó algoritmusokat használnak anomáliakere-sésre. Ahogy említettük, klaszterezés során az adatbázisbeli objektumo-kat csoportosítjuk úgy, hogy a hasonlók egy csoportba kerüljenek, külön-bözők pedig különböző csoportokba. Azok az objektumok, amelyek nem illeszkednek jól egyik csoportba sem, különc pontoknak tekinthetők.

Léteznek ugyanakkor az osztályozó és klaszterező algoritmusoktól lénye-gesen különböző megközelítést követő eltéréselemző algoritmusok, pél-dául valószínűségi eloszlásokon, távolság és lokális sűrűség fogalmán ala-puló eljárások [Chandola és tsa., 2009]. Ezért tekinthetjük az anomália-keresést az adatbányászat negyedik alapfeladatának.

A fenti alapfeladatok (osztályozás, klaszterezés, gyakori mintázatok és asszo-ciációs szabályok keresése, anomáliák felismerése) különböző változatai létez-nek alkalmazási területtől és ezzel összefüggően az adatok típusától függően.

Így külön-külön beszélhetünk például ügyfelek, dokumentumok, röntgenképek osztályozásáról, különböző típusú gyakori minták bányászatáról, stb. Az alap-feladatok különböző változatai mellett az adatbányászat területéhez sorolhat-juk többek között az alábbi, az alapfeladatokhoz lazán kapcsolódó feladatokat, alkalmazásokat is:

Ajánlórendszerek és további, mátrix faktorizáción alapuló eljárások.

Az online (webes) kereskedelem utóbbi évtizedben tapasztalható rohamos terjedésével párhuzamosan nőtt az érdeklődés a személyre szabott rek-lámok, ajánlatok iránt, népszerűvé váltal az ajánlórendszerekkel kapcso-latos kutatások. Ha egy webes áruházban, például az Amazon, Netflix vagy Rossmann weblapján, vásárolunk néhány terméket, a webes áru-házba való következő bejelentkezésünkkor látható reklámok nem véletlen-szerűen jelennek meg a képernyőn, hanem korábbi vásárlásaink alapján.

A háttérben futó rendszer becsüli, hogy milyen az ízlésünk és, hogy mely további termékekre lehet szükségünk a korábban vásároltakhoz kapcsoló-dóan, stb. Ehhez hasonlóan a Youtube (és más videomegosztó rendsze-rek) személyreszabottan ajánl számunkra videókat, a Facebook lehetséges ismerősöket ajánl.

Ajánlórendszernek (recommender system) nevezünk egy olyan rendszert, amely a termékek halmazából a felhasználók számára személyre szabot-tan ajánl néhányat. Amikor egy ajánlórendszer termékeket ajánl, ezt általában az alapján teszi, hogy a felhasználó által még nem vásárolt ter-mékeket rangsorolja és a rangsorból kiválasztja az első néhányat, amelyek várhatóan leginkább érdeklik őt. Ahhoz, hogy az ajánlatok személyre sza-bottak legyenek, a rangsorolást minden felhasználóra külön-külön végzi el

1.4. ábra. Az ajánlórendszerek hátterében álló adatokat általában egy ritka mátrix elemeinek szokták tekinteni. A mátrix sorai a felhasználóknak felelnek meg, oszlopai az egyes termékeknek, a példában ezek a termékek filmeknek.

Feltehetjük, hogy néhány terméket a felhasználók 1-től 5-ig terjedő skálán értékeltek. A termékek nagyrészéről azonban nem tudjuk, hogy egy-egy fel-használónak tetszenek-e vagy sem, ezeket az esetekel jelöltük kérdőjelekkel. A feladat az, hogy eldőntsük mely termékeket érdemes az egyes felhasználók szá-mára reklámozni, azaz: becsüljük meg, hogy mely termékek fognak várhatóan tetszeni az egyes felhasználóknak.

a rendszer, felhasználónként más rangsorokat generál a korábbi vásárlá-sok figyelembe vételével. A rangsorolás legtöbbször úgy történik, hogy a rendszer az egyes termékekhez kiszámít egy valószínűséget vagy egy foly-tonos skálán értelmezett pontszámot, amely azt jellemzi, hogy az adott felhasználót az adott termék mennyire érdekli. A rendszer kimenete te-hát folytonos érékek becslése, amely alapján az ajánlórendszereket akár a regressziós problémák közé is sorolhatnánk.

Azonban az ajánlórendszerek hátterében álló adatstruktúra, a „szokvá-nyos” regressziós eljárásokhoz képest, jelentősen különböző. További lé-nyeges eltérés az, ahogyan az legsikeresebb ajánló algoritmusok a becsült értékeket kiszámolják. Az utóbbi években a témában született szinte hihetetlen mennyiségű tudományos cikk eredményeiből az rajzolódik ki, hogy az ajánlórendszerek hátterében álló adatokat érdemes egy ritka mát-rixként elképezelni, lásd az 1.4 ábrát. Ritka mátrix alatt itt azt értjük, hogy a mátrix celláinak nagy része kitöltetlen. Az ajánló algoritmusok többsége az ismert cellák alapján becsüli meg az ismeretlen cellák ér-tékeit, általában olyan módon, hogy a mátrixot kettő vagy több kisebb mátrix szorzatára bontja [Takács, 2008, Koren, 2009]. Ezeket

mátrixfak-torizációs eljárásoknak nevezzük.

Idősorok bányászata: Az adatbányászati alapfeladatok idősorokkal kapcso-latos változataival – mint például idősorok osztályozásával, idősorok klasz-terezésével, gyakori minták (motívumok) keresésével, idősorok következő

értékének előrejelzésével – is számos kutató foglalkozik, lásd például [Buza, 2011a]-t és a benne hiva2011a]-tkozo2011a]-t2011a]-t műveke2011a]-t.

Attribútumok közötti kapcsolatok: Gyakran hasznos, ha a példányokra úgy tekintünk, mint az attribútumok megvalósulásaira és keressük az összefüggéseket az attribútumok között. Többféle összefüggés létezik.

Ilyenek az asszociációs- és korrelációs szabályok, a funkcionális függőségek és hasonlóságok. Az osztályozás is attribútumok közötti összefüggések felfedezésére szolgál. Az osztályozásnál egy kitüntetett attribútum érté-két kell megjósolnunk a többi attribútum értéke alapján. Ezt egy modell felépítésével tesszük. Leggyakrabban a modell egy döntési fa, de lehet if-then szabályok sorozata, valamilyen matematikai formula, vagy akár egy neurális hálózat is.

Webes adatbányászat: Az Interneten óriási adattömeg található, így az in-terneten alapuló információ-kinyerő algoritmusok is az adatbányászat te-rületéhez sorolhatóak. Szintén ide tartozónak tekinthetjük az oldalak rangsorolásának, illetve hasonló tartalmú oldalak megtalálásának felada-tát, a kéretlen elektronikus levelek (spamek) felismerését vagy az interne-ten megjelenő tartalmakhoz kapcsolódó előrejelzési feladatokat (például:

várhatóan hány felhasználó fog betölteni egy weblapot vagy hányan fog-nak megnézni egy youtube-ra feltöltött videót).