134 92 3MB
Hungarian Pages 285 Year 2010
Adatb´any´aszati algoritmusok Dr. Bodon Ferenc 2010. febru´ar 28.
c 2002-2010 Dr. Bodon Ferenc Copyright Ezen dokumentum a Free Software Foundation ´altal kiadott GNU Free Documentation license 1.2-es, vagy b´armely azt k¨ovet˝o verzi´oj´anak felt´etelei alapj´an m´asolhat´o, terjeszthet˝o ´es/vagy m´odos´ıthat´o. Nincs Nem V´altoztathat´o Szakasz, nincs C´ımlap-sz¨oveg, nincs H´atlap-sz¨oveg. A licenc magyar nyel˝ u ford´ıt´asa a http://hu.wikipedia.org/wiki/A GNU Szabad Dokument´ aci´ os Licenc sz¨ ovege oldalon tal´alhat´o.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 (http://www.gnu.org/copyleft/fdl.html) or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ”GNU Free Documentation License”.
K¨ osz¨ onetnyilv´ an´ıt´ as Ez´ uton szeretn´ek k¨osz¨onetet mondani R´ onyai Lajosnak, a Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem tan´ar´anak az eg´esz munka sor´an ny´ ujtott seg´ıts´eg´e´ert, hasznos ¨otletei´ert, u ´ tmutat´asai´ert, de legf˝ok´eppen az´ert, mert megismertetett az adatb´any´aszattal. K¨osz¨on¨om Moln´ ar-S´ aska G´ abornak,Pint´ er M´ art´ anak, Szab´ o J´ acintnak, Hum Katalinnak, Biro Istv´ annak ´es Fekete Zsoltnak az MTA-SZTAKI dolgoz´oinak val´osz´ın˝ us´egsz´am´ıt´assal kapcsolatos tan´acsaikat. K¨osz¨on¨om Buza Kriszti´ annak hasznos megjegyz´eseit, ¨otleteit, szeml´eletes p´eld´ait ´es a kidolgozott ´abr´ait, amelyekkel hozz´aj´arult a tanulm´any siker´ehez. K¨ ul¨on k¨osz¨onet illeti Czibula Veronik´ at a tanulm´any t¨obbsz¨ori, alapos ´atn´ez´es´e´ert ´es a felfedezett hib´ak kijav´ıt´as´a´ert. Marx D´ aniel rengeteg inform´aci´oval l´atott el a LATEX, emacs, Xfig hat´ekony haszn´alat´at illet˝oen. K¨osz¨on¨om neki a f´aradoz´asait. Friedl Kat´ anak, ifjabb Bencz´ ur Andr´ asnak, Luk´ acs Andr´ asnak, Maricza Istv´ annak, Sarl´ os Tam´ asnak ´ es Bereczki Tam´ asnak k¨osz¨on¨om az ´ert´ekes ´eszrev´eteleit, megjegyz´eseit. ´ ekes ´eszrev´eteleik ´es konstrukt´ıv javaslatai´ert k¨osz¨onet illeti a BME di´akjait, t¨obbek Ert´ k¨oz¨ott (n´evsorrendben) Er˝os P´etert, Fekete G´abort, Hajnacs Zolt´ant, Lajk´o P´etert, Petr´oczi ´ amot, Sz˝oke M´onik´at ´es Varga D´anielt. Attil´at, Schlotter Ildik´ot, Sz´ant´o Ad´ V´egezet¨ ul k¨ ul¨on k¨osz¨on¨om Kedvesemnek, M´ oninak, hogy est´enk´ent megteremtette az ´ır´ashoz ´es gondolkod´ashoz sz¨ uks´eges nyugodt k¨or¨ ulm´enyt, tov´abb´a elfogadta ´es t´amogatta ezt a sok id˝ot felem´eszt˝o hobbimat.
Tartalomjegyz´ ek El˝osz´o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. Bevezet´ es 1.1. Legjelent˝osebb adatb´any´aszati feladatok 1.2. A tud´asfelt´ar´as folyamata . . . . . . . . 1.3. Adatb´any´aszat kontra statisztika . . . . 1.4. Sikeres alkalmaz´asok . . . . . . . . . . . 1.5. Szabv´anyok . . . . . . . . . . . . . . . . 1.6. Adatb´any´aszati rendszer architekt´ ur´aja . 1.7. Adatb´any´aszat ´es az etika . . . . . . . . 1.8. Az adatb´any´aszat felt´etelei . . . . . . . .
3
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
6 8 10 13 15 18 19 20 22
2. Alapfogalmak, jel¨ ol´ esek 2.1. Halmazok, rel´aci´ok, f¨ uggv´enyek, sorozatok 2.2. Line´aris algebra . . . . . . . . . . . . . . . 2.3. Gr´afelm´elet . . . . . . . . . . . . . . . . . 2.4. Matematika logika . . . . . . . . . . . . . 2.4.1. ´It´eletlogika . . . . . . . . . . . . . 2.4.2. Els˝orend˝ u logika . . . . . . . . . . 2.5. Val´osz´ın˝ us´egsz´am´ıt´as . . . . . . . . . . . . 2.5.1. Nevezetes eloszl´asok . . . . . . . . 2.5.2. Egyenl˝otlens´egek . . . . . . . . . . 2.5.3. Entr´opia . . . . . . . . . . . . . . . 2.6. Statisztika . . . . . . . . . . . . . . . . . . 2.6.1. Hipot´ezisvizsg´alat . . . . . . . . . . 2.6.2. A binomi´alis pr´oba . . . . . . . . . 2.6.3. Az F -pr´oba . . . . . . . . . . . . . 2.6.4. A χ2 -pr´oba . . . . . . . . . . . . . 2.6.5. F¨ uggetlens´egvizsg´alat . . . . . . . . 2.6.6. Student t-pr´oba . . . . . . . . . . . 2.7. Algoritmus-elm´elet . . . . . . . . . . . . . 2.8. Adatstrukt´ ur´ak . . . . . . . . . . . . . . . 2.8.1. Sz´of´ak . . . . . . . . . . . . . . . . 2.8.2. Piros-fekete f´ak . . . . . . . . . . . 2.8.3. Hash-t´abla . . . . . . . . . . . . . . 2.9. Sz´am´ıt´og´ep-architekt´ ur´ak . . . . . . . . . 2.9.1. T¨obbszint˝ u mem´oria, adatlokalit´as
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
24 24 26 26 27 27 27 27 27 28 28 29 29 30 30 30 31 32 32 32 32 34 34 34 35
ii
2.9.2. Cs˝ovezet´ekes feldolgoz´as, el´agaz´as-el˝orejelz´es . . . . . . . . . . . . . . . . 35 3. El˝ ofeldolgoz´ as, hasonl´ os´ agi f¨ uggv´ enyek 3.1. Attrib´ utum t´ıpusok . . . . . . . . . . . . . . 3.2. Hasonl´os´agi m´ert´ekek . . . . . . . . . . . . . 3.2.1. Bin´aris attrib´ utum . . . . . . . . . . 3.2.2. Kateg´oria t´ıpus´ u attrib´ utum . . . . . 3.2.3. Sorrend t´ıpus´ u attrib´ utum . . . . . . 3.2.4. Intervallum t´ıpus´ u attrib´ utum . . . . 3.2.5. Vegyes attrib´ utumok . . . . . . . . . 3.2.6. Speci´alis esetek . . . . . . . . . . . . 3.3. El˝ofeldolgoz´as . . . . . . . . . . . . . . . . . 3.3.1. Hi´anyz´o ´ert´ekek kezel´ese . . . . . . . 3.3.2. Attrib´ utum transzform´aci´ok . . . . . 3.3.3. Hib´as bejegyz´esek, a zaj elt´avol´ıt´asa 3.3.4. Adatok elront´asa, ¨osszezagyv´al´asa . . 3.3.5. Diszkretiz´al´as . . . . . . . . . . . . . 3.3.6. Normaliz´al´as . . . . . . . . . . . . . 3.3.7. Mintav´etelez´es . . . . . . . . . . . . . 3.3.8. Dimenzi´ocs¨okkent´es . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
37 37 39 39 40 40 41 42 42 43 43 44 45 46 46 48 48 55
4. Gyakori elemhalmazok 4.1. A gyakori elemhalmaz fogalma . . . . . . . . . . . 4.2. Az Apriori algoritmus . . . . . . . . . . . . . . . 4.2.1. Jel¨oltek el˝o´all´ıt´asa . . . . . . . . . . . . . 4.2.2. Jel¨oltek t´amogatotts´ag´anak meghat´aroz´asa 4.2.3. Ritka jel¨oltek t¨orl´ese . . . . . . . . . . . . 4.2.4. Zs´akutca nyes´es . . . . . . . . . . . . . . . 4.2.5. A bemenet t´arol´asa . . . . . . . . . . . . . 4.2.6. Tranzakci´ok sz˝ ur´ese . . . . . . . . . . . . . 4.2.7. Equisupport nyes´es . . . . . . . . . . . . . 4.2.8. Borgelt-f´ele t´amogatotts´ag-meghat´aroz´as . 4.2.9. Fut´asi id˝o ´es mem´oriaig´eny . . . . . . . . . 4.3. Az Eclat algoritmus . . . . . . . . . . . . . . . . 4.3.1. kdci . . . . . . . . . . . . . . . . . . . . . 4.3.2. lcm . . . . . . . . . . . . . . . . . . . . . . 4.4. Az FP-growth algoritmus . . . . . . . . . . . . 4.4.1. Az FP-growth* algoritmus . . . . . . . 4.4.2. Patricia . . . . . . . . . . . . . . . . . . . 4.5. Elavult technik´ak . . . . . . . . . . . . . . . . . . 4.6. Mintav´etelez˝o algoritmus elemz´ese . . . . . . . . . 4.6.1. Mintav´etel nagys´aga . . . . . . . . . . . . 4.7. Elemhalmazok Galois lez´arja . . . . . . . . . . . . 4.7.1. A z´art elemhalmazok fogalma . . . . . . . 4.8. K´enyszerek kezel´ese . . . . . . . . . . . . . . . . . 4.8.1. ExAnte . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
62 62 66 67 67 71 71 71 72 73 75 76 80 82 82 82 86 87 87 87 87 88 89 90 90
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
4.9. T¨obbsz¨or¨os t´amogatotts´agi k¨ usz¨ob . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.9.1. MSApriori algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5. Asszoci´ aci´ os szab´ alyok 5.1. Az asszoci´aci´os szab´aly fogalma . . . . . . . . . . . . 5.1.1. Maxim´alis k¨ovetkezm´eny˝ u asszoci´aci´os szab´aly 5.1.2. Egzakt asszoci´aci´os szab´alyok b´azisa . . . . . ´ 5.2. Erdekess´ egi mutat´ok . . . . . . . . . . . . . . . . . . 5.3. Szab´alyok f¨ uggetlens´ege . . . . . . . . . . . . . . . . 5.3.1. lift ´ert´ek . . . . . . . . . . . . . . . . . . . . . 5.3.2. Empirikus kovariancia, empirikus korrel´aci´o . 5.3.3. A χ2 -statisztika . . . . . . . . . . . . . . . . . 5.3.4. A binomi´alis pr´oba . . . . . . . . . . . . . . . 5.3.5. Fisher-f´ele egzakt pr´oba . . . . . . . . . . . . 5.3.6. Tov´abbi mutat´osz´amok . . . . . . . . . . . . . 5.3.7. Asszoci´aci´os szab´alyok rangsora . . . . . . . . ´ 5.4. Altal´ anoss´ag, specialit´as . . . . . . . . . . . . . . . . 5.5. Asszoci´aci´os szab´alyok ´altal´anos´ıt´asa . . . . . . . . . 5.5.1. Hierarchikus asszoci´aci´os szab´alyok . . . . . . 5.5.2. Kateg´oria asszoci´aci´os szab´alyok . . . . . . . . 5.6. A korrel´aci´o nem jelent implik´aci´ot . . . . . . . . . . 5.7. Asszoci´aci´os szab´alyok ´es az oszt´alyoz´as . . . . . . . 6. Oszt´ alyoz´ as ´ es regresszi´ o 6.1. Bevezet´es . . . . . . . . . . . . . . . . . . . . 6.2. Az oszt´alyoz´as ´es a regresszi´o feladata . . . . . 6.2.1. Az elm´eleti regresszi´os g¨orbe . . . . . . 6.2.2. Maximum likelihood oszt´alyoz´o . . . . 6.3. k-legk¨ozelebbi szomsz´ed m´odszere . . . . . . . 6.3.1. Dimenzi´o´atok - Curse of dimensionality 6.3.2. A legk¨ozelebbi szomsz´ed ´erz´ekenys´ege . 6.3.3. Az oszt´alyoz´as felgyors´ıt´asa . . . . . . 6.4. Line´arisan szepar´alhat´o oszt´alyok . . . . . . . 6.4.1. Perceptron tanul´asi szab´aly . . . . . . 6.4.2. Winnow m´odszer . . . . . . . . . . . . 6.4.3. Rocchio-elj´ar´as . . . . . . . . . . . . . 6.4.4. Line´aris regresszi´o . . . . . . . . . . . . 6.4.5. Logisztikus regresszi´o . . . . . . . . . . 6.5. Mesters´eges neur´alis h´al´ozatok . . . . . . . . . 6.6. D¨ont´esi szab´alyok . . . . . . . . . . . . . . . . 6.6.1. Szab´alyhalmazok ´es szab´alysorozatok . 6.6.2. D¨ont´esi t´abl´azatok . . . . . . . . . . . 6.6.3. Az 1R algoritmus . . . . . . . . . . . . 6.6.4. A Prism m´odszer . . . . . . . . . . . . 6.7. D¨ont´esi f´ak . . . . . . . . . . . . . . . . . . . 6.7.1. D¨ont´esi f´ak ´es d¨ont´esi szab´alyok . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93 94 95 95 96 97 97 98 99 101 101 104 105 106 107 107 109 110 111
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
113 . 113 . 114 . 115 . 116 . 116 . 118 . 118 . 120 . 122 . 124 . 124 . 125 . 126 . 127 . 131 . 134 . 135 . 136 . 137 . 138 . 139 . 140
6.7.2. A d¨ont´esi fa el˝o´all´ıt´asa . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.3. Az ID3 algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.4. Felt´etelek a csom´opontokban . . . . . . . . . . . . . . . . . . . . . . 6.7.5. V´ag´asi f¨ uggv´enyek . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.6. Tov´abbfejleszt´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.7. S´ ulyozott divergenciaf¨ uggv´enyek alapj´an defini´alt v´ag´asi f¨ uggv´enyek 6.7.8. D¨ont´esi f´ak nyes´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.9. D¨ont´esi f´ak ´abr´azol´asa . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.10. Hanyag d¨ont´esi f´ak . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8. Bayesi h´al´ozatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8.1. Na´ıv Bayes-h´al´ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8.2. Na´ıv Bayes-h´al´ok ´es a logisztikus regresszi´o kapcsolata . . . . . . . 6.8.3. Bayes hihet˝os´egi h´al´ok . . . . . . . . . . . . . . . . . . . . . . . . . 6.9. Oszt´alyoz´ok kombin´al´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.1. Bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.2. Randomiz´al´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.3. Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10. Oszt´alyoz´ok ki´ert´ekel´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 6.10.1. Ertekez´ es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.2. Hiba m´er´ese regresszi´o eset´eben . . . . . . . . . . . . . . . . . . . . 6.10.3. Hiba m´er´ese val´osz´ın˝ us´egi d¨ont´esi rendszerek eset´en . . . . . . . . . 6.10.4. Oszt´alyoz´ok hat´ekonys´ag´anak mutat´osz´amai . . . . . . . . . . . . . 6.11. Oszt´alyoz´ok ¨osszehasonl´ıt´asa . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11.1. Binomi´alis pr´ob´an alapul´o ¨osszehasonl´ıt´as . . . . . . . . . . . . . . 6.11.2. Student pr´ob´an alapul´o ¨osszehasonl´ıt´as . . . . . . . . . . . . . . . . 6.11.3. Oszt´alyoz´o m´odszerek ¨osszehasonl´ıt´asa . . . . . . . . . . . . . . . . 7. Klaszterez´ es 7.1. Egy lehetetlens´eg-elm´elet . . . . . . . . . . . . . . . . 7.2. Hasonl´os´ag m´ert´eke, adat´abr´azol´as . . . . . . . . . . 7.3. A klaszterek jellemz˝oi . . . . . . . . . . . . . . . . . . 7.4. A klaszterez´es j´os´aga” . . . . . . . . . . . . . . . . . ” 7.4.1. Klasszikus m´ert´ekek . . . . . . . . . . . . . . 7.4.2. Konduktancia alap´ u m´ert´ek . . . . . . . . . . 7.5. Klaszterez˝o algoritmusok t´ıpusai . . . . . . . . . . . . 7.6. Particion´al´o elj´ar´asok . . . . . . . . . . . . . . . . . . 7.6.1. Forgy k-k¨oz´ep algoritmusa . . . . . . . . . . . 7.6.2. A k-medoid algoritmusok . . . . . . . . . . . . 7.7. Hierarchikus elj´ar´asok . . . . . . . . . . . . . . . . . 7.7.1. Single-, Complete-, Average Linkage Elj´ar´asok 7.7.2. Ward m´odszere . . . . . . . . . . . . . . . . . 7.7.3. A BIRCH algoritmus . . . . . . . . . . . . . . 7.7.4. A CURE algoritmus . . . . . . . . . . . . . . 7.7.5. A Chameleon algoritmus . . . . . . . . . . . . 7.8. S˝ ur˝ us´eg-alap´ u m´odszerek . . . . . . . . . . . . . . . . 7.8.1. A DBSCAN algoritmus . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
141 143 144 144 146 147 149 149 150 150 150 152 154 154 154 154 154 154 157 157 158 159 161 161 162 162
. . . . . . . . . . . . . . . . . .
164 . 165 . 167 . 168 . 169 . 170 . 171 . 173 . 174 . 175 . 175 . 177 . 177 . 178 . 178 . 179 . 181 . 181 . 181
8. Id˝ osorok elemz´ ese
183
9. Webes adatb´ any´ aszat 9.1. Oldalak rangsorol´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1. Az egyszer˝ u Page Rank . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.2. Az igazi Page Rank . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2. Webes keres´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1. Gy˝ ujt˝olapok ´es Tekint´elyek – a HITS algoritmus . . . . . . . . . . . . 9.2.2. A SALSA m´odszer (Jakabfy Tam´as) . . . . . . . . . . . . . . . . . . 9.2.3. Gy˝ ujt˝olapok, Tekint´elyek ´es v´eletlen s´et´ak (Jakabfy Tam´as) . . . . . 9.2.4. Automatikus forr´as el˝o´all´ıt´o - Gy˝ ujt˝olapok ´es Tekint´elyek m´odos´ıt´asai 9.2.5. Gy˝ ujt˝olapok ´es Tekint´elyek m´odszer´enek h´atr´anyai . . . . . . . . . . 10.Gyakori mint´ ak kinyer´ ese 10.1. A gyakori minta defin´ıci´oja . . . . . . . . . . . . . . 10.1.1. Hat´ekonys´agi k´erd´esek . . . . . . . . . . . . 10.2. Tov´abbi feladatok . . . . . . . . . . . . . . . . . . . 10.2.1. Nem b˝ov´ıthet˝o ´es z´art mint´ak . . . . . . . . 10.2.2. K´enyszerek kezel´ese . . . . . . . . . . . . . . 10.2.3. T¨obbsz¨or¨os t´amogatotts´agi k¨ usz¨ob . . . . . 10.2.4. Dinamikus gyakori mintakinyer´es . . . . . . 10.3. Az algoritmusok jellemz˝oi . . . . . . . . . . . . . . 10.4. Az APRIORI m´odszer . . . . . . . . . . . . . . . . 10.4.1. Jel¨oltek el˝o´all´ıt´asa . . . . . . . . . . . . . . 10.4.2. Z´art mint´ak kinyer´ese, az APRIORI-CLOSE 10.5. Sorozat t´ıpus´ u bemenet . . . . . . . . . . . . . . . . 10.5.1. Apriori . . . . . . . . . . . . . . . . . . . . 10.5.2. Zaki m´odszere . . . . . . . . . . . . . . . . . 10.5.3. Mintan¨ovel˝o algoritmusok . . . . . . . . . . 10.5.4. K´etl´epcs˝os technik´ak . . . . . . . . . . . . . 10.5.5. A z´art mint´ak t¨or´ekenys´ege” . . . . . . . . ” 10.5.6. Dinamikus gyakori mintab´any´aszat . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.Gyakori sorozatok, bool formul´ ak ´ es epiz´ odok 11.1. Gyakori sorozatok kinyer´ese . . . . . . . . . . . . . . 11.1.1. A Gyakori Sorozat Fogalma . . . . . . . . . . 11.1.2. APRIORI . . . . . . . . . . . . . . . . . . . . 11.1.3. Elemhalmazokat tartalmaz´o gyakori sorozatok 11.1.4. Sorozat t´ıpus´ u minta ´altal´anos´ıt´asa . . . . . . 11.2. Gyakori bool formul´ak . . . . . . . . . . . . . . . . . 11.3. Gyakori epiz´odok . . . . . . . . . . . . . . . . . . . . 11.3.1. A t´amogatotts´ag defin´ıci´oja . . . . . . . . . . 11.3.2. APRIORI . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
184 . 184 . 185 . 188 . 188 . 188 . 192 . 194 . 195 . 196
. . . . . . . . . . . . . . . . . .
198 . 199 . 200 . 201 . 201 . 202 . 203 . 204 . 204 . 204 . 205 . 207 . 208 . 208 . 210 . 212 . 214 . 216 . 217
. . . . . . . . .
219 . 219 . 220 . 220 . 221 . 225 . 226 . 226 . 227 . 228
1 12.Gyakori f´ ak ´ es fesz´ıtett r´ eszgr´ afok 12.1. Az izomorfia probl´em´aja . . . . . 12.2. A gyakori gr´af fogalma . . . . . . 12.3. gyakori gy¨okeres f´ak . . . . . . . 12.3.1. TreeMinerH . . . . . . . . 12.3.2. TreeMinerV . . . . . . . . 12.4. Gyakori r´eszf´ak . . . . . . . . . . 12.5. A gyakori fesz´ıtett r´eszgr´afok . . 12.5.1. Az AcGM algoritmus . . . 12.6. A gyakori r´eszgr´afok keres´ese . . 12.6.1. Az FSG algoritmus . . . . 12.6.2. gSpan . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
231 . 231 . 233 . 234 . 235 . 236 . 238 . 238 . 238 . 241 . 241 . 242
13.Adatb´ any´ aszat a gyakorlatban 13.1. Felhaszn´al´asi ter¨ uletek . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1. Az u ¨ gyf´el ´eletciklusa . . . . . . . . . . . . . . . . . . . . . . . . 13.1.2. Kereskedelem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.3. P´enz¨ ugy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.4. Biol´ogia ´es Orvostudom´any . . . . . . . . . . . . . . . . . . . . 13.2. Az adatb´any´aszat b¨olcs˝oje: az elektronikus kereskedelem (e-commerce) 13.3. Adatb´any´asz szoftverek . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1. Adatb´any´aszati rendszerek tulajdons´agai . . . . . . . . . . . . . 13.3.2. Esettanulm´anyok r¨oviden . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
245 245 245 246 247 248 249 250 251 252
F¨ uggel´ ek 258 F¨ uggel´ek A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Jel¨ ol´ esjegyz´ ek Az al´abbi t´abl´azat tartalmazza a jegyzetben haszn´alt legfontosabb jel¨ol´eseket. jel¨ol´es
jelent´es
c i ` n m, |T |
kateg´ori´ak sz´ama elem (gyakori elemhalmaz keres´es´en´el) d¨ont´esi f´akban a gyermekek sz´ama attrib´ utumok, elemek sz´ama tan´ıt´opontok sz´ama
2
El˝ osz´ o A 90-es ´evekben a t´arol´okapacit´asok m´eret´enek igen er˝oteljes n¨oveked´ese, valamint az ´arak nagym´ert´ek˝ u cs¨okken´ese1 miatt az elektronikus eszk¨oz¨ok ´es adatb´azisok a h´etk¨oznapi ´eletben is mind ink´abb elterjedtek. Az egyszer˝ u ´es olcs´o t´arol´asi lehet˝os´egek a nyers, feldolgozatlan adatok t¨omeges m´eret˝ u felhalmoz´as´at eredm´enyezt´ek, ezek azonban a k¨ozvetlen visszakeres´esen ´es ellen˝orz´esen k´ıv¨ ul nem sok egy´eb haszonnal j´artak. A ritk´an l´atogatott adatokb´ol adat temet˝ok” ” (data tombs) alakultak ki [55], amelyek t´arol´asa haszon helyett k¨olts´eget jelentett. Ekkor m´eg nem ´alltak rendelkez´esre olyan eszk¨oz¨ok, amivel az adatokba ´agyazott ´ert´ekes inform´aci´ot ki tudtak nyerni. K¨ovetkez´esk´eppen a fontos d¨ont´esek a d¨ont´eshoz´ok meg´erz´esein alapultak, nem pedig az inform´aci´o-gazdag adatokon. J´ol jellemzi ezt a helyzetet John Naisbitt h´ıres mond´asa, miszerint We are drowning in information, but starving for knowledge” (Megfulladunk az ” inform´aci´ot´ol, mik¨ozben tud´asra ´ehez¨ unk). Egyre t¨obb ter¨ uleten mer¨ ult fel az ig´eny, hogy az adathalmazokb´ol a hagyom´anyosn´al ´arnyaltabb szerkezet˝ u inform´aci´okat nyerjenek ki. A hagyom´anyos adatb´azis-kezel˝o rendszerek – a k¨ozvetlen keres˝ok´erd´eseken k´ıv¨ ul, illetve az alapvet˝o statisztikai funkci´okon t´ ul (´atlag, sz´or´as, maxim´alis ´es minim´alis ´ert´ekek meghat´aroz´asa) – komplexebb feladatokat egy´altal´an nem tudtak megoldani, vagy az eredm´eny kisz´am´ıt´asa elfogadhatatlanul hossz´ u id˝obe telt. A sz¨ uks´eg egy u ´ j tudom´anyter¨ uletet keltett ´eletre, az adatb´any´aszatot, amelynek c´elja : hasznos, l´atens ” inform´aci´o kinyer´ese az adatokb´ol”. Az adatb´any´aszati algoritmusokat imm´ar arra tervezt´ek, hogy k´epesek legyenek az ´arnyaltabb inform´aci´o kinyer´es´ere ak´ar ´ori´asi m´eret˝ u adatb´azisok eset´en is. Az adatb´any´aszat, mint ¨on´all´o tudom´anyter¨ ulet l´etez´es´er˝ol az 1980-as ´evek v´eg´et˝ol besz´elhet¨ unk. Kezdetben a k¨ ul¨onb¨oz˝o heurisztik´ak, a matematikailag nem elemzett algoritmusok domin´altak. A 90-es ´evekben megjelent cikkek t¨obbs´eg´et legfeljebb elhinni lehetett, de semmik´eppen sem k´etely n´elk¨ ul meggy˝oz˝odni az egyes ´ır´asok helyt´all´os´ag´ar´ol. Az algoritmusok fut´asi idej´er˝ol ´es mem´oriaig´eny´er˝ol ´altal´aban felsz´ınes elemz´eseket ´es tesztel´esi eredm´enyeket olvashattunk. Az ig´enyes olvas´oban mindig maradt egy-k´et k´erd´es, amire eml´ıt´es szintj´en sem tal´alt v´alaszt. Bizonyos k´aosz uralkodott, amiben l´atsz´olag mindenre volt megold´as, ´am ezek a megold´asok t¨obbnyire r´eszlegesek voltak, tele a legk¨ ul¨onb¨oz˝obb hib´akkal. A XXI. sz´azadba val´o bel´ep´essel a kutat´ok k¨or´eben egyre nagyobb n´epszer˝ us´egnek kezdett ¨orvendeni az adatb´any´aszat. Ennek k´et oka van. Egyr´eszt a n¨ovekv˝o versenyhelyzet miatt a piaci ´elet szerepl˝oinek ´ori´asi az ig´enye az adatb´azisokban megb´ uj´o hasznos inform´aci´okra. A n¨ovekv˝o ig´eny n¨ovekv˝o kutat´oi beruh´az´asokat induk´alt. M´asr´eszt, az adatb´any´aszat a maga neh´ezs´eg´evel, multi-diszciplin´aris volt´aval a kutatni, gondolkodni ´es u ´ jszer˝ u probl´em´akat megoldani v´agy´o ig´eny´et t¨ok´eletesen kiel´eg´ıti. 1 A t´ arol´okapacit´ as n¨ oveked´ese m´eg Moore j´oslat´ at is j´ocsk´ an fel¨ ulm´ ulja. Az ut´obbi 15 ´ev alapj´an ugyanis a t´ arol´okapacit´ as 9 h´ onaponk´ent dupl´ az´odik meg [110]
3
4 Sorra sz¨ ulettek meg a sz´ınvonalas munk´ak, elemz´esek, o¨sszehasonl´ıt´asok, mint tiszta ir´anyvonalak rajzol´odtak ki a k´aoszban. A megoldatlan, nyitott probl´em´akra m´eg mindig keress¨ uk a v´alaszt, ´ıgy val´osz´ın˝ uleg az adatb´any´aszat diadalmenete m´eg sok´aig t¨oretlen marad. Ez a jegyzet a jelenlegi adatb´any´aszati probl´em´akr´ol ´es az azokat megold´o algoritmusokr´ol sz´ol. A ter¨ uletek ´attekint´ese mellett az algoritmusok m´elyebb szint˝ u megismer´ese is a c´el. Az ´ır´as informatikus be´all´ıtotts´ag´ u olvas´oknak k´esz¨ ult. Felt´etelezz¨ uk, hogy az olvas´o tiszt´aban van algoritmus- [79] ´es adatb´azis-elm´eleti alapokkal, tov´abb´a nem ismeretlen ter¨ ulet sz´am´ara a val´osz´ın˝ us´egsz´am´ıt´as [7, 40] ´es a line´aris algebra [115] sem. A jegyzet c´elja az, hogy az adatb´any´aszati appar´atus olyan megismer´es´et ny´ ujtsa, melynek seg´ıts´eg´evel az olvas´o sikerrel oldja meg az egyre t¨obb ter¨ uleten felbukkan´o u ´ jabb ´es u ´ jabb adatb´any´aszati probl´em´akat. Algoritmikus adatb´any´aszatr´ol ´ırunk, ez´ert azon mesters´eges intelligencia ter¨ ulet´ehez tartoz´o eszk¨oz¨ok (mesters´eges neur´alis h´al´ozatok, genetikus algoritmusok ´es fuzzy rendszerek), amelyekr˝ol azt tartj´ak, hogy az adatb´any´aszatban is haszn´alhat´ok, kev´es hangs´ ulyt kapnak. A jegyzet legfrissebb v´altozata let¨olthet˝o a http://www.cs.bme.hu/~ bodon/magyar/adatbanyaszat c´ımen tal´alhat´o oldalr´ol. A jegyzet nem v´egleges! Folyamatosan b˝ov¨ ul, v´altozik. Egyes r´eszek kisebb s´ ulyt kapnak, ¨ m´asok viszont jobban r´eszletezettek. Or¨ommel fogadok b´armilyen ´eszrev´etelt, javaslatot ak´ar helyes´ır´asi, stilisztikai vagy tipogr´afiai hib´ara vonatkoz´oan. Ezeket k´ern´em, hogy a [email protected] c´ımre k¨ uldj´ek. A tanulm´any a Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem m˝ uszaki informatikusok sz´am´ara ki´ırt Adatb´any´aszati algoritmusok c´ım˝ u t´argy hivatalos jegyzete. Adatb´any´aszatb´ol laborgyakorlatok is vannak, amelynek sor´an a hallgat´ok a weka szabadon hozz´af´erhet˝o szoftvert ismerik meg. Ez´ert tal´alkozunk a jegyzetben l´epten-nyomon weka haszn´alati utas´ıt´asokkal. Az ´ır´as LATEX-ben k´esz¨ ult, eleinte a kile, k´es˝obbiekben az emacs sz¨ovegszerkeszt˝o seg´ıts´eg´evel. Egyes ´abr´ak Xfig-el, m´asok a pst-node csomaggal lettek rajzolva. Az eg´esz munk´ahoz az UHU-linux oper´aci´os rendszer (http://www.uhulinux.hu) ny´ ujtotta a stabil ´es biztons´agos h´atteret.
Aj´ anlott irodalom El˝osz¨or azt kell tiszt´aznunk, hogy mit˝ol j´o egy adatb´any´aszatr´ol sz´ol´o k¨onyv. A rengeteg kutat´as, projekt, konferencia ´es foly´oirat hat´as´ara sok adatb´any´aszati m´odszert fejlesztettek ki. Mintha elmozdultunk volna a Megfulladunk az inform´aci´ot´ol, mik¨ozben tud´asra ” ´ehez¨ unk” k´orb´ol a Megfulladunk az elemz˝o eszk¨oz¨okt˝ol, mik¨ozben tud´asra ´ehez¨ unk”. Egy ” rossz adatb´any´aszati k¨onyv puszt´an a m´odszerek ismertet´es´er˝ol sz´ol. Olyan ´erz´es¨ unk t´amad, mintha a kutat´ok m´ar mindent megoldottak volna ´es b˝ovelked¨ unk a jobbn´al-jobb eszk¨oz¨okben. Ugyanakkor a megold´asok l´ognak a leveg˝oben. Egy j´o k¨onyv ezzel szemben keretbe foglalja az elj´ar´asokat, megmutatja hogyan jutunk el az egyik m´odszerb˝ol a m´asikba, mi a k¨oz¨os ´es mit˝ol k¨ ul¨onb¨oznek egym´ast´ol a m´odszerek. Mivel
5 nincsen t¨ok´eletes adatb´any´aszati elj´ar´as, ez´ert ki kell t´erni a feladatok neh´ezs´eg´ere a m´odszerek korl´ataira ´es h´atr´anyaira is. Ezen szempontok alapj´an oszt´alyozzuk (egyt˝ol ¨otig) a k¨ovetkez˝o k´et r´eszben felsorolt k¨onyveket. A pontok szubjekt´ıvek ´es e tanulm´any szerz˝oj´enek v´elem´eny´et t¨ ukr¨ozik.
Magyar nyelv˝ u irodalom Adatb´any´asz t´em´aban az els˝o magyar nyelv˝ u k¨onyv Pieter Adriaans and Dolf Zantinge Adatb´any´aszat (1 pont) c´ım˝ u k¨onyve [1] volt. M´ara a k¨onyv elavult ez´ert nem aj´anljuk senkinek. ´ ASZAT ´ 2004-ben jelent meg a magyar nyelv˝ u ford´ıt´asa [54], ADATBANY – Koncepci´ok ´es technik´ak (3 pont) c´ımmel Jiawei Han ´es Micheline Kamber nagy siker˝ u k¨onyv´enek [55]. Az´ota megjelent az angol nyel˝ u k¨onyv m´asodik kiad´asa, ez´ert ha tehetj¨ uk ink´abb ezt olvassuk. A legjobb magyar nyelv˝ u adatb´any´aszatr´ol sz´ol´o k¨onyvnek a Dr. Abonyi J´anos ´altal szerkesztett Adatb´any´aszat a hat´ekonys´ag eszk¨oze (4 pont) c´ım˝ u k¨onyvet [67] tekintj¨ uk. Remek kieg´esz´ıt´ese a jelen tanulm´anynak. A k¨onyvben helyet kapnak olyan t´em´ak, amelyekr˝ol ebben a tanulm´anyban nem esik sz´o (pl. adatt´arh´azak, id˝osorok, regresszi´os technik´ak) hab´ar fontos lenne. Nagyon hasznos, hogy a m´odszerek bemutat´asa ut´an a szerz˝ok kit´ernek arra, hogy a weka szoftvert hogyan kell be´all´ıtani a m´odszer haszn´alat´ahoz. Mi is az ˝o p´eld´ajukat k¨ovetj¨ uk. Az adatb´any´aszat rokonter¨ ulet´er˝ol ´ırt k¨onyvet Tikk Domonkos Sz¨ovegb´any´aszat (5 pont) c´ımmel. Kit˝ un˝o ´ır´as, aj´anljuk mind informatikus hallgat´oknak ´es kutat´oknak, mind a t´ema ir´ant ´erdekl˝od˝oknek.
Angol nyelv˝ u irodalom Eibe Frank ´es Ian H Witten ´ırta az egyik legn´epszer˝ ubb adatb´any´aszati k¨onyvet Data Mining : Practical Machine Learning Tools and Techniques (5 pont) c´ımmel [142]. Fontos megeml´ıten¨ unk, hogy Eibe Frank a weka egyik f˝ofejleszt˝oje, ennek megfelel˝oen a k¨onyv egy r´esze a weka haszn´alat´at t´argyalja. A k¨onyv egyszer˝ us´egre t¨orekszik, ker¨ uli a k´epleteket, a le´ır´asok ´erthet˝oek ´es vil´agosak. Az adatb´any´aszati cikkekkben gyakran az ellenkez˝oje figyelhet˝o meg ; egyszer˝ u elm´eleteket ´es megold´asokat elbonyol´ıtanak, u ´ j terminol´ogi´at vezetnek be, t´ ulzott formalizmust haszn´alnak ´es elvesznek a figyelemelterel˝o r´eszletekben, mindez az´ert, hogy ne l´assuk a f´at´ol az erd˝ot, a sok sort´ol a l´enyeget. Ebben a k¨onyvben az ellenkez˝o t¨orekv´es figyelhet˝o meg, legfontosabb a l´enyeg meg´ertet´ese. Ha erre egy p´elda a legjobb eszk¨oz, akkor el is hagyj´ak a formalizmust, a prec´ız k´epleteket. Aj´anljuk a k¨onyvet ez´ert azoknak is, akik nem anniyra j´aratosak a matematik´aban, viszont alkalmazni szeretn´ek az adatb´any´aszati eszk¨oz¨oket. M´asik kiemelked˝o munka Trevor Hastie, Robert Tibshirani ´es Jerome Friedman ´altal szerkesztett The Elements of Statistical Learning : Data Mining, Inference and Prediction (5 pont) c´ım˝ u rendk´ıv˝ ul ig´enyes k¨onyv [57]. Az el˝oz˝o k¨onyvvel szemben ez a k¨onyv m´ar komoly matematikai felk´esz¨ ults´eget felt´etelez. Aki viszont rendelkezik statisztikai alapokkal, annak k´ets´egk´ıv¨ ul hasznos lesz e olvasm´any.
1. fejezet Bevezet´ es A sz´am´ıt´og´ep, korunk legdics˝obb tal´alm´anya, rohaml´eptekkel h´od´ıt teret mag´anak az ´elet minden ter¨ ulet´en. Egy gener´aci´o alatt n´elk¨ ul¨ozhetetlenn´e v´alt, amit sz¨ uleink m´eg el sem tudtak k´epzelni, sz´amunkra m´ar elv´alaszthatatlann´a v´alt munk´ankt´ol ´es sz´orakoz´asunkt´ol egyar´ant. Az Internet elterjed´es´evel m´eg intenz´ıvebben ´erz´ekelhet˝o a sz´am´ıt´og´ep t´erh´od´ıt´asa. A ¨ vil´agon az egyik legnagyobb probl´em´at, a t´avols´agot hidalta ´at. Uzleti ´es mag´anc´el´ u ´erintkez´esek v´altak lehet˝ov´e r¨ovidebb id˝o alatt ´es hat´ekonyabban, mint valaha. Adatok milli´oit kezelik ´es sz´all´ıtj´ak a sz´am´ıt´og´epes rendszerek. Az inform´aci´okon alapul´o d¨ont´eshozatal ideje ler¨ovid¨ ult, hiszen a hozz´af´er´es k¨onnyebb´e ´es gyorsabb´a v´alt. Az u ¨ zleti ´elet szerepl˝oinek ´elete is felgyorsult. Ma a v´allalatok l´ete m´ ulhat az inform´aci´ok gyors ´es pontos begy˝ ujt´es´en, elemz´es´en, a rugalmas fejl˝od´esen, vaAz angol tud´osok azt lamint az innov´aci´on. Egyre t¨obb fels˝o vezet˝o ismeri fel, ”´allap´ıtott´ak meg, hogy aki hogy az Internet, az adatok elektronikus t´arol´asa a v´allalat sokat j´ar disco-ba, annak naszolg´alat´aba ´all´ıthat´o. Az adatok azonban ¨onmagukban nem gyobb val´osz´ın˝ us´eggel alakul ki hasznosak, hanem a bel˝ol¨ uk kinyerhet˝o, a v´allalat ig´enyeihez asztm´aja.” Forr´as: Sl´ager r´adi´o, igazod´o, azt kiel´eg´ıt˝o inform´aci´okra lenne sz¨ uks´eg. Ez egy 2007. okt´ober 2., 8 ´ora 26 perc u ´ jabb sz¨ uks´egletet teremt : egy olyan eszk¨oz ir´anti ig´enyt, ami k´epes arra, hogy inform´aci´oszerz´es c´elj´ab´ol elemezze a nyers adatokat. Ez az u ´ j eszk¨oz az adatb´ any´ aszat. Adatb´any´aszati (data mining) algoritmusokat az adatb´azisb´ol t¨ort´en˝o tud´asfelt´ar´as (knowledge discovery in databases) sor´an alkalmaznak. A tud´askinyer´es adatb´azisokb´ol egy olyan folyamat, melynek sor´an ´erv´enyes, u ´ jszer˝ u, lehet˝oleg hasznos ´es v´egs˝o soron ´erthet˝o mint´akat fedez¨ unk fel az adatokban. Ezt gyakran megtehetj¨ uk k¨ ul¨onb¨oz˝o lek´erdez´esek eredm´enyeinek vizsg´alat´aval, azonban ez a megold´as lass´ u, dr´aga ´es nem el´eg ´atfog´o. Nem is besz´elve arr´ol, hogy az emberi szubjektivit´as sokszor hib´as, tov´abb´a az adatb´azisok olyan nagyok lehetnek, hogy egyes lek´erdez´esek elfogadhatatlanul lassan futnak le. Jogos teh´at az ig´eny, hogy a legismertebb, leggyakoribb elemz´est´ıpusokhoz speci´alis m´odszereket, algoritmusokat fejlesszenek ki, amelyek gyorsan ´es pontosan szolg´altatnak egy objekt´ıv k´epet az adatb´azisokban tal´alhat´o kincsr˝ol”. ” Sokf´elek´eppen defini´alt´ak az adatb´any´aszatot. Felsorolunk n´eh´anyat a legismertebbek k¨oz¨ ul kiemelve a kulcsszavakat : – The nontrivial extraction of implicit, previously unknown, and potentially useful infor” mation from data” (Piatetsky Shapiro) 6
´ 1. FEJEZET. BEVEZETES
7 Heurisztika
Statisztika Algoritmus elm. Adatb´azis elm. Gr´afelm´elet Line´aris alg.
-
?
Matematika
- G´ epi
tanul´as
-
?
Mesters´eges Intelligencia ?
¨ Uzlet Marketing
6
Biol´ogia
Alkalmaz´as
-6 -
Vizualiz´aci´o
?
Telekommunik´aci´o Csillag´aszat
Adatb´any´aszat 1.1. ´abra. Az adatb´any´aszat kialakul´asa – . . . the automated or convenient extraction of patterns representing knowledge implicitly ” stored or captured in large databases, data warehouses, the Web, . . . or data streams.” (Han [55], xxi oldal) – . . . the process of discovering patterns in data. The process must be automatic or (more ” usually) semiautomatic. The patterns discovered must be meaningful. . . ” (Witten [142], 5. oldal) – . . . finding hidden information in a database.” (Dunham [35], 3. oldal) ” – . . . the process of employing one or more computer learning techniques to automatically ” analyze and extract knowledge from data contained within a database.” (Roiger, 4. oldal) Egyesek szerint az adatb´any´aszat, mint megnevez´es n´emik´epp szerencs´etlen [54] . Ha sz´enb´any´aszatr´ol besz´el¨ unk, a sz´en b´any´asz´as´ara gondolunk. Ezzel ellent´etben adatb´any´aszat eset´en nem adatot b´any´aszunk, hanem — amint a p´eld´akban is l´attuk — a rejtett ´es sz´amunkra hasznos tud´ast (inform´aci´ot), ¨osszef¨ ugg´eseket keress¨ uk egy nagy adathalmazban ( adathegy” ben”). Az adatb´any´aszatot az u ¨ zleti ´elet ´es a marketing keltette ´eletre. M´eg ma is ezek az adatb´any´aszat f˝o mozgat´o rug´oi. Szerencs´ere az adatb´any´aszat lehet˝os´egeit egyre t¨obb ter¨ uleten ismerik fel, melynek eredm´enyek´ent az alapkutat´asoknak is egy fontos eszk¨oze lett. Alkalmazz´ak az orvosbiol´ogi´aban, genetik´aban, t´avk¨ozl´esben, csillag´aszatban, . . . Az adatb´any´aszat egy multi-diszciplin´aris ter¨ ulet. Az 1.1 ´abr´an l´athat´o, hogy mely tudom´anyter¨ uletek eszk¨ozeit haszn´alja az adatb´any´aszat. Az adatb´any´aszat t¨obb hangs´ ulyt fektet az algoritmusokra, mint a statisztika, ´es t¨obbet a modellekre, mint a g´epi tanul´as eszk¨ozei (pl. neur´alis h´al´ozatok). M´ara az adatb´any´aszat akkora ter¨ ulett´e n˝otte ki mag´at, hogy szinte lehetetlen ´atl´atni magas sz´ınvonalon az eg´eszet.
´ 1. FEJEZET. BEVEZETES
8
1.2. ´abra. Klaszterez´es (bal oldali ´abra) ´es k¨ ul¨onc pontok keres´ese (jobb oldali ´abra)
1.1. Legjelent˝ osebb adatb´ any´ aszati feladatok Feltehetj¨ uk, hogy az adatb´azis valamilyen objektumok (¨ ugyfelek, betegs´egek, v´as´arl´ok, telekommunik´aci´os esem´enyek, . . . ) k¨ ul¨onb¨oz˝o tulajdons´agait ´ırja le. A tulajdons´ag helyett gyakran haszn´aljuk majd az attrib´ utum sz´ot1 . Az adatb´any´aszat feladata a rejtett ¨osszef¨ ugg´esek, kapcsolatok felder´ıt´ese. Az ¨osszef¨ ugg´esek t´ıpusa szerint a k¨ovetkez˝o adatb´any´aszati alapprobl´em´akr´ol besz´elhet¨ unk: Gyakori mint´ ak kinyer´ ese : Adott objektumok egy sorozata. C´elunk megtal´alni a gyakran el˝ofordul´o (r´esz-) objektumokat. Az objektumok lehetnek elemhalmazok vagy sorozatok, esetleg epiz´odok (r´eszben rendez´esek), gr´afok stb. Attrib´ utumok k¨ oz¨ otti kapcsolatok : Gyakran hasznos, ha az objektumokra u ´ gy tekint¨ unk, mint az attrib´ utumok megval´osul´asaira ´es keress¨ uk az ¨osszef¨ ugg´eseket az attrib´ utumok k¨oz¨ott. T¨obbf´ele ¨osszef¨ ugg´es l´etezik. Ilyenek p´eld´aul az asszoci´aci´os-, korrel´aci´os szab´alyok, a funkcion´alis f¨ ugg˝os´egek ´es hasonl´os´agok. Az oszt´alyoz´as is attrib´ utumok k¨oz¨otti ¨osszef¨ ugg´esek felfedez´es´ere szolg´al. Az oszt´alyoz´asn´al egy kit¨ untetett attrib´ utum ´ert´ek´et kell megj´osolnunk a t¨obbi attrib´ utum ´ert´eke alapj´an. Ezt egy modell fel´ep´ıt´es´evel teszi. Leggyakrabban a modell egy d¨ont´esi fa, de lehet if-then szab´alyok sorozata, valamilyen matematikai formula, vagy ak´ar egy neur´alis h´al´ozat stb. is. Klaszterez´ es : Objektumokat el˝ore nem defini´alt csoportokba (klaszterekbe) kell sorolnunk u ´ gy, hogy az egy csoportba tartoz´o objektumok hasonl´oak legyenek, m´ıg a k¨ ul¨onb¨oz˝o csoportba ker¨ ultek k¨ ul¨onb¨ozzenek egym´ast´ol. K´et pont hasonl´os´ag´at egy el˝ore megadott (t´avols´agszer˝ u) f¨ uggv´eny seg´ıts´eg´evel szok´as ´ertelmezni. Klaszterez´esre mutat p´eld´at az 1.2 ´abra els˝o fele. Sorozatelemz´ es : A sorozatelemz´esbe t¨obbf´ele adatb´any´aszati feladat tartozik. Kereshet¨ unk egym´ashoz hasonl´ıt´o (ak´ar r´esz-) sorozatokat. Ezen k´ıv¨ ul elemezhetj¨ uk a sorozat alakul´as´at, ´es k¨ ul¨onb¨oz˝o regresszi´os m´odszerekkel pr´ob´alhatjuk megj´osolni a j¨ov˝obeli val´osz´ın˝ uleg el˝ofordul´o esem´enyeket. 1
A k¨ozgazd´ aszok a tulajdons´ ag helyett ism´ervet, valamely tulajdons´ ag konkr´et ´ert´eke helyett ism´erv v´ altozatot mondanak.
´ 1. FEJEZET. BEVEZETES
9
Elt´ er´ eselemz´ es : Azokat az elemeket, amelyek nem felelnek meg az adatb´azis a´ltal´anos jellemz˝oinek, tulajdons´agaik nagy m´ert´ekben elt´ernek az ´altal´anost´ol k¨ ul¨onc pontoknak nevezz¨ uk. A legt¨obb adatb´any´aszati algoritmus az ilyen k¨ ul¨onc pontoknak nem tulajdon´ıt nagy jelent˝os´eget, legt¨obbsz¨or zajnak vagy kiv´etelnek kezeli ˝oket. Azonban az ´elet egyre t¨obb ter¨ ulet´en mer¨ ul fel az ig´eny, hogy ´eppen az ilyen k¨ ul¨onc pontokat tal´aljuk meg. Elt´er´eselemz´es f˝obb alkalmaz´asi ter¨ ulete a m´asol´as-, koppint´askeres´es, tov´abb´a a csal´asok, vissza´el´esek, v´ırusok, hackert´amad´asok kisz˝ ur´ese. K¨ ul¨onc pontok kezel´es´ere mutat p´eld´at az 1.2 ´abra m´asodik fele. Webes adatb´ any´ aszat : Az Interneten ´ori´asi adatt¨omeg tal´alhat´o, ´ıgy az Interneten alapul´o inform´aci´o-kinyer˝o algoritmusok is az adatb´any´aszat ter¨ ulet´ehez tartoznak. A jegyzetben sz´o lesz intelligensebb keres´esr˝ol, oldalak rangsorol´as´ar´ol, illetve hasonl´o tartalm´ u oldalak megtal´al´as´ar´ol. El˝ofordulhat, hogy az adatb´any´aszati rendszer, m´eg megfelel˝oen megv´alasztott param´eterek mellett is, t´ ul sok szab´alyt, ¨osszef¨ ugg´est t´ar fel. Az egyik legnehezebb k´erd´es az, hogy ezek ´ k¨oz¨ ul melyek az ´erdekesek. Erdekess´egi mutat´okr´ol ´altal´anoss´agban nem sok mondhat´o el, mert a k¨ ul¨onb¨oz˝o felhaszn´al´asi ter¨ uleteken m´as-m´as minta lehet hasznos. Megk¨ ul¨onb¨oztet¨ unk szubjekt´ıv ´es objekt´ıv ´erdekess´egi mutat´okat. Egy minta mindenk´eppen ´erdekes, ha meglep˝o, azaz eddigi tud´asunknak ellentmond, vagy u ´ jszer˝ u, azaz tud´asunkat kieg´esz´ıti. Ugyanakkor egy inform´aci´o csak akkor ´erdekes, ha felhaszn´alhat´o, azaz tudunk valamit kezdeni vele [127]. Azt, hogy egy szab´aly mennyire meglep˝o – t¨obb-kevesebb sikerrel – tudjuk formaliz´alni. Az u ´ jszer˝ us´egr˝ol ´es a felhaszn´alhat´os´agr´ol azonban csak a ter¨ ulet szak´ert˝oje tud nyilatkozni. Annak ellen´ere, hogy az adatb´any´aszat egy u ´ j ter¨ ulet, a fentiekb˝ol l´athat´o, hogy r´egi, m´ar ismert probl´em´akat is mag´aba foglal. Gondoljunk itt arra, hogy klaszterez˝o algoritmusokat m´ar a 60-as ´evekben is javasoltak, vagy arra, hogy az oszt´alyoz´as feladat´at f¨ uggv´eny approxim´aci´ok´ent is felfoghatjuk, aminek irodalm´aval t¨obb k¨onyvespolcot is meg lehetne t¨olteni2 . Teh´at az adatb´any´aszatban gyakran nem maga a probl´ema u ´ j, hanem az adatok m´erete, tov´abb´a az a k¨ovetelm´eny, hogy az egyes algoritmusok fut´asi ideje olyan r¨ovid legyen, hogy az eredm´enyek a gyakorlatban elfogadhat´o id˝on bel¨ ul ´erkezzenek. Az alkalmaz´asokban nem ritk´ak a giga- s˝ot terrab´ajt nagys´ag´ u adathalmazok. A [36] ´ır´asban p´eld´aul egy besz´amol´ot olvashatunk egy bank adatb´azis´anak elemz´es´er˝ol adatb´any´aszati eszk¨oz¨okkel, ahol az u ¨ gyfelek sz´ama el´erte a 190 milli´ot az adatok m´erete pedig a 4 TB-ot. Ilyen m´eretek mellett m´ar kvadratikus l´ep´esig´eny˝ u algoritmusokat sem engedhet¨ unk meg. L´atni fogjuk, hogy a legt¨obb adatb´any´aszati algoritmus a teljes adatb´azist kev´es alkalommal olvassa v´egig. Sk´al´azhat´o (scalable) ´es hat´ekony (efficient) algoritmusokat keres¨ unk, amelyek megbirk´oznak nagy m´eret˝ u Magyar kutat´ok szerint a moadatb´azisokkal. Elv´arjuk, hogy az adatb´azis fontosabb ”bil puszt´ıtja a spermiumokat.” param´etereinek ismeret´eben az algoritmusok fut´asi ideje Forr´as: http://www.origo. megj´osolhat´o legyen. Az ´ori´asi mem´oriam´eretek miatt a hu/tudomany/elet/20040628amobiltelefon. legt¨obb elemzend˝o adatb´azis – megfelel˝o ´atalak´ıt´asokkal html – val´osz´ın˝ uleg elf´er a mem´ori´aban, de m´egis sokszor azt felt´etelezz¨ uk, hogy az adat a h´att´ert´aron tal´alhat´o. 2
Vannak olyan eredm´enyek is, amelyeket egym´ ast´ ol f¨ uggetlen¨ ul megkaptak az adatb´any´aszat ´es a statisztika kutat´ oi is. P´eld´ aul d¨ ont´esi f´ ak el˝ oa´ll´ıt´ as´ ar´ ol ´ırt n´egy statisztikus egy k¨ozismert k¨onyvet [21]. Ek¨ ozben egy jeles adatb´any´asz kutat´ o J. Ross Quinlan d¨ ont´esi fa el˝oa´ll´ıt´o szoftvert k´esz´ıtett. A k´et kutat´ asban sok k¨oz¨ os m´odszer lelhet˝o fel.
´ 1. FEJEZET. BEVEZETES
10
Az adatb´azisok m´eret´enek n¨oveked´ese miatt egyre fontosabbak a p´arhuzamos´ıthat´o algoritmusok (l´asd p´eld´aul part´ıci´os algoritmus r´esz). Ezek az adatb´azist r´eszekre osztj´ak, majd az egyes r´eszeket k¨ ul¨on mem´ori´aval ´es h´att´ert´arral rendelkez˝o egys´egek dolgozz´ak fel, ´es v´eg¨ ul egy kit¨ untetett egys´eg egyes´ıti a r´eszeredm´enyeket. Szint´en a m´eretn¨oveked´es az oka azon algoritmusok n´epszer˝ us´eg´enek, amelyek fut´asi ideje nagy m´ert´ekben cs¨okkenthet˝o valamilyen el˝ozetes inform´aci´ok (p´eld´aul kor´abbi fut´asi eredm´enyek) ismeret´eben (l´asd asszoci´aci´os szab´alyok karbantart´asa r´esz).
1.2. A tud´ asfelt´ ar´ as folyamata A tud´askinyer´es folyamata sor´an 6-10 f´azist szok´as elk¨ ul¨on´ıteni [39, 55] att´ol f¨ ugg˝oen, hogy mely l´ep´eseket vonjuk ¨ossze (tekinthetj¨ uk p´eld´aul az 1.3 ´abr´at) : értelmezés és értékelés
adatbányászat
tudás
csökkentés és transzformáció minták tisztítás
kiválasztás tisztított adat
transzformált adat
forrás adat
adat
1.3. ´abra. A tud´asfelt´ar´as folyamata I. Az alkalmaz´asi ter¨ ulet felt´ar´asa ´es meg´ert´ese, fontosabb el˝ozetes ismeretek begy˝ ujt´ese, ´es a felhaszn´al´asi c´elok meghat´aroz´asa. II. C´eladatb´azis l´etrehoz´asa : kiv´alasztani a haszn´alni k´ıv´ant adatb´azist, (vagy annak csak egy r´esz´et), amib˝ol a tud´ast ki akarjuk nyerni. III. Adattiszt´ıt´as: itt olyan alapvet˝o oper´aci´okat ´ert¨ unk, mint a t´eves bejegyz´esek elt´avol´ıt´asa, hi´anyos mez˝ok p´otl´asa, zajok sz˝ ur´ese stb. Zajon az adatba ´ep¨ ult v´eletlen hib´at ´ert¨ unk. Vannak zajok, amelyeket egyszer˝ u felfedezni ´es jav´ıtani. P´eld´aul sztring ´ert´ek ott, ahol
´ 1. FEJEZET. BEVEZETES
11
sz´amot v´arunk, vagy felsorol´as t´ıpus´ u attrib´ utumn´al ´erv´enytelen ´ert´ek tal´alhat´o. Sajnos sok esetben a hiba ´eszrev´etlen marad (p´eld´aul 0.53 helyett 0.35 ´ert´ek g´epel´ese). IV. Adatintegr´aci´o : a feldolgoz´as sz´am´ara fontos, esetleg elosztott adatb´azisok egyes´ıt´ese. A harmadik ´es negyedik l´ep´est egy¨ utt gyakran nevezik az adatok el˝ofeldolgoz´as´anak. A k¨ ul¨onb¨oz˝o forr´asb´ol vett adatok integr´aci´oja sor´an sok probl´em´aba u ¨ tk¨ozhet¨ unk. A k¨ ul¨onb¨oz˝o oszt´alyok k¨ ul¨onb¨oz˝o m´odon t´arolj´ak adataikat, k¨ ul¨onb¨oz˝o konvenci´okat k¨ovetnek, k¨ ul¨onb¨oz˝o m´ert´ekegys´egeket, els˝odleges kulcsokat ´es elnevez´est haszn´alhatnak ´es k¨ ul¨onf´ele hib´ak lehetnek jelen. Az eg´esz c´eget ´atfog´o adatintegr´aci´ot adatt´arh´azban t´arolj´ak, mely egy speci´alis, az elemz´est t´amogat´o adatb´azis.3 V. Adatt´er cs¨okkent´es: az adatb´azisb´ol a c´el szempontj´ab´ol fontos attrib´ utumok kiemel´ese. VI. Adatb´any´aszati algoritmus t´ıpus´anak kiv´alaszt´asa : eld¨onteni, hogy a megoldand´o feladat klaszterez´es, vagy szab´aly-, illetve mintakeres´es, esetleg oszt´alyoz´as. VII. A megfelel˝o adatb´any´aszati algoritmus meghat´aroz´asa. El˝onyeinek, h´atr´anyainak, param´etereinek vizsg´alata, fut´asi id˝o- ´es mem´oriaig´eny elemz´ese. VIII. Az algoritmus alkalmaz´asa. IX. A kinyert inform´aci´o ´ertelmez´ese, esetleg visszat´er´es az el˝oz˝o l´ep´esekhez tov´abbi finom´ıt´asok c´elj´ab´ol. X. A megszerzett tud´as meger˝os´ıt´ese: ¨osszevet´es elv´ar´asokkal, el˝ozetes ismeretekkel. Eredm´enyek dokument´al´asa ´es ´atad´asa a felhaszn´al´onak. Egy adatb´any´aszati elemz´es eredm´enye akkor nem felel meg az elv´ar´asainknak”, ha nem siker¨ ul semmilyen u ´ j, hasz” nos ´es term´eszetesen val´os ¨osszef¨ ugg´est felt´arni. Ennek nyilv´an t¨obb oka is lehet, a k¨ovetkez˝okben k´et p´eld´at mutatunk [25]. 1. El˝ofordulhat, hogy rosszul v´alasztottuk meg az elemz´eshez (adatb´any´aszathoz) haszn´alt algoritmust vagy ennek param´etereit, ´es egy m´asik elj´ar´assal (vagy m´as param´eterekkel) tal´alni fogunk valamilyen ´erdekes ¨osszef¨ ugg´est. Szeml´eletesen sz´olva : m´as oldalr´ol r´an´ezve az adathegyre, lehet, hogy l´atunk rajta valami ´erdekeset. 2. Term´eszetesen az is lehets´eges, hogy az adatok egy´altal´an nem rejtenek semmif´ele u ´ j, a gyakorlatban hasznos´ıthat´o ¨osszef¨ ugg´est. Ekkor — sajnos — teljesen el¨olr˝ol kell kezdeni a folyamatot, u ´ j adatok gy˝ ujt´es´evel. 3
A h´etk¨oznapi” m˝ uk¨ od´est t´ amogat´o operat´ıv adatb´azis, ´es az adatt´arh´ azak k¨oz¨otti k¨ ul¨onbs´egre egy ” szeml´eletes p´elda az al´ abbi [25]: Ha tudni szeretn´enk Kis J´anos aktu´alis sz´amlaegyenleg´et, akkor ezt egy operat´ıv adatb´azis alapj´ an pontosan ´es gyorsan meg tudjuk hat´arozni. Egy ´atfog´obb” k´erd´es — p´eld´ aul: Ho” ” gyan alakultak az u ¨ gyfelek bankban elhelyezett megtakar´ıt´asai az elm´ ult 12 h´ onapban?” — megv´ alaszol´ asa egy operat´ıv adatb´azis eset´en bonyolult lehet, ´es sok ideig tarthat. Egy adatt´arh´ az az ut´obbi k´erd´esre gyors v´alaszt tud adni, t´ amogatva ez´altal a d¨ ont´eshoz´okat. A v´alasz azonban nem teljesen pontos: ha d´elut´an 4-kor k´erdezz¨ uk le az ut´obbi 12 h´ onapbeli megtakar´ıt´asokat, abban m´eg nem biztos, hogy benne lesz Kis J´anos aznap d´elel˝ott lek¨ot¨ott bet´etje. Az adatt´arh´ az adatai teh´at nem felt´etlen¨ ul abszol´ ut frissek, nyilv´an sz¨ uks´eges azonban a periodikus friss´ıt´es¨ uk. Adatt´arh´ azak alkalmaz´asakor a trendek, folyamatok elemz´ese a c´el. Az, hogy nem az aktu´alisan legfrissebb adatokkal dolgozunk, ´ altal´ aban nem okoz gondot, felt´eve, hogy a legut´obbi friss´ıt´es o´ta nem k¨ovetkezett be radik´alis v´altoz´ as. Ugyanakkor Kis J´anos nyilv´an nem ¨or¨ ulne, ha a bet´et elhelyez´ese ut´an este lek´erdezve sz´ aml´aj´ at nem l´atn´ a” a p´enz´et, mert a periodikus friss´ıt´es csak hetente egyszer esed´ekes: az ˝o ” ig´enyeinek nyilv´an az operat´ıv adatb´azis felel meg.
´ 1. FEJEZET. BEVEZETES
12
A sikeres adatb´any´aszati projektekben az els˝o 5 l´ep´es teszi ki az id˝o- ´es p´enzr´aford´ıt´asok legal´abb 80%-´at. Ha a c´elok nem kell˝ok´eppen ´atgondoltak ´es a b´any´aszand´o adatok nem el´eg min˝os´egiek, akkor k¨onnyen el˝ofordulhat, hogy az adatb´any´asz csak vakt´aban dolgozik ´es a kinyert inform´aci´onak tulajdonk´eppen semmi haszna sincs. A tud´asfelt´ar´as sor´an elengedhetetlen, hogy az adatb´any´asz ´es az alkalmaz´asi ter¨ ulet szak´ert˝oje szorosan egy¨ uttm˝ uk¨odj¨on, a projekt minden f´azis´aban ellen˝orizz´ek a betartand´o ir´anyvonalakat. N´ezz¨ unk erre egy p´eld´at : ha adatb´any´aszati eszk¨oz¨okkel siker¨ ul kimutatni, hogy X betegs´eggel gyakran egy¨ utt j´ar Y betegs´eg is, a kutat´oorvos k´epes eld¨onteni azt, hogy ez val´oban ´ıgy van-e: megvizsg´alhatja, hogy ugyanezen ¨osszef¨ ugg´es m´as adathalmaz eset´en is fenn´all-e (esetleg direkt ebb˝ol a c´elb´ol gy˝ ujt adatot). Ha igen, akkor kider´ıtheti azt, hogy az egyik betegs´eg sor´an keletkezik-e olyan k´emiai anyag, vagy elszaporodott-e olyan k´orokoz´o, mely hozz´aj´arul a m´asik betegs´eg kialakul´as´ahoz. Ezek alapj´an azt mondhatjuk, hogy az adatb´any´asz tippeket” ad a kutat´oorvosoknak. Ezen ” tippek” jelent˝os´eg´et nem szabad al´abecs¨ uln¨ unk: ezek ´ovhatj´ak meg a kutat´oorvost att´ol, hogy ” — szeml´eletesen fogalmazva — rossz helyen tapogat´ozzon”. Az adatb´any´aszat teh´at els˝o sor” ban u ´ j, ´ıg´eretes hipot´ezisekkel j´arulhat hozz´a a k¨ozeg´eszs´eg¨ ugyi kutat´asokhoz. A k¨ovetkez˝o val´os p´elda is az adatb´any´asz ´es a kutat´oorvos szerep´et szeml´elteti. Egy adatb´any´asz az ´eletm´odra ´es a megbeteged´esekre vonatkoz´o adatokat elemezve juthat arra a k¨ovetkeztet´esre, hogy a prosztatar´ak ¨osszef¨ ugg a szenesed´esig s¨ ut¨ott h´ us fogyaszt´as´aval. Ezzel ir´anyt mutat” a kutat´oorvosnak, aki a h´att´erben rejl˝o k´emiai reakci´okat ´es azok biol´ogiai ” k¨ovetkezm´enyeit t´arja fel. Ez a konkr´et esetben l´enyeg´eben ´ıgy is t¨ort´ent : el˝obb t´art´ak fel a j´ol ´ats¨ ut¨ott h´ us fogyaszt´asa ´es a prosztatar´ak gyakoris´aga k¨oz¨otti ¨osszef¨ ugg´est, majd megtal´alt´ak a h´ us s¨ ut´eskor keletkez˝o PhIP vegy¨ uletet ´es kimutatt´ak, hogy hat´as´ara prosztatar´ak alakulhat ki [62]. Ez a jegyzet a 6. ´es 7. l´ep´eseket veszi szem¨ ugyre: rendelkez´es¨ unkre ´all egy adatb´azis, tudjuk, milyen jelleg˝ u inform´aci´ora van sz¨ uks´eg¨ unk, ´es az adatb´any´asz feladata, hogy ennek megold´as´ara min´el gyorsabb ´es pontosabb algoritmust adjon. ´ Altal´ anosabban k´etf´ele adatb´any´aszati tev´ekenys´eget k¨ ul¨on´ıt¨ unk el: Felt´ ar´ as : A felt´ar´as sor´an az adatb´azisban tal´alhat´o mint´akat keress¨ uk meg. A mint´ak legt¨obbsz¨or az ´altal´anos trendeket/szok´asokat/jellemz˝oket ´ırj´ak le, de vannak olyan alkalmaz´asok is (p´eld´aul csal´asfelder´ıt´es), ahol ´eppen az ´altal´anost´ol elt´er˝o/nem v´art mint´akat keress¨ uk. El˝ orejelz´ es : Az el˝orejelz´esn´el a felt´art mint´ak alapj´an pr´ob´alunk k¨ovetkeztetni a j¨ov˝ore. P´eld´aul egy elem ismeretlen ´ert´ekeit pr´ob´aljuk el˝orejelezni az ismert ´ert´ekek ´es a felt´art tud´as alapj´an. N´egy fontos elv´ar´asunk van a megszerzett tud´assal kapcsolatban: (1) legyen k¨onnyen ´erthet˝o, (2) ´erv´enyes, (3) hasznos ´es (4) u ´ jszer˝ u. Az ´erv´enyess´eg eld¨ont´ese a ter¨ ulet szak´ert˝oje mellett az adatb´any´asz (esetleg statisztikus) feladata is. El˝ofordulhat, hogy helyes modellt adtunk, az algoritmus is j´ol m˝ uk¨od¨ott, m´egis a kinyert szab´aly nem fedi a val´os´agot. Bonferroni t´etele arra figyelmeztet benn¨ unket, hogy amennyiben a lehets´eges k¨ovetkeztet´esek sz´ama t´ ul nagy, akkor egyes k¨ovetkeztet´esek t´enyleges val´os´agtartalom n´elk¨ ul igaznak mutatkoznak, tiszt´an statisztikai megfontol´asok alapj´an. Az egyik legjobb p´elda a val´os´agtartalom n´elk¨ uli szab´aly kinyer´es´ere az al´abbi megt¨ort´ent eset. Amerik´aban a Dow Jones ´atlag becsl´es´ehez keresni kezdt´ek azt a term´eket, amely ´ar´anak alakul´asa legink´abb hasonl´ıtott a Dow Jones ´atlag alakul´as´ahoz. A kapott term´ek a bangladesi gyapot volt.
´ 1. FEJEZET. BEVEZETES
13
Az adatok illetve a kinyert inform´aci´ok megjelen´ıt´es´enek m´odja legal´abb annyira fontos, mint az ¨osszef¨ ugg´esek meghat´aroz´asa. A v´egfelhaszn´al´okat (akik ´altal´aban vezet˝ok) jobban megragadja egy j´ol elk´esz´ıtett ´abra, mint k¨ ul¨onb¨oz˝o matematikai strukt´ ur´ak nyers t´alal´asa. A megjelen´ıt´es teh´at fontos r´esze az adatb´any´aszatnak. Ezt j´ol igazolja, hogy nagy sikert k¨onyvelnek el az olyan adatb´any´aszati szoftverek, amelyek adatb´any´aszati algoritmusokat nem is futtatnak, puszt´an az adatokat jelen´ıtik meg intelligens m´odon (h´aromdimenzi´os, sz´ınes, forgathat´o ´abr´ak). Ezekn´el a rendszerekn´el az ¨osszef¨ ugg´eseket, mint´azatokat, k¨oz¨os tulajdons´aggal rendelkez˝o csoportokat maguk a felhaszn´al´ok veszik ´eszre. Az adatb´any´aszati szoftverekr˝ol r´eszletesebben a 13. fejezetben olvashatunk.
1.3. Adatb´ any´ aszat kontra statisztika Neh´ez defini´alni, hogy egy feladat ´es annak megold´asa mikor tartozik a statisztika ´es mikor az adatb´any´aszat fels´egter¨ ulete al´a. A statisztika t¨obb hangs´ ulyt fektet hipot´ezisek vizsg´alat´ara, m´ıg az adatb´any´aszatban a hipot´ezisek megtal´al´as´anak m´odja ´all a k¨oz´eppontban. Az adatb´any´aszat egy gyakorlatorient´alt ter¨ ulet, kevesebb s´ ulyt kapnak (sajnos) az elm´eleti elemz´esek. Viszont k¨ozponti k´erd´es egy algoritmus fut´asi ideje ´es mem´oriaig´enye. Az adatb´any´aszati algoritmusok bemutat´asa sor´an kit´er¨ unk az adatstrukt´ ur´alis ´es ak´ar implement´aci´os k´erd´esekre is. Sok kutat´o az adatb´any´aszatot nem k¨ ul¨onb¨ozteti meg a g´epi tanul´ast´ol. Elv´egre a g´epi tanul´asn´al is adatok alapj´an tanul meg egy koncepci´ot a g´ep. Cinikusok szerint az adatb´any´aszat ´ nem m´as, mint statisztika plusz egy kis marketing. Val´oban, nincs ´eles hat´ar k¨ozt¨ uk. Ugy ´altal´aban besz´elhet¨ unk adat elemz˝o technik´akr´ol. Egyes adat elemz˝o technik´akat ink´abb adatb´any´aszati m´odszernek mondunk, m´asokat pedig a statisztik´ahoz vagy a g´epi tanul´ashoz sorolunk. A 20. sz´azad m´asodik fel´et˝ol egyre jellemz˝obb a tudom´anyra, hogy bizonyos klasszikus elm´eletet kiragadnak ´es u ´ j kutat´asi ter¨ uletnek ki´altj´ak ki. Ugyan´ıgy van ezzel a marketing ; ugyanazt a term´eket egyszer csak u ´ j, hangzatosabb n´evvel kezdik el ´ert´ekes´ıteni. A tudom´anyban is a kutat´asi feladatokat el kell adni a p´aly´azatokat b´ır´al´o zs˝ uriknek ´es az u ´ j n´evvel ell´atott tudom´anyter¨ ulet u ´ j ir´anyokat sugall; az u ´ j ir´anyzatok ´es ´elbeli kutat´asok pedig nagy t´amogat´ast kapnak. Ez a t´eny jelent˝osen hozz´aj´arult az adatb´any´aszat elterjed´es´ehez ´es az egyes adatelemz˝o feladatok ”adatb´any´aszati” c´ımk´evel val´o ell´at´as´ahoz. Adatb´any´aszathoz soroljuk a klaszterz´es, oszt´alyoz´as, asszoci´aci´os szab´alykinyer´es ´es az id˝osorelemz´es nem klasszikus (pl. regresszi´osz´am´ıt´as, sim´ıt´as) feladatait. A k¨ovetkez˝okben n´eh´any p´eld´an kereszt¨ ul szeml´eltj¨ uk az adatb´any´aszat ´es a statisztika k¨oz¨otti k¨ ul¨onbs´eget ´es egyben a k´et ter¨ ulet rokons´ag´at is [25]. I. Tegy¨ uk fel, hogy egy adatb´azisban sokmilli´o ember DNS-szekvenci´ait ´es tulajdons´agait t´aroljuk (1.4 ´abra). Egy jellegzetes statisztikai k´erd´es lehet az, hogy p´eld´aul a k´ek szem˝ u emberek mekkora r´esz´ere jellemz˝o egy adott DNS-szekvencia. Term´eszetesen olyan k´erd´est is feltehet¨ unk, melynek megv´alaszol´asa enn´el kifinomultabb eszk¨ozt´arat ig´enyel: ha azt szeretn´enk tudni, van-e szignifik´ans f¨ ugg´es egy adott DNS-szekvencia megl´ete ´es a k´ek szem” tulajdons´ag k¨oz¨ott, statisztikai pr´ob´at alkalmazhatunk ennek eld¨ont´es´ere. ” Egy adatb´any´asz nem k´erdezne r´a egy konkr´et szekvencia ´es egy konkr´et tulajdons´ag k¨oz¨otti ¨osszef¨ ugg´esre, hanem egy ´altal´anosabb k´erd´est tenne fel, p´eld´aul azt, hogy mi-
´ 1. FEJEZET. BEVEZETES
14
1.4. ´abra. Egy jellegzetes adatb´any´aszati feladat : DNS-szekvenci´ak elemz´ese
lyen ¨osszef¨ ugg´es van a tulajdons´agok ´es szekvenci´ak k¨oz¨ott, melyik tulajdons´ag´ert melyik szekvencia felel˝os? II. Egy m´asik p´elda az adatb´any´aszat ´es statisztika k¨oz¨otti k¨ ul¨onbs´egre az al´abbi: egy statisztikai elemz´es sor´an megvizsg´alhatjuk, hogy a n˝ok illetve f´erfiak h´any sz´azal´eka doh´anyzik, fogyaszt rendszeresen nagy mennyis´egben alkoholt, van-e szignifik´ans elt´er´es a k´et csoport k¨oz¨ott. Egy adatb´any´aszati elemz´es sor´an itt is ´altal´anosabb k´erd´est tenn´enk fel, p´eld´aul azt, hogy milyen jellegzetes csoportok vannak az alkoholfogyaszt´asra ´es doh´anyz´asra n´ezve? Teh´at azt nem mondjuk meg el˝ore, hogy az egyik csoportba a n˝ok, a m´asikba pedig a f´erfiak tartoznak. Az adatb´any´asz feladata, hogy u ´ gy csoportos´ıtsa az embereket (rekordokat), hogy a hasonl´ok egy csoportba, a k¨ ul¨onb¨oz˝ok pedig k¨ ul¨onb¨oz˝o csoportba ker¨ uljenek. (Ez egy klaszterez´esi feladat.) Az adatb´any´aszatban az ilyen feladatokat nem hosszas emberi munka ´es intu´ıci´o ´ar´an oldjuk meg, hanem t¨oreksz¨ unk a min´el nagyobb fok´ u automatiz´al´asra kifinomult szoftverek alkalmaz´as´aval. Eredm´enyk´ent k¨onnyen lehet, hogy nem a nemek szerinti csoportos´ıt´ast kapjuk, hanem egy olyat, melyben ugyanazon csoportokba f´erfiak ´es n˝ok is ker¨ ultek, akik — egy´eb tulajdons´agaik alapj´an — hasonl´oak.4 III. Az el˝obbi p´eld´aban term´eszetesen m´as ir´anyba is ´altal´anos´ıthatjuk” a statisztikai elemz´es ” sor´an feltett k´erd´es¨ unket : lehet, hogy arra vagyunk k´ıv´ancsiak, hogy mi a k¨ ul¨onbs´eg a f´erfiak ´es a n˝ok k¨oz¨ott. Ismerj¨ uk teh´at a k´et csoportot, de nem tudjuk, hogy mely tulajdons´agok vagy tulajdons´agkombin´aci´ok jellemz˝oek egy-egy csoportra. Ekkor egy 4
Ahhoz, hogy egy ilyen elemz´es sikeres legyen, nagyon fontos a hasonl´ os´agi m´ert´ek megfelel˝o megv´ alaszt´asa, valamint az elemz´esbe bevont attrib´ utumok (adatt´ abla-oszlopok) u ¨ gyes” kiv´ alaszt´asa. Ha p´eld´ aul az alkohol” fogyaszt´asra ´es doh´anyz´ asra vonatkoz´o adatok mellett t´ ul sok” tov´abbi attrib´ utumot vonunk be a vizsg´alatba, ” akkor lehet, hogy a csoportos´ıt´ as nem az alkoholfogyaszt´asra ´es doh´anyz´ asra vonatkoz´o jellegzetes csoportokat tartalmazza, hanem ´ altal´ anos” csoportokat kapunk. ”
´ 1. FEJEZET. BEVEZETES
15
1.5. ´abra. D¨ont´esi fa : n˝ok ´es f´erfiak k¨oz¨otti k¨ ul¨onbs´egek a Semmelweis Egyetem hallgat´oinak k¨or´eben v´egzett felm´er´es alapj´an. oszt´alyoz´asi feladattal ´allunk szemben, a csoportokat oszt´alyoknak nevezz¨ uk. Ezt a k´erd´est egy´ebk´ent fel is tett¨ uk a Semmelweis Egyetem hallgat´oinak k¨or´eben v´egzett egyik felm´er´es adatb´azis´an. Az eredm´eny az 1.5. ´abr´an l´athat´o. Ez egy d¨ont´esi fa. A levelek az oszt´alyoknak (n˝ok illetve f´erfiak) felelnek meg. A fa k¨ozb¨ uls˝o csom´opontjaiban egy-egy attrib´ utum (adatt´ablabeli oszlop) neve l´athat´o. A fa egy csom´opontj´ab´ol kiindul´o ´agak az adott csom´oponthoz tartoz´o attrib´ utum egy-egy lehets´eges ´ert´ek´enek felelnek meg. Egy d¨ont´esi fa azt mutatja meg, hogy ha nem ismern´enk, hogy egy rekord melyik oszt´alyba tartozik, akkor hogyan d¨onthetn´enk ezt el. P´eld´aul a fogamz´asg´atl´ot szed˝o hallgat´ok n˝ok (pontosabban: azon rekordok, amelyek FOGAMZASGA attrib´ utuma 1” ´ert´ek˝ u, a n˝oi ” hallgat´ok oszt´aly´aba tartoznak).5
1.4. Sikeres alkalmaz´ asok Az adat b´any´aszata” eredetileg statisztikusok ´altal haszn´alt kifejez´es, az adatok nem ” kell˝ok´eppen megalapozott felhaszn´al´as´ara, amely sor´an valaki helytelen k¨ovetkeztet´est von le. Igaz ugyanis, hogy tetsz˝oleges adathalmazban felfedezhet¨ unk valamilyen strukt´ ur´at, ha el´eg sok´aig n´ezz¨ uk az adatot. Ism´et utalunk a lehets´eges k¨ovetkeztet´esek nagy sz´am´ab´ol ered˝o vesz´elyre. A helytelen k¨ovetkeztet´esre az egyik legh´ıresebb p´elda az al´abbi: Az 50-es ´evekben 5
A d¨ ont´esi fa ´ep´ıt´esekor ´ altal´ aban nem k¨ovetelm´eny, hogy egy lev´elbeli ¨osszes rekord ugyanazon oszt´alyba tartozzon, el´eg, ha nagy r´esz¨ uk” azonos oszt´alyba tartozik. Ebben a konkr´et p´eld´ aban az ¨osszes fogamz´ asg´ atl´ ot ” szed˝o hallgat´o n˝ o volt.
´ 1. FEJEZET. BEVEZETES
16
David Rhine parapszichol´ogus di´akokat vizsg´alt meg azzal a c´ellal, hogy parapszichol´ogiai k´epess´eggel rendelkez˝oket tal´aljon. Minden egyes di´aknak 10 lefedett k´artya sz´ın´et kellett megtippelne (piros vagy fekete). A k´ıs´erlet eredm´enyek´ent bejelentette, hogy a di´akok 0,1%-a parapszichol´ogiai k´epess´eggel rendelkezik (a teljesen v´eletlenszer˝ uen tippel˝ok k¨oz¨ott a helyesen tippel˝ok v´arhat´o sz´ama statisztikailag nagyj´ab´ol ennyi, hiszen annak val´osz´ın˝ us´ege, hogy vala1 ). Ezekkel a di´akokkal u ´ jra elv´egezte a k´ıs´erletet, ´am ki mind a t´ız k´arty´at eltal´alja 2110 = 1024 ez´ uttal a di´akok eredm´enye teljesen ´atlagos volt. Rhine k¨ovetkeztet´ese szerint az, aki parapszichol´ogiai k´epess´eggel rendelkezik ´es err˝ol nem tud, elveszti eme k´epess´eg´et, miut´an tudom´ast szerez r´ola. A fenti p´elda ellen´ere m´ara az adatb´any´aszat sz´o elvesztette jelent´es´enek negat´ıv tartalm´at, a sz´amos sikeres alkalmaz´asnak k¨osz¨onhet˝oen. A teljess´eg ig´enye n´elk¨ ul felsorolunk bel˝ol¨ uk n´eh´anyat. – A bankok egyre gyakrabban alkalmaznak olyan automatikusan el˝o´all´ıtott d¨ont´esi f´akat, amelyek alapj´an egy program javaslatot tesz egy hitel meg´ıt´el´es´er˝ol. Ezt a k´erelmez˝ok szem´elyes, tov´abb´a el˝ozetes hitelfelv´eteli ´es t¨orleszt´esi adatai alapj´an teszi (oszt´alyoz´as) [132]. Tesztek p´eld´aul igazolt´ak, hogy a hitelb´ır´alat min˝os´ege javult az USA-ban, amikor a bankok ´att´ertek a k¨otelez˝oen alkalmazott, ´ır´asban r¨ogz´ıtett szab´alyok alkalmaz´as´ara [132]. Ezeket a szab´alyokat pedig az adatb´any´aszat seg´ıts´eg´evel ´all´ıtott´ak ¨ossze. – A v´as´arl´oi szok´asok felder´ıt´ese szupermarketekben, illetve nagy vev˝ok¨orrel rendelkez˝o ´aruh´azakban hasznos lehet az ´aruh´az term´ekt´erk´ep´enek kialak´ıt´as´an´al, akci´ok, elad´ashelyi rekl´amok (Point of Sales, Point of Purchase), le´araz´asok szervez´es´en´el. . . (asszoci´aci´os szab´alyok). – Az ember genot´ıpus´anak elemz´es´ehez a g´enek nagy sz´ama miatt szint´en adatb´any´aszati algoritmusok sz¨ uks´egesek. Az eddigi sikeres k´ıs´erletek c´elja olyan g´encsoportok felt´ar´asa volt, amelyek a cukorbetegs´eg bizonyos v´altozatai´ert felel˝osek. A teljes emberi g´enrendszer felt´ar´as´aval ez a ter¨ ulet egyre fontosabb lesz. – Az on-line ´aruh´azak a j¨ov˝oben egyre elfogadottabbak ´es elterjedtebbek lesznek. Mivel az on-line kereskedelemben nem haszn´alhat´oak a megszokott szem´elyes marketing eszk¨oz¨ok a forgalom (´es a profit) szem´elyre szabott v´as´arl´asi aj´anlatokkal n¨ovelhet˝o. Az aj´anlatokat az eddigi v´as´arl´asi adatok ´es a rendelkez´esre ´all´o demogr´afiai adatok elemz´ese alapj´an tehetj¨ uk meg (epiz´odkutat´as, asszoci´aci´os szab´alyok). – A csillag´aszatban az ´egitestek ´ori´asi sz´ama miatt a hagyom´anyos klaszterez˝o algoritmusok m´eg a mai sz´am´ıt´asi kapacit´asok mellett sem k´epesek racion´alis id˝on bel¨ ul k¨ ul¨onbs´eget tenni galaxisok, k¨ozeli csillagok ´es m´as ´egi objektumok k¨oz¨ott. Az u ´ jabb, kifinomultabb algoritmusok fut´asi ideje j´oval kevesebb, ami lehet˝ov´e teszi a klaszterez´est (klaszterez´es). – Utaz´as szervez´essel kapcsolatos mint´ak kinyer´es´evel hat´ekonyabban (´es ennek k¨ovetkezt´eben nagyobb nyeres´eggel) megszervezhet˝ok a nagy k¨olts´egfaktor´ u t´enyez˝ok, pl. sz´allodai szob´ak, rep¨ ul˝ojegyek le´araz´asa, vagy ´aremel´ese (epiz´odkutat´as, gyakori minta). – Kifinomult gy´art´asi folyamatok sor´an gyakran a be´all´ıt´asi param´eterek finomhangol´as´ara van sz¨ uks´eg. A k˝oolaj ´es a f¨oldg´az sz´etv´alaszt´asa az olajfinom´ıt´as sz¨ uks´eges el˝ofelt´etele, de az elv´alaszt´asi folyamat kontroll´al´asa nem k¨onny˝ u feladat. A British Petroleum
´ 1. FEJEZET. BEVEZETES
17
olajv´allalat a g´epi tanul´as technik´aj´at haszn´alta a param´eter-be´all´ıt´as szab´alyainak megalkot´as´ara. Most ez t´ız percet vesz ig´enybe, m´ıg kor´abban szak´ert˝ok t¨obb, mint egy napi munk´aj´at vette ig´enybe. – A Westinghouse c´eg nukle´aris t¨ uzel˝oanyag-cell´ak gy´art´asa sor´an u ¨ tk¨oz¨ott probl´em´akba, ´es szint´en a g´epi tanul´as seg´ıts´eg´evel hoztak l´etre folyamatkontroll´al´asi szab´alyokat. Ezzel 10 milli´o USD-t siker¨ ult megsp´orolniuk az 1984-es ´evben. A Tenessee ´allambeli R.R. Donelly nyomdaipari c´eg ugyanezt az ¨otletet alkalmazta a retograv´ ur nyomdag´epek ir´any´ıt´as´ara, ´ıgy cs¨okkentve a hib´as param´eter-be´all´ıt´asok k¨ovetkezt´eben keletkez˝o selejtes nyomatok sz´am´at ´evi 500-r´ol 30-ra. – A v´ırus¨ol˝o programok az ismert v´ırusokat lenyomataik alapj´an detekt´alj´ak, az ismeretleneket pedig t¨obbnyire valamilyen heurisztikus m´odon pr´ob´alj´ak kisz˝ urni. Oszt´alyoz´o algoritmusok felhaszn´al´as´aval az ismert v´ırusok tulajdons´agai alapj´an olyan modellt lehet fel´all´ıtani, ami j´ol le´ırja a v´ırusok tulajdons´agait [120, 121]. A modellt sikeresen alkalmazt´ak u ´ j ismeretlen v´ırusok kisz˝ ur´es´ere (oszt´alyoz´as). Tov´abbi esettanulm´anyokr´ol a 13.3.2 r´eszben olvashatunk. A fentiekben a sikeres alkalmaz´asokat ismertett¨ uk. A k¨ovetkez˝oben tov´abbi alkalmaz´asokat mutatunk be. C´elunk, hogy szeml´eltess¨ uk a diszcipl´ına kiterjedts´eg´et ´es aktu´alis ´all´as´at. – Az emberi mesters´eges megterm´ekeny´ıt´es sor´an petesejtek sokas´ag´at gy˝ ujtik ¨ossze a n˝oi petef´eszekb˝ol. Ezeket a partner, vagy donor sperm´aival megterm´ekeny´ıtve sz´amos embri´o fejl˝odik ki. K¨oz¨ ul¨ uk n´eh´anyat kiv´alasztanak, ´es az anyam´ehbe u ¨ ltetnek. A probl´em´at a legink´abb ´eletk´epes, legjobb t´ ul´el´esi es´elyekkel rendelkez˝o embri´ok kiv´alaszt´asa jelenti. A kiv´alaszt´as az embri´ok k¨or¨ ulbel¨ ul hatvan r¨ogz´ıtett jellegzetess´eg´en – a magzat morfol´ogi´aj´an, oocita-, t¨ usz˝osejt- ´es spermamint´akon – alapszik. A jellemz˝ok sz´amoss´aga elegend˝oen nagy ahhoz, hogy t´ ul bonyolult legyen az embriol´ogusoknak valamennyit p´arhuzamosan megbecs¨ ulni ´es ¨osszef¨ ugg´est tal´alni a m´ ultb´eli esetek kezdeti jellemz˝oi ´es azok kimenetele k¨oz¨ott, azaz, hogy az embri´ob´ol v´eg¨ ul ´eletk´epes csecsem˝o sz¨ uletett-e vagy sem. Egy angol kutat´asi projekt arra ir´anyul´o kutat´ast folytat, hogy hogyan lehet a kiv´alaszt´ast g´epi tanul´assal – az embri´ok r¨ogz´ıtett adatait tan´ıt´ohalmazk´ent haszn´alva – megval´os´ıtani. – Az u ´ j-z´elandi tejgazdas´agoknak minden ´evben kem´eny u ¨ zleti d¨ont´est kell meghozniuk: ki kell v´alasztani, hogy a szarvasmarha ´allom´any mely egyedeit tartj´ak meg, ´es melyeket ´ert´ekes´ıtik v´ag´ohidaknak. Tipikusan minden gazdas´ag ¨ot¨odik egyede ker¨ ul m´esz´arsz´ekre a fej´esi id´eny v´eg´en, ahogy az ´elelmez´esi tartal´ekok kiapadnak. A d¨ont´est az egyes p´eld´anyok teny´eszadatai ´es m´ ultb´eli tejtermel´ekenys´egi mutat´oja befoly´asolja. Tov´abbi kritikus faktorok az egyed kora (egy p´eld´any kb. 8 ´evesen ´eri el produkt´ıv korszak´anak v´eg´et), k´ort¨ort´enete, sz¨ ul´esi komplik´aci´ok, nemk´ıv´anatos jellemvon´asok (agresszivit´as, ker´ıt´es ´atugr´asa), illetve az, hogy a k¨ovetkez˝o szezonban vemhes-e. T¨obb milli´o szarvasmarha egyedenk´ent t¨obb mint 700 tulajdons´ag´at r¨ogz´ıtett´ek az ´evek sor´an. A kutat´ok azt vizsg´alj´ak, hogyan haszn´alhat´o fel a g´epi tanul´as annak meg´allap´ıt´as´ara, hogy a sikeres farmerek mely faktorokat veszik sz´am´ıt´asba a szelekt´al´asn´al. Ezzel nem a d¨ont´esi folyamat g´epes´ıt´ese a c´eljuk, hanem a sikerstrat´egia kitanul´asa, ´es annak k¨ozkinccs´e t´etele.
´ 1. FEJEZET. BEVEZETES
18
1.5. Szabv´ anyok Kezdetben sok adatb´any´aszati projektre jellemz˝o volt, hogy az adatb´any´aszok megkapt´ak az adatokat ´es n´emi inform´aci´ot az alkalmaz´asi ter¨ uletr˝ol ´es cser´ebe v´art´ak t˝ol¨ uk a kincset ´er˝o inform´aci´okat. A szoros egy¨ uttm˝ uk¨od´es hi´anya azonban csak olyan inform´aci´okhoz vezetett, amelyekkel az alkalmaz´asi ter¨ ulet embererei nem sok mindent tudtak kezdeni. Az adatb´any´aszat elterjed´es´evel (´es a min˝os´egbiztos´ıt´asi elv´ar´asokkal) fell´epett az ig´eny, hogy legyen egy szabv´any, egy u ´ tmutat´o az adatb´any´aszati projektek lebonyol´ıt´as´ar´ol. ´Igy sz¨ uletett meg a CRISP-DM (CRoss Industry Standard Process for Data Mining) [28], amely adatb´any´aszati eszk¨ozt˝ol ´es felhaszn´al´asi ter¨ ulett˝ol f¨ uggetlen¨ ul le´ırja, hogy mik´ent kellene kin´eznie egy adatb´any´aszati projektnek, illetve ismerteti a kulcsfontoss´ag´ u l´ep´eseket, ´es a potenci´alis vesz´elyeket. A CRISP-DM szerint a tud´askinyer´es az 1.6 ´abra szerinti m´odon j¨on l´etre.
1.6. ´abra. A tud´asfelt´ar´as folyamata a CRISP-DM szerint Az adatb´any´aszati folyamat szabv´anyos´ıt´asa mellett egyre nagyobb az ig´eny a folyamat egyes l´ep´eseiben felmer¨ ul˝o megold´asok, probl´em´ak, eszk¨oz¨ok szabv´anyos´ıt´as´ara. Ezek k¨oz¨ ul a legismertebbek: – az XML alap´ u PMML (Predictive Modeling Markup Language), amely az adatb´any´aszati eredm´enyek szabv´anyos le´ır´as´at szolg´alja, – a Microsoft analysis szerver adatb´any´aszati funkci´okkal kib˝ov´ıtett szabv´anya (OLE DB for data mining),
´ 1. FEJEZET. BEVEZETES
19
– az ISO t¨orekv´esei multim´edia ´es alkalmaz´as specifikus SQL t´ıpusok ´es a hozz´a tartoz´o elj´ar´asok defini´al´as´ara (SQL/MM) – java adatb´any´aszati API (JDMAPI)
1.6. Adatb´ any´ aszati rendszer architekt´ ur´ aja Egy adatb´any´aszati rendszernek kapcsolatban kell lennie az adatb´azissal, a felhaszn´al´oval ´es esetleg valami tud´asalap´ u rendszerrel. Ezek alapj´an egy tipikus adatb´any´aszati architekt´ ura az 1.7. ´abr´an l´athat´o.
grafikus felhasználói felület
minta kiértékelés
adatbányász motor
tudás bázis
Adatbázis vagy adattárház szerver adattisztítás adatintegráció
adatbázis
" szurés
adat− tárház
1.7. ´abra. Tipikus adatb´any´aszati rendszer architekt´ ur´aja Adatb´ azis, adatt´ arh´ az vagy m´ as inform´ aci´ o rakt´ ar : Itt tal´alhat´ok a t´enyleges adatok, ami lehet egy adatb´azis, vagy adatt´arh´az, ak´ar egy munkalap vagy b´armilyen t´arolt inform´aci´o. Az adattiszt´ıt´as ´es integr´aci´o k¨ozvetlen¨ ul az adatokon is elv´egezhet˝o. Adatb´ azis vagy adatt´ arh´ az szerver : A szerver felel˝os a felhaszn´al´o ´altal k´ert adat k´ezbes´ıt´es´e´ert. Tud´ as b´ azis : A ter¨ uletre jellemz˝o, valamilyen szinten formaliz´alhat´o tud´as tal´alhat´o itt. Fontos szerepe lehet ennek a keres´esi t´er sz˝ uk´ıt´es´en´el, a kinyert mint´ak ´erdekess´eg´enek meghat´aroz´as´an´al, k¨ ul¨onb¨oz˝o param´eterek ´es k¨ usz¨obsz´amok meghat´aroz´as´an´al. Adatb´ any´ asz motor : Az adatb´any´asz motorban futnak a k¨ ul¨onb¨oz˝o adatb´any´aszati algoritmusok.
´ 1. FEJEZET. BEVEZETES
20
Minta ki´ ert´ ekel˝ o modul : Ez a modul felel˝os a kinyert minta vagy ¨osszef¨ ugg´esek ki´ert´ekel´es´e´ert a ter¨ uletre jellemz˝o ´erdekess´egi mutat´ok alapj´an. Sokszor l´atni fogjuk, hogy min´el jobban egybe tudjuk ´ep´ıteni az adatb´any´aszatot a minta ki´ert´ekel´es´evel, ann´al hat´ekonyabb ´es gyorsabb lehet a tud´asfelt´ar´as. Grafikus felhaszn´ al´ oi fel¨ ulet : Itt zajlik a kommunik´aci´o a felhaszn´al´o ´es az adatb´any´aszati rendszer k¨oz¨ott. A felhaszn´al´o itt adhatja meg, hogy melyik adatb´azisban milyen jelleg˝ u ¨osszef¨ ugg´eseket keres ´es ezen a r´etegen kereszt¨ ul l´athatja a v´egeredm´enyt. Az ¨osszef¨ ugg´esek ´atl´athat´o, ´ertelmes t´alal´asa rendk´ıv¨ ul fontos, hiszen ennek hi´anya elriaszthatja a felhaszn´al´ot az adatb´any´aszatt´ol.
1.7. Adatb´ any´ aszat ´ es az etika Az internet sz´elesk¨or˝ u terjed´es´evel, ´es a modern technik´ak megjelen´es´evel a jogi szab´alyoz´as sokszor k´eptelen l´ep´est tartani. Ilyen ter¨ ulet az adatb´any´aszat is, mint felfut´o tudom´any´ag. B´ar a szem´elyes adatok v´edelm´er˝ol m´ar sz¨ ulettek jogszab´alyok, ezek nem minden esetben teljesk¨or˝ uek, illetve m´eg ´ıgy is sok etikai probl´em´at hagynak nyitva. Elmondhat´o, hogy a t¨orv´eny nagyr´eszt azt szab´alyozza, ami egyben etik´atlan is, ´ıgy ebben a r´eszben6 ´elj¨ unk azzal a felt´etelez´essel, hogy minden t¨orv´enyesen t¨ort´enik az adatb´any´aszati projekt sor´an. El˝osz¨or is sokak ´altal kifog´asolt ter¨ ulet az adatok begy˝ ujt´ese. A mai ember l´epten-nyomon inform´aci´okat sz´or sz´et mag´ar´ol: minden u ¨ zletben kamer´ak vannak elhelyezve, sz¨orf¨ol az interneten, b´arhol haszn´alhat hitelk´arty´at, t¨orzsv´as´arl´oi k´arty´at. Ezen tev´ekenys´egek sor´an rengeteg adatb´azisban hagy mag´ar´ol inform´aci´ot. A szem´elyes inform´aci´ok begy˝ ujt´es´en´el - a t¨orv´eny szerint - az ´erintetteket t´aj´ekoztatni kell arr´ol, hogy ki, milyen c´elb´ol fogja azt feldolgozni. Ezt a c´elt az adatb´any´aszatn´al nem lehet el˝ore azonos´ıtani, mert az elemz´es el˝ott nem tudjuk megmondani, hogy milyen inform´aci´okat fogunk kinyerni az adatb´azisb´ol, ´es n´eh´any esetben m´eg azt sem tudjuk garant´alni, hogy az eredm´eny egy´altal´an felhaszn´al´asra ker¨ ul. Ez is mutatja, hogy az adatok begy˝ ujt´es´ere u ´ j szab´alyoz´asokat kellene alkotni. Erre egy lehets´eges megold´as, ha az ´erintett azt d¨ontheti el, hogy – ´altal´anosan – adatb´any´aszati c´elra felhaszn´alhat´oak-e ´ az adatai. Erezhet˝ o azonban, hogy am´ıg az u ¨ gyf´el nincs tiszt´aban azzal, hogy az adatokb´ol mire tudnak egy´altal´an k¨ovetkeztetni, ´es mire tudj´ak ezt a k¨ovetkeztet´est felhaszn´alni, addig kev´esb´e fog ´elni azzal a lehet˝os´eg´evel, hogy letiltsa adatainak felhaszn´al´as´at vagy t´arol´as´at. Az pedig m´eg nyilv´anval´obb, hogy a c´egeknek nem ´all ´erdek¨ ukben ¨onk´ent megosztani ezeket az inform´aci´okat az u ¨ gyf´ellel, vagy ak´ar a versenyt´arsakkal [100]. Az oszt´alyoz´asi feladatok kapcs´an m´asfajta mor´alis probl´em´ak is fell´ephetnek: egyr´eszt mag´at a m´odszertant t´amadj´ak az ellenz˝oi, m´asr´eszt k¨onnyen felhaszn´alhat´o diszkrimin´aci´ora. Sokan azt a hozz´a´all´ast tartj´ak aggaszt´onak, hogy el˝ ozetes szem´elyes ismerets´eg n´elk¨ ul soroljanak be egy´eneket bizonyos csoportokba. P´eld´aul az amerikai ´allampolg´arok egy felm´er´es sor´an kifog´asolt´ak a hitelb´ır´alatban bevezetett automatikus d¨ont´eshoz´ast, mert u ´ gy ´erzik, ´ıgy kev´esb´e foglalkoznak vel¨ uk, szem´elytelenebb´e v´alt a rendszer, csak egy adathalmazk´ent tekintenek r´ajuk. A szem´elyes ismerets´eg n´elk¨ uli besorol´as sor´an fenn´all a vesz´elye, hogy rossz eredm´enyt ad a rendszer, f˝ok´ent, ha kev´es attrib´ utummal dolgozunk. Pr´ob´aljuk meg p´eld´aul az embereket gyerek-feln˝ott csoportokba besorolni a kor attrib´ utum ismerete n´elk¨ ul. A legk´ezenfekv˝obb megold´as a tests´ ulyuk ´es testmagass´aguk szerint oszt´alyozni ˝oket. Ez a m´odszer viszont sok esetben 6
Ezt a r´eszt Huczman Zsuzsanna ´ırta.
´ 1. FEJEZET. BEVEZETES
21
t´eves eredm´enyhez vezet. ´ ekeny adatokat A diszkrimin´aci´onak az asszoci´aci´os szab´alyok kinyer´ese adhat teret. Erz´ – mint p´eld´aul a vall´as, faji hovatartoz´as, szexu´alis ir´anyults´ag – tilos feldolgozni, egy egyszer˝ u adatb´any´aszati algoritmussal viszont nagyon k¨onnyen megoldhat´onak t˝ unik a v´as´arl´oi szok´asokb´ol a nemi hovatartoz´as, vagy ak´ar egy megfelel˝o k´erd˝o´ıv eset´eben a faji hovatartoz´as meg´allap´ıt´asa. Az, hogy ezek az adatok ne ker¨ uljenek felhaszn´al´asra, a projekt vezet˝oj´enek felel˝oss´ege. Az el˝obb eml´ıtettek k´enyesebb” ter¨ uletek, de bel´athatjuk, hogy m´ar az is diszk” rimin´aci´onak sz´am´ıt, ha egy bizonyos v´as´arl´oi csoportot el˝ony¨okh¨oz juttatunk egy olyannal szemben, amely sokkal kevesebb profitot ´ıg´er elemz´eseink alapj´an. A pozit´ıv diszkrimin´aci´ora j´o p´elda, amikor a telefonszolg´altat´ok aj´and´ekot aj´anlanak fel u ´ j el˝ofizet˝oik sz´am´ara [142]. Ugyanakkor Eur´op´aban az automatikus d¨ont´esi f´ak alkalmaz´asa a hitelb´ır´alatban pont a diszkrimin´aci´o kik¨ usz¨ob¨ol´ese a rendszerb˝ol, hiszen a jogszab´aly szerint a matematikai h´atter´et az u ¨ gyf´el k´er´es´ere fel kell fedni. (Ez az USA-ban” p´eld´aul nem k¨oteless´ege a banknak, ´ıgy ” lehet˝os´ege van diszkrimin´alni.) Tov´abbi etikailag megk´erd˝ojelezhet˝o, ´erdekes felvet´esek: – A k¨ ul¨onc pontok kezel´ese egy m´asik adatb´any´aszati ter¨ ulet, ahol felmer¨ ul, hogy jog´aban ´all-e b´arkinek meghat´arozni, hogy mi tekinthet˝o norm´alis viselked´esnek, illetve el˝oker¨ ulhet a kvantumelm´eletb˝ol ismert t´etel: miszerint a megfigyelt rendszer viselked´ese a megfigyel´es t´eny´et˝ol is megv´altozik. – Haz´ankban az adatb´any´aszatot – annak ´ara miatt – f˝ok´ent a marketing ter¨ ulet´en haszn´alj´ak fel: c´elzott rekl´amok k¨ uld´es´ere (direkt marketing) ; az akci´os term´ekek meghat´aroz´as´ara gyakran vett term´ekcsoportok alapj´an; u ´ j tarifacsomagok bevezet´es´ere. Felmer¨ ul a k´erd´es, hogy a szem´elyes adatokat, amiket elvileg az´ert t´arolnak pl. telefonszolg´altat´o eset´en, hogy sz´aml´azni tudjanak [131], etikus-e profitszerz´esre haszn´alni? – Ha egy adatot kivesznek egy adott adathalmazb´ol - az egy´en k´er´es´ere, - aminek m´erete pl. a v´as´arl´oi kosarakb´ol val´o adatb´any´aszat eset´en ak´ar 109 rekord is lehet, ett˝ol m´eg az elemz´es elv´egezhet˝o, ´es az egy´en ´erdekeit nem s´erti, de ˝o is r´eszese lesz a k¨ovetkezm´enyeknek, pl. direkt-marketing aj´anlatokat kaphat. V´eg¨ ul k´et p´elda az adatb´any´aszat etikai vonatkoz´asaira : Az emberi DNS ´altal hordozott inform´aci´o kinyer´ese tipikusan adatb´any´aszati feladat. Rendk´ıv¨ ul ´erz´ekeny adatr´ol A kr´onikus fert˝oz´esek del´ev´en sz´o, az adatb´azis, amivel eddig az adatb´any´aszok ”presszi´ot ´es skizofr´eni´at okozdolgoztak, nem egy konkr´et szem´ely DNS szekvenci´aj´at hatnak – ´all´ıtj´ak n´emet kutartalmazt´ak, hanem t¨obb r¨ovidebb szakaszb´ol ´all´o DNS- tat´ok.” Forr´as: http://hvg. l´ancokat. Nemr´egiben viszont egy kutat´o el˝o´allt a saj´at hu/egeszseg/20070512_ DNS-szekvenci´aj´anak kulcs´aval, vagyis felfedte, hogy mi van depresszio_skizofrenia.aspx belek´odolva. Eddig ez technikailag ´es t¨orv´enyesen nehezen volt megval´os´ıthat´o. Bel´athatjuk, hogy nem sok ´ertelme van vizsg´alni, hogy t¨obb t¨ored´ek DNS milyen inform´aci´ot hordoz, hiszen pont azon lenne a hangs´ uly, hogy l´etez˝o el˝ofordul´asokat ´es ¨osszef¨ ugg´eseket lehessen vizsg´alni [85]. A kutat´o ezzel a l´ep´es´evel nagyban hozz´aj´arult a DNS-szerkezet megismer´es´ehez, p´eld´aj´ab´ol l´athatjuk, hogy n´eha a privacy felad´asa kell egy-egy eredm´eny el´er´es´ehez. Adatb´any´aszati projektekben egy´ebk´ent is gyakori, hogy az adathalmaz, amin az elemz´est el kellene v´egezni, annyira titkos, vagy ´erz´ekeny adatokat tartalmaz, hogy a c´egek nem is adj´ak
´ 1. FEJEZET. BEVEZETES
22
ki a kez¨ ukb˝ol. Ilyenek pl. a t´avk¨ozl´esi v´allalatok vagy bankok adatai, amik a konkurencia sz´am´ara nagy ´ert´ekkel b´ırnak. Ezekben az esetekben megold´as lehet, hogy a c´eg maga gener´al a rendelkez´es´ere ´all´o adatokb´ol egy u ´ j adatb´azist, - amiknek nyilv´an bizonyos k¨ovetelm´enyeknek eleget kell tenni¨ uk - ´es ezt kapja meg a kutat´ocsoport elemz´esre. Itt a c´eg felel˝oss´ege, hogy ellen˝orizze, hogy az eredeti adathalmazban ugyanazok az o¨sszef¨ ugg´esek fenn´allnak-e, mint a vizsg´alt adathalmazban. A m´asik p´elda az adatb´any´aszat ´es az etika u ¨ tk¨oz´es´ere az a szinte m´ar ut´opisztikus projekt, amit a NASA ´es a Northwest Airlines ind´ıtott el: a Washington Times 2002 nyar´an sz´amolt be egy u ´ j inform´aci´o-technol´ogiai megval´os´ıt´asr´ol: a k´et szervezet” olyan alkalmaz´ast ” fejlesztett, ´es u ¨ zemeltet, amely k´epes el˝orejelezni, megj´osolni az utasok v´arhat´o viselked´es´et a rep¨ ul˝ot´eren, illetve a rep¨ ul˝on. A technol´ogia alapja egy k¨ ul¨onleges m˝ uszer ´es egy pszichol´ogusok seg´ıts´eg´evel k´esz´ıtett program ¨otv¨oz¨ott alkalmaz´asa nagy adatb´azisokon. A kapu k´epes ´erz´ekelni a rajta ´athalad´o szem´ely elektrom´agneses agyhull´amait, a sz´ıvritmus´at, a pislog´as´at ´es a testh˝om´ers´eklet´et : gyakorlatilag egy szuper hazugs´agvizsg´al´o” berendez´es. Ezeket az adato” kat analiz´alva ´es ¨osszevetve k¨ ul¨onb¨oz˝o adatb´azisokkal, mint p´eld´aul b˝ un¨ ugyi nyilv´antart´assal, a g´ep jelez, ha kock´azatot ´erz´ekel. Ilyenkor a biztons´agi ˝or¨ok m´eg m´erlegelhetnek, mint ahogy egy´ebk´ent is tenn´ek, ´ıgy a rendszert v´ed˝ok arra hivatkozhatnak, hogy csak d¨ont´est´amogat´ast ´ v´egeznek. Az is mellett¨ uk sz´ol, hogy az Egyes¨ ult Allamokban a rep¨ ul˝otereken a titkos megfigyel´es v´egz´ese nem t¨orv´enybe u ¨ tk¨oz˝o cselekedet. Az USA-ban a szem´elyes adatok v´edelm´ere kisebb hangs´ ulyt fektetnek a terrort´amad´asok ´ota. A lakoss´ag elfogadta azt a n´ezetet, hogy a biztons´aguk ´erdek´eben ´aldozz´ak fel a szem´elyes adataikat.
1.8. Az adatb´ any´ aszat felt´ etelei Tagadhatatlan, hogy a sikertelen adatb´any´aszati projektek sz´ama nagy, ´es az adatb´any´aszat nagyon sok esetben nem v´altotta be a hozz´a f˝ uz¨ott rem´enyeket. Ennek oka egyr´eszr˝ol az adatb´any´aszati szakemberhi´any (a j´o adatb´any´aszati szakember ritka, mint a feh´er holl´o), m´asr´eszr˝ol az, hogy alapvet˝o felt´etelek nem teljes¨ ultek a projektek sor´an. A sikeres adatb´any´aszati projekt egyik legfontosabb felt´etele az adatb´any´asz ´es a ter¨ ulet szak´ert˝oj´enek szoros egy¨ uttm˝ uk¨od´ese. A tov´abbi felt´etelek az al´abbiak: Nagy mennyis´ eg˝ u adat : A nagy mennyis´eg˝ u adat a kinyert szab´alyok statisztikai jelent˝os´eg´et n¨oveli. Min´el nagyobb az adatmennyis´eg, ann´al biztosabban tudjuk kiz´arni bizonyos ¨osszef¨ ugg´esek esetis´eg´et, azaz ann´al kisebb az es´elye, hogy a tal´alt ¨osszef¨ ugg´es csak a v´eletlen eredm´enye. Sajnos sok adatot sok´aig tart feldolgozni, s˝ot az algoritmusok egy jelent˝os r´esze ´erz´ekeny arra, hogy az adatb´azis elf´er-e a mem´ori´aban. Sok attrib´ utum : Ha az objektumokat le´ır´o attrib´ utumok sz´ama kicsi, akkor hagyom´anyos eszk¨oz¨okkel (grafikonok, egyszer˝ u t´abl´azatok, kis dimenzi´os, forgathat´o, sz´ınes ´abr´ak, stb.) is fel tudjuk t´arni a tud´ast. Kev´es attrib´ utum eset´en a kinyerhet˝o tud´as sem lehet t´ ul sokf´ele. Az adatb´any´aszat ereje akkor mutatkozik meg, amikor az attrib´ utumsz´am olyan nagy, hogy a hagyom´anyos m´odszereknek nincs es´ely¨ uk. Tiszta adat : Az adatok j´o min˝os´ege az adatb´any´aszat egyik alapfelt´etele. A zajok, a hib´as bejegyz´esek j´o esetben csak nehez´ıtik az adatb´any´aszatot (p´eld´aul amikor ismerj¨ uk az adatokban tal´alhat´o zaj, ill. bizonytalans´ag fok´at), rosszabb esetben azonban hamis
´ 1. FEJEZET. BEVEZETES
23
eredm´enyekhez vezetnek. Az ilyen rossz min˝os´eg˝ u adatokra remek p´elda haz´ank orvosi adatb´azisa (rengeteg hib´as bejegyz´es, kit¨oltetlen mez˝o, elt´er˝o m´ert´ekegys´eg alap´ u bejegyz´esek, sz¨oveges bejegyz´esek), pedig az ezekb˝ol kinyert inform´aci´ok ´ert´ekesek lenn´enek. A ”szem´ethalmazban” val´o kutakod´ast tr´ef´asan GIGO-nak (garbage in, garbage out7 ) nevezik. Torz´ıtatlan adat : Az adatb´any´aszat sikeress´ege m´ ulhat az adatok nem megfelel˝o kiv´alaszt´as´an. Ide tartoz´o fogalom az u ´ n. BIBO (bias in, bias out8 ), amely arra h´ıvja fel a figyelm¨ unket, hogy ha egy r´eszsokas´ag alapj´an akarunk k¨ovetkeztetni az alapsokas´agra, akkor figyelembe kell venn¨ unk a r´eszsokas´ag kiv´alaszt´as´anak szempontjait, illetve az abb´ol ad´od´o (esetleges) torz´ıt´asokat. P´eld´aul, ha a lakoss´agot az anyagi helyzet szerint akarjuk csoportokba sorolni, de csak nyugat-magyarorsz´agi adatok ´allnak rendelkez´es¨ unkre, akkor tudnunk kell, hogy a kapott eredm´eny (a csoportok le´ır´asa) torz lesz, hiszen a r´eszsokas´ag ´atlag ´eletsz´ınvonala jobb az alapsokas´ag´en´al. Alkalmaz´ asi ter¨ ulet akci´ ok´ epess´ ege : Gyakran el˝ofordul, hogy a tud´ast csak kinyerik, de a felhaszn´al´asa elmarad. Gyakran a felhaszn´al´asi ter¨ uletek t´ ul merevek, vagy a v´altoztat´as t´ uls´agosan magas k¨olts´egekkel j´arna. A legt¨obb adatb´any´aszati esettanulm´anyban a tud´as kinyer´es´enek m´odj´ar´ol esik sz´o, a tud´as felhaszn´al´as´ar´ol pedig ritk´an hallunk. A befektet´ es megt´ er¨ ul´ es´ enek (Return On Investment) m´ erhet˝ os´ ege : Egy adatb´any´aszati projektr˝ol akkor ´all´ıthatjuk biztosan, hogy sikeres, ha a befektet´es hat´as´at m´erni, vagy viszonylag pontosan becs¨ ulni tudjuk. A jegyzet fejezeteiben a legkev´esb´e ismert, de napjainkban egyre nagyobb teret nyer˝o ter¨ uleteket j´arjuk k¨or¨ ul: a gyakori mint´ak kinyer´es´et, az attrib´ utumok k¨oz¨otti ¨osszef¨ ugg´esek meghat´aroz´as´at, a sorozatelemz´est, a klaszterez´est ´es a webes adatb´any´aszatot. Minden esetben az algoritmusok gyakorlati felhaszn´al´as´at p´eld´akon kereszt¨ ul szeml´eltetj¨ uk; emellett megadjuk a probl´em´ak form´alis defin´ıci´oit, ´es bemutatjuk a legismertebb, leghat´ekonyabb algoritmusokat is. A jegyzet tov´abbi c´elja, hogy ¨osszefoglalja az eddig nem, vagy csak kis hat´ekonys´aggal megoldott probl´em´akat, tov´abb´a a jelenlegi kutat´asi ter¨ uleteket.
7 8
szem´et be, szem´et ki torz´ıt´as be, torz´ıt´ as ki
2. fejezet Alapfogalmak, jel¨ ol´ esek Ebben a r´eszben tiszt´azzuk a jegyzet sor´an haszn´alt fogalmak jelent´es´et. C´elszer˝ u akkor ´atn´ezn¨ unk e fejezet egyes r´eszeit, amikor az olvas´as sor´an olyan r´eszbe u ¨ tk¨oz¨ unk, ami nem teljesen tiszta.
2.1. Halmazok, rel´ aci´ ok, f¨ uggv´ enyek, sorozatok A halmaz k¨ ul¨onb¨oz˝o objektumok egy¨ uttese, amelyeket a halmaz elemeinek h´ıvunk. Ha x eleme a H halmaznak, akkor azt ´ıgy jel¨olj¨ uk: x ∈ H, a halmaz elemeinek sz´am´at (r¨ovidebben elemsz´am´at) pedig |H|-val. A jegyzetben a term´eszetes sz´amok halmaz´at ({0,1,. . . }) Nel jel¨olj¨ uk, a val´os sz´amok halmaz´at R-el, az eg´esz sz´amok halmaz´at Z-vel, az u ¨ res halmazt (egyetlen elemet sem tartalmaz´o halmaz) ∅-val. K´et halmaz akkor egyezik meg, ha ugyanazok az elemeik. X r´eszhalmaza Y -nak (X ⊆ Y ), ha X minden eleme Y -nak is eleme. Ha X ⊆ Y , de X 6= Y , akkor X val´odi r´eszhalmaza Y -nak. A val´odi jelz˝ot gyakran fogjuk haszn´alni, ´es a val´odi r´eszhalmaz anal´ogi´aj´ara azt ´ertj¨ uk rajta, hogy az egyenl˝os´eget kiz´arjuk. Sajnos a superset angol sz´onak nincsen ´altal´anosan elfogadott ford´ıt´asa, pedig sokszor szeretn´enk haszn´alni. Azt fogjuk mondani, hogy Y b˝ovebb X-n´el, ha (X ⊆ Y ). A halmazm˝ uveletek jel¨ol´ese ´es pontos jelent´es¨ uk: metszet : X ∩Y ={z :z ∈X ´es z ∈Y }, uni´o : X ∪Y ={z :z ∈X vagy z ∈Y }, k¨ ul¨onbs´eg : X \ Y = {z : z ∈ X ´es z 6∈ Y }. K´et halmaz (X, Y ) Descartes-szorzata (X ×Y ) az ¨osszes olyan rendezett p´arb´ol ´all´o halmaz, amelynek az els˝o komponense (tagja) X-ben, a m´asodik Y -ban van. Az X, Y halmazokon ´ertelmezett bin´aris rel´aci´o az X × Y r´eszhalmaza. Ha (x, y) eleme a φ rel´aci´onak, akkor azt ´ıgy is jel¨olhetj¨ uk: xφy. A rel´aci´o r´eszben rendez´es (vagy parci´alis rendez´es), ha reflex´ıv (x x), antiszimmetrikus (x y ´es y x felt´etelekb˝ol k¨ovetkezik, hogy x = y), tranzit´ıv (x y ´es y z felt´etelekb˝ol k¨ovetkezik, hogy x z). Ha az el˝oz˝o 3 felt´etelben az antiszimmetrikus helyett szimmetrikusat (xy-b˝ol k¨ovetkezik, hogy yx) mondunk, akkor ekvivalencia-rel´aci´ or´ ol besz´el¨ unk. A tov´abbiakban, tetsz˝oleges rendez´es eset´en, ha x6= y ´es xy, akkor azt ´ıgy jel¨olj¨ uk x ≺ y. Legyen X r´eszhalmaza X 0 . A X 0 halmaznak y ∈ X egy als´o korl´atja, ha y x minden x ∈ X 0 -re. Az y legnagyobb als´o korl´at, ha minden y 0 als´o korl´atra y 0 y. Az y maxim´alis als´ o 0 0 0 korl´atja X -nak, ha nem l´etezik olyan y-t´ol k¨ ul¨onb¨oz˝o y als´o korl´at, amire y y . Hasonl´oan ´ertelmezhet˝o a fels˝o, legkisebb fels˝o, minim´alis fels˝o korl´at fogalmak is. A ≺ rendez´es teljes rendez´es, ha minden x 6= y elemre x ≺ y, y ≺ x k¨oz¨ ul az egyik fenn´all. Az (X, ) p´arost h´al´ onak nevezz¨ uk, ha az X-en ´ertelmezett parci´alis rendez´es, ´es tetsz˝oleges x, y ∈ X elemeknek l´etezik 24
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
25
legnagyobb als´o (jel¨ol´esben: x ∧ y) ´es legkisebb fels˝o korl´atjuk (x ∨ y). K¨ozponti fogalom lesz a lexikografikus rendez´es. N´ezz¨ uk el˝osz¨or ennek a matematikai defin´ıci´oj´at. Legyen X ´es Y k´et halmaz, amelyeken ´ertelmezve van egy-egy parci´alis rendez´es (≺ X , ≺ Y ). Azt mondjuk, hogy a (x1 , y1) ∈ X × Y lexikografikusan megel˝ozi (x2 , y2) ∈ X × × Y p´art, ha x1 ≺ X x2 , vagy x1 = x2 ´es y1 ≺ Y y2 . A lexikografikus rendez´est tetsz˝oleges sz´am´ u halmaz Descartes-szorzat´ara is kiterjeszthetj¨ uk rekurz´ıv m´odon az al´abbiak alapj´an: X × Y × ×Z = X ×(Y ×Z). L´athat´o, hogy a lexikografikus rendez´est Descartes szorzatokon ´ertelmezz¨ uk, vagy m´as sz´oval olyan ¨osszetett strukt´ ur´akon, amelyeknek ugyanannyi tagjuk van (n-eseknek is h´ıvj´ak ezeket). Mi ezt szeretn´enk ´altal´anos´ıtani, hiszen p´eld´aul szavak sorba rendez´es´en´el is el˝ofordulnak elt´er˝o hossz´ us´ag´ u szavak. Ha a r¨ovidebb sz´o megegyezik a hosszabb sz´o els˝o fel´evel (p´eld´aul komp ´es kompenz´al szavak), akkor megegyez´es alapj´an a r¨ovidebb sz´o el˝ozi meg lexikografikusan a hosszabbikat. Ezek alapj´an mindenki tudja defini´alni a lexikografikus rendez´est elt´er˝o sz´am´ u halmazok Descartes szorzat´ara. A legt¨obb esetben a Descartes szorzat tagjainak halmaza ´es a rajtuk defini´alt rendez´esek megegyeznek (pl.: X = Y ´es ≺ X =≺ Y ). Ilyenre, adott rendez´es szerinti lexikografikus rendez´esk´ent hivatkozunk. Az X, Y halmazokon ´ertelmezett f bin´aris rel´aci´o f¨ uggv´eny, ha b´armely x ∈ X eset´en pontosan egy olyan y ∈ Y l´etezik, hogy (x, y) ∈ f . Ez jel¨ol´esben f : X → Y , ´es, ha (x, y) ∈ f , akkor y = f (x). Az X halmazt a f ´ertelmez´esi tartom´any´anak h´ıvjuk (vagy m´ashogy: f az X-en ´ertelmezett), Y -t az f k´ephalmaz´anak, az f (X) halmazt pedig az f ´ert´ekk´eszlet´enek. Azt a f¨ uggv´enyt, amelyet u ´ gy kapunk, hogy el˝osz¨or a f , majd az g f¨ uggv´enyt alkalmazzuk g ◦ f -el jel¨olj¨ uk. Predik´atum egy f¨ uggv´eny, ha az ´ert´ekk´eszlete az {igaz, hamis} halmaz. Sz¨ urjekt´ıv egy f¨ uggv´eny, ha a k´ephalmaza megegyezik az ´ert´ekk´eszlet´evel, injekt´ıv (vagy m´as n´even egy-egy ´ertelm˝ u lek´epz´es), ha az ´ertelmez´esi tartom´any b´armely k´et k¨ ul¨onb¨oz˝o elem´ehez k¨ ul¨onb¨oz˝o ´ert´eket rendel ´es bijekt´ıv (m´ask´eppen a f¨ uggv´eny egy bijekci´o ), ha sz¨ urjekt´ıv ´es injekt´ıv is egyben. n z }| { Legyen H tetsz˝oleges halmaz. Az f : H × · · · × H → H f¨ uggv´enyt n v´altoz´os m˝ uveletnek nevezz¨ uk. A H halmazon ´ertelmezett k´etv´altoz´os ? m˝ uveletet asszociat´ıvnak nevezz¨ uk, ha tetsz˝oleges a, b, c ∈ H eset´en (a ? b) ? c = a ? (b ? c). A (H, ?) p´art f´elcsoportnak nevezz¨ uk, ha ? a H-n ´ertelmezett asszociat´ıv m˝ uvelet. A (H, ?) f´elcsoport elemein a H elemeit ´ertj¨ uk. Ha a (H, ?) f´elcsoport elemei k¨oz¨ott l´etezik olyan e elem, amelyre e ? a = a ? e = a minden a ∈ ∈ H elemre, akkor e-t egys´egelemnek h´ıvjuk ´es egys´egelemes f´elcsoport´ol besz´el¨ unk. Ha egy egys´egelemes f´elcsoportban minden elemnek l´etezik inverze, akkor csoportr´ol besz´el¨ unk. Az a −1 −1 −1 ´ inverz´ere (a ) teljes¨ ulj¨on, hogy a ? a = a ? a = e. A csoport Abel-csoport, ha a ? m˝ uvelet ´ kommutat´ıv (a ? b = b ? a) is. A (H, ?, +) h´armas egy gy˝ ur˝ u, amennyiben (H, ?) Abel csoport, (H, +) f´elcsoport ´es a ?, + m˝ uveletek disztribut´ıvek egym´asra n´ezve, azaz (a+b)?c = a?c+b?c. A ? ´es a + m˝ uveletek egys´egelemeit az 1 ´es a 0 szimb´olumok jel¨olik. Testnek h´ıvjuk az olyan kommutat´ıv gy˝ ur˝ ut, ahol az 1 6= 0 ´es a 0-´an k´ıv¨ ul a H minden elem´enek van inverze. A H halmaz felett ´ertelmezett multihalmaznak vagy zs´aknak nevezz¨ uk azt a halmazt, amelynek elemei olyan p´arok, amelyek els˝o tagja H egy eleme, m´asodik tagja pedig egy pozit´ıv eg´esz sz´am. Egy multihalmazt szok´as u ´ gy ´abr´azolni mintha olyan halmaz lenne, amely egy elemet t¨obbsz¨or is tartalmazhat. Ilyenkor a p´ar els˝o tagj´at annyiszor ´ırjuk le, amennyi a p´ar m´asodik tagja. P´eld´aul a {(A,1), (C,3)}-at {A, C, C, C}-vel ´abr´azoljuk. A multihalmaz m´eret´en a p´arok m´asodik tagjainak ¨osszeg´et, elemsz´am´an pedig a p´arok sz´am´at ´ertj¨ uk. Sokat fogjuk haszn´alni a sorozat fogalm´at. Legyen S egy halmaz. Az f : N → S f¨ uggv´enyt az S felett ´ertelmezett sorozatnak h´ıvjuk. Le´ır´as´ara az f (0), f (1), . . . helyett a hs0 , s1 , . . .i
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
26
jel¨ol´est fogjuk haszn´alni. V´eges sorozatok eset´eben az f ´ertelmez´esi tartom´anya (´altal´aban az {1,2,. . . ,n}) v´eges halmaz. V´eges sorozat hossza az ´ertelmez´esi tartom´any´anak elemsz´ama. Az S = hs1 , s2 , . . . sn i, S 0 = hs01 , s02 , . . . s0n0 i sorozat konkaten´aci´oj´an az hs1 , s2 , . . . sn , s01 , s02 , . . . s0n0 i sorozatot ´ertj¨ uk, ´es hS, S 0 i-el jel¨olj¨ uk.
2.2. Line´ aris algebra Legyen H egy test, amelynek elemeit skal´aroknak h´ıvjuk. A H felett ´ertelmezett vektort´er egy V halmaz (amelynek elemei a vektorok ) ´es k´et bin´aris oper´ator (vektor ¨osszead´as: + ´es skal´arral val´o szorz´as: ·), amelyekre teljes¨ ul n´eh´any axi´oma (1. u, v, w ∈ V -re u+(v +w) = (u+ +v)+w, 2. u+v =v+u, stb.). A W ⊆V halmazt alt´ernek nevezz¨ uk, ha z´art a vektor¨osszead´as ´es skal´arszorz´as m˝ uveletekre. Adott vektorhalmazt tartalmaz´o alterek metszet´et a vektorhalmaz altal fesz´ıtett alt´ernek nevezz¨ ´ uk. Ha a halmazb´ol nem t´avol´ıthatunk el elemet a fesz´ıtett alt´er megv´altoztat´asa n´elk¨ ul, akkor a vektorhalmazt line´arisan f¨ uggetlennek h´ıvjuk. A V alt´er egy b´ azisa egy olyan line´arisan f¨ uggetlen vektorhalmaz, amelynek fesz´ıtett altere V . A hagyom´anyoknak megfelel˝oen az A i-edik sor´ab´ol k´epzett vektort Ai -vel jel¨olj¨ uk, pm´ Patrix T T 2 ||v||-vel a v vektor euklideszi norm´ a j´ a t ( v ) ´ e s v w-vel a v , w vektorok skal´ a ris szorzat´ at i i P T ( i vi wi ).
2.3. Gr´ afelm´ elet Ir´any´ıtott gr´af egy G = (V, E) p´ar, ahol V cs´ ucsok (vagy pontok ) v´eges halmaza, E pedig egy bin´aris rel´aci´o V -n. E elemeit ´eleknek nevezz¨ uk. Ha (u, v) ∈ E, akkor az u, v cs´ ucsok egym´as szomsz´edai. Ir´any´ıtatlan gr´afr´ol besz´el¨ unk, ha az E rel´aci´o szimmetrikus. A c´ımk´ezett (vagy s´ ulyozott) gr´afn´al a cs´ ucsokhoz, c´ımk´ezett ´el˝ u (vagy ´els´ ulyozott) gr´afn´al pedig az ´elekhez rendel¨ unk c´ımk´eket. A c´ımk´ezett ´el˝ u gr´afot s´ ulyozott gr´afnak h´ıvjuk, ha a c´ımk´ek sz´amokkal kifejezhet˝o s´ ulyokat jelentenek. A gr´af m´eret´en (|G|) a cs´ ucsok sz´am´at ´ertj¨ uk. Egy cs´ ucs fok´ an a cs´ ucsot tartalmaz´o ´eleket ´ertj¨ uk. Ir´any´ıtott gr´afokn´al megk¨ ul¨onb¨oztet¨ unk kifokot ´es befokot. A G ir´any´ıtatlan gr´af k-regul´aris, ha minden cs´ ucs foka pontosan k. A G0 = (V 0 , E 0 ) gr´af a G = (V, E) r´eszgr´afja, ha V 0 ⊆ V ´es E 0 ⊆ E. A G = (V, E) gr´af V 0 ⊆ V ´altal fesz´ıtett r´eszgr´afja (induced subgraph) az a G0 = (V 0 , E 0 ) gr´af, ahol E 0 = {(u, v) ∈ ∈ E : u, v ∈ V 0 }. A G1 (V1 , E1 ) izomorf a G2 (V2 , E2 ) gr´affal, jel¨ol´esben G1 ∼ = G2 , ha l´etezik φ : V1 → V2 bijekci´o, amelyre (u, v) ∈ E1 eset´en (φ(u), φ(v)) ∈ E2 is fenn´all. C´ımk´ezett gr´afokn´al emellett megk¨ovetelj¨ uk, hogy az u cs´ ucs c´ımk´eje megegyezz´ek a φ(u) c´ımk´ej´evel minden u ∈ V1 re, c´ımk´ezett ´el˝ u gr´afn´al pedig az (u, v) c´ımk´eje egyezzen meg a (φ(u), φ(v)) ´el c´ımk´ej´evel. Ha G∼ unk. = G, akkor automorfizmusr´ol besz´el¨ A gr´afok ´abr´azol´as´anak elterjedt m´odja a szomsz´edoss´agi m´atrix (adjacency matrix) ´es a szomsz´edoss´ag lista. Az |G| × |G| m´eret˝ u A szomsz´edoss´agi m´atrix aij eleme 1 (´elc´ımk´ezett esetben az ´el c´ımk´eje), ha a G gr´af i-edik cs´ ucs´ab´ol indul ´el a j-edik cs´ ucsba, k¨ ul¨onben 0. Term´eszetesen a szomsz´edoss´agi m´atrixot a gr´afon k´ıv¨ ul az hat´arozza meg, hogy melyik cs´ ucsot h´ıvjuk az els˝onek, m´asodiknak, ... A szomsz´edoss´agi m´atrixot teh´at a gr´af ´es az f : : V → {1, . . . , |V |} bijekci´o adja meg. Hurok´el n´elk¨ uli, c´ımk´ezett gr´afban a szomsz´edoss´agi m´atrix aii eleme az i cs´ ucs c´ımk´ej´et t´arolja. A szomsz´edoss´agi lista |G| darab lista, ahol az i-edik lista t´arolja az i-edik cs´ ucs szomsz´edait.
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
27
Az u cs´ ucsot az u0 cs´ uccsal ¨osszek¨ot˝o k-hossz´ u u ´ton cs´ ucsoknak egy olyan (v´eges) 0 hv0 , v1 , . . . , vk i sorozat´at ´ertj¨ uk, amelyre u = v0 , u = vk , ´es (vi−1 , vi ) ∈ E (i = 1,2, . . . , k). Egy u ´ t egyszer˝ u, ha a benne szerepl˝o cs´ ucsok p´aronk´ent k¨ ul¨onb¨oz˝ok. A hv0 , v1 , . . . , vk i u ´ t k¨or, ha v0 = vk , ´es az u ´ t legal´abb egy ´elt tartalmaz. Egy gr´afot ¨osszef¨ ugg˝onek h´ıvunk, ha b´armely k´et cs´ ucsa ¨osszek¨othet˝o u ´ ttal. A k¨ormenetes, ir´any´ıt´as n´elk¨ uli gr´afot erd˝onek h´ıvjuk. Ha az erd˝o ¨osszef¨ ugg˝o, akkor pedig f´anak. Az olyan f´at, amely tartalmazza egy G gr´af minden cs´ ucs´at, a G fesz´ıt˝of´aj´anak h´ıvjuk. A gy¨okeres f´aban az egyik cs´ ucsnak kit¨ untetett szerepe van. Ezt a cs´ ucsot gy¨ok´ernek nevezz¨ uk. A gy¨ok´erb˝ol egy tetsz˝oleges x cs´ ucsba vezet˝o (egy´ertelm˝ uen meghat´arozott) u ´ t ´altal tartalmazott b´armely y cs´ ucsot az x ˝os´enek nevez¨ unk. Azt is mondjuk ekkor, hogy x az y lesz´armazottja. Ha x 6= y, akkor val´odi ˝osr˝ol ´es val´odi lesz´armazottr´ol besz´el¨ unk. Ha az u ´ ton x 1 ´elen kereszt¨ ul ´erhet˝o el y-b´ol, akkor x az y gyereke ´es y az x sz¨ ul˝oje. Ha k´et cs´ ucsnak ugyanaz a sz¨ ul˝oje, akkor testv´ereknek mondjuk ˝oket. A G = (V, E) gr´af S, V \S v´ag´as´an a V halmaz k´etr´eszes part´ıci´oj´at ´ertj¨ uk. Az (u, v) ∈ E ´el keresztezi az S, V \S v´ag´ast, ha annak egyik v´egpontja S-ben a m´asik V \S-ben van. Egy v´ag´as s´ ulya – s´ ulyozott gr´afok eset´eben – megegyezik a v´ag´ast keresztez˝o ´elek ¨osszs´ uly´aval.
2.4. Matematika logika 2.4.1. ´It´ eletlogika 2.4.2. Els˝ orend˝ u logika
2.5. Val´ osz´ın˝ us´ egsz´ am´ıt´ as Felt´etelezz¨ uk, hogy az olvas´o tiszt´aban van a diszkr´et/folytonos val´osz´ın˝ us´egi v´altoz´ o, val´osz´ın˝ us´egi v´altoz´o eloszl´as´anak, s˝ ur˝ us´egf¨ uggv´eny´enek, eloszl´asf¨ uggv´eny´enek, a val´osz´ın˝ us´egi P v´altoz´o v´arhat´o ´ert´ek´enek (E[X] = µ = x · p(x)), annak fontos tulajdons´agait (E[aX + 2 + bY ] = aE[X] + bE[Y ], E[X] = E[E(X|Y )]) ´es sz´or´as´anak (D 2 [X] = σX = E[(X − µ)2 ]) vagy n ´altal´anosan az n-edik centr´alis momentumok fogalm´aval (D [X] = E[(X −µ)n ]), tov´abb´a ismeri k´et val´osz´ın˝ us´egi v´altoz´o k¨oz¨otti kovarianci´at (Cov(X, Y ) = E[(X −µ)(Y −ν)) ´es korrel´aci´ot ) ). A s˝ ur˝ us´egf¨ uggv´eny (vagy diszkr´et eloszl´as) maximumhely´et az eloszl´as (Corr(X, Y )= Cov(X,Y σX σY m´odusz´anak h´ıvjuk. Az F eloszl´asf¨ uggv´eny p-kvartilis´et az a K sz´am adja, amelyre F (K) < p ´es F (K + 0) ≥ p. Az 1/2-hez tartoz´o kvartilist medi´annak nevezz¨ uk.
2.5.1. Nevezetes eloszl´ asok A k¨ovetkez˝o nevezetes eloszl´asokkal fogunk tal´alkozni tanulm´anyaink sor´an. Binomi´ alis ´ es Poisson eloszl´ as Legyen (Ω, F, P) Kolmogorov-f´ele val´osz´ın˝ us´egi mez˝o, A ∈ F pozit´ıv val´osz´ın˝ us´eg˝ u esem´eny, p = P(A) > 0. Hajtsunk v´egre n-szeres f¨ uggetlen k´ıs´erletsorozatot ´es legyen X ´ert´eke annyi, ah´anyszor A bek¨ovetkezett a k´ıs´erletsorozatban. X-et ekkor n, p param´eter˝ u binomi´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´onak nevezz¨ uk, jele X ∈ B(n, p). X eloszl´asa pk = P (X = k) = = nk pk (1 − p)n−k , v´arhat´o ´ert´eke E(X) = np, sz´or´asa σ 2 (X) = np(1 − p).
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
28
k A Poisson-eloszl´as a binomi´alis eloszl´as hat´aresete. limn→∞,p→0,np=λ nk pk q n−k = λk! e−λ . A Moivre-Laplace t´etel szerint, az n-ed rend˝ u p param´eter˝ u binomi´alis eloszl´ as standardiz´ altja n P n k n−k minden hat´aron t´ ul val´o n¨ovel´ese eset´en norm´alis eloszl´as´ u : ∀x∈R:limn→∞ k−np = √ 0. A Hoeffding-korl´at a mintav´etelz´essel kapcsolatos ´all´ıt´asok alapja. 2.1. lemma. Legyen Xi , 1 ≤ i ≤ n µ v´arhat´ o ´ert´ek˝ u, f¨ uggetlen, azonos eloszl´as´ u val´ osz´ın˝ us´egi v´ altoz´ok ´es a ≤ Xi ≤ b minden i-re. Ekkor tetsz˝oleges λ > 0-ra fenn´all a k¨ovetkez˝o egyenl˝otlens´eg : h 1 X i 2 2 P Xi − µ ≥ λ ≤ 2e−2λ n/(b−a) . n i=1
2.5.3. Entr´ opia
Legyen X egy diszkr´et val´osz´ın˝ us´egi v´altoz´o, amely ´ert´ekeit egy X halmazb´ol veheti fel. Az lX = − log2 p(X) val´osz´ın˝ us´egi v´altoz´ot az X entr´opias˝ ur˝ us´eg´enek nevezz¨ uk. X entr´opi´aj´at – H(X)-et – ezen v´altoz´o v´arhat´o ´ert´ek´evel defini´aljuk: X H(X) = − p(x) log2 p(x). x∈X
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
29
Az entr´opia valamik´eppen a v´altoz´o bizonytalans´ag´at fejezi ki. Ha X elemsz´ama r¨ogz´ıtett ´es az X v´altoz´o csak egy ´ert´eket vehet fel (mert az egyik ´ert´ek val´osz´ın˝ us´ege 1), akkor H(X) ´ert´eke 0 (nincs bizonytalans´ag), ha pedig X eloszl´asa egyenletes eloszl´ast k¨ovet, akkor az entr´opia a maximum´at veszi fel, log2 (|X|)-t. Legyen X ´es Y k´et diszkr´et ´ert´ek˝ u val´osz´ın˝ us´egi v´altoz´o. Az X-nek az Y felt´etellel vett felt´eteles entr´opi´aja : XX H(X|Y ) = − p(x, y) log2 p(x|y), y∈Y x∈X
vagy egy kicsit ´atalak´ıtva kapjuk, hogy X X H(X|Y ) = − p(y) p(x|y) log2 p(x|y). y∈Y
x∈X
Be lehet bizony´ıtani, hogy H(X|Y )=H(XY )−H(Y ), ami inform´alisan u ´ gy lehet megfogalmazni, hogy a felt´eteles entr´opia megadja, hogy mennyi bizonytalans´ag marad X-ben, ha elvessz¨ uk az Y bizonytalans´ag´at. A felt´eteles entr´opia sz´amos tulajdons´aga k¨oz¨ ul mi csak az al´abbit fogjuk felhaszn´alni: 0 ≤ H(X|Y ) ≤ H(X).
2.6. Statisztika A statisztik´aban ´altal´aban X1 , X2 , . . . , Xn f¨ uggetlen, azonos eloszl´as´ u val´osz´ın˝ us´egi v´altoz´ok vannak megadva, amiket mint´aknak nevez¨ unk. Az eloszl´ast nem ismerj¨ uk pontosan, de rendelkez´es¨ unkre ´allnak megfigyel´esek. Legyenek X1 , X2 , . . . , Xn f¨ uggetlen, azonos eloszl´as´ u val´osz´ın˝ us´egi v´altoz´ok. Ekkor a X1 +X2 +···+Xn ¯ X = P n val´osz´ın˝ us´egi v´altoz´ot empirikus k¨oz´epnek, vagy minta´atlagnak, a s∗2 n = n 1 2 ¯ val´osz´ın˝ = n−1 i=1 (Xi − X) us´egi v´altoz´ot pedig korrig´alt empirikus sz´or´asn´egyzetnek nevezz¨ uk. ∗2 A χ2 eloszl´as defin´ıci´oj´ab´ol k¨ovetkezik, hogy az (n−1)s val´osz´ın˝ us´egi v´altoz´o eloszl´asa χ2n , 2 σ amennyiben a s∗2 σ sz´or´as´ u, norm´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´ok korrig´alt empirikus sz´or´asn´egyzet´et jel¨oli 2.2. defin´ıci´ o. Legyenek X ´es Y k´et olyan val´osz´ın˝ us´egi v´altoz´o, amelyek eloszl´asa rendre χ2n X/n 2 us´egi v´altoz´o eloszl´as´at Fn,m eloszl´asnak h´ıvjuk. ´es χm . Ekkor a Z = Y /m val´osz´ın˝
2.6.1. Hipot´ ezisvizsg´ alat A hipot´ezisvizsg´alat feladata mindig valamilyen ´all´ıt´as helyess´eg´enek vizsg´alata. Ezt az ´all´ıt´ast nullhipot´ezisnek nevezz¨ uk, jele H0 . A nullhipot´ezis ´altal´aban egy val´osz´ın˝ us´egi v´altoz´o valamely param´eter´ere vagy a v´altoz´o viselked´es´ere vonatkoz´o ´all´ıt´as. Az ´all´ıt´as igazol´as´ahoz vagy elvet´es´ehez k´ıs´erletezget´esek, mint´ak ´allnak rendelkez´es¨ unkre. Ha a mint´ak alapj´an a nullhipot´ezist elvetj¨ uk, holott az igaz, akkor els˝ofaj´ u hib´at k¨ovet¨ unk el. Ellenkez˝o esetben – amikor a nullhipot´ezis hamis, de mi elfogadjuk – m´asodfaj´ u hib´ar´ol besz´el¨ unk. Puszt´an mint´ak seg´ıts´eg´evel nem tudunk teljesen biztos v´alaszt adni. A gyakorlatban egy param´eterrel (α)
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
30
r¨ogz´ıtik az els˝ofaj´ u hiba elk¨ovet´es´enek megengedett val´osz´ın˝ us´eg´et. Az 1 − α ´ert´eket a pr´ oba szintj´enek h´ıvjuk. ¨ Osszefoglalva teh´at, adott egy ´all´ıt´as, egy param´eter (α) ´es mint´ak sorozata. Feladatunk, hogy a mint´ak alapj´an c´afoljuk vagy igazoljuk az ´all´ıt´ast u ´ gy, hogy bizony´ıthat´oan α-n´al kisebb legyen annak val´osz´ın˝ us´ege, hogy az ´all´ıt´as igaz, holott mi c´afoljuk. A hipot´ezisvizsg´alatn´al a mint´ak eredm´enyeit felhaszn´alva kisz´am´ıtunk egy u ´ n. pr´obastatisztika ´ert´eket, ´es ezt vetj¨ uk 1 ¨ossze egy ismert eloszl´assal. Az α-nak c´elszer˝ u kis (0.1 ´es 0.01 k¨oz¨otti) ´ert´eket v´alasztani .
2.6.2. A binomi´ alis pr´ oba 2.6.3. Az F -pr´ oba Az F -pr´oba arra szolg´al, hogy k´et f¨ uggetlen, norm´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´o (X, Y ) sz´or´as´anak egyenl˝os´eg´et eld¨onts¨ uk. H0 : σX = σY . (n −1)s∗2
(n −1)s∗2 Y
Tudjuk, hogy X σ2 X ´es Y σ2 X Y a nullhipot´ezis fenn´all, akkor az
χ2 eloszl´as´ uak (nX −1) illetve (nY −1) param´eterrel. Ha F=
s∗2 X s∗2 Y
pr´obastatisztika F -eloszl´as´ u (nX − 1, nY − 1) param´eterrel. Azonban F1 is F -eloszl´as´ u (nY − ∗ − 1, nX − 1) param´eterrel, ez´ert a gyakorlatban F = max{F,1/F } ≥ 1 statisztik´at szok´as haszn´alni.
2.6.4. A χ2 -pr´ oba A χ2 -pr´ob´ak az al´abbi t´etelt haszn´alj´ak fel. 2.3. t´ etel. Legyen A1 , A2 , . . . , Ar egy teljes esem´enyrendszer (r ≥ 3), legyen pi = P(Ai ) > 0, i = =1, . . . , r. Ism´etelj¨ uk a k´ıs´erletet n-szer egym´ast´ol f¨ uggetlen¨ ul. Jel¨olje Xi az Ai esem´eny bek¨ ovetkez´es´enek sz´am´at. Bel´athat´o, hogy ekkor a r X (Xj − npj )2 j=1
npj
val´osz´ın˝ us´egi v´altoz´o eloszl´asa n → ∞ eset´en χ2r−1 eloszl´ashoz konverg´al. A χ2 eloszl´as kvantiliseit f¨ uggv´eny-t´abl´azatokban megtal´alhatjuk. 2 A χ -pr´oba legfontosabb alkalmaz´asi ter¨ uletei az (1.) illeszked´es-, (2.) f¨ uggetlens´eg- ´es (3.)homogenit´asvizsg´alat. T´em´ankhoz a f¨ uggetlens´eg-vizsg´alat tartozik hozz´a, ´ıgy a tov´abbiakban ezt r´eszletezz¨ uk. A χ2 -pr´oba ir´ant ´erdekl˝od˝oknek a [65] magyar nyelv˝ u irodalmat aj´anljuk. 1
Gondolkozzunk el azon, hogy mi t¨ ort´enne, ha α-nak nagyon kis ´ert´eket v´alasztan´ ank!
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
31
2.6.5. F¨ uggetlens´ egvizsg´ alat Legyen A1 , A2 , . . . , Ar ´es B1 , B2 , . . . , Bs k´et teljes esem´enyrendszer. V´egezz¨ unk n k´ıs´erletet. Nullhipot´ezis¨ unk az, hogy az esem´enyrendszerek f¨ uggetlenek. H0 : P(Ai , Bj ) = P(Ai )P(Bj ),
i = 1, . . . , r
j = 1, . . . , s
Ha az esem´enyek val´osz´ın˝ us´egei adottak, akkor tiszta illeszked´es vizsg´alati feladatr´ol besz´el¨ unk, ahol H0 : P(Ai ∩ Bj ) = pi qj hiszen pi , qj ´ert´ekek adottak. Jel¨olje kij az Ai ∩Bj esem´eny bek¨ovetkez´es´enek sz´am´at. Ekkor ki kell sz´am´ıtanunk a r X s X (kij − npi qj )2 2 χ = npi qj i=1 j=1
u ´ n. pr´obastatisztika ´ert´eket. Jobban megvizsg´alva χ2 -et l´athatjuk, hogy az egy P (megfigyelt ´ert´ek - v´art ´ert´ek)2 jelleg˝ u kifejez´es. Amennyiben χ2 kicsi, akkor a megfiv´art ´ert´ek gyelt ´ert´ekek k¨ozel vannak azokhoz, amit H0 fenn´all´asa eset´en v´artunk, teh´at a nullhipot´ezist elfogadjuk. Hogy pontosan mit jelent az, hogy kicsi”, azt a 2.3-as t´etel alapj´an χ2rs−1 ´es az α pa” ram´eter hat´arozza meg. T´abl´azatb´ol keress¨ uk ki, hogy a χ2rs−1 eloszl´as hol veszi fel az 1 − α ´ert´eket. Amennyiben ez nagyobb a fent kisz´am´ıtott χ2 ´ert´ekn´el, akkor a nullhipot´ezist elfogadjuk, ellenkez˝o esetben elvetj¨ uk. A gyakorlatban sokkal t¨obbsz¨or fordul el˝o az az eset, amikor az esem´enyek val´osz´ın˝ us´egeit nem ismerj¨ uk. Ekkor a val´osz´ın˝ us´egeket az esem´enyekP relat´ıv gyakoris´ag´aval becs¨ ulj¨ uk meg. Jel¨olj¨ uk az Ai esem´eny gyakoris´ag´at ki. -vel, teh´at ki. = sj=1 kij ´es hasonl´oan Bj esem´eny gyakoris´ag´at k.j -vel. χ2 -pr´ob´ak sor´an az adatok szeml´eltet´es´enek gyakran haszn´alt eszk¨oze az u ´ n. kontingencia-t´abl´azat. Ez egy t¨obbdimenzi´os t´abl´azat, amely cell´aiban a megfelel˝o esem´eny bek¨ovetkez´es´enek sz´ama tal´alhat´o. Egy ilyen 2-dimenzi´os kontingencia-t´abl´azatot l´athatunk a k¨ovetkez˝o ´abr´an. P B1 B2 . . . Bs A1 A2 .. .
k11 k21 .. .
k12 k22 .. .
... ... .. .
k1s k2s .. .
k1. k2. .. .
Ar P
kr1 k.1
kr2 k.2
... ...
krs k.s
kr. n
Az Ai ∩ Bj megfigyelt ´ert´eke kij , v´art ´ert´eke H0 eset´en n · χ2 =
ki. k.j 2 ) n ki. k.j n
r X s (kij − X i=1 j=1
ki. k.j · . Ezek alapj´an χ2 ´ert´eke: n n
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
32
Mivel a f¨ uggetlens´eg fenn´all´asa eset´en r − 1 darab pi -t ´es s − 1 darab qj val´osz´ın˝ us´eget kell 2 2 megbecs¨ ulni, ´ıgy a fenti H0 fenn´all´asa eset´en χrs−1−(r+s−2) = χ(r−1)(s−1) eloszl´as´ u. 2 A χ eloszl´as k¨ozel´ıt´ese csak abban az esetben pontos, ha a kij ´ert´ekek nagyok. Persze nincs pontos szab´aly arra n´ezve, hogy mennyire kell nagynak lennie. Azt szokt´ak mondani, hogy a kontingencia t´abl´azat elemeinek 90%-a nagyobb legyen ¨otn´el.
2.6.6. Student t-pr´ oba
2.7. Algoritmus-elm´ elet Terjedelmi okok miatt csak felsorolni tudjuk azokat az algoritmusokat, amelyeket az olvas´onak ismernie kell. Ezek pedig : line´aris-, bin´aris keres´es, m´elys´egi, sz´eless´egi bej´ar´as, Kruskal algoritmusa minim´alis s´ uly´ u fesz´ıt˝ofa meghat´aroz´as´ahoz stb. Emellett felt´etelezz¨ uk, hogy az olvas´o tiszt´aban van az NP-teljess´eg (vagy ´altal´anosabban a bonyolults´ag) elm´elet´enek alapjaival.
2.8. Adatstrukt´ ur´ ak Felt´etelezz¨ uk, hogy az olvas´o tiszt´aban van a lista (vektor) ´es a t¨omb fogalm´aval. Az adatb´any´aszatban tov´abbi k¨ozkedvelt adatstrukt´ ur´ai az u ´ n. sz´ofa (trie), vagy m´as n´even prefixfa (prefix-tree), a piros-fekete fa, illetve a hash-t´abla.
2.8.1. Sz´ of´ ak A sz´of´at eredetileg sz´ot´ar szavainak t´arol´as´an´al alkalmazt´ak, annak ´erdek´eben, hogy gyorsan el lehessen d¨onteni, hogy egy adott sz´o szerepel-e a sz´ot´arban [33], [44]. A szavak az abc felett ´ertelmezett sorozatok, ´ıgy ´altal´anosan azt mondhatjuk, hogy egy sz´ofa egy adott v´eges elemhalmaz feletti sorozatok t´arol´as´ara ´es gyors visszakeres´es´ere alkalmas adatstrukt´ ura. A sz´ofa angol neve (trie, amit u ´ gy ejt¨ unk, mint a try sz´ot) a visszakeres´es angol ford´ıt´as´ab´ol sz´armazik (retrieval). A tov´abbiakban az alaphalmazt I-vel, az alaphalmaz felett ´ertelmezett, adott sorozatok halmaz´at sz´ot´arnak h´ıvjuk. A 2.1 ´abr´an egy sz´of´at l´athatunk, mely az C, F C, F B, CBP , F CAMP , F CABM sorozatokat t´arolja. A sz´ofa egy (lefel´e) ir´any´ıtott gy¨okeres c´ımk´ezett fa. Egy d-edik szint˝ u pontb´ol csak d+1-edik szint˝ u pontba mutathat ´el. N´eha a hat´ekonys´ag kedv´e´ert minden pontb´ol a pont sz¨ ul˝oj´ere is mutat ´el. A gy¨okeret 0. szint˝ unek tekintj¨ uk. A c´ımk´ek az I-nek egy-egy elemei. Minden pont egy elemsorozatot reprezent´al, amely a gy¨ok´erb˝ol ebbe a pontba vezet˝o ´eleken tal´alhat´o elemekb˝ol ´all. Akkor tartalmazza a sz´ofa az S sorozatot, ha van olyan pont, amely az S-t reprezent´alja. Ha egy sorozatot tartalmaz egy sz´ofa, akkor annak tetsz˝oleges prefix´et is tartalmazza. A prefix azonban nem biztos, hogy eleme a sz´ot´arnak. Ezt a probl´em´at k´etf´elek´eppen lehet kik¨ usz¨ob¨olni. Egyr´eszr˝ol megk¨ ul¨onb¨oztet¨ unk elfogad´o ´es nem elfogad´o pontokat. Egy sorozatot akkor tartalmazza a sz´ofa, ha van olyan elfogad´o ´allapot, amely a sorozatot reprezent´alja. M´asr´eszr˝ol bevezethet¨ unk egy speci´alis elemet, amit minden sorozat v´eg´ere illeszt¨ unk, tov´abb´a sorozatot csak lev´el reprezent´alhat. A sz´of´anak k´et implement´aci´oj´at k¨ ul¨onb¨oztetj¨ uk meg att´ol f¨ ugg˝oen, hogy milyen technik´at alkalmazunk az ´elek t´arol´as´ara. Az u ´ n. t´abl´azatos implement´aci´oban (tabular implementation)
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
33 0
F C
1
C 2
B
3
B 4
5 P
A M 8
6
7
B 9
P 10
M 11
2.1. ´abra. P´elda sz´of´ara [44] minden ponthoz egy r¨ogz´ıtett hossz´ us´ag´ u, mutat´okat tartalmaz´o vektort vesz¨ unk fel. Az i-edik mutat´o mutat az i-edik elemhez tartoz´o ´el v´egpontj´ara. Ha a pontnak nincs ilyen c´ımk´ej˝ u ´ele, akkor a mutat´o ´ert´eke NULL. A vektor hossza az I elemsz´am´aval egyezik meg. A l´ancolt list´as implement´aci´oban [33] az ´eleket egy l´ancolt list´aban t´aroljuk. A lista elemei ´elc´ımke, gyermekmutat´o p´arok. A l´ancolt lista k¨ovetkez˝o elem´ere mutat´o mutat´okat megsp´orolhatjuk, ha egy vektort alkalmazunk, aminek hossza megegyezik a pont ´eleinek sz´am´aval, ´es elemei szint´en c´ımke, mutat´o p´arok. Ez az´ert is j´o megold´as, mert egy l´ep´essel tudunk tetsz˝oleges index˝ u elemre l´epni (a c´ımke, mutat´o p´ar mem´oriasz¨ uks´eglet´enek ismeret´eben), ´es nem kell a mutat´okon kereszt¨ ul egyes´evel l´epegetn¨ unk. Sz´of´ak eset´eben a legfontosabb elemi m˝ uvelet annak eld¨ont´ese, hogy egy adott pontnak van-e adott c´ımk´ej˝ u ´ele, ´es ha van, akkor ez hova mutat. T´abl´azatos implement´aci´on´al ezt a feladatot egy l´ep´esben megoldhatjuk a megfelel˝o index˝ u elem megvizsg´al´as´aval. L´ancolt list´as, illetve v´altoz´o hossz´ us´ag´ u vektor eset´en a megold´as lassabb m˝ uvelet. A vektor minden p´arj´at ellen˝orizn¨ unk kell, hogy a p´ar c´ımk´eje megegyezik-e az adott c´ımk´evel. A hat´ekonys´agot n¨ovelhetj¨ uk, ha a p´arokat c´ımk´ek szerint rendezve t´aroljuk, ´es bin´aris keres´est v´egz¨ unk. ´ Erdemes ¨osszehasonl´ıtanunk a k´et vektoros implement´aci´oban a pontok mem´oriaig´eny´et. Amennyiben a mutat´ok, ´es a c´ımk´ek is 4 b´ajtot foglalnak, akkor a t´abl´azatos implement´aci´oban egy pont mem´oriaig´enye (a vektor fejl´ec mem´oriaig´eny´et˝ol eltekintve) |I|·4 b´ajt, a list´as implement´aci´o´e n· 2 · 4 b´ajt, ahol n az adott pontb´ol indul´o ´elek sz´ama, amire igaz, hogy 0 ≤ n ≤ |I|. Ha a sz´ofa pontjai olyanok, hogy kev´es ´el¨ uk van, akkor a list´as implement´aci´onak lesz kevesebb mem´ori´ara sz¨ uks´ege, sok ´eln´el azonban t´abl´azatos implement´aci´o a jobb megold´as. A k´et technik´at ¨otv¨ozhetj¨ uk ak´ar egy adott sz´of´an bel¨ ul is [123], [144]: ha a pont ´eleinek sz´ama meghalad egy korl´atot (´altal´aban I/2-t), akkor t´abl´azatos implement´aci´ot haszn´alunk, ellenkez˝o esetben maradunk a list´as megold´asn´al. Megeml´ıt¨ unk k´et sz´ofa lesz´armazottat. Ezek a nyesett sz´of´ak (pruned trie) ´es a PATRICIA f´ak. Mindk´et fa abban k¨ ul¨onb¨ozik az eredeti sz´of´at´ol, hogy kiiktatj´ak az olyan utakat a f´ab´ol, amelyekben nincsen el´agaz´as. A nyesett f´an´al ezt kiz´ar´olag lev´elhez vezet˝o utakkal teszik, PATRICIA f´akn´al ez a korl´atoz´as nem ´all fenn.
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
34
Patr´ıcia-f´ ak Egy ir´any´ıtott utat l´ancnak h´ıvunk, ha minden pontj´anak csak egy gyereke van. A Patr´ıciafa a sz´of´ab´ol sz´armaztathat´o u ´ gy, hogy a sz´ofa nem b˝ov´ıthet˝o l´ancait egy-egy ´ell´e vonjuk ¨ossze. Az u ´ j ´el a l´anc utols´o pontj´aba mutat, c´ımk´eje a l´anc ´eleinek c´ımk´eib˝ol ´all´o sorozat. Ha a l´anc¨osszevon´ast csak a lev´elben v´egz˝od˝o l´ancokra hajtjuk v´egre, akkor u ´ n Patr´ıcia* f´at kapunk. Ha a sz´ofa sok l´ancot tartalmaz, akkor a Patr´ıcia-fa sokkal hat´ekonyabb. Ellenkez˝o esetben viszont t¨obb mem´ori´at haszn´al, mivel a c´ımk´eket vektorokban t´aroljuk, ami egyetlen elem t´arol´asa eset´en nem c´elravezet˝o a nagy t¨obbletk¨olts´eg miatt.
2.8.2. Piros-fekete f´ ak A piros-fekete (RB-tree vagy symmetric binary B-trees) f´ak a kiegyens´ ulyozott bin´aris f´ak (balanced binary tree) egy t´ıpusa. Minden cs´ ucsnak sz´ıne van, hagyom´anyosan piros vagy fekete. Speci´alis forgat´asokat haszn´al´o besz´ ur´as m˝ uvelet biztos´ıtja, hogy b´armely a gy¨ok´erb˝ol lev´elbe vezet˝o u ´ t hossza ne legyen nagyobb, mint a legr¨ovidebb ilyen u ´ t hossz´anak k´etszerese. Egy piros-fekete fa a k¨ovetkez˝o tulajdons´agokkal rendelkezik: I. Minden cs´ ucsnak a sz´ıne piros vagy fekete. II. Minden lev´el sz´ıne fekete. III. Minden piros cs´ ucsnak mindk´et fia fekete. IV. B´armely k´et, azonos cs´ ucsb´ol indul´o, lev´elig vezet˝o u ´ ton ugyanannyi fekete cs´ ucs van. A fentiekb˝ol k¨ovetkezik, hogy b´armely n bels˝o cs´ uccsal rendelkez˝o piros-fekete fa magass´aga legfeljebb 2 lg(n + 1). A bizony´ıt´as ´es a fa ´ep´ıt´es´enek menete megtal´alhat´o az irodalomban (pl. [79]).
2.8.3. Hash-t´ abla A hash-t´abla magyar elnevez´ese has´ıt´o-t´abla (,), de mi ezt a sz´ot nem fogjuk haszn´alni. A hash-t´abla elemek gyors elhelyez´es´ere ´es visszakeres´es´ere haszn´alt adatstrukt´ ura. A t´abl´azatnak cell´ai vannak, amibe elemeket helyezhet¨ unk. Minden cell´anak van egy c´ıme (vagy indexe). A hash-t´abl´as t´arol´asban k¨ozponti szerepet t¨olt be az elemeken ´ertelmezett u ´ n. hash-f¨ uggv´eny, ami megadja az elem hash-´ert´ek´et. Egy elemet arra a c´ımre helyez¨ unk be a hash-t´abl´aban, amelyet a hash-´ert´eke megad. El˝ofordulhat, hogy k¨ ul¨onb¨oz˝o elemekhez a hash-f¨ uggv´eny ugyanazokat a hash-´ert´eket rendeli. Ezt u ¨tk¨oz´esnek h´ıvjuk. A hash-t´abl´akr´ol ¨onmag´aban fejezeteket lehet ´ırni, ennyi bevezet˝o azonban el´eg ahhoz, hogy meg´erts¨ uk a jegyzet tov´abbi r´eszeit.
2.9. Sz´ am´ıt´ og´ ep-architekt´ ur´ ak Sok kutat´o alkalmazza a k¨ uls˝o t´aras modellt az algoritmus´anak hat´ekonys´ag´anak vizsg´alatakor. M´ara az ´ori´asi mem´oriam´ereteknek k¨osz¨onhet˝oen a legt¨obb adatb´azis elf´er a mem´ori´aban, valamilyen sz˝ urt form´aban. Ilyen esetekben az elemz´eshez haszn´alt modell leegyszer˝ us¨odik az egyszer˝ ubb k¨ozvetlen hozz´af´er´es˝ u (RAM-) modellre (amely Neumann-modell
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
35
[139] n´even is ismert, mivel a magyar sz¨ ulet´es˝ u Neumann J´anos javasolta el˝osz¨or ezt az architekt´ ur´at). A programokat olyan modern processzorokon futtatj´ak, amely sokkal kifinomultabb a RAM-modelln´el. A modell t´ ulzott egyszer˝ us´ıt´ese ahhoz vezet, hogy az elemz´eseknek semmi k¨oze nincs a val´os´aghoz. Az u ´ j modell u ´ j elv´ar´asokat t´amaszt az algoritmusokkal szemben. Ezekr˝ol egy kiv´al´o ´attekint´es olvashat´o a [94] tanulm´anyban. A modern processzorok legfontosabb saj´atoss´aga a t¨obbszint˝ u mem´oria ´es a cs˝ovezet´ekes (pipeline-) feldolgoz´as.
2.9.1. T¨ obbszint˝ u mem´ oria, adatlokalit´ as A mem´oria nem egyelten nagy blokk, sokkal ink´abb k¨ ul¨onb¨oz˝o m´eret˝ u, k´esleltet´es˝ u mem´ori´akb´ol ´all´o hierarchikus rendszer. Min´el nagyobb a mem´oria m´erete, ann´al t¨obb id˝o kell a hozz´af´er´eshez. A hierarchia elemei, m´eret szerint n¨ovekv˝o sorrendben a k¨ovetkez˝ok: regiszterek, p´ar kilob´ajtos els˝oszint˝ u gyors´ıt´ot´ar, p´ar megab´ajtos m´asodszint˝ u gyors´ıt´ot´ar, esetleges harmadszint˝ u gyors´ıt´ot´ar, rendszermem´oria ´es merevlemez. Az adatot a rendszermem´ori´ab´ol a m´asodszint˝ u gyors´ıt´ot´arba, a m´asodszint˝ ub˝ol az els˝oszint˝ u gyors´ıt´ot´arba blokkonk´ent m´asolhatjuk. A blokkm´eret egy Pentium 4-es processzor eset´en 128 b´ajt. A blokkonk´enti feldolgoz´as m´as megvil´ag´ıt´asba helyezi az algoritmusok vizsg´alat´at : egyetlen bit el´er´es´ehez ´es beolvas´as´ahoz egy lass´ u mem´ori´ab´ol ugyanannyi id˝o kell, mint a bitet tartalmaz´o teljes blokk el´er´es´ehez ´es beolvas´as´ahoz. M´asik adat el´er´ese ugyanebben a blokkban viszont nem ig´enyli m´ar a hozz´af´er´est a lass´ u mem´ori´ahoz. ´Igy rendk´ıv¨ ul fontos k¨ovetelm´enny´e v´alik az adatlokalit´as, azaz hogy az adatok, amelyeket id˝oben egym´ashoz k¨ozel dolgozunk fel, a mem´ori´aban is k¨ozel legyenek egym´ashoz. Az adatot feldolgoz´asakor be kell hozni a regiszterekbe. El˝ofordulhat, hogy m´ar eleve ott van, mert az el˝oz˝o m˝ uveletekhez sz¨ uks´eg volt r´a. A korl´atozott sz´am´ u regiszterek miatt azonban sokkal val´osz´ın˝ ubb, hogy az egyik gyors´ıt´ot´arban vagy a rendszermem´ori´aban helyezkedik el. S˝ot, az is lehet, hogy a merevlemezen tal´alhat´o, ha az algoritmus mem´oriaig´enye annyira nagy, hogy lapoz´asra van sz¨ uks´eg. Ha a m´asodszint˝ u gyors´ıt´ot´arban vagy a rendszermem´ori´aban helyezkedik el a k´ıv´ant adat, akkor az adathozz´af´er´es u ´ n. cache miss-t okoz. Am´ıg ez az adat beker¨ ul a regiszterekbe, a processzor v´egrehajthat m´as m˝ uveleteket (ezer alapm˝ uvelet, p´eld´aul ¨osszead´as elv´egz´es´ere k´epes ez id˝o alatt), ennek ellen´ere a teljes´ıtm´enye messze elmaradhat ilyenkor a maxim´alist´ol. Teh´at az adatstrukt´ ura, algoritmus p´ar tervez´esekor t¨orekedn¨ unk kell a min´el jobb adatlokalit´asra a cache miss-ek elker¨ ul´ese ´erdek´eben.
2.9.2. Cs˝ ovezet´ ekes feldolgoz´ as, el´ agaz´ as-el˝ orejelz´ es A programoz´ok ´altal haszn´alt m˝ uveleteket a ford´ıt´o mikroutas´ıt´asok sorozat´ara bontja. A m˝ uveleteket nem k¨ ul¨on-k¨ ul¨on, egym´as ut´an hajtjuk v´egre, hanem p´arhuzamosan dolgozzuk fel ˝oket, cs˝ovezet´ek haszn´alat´aval. Sajnos azonban az adatf¨ ugg˝os´eg ´es a felt´eteles ugr´asok sokat rontanak a p´arhuzamos feldolgoz´as hat´ekonys´ag´an. Adatf¨ ugg˝os´egr˝ol akkor besz´el¨ unk, ha egy utas´ıt´as egy el˝oz˝o utas´ıt´as eredm´eny´et˝ol f¨ ugg. El´agaz´as-el˝orejelz´esn´el megj´osoljuk a felt´etel kimenet´et, ´es bet¨oltj¨ uk a cs˝ovezet´ekbe az ennek megfelel˝o utas´ıt´asokat. Ha a j´osl´as hamisnak bizonyul, akkor a cs˝ovezet´eket ki kell u ¨ r´ıteni, ´es be kell t¨olteni a helyes utas´ıt´asokat. Ezt a probl´em´at gyakran kik¨ usz¨ob¨olhetj¨ uk k¨ ul¨onb¨oz˝o technik´ak alkalmaz´as´aval, (mint p´eld´aul k´od´atrendez´essel) amelyet automatikusan elv´egez a ford´ıt´o. Sz´am´ıt´asig´enyes algoritmus tervez´esekor azonban nek¨ unk kell u ¨ gyeln¨ unk az adatf¨ uggetlens´egre ´es az el´agaz´as-el˝orejelz´esre.
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
36
A cs˝ovezet´ekes feldolgoz´as lehet˝ov´e teszi, hogy egy o´rajel alatt t¨obb m˝ uveletet is elv´egezz¨ unk. A fent eml´ıtett probl´em´ak miatt azonban a processzor ´atlagos teljes´ıtm´enye messze nem ´eri el az optimumot. A felesleges felt´etelek ronthatj´ak a hat´ekonys´agot. Az el´agaz´asel˝orejelz´es intelligens olyan szempontb´ol, hogy ha egy felt´etel kimenete sohasem v´altozik, akkor a processzor ezt figyelembe veszi ´es a k´es˝obbiekben ennek megfelel˝oen j´osol. ´Igy a mindig igaz (vagy hamis) felt´etelek nem befoly´asolj´ak a hat´ekonys´agot.
3. fejezet El˝ ofeldolgoz´ as, hasonl´ os´ agi f¨ uggv´ enyek Ebben a fejezetben ismertetj¨ uk, hogy milyen elterjedt m´ert´ekek vannak elemek k¨oz¨otti hasonl´os´agra majd r´at´er¨ unk a legfontosabb el˝ofeldolgoz´asi m˝ uveletekre. Mindenek el˝ott azt kell tiszt´aznunk, hogy milyen t´ıpus´ u attrib´ utumok l´eteznek matematikus szemmel.
3.1. Attrib´ utum t´ıpusok Jel¨olj¨ uk az A attrib´ utum k´et ´ert´ek´et a-val ´es a0 -vel. I. A kateg´oria t´ıpus´ u (nominal ) attrib´ utumn´al az attrib´ utum ´ert´ekei k¨oz¨ott csak azonoss´agot tudunk vizsg´alni. Teh´at csak azt tudom mondani, hogy a = a0 vagy azt, hogy a 6= a0 . A kateg´oria t´ıpus´ u attrib´ utum egy speci´alis esete a bin´aris attrib´ utum, ahol az attrib´ utum csak k´et ´ert´eket vehet fel. A kateg´oria t´ıpus´ u attrib´ utumokat az irodalom n´eha felsorol´as (enumerated) vagy diszkr´et t´ıpusnak is h´ıvja. M´asodlagos jelent´es¨ uk miatt a tanulm´anyban ezeket az elnevez´eseket nem haszn´aljuk. P´eld´aul a felsorol´as t´ıpus eml´ıt´es´en´el a legt¨obb informatikusnak a C++, java, C#-beli felsorol´as t´ıpus´ u v´altoz´o jut esz´ebe, amelyek mindig egy´ertelm˝ u megfeleltet´esben ´allnak egy eg´esz sz´ammal. II. A sorrend t´ıpus´ u (ordinal ) attrib´ utumokn´al az ´ert´ekeket sorba tudjuk rendezni, azaz az attrib´ utum ´ert´eken teljes rendez´est tudunk megadni. Ha teh´at a 6= a0 , akkor m´eg azt is tudjuk, hogy a > a0 ´es a < a0 k¨oz¨ ul melyik igaz. III. Ha az eddigiek mellett meg tudunk adni egy + f¨ uggv´enyt, amivel az elemek csoportot alkotnak, akkor intervallum t´ıpus´ u (interval scale) attrib´ utumr´ol besz´el¨ unk. IV. Ha egy intervallum t´ıpus´ u attrib´ utumn´al meg lehet adni z´erus ´ert´eket, vagy pontosabban az attrib´ utum elemei gy˝ ur˝ ut alkotnak, akkor az attrib´ utum ar´any sk´al´aj´ u (ratio scale). Az ar´any sk´al´aj´ u attrib´ utumot gyakran fogjuk val´os attrib´ utumnak h´ıvni, hiszen a gyakorlati esetek t¨obbs´eg´eben az ar´any sk´al´aj´ u attrib´ utumok megad´as´ahoz val´os sz´amokat haszn´alunk. Azonban ne felejts¨ uk el az ar´any sk´al´aj´ u attrib´ utum eredeti defin´ıci´oj´at, illetve azt, hogy az ar´any sk´al´aj´ u attrib´ utumok nem felt´etlen¨ ul val´os sz´amokat tartalmaznak. P´eld´aul egy u ¨ gyfeleket le´ır´o adatb´azisban vannak bin´aris (pl.: b¨ untetett el˝o´elet˝ u-e), kategorikus (pl.: vall´as, csal´adi ´allapot) ´es intervallum (pl.: d´atum) t´ıpus´ u attrib´ utumok is.
37
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
38
Furcsa m´od nem mindig trivi´alis, hogy egy attrib´ utum milyen t´ıpus´ u. P´eld´aul az id˝oj´ar´as jellemz´es´ere haszn´alt naps¨ ut´ eses, bor´ us, es} os ´ert´ekekre mondhatjuk, hogy ez egy kateg´oria attrib´ utum elemei. Ugyanakkor ´erezz¨ uk, hogy a bor´ us valahol a naps¨ ut´ eses ´es az es} os k¨oz¨ott helyezkedik el, ´ıgy ink´abb sorrend t´ıpus´ unak mondan´ank az attrib´ utumot. Az intervallum t´ıpus´ u attrib´ utumok megad´as´ara is sz´amokat haszn´alunk, amelyekn´el ´ertelme van a k¨ ul¨onbs´eg sz´am´ıt´as´anak, de a h´anyados k´epz´esnek nincs t´ ul sok. Tulajdonk´eppen azt, hogy egy attrib´ utum eset´eben mikor besz´el¨ unk intervallum ´es mikor ar´any sk´al´aj´ u t´ıpusr´ol az d¨onti el, hogy egy´ertelm˝ u-e a z´erus pont defini´al´asa. Gondoljuk meg, hogy p´eld´aul az ´evsz´amokn´al h´any fajta null´at ismer¨ unk. Hasonl´o a helyzet a h˝om´ers´eklet eset´eben (Fahrenheit kontra Celsius). Weka 3.5.7 A weka saj´at f´ajlform´atum´at Arff-nak nevezik. Az Arff form´ atum (Attribute-Relation File Format) egy olyan ASCII sz¨ oveges f´ ajl form´ atum, mely azonos attrib´ utummal rendelkez˝ o rekordok t´ arol´ as´ ara alkalmas. K´et r´eszb˝ ol a ´ll: fejl´ec (header) ´es adat (data). A fejl´ec tartalmazza az attrib´ utumokat ´es azok t´ıpus´ at. A wek´ aban haszn´ alt adatt´ıpusok a k¨ ovetkez˝ ok : kateg´ oria (nominal), sz´ am (numeric), karakterl´ anc (string) ´es d´ atum (date). Kateg´ oria t´ıpus´ u attrib´ utumokn´ al fel kell sorolnunk az attrib´ utum lehets´eges ´ert´ekeit. A sorrend fontos lehet bizonyos el˝ ofeldolgoz´ asi sz˝ ur˝ okn´el. A d´ atum t´ıpus´ u attrib´ utumokn´ al megadhatjuk a d´ atum form´ atum´ at is. A Data r´eszben minden sorban egy rekord szerepel, amelynek attrib´ utum´ert´ekei vessz˝ ovel vannak elv´ alasztva. A hi´ anyz´ o ´ert´ekeket a ? jelzi. A % jellel kezd˝ od˝ o sorok a megjegyz´eseket jel¨ olik. Ha az adatb´ azisban sok nulla ´ert´ek szerepel (az gyakori elemhalmazok ´es az asszoci´ aci´ os szab´ alyok kinyer´es´en´el a ´ltal´ aban ez a helyzet) akkor a sparse arff form´ atumot c´elszer˝ u haszn´ alni. Enn´el a form´ atumn´ al a data r´eszben attrib´ utum sorsz´ am, attrib´ utum ´ert´ek p´ arok vessz˝ ovel elv´ alasztott sorozata a ´ll. A nulla ´ert´ekeket nem r¨ ogz´ıtj¨ uk. A weka.filters.unsupervised.attribute.MergeTwoValues sz˝ ur˝ o o ¨sszevonja egy kateg´ oria t´ıpus´ u attrib´ utum k´et ´ert´ek´et. Ha az eredeti attrib´ utum k k¨ ul¨ onb¨ oz˝ o ´ert´eket vehet fel, akkor a sz˝ ur˝ o alkalmaz´ asa ut´ an m´ ar csak (k − 1)-et. A weka.filters.unsupervised.attribute.ChangeDateFormat sz˝ ur˝ o egy d´ atum form´ atum´ u attrib´ utumom form´ atum´ at a ´talak´ıt egy m´ asik form´ atumba. ´ Igy egy r´eszletes d´ atumform´ atumb´ ol (p´eld´ aul ´ev, h´ onap, nap, o ´ra, perc, m´ asodperc) r´eszinform´ aci´ ot (p´eld´ aul o ´ra, perc) nyerhet¨ unk ki. A weka.filters.unsupervised.attribute.NominalToBinary minden kateg´ oria t´ıpus´ u attrib´ utumot a ´tv´ alt bin´ aris attrib´ utumm´ a. Minden olyan A attrib´ utumot, amely k k¨ ul¨ onb¨ oz˝ o ´ert´eket vehet fel (k > 2), helyettes´ıt¨ unk k darab bin´ aris attrib´ utummal. Ha egy elem A attrib´ utum´ anak ´ert´eke az i-edik attrib´ utum ´ert´ek volt, akkor csak i-edik u ´j attrib´ utum ´ert´eke lesz egy, a t¨ obbi´e pedig nulla. weka.filters.unsupervised.attribute.NumericToNominal sz˝ ur˝ o a sz´ am t´ıpus´ u attrib´ utumokb´ ol kateg´ oria t´ıpus´ uakat a ´ll´ıt el˝ o. Ezt egyszer˝ uen u ´gy v´egzi, hogy minden egyes sz´ amot kateg´ oria t´ıpus´ u attrib´ utum egy ´ert´ekek´ent kezel, ´es hozz´ aadja az attrib´ utum
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
39
´ert´ekhalmaz´ ahoz.
Szinte minden adatb´any´asz/statisztikai program megadja minden intervallum t´ıpus´ u attrib´ utumnak a legfontosabb statisztik´ait. Ezek a – k¨oz´ep´ert´ekre vonatkoz´o adatok: minta´atlag, medi´an, m´odusz, – sz´or´od´asra vonatkoz´o adatok: empirikus sz´or´asn´egyzet, minimum, maximum, terjedelem (max ´es min ´ert´ek k¨oz¨otti k¨ ul¨onbs´eg) – eloszl´asra vonatkoz´o adatok: empirikus kvantilisek, ferdes´eg, lapults´ag. A ferdes´eg egy eloszl´as szimmetri´aj´at pr´ob´alja megadni. Ha a ferdes´eg nulla, akkor az eloszl´as szimmetrikus (p´eld´aul norm´alis eloszl´asokn´al), ellenkez˝o esetben a v´arhat´o ´ert´ekt˝ol balra (negat´ıv ferdes´eg eset´eben) vagy jobbra ny´ ulik el”. A ferdes´egnek t¨obb mutat´oj´at defini´alt´ak; ” √ D 3 [X] ezek k¨oz¨ ul a legelterjedtebb a γ1 = (D2 [X])3/2 ), de szok´as m´eg a β1 = γ1 -et is hasz´alni. Szint´en nem az alapfogalmak k¨oz´e tartozik a lapults´ag fogalma, ami egy eloszl´as cs´ ucsoss´ag´at 4 [X] adja meg. A lapults´agnak is t¨obb elfogadott defin´ıci´oja l´etezik. Legelterjedtebb a β2 = (DD2 [X]) 2 (kurtosis proper), ´es a γ2 = β2 − 3 (kurtosis excess) ´ert´ekek. A norm´alis eloszl´as β2 lapults´agi ´ert´eke h´arom, a norm´alisn´al laposabbak´e h´aromn´al kisebb. A ferdes´eget ´es a lapults´agot annak eld¨ont´es´en´el szokt´ak haszn´alni, hogy egy adott minta sz´armazhat-e norm´alis eloszl´asb´ol. Kateg´oria t´ıpus´ u attrib´ utum eset´en ´altal´aban grafikusan ´abr´azolj´ak az eloszl´asokat vagy gyakoris´agokat. A legjellemz˝obb ´abr´azol´asi m´odok a k¨ordiagrammok ´es a hisztogrammok.
3.2. Hasonl´ os´ agi m´ ert´ ekek Az adatb´any´aszatban gyakran sz¨ uks´eg¨ unk lesz arra, hogy attrib´ utumokkal le´ırt elemek k¨oz¨ott hasonl´os´agot defini´aljunk. Term´eszetesen elv´arjuk, hogy ha min´el ink´abb t¨obb azonos ´ert´ek szerepel az attrib´ utumaik k¨oz¨ott ann´al hasonl´obbak legyenek az elemek. A gyakorlatban hasonl´os´agi m´ert´ek helyett k¨ ul¨onb¨oz˝os´egi m´ert´ekkel dolgozunk, amely a hasonl´os´ag inverze (min´el hasonl´obbak, ann´al kev´esb´e k¨ ul¨onb¨oz˝ok). Elv´arjuk, hogy k´et elem k¨ ul¨onb¨oz˝os´eg´et (d(x, y)) ki lehessen fejezni egy pozit´ıv val´os sz´ammal, tov´abb´a egy elem ¨onmag´at´ol ne k¨ ul¨onb¨ozz¨on, szimmetrikus legyen (d(x, y) = d(y, x)), ´es teljes¨ ulj¨on a h´aromsz¨og egyenl˝otlens´eg (d(x, y)≤d(x, z)+d(y, z)). Teh´at a k¨ ul¨onb¨oz˝os´eg metrika legyen. K´et elem k¨ ul¨onb¨oz˝os´ege helyett gyakran mondunk majd k´et elem t´avols´ag´at. A k¨ovetkez˝okben sorra vessz¨ uk, hogyan defini´aljuk a t´avols´agot k¨ ul¨onb¨oz˝o t´ıpus´ u attrib´ utumok eset´eben, ´es azt, hogy mik´ent lehet egyes attrib´ utumok fontoss´ag´at (s´ uly´at) megn¨ovelni.
3.2.1. Bin´ aris attrib´ utum Egy bin´aris attrib´ utum olyan kateg´oria t´ıpus´ u attrib´ utum, amely k´et ´ert´eket vehet fel (pl.: 0 ´es 1). Hogyan hat´arozzuk meg x ´es y elemek hasonl´os´ag´at, ha azok m darab bin´aris attrib´ utummal vannak le´ırva ? K´esz´ıts¨ uk el a k¨ovetkez˝o ¨osszefoglal´o t´abl´azatot.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
1 0 P
1 q s q+s
0 r t r+t
40
P
q+r s+t m
P´eld´aul az 1-es sor 0-´as oszlop´ahoz tartoz´o ´ert´ek azt jelenti, hogy r darab olyan attrib´ utum van, amelyek az x elemn´el 1-et, y-n´al 0-´at vesznek fel. Ez alapj´an defini´alhatjuk az u ´ n. invari´ans ´es vari´ans hasonl´os´agot. Az invari´ans hasonl´os´agot olyan esem´enyekn´el haszn´aljuk, amikor a bin´aris attrib´ utum k´et ´ert´eke ugyanolyan fontos (szimmetrikus attrib´ utum), teh´at mindegy, hogy melyiket k´odoljuk 0-val, illetve 1-essel. Ilyen attrib´ utum p´eld´aul egy ember neme. Az´ert kapta ez a hasonl´os´ag az invari´ans jelz˝ot, mert nem v´altozik az ´ert´eke, ha valaki m´ashogy k´odolja az attrib´ utumokat (teh´at k´odol´as invari´ans). A legegyszer˝ ubb invari´ans hasonl´os´ag az elt´er˝o attrib´ utumok relat´ıv sz´ama : d(x, y) =
r+s . m
Aszimmetrikus attrib´ utum eset´eben a k´et lehets´eges ´ert´ek nem egyenrang´ u. Ilyen attrib´ utum lehet p´eld´aul egy orvosi vizsg´alat eredm´enye. Nagyobb s´ ulya van annak a t´enynek, hogy valaki fert˝oz¨ott beteg, mint annak, hogy nem az. A konvenci´oknak megfelel˝oen 1-essel k´odoljuk a l´enyeges (´altal´aban ritka) kimenetet. A legegyszer˝ ubb vari´ans hasonl´os´agi m´ert´ek a Jaccardkoefficiens komplementere: q r+s d(x, y) = 1 − = , m−t m−t ahol nem tulajdon´ıtunk jelent˝os´eget a nem jelent˝os kimenetek egyez´es´enek. Amennyiben szimmetrikus ´es aszimmetrikus ´ert´ekek is szerepelnek a bin´aris attrib´ utumok k¨oz¨ott, akkor azokat vegyes attrib´ utumk´ent kell kezelni (l´asd a 3.2.5-os r´eszt).
3.2.2. Kateg´ oria t´ıpus´ u attrib´ utum ´ Altal´ anos esetben a kateg´oria t´ıpus´ u attrib´ utum nem csak kett˝o, hanem v´eges sok k¨ ul¨onb¨oz˝o ´ert´eket vehet fel. Ilyen attrib´ utum p´eld´aul az ember szeme sz´ıne, csal´adi ´allapota, vall´asa stb. A legegyszer˝ ubb hasonl´os´ag a nemegyez´esek relat´ıv sz´ama : d(x, y) =
u , m
ahol m a kateg´oria t´ıpus´ u attrib´ utumok sz´ama, u pedig azt adja meg, hogy ezek k¨oz¨ ul mennyi nem egyezett. Term´eszetesen a kateg´oria t´ıpus´ u attrib´ utumok sem felt´etlen¨ ul szimmetrikusak, mert lehet, hogy az alap´ertelmezett ´ert´ekek egyez´ese nem igaz´an fontos. A Jaccard-koefficiens komplementer´et kateg´oria t´ıpus´ u attrib´ utumokra is fel´ırhatjuk.
3.2.3. Sorrend t´ıpus´ u attrib´ utum Sorrend t´ıpus´ u attrib´ utum p´eld´aul az iskolai v´egzetts´eg : 8 ´altal´anos, befejezett k¨oz´episkola, ´eretts´egi, f˝oiskolai diploma, egyetemi diploma, doktori c´ım. Vannak ar´any sk´al´aj´ u attrib´ utumok, amelyeket ink´abb sorrend t´ıpus´ u attrib´ utumnak kezel¨ unk. P´eld´aul a Forma 1-es versenyeken sem az egyes k¨or¨ok fut´asi ideje sz´am´ıt, hanem az, hogy ki lett az els˝o, m´asodik ...
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
41
A sorrend t´ıpus´ u attrib´ utumokat ´altal´aban eg´esz sz´amokkal helyettes´ıtik – tipikusan 1 ´es M k¨oz¨otti eg´esz sz´amokkal. Ha t¨obb sorrend t´ıpus´ u attrib´ utumunk van, amelyek a fontos ´allapotok m˝ uvelettel. sz´am´aban elt´ernek, akkor c´elszer˝ u mindegyiket a [0,1] intervallumba k´epezni az Mx−1 −1 ´Igy mindegyik egyenl˝o s´ ullyal szerepel majd a v´egs˝o hasonl´os´agi m´ert´ekben. Ezut´an alkalmazhatjuk valamelyik intervallum t´ıpus´ u hasonl´os´agot.
3.2.4. Intervallum t´ıpus´ u attrib´ utum Az intervallum t´ıpus´ u attrib´ utumokat ´altal´aban val´os sz´amok ´ırj´ak le. Ilyen attrib´ utumra p´elda egy ember s´ ulya, magass´aga, egy orsz´ag ´eves ´atlagh˝om´ers´eklete stb. Tekinthet¨ unk u ´ gy egy elemre, mint egy pontra az m-dimenzi´os vektort´erben. Az elemek k¨oz¨otti k¨ ul¨onb¨oz˝os´eget a vektoraik k¨ ul¨onbs´eg´enek norm´aj´aval (hossz´aval) defini´aljuk (d(~x, ~y ) = ||~x −~y ||). Legterm´eszetesebb tal´an az Euklideszi-norma, de alkalmazhatjuk a Manhattan-norm´at is. Mindk´et m´ert´ek a Minkowski-norma speci´alis esete. p Euklideszi-norma : L2 (~z) = |z1 |2 + |z2 |2 + · · ·+ |zm |2
Manhattan-norma : L1 (~z ) = |z1 | + |z2 | + · · ·+ |zm |
Minkowski-norma : Lp (~z ) = (|z1 |p + |z2 |p + · · · + |zm |p )1/p A p = ∞ eset´en k´et vektor t´avols´aga megegyezik a koordin´at´ainak a legnagyobb elt´er´es´evel (L∞ (~z ) = max{|zi |}). i Hab´ar az elemek le´ır´as´aban m´ar csak sz´amok szerepelnek, a h´att´erben megb´ uj´o m´ert´ekegys´egeknek nagy szeAz ide´alis kork¨ ul¨onbs´eg f´erj rep¨ uk van. Gondoljuk meg, ha m´eter helyett millim´eterben ´”es feles´eg k¨oz¨ott hat ´ev. Egy sz´amolunk, akkor sokkal nagyobb ´ert´ekek fognak szerepelni sv´ed kutat´as szerint ilyen az elemek le´ır´as´aban, ´es ´ıgy a k¨ ul¨onbs´egek is megn˝onek. A esetben van maxim´alis lenagy ´ert´ekk´eszlet˝ u attrib´ utumoknak nagyobb hat´asuk van het˝os´eg az ut´odok sz¨ ulet´es´ere.” a hasonl´os´ag ´ert´ek´ere, mint a kis ´ert´ekk´eszlet˝ ueknek. Jo- Forr´as: http://hvg. gos teh´at az egyes attrib´ utumok normaliz´al´asa, azaz transz- hu/egeszseg/20070913_ form´aljuk ˝oket pl. a [0,1] intervallumba, majd ezen transz- idealis_korkulonbseg.aspx form´alt attrib´ utumok alapj´an sz´am´ıtsuk a t´avols´agokat (3.3.6 r´esz). Gyakran el˝ofordul, hogy a k¨ ul¨onb¨oz˝os´eg meg´allap´ıt´as´an´al bizonyos attrib´ utumokra nagyobb s´ ulyt szeretn´enk helyezni. P´eld´aul k´et ember ¨osszehasonl´ıt´as´an´al a hajsz´ınnek nagyobb szerepe van, mint annak, hogy melyik l´abujja a legnagyobb. Ha figyelembe vessz¨ uk az attrib´ utumok s´ ulyait, akkor p´eld´aul az Euklideszi-t´avols´ag ´ıgy m´odosul: p d(x, y) = w1 |x1 − y1 |2 + w2 |x2 − y2 |2 + · · ·+ wm |xm − ym |2 , P ahol wi -vel jel¨olt¨ uk i-edik attrib´ utum s´ uly´at ´es legyen m i=1 wi = 1. El˝ofordulhat, hogy olyan attrib´ utummal van dolgunk, amely ´ert´ekeit nemline´aris l´ept´ekben ´abr´azoljuk (nemline´aris n¨oveked´es˝ u attrib´ utumnak szok´as h´ıvni ezeket). P´eld´aul a bakt´erium popul´aci´ok n¨oveked´es´et vagy algoritmusok fut´asi idej´et exponenci´alis sk´al´an ´erdemes ´abr´azolni. Az ilyen attrib´ utumokn´al nem c´elszer˝ u k¨ozvetlen¨ ul intervallum alap´ u hasonl´os´agot alkalmazni, mert ez ´ori´asi k¨ ul¨onb¨oz˝os´egeket eredm´enyez azokon a helyeken, ahol kis k¨ ul¨onb¨oz˝os´eget v´arunk.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
42
K´et megk¨ozel´ıt´es k¨oz¨ott szok´as v´alasztani. Egyr´eszt haszn´alhatjuk az intervallum alap´ u hasonl´os´agot, de nem az attrib´ utum eredeti ´ert´ek´en, hanem annak logaritmus´an. M´asr´eszt diszkretiz´alhatjuk az ´ert´ekeket, ´es vehetj¨ uk csak a sorrendet a hasonl´os´ag alapj´aul.
3.2.5. Vegyes attrib´ utumok Az el˝oz˝o r´eszekben azt tekintett¨ uk ´at, hogyan defini´aljuk a hasonl´os´agot k´et elem k¨oz¨ott adott t´ıpus´ u attrib´ utumok eset´en. Mit tegy¨ unk akkor, ha egy objektum le´ır´as´an´al vegyesen adottak a k¨ ul¨onb¨oz˝o t´ıpus´ u – intervallum, bin´aris, kateg´oria stb. – attrib´ utumok? Csoportos´ıtsuk az egyes attrib´ utumokat t´ıpusuk szerint, ´es hat´arozzuk meg a k´et elem hasonl´os´ag´at minden csoportra n´ezve. A kapott hasonl´os´agokat k´epezz¨ uk a [0,1] intervallumba. Minden attrib´ utumnak feleltess¨ unk meg egy dimenzi´ot a t´erben, ´ıgy k´et elem hasonl´os´ag´ahoz hozz´arendelhet¨ unk egy vektort a vektort´erben. A hasonl´os´ag ´ert´ek´et feleltess¨ uk meg a vektor hossz´anak. Ennek a megk¨ozel´ıt´esnek a h´atr´anya, hogy ha p´eld´aul egyetlen kateg´oria t´ıpus´ u attrib´ utum van, akkor az ugyanolyan s´ ullyal fog szerepelni, mint ak´ar t´ız bin´aris attrib´ utum ¨osszesen. C´elszer˝ u ez´ert az egyes attrib´ utumt´ıpusok ´altal szolg´altatott ´ert´ekeket s´ ulyozni a hozz´ajuk tartoz´o attrib´ utumok sz´am´aval.
3.2.6. Speci´ alis esetek Egyre t¨obb olyan alkalmaz´as ker¨ ul el˝o, ahol a fent defini´alt ´altal´anos hasonl´os´agok nem ragadj´ak meg j´ol k´et elem k¨ ul¨onb¨oz˝os´eg´et. A teljess´eg ig´enye n´elk¨ ul bemutatunk k´et olyan esetet, amikor speci´alis t´avols´agf¨ uggv´enyre van sz¨ uks´eg. Elemsorozatok hasonl´ os´ aga Elemsorozaton egy v´eges halmazb´ol vett elemek sorozat´at ´ertj¨ uk. P´eld´aul a magyar nyelven ´ertelmezett szavak elemsorozatok. N´ezz¨ uk az S = habcdei sorozatot. Legt¨obben azt mondan´ank, hogy a hbcdxyei sorozat jobban hasonl´ıt S-re, mint az hxxxdddi sorozat. Nem ezt kapn´ank, ha a poz´ıci´okban megegyez˝o elemek relat´ıv sz´am´aval defini´aln´ank a hasonl´os´agot. Egy elterjedt m´ert´ek az elemsorozatok hasonl´os´ag´ara az u ´ n. szerkeszt´esi t´avols´ag. K´et sorozatnak kicsi a szerkeszt´esi t´avols´aga, ha az egyik sorozatb´ol kev´es elem t¨orl´es´evel ill. besz´ ur´as´aval megkaphatjuk a m´asikat. Pontosabban, k´et sorozat szerkeszt´esi t´avols´aga adja meg, hogy legkevesebb h´any besz´ ur´as ´es t¨orl´es m˝ uvelettel kaphatjuk meg az egyik sorozatb´ol a m´asikat. A szerkeszt´esi t´avols´ag alapj´an csoportos´ıthatunk dokumentumokat, weboldalakat, DNS sorozatokat, vagy kereshet¨ unk illeg´alis m´asolatokat. Bez´ art sz¨ og alap´ u hasonl´ os´ ag Vannak alkalmaz´asok, ahol nem a vektorok k¨ ul¨onbs´eg´enek a hossza a l´enyeges, hanem a vektorok ´altal bez´art sz¨og. P´eld´aul dokumentumok hasonl´os´ag´aval kapcsolatban sz´amos okfejt´est olvashatunk, hogy mi´ert jobb sz¨ogekkel dolgozni, mint a t´avols´agokkal. Eml´ekeztet˝ou ¨l a koszinusz-m´ert´ek pontos k´eplete: d(x, y) = arccos
~xT ~y . ||~x|| · ||~y||
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
43
3.3. El˝ ofeldolgoz´ as Weka 3.5.7
Az el˝ ofeldolgoz´ asi m´ odszereket az explorer preprocess f¨ ul´en kereszt¨ ul ´erhetj¨ uk el. Itt adhatjuk meg a bemeneti adatot t´ arol´ o f´ ajl (Open file...), url (Open URL...) vagy adatb´ azis nev´et ((Open DB...)). Az Edit... gombra klikkelve k¨ onnyen olvashat´ o form´ aban megjelenik az adat, amelyet k¨ ozvetlen m´ odos´ıthatunk is. Ha valamelyi oszlop fejl´ec´ere kattintunk, akkor az adatokat az oszlop szerint rendezve l´ athatjuk. Minden el˝ ofeldolgoz´ asi elj´ ar´ ast k´et csoportba soroljuk. A supervised (fel¨ ugyelt) m´ odszerekn´el meg kell adni egy oszt´ alyattrib´ utumot, az unsupervised (fel¨ ugyelet n´elk¨ uli) m´ odszerekn´el minden attrib´ utum egyforma. Ezen csoportokon bel¨ ul megk¨ ul¨ onb¨ oztet¨ unk attribute ´es instance elj´ ar´ asokat att´ ol f¨ ugg˝ oen, hogy attrib´ utumokra (oszlopokra) vagy elemekre/objektumokra (sorokra) vonatkoznak. Minden sz˝ ur˝ on´el (m´eg a fel¨ ugyelet n´elk¨ uliekn´el is) az ignoreClass bin´ aris param´eterrel a ´ll´ıthatjuk be, hogy a sz˝ ur´es sor´ an figyelembe vegyee az oszt´ alyattrib´ utumot. Alap´ertelmez´es szerint az oszt´ alyattrib´ utum az utols´ o attrib´ utum.
3.3.1. Hi´ anyz´ o´ ert´ ekek kezel´ ese Az adatb´any´aszati algoritmusok csak olyan elemeket tudnak kezelni, amelyeknek minden attrib´ utuma adott. A val´o ´elet adatb´azisain´al ez nem mindig ´all fenn, k¨onnyen lehet, hogy bizonyos cell´akat nem t¨olt¨ott ki az adatot beg´epel˝o szem´ely. Sok oka lehet a hi´anyos mez˝oknek. P´eld´aul az orvos bizonyos teszteken nem v´egzett el a p´aciensen, mert nem tal´alta sz¨ uks´egesnek. Persze t¨or¨olhetj¨ uk azokat az elemeket, amelyek tartalmaznak hi´anyz´o attrib´ utumokat, de lehet, hogy ekkor annyira lecs¨okken az adatb´azis m´erete, hogy az alkalmatlan lesz az elemz´esre, vagy legal´abbis adott konfidencia mellett keveset tudunk mondani az ¨osszef¨ ugg´esekr˝ol. A hi´anyz´o ´ert´ekeket tartalmaz´o elemek hasznos inform´aci´ot tartalmazhatnak, ne dobjuk el ˝oket, ha nem musz´aj. A hi´anyz´o cell´akat fel kell t¨olten¨ unk valamilyen ´ert´ekkel, vagy a hi´anyz´ast mint k¨ ul¨on attrib´ utum´ert´eket kell kezeln¨ unk. Ez ut´obbit teszi p´eld´aul a C4.5 nev˝ u d¨ont´esi f´akat el˝o´all´ıt´o m´odszer [113] is. Sokf´elek´eppen helyettes´ıthetj¨ uk a hi´anyz´o ´ert´ekeket. Ha a hi´anyz´o attrib´ utum kateg´oria t´ıpus´ u, akkor vehet¨ unk egy alap´ertelmezett ´ert´eket, vagy az attrib´ utum leggyakrabban el˝ofordul´o ´ert´ek´et (m´odusz). L´etrehozhatunk egy elem helyett sok u ´ j teljes elemet u ´ gy, hogy a hi´anyz´o attrib´ utum hely´ere az ¨osszes lehets´eges ´ert´eket be´ırjuk. Intervallum attrib´ utumok eset´en szok´as az ´atlagot vagy a medi´ant v´alasztani. Weka 3.5.7 A weka.filters.unsupervised.attribute.ReplaceMissingValues sz˝ ur˝ o a hi´ anyz´ o ´ert´ekek helyettes´ıt´es´ere szolg´ al. Kateg´ oria t´ıpus´ u attrib´ utumokn´ al a leggyakrabban el˝ ofordul´ o ´ert´ekkel (m´ odusz), sz´ am t´ıpus´ uakn´ al pedig az a ´tlaggal helyettes´ıt.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
44
Ha oszt´alyoz´asi feladattal van dolgunk, akkor a fenti ´ert´ekek sz´am´ıt´as´an´al szor´ıtkozhatunk csak az adott oszt´alyba tartoz´o elemekre. S˝ot ezt a gondolatot vihetj¨ uk tov´abb ´es az ´ert´ekek sz´am´ıt´as´an´al tekinthetj¨ uk csak azokat az elemeket (ha vannak ilyenek), amelyek attrib´ utumainak ´ert´ekei megegyeznek a hi´anyz´o ´ert´eket tartalmaz´o elem ismert attrib´ utumainak ´ert´ekeivel. Itt ´erdemes gondosan elj´arni ´es csak a fontos attrib´ utumokat vizsg´alni (gondoljuk meg, ha a vizsg´alatn´al nem z´arjuk ki az azonos´ıt´o attrib´ utumot, akkor egyetlen elemet sem fogunk figyelembe venni).
3.3.2. Attrib´ utum transzform´ aci´ ok ´ attrib´ Uj utumok l´ etrehoz´ asa El˝ofordulhat, hogy egy attrib´ utum´ert´ek j´osl´as´an´al bizonyos attrib´ utumok f¨ uggv´enye j´atszhat szerepet. P´eld´aul rendelkez´es¨ unkre ´allhatnak az emberek magass´aga ´es a t¨omege, a betegs´eg j´osl´as´an´al azonban a testt¨omeg index j´atszhat szerepet. Persze elv´arhatjuk, hogy ezt a f¨ uggv´enyt az oszt´alyoz´o automatikusan felismerje elv´egre – mint azt l´atni fogjuk – az oszt´alyoz´as maga egy f¨ uggv´eny approxim´aci´o. Az el˝ozetes ismeretek, apriori tud´as bevitel´evel azonban szinte mindig javul az oszt´alyoz´as min˝os´ege. Ne v´arjunk csod´at az oszt´alyoz´ot´ol, amikor tudunk, seg´ıts¨ unk neki. Weka 3.5.7
A weka.filters.unsupervised.attribute.Add sz˝ ur˝ o egy u ´j attrib´ utumot hoz l´etre. Minden elem ezen attrib´ utuma u ¨res (hi´ anyz´ o) lesz. Kateg´ oria t´ıpus´ u attrib´ utum l´etrehoz´ as´ ahoz meg kell adnunk a lehets´eges ´ert´ekeket. A weka.filters.unsupervised.attribute.AddExpression sz˝ ur˝ ovel u ´j attrib´ utumot sz´ armaztathatunk megl´ev˝ o attrib´ utumokb´ ol. Az megl´ev˝ o attrib´ utumokra, mint a1, a2, . . . hivatkozhatunk. A felhaszn´ alhat´ o oper´ atorok a k¨ ovetkez˝ ok : o ¨sszead´ as, kivon´ as, szorz´ as, oszt´ as, hatv´ anyoz´ as, logaritmus, exponenci´ alis, szinus, coszinus, tangens, eg´eszr´esz k´epz´es ´es a kerek´ıt´es. weka.filters.unsupervised.attribute.AddID sz˝ ur˝ o egy azonos´ıt´ o attrib´ utumot ad az adathalmazhoz. Minden elem (sor) azonos´ıt´ oja egyedi lesz. A weka.filters.unsupervised.attribute.Copy egy meghat´ arozott attrib´ utumhalmazt duplik´ al. Ezt a sz˝ ur˝ ot a ´ltal´ aban olyan m´ as sz˝ ur˝ okkel egy¨ utt szok´ as haszn´ alni, amelyek fel¨ ul´ırj´ ak az adatokat. Ebben az esetben lehet˝ ov´e v´ alik az eredeti attrib´ utum meg˝ orz´ese az u ´j mellett. A weka.filters.unsupervised.attribute.FirstOrder sz˝ ur˝ o egy k elemb˝ ol a ´ll´ o sz´ am t´ıpus´ u attrib´ utum intervallumb´ ol k´esz´ıt egy (k − 1)elem˝ ut, az egym´ ast k¨ ovet˝ o tagok k¨ ul¨ onbs´eg´enek k´epz´es´evel. P´eld´ aul az 1,2,1 sorozatb´ ol 1,-1 sorozatot k´esz´ıt. weka.filters.unsupervised.attribute.MathExpression v´egrehajt egy megadott f¨ uggv´enyt a kiv´ alasztott t´ıpus´ u attrib´ utumokon. A f¨ uggv´enyt az expression param´eterrel adjuk meg (’A’ bet˝ uvel lehet az attrib´ utumra hivatkozni). A M IN, M AX, M EAN, SD v´ altoz´ ok
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
45
az attrib´ utum minimum´ at, maximum´ at, a ´tlag´ at ´es sz´ or´ as´ at jel¨ olik. A t´ amogatott m˝ uveletek list´ aja az al´ abbi : +, -, *, /, pow, log,abs, cos, exp, sqrt, tan, sin, ceil, floor, rint, (, ),A, COUNT, SUM, SUMSQUARED, ifelse. weka.filters.unsupervised.attribute.NumericTransform sz˝ ur˝ o a sz´ am t´ıpus´ u attrib´ utumokon v´egrehajt egy elj´ ar´ ast. A className param´eterrel adhat´ o meg az oszt´ aly, amely a felhaszn´ alni k´ıv´ ant elj´ ar´ ast tartalmazza. A methodName opci´ o seg´ıts´eg´evel adjuk meg a met´ odus nev´et.
Attrib´ utumok t¨ orl´ ese Az adatb´any´asz algoritmust´ol elv´arjuk, hogy a l´enyegtelen attrib´ utumokat ne vegye figyelembe. Szokt´ak mondani, hogy a d¨ont´esi f´ak nagy el˝onye, hogy a d¨ont´es´et csak a l´enyeges attrib´ utumok alapj´an hozza meg. Ez azt sugallja, hogy nyugodtan ¨osszekapcsolhatjuk az adatt´abl´akat ´es l´etrhozhatunk egy sok attrib´ utumot tartalmaz´o t´abl´at, a csodam´odszerek majd figyelmen k´ıv¨ ul hagyj´ak a l´enyegtelen attrib´ utumokat. Sajnos ez csak elm´eletben van ´ıgy, a felesleges attrib´ utumok ´altal okozott zaj ugyanis rontja a m´odszerek teljes´ıtm´eny´et. Erre a probl´em´ara majd a d¨ont´esi f´akn´al visszat´er¨ unk. Ha tehetj¨ uk seg´ıts¨ unk az adatb´any´asz m´odszereken ´es t¨or¨olj¨ uk azokat az attrib´ utumokat (p´eld´aul egyedi azonos´ıt´o), amelyek nem fontosak az elemz´es c´elj´ab´ol. Minden adatb´any´asz eszk¨oz k´ın´al erre t´amogat´ast. Weka 3.5.7 A weka.filters.unsupervised.attribute.Remove t¨ orli az a ´ltalunk megadott attrib´ utumokat. Haszn´ aljuk a weka.filters.unsupervised.attribute.RemoveType sz˝ ur˝ ot, ha az o ¨sszes, adott t´ıpus´ u attrib´ utumot t¨ or¨ olni k´ıv´ anjuk. weka.filters.unsupervised.attribute.RemoveUseless sz˝ ur˝ o a haszontalan attrib´ utumokat t¨ orli. Ezek egy´ altal´ an nem vagy nagyon sokat v´ altoznak. A haszontalan attrib´ utumok nem j´ atszhatnak szerepet semmilyen adatb´ any´ aszati m´ odszerben. Minden konstans ´ert´ek˝ u attrib´ utum haszontalan, de a m´ asik v´eglet is igaz. Ha egy attrib´ utum t´ ul sok k¨ ul¨ onb¨ oz˝ o ´ert´eket vesz fel, akkor az is haszontalan. A haszontalans´ ag meg´ıt´el´es´en´el a k¨ ul¨ onb¨ oz˝ o ´ert´ekek sz´ am´ anak ar´ any´ at az o ¨sszes sorhoz k´epest a maximumVariancePercentageAllowed param´eterrel adhatjuk meg.
3.3.3. Hib´ as bejegyz´ esek, a zaj elt´ avol´ıt´ asa Weka 3.5.7
A weka.filters.unsupervised.attribute.InterquartileRange sz˝ ur˝ o a k¨ ul¨ onc pontokat ´es az extr´em ´ert´ekeket
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
46
der´ıti fel. Jel¨ olj¨ uk Q1, Q3-mal a 25% ´es 75% tartoz´ o kvantiliseket, legyen IQR = Q3 − Q1, tov´ abb´ a OF ´es EV F a felhaszn´ al´ o a ´ltal megadott k´et ´ert´ek (Outlier Factor ´es Extreme Value Factor). Extr´emnek nevez¨ unk egy ´ert´eket, ha az nagyobb, mint Q3+EV F ∗IQR, vagy kisebb, mint Q1−EV F ∗IQR. K¨ ul¨ onc pontok k¨ oz´e soroljuk azokat az ´ert´ekeket, amelyen nem extr´emek ´es nem esnek a [Q1−OF ∗IQR, Q3+OF ∗IQR] intervallumba sem. Ha az outputOffsetMultiplier param´etert igazra a ´ll´ıtjuk, akkor a sz˝ ur˝ o u ´j attrib´ utumot hoz l´etre, amelynek ´ert´eke a (A − median)/IQR lesz (A az attrib´ utum ´ert´ek jel¨ oli). A weka.filters.unsupervised.instance.RemoveWithValues sz˝ ur˝ ovel azokat az elemeket t¨ or¨ olhetj¨ uk az adathalmazb´ ol, amelyek adott attrib´ utuma adott ´ert´eket vesz fel. A weka.filters.unsupervised.attribute.NumericCleaner sz˝ ur˝ o a maxThreshold) param´etern´el nagyobb ´ert´ekeket maxDefault ´ert´ekkel, a minThreshold param´etern´el kisebbeket minDefault ´ert´ekkel ´es a closeTo param´eterhez k¨ ozeli (closeToTolerance) ´ert´ekeket closeToDefault ´ert´ekkel helyettes´ıti. A weka.filters.unsupervised.instance.RemoveMisclassified lefuttat egy oszt´ alyoz´ o m´ odzsert, majd t¨ orli a rosszul oszt´ alyzott elemeket.
3.3.4. Adatok elront´ asa, ¨ osszezagyv´ al´ asa Mi´ert akarn´ank elrontani az adathalmazt ? T¨obb okunk is lehet r´a. P´eld´aul vizsg´alni szeretn´enk, hogy egy adott m´odszer mennyire ´erz´ekeny a zajra. Az is lehet, hogy egy c´eg publikuss´a teszi bizonyos adatait, de el˝osz¨or azt kicsit ´atalak´ıtja/lerontja u ´ gy, hogy az adatelemz´es techni´ kailag kivitelezhet˝o legyen, de a konkurrencia ne tudjon hasznos inform´aci´ohoz jutni. Altal´ aban a kutat´oknak ´atadott adathalmazokn´al a kutat´ok nem ismerik az egyes attrib´ utumok eredeti jelent´es´et. Weka 3.5.7 A weka.filters.unsupervised.attribute.AddNoise oszt´ aly az elemek adott r´esz´enek megv´ altoztatja adott attrib´ utum´ anak ´ert´ek´et. A weka.filters.unsupervised.attribute.Obfuscate sz˝ ur˝ o megv´ altoztatja az attrib´ utumok nev´et ´es a ´tnevezi az attrib´ utum´ert´ekeket.
3.3.5. Diszkretiz´ al´ as A diszkretiz´al´as/kvant´al´as sor´an sz´am t´ıpus´ u attrib´ utumot kateg´oria t´ıpus´ uv´a alak´ıtjuk. Az attrib´ utum ´ert´ekk´eszlet´et intervallumokra/csoportokra osztjuk ´es minden intervallumhoz egy kateg´ori´at rendel¨ unk. A diszkretiz´al´as sor´an nyilv´an inform´aci´ot vesz´ıt¨ unk viszont seg´ıthet¨ unk az adatb´any´asz algoritmuson. Sz´amos m´odszer l´etezik diszkretiz´aci´ora.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
47
Kialak´ıthatunk egyen˝o sz´eless´eg˝ u vagy egyen˝o gyakoris´ag´ u intervallumokat. Az egyenl˝o gyakoris´ag´ u intervallumokn´al minden intervallumba ugyanannyi adatpont esik. Weka 3.5.7
A fenti k´et m´ odszert a weka.filters.unsupervised.attribute.Discretize sz˝ ur˝ on kereszt¨ ul ´erhetj¨ uk el. A useEqualFrequency param´eterrel adhatjuk meg, hogy a k´et lehet˝ os´eg k¨ oz¨ ul melyiket v´ alasztjuk.
PKI (Proportional k-Interval Discretization) diszkretiz´aci´os m´odszerk´ent hivatkoznak arra az esetre, amikor egyenl˝o gyakoris´ag´ u intervallumokat alak´ıtunk ki ´es az intervallumok sz´ama az adatpontok n´egyzetgy¨ok´evel egyezik meg [143]. Weka 3.5.7 A PKI m´odszert a weka.filters.unsupervised.attribute.PKIDiscretize oszt´ aly implement´ alja.
1R m´ odszer Az 1R tulajdonk´eppen egy egyszer˝ u oszt´alyoz´o m´odszer, amely tartalmaz egy diszkretiz´aci´os elj´ar´ast. Egy p´eld´an keresz¨ ul szeml´eltetj¨ uk az algoritmust. A diszkretiz´aland´o attrib´ utum a h˝om´ers´ekletet adja meg Fahrenheitban m´erve. A tan´ıt´omint´aban az egyes h˝om´ers´ekletekhez a k¨ovetkez˝o oszt´aly´ert´ekek tartoznak (az attrib´ utum´ert´ekeket nagys´ag szerint n¨ovekv˝oen sorba kell rendezni) : 64 65 68 69 1 0 1 1
70 71 72 72 75 75 1 0 0 1 1 1
80 81 83 85 0 1 1 0
Egy lehets´eges csoportos´ıt´as szerint induljuk el a legkisebb ´ert´ekekt˝ol ´es akkor z´arjuk le az aktu´alis intervallumot, ha v´altozik az oszt´aly. A p´eld´aban nyolc csoportot hozn´ank l´etre: 64 1 1
65 0 0
68 69 1 1 1
70 1
71 72 0 0 0
72 75 75 1 1 1 1
80 0 0
81 83 1 1 1
85 0 0
A hat´arokat a felez˝opontokban megv´alasztva a k¨ovetkez˝o hat´arokat hozn´ank l´etre: 64.5, 66.5, 70.5, 72, 77.5, 80.5, 84. A feloszt´as persze nem egy´ertelm˝ u, hiszen ugyanahhoz a ponthoz tartozhatnak k¨ ul¨onb¨oz˝o oszt´alyok is. Erre p´elda a 72. Ha van egy oszt´aly, amely a leggyakrabban fordul el˝o a k´erd´eses tan´ıt´opontok k¨oz¨ott, akkor azt az oszt´alyt rendelj¨ uk a ponthoz. Ellenkez˝o esetben a leggyakoribb oszt´alyok k¨oz¨ ul azt, amelyik a legkevesebb csoportot/feloszt´ast adja. A t´ ul sok kicsi intervallum l´etrehoz´as´anak elker¨ ul´ese v´egett c´elszer˝ u megadni egy minim´alis elemsz´am k¨ usz¨ob¨ot, legal´abb ennyi elemet kell tartalmaznia minden csoportnak, kiv´eve az utols´ot. Ha ez a minimum ´ert´ek h´arom, akkor a k¨ovetkez˝o csoportokat hozzuk l´etre. 64 65 68 69 70 1 0 1 1 1 1
71 72 72 75 75 0 0 1 1 1 1
80 81 83 0 1 1 0v1
85 0
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
48
Amikor a szomsz´edos csoportokban megegyezik a legt¨obbsz¨or el˝ofordul´o oszt´aly´ert´ek, akkor a k´et csoport k¨oz¨otti hat´art elt¨or¨olhetj¨ uk. Ez alapj´an csak k´et intervallumot fogunk el˝o´all´ıtani, a hat´arvonalat a 77.5 adja. Az utols´o csoporthoz ¨onk´enyesen rendelt¨ uk a 0-´as oszt´aly´ert´eket. Ha nem ´ıgy tesz¨ unk, akkor egy´altal´an nem jel¨ol¨ unk ki hat´art ´es minden pont egy intervallumba tartozik. L´assuk, hogy k¨ ul¨onb¨oz˝o feloszt´as kaphatunk, att´ol f¨ ugg˝oen, hogy a sor melyik v´eg´et˝ol kezdj¨ uk a m´odszert. Entr´ opia alap´ u diszkretiz´ al´ as Weka 3.5.7 weka.filters.supervised.attribute.Discretize
3.3.6. Normaliz´ al´ as Normaliz´al´ason azt ´ertj¨ uk, hogy az attrib´ utum elemeit egy m´asik intervallum elemeivel helyettes´ıtj¨ uk u ´ gy, hogy a helyettes´ıtett ´ert´ekek eloszl´asa megegyezzen az eredeti ´ert´ekek eloszl´as´aval. Tegy¨ uk fel, hogy az A attrib´ utum a1 , a2 , . . . , al ´ert´ekeket vesz fel. Az aj , j = 1, . . . , l 0 ´ert´ek norm´aj´at aj -vel jel¨olj¨ uk. Normaliz´al´asra k´et m´odszer terjedt el. a −min
A , ahol Min-max normaliz´ al´ as : Itt egy sima line´aris transzform´aci´ot v´egz¨ unk: a0j = maxj A −min A minA (maxA ) jel¨oli az A attrib´ utum legkisebb (legnagyobb) ´ert´ek´et. Minden elem a [0,1] intervallumba fog esni.
¯ a −A
Standard normaliz´ al´ as (z-score normalization) : a0j = jσA , ahol A¯ az A attrib´ utum q Pl ¯2 i=1 (ai −A) ) helyett az abszol´ ut ´atlaga, σA pedig a sz´or´asa. A hagyom´anyos sz´or´as ( l Pl
¯ |a −A|
sz´or´ast is haszn´alni szokt´ak ( i=1 l i ). Ennek el˝onye, hogy cs¨okkenti az ´atlagt´ol t´avol es˝o pontok (k¨ ul¨onc¨ok, outlier-ek) hat´as´at. Weka 3.5.7
A k´et normaliz´ al´ o elj´ ar´ ast a weka.filters.unsupervised.attribute.Normalize ´es a weka.filters.unsupervised.attribute.Standardize sz˝ ur˝ ok implement´ alj´ ak. Itt kell megeml´ıten¨ unk a weka.filters.unsupervised.attribute.Center oszt´ alyt, amely csak annyit tesz, hogy minen ´ert´ekb˝ ol kivonja 0 ¯ az a ´tlagot (aj = aj − A).
3.3.7. Mintav´ etelez´ es Az adatb´any´aszati algoritmusok ´altal´aban er˝oforr´as-ig´enyesek. Ha a bemeneti adathalmaznak csak egy kis szelet´et, kis mint´aj´at dolgozzuk fel, akkor hamarabb kapunk eredm´enyt. A
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
49
mintav´etelez´es k¨ovetkezm´enye, hogy az ´ıgy kapott eredm´eny nem biztos, hogy pontos, azaz lehet, hogy nem azt az eredm´enyt kapjuk, mint amikor a teljes adathalmazt dolgozzuk fel. Vannak esetek, amikor a pontos eredm´enyn´el fontosabb a gyors adatfeldolgoz´as. Ilyen esetekben nagyon hasznos egy olyan mintam´eret meghat´aroz´asa, amin´el az algoritmus gyors, ´es a hib´az´as val´osz´ın˝ us´ege kicsi. A hiba m´ert´ek´er˝ol csak abban az esetben tudunk b˝ovebben nyilatkozni, ha tudjuk, milyen jelleg˝ u Az Elevit hat´ekonys´ag´at igazol´ o ¨osszef¨ ugg´es´eket nyer¨ unk ki. Most azt a speci´alis esetet ”klinikai vizsg´alatok k¨ozel t´ızezer n´ezz¨ uk meg, amikor elemek el˝ofordul´as´anak val´osz´ın˝ us´eg´et magyar kismama bevon´as´ aval akarjuk k¨ozel´ıteni a relat´ıv gyakoris´agukkal. Gyako- v´egezt´ek. A vizsg´alatok sor´ an ri mint´ak, asszoci´aci´os szab´alyok, χ2 alap´ u f¨ ugget- az Elevit szed´es´evel kilencvenk´et lens´egvizsg´alatn´al ez az eset ´all fenn. sz´azal´ekkal cs¨okkent az idegrendTegy¨ uk fel, hogy elemek halmaz´ab´ol egy tetsz˝oleges szeri fejl˝od´esi rendelleness´egek x elem el˝ofordul´as´anak val´osz´ın˝ us´ege p ´es m meg- el˝ofordul´asa.” Forr´as: Baba Pafigyel´es/minta ´all rendelkez´es¨ unkre. A mintav´etelez´es tika X. ´evfolyam 10. sz´am, 44. hib´azik, amennyiben x relat´ıv gyakoris´aga elt´er p-t˝ol, pon- oldal, 2007. okt´ober : tosabban a mintav´etelez´es hib´aja : hiba(m) = P rel. gyakoris´ag(x) − p ≥ . Jel¨olje Xi azt a val´osz´ın˝ uP s´egi v´altoz´ot, amely 1, ha x-et v´alasztottuk egy i-edik h´ uz´asn´al, k¨ ul¨onben 0, ´es legyen Y = m X . Mivel a h´ u z´ a sok egym´ a st´ o l f¨ u ggetlenek, az Y eloszl´ a sa m, p i i=1 param´eter˝ u binomi´alis eloszl´ast k¨ovet. Ezt felhaszn´alva : Y hiba(m) = P − p ≥ = P Y − m · p ≥ m · m = P Y − E Y ≥ m · = P Y ≥ m · (E[X] + ) + P Y ≤ m · (E[X] − )
A m´asodik egyenl˝os´egn´el kihaszn´altuk, hogy a binomi´alis eloszl´as v´arhat´o ´ert´eke m · p. Tetsz˝oleges eloszl´as eset´en a v´arhat´o ´ert´ek´et˝ol val´o elt´er´es val´osz´ın˝ us´eg´ere t¨obb ismert korl´at is l´etezik [128]. A Csernov-korl´at (amely a Hoeffding korl´at egy speci´alis esete) a k¨ovetkez˝oket adja : 2 P Y ≥ m · (E[X] + ) ≤ e−2 m
´es
amib˝ol megkapjuk, hogy:
2 P Y ≤ m · (E[X] − ) ≤ e−2 m hiba(m) ≤ 2 · e−2
2m
.
Amennyiben a hibakorl´atot δ-val jel¨ol¨om, akkor az al´abbinak kell igaznak lennie, hogy m≥
2 1 ln . 2 2 δ
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
50
|M|
δ
0.05 0.01 0.01 0.01 0.001 0.001 0.001
0.01 1060 0.01 27000 0.001 38000 0.0001 50000 0.01 2700000 0.001 3800000 0.0001 5000000
3.1. t´abl´azat. A minim´alis minta m´erete r¨ogz´ıtett , δ mellett
Ha p´eld´aul azt szeretn´enk, hogy a mintav´etelez´es sor´an tetsz˝oleges elem minta, – illetve el˝ofordul´as´anak val´osz´ın˝ us´ege – 0.01-n´al nagyobb elt´er´es val´osz´ın˝ us´ege kisebb legyen 1%n´al, akkor a minta m´erete legal´abb 27000 kell legyen. A 3.1 t´abl´azatban adott elt´er´es- ´es val´osz´ın˝ us´egkorl´atokhoz tartoz´o minim´alis mintam´eret tal´alhat´o. Gyan´ us, hogy a v´egs˝o k´epletben nem szerepel p. Ez nem Csernov hib´aja, hanem a mienk, t´ ul gyenge korl´atot haszn´altunk, olyat, amelyik nem vette figyelembe az X eloszl´as´at. A CsernovHoeffding korl´at felt´etelezi, hogy X binomi´alis eloszl´as´ u es 0,1 ´ert´ekeket vehet fel. hiba(m) ≤ e−D(p+||p)m + e−D(p−||p)m,
ahol D a Kullback-Leibler divergenciaf¨ uggv´enyt jel¨oli
a 1−a D(a||b) = a log + (1 − a) log . b 1−b
A Csernov korl´atot megkapjuk, ha ´eszrevessz¨ uk, hogy D(p + ||p) ≥ 22 . Minek vacakolunk mi mindenf´ele korl´attal amikor ismerj¨ uk Y s˝ ur˝ us´egf¨ uggv´eny´et, ´ıgy tetsz˝oleges intervallumra meg tudjuk mondani az el˝ofordul´as val´osz´ın˝ us´eg´et : P Y − m · p ≥ m · = 1 −
min{bmp+mc,m}
X
i=max{dmp−me,0}
m i p (1 − p)m−i i
= 1 + F (max{bmp − mc, 0}, m, p) − F (min{dmp + me, m} − 1, m, p),
ahol F (x, m, p)-vel az (m, p) param´eter˝ u binomi´alis eloszl´as eloszl´asf¨ uggv´eny´et jel¨olj¨ uk. Sajnos a fenti k´eplet alapj´an nem tudunk sz´ep z´art k´epletet adni a minta m´eret´enek als´o korl´atja ´es az , δ p´aros k¨oz¨otti kapcsolatra. Mit gondolunk? R¨ogz´ıtett m ´es eset´en kis vagy nagy p eset´en lesz kicsi a hiba (mivel a binomi´alis eloszl´as szimmetrikus, ez´ert szor´ıtkozzunk p ≤ 0.5 esetekre) ? A bevezet˝o p´elda azt sugallja, hogy min´el kisebb a p, ann´al nagyobb mint´at kell venni. Ez sajnos nem ´ıgy van. Amennyiben p≤, akkor a mp−m≤0 ´es ´ıgy a hiba 1−F (bmp+mc, m, p)-re egyszer¨ us¨odik. Ez viszont null´ahoz tart, amennyiben p → 0, hiszen mp 1 − F (bmp + mc, m, p) ≤ 1 − F (bmc, m, p) = P(Y ≥ bmc) ≤ . bmc
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
51
0.25 Binom(100, 0.3) Binom(100, 0.03)
0.2
0.15
0.1
0.05
0 0
20
40
60
80
100
3.1. ´abra. K¨ ul¨onb¨oz˝o p param´eter˝ u binomi´alis eloszl´asok
Az utols´o egyenl˝otlens´egn´el a Markov egyenl˝otlens´eget haszn´altuk fel. A 0 hat´ar´ert´eket megkaphattuk volna u ´ gy is, ha a Hoeffding-korl´at hat´ar´ert´ek´et sz´am´ıtjuk ki p → 0 eset´en. Az eredm´eny ellentmond elv´ar´asainknak, hiszen eszerint kis val´osz´ın˝ us´egeket kisebb mint´aval tudunk j´ol k¨ozel´ıteni. Na, ´es mi van p≥ eset´en? Tov´abbra is igaz, hogy a p n¨ovel´es´evel n¨ovekszik a hiba ? A v´alasz igenl˝o. Ezt az ´all´ıt´ast csak szeml´eltetni fogjuk. Vess¨ unk egy pillant´ast a 3.1 ´abr´ara, amelyen k´et, k¨ ul¨onb¨oz˝o p param´eter˝ u binomi´alis eloszl´ast l´athatunk. K´et dolgot vehet¨ unk ´eszre. A kisebb p-hez tartoz´o maxim´alis val´osz´ın˝ us´eg nagyobb. A nagy val´osz´ın˝ us´egek a v´arhat´o ´ert´ek kisebb k¨ornyezet´eben tal´alhat´ok. Az ´eszrev´eteleink ´altal´anosan is igazak. A m´asodik ´eszrev´etel p´eld´aul a sz´or´assal van kapcsolatban. A kisebb p param´eter˝ u eloszl´as sz´or´asa kisebb. Legyen a k´et param´eter p ´es q ´es legyen p < q < 0.5. Ekkor mp(1 − p) = σp2 0 sz´amok helyezkednek el sorrendben. Bizony´ıt´as: Az M T M m´atrix szimmetrikus, ez´ert ortogon´alis transzform´aci´oval diagonaliz´alhat´o ´es saj´at´ert´ekei val´osak. Tov´abb´a pozit´ıv szemidefinit, mert tetsz˝oleges x ∈ Rn×n vektor eset´en xT M T Mx=(Mx)T (Mx)=kMxk22 ≥0, ez´ert a saj´at´ert´ekek nem negat´ıvak. A saj´at´ert´ekek legyenek σ12 ≥σ22 ≥. . .≥σr2 >0. Az ezekhez tartoz´o saj´atvektorokb´ol alkotott ortogon´alis m´atrixot jel¨olje V , ekkor Σ+ 2 0 T T V M MV = . 0 0
A m´atrixot k´et r´eszre osztva V = (Vr V2 ), ahol Vr ∈ Rn×r a pozit´ıv saj´at´ert´ekhez tartoz´o saj´atvektorokat tartalmazza. Vagyis VrT M T MVr = Σ+ 2 . Vezess¨ uk be az Ur = MVr Σ+ −1 jel¨ol´est, ekkor M = Ur Σ+ VrT . Az Ur vektorai ortogon´alis vektorrendszert alkotnak, ezt tetsz˝olegesen kieg´esz´ıtve U = (Ur U2 ) ortogon´alis m´atrixsz´a Σ+ 0 V T. M =U 0 0
Most megmutatjuk, hogy szingul´aris felbont´as seg´ıts´eg´evel hogyan lehet dimenzi´ocs¨okkent´est v´egrehajtani. Eml´ekeztet¨ unk r´a, hogy az M m´atrix n-dimenzi´os sorvektorai objektumokat jellemeznek. Dimenzi´o-cs¨okkent´eskor az n attrib´ utumot szeretn´enk k < n dimenzi´oj´ u vektorokkal jellemezni u ´ gy, hogy k¨ozben az objektumok euklideszi t´avols´aga vagy skal´aris szorzattal m´ert hasonl´os´aga csak kis m´ert´ekben v´altozzon. A m´atrixszorz´as elemi tulajdons´aga, hogy a szingul´aris felbont´as az al´abbi form´aban is ´ırhat´o. M = UΣV T =
r X
σi ui viT ,
i=1
ahol ui viT a bal- illetve a jobboldali szingul´aris vektorokb´ol k´epzett di´adszorzat, azaz egy oszlop´es egy sorvektor szorzatak´ent fel´ırt m×n m´eret˝ u 1-rang´ u m´atrix. L´athat´o, hogy az uiviT di´adok monoton cs¨okken˝o σi s´ ullyal szerepelnek az ¨osszegben. Innen ad´odik az ¨otlet, hogy k < r eset´en csak az els˝o k legnagyobb s´ uly´ u di´ad ¨osszeg´evel k¨ozel´ıts¨ uk az M m´atrixot. Azaz Mk =
k X
σi ui viT = Uk Σk VkT ,
i=1
ahol Uk = (u1 u2 . . . uk ) ´es Vk = (v1 v2 . . . vk ), valamit Σk egy k × k m´eret˝ u diagon´alis m´atrix, melynek f˝o´atl´oj´aban a σ1 , σ2 , . . . , σk ´ert´ekek vannak. K¨onnyen l´athat´o, hogy Mk sorai egy kdimenzi´os alt´erben helyezkednek el, hiszen rang(Mk ) = rang(Σk ) = k. Sokkal m´elyebb eredm´eny a k¨ovetkez˝o, melynek bizony´ıt´as´at mell˝ozz¨ uk.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
59
3.2. t´ etel. Legyen M egy legal´abb k rang´ u m´atrix ´es legyen Mk a fenti m´odon sz´am´ıtott k¨ ozel´ıt´ese. Ha a k¨ozel´ıt´es hib´aj´at Frobenius-norm´aval m´erj¨ uk, akkor a k-rang´ u m´atrixok k¨ oz¨ ul az Mk m´atrix a lehet˝o legjobban k¨ozel´ıti M-et, azaz kM − Mk kF =
min
N : rang(N )=k
kM − NkF .
Tov´abb´a a k¨ozel´ıt´es hib´aja a σi szingul´aris ´ert´ekekkel kifejezhet˝o: v uX u r σi2 . kM − Mk kF = t i=k+1
A k¨ozel´ıt´es relat´ıv pontoss´ag´an a hiban´egyzet egyt˝ol vett k¨ ul¨onbs´eg´et ´ertj¨ uk, azaz Pk σ2 Pri=1 i2 . i=1 σi
(3.2)
Az Mk m´atrix sorai az M-´ehez hasonl´oan n m´eret˝ uek, de most m´ar egy k-dimenzi´os alt´ernek az elemei. Ennek az alt´ernek egy b´azis´at alkotj´ak a VkT sorai, ´es az M 0 = Uk Σk m´atrix k-dimenzi´os sorvektorai e b´azisban fejezik ki az Mk sorait. Teh´at a dimenzi´o-cs¨okkent´es eredm´enye, hogy az M m´atrix n-dimenzi´os sorait a vet´ıt´es ut´an az M 0 m´atrix k-dimenzi´os soraival k¨ozel´ıtj¨ uk. A VkT sorainak ortogonalit´as´ab´ol k¨onnyen bel´athat´o, hogy az Mk , illetve az M 0 soraib´ol sz´am´ıtott euklideszi t´avols´agok ´es skal´aris szorzatok is megegyeznek. Teh´at a k¨ozel´ıt´es alatt torz´ıt´as kiz´ar´olag az M-b˝ol Mk -ba t¨ort´en˝o vet´ıt´es sor´an t¨ort´enik, melynek m´ert´eke a 3.2. t´etel alapj´an fel¨ ulr˝ol becs¨ ulhet˝o. Weka 3.5.7 A SVD-t a weka.attributeSelection.LatentSemanticAnalysis oszt´ alyon kereszt¨ ul ´erhetj¨ uk el. Amennyiben a rank ´ert´eke egyn´el nagyobb, akkor a rank a k-t adja meg (figyelembe vett szingul´ aris ´ert´ekek sz´ am´ at). Ellenkez˝ o esetben a k¨ ozel´ıt´es relat´ıv pontoss´ ag´ at defini´ alhatjuk (l´ asd a 3.2 k´eplet). Ha a normalize param´eternek igaz ´ert´eket adunk, akkor a weka az SVD elv´egz´ese el˝ ott az attrib´ utumokat normaliz´ alni fogja. C´elszer˝ u a normaliz´ al´ ast elv´egezni, ugyanis az SVD sor´ an a hib´ at a Frobeniusz norm´ aval sz´ am´ıtjuk, amely attrib´ utum´ert´ekek k¨ ul¨ onbs´eg´enek n´egyzet´evel sz´ amol, ´ıgy a nagy ´ert´ekekkel rendelkez˝ o attrib´ utumok nagy jelent˝ os´eget kapnak.
F˝ okomponens anal´ızis Weka 3.5.7
A f˝ okomponens anal´ızist a weka.filters.unsupervised.attribute.PrincipalComponents sz˝ ur˝ o hajtja v´egre.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
60
Minhash alap´ u lenyomat A k¨ovetkez˝okben az adathalmaz sok oszlopot ´es m´eg t¨obb sort tartalmaz. C´elunk a sorok sz´am´anak cs¨okkent´ese. A feladatot a k¨ovetkez˝o ´abra szeml´elteti. n
m
M
k
c M
Az M m´atrix bin´aris ´es k´et oszlop (vektor) hasonl´os´ag´at a Jaccard-koefficiens adja meg : (mi )T mj ||mi ∩ mj || = , di,j = ||mi ∪ mj || ||mi ||2 + ||mj ||2 − (mi )T mj hiszen az mi (mj )T bin´aris vektorok eset´eben az azonos poz´ıci´okban l´ev˝o 1-esek sz´am´at adja meg, ||mi ||2 pedig a vektor egyeseinek sz´am´at. Felt´etelezz¨ uk, hogy a bin´aris vektorok ritk´ak azaz, ha r-el jel¨olj¨ uk a sorokban az 1-esek ´atlagos sz´am´at, akkor r n. c Az M m´atrixot az M lenyomatm´atrix´anak fogjuk h´ıvni. A lenyomatm´atrixnak nem kell bin´arisnak lennie, de azt term´eszetesen most is elv´arjuk, hogy a mem´oriaig´enye j´oval kevesebb legyen, mint az M mem´oriaig´enye. Tov´abbi kik¨ot´es, hogy az adatok sorfolytonosan vannak t´arolva, azaz el˝osz¨or kiolvashatjuk az els˝o sort, majd a m´asodikat, ´es ´ıgy tov´abb. Ez a helyzet ´all fel hasonl´o weboldalak kisz˝ ur´es´en´el, koppint´asok, kal´ozm´asolatok felder´ıt´es´en´el, hasonl´o tulajdons´ag´ u felhaszn´al´ok keres´es´en´el stb. Tov´abb´a ezt a m´odszert alkalmazhatjuk, amikor hasonl´o elad´as´ u term´ekp´arokat keres¨ unk. Amennyiben a term´ekeket kis t´etelben ´ert´ekes´ıtik, akkor az asszoci´aci´os szab´alyokat kinyer˝o technik´ak (l´asd 5 fejezet) nem alkalmazhat´oak. Gondolkozzunk el azon, hogy m˝ uk¨odik-e az al´abbi algoritmus. V´alasszunk ki n´eh´any sort v´eletlenszer˝ uen ´es tekints¨ uk ezeket lenyomatoknak. K´et lenyomat hasonl´os´ag´anak v´arhat´o ´ert´eke meg fog egyezni az oszlopaik hasonl´os´ag´aval. Ez alapj´an azt mondhatn´ank, hogy a sorok egy v´eletlenszer˝ uen v´alasztott halmaza j´o lenyomat. A fentiek ellen´ere ez az egyszer˝ u m´odszer nagyon rossz eredm´enyt adna. Ennek oka az, hogy a m´atrixunk nagyon ritka (rn), teh´at egy oszlopban a legt¨obb elem 0, ´ıgy nagy val´osz´ın˝ us´eggel a legt¨obb lenyomat is csupa 0 elemb˝ol ´allna. A minhash alap´ u lenyomat egy elem´et a k¨ovetkez˝ok´eppen ´all´ıtjuk el˝o. V´eletlenszer˝ uen permut´aljuk meg a sorokat, majd v´alasszuk az j-edik oszlopok hash ´ert´ek´enek (h) azt a legkisebb sorindexet, ahol 1-es szerepel a j-edik oszlopban. A v´eletlen permut´aci´o term´eszetesen csak elm´eleti megk¨ozel´ıt´es, diszken tal´alhat´o nagy adatb´azis eset´en t´ ul lass´ u m˝ uvelet. Ehelyett sorsoljunk ki minden sorhoz egy v´eletlen hash ´ert´eket. Amennyiben feltehetj¨ uk, hogy a
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
61
m´atrix sorainak sz´ama 216 -n´al kisebb, akkor a sz¨ ulet´esnapi paradoxon2 alapj´an v´alasszunk 32 bit sz´eless´eg˝ u egyenletes eloszl´as´ u v´eletlen sz´amot. Az algoritmus t´enyleges implement´al´asa sor´an teh´at egyes´evel olvassuk a sorokat, v´eletlen sz´amot gener´alunk, ´es minden oszlopnak folyamatosan friss´ıtj¨ uk azt a v´altoz´oj´at, ami megadja a legkisebb, 1-est tartalmaz´o sorindexet. Mivel egy lenyomatnak k darab eleme van, ez´ert minden oszlophoz k darab v´eletlen sz´amot ´all´ıtunk el˝o, ´es k darab hash ´ert´eket t´arol´o v´altoz´ot tartunk karban. Vegy¨ uk ´eszre, hogy a lenyomat el˝o´all´ıt´ashoz egyszer megy¨ unk v´egig a m´atrixon. K´et lenyomat hasonl´os´ag´at a p´aronk´ent egyez˝o lenyomatok sz´am´anak k-hoz vett ar´anya adja meg, azaz ci,` = M cj,` }| |{` : M , dbij = k ci,` az M c m´atrix i-edik oszlop´anak `-edik elem´et jel¨oli. ahol M Be fogjuk bizony´ıtani, hogy dbij j´o becsl´ese dij -nek abban az ´ertelemben, hogy ha i ´es j oszlopok nagyon hasonl´ok, akkor azok lenyomatai is nagy val´osz´ın˝ us´eggel hasonl´ok. Ehhez a k¨ovetkez˝o ´eszrev´etelt haszn´aljuk fel. 3.3. ´ eszrev´ etel. Tetsz˝oleges (i, j) oszlopp´arra igaz, hogy ci,` = M cj,` ] = dij . P[M
Bizony´ıt´as: Csak akkor lehet a k´et lenyomat azonos, ha a legal´abb az egyik oszlopban az 1est tartalmaz´o indexek k¨oz¨ ul olyan sor kapta a legkisebb v´eletlen sz´amot, amelyn´el mindk´et oszlopban 1-es szerepel. Ennek val´osz´ın˝ us´ege ´eppen dij , amennyiben a permut´aci´o egyenletesen sz´orja sz´et az egyeseket. ´ most a hasonl´os´ag meg˝orz´es´evel kapcsolatos ´all´ıt´as: Es 3.4. t´ etel. Legyenek 0− ln2δ/2 al kisebb 2 , akkor δ-n´ a val´osz´ın˝ us´ege annak, hogy a lenyomat ´es az eredeti hasonl´os´ag k¨ ul¨onbs´ege -n´al nagyobb. ci,` = M cj,` Bizony´ıt´as: Tekints¨ uk az i, j oszlopokat. Defini´aljuk Xl val´osz´ın˝ us´egi v´altoz´ot, ami 1 M eset´en, k¨ ul¨onben 0. Legyen Y = X1 + . . .+ Xk . ci,` = Xl binomi´alis eloszl´as´ u ´es az el˝oz˝oekben kimondott ´eszrev´etel miatt E[Xl ] = p = P(M cj,` ) = dij . A lenyomatok hasonl´os´ag´anak defin´ıci´oj´ab´ol ad´odik, hogy dbij = Y . ´Irjuk fel Y -re =M k 2.5.2 -es t´etel´et : 2 P |Y − E[Y ]| > k ≤ 2e−2 k , amib˝ol ad´odik, hogy
2
2 P |dbij − dij | > ≤ 2e−2 k .
A sz¨ ulet´esnap paradoxonnal kapcsolatos k´erd´es a k¨ovetkez˝o : Mekkora a val´osz´ın˝ us´ege annak az ” esem´enynek, hogy emberek egy v´eletlenszer˝ uen v´alasztott r f˝os csoportj´ aban van legal´ abb k´et szem´ely, akik egy (365 r )·r! napon u ¨ nneplik a sz¨ ulet´esnapjukat?”. Elemi kombinatorikus u ´ ton a v´alasz meghat´arozhat´o : pr = 1 − 365 ≈ r 2 −r n 2n u halmazb´ol kell egyenletes ≈ 1−exp 3·365 . A feladat k¨ovetkezm´enye az az ´all´ıt´as, miszerint 2 elemnek 2 elem˝ eloszl´as szerint v´eletlenszer˝ uen egyes´evel kulcsot sorsolni, hogy kicsi (exp(−3)0. Az egyelem˝ u jel¨oltek el˝o´all´ıt´asa egyszer˝ u: minden egyelem˝ u halmaz jel¨olt, amennyiben az u ¨ res elemhalmaz gyakori (|T | ≥ min supp). Ez ¨osszhangban ´all azzal, hogy akkor lehet egy elemhalmaz jel¨olt, ha minden r´eszhalmaza gyakori.
4.2.2. Jel¨ oltek t´ amogatotts´ ag´ anak meghat´ aroz´ asa A jel¨oltek el˝ofordul´asait ¨ossze kell sz´amolni. Ehhez egyes´evel vizsg´aljuk a kosarakat, ´es azon jel¨oltek sz´aml´al´oit n¨ovelj¨ uk eggyel, amelyeket tartalmaz a kos´ar. 1- ´ es 2-elem˝ u jel¨ oltek t´ amogatotts´ aga K¨onny˝ u dolgunk van, amennyiben a jel¨oltek m´erete 1 vagy 2. A feladatot megoldhatjuk egy olyan lista, illetve f´elt¨omb seg´ıts´eg´evel, amelyekben a sz´aml´al´okat t´aroljuk. Az elemek t´amogatotts´ag´anak meghat´aroz´as´an´al a lista j-edik eleme t´arolja a j-edik elem sz´aml´al´oj´at. A tranzakci´ok feldolgoz´as´an´al v´egigmegy¨ unk a tranzakci´o elemein ´es n¨ovelj¨ uk a megfelel˝o cell´akban tal´alhat´o sz´aml´al´okat. Az els˝o v´egigolvas´as ut´an kiv´alogathatjuk a gyakori elemeket. A tov´abbiakban m´ar csak ezekkel az elemekkel dolgozunk, ´ıgy u ´ j sorsz´amokat adhatunk nekik a [1..|GY1 |] intervallumb´ol (eml´ekeztet˝ou ¨ l GYj -vel jel¨olj¨ uk a j-elem˝ u gyakori mint´akat). Az l ´es k-adik elemekb˝ol ´all´o p´ar
4. FEJEZET. GYAKORI ELEMHALMAZOK
68 1 2 3 1 2 .. .
|GY1| − 2 |GY1| − 1
. . . . . 1 2 3
N-1 N
supp(j)=vector[j]
... ...
|GY1 | − 1
supp({l, k})=t¨omb[l][k-l]
4.4. ´abra. Adatstrukt´ ur´ak az 1- ´es 2-elem˝ u jel¨oltek t´amogatotts´ag´anak meghat´aroz´as´ahoz. t´amogatotts´ag´at a t¨omb l-edik sor´anak (k − l)-edik eleme t´arolja (az ´altal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy l < k). Ha egy sz´aml´al´o 4 byte-ot foglal, akkor a t¨omb helyig´enye nagyj´ab´ol 4 · |GY2 1 | byte. Azon elemp´arokhoz tartoz´o t¨ombelem ´ert´eke, amelyek sosem fordulnak el˝o egy¨ utt, 0 lesz. Helyet takar´ıthatunk meg, hogy ha csak akkor vessz¨ uk fel egy jel¨oltp´ar sz´aml´al´oj´at, ha a p´art legal´abb egy tranzakci´o tartalmazza [101]. A p´arok t´amogatotts´ag´anak meghat´aroz´asa kevesebb mem´ori´at fog ig´enyelni, de ezzel egy¨ utt lassabb is lesz. Nagyobb elemhalmazok t´ amogatotts´ aga Vizsg´aljuk meg r´eszletesebben az 5. sort. Adott egy tranzakci´o ´es `-m´eret˝ u jel¨oltek egy halmaza. Feladatunk meghat´arozni azon jel¨olteket, amelyek a tranzakci´o r´eszhalmazai. Megoldhatjuk ezt egyszer˝ uen u ´ gy, hogy a jel¨olteket egyes´evel vessz¨ uk, ´es eld¨ontj¨ uk, hogy tartalmazza-e ˝oket a tranzakci´o. Rendezett halmazban rendezett r´eszhalmaz keres´ese elemi feladat. Vegy¨ unk fel k´et mutat´ot, amelyek a kos´ar, illetve a jel¨olt elemein fognak v´egighaladni. Kezdetben mutasson mindk´et mutat´o az elemhalmazok els˝o elemeire. kos´armutat´o Amennyiben a k´et mutat´o ´altal mutatott elemek meg? egyeznek, akkor l´eptess¨ uk mindk´et mutat´ot a k¨ovetkos´ar : A B C D E F G I kez˝o elemre. Ha a tranzakci´oban tal´alhat´o elem kisebb sorsz´am´ u, akkor csak a kos´ar mutat´oj´at l´eptess¨ uk, eljel¨olt : B E G lenkez˝o esetben pedig ´alljunk meg ; ekkor a kos´ar biz6 tosan nem tartalmazza a jel¨oltet. Ha a jel¨olt utols´o eleme is megegyezik a kos´ar valamelyik elem´evel, akjel¨oltmutat´o kor a kos´ar tartalmazza a jel¨oltet. Ennek az egyszer˝ u m´odszernek a h´atr´anya, hogy sok jel¨olt eset´en lass´ u, hiszen annyiszor kell a tranzakci´o elemein v´egighaladni, amennyi a jel¨oltek sz´ama. A gyorsabb m˝ uk¨od´es ´erdek´eben a jel¨olteket sz´of´aban vagy hash-f´aban (hash-tree) c´elszer˝ u t´arolni. A sz´of´at szok´as prefix-f´anak vagy lexikografikus f´anak is h´ıvni [2]. Az eredeti Apriori implement´aci´oban hash-f´at alkalmaztak, azonban tesztek bizony´ıtj´ak, hogy a sz´ofa gyorsabb m˝ uk¨od´est eredm´enyez, mint a hash-fa. A hash-fa sz´of´aval val´o helyettes´ıt´es´er˝ol m´ar a [96]-ban ´ırtak, ahol a sz´of´at alkalmaz´o Apriori algoritmust SEAR-nek nevezt´ek el. A tov´abbiakban a sz´of´aban val´o keres´est ismertetj¨ uk (a sz´of´ak fel´ep´ıt´es´er˝ol ´es t´ıpusair´ol az alapfogalmak 2.8.1 r´esz´eben m´ar sz´oltunk).
4. FEJEZET. GYAKORI ELEMHALMAZOK
69
A B C
B C
D
C D
D
4.5. ´abra. Az ABC, ABD, ACD, BCD jel¨olteket t´arol´o sz´ofa. A sz´ofa ´eleinek c´ımk´ei elemek lesznek. Minden cs´ ucs egy elemhalmazt reprezent´al, amelynek elemei a gy¨ok´erb˝ol a cs´ ucsig vezet˝o u ´ t ´eleinek c´ımk´eivel egyeznek meg. Feltehetj¨ uk, hogy az egy cs´ ucsb´ol indul´o ´elek, tov´abb´a az egy u ´ ton tal´alhat´o ´elek c´ımk´ek szerint rendezve vannak (pl. legnagyobb elem az els˝o helyen). A jel¨oltek sz´aml´al´oit a jel¨oltet reprezent´al´o lev´elhez rendelj¨ uk. A 4.5. ´abr´an egy sz´of´at l´athatunk. A t tranzakci´oban az `-elem˝ u jel¨olteket u ´ gy tal´aljuk meg, hogy a jel¨olteket le´ır´o fa gy¨oker´eb˝ol kiindulva, rekurz´ıv m´odon bej´arunk bizonyos r´eszf´akat. Ha egy d szint˝ u bels˝o cs´ ucshoz a tranzakci´o j-edik elem´en kereszt¨ ul jutunk, akkor azon ´elein kereszt¨ ul l´ep¨ unk eggyel m´elyebb szintre, amelyeknek c´ımk´eje megegyezik a tranzakci´o j 0 -edik elem´evel, ahol j < j 0 ≤ |t| − ` + d (ugyanis ` − d elemre m´eg sz¨ uks´eg van ahhoz, hogy lev´elbe ´erj¨ unk). Ha ily m´odon eljutunk egy ` szint˝ u cs´ ucshoz, az azt jelenti, hogy a cs´ ucs ´altal reprezent´alt elemhalmazt tartalmazza t, ´ıgy ennek a lev´elnek a sz´aml´al´oj´at kell n¨oveln¨ unk eggyel. A sz´of´at prefix f´anak is szokt´ak h´ıvni, ami arra utal, hogy a k¨oz¨os prefixeket csak egyszer t´arolja. Ett˝ol lesz gyorsabb a sz´of´as t´amogatotts´ag-meghat´aroz´as a naiv m´odszern´el. A k¨oz¨os prefixeket ¨osszevonjuk, ´es csak egyszer foglalkozunk vel¨ uk. A sz´ofa nagy el˝onye a gyors t´amogatotts´ag-meghat´aroz´as mellett, hogy a jel¨olt-el˝o´all´ıt´ast is t´amogatja. Tudjuk, hogy k´et gyakori elemhalmaz akkor lesz gener´ator, ha a legnagyobb sorsz´am´ u elem¨ uk elhagy´as´aval ugyanazt az elemhalmazt kapjuk, vagy m´as szavakkal, a k´et gyakori elemhalmaz ` − 1 hossz´ u prefixei megegyeznek. A t´amogatotts´ag-meghat´aroz´as´aban haszn´alt sz´of´at felhaszn´alhatjuk a k¨ovetkez˝o iter´aci´os l´ep´es jel¨oltjeinek az el˝o´all´ıt´as´ara, hiszen a sz´ofa t´arolja a jel¨olt-el˝o´all´ıt´ashoz sz¨ uks´eges gyakori elemhalmazokat. Az eg´esz algoritmus alatt teh´at egyetlen sz´of´at tartunk karban, amely az algoritmus kezdetekor csak egy cs´ ucsb´ol ´all (ez reprezent´alja az u ¨ res halmazt). A t´amogatotts´ag-meghat´aroz´as ut´an t¨or¨olj¨ uk azon leveleket, amelyek sz´aml´al´oja kisebb min supp-n´al. Az iter´aci´os l´ep´es v´eg´ere kialakul´o sz´ofa alapj´an el˝o´all´ıtjuk a jel¨olteket, amely sor´an a sz´ofa u ´ j, eggyel m´elyebb szinten l´ev˝o levelekkel b˝ov¨ ul. A jel¨olt-el˝o´all´ıt´as sor´an arra is lehet˝os´eg¨ unk van, hogy az el˝oz˝o iter´aci´oban gyakorinak tal´alt elemhalmazokat ´es azok sz´aml´al´oit ki´ırjuk (a kimenetre vagy a h´att´ert´arol´ora). A rendez´ es hat´ asa az Apriori algoritmusra Amennyiben a sz´ofa hat´ekony adatstrukt´ ura sorozatok t´arol´as´ara, ´es gyors visszakeres´es´ere, akkor ugyanez mondhat´o el elemhalmazok eset´ere is. Ha teh´at elemhalmazok adottak ´es az a feladat, hogy gyorsan meg´allap´ıtsuk, hogy egy elemhalmaz szerepel-e a megadottak k¨oz¨ott, akkor el´eg defini´alnunk az elemeken egy teljes rendez´est, ami alapj´an a halmazokat sorozatokk´a alak´ıthatjuk. K¨ ul¨onb¨oz˝o rendez´esek k¨ ul¨onb¨oz˝o sorozatokat ´all´ıtanak el˝o, amelyek k¨ ul¨onb¨oz˝o sz´of´akat eredm´enyeznek. Erre mutat p´eld´at a k¨ovetkez˝o ´abra, ahol k´et olyan sz´of´at l´athatunk, amelyek
4. FEJEZET. GYAKORI ELEMHALMAZOK
70
a AB, AC elemhalmazokat t´arolj´ak. Az els˝o sz´ofa az ABC szerint cs¨okken˝o sorrendet haszn´al (C ≺ B ≺ A), m´ıg a m´asodik ennek ellenkez˝oj´et. 0
0 B
A
C
1
1 C
A
B 2
2
3
A
3
4
4.6. ´abra. P´elda : k¨ ul¨onb¨oz˝o rendez´est haszn´al´o sz´of´ak Egy sz´ofa mem´oriaig´enye ar´anyos a sz´ofa pontjainak sz´am´aval, ´ıgy jogos az az ig´eny, hogy azt a teljes rendez´est v´alasszuk, amely a legkevesebb pont´ u, azaz minim´alis m´eret˝ u sz´of´at adja. Ez az u ´ n. minim´alis sz´ofa el˝o´all´ıt´as´anak feladata. Sajnos ez egy neh´ez feladat. 4.2. t´ etel. A minim´alis sz´ofa probl´ema NP-neh´ez . Eredetileg a feladatot n-esekre bizony´ıtott´ak, de ebb˝ol k¨ovetkezik, hogy halmazokra is ´erv´enyes. Legyen ugyanis az alaphalmaz I. Ekkor minden halmazt felfoghatunk, mint egy |I| hossz´ u bin´aris ´ert´ekeket tartalmaz´o vektort. A fenti p´eld´at szeml´elve az embernek az az ´erz´ese t´amad, hogy az a rendez´es adja a legkevesebb cs´ ucs´ u sz´of´at, amelyeben az elemek a halmazokban val´o el˝ofordul´asok sz´am´anak ar´any´aban cs¨okken˝o sorba vannak rendezve. Ugyanis a gyakori elemek fognak a halmazok kapott sorozatok elej´ere ker¨ ulni, ´es ezek az elemek, mivel gyakoriak sok sorozat elej´en lesznek megtal´alhat´ok. A sz´ofa a k¨oz¨os prefixeket csak egyszer t´arolja, ´ıgy akkor lesz a sz´ofa m´erete v´arhat´oan a legkisebb, ha min´el t¨obb sorozatnak van k¨oz¨os prefixe. Az el˝oz˝o ´abra is ezt sugallta. Sajnos a fenti m´odon kapott sz´ofa nem felt´etlen¨ ul adja a legkevesebb pontot tartalmaz´o sz´of´at. Ezt a legegyszer˝ ubben egy ellenp´eld´aval tudjuk bizony´ıtani. Legyenek a halmazaink a k¨ovetkez˝oek: AB, AC, CZ, BCZ, BZ, Z. A Z elem gyakoris´aga 4, a B, C-´e 3 ´es az A elem´e 2. Ha felrajzoljuk ezen gyakoris´agok alapj´an kapott rendez´es (Z > B > C > A, de a C, B elemek sorrende tetsz˝oleges lehet) szerinti sz´of´at, akkor a bal oldali sz´of´at kapjuk. Ha az A ´es B, C elemek sorrendj´et felcser´elj¨ uk, akkor eggyel kevesebb pontot tartalmaz´o sz´of´at kapunk (jobb oldal). T≺DESC
TOP T
0 B Z
1 B 4
2
C 5
0
C 3
A 6
7
B 3
C 8
Z
1 A
A 2 C
C B 4
5
6
C 7
4.7. ´abra. Ellenp´elda arra, hogy az el˝ofordul´as szerinti cs¨okken˝o sorrend adja a minim´alis m´eret˝ u sz´of´at Tapasztalatok alapj´an gyakoris´ag szerint cs¨okken˝o rendez´es kisebb sz´of´at eredm´enyez, mint a gyakoris´ag szerint n¨ovekv˝o rendez´es, vagy m´as v´eletlenszer˝ uen megv´alasztott rendez´esek.
4. FEJEZET. GYAKORI ELEMHALMAZOK
71
Ennek ellen´ere olyan sz´of´at c´elszer˝ u alkalmazni, amelyben az elemeken ´ertelmezett rendez´es a gyakoris´ag szerint n¨ovekv˝o sorrendnek felel meg. Ennek ugyanis k´et el˝onye van. Egyr´eszr˝ol a sz´ofa pontjai kisebbek lesznek (kevesebb ´el indul ki bel˝ol¨ uk), de ami m´eg fontosabb, hogy a ritka elemek lesznek k¨ozel a gy¨ok´erhez. A ritka elemekkel kevesebb kos´arbeli elem fog egyezni, ez´altal a sz´ofa kisebb r´esz´et j´arjuk be a t´amogatott jel¨oltek meghat´aroz´asa sor´an. A tov´abbiakban bemutatunk n´eh´any gyors´ıt´asi ¨otletet, amelynek seg´ıts´eg´evel nagym´ert´ekben lecs¨okkenthet˝o a sz´ofa alap´ u Apriori algoritmus fut´asi ideje ´es mem´oriaig´enye.
4.2.3. Ritka jel¨ oltek t¨ orl´ ese Ritka jel¨oltek t¨orl´es´ehez ´es a gyakori jel¨oltek ki´ır´as´ahoz be kell j´arnunk a sz´of´at ´es amikor lev´elbe ´er¨ unk, akkor ¨ossze kell hasonl´ıtani a lev´el sz´aml´al´oj´at a t´amogatotts´agi k¨ usz¨obbel. Ha a sz´aml´al´o nagyobb, akkor az eredm´enyf´ajlba ´ırjuk a lev´el ´altal reprezent´alt halmazt ´es a sz´aml´al´ot. Ellenkez˝o esetben t¨or¨olj¨ uk a levelet. A bej´ar´ast megtakar´ıthatjuk, ha a fenti m˝ uveletet a jel¨oltek el˝o´all´ıt´as´aval egy¨ utt tessz¨ uk meg. A jel¨oltek el˝o´all´ıt´as´an´al is be kell j´arni a sz´of´at. A testv´er levelek k¨oz¨ ul t¨or¨olj¨ uk a ritka jel¨olteket, majd a megmaradtakb´ol gener´aljunk u ´ j, eggyel nagyobb m´eret˝ u jel¨olteket.
4.2.4. Zs´ akutca nyes´ es Sz¨ uks´egtelen t´arolni azon cs´ ucsokat, amelyekb˝ol az o¨sszes el´erhet˝o levelet t¨or¨olt¨ uk. Ezek ugyanis lass´ıtj´ak a t´amogatotts´agok meghat´aroz´as´ at (mik¨ozben szerepet nem j´atszanak benne) ´es feleslegesen foglalj´ak a mem´ori´at. Nem mindegy azonban, hogy mikor t´avol´ıtjuk el a zs´akutc´akat. Ha p´eld´aul a AB, AC, BC k´et-elem˝ u jel¨olt lett gyakori, akkor a BC lev´elb˝ol (de az AC-b´ol sem) nem fogunk u ´ j levelet felvenni, azaz a BC lev´el zs´akutca lesz. Ezt a levelet azonban nem t¨or¨olhetj¨ uk az ABC u ´j jel¨olt felv´etele el˝ott, hiszen a BC halmaz az ABC-nek val´odi r´eszhalmaza, ´ıgy sz¨ uks´eges, hogy szerepeljen a f´aban. K¨onny˝ u bel´atni, hogy tetsz˝oleges I halmaz nem gener´ator, eggyel kisebb m´eret˝ u, val´odi r´eszhalmaza lexikografikus rendez´es szerint I ut´an k¨ovetkezik. Ez´ert, ha preorder bej´ar´ast haszn´alunk a jel¨oltek el˝o´all´ıt´asa sor´an, akkor egy levelet azonnal t¨or¨olhet¨ unk, ha bel˝ole nem tudtunk u ´ j levelet felvenni. Garant´alt, hogy egyetlen r´eszhalmazt sem t¨or¨olt¨ unk m´eg, hiszen a val´odi, nem gener´ator r´eszhalmazokat csak k´es˝obb fogjuk megl´atogatni a preorder bej´ar´as szerint.
4.2.5. A bemenet t´ arol´ asa Amikor megvizsg´alunk egy kosarat annak ´erdek´eben, hogy eld¨onts¨ uk, mely jel¨olteket tartalmazza, akkor az oper´aci´os rendszer a h´att´ert´arol´ob´ol bem´asolja a tranzakci´ot a mem´ori´aba. Ha van el´eg hely a mem´ori´aban, akkor a tranzakci´o ott is marad, ´es amikor ism´et sz¨ uks´eg van r´a, nem kell lass´ u IO m˝ uveletet v´egezn¨ unk. A bemenetet teh´at sz¨ uks´egtelen explicit elt´arolnunk a mem´ori´aban, hiszen az oper´aci´os rendszer ezt megteszi helyett¨ unk. S˝ot, ha a program elt´arolja a bemeneti adatot (p´eld´aul egy list´aban), akkor a val´os´agban dupl´an lesz elt´arolva. A bemenet t´arol´as´anak vannak el˝onyei is. P´eld´aul ¨osszegy˝ ujthetj¨ uk az azonos tranzakci´okat ´es ahelyett, hogy t¨obbsz¨or hajtan´ank v´egre ugyanazon a tranzakci´on a t´amogatott jel¨oltek meghat´aroz´as´at, ezt egyszer tessz¨ uk meg. Sz¨ uks´egtelen az eredeti tranzakci´okat t´arolni. Az
4. FEJEZET. GYAKORI ELEMHALMAZOK
72
els˝o v´egigolvas´as ut´an rendelkez´esre ´allnak a gyakori elemek. A ritka elemek u ´ gysem j´atszanak szerepet, ez´ert el´eg a tranzakci´oknak csak a gyakori elemeit t´arolni. Ennek tov´abbi el˝onye, hogy sokkal t¨obb azonos ,,sz˝ urt” tranzakci´o lehet, ez´altal tov´abb cs¨okken a t´amogatott jel¨olteket keres˝o elj´ar´as megh´ıv´as´anak sz´ama. R´aad´asul az `-edik v´egigolvas´as sor´an t¨or¨olhetj¨ uk azokat a sz˝ urt tranzakci´okat, amelyek nem tartalmaznak egyetlen `-elem˝ u jel¨oltet sem. A sz˝ urt tranzakci´okat c´elszer˝ u olyan adatstrukt´ ur´aban t´arolni, amit gyorsan fel lehet ´ep´ıteni (azaz gyorsan tudjuk besz´ urni a sz˝ urt tranzakci´okat) ´es gyorsan v´egig tudunk menni a besz´ urt elemeken. Alkalmazhatunk erre a c´elra egy sz´of´at, de tesztek azt mutatj´ak, hogy egy pirosfekete fa (kiegyens´ ulyozott bin´aris fa), amelynek cs´ ucsaiban egy-egy sz˝ urt tranzakci´o tal´alhat´o, m´eg jobb megold´as, mert j´oval kisebb a mem´oriaig´enye.
4.2.6. Tranzakci´ ok sz˝ ur´ ese A feldolgoz´as sor´an a tranzakci´okat m´odos´ıthatjuk/t¨or¨olhetj¨ uk annak ´erdek´eben, hogy az Apriori m´eg hat´ekonyabb legyen. A tranzakci´o sz˝ ur´ese alatt a tranzakci´o olyan elemeinek t¨orl´es´et ´ertj¨ uk, amelyek nem j´atszanak szerepet az algoritmus kimenet´enek el˝o´all´ıt´as´aban. A nem fontos elemek lass´ıtj´ak az algoritmust, gondoljunk itt a t´amogatotts´ag meghat´aroz´as´anak m´odj´ara. A sz´ofa egy bels˝o csom´opontj´an´al meg kell hat´aroznunk a k¨oz¨os elemeket az ´elek c´ımk´einek ´es a tranzakci´o elemeinek halmaz´aban. Min´el t¨obb elem van a tranzakci´oban, ann´al tov´abb tart ez a m˝ uvelet. Sz˝ ur´esnek tekinthetj¨ uk az els˝o iter´aci´o ut´an v´egrehajtott l´ep´est : 1. sz˝ ur˝ o¨ otlet. Minden tranzakci´ob´ol t¨or¨olj¨ uk a ritka elemeket. Egyszer˝ u sz˝ ur˝o ¨otletek a k¨ovetkez˝ok: 2. sz˝ ur˝ o¨ otlet. Az `-edik iter´aci´oban a t tranzakci´o feldolgoz´asa ut´an t¨or¨olj¨ uk a t-t, amennyiben a t elemeinek sz´ama nem nagyobb, mint `. Nyilv´anval´o, hogy ez a tranzakci´o nem tartalmaz olyan elemhalmazt, amely a k´es˝obbi iter´aci´oban lesz jel¨olt. 3. sz˝ ur˝ o¨ otlet. T¨or¨olj¨ uk a tranzakci´ot, amennyiben az nem tartalmaz jel¨oltet. Ennek az ¨otletnek a jav´ıtott v´altozata : 4. sz˝ ur˝ o¨ otlet. T¨or¨olj¨ uk a tranzakci´o azon elemeit, amelyek nem elemei egyetlen olyan jel¨ oltnek sem, amelyet tartalmaz a tranzakci´o. Amennyiben az ´ıgy keletkezett tranzakci´o m´erete `, akkor t¨or¨olj¨ uk teljesen a tranzakci´ot. P´eld´aul, ha a h´aromelem˝ u jel¨oltek halmaza {ABC, ABD, BCD, F GH} ´es t = ABCDH, akkor a H elemet t¨or¨olhetj¨ uk a tranzakci´ob´ol. t0 = ABCGH eset´eben a teljes tranzakci´ot t¨or¨olj¨ uk. Az el˝oz˝o sz˝ ur˝o¨otletet tov´abb szigor´ıthatjuk. Mi kell ahhoz, hogy egy elem eleme legyen majd egy olyan `+ A v´ernyom´ as ´es a nemzetek boldogs´ aga +1-elem˝ u j jel¨oltnek a k¨ovetkez˝o iter´aci´oban, amelyet k¨oz¨otti ¨osszef¨ ugg´esekre mutatott r´ a egy tartalmaz az aktu´alis jel¨olt. Sz¨ uks´eges felt´etel, hogy a amerikai kutat´o : Az amerikai kutat´ ok ” j minden `-elem˝ u r´eszhalmaz´at tartalmazza a tranz- szerint az eredm´ enyek eg´eszen egyakci´o. A j egy eleme pontosan ` darab r´eszhalmaznak szer˝ uek, a boldog orsz´agokb´ol sz´armaz´ o az eleme. Ez alapj´an: emberek - sv´edek, d´anok, britek ´es hollandok - kevesebbet szenvednek a magas v´ernyom´ast´ol, mint a n´emetek, vagy a portug´alok, akik az eur´ opai boldogs´agsk´ala v´eg´en tal´alhat´ ok.” Forr´as: http://www.karpatinfo. net/article38511.html
4. FEJEZET. GYAKORI ELEMHALMAZOK
73
5. sz˝ ur˝ o¨ otlet. T¨or¨olj¨ uk a tranzakci´o azon elemeit, amelyek nem elemei ` darab olyan jel¨oltnek, amelyet tartalmaz a tranzakci´o. Term´eszetesen most is igaz, hogy ez ut´an a sz˝ ur´es ut´an alkalmazzuk a m´asodik sz˝ ur˝o ¨otletet, ha ez lehets´eges. 00 A fenti p´eld´aban a t = ABCF GH tranzakci´ot ez a sz˝ ur´es teljes eg´esz´eben t¨orli.
4.2.7. Equisupport nyes´ es Az egyenl˝o t´amogatotts´ag´ u elemhalmazok alapj´an t¨ort´en˝o, u ´ n. equisupport nyes´es tal´an a legelterjedtebb tr¨ ukk a gyakori elemhalmazok kinyer´es´enek meggyors´ıt´as´ara. A nyes´es a 4.3 tulajdons´ag egy k¨ovetkezm´eny´et haszn´alja ki. A t´amogatotts´ag meghat´aroz´as´an´al kihagyhatjuk azokat a halmazokat, amelyeknek van olyan `-elem˝ u val´odi r´eszhalmazuk, amelyek t´amogatotts´aga egyenl˝o egy (`-1)-elem˝ u r´eszhalmazuk´eval. 4.3. tulajdons´ ag. Legyen X ⊂Y ⊆I. Ha supp(X)=supp(Y ), akkor supp(X ∪Z)=supp(Y ∪Z) teljes¨ ul minden Z ⊆ I-re. Ez az ´all´ıt´as minden Z ⊆ I elemhalmazra igaz, de nek¨ unk el´eg lesz csak a Z ⊆ I\Y halmazokra koncentr´alnunk. Az equisupport nyes´es ´es a z´art elemhalmazok k¨oz¨otti o¨sszef¨ ugg´es egy´ertelm˝ u. Az X elemhalmaz nem z´art, ´es lez´artja Y , amennyiben X ⊂ Y , supp(X) = supp(Y ), tov´abb´a nem l´etezik olyan elemhalmaz, amelynek Y val´odi r´eszhalmaza, ´es t´amogatotts´aga megegyezik Y t´amogatotts´ag´aval. Egy X elemhalmaz akkor, ´es csak akkor lehet egy egzakt (100% bizonyoss´ag´ u) asszoci´aci´os szab´aly felt´etel r´esze, ha X nem z´art elemhalmaz. Az X elemhalmaz kulcs minta [12], ha nincs vele egyenl˝o t´amogatotts´ag´ u val´odi r´eszhalmaza. Ha az Y jel¨oltnek a t´amogatotts´aga megegyezik az X-el jel¨olt prefixe t´amogatotts´ag´aval, akkor felesleges az Y -t tartalmaz´o Y ∪ Z halmazokat mint u ´ j jel¨olteket el˝o´all´ıtani, a 4.3 tulajdons´ag alapj´an ezek t´amogatotts´aga X ∪ Z r´eszhalmazukb´ol k¨ozvetlen¨ ul sz´am´ıthat´o [48]. Az alulr´ol ´ep´ıtkez˝o algoritmusokn´al (Apriori, Eclat, Fp-growth, stb.) a prefixek t´amogatotts´aga mindig el´erhet˝o, ´ıgy a prefix equisupport nyes´est (az X az Y prefixe ´es |X| + + 1 = |Y |) b´armikor alkalmazhatjuk. A prefix equisupport nyes´es a k¨ovetkez˝ok´eppen m˝ uk¨odik: miut´an kisz´amoltuk a P elemhalmaz gyerekeinek t´amogatotts´ag´at, a ritka elemek elhagy´asakor ellen˝orizz¨ uk, hogy a t´amogatotts´aguk egyenl˝o-e a sz¨ ul˝o t´amogatotts´ag´aval, azaz supp(P )-vel. Az ezt teljes´ıt˝o elemeket nem kell figyelembe venn¨ unk mint gener´atorokat a k¨ovetkez˝o jel¨oltel˝o´all´ıt´as sor´an. Ezen jel¨olteket t¨or¨olj¨ uk ´es az utols´o elemeiket egy halmazban t´aroljuk el, amit equisupport halmaznak h´ıvunk ´es P -hez rendelj¨ uk. Vegy¨ uk ´eszre, hogy az elemhalmazh´al´o prefix bej´ar´asnak k¨osz¨onhet˝oen a jel¨olt-el˝o´all´ıt´as sor´an az X \ Y ≺ z minden z ∈ Z, ahol ≺ az elemhalmaz bej´ar´as´an´al haszn´alt rendez´es. Amikor ki´ırjuk a GY gyakori elemhalmazt, vele egy¨ utt ki´ırjuk minden E 0 ⊆ E halmazokkal vett uni´oj´at is, ahol E a GY prefixeinek equisuporthalmazainak uni´oja. 4.4. p´ elda. Legyenek a k´etelem˝ u, A prefix˝ u gyakori elemhalmazok a k¨ovetkez˝ ok : {AB, AC, AD} ´es supp(A) = supp(AB) = supp(AC) = 4 tov´abb´a supp(AD) = 3. A t¨ obbi A prefix˝ u jel¨olt el˝o´all´ıt´as´ahoz egyed¨ ul az AD elemhalmazt kell figyelembe venn¨ unk. Azonban egy
4. FEJEZET. GYAKORI ELEMHALMAZOK
74
jel¨olt l´etrehoz´as´ahoz mind az Apriori, az Eclat- ´es az Fp-growth algoritmusn´al legal´ abb k´et elemhalmaz sz¨ uks´eges, ´ıgy itt v´eget is ´er az A prefix˝ u halmazok feldolgoz´asa. Az AD ´es A elemhalmazok ki´ır´asakor BC minden r´eszhalmaz´at is hozz´ajuk kell venni, ´ıgy v´eg¨ ul az AD, ABD, ACD, ABCD, valamint az A, AB, AC, ABC halmazok ker¨ ulnek ki´ır´asra ; az el˝obbiek t´ amogatotts´aga 3, ut´ obbiak´e 4 lesz. Ha az adatb´azis csak z´art elemhalmazokat tartalmaz, akkor nem tudjuk ezt a nyes´est alkalmazni, a t´amogatotts´agok egyenl˝os´eg´enek vizsg´alata viszont lelass´ıtja az algoritmust. A tapasztalat azonban azt mutatja, hogy az ellen˝orz´es gyors (p´eld´aul az Apriori algoritmusn´al nem kell u ´ jra bej´arni a sz´of´at), ´es nem okoz cache miss-t. A kev´es nemz´art elemhalmazt tartalmaz´o adatb´azisokn´al eleny´esz˝o a fut´asiid˝o n¨oveked´ese. Az equisupport nyes´es ez´ert biztons´agos gyors´ıt´asi tr¨ ukknek tekinthet˝o. A fenti le´ır´asban nem haszn´altuk ki az Apriori algoritmus saj´atoss´agait, csak azt, hogy az algoritmus alulr´ol ´ep´ıtkez˝o ´es az elemhalmaz bej´ar´as sor´an defini´alva van egy rendez´es ´es ´ıgy a prefix is. A tov´abbiakban jobban a r´eszletekbe m´elyed¨ unk ´es megn´ezz¨ uk, hogy mit kell tenn¨ unk az Apriori algoritmusban, ha a prefix equisupport nyes´est k´ıv´anjuk alkalmazni. Az Apriori algoritmus sz´of´as megk¨ozel´ıt´ese eset´en minden cs´ ucshoz egy list´at kell hozz´avenn¨ unk, mely az equisupport halmaz elemeit tartalmazza. A ritk´anak bizonyul´o jel¨oltek elt´avol´ıt´asakor ellen˝orizz¨ uk, hogy a lev´el t´amogatotts´aga megegyezik-e prefix´enek t´amogatotts´ag´aval. Ha igen, a levelet t¨or¨olhetj¨ uk a sz´of´ab´ol, ´es az ´ele c´ımk´ej´et hozz´a´ırjuk a sz¨ ul˝o equisupport halmaz´ahoz. Minden i elem egy equisupport halmazban tekinthet˝o egy i c´ımk´ej˝ u hurok´elnek. A hurok´eleket nem kell figyelembe venni a t´amogatotts´ag meghat´aroz´asakor, de a jel¨olt-el˝o´all´ıt´asn´al igen. 4.5. p´ elda. Legyenek AB, AC, BC, BD a gyakori p´arok. supp(AB) 6= supp(A) 6= supp(AC) ´es supp(B) = supp(BC) = supp(BD). A 4.8 ´abra a sz´ofa ritka jel¨oltek elt´avol´ıt´asa ut´ ani allapot´at mutatja. Vegy¨ ´ uk ´eszre, hogy ha a hurok´eleket figyelmen k´ıv¨ ul hagytuk volna a jel¨oltgener´al´as sor´an, akkor az ABC elemhalmazt nem ´all´ıtottuk volna el˝o mint jel¨olt, holott minden r´eszhalmaza gyakori. A C
B B
C,D
4.8. ´abra. P´elda : equisupport levelek elt´avol´ıt´asa Ez a p´elda az equisupport nyes´es ´es a zs´akutcanyes´es k¨ozti ¨osszef¨ ugg´esre is felh´ıvja a figyelmet. L´attuk, hogy a B csom´opont nem vezet 2 m´elys´eg˝ u lev´elbe, ´ıgy a zs´akutcanyes´es t¨or¨olte ´ volna ezt a cs´ ucsot, ´es nem lett volna jel¨olt az ABC elemhalmaz. Ujra kell ´ertelmezn¨ unk a csom´opontok m´elys´eg´et a zs´akutcanyes´esn´el az´ert, hogy ne t¨or¨olj¨on olyan leveleket, amikre sz¨ uks´eg lehet a jel¨olt-el˝o´all´ıt´as sor´an. Az X elemhalmaz t´amogatotts´aga megegyezik az X olyan b˝ov´ıt´es´enek t´amogatotts´ag´aval, ahol a hozz´ aadott elem az X valamely prefix´ehez tartoz´o equisupport halmaz egy eleme. ´Igy amikor figyelembe vessz¨ uk az X csom´opont m´elys´eg´et a zs´akutcanyes´es sor´an, hozz´a kell adnunk X aktu´alis m´elys´eg´ehez a gy¨ok´erb˝ol az X-be vezet˝o
4. FEJEZET. GYAKORI ELEMHALMAZOK
75
pontok equisupport halmazainak ¨osszm´eret´et. P´eld´aul a 4.8 ´abr´an l´athat´o sz´of´an a B m´elys´ege 1 helyett 3. A sz´ofa hat´ekony megval´os´ıt´as´anak r´eszleteit ´es tov´abbi gyors´ıt´asi ¨otleteket a [17, 20, 41] ´ır´asokban tal´alhatunk. Egy olyan programcsomag, amely sz´ofa alap´ u Apriori implement´aci´ot tartalmaz (tov´abb´a hat´ekony Eclat ´es Fp-growth implement´aci´ot) ´es kutat´asi c´elokra szabadon let¨olthet˝o a http://www.cs.bme.hu/~bodon/en/fim env oldalr´ol.
4.2.8. Borgelt-f´ ele t´ amogatotts´ ag-meghat´ aroz´ as Ha a tranzakci´okat sz´of´aban vagy Patr´ıcia-f´aban t´aroljuk, akkor egy m´asik technik´at is haszn´alhatunk a t´amogatotts´agok meghat´aroz´as´ara [19, 20]. Ezt a m´odszert alkalmazza Christian Borgelt a vil´agh´ır˝ u Apriori implement´aci´oja utols´o v´altozataiban. Az a megfigyel´es ´all az ¨otlet m¨og¨ott, hogy k´et tranzakci´o a k¨oz¨os prefixig ugyanazt a programfut´ast eredm´enyezi a t´amogatotts´ag meghat´aroz´asakor (ugyanazt a sz´ofar´eszt j´arjuk be). Ha sz´of´aban t´aroljuk a tranzakci´okat, akkor rendelkez´esre ´all minden sz¨ uks´eges inform´aci´o a k¨oz¨os prefixekr˝ol. Megoldhat´o, hogy ugyanazokat a prefixeket csak egyszer dolgozzuk fel, ´es ne annyiszor, ah´anyszor el˝ofordulnak. A tranzakci´of´aba minden csom´oponthoz egy sz´aml´al´ot rendel¨ unk. Az I elemhalmaz sz´aml´al´oja azoknak a tranzakci´oknak a sz´am´at t´arolja, amelyek prefixe I. Ebb˝ol a szempontb´ol ez a megold´as elt´er a bemenet t´arol´as´an´al bemutatott (l´asd 4.2.5-es r´esz) sz´ofa alap´ u megold´ast´ol (´es ink´abb egy olyan FP-f´ara hasonl´ıt, amelyb˝ol elhagytuk a kereszt´eleket ´es a fejl´ec t´abl´at, l´asd 84 oldal). A tranzakci´o sz´of´an´al ´es a jel¨olt sz´of´an´al haszn´alt rendez´esnek meg kell egyeznie. Ez h´atr´any, mivel az egyes sz´of´akhoz m´as-m´as rendez´es lenne optim´alis. Sajnos a [19]-ben nincsen r´eszletesen kidolgozva az algoritmus, de v´elhet˝oen a k¨ovetkez˝ok´epp m˝ uk¨odik: P´arhuzamosan bej´arjuk a jel¨olt- ´es a tranzakci´o sz´of´at dupl´an rekurz´ıv m´odon. K´et mutat´ot haszn´alunk, melyek kezdetben az egyes gy¨okerekre mutatnak. Ezut´an v´egigmegy¨ unk mindk´et cs´ ucs ´elein. Ha a tranzakci´osz´ofa aktu´alis c´ımk´eje kisebb vagy egyenl˝o a m´asik c´ımk´en´el, akkor rekurz´ıvan tov´abbl´ep¨ unk a tranzakci´osz´of´aban a gyerekcsom´opontra (az sz´ofa aktu´alis csom´opontmutat´oja nem v´altozik). Amennyiben a k´et c´ımke egyenl˝o, a rekurzi´ot azokkal a gyerekekkel folytatjuk, amelyekre a mutat´ok ´altal mutatott ´elek mutatnak. A 76 oldalon tal´alhat´o pszeud´o-k´od a Borgelt-f´ele t´amogatotts´ag-meghat´aroz´as egy tov´abb optimaliz´alt v´altozat´at adja meg. A fenti megold´asnak h´atr´anya, hogy sok olyan utat j´ar be a jel¨olt sz´of´aban, amelyet az eredeti t´amogatotts´ag meghat´aroz´o m´odszer nem tenne, mert nem vezet lev´elbe. A m´odszer nem veszi figyelembe, hogy a tranzakci´onak csak egy r´esz´et kell ki´ert´ekeln¨ unk. Megoldhatjuk a probl´em´at, ha hozz´arendel¨ unk egy sz´aml´al´ot a tranzakci´o sz´ofa minden pontj´ahoz. A sz´aml´al´o adja meg a pontb´ol kiindul´o leghosszabb u ´ t hossz´at. A t´amogatotts´ag meghat´aroz´asa sor´an nem vessz¨ uk figyelembe azokat a csom´opontokat, melyek sz´aml´al´oja kisebb, mint ` − 1, ahol ` azon l´ep´esek sz´am´at adja, amelyeket meg kell m´eg tenni a jel¨olt sz´ofa aktu´alis pontj´ab´ol, hogy lev´elbe jussunk. Az algoritmus gyors´ıthat´o, ha a tranzakci´o sz˝ ur´es´enek ¨otlet´et (l´asd 4.2.6-¨os r´esz) is alkalmazzuk. Tov´abbi r´eszletek tudhatunk meg a [19] tanulm´anyb´ol.
4. FEJEZET. GYAKORI ELEMHALMAZOK
76
Algorithm 2 BORGELT SUPPCOUNT Require: nc : a sz´ofa aktu´alis csom´opontja, nt : a tranzakci´ofa aktu´alis csom´opontja, ` : az nc -b˝ol lev´elbe vezet˝o u ´ t hossza, i: az nc legkisebb olyan ´el´enek indexe, amely c´ımk´eje nagyobb, mint az nt -be vezet˝o ´el c´ımk´eje if ` = 0 then nc .sz´aml´al´o ← nc .sz´aml´al´o + nt .sz´aml´al´o else for j = 0 to nt .´elsz´am − 1 do while i < nc .´elsz´am AND nc .´el[i].c´ımke < nt .´el[j].c´ımke do i ← i+1 end while if i < nc .´elsz´am AND nc .´el[i].c´ımke ≥ nt .´el[j].c´ımke then BORGELT SUPPCOUNT(nc , nt .´el[j].gyermek, `, i) if nc .´el[i].c´ımke = nt .´el[j].c´ımke then BORGELT SUPPCOUNT(nc .´el[i].gyermek, nt .´el[j].gyermek, ` − 1, 0) i ← i+1 end if else break end if end for end if
4.2.9. Fut´ asi id˝ o´ es mem´ oriaig´ eny A GYEK feladat megad´asakor elmondtuk, hogy m´ar az eredm´eny ki´ır´asa – ami a fut´asi id˝onek a r´esze – az |I|-ben exponenci´alis lehet. A mem´oriaig´enyr˝ol is hasonl´o mondhat´o el. Az (` + 1)-elem˝ uks´eg¨ unk van az ¨osszes `-elem˝ u jel¨oltre, amelyek sz´ama u jel¨oltek el˝o´all´ıt´as´ahoz sz¨ |I| ak´ar |I|/2 is lehet. Ezek a fels˝o korl´atok ´elesek is, hiszen min supp = 0-n´al minden elemhalmaz gyakori. Az algoritmus ind´ıt´asa el˝ott teh´at nem sokat tudunk mondani a fut´asi id˝or˝ol. A fut´as sor´an, azonban egyre t¨obb inform´aci´ot gy˝ ujt¨ unk, ´ıgy felmer¨ ul a k´erd´es, hogy ezt fel tudjuk-e haszn´alni az algoritmus marad´ek fut´asi idej´enek j´osl´as´ara. P´eld´aul, ha a gyakori elemek sz´ama n´egy, akkor tudjuk, hogy a legnagyobb gyakori elemhalmaz m´erete legfeljebb n´egy (azaz m´eg legfeljebb h´aromszor olvassuk v´egig az adatb´azist), az ¨osszes jel¨olt maxim´alis sz´ama pedig 42 + 43 + + 44 = 11. A k¨ovetkez˝okben megvizsg´aljuk, hogy mit tudunk elmondani a jel¨oltek sz´am´ar´ol ´es a maxim´alis jel¨oltek m´eret´er˝ol, ha adottak az `-elem˝ u gyakori elemhalmazok (GY` ). A k¨ovetkez˝o r´esz fontos fogalma a kanonikus reprezent´aci´o lesz. 4.6. lemma. Adott n ´es ` pozit´ıv eg´eszek eset´eben a k¨ovetkez˝o fel´ır´as egy´ertelm˝ u: mr m`−1 m` , + · · ·+ + n= r `−1 ` ahol r ≥ 1, m` > m`−1 > · · · > mr ´es mj ≥ j minden j = r, r + 1, . . . , ` sz´amra.
4. FEJEZET. GYAKORI ELEMHALMAZOK
77
Ezt a reprezent´aci´ot h´ıvj´ak `-kanonikus reprezent´ aci´onak . Meghat´aroz´ u: egyszer˝ asa nagyon m`−1 +1 m` m` +1 m`−1 m` felt´etelt, m`−1 -nek a `−1 ≤ n − ` < `−1 m` -nek ki kell el´eg´ıtenie a ` ≤ n < ` m`−1 m` felt´etelt, ´es ´ıgy tov´abb, am´ıg n − ` − `−1 − · · · − mrr nulla nem lesz. Legyen I = {i1 , i2 , . . . , im } elemek halmaza ´es GY` egy olyan I feletti halmazcsal´ad1 , amelynek minden eleme `-elem˝ u. Az `-n´el nagyobb m´eret˝ u I ⊆I halmaz fedi a GY` -et, ha I minden `elem˝ u r´eszhalmaza eleme GY` -nek. Az ¨osszes lehets´eges (`+p)-m´eret˝ u GY` -et fed˝o halmazokb´ol alkotott halmazcsal´adot J`+p (GY` )-lel jel¨olj¨ uk. Nem v´eletlen, hogy ezt a halmazt ugyan´ ugy jel¨olt¨ uk, mint az Apriori algoritmus jel¨oltjeit, ugyanis az (`+p)-m´eret˝ u jel¨oltek ezen halmazcsal´adnak az elemei, ´es ha az algoritmus sor´an minden jel¨olt gyakori, akkor az (` + p)-m´eret˝ u jel¨oltek halmaza megegyezik J`+p (GY` )-lel. A k¨ovetkez˝o t´etel megadja, hogy adott GY` eset´en legfeljebb mennyi lehet a J`+p (GY` ) elemeinek sz´ama. 4.7. t´ etel. Ha
mr m`−1 m` +· · ·+ + |GY` | = r `−1 ` `-kanonikus reprezent´aci´o, akkor ms m`−1 m` , + · · ·+ + |J`+p (GY` )| ≤ s+p `−1+p `+p
ahol s a legkisebb olyan eg´esz, amelyre ms < s+p. Ha nincs ilyen eg´esz sz´am, akkor a jobb oldal 0. A fenti t´etel a Kruskal–Katona t´etel k¨ovetkezm´enye, ez´ert a t´etelben szerepl˝o fels˝o korl´atot a tov´abbiakban KK``+p (|GY` |)-el jel¨olj¨ uk. 4.8. t´ etel. A 4.7. t´etelben szerepl˝o fels˝o korl´at ´eles, azaz adott n, `, p sz´amokhoz mindig l´etezik GY` , amelyre |GY` | = n, ´es |J`+p (GY` )| = KK``+p (|GY` |). A kanonikus reprezent´aci´o seg´ıts´eg´evel egyszer˝ u ´eles fels˝o becsl´est tudunk adni a legnagyobb m` +1 jel¨olt m´eret´ere (jel¨ol´esben maxsize(GY` )) is. Tudjuk, hogy |GY` | < ` , ami azt jelenti, hogy nem l´etezhet olyan jel¨olt, amelynek m´erete nagyobb m` -n´el. 4.9. k¨ ovetkezm´ eny. Amennyiben a |GY` | sz´amnak az `-kanonikus reprezent´aci´oj´aban szerepl˝ o m` els˝o tag ` , akkor maxsize(GY` ) ≤ m` . Az m` sz´amot a tov´abbiakban µ` (|GY` |)-el jel¨olj¨ uk. Ez az ´ert´ek azt is megmondja, hogy mekkora jel¨oltm´eretn´el v´alik null´av´a a fels˝o korl´at, azaz: 4.10. k¨ ovetkezm´ eny. µ` (|GY` |) = ` + min{p|KK``+p (|GY` |) = 0} − 1 A marad´ek fut´asi id˝o j´osl´as´ara a k¨ovetkez˝o ´all´ıt´as ny´ ujt seg´ıts´eget. 4.11. k¨ ovetkezm´ eny. Az ¨osszes lehets´eges `-n´el nagyobb m´eret˝ u jel¨olt sz´ama legfeljebb KK`¨osszes (|GY` |) 1
=
µ` (|GY` |)
X p=1
KK``+p (|GY` |).
A H-t az I feletti halmazcsal´ adnak nevezz¨ uk, amennyiben H ⊆ 2I .
4. FEJEZET. GYAKORI ELEMHALMAZOK A fenti korl´atok sz´epek ´es egyszer˝ uek, mivel csak k´et param´etert haszn´alnak: az ` aktu´alis m´eretet ´es az `-elem˝ u gyakori elemhalmazok sz´am´at (|GY` |). Enn´el j´oval t¨obbet tudunk. Nem csak a gyakori elemhalmazok sz´am´at ismerj¨ uk, hanem m´ar pontosan meghat´aroztuk ˝oket magukat is! Az u ´ j inform´aci´o seg´ıts´eg´evel sz´amos esetben jobb fels˝o korl´atot adhatunk. P´eld´aul, ha a GY` -ben csak p´aronk´ent diszjunkt elemhalmazok vannak, akkor nem ´all´ıtunk el˝o jel¨olteket. A 4.7. t´etelben szerepl˝o fels˝o korl´at azonban j´oval nagyobb lehet null´an´al. A k¨ovetkez˝okben bemutatjuk, hogyan lehet a megl´ev˝o fels˝o korl´atot az ` m´eret˝ u gyakori elemhalmazok strukt´ ur´aj´ara rekurz´ıvan alkalmazni. Ehhez feltessz¨ uk, hogy egy teljes rendez´est tudunk defini´alni az I elemein, ami alapj´an tetsz˝oleges elemhalmaznak meg tudjuk hat´arozni a legkisebb elem´et. Vezess¨ uk be a k¨ovetkez˝o k´et jel¨ol´est :
78 Angol kutat´ok ´all´ıtj´ak, apuk´ addal ” val´o kapcsolatod befoly´asolja, milyen f´erfiakat tal´alsz vonz´onak. Szerint¨ uk az eg´eszs´eges apa-l´anya kapcsolatot ´apol´o l´anyok ink´abb az u ´gynevezett alfa-h´ım t´ıpus´ u f´erfiakhoz vonz´odnak : a vesz´elyes kin´ezet˝ u, sz´eles ´all´ u, d´ us szem¨old¨ok˝ u t´ıpusokhoz, m´ıg azok a l´anyok, akiknek kev´esb´e pozit´ıv a kapcsolatuk a csal´adfenntart´oval, azok ink´abb a finom von´as´ u, m´ar szinte n˝oies kin´ezet˝ u f´erfiakat r´eszes´ıtik el˝onyben.” Forr´as: http://shape. proweb.hu/main.php?rovat=6&cikk= =507
GY`i = {I − {i}|I ∈ GY` , i = min I}, A GY`i halmazt u ´ gy kapjuk GY` -b˝ol, hogy vessz¨ uk azon halmazokat, amelyek legkisebb eleme i, majd t¨or¨olj¨ uk ezekb˝ol az i elemet. Ezek ut´an defini´alhatjuk a k¨ovetkez˝o rekurz´ıv f¨ uggv´enyt tetsz˝oleges p > 0-ra : ( |GY` | , ha ` = 1 ∗ p+1 KK`,p (GY` ) = P `+p ∗ i min{KK` (|GY` |), i∈I KK`−1,p (GY` )} , ha ` > 1.
∗ A defin´ıci´ob´ol k¨ovetkezi, hogy KK`,p (GY` ) ≤ KK``+p (|GY` |), tov´abb´a ∗ 4.12. t´ etel. |J`+p (GY` )| ≤ KK`,p (GY` ).
Bizony´ıt´as: A bizony´ıt´as teljes indukci´on alapul, az ` = 1 eset trivi´alis. Tulajdonk´eppen csak azt kell bel´atni, hogy X ∗ |J`+p (GY` )| ≤ KK`−1,p (GY`i ) i∈I
Az egyszer˝ us´eg kedv´e´ert vezess¨ uk be a k¨ovetkez˝o P jel¨ol´est : H ∪ i = {I ∪ {i}|I ∈ H}, ahol H egy I feletti halmazcsal´ad. Vegy¨ uk ´eszre, hogy GY` = i∈I GY`i ∪i ´es GY`i ∩GY`j = ∅ minden i 6= j elemp´arra. Azaz a GY` halmazcsal´ad egy part´ıci´oj´at k´epezt¨ uk. Amennyiben I ∈ J`+p (GY` ), ´es I-nek legkisebb eleme i, akkor I \ {i} ∈ J`−1+p (GY`i ), hiszen I \ {i} minden (` − 1)-elem˝ u r´eszhalmaza GY`i -beli. Ebb˝ol k¨ovetkezik, hogy [ J`+p (GY` ) ⊆ J`−1+p (GY`i ) ∪ i. i∈I
Abb´ol, hogy az GY`i halmazcsal´adok p´aronk´ent diszjunktak k¨ovetkezik, hogy J`−1+p (GY`i ) ∪ i
4. FEJEZET. GYAKORI ELEMHALMAZOK
79
is p´aronk´ent diszjunkt halmazcsal´adok. Ebb˝ol k¨ovetkezik az ´all´ıt´as, hiszen: [ |J`+p (GY` )| ≤ | J`−1+p (GY`i ) ∪ i| i∈I
=
X i∈I
=
X i∈I
≤
X
|J`−1+p (GY`i ) ∪ i| |J`−1+p (GY`i )| ∗ KK`−1,p (GY`i ),
i∈I
ahol az utols´o egyenl˝otlens´egn´el az indukci´os feltev´est haszn´altuk.
A p´aronk´ent diszjunkt halmazok esete j´o p´elda arra, hogy a minimum kifejez´esben szerepl˝o m´asodik tag kisebb lehet az els˝on´el. El˝ofordulhat azonban az ellenkez˝o eset is. P´eld´aul legyen GY2 = {AB, AC}. K¨onny˝ u ellen˝orizni, hogy KK23 (|GY2|) = 0, ugyanakkor a m´asodik tagban szerepl˝o ¨osszeg 1-et ad. Nem tudhatjuk, hogy melyik ´ert´ek a kisebb, ´ıgy jogos a k´et ´ert´ek minimum´at venni. Jav´ıthatjuk a legnagyobb jel¨olt m´eret´ere, illetve az o¨sszes jel¨olt sz´am´ara vonatkoz´o fels˝o ∗ korl´atokon is. Legyen µ∗` (GY` ) = ` + min{p|KK`+p (GY` ) = 0} − 1 ´es µ∗` (GY` )
KKo¨∗sszes (GY` )
=
X
∗ (GY` ). KK`+p
p=1
4.13. k¨ ovetkezm´ eny. maxsize(GY` ) ≤ µ∗` (GY` ) ≤ µ` (|GY` |). 4.14. k¨ ovetkezm´ eny. Az ¨osszes lehets´eges `-n´el nagyobb m´eret˝ u jel¨olt sz´ama legfeljebb ∗ ∗ ¨ osszes KK¨osszes (GY` ) lehet, ´es KK¨osszes (GY` ) ≤ KK` (|GY` |). ∗ A KK ∗ ´ert´ek f¨ ugg a rendez´est˝ol. P´eld´aul a KK2,1 ({AB, AC}) ´ert´eke 1, amennyiben a rendez´es szerinti legkisebb elem A, ´es 0 b´armely m´as esetben. Elm´eletileg meghat´arozhatjuk az ¨osszes rendez´es szerinti fels˝o korl´atot, ´es kiv´alaszthatjuk azt, amelyik a legkisebb ´ert´eket adja. Ez a megold´as azonban t´ ul sok id˝obe telne. A sz´ofa a´ltal haszn´alt rendez´es szerinti fels˝o korl´atot viszonylag k¨onnyen meghat´arozhatjuk. Ehhez azt kell l´atnunk, hogy a gy¨ok´er i c´ımk´ej˝ u i ´el´ehez tartoz´o r´eszfa levelei reprezent´alj´ak a GY` elemeit. A sz´ofa egyetlen bej´ar´as´aval egy ∗ I egyszer˝ u rekurz´ıv m´odszer seg´ıts´eg´evel minden cs´ ucshoz kisz´am´ıthatjuk a KK`−d,p (GY`−d ) ´es `−d+p I I KK`−d (|GY`−d |) ´ert´ekeket, ahol d a cs´ ucs m´elys´eg´et jel¨oli, GY`−d pedig az adott cs´ ucshoz tartoz´o r´eszfa ´altal reprezent´alt elemhalmazokat. A gy¨ok´erhez kisz´am´ıtott k´et ´ert´ek adja meg a KK ´es KK ∗ korl´atokat. Ha a marad´ek fut´asi id˝o becsl´es´ere k´ıv´anjuk haszn´alni a fenti fels˝o korl´atot, akkor tudnunk kell, hogy a jel¨oltek t´amogatotts´ag´anak meghat´aroz´ asa f¨ ugg az Apriori algoritmusban felhaszn´alt adatstrukt´ ur´at´ol. Sz´ofa eset´eben p´eld´aul egy jel¨olt el˝ofordul´as´anak meghat´aroz´as´ahoz el kell jutnunk a jel¨oltet reprezent´al´o lev´elhez, ami a jel¨olt m´eret´evel ar´anyos l´ep´essz´am´ u ∗ m˝ uveletet ig´enyel. A marad´ek fut´asi id˝o pontosabb fels˝o becsl´es´ehez a KK`+p (GY` ) ´ert´ekeket s´ ulyozni kell (` + p)-vel.
4. FEJEZET. GYAKORI ELEMHALMAZOK
80
4.3. Az Eclat algoritmus Az Eclat az u ¨ res mint´ab´ol indulva egy rekurz´ıv, m´elys´egi jelleg˝ u bej´ar´ast val´os´ıt meg. A rekurzi´o m´elys´ege legfeljebb eggyel t¨obb, mint a legnagyobb gyakori elemhalmaz m´erete. Az Apriori-val szemben mindig egyetlen jel¨oltet ´all´ıt el˝o, majd ennek azonnal meghat´arozza a t´amogatotts´ag´at. Az (` + 1)-elem˝ u, P prefix˝ u jel¨olteket, ahol |P | = ` − 1 az `-elem˝ u, P prefix˝ u gyakori elemhalmazokb´ol ´all´ıtja el˝o egyszer˝ u p´aronk´enti uni´ok´epz´essel. Az algoritmus k¨ozponti fogalma az u ´ n. TID-halmaz. Egy elemhalmaz TID-halmaz´ anak (Transaction IDentifier) elemei azon bemeneti sorozatok azonos´ıt´oi (sorsz´amai), amelyek tartalmazz´ak az adott elemhalmazt. M´as sz´oval egy TID-halmaz a vertik´alis adatb´azis egy megfelel˝o sora. P´eld´aul hAD, AC, ABCD, B, AD, ABD, Di bemenet eset´en az {A, C} elemhalmaz TID-halmaza {1,2}, amennyiben egy tranzakci´o azonos´ıt´oja megegyezik a bemeneti sorozatban elfoglalt hely´evel, ´es a helyek sz´amoz´as´at null´at´ol kezdj¨ uk. A TID-halmaz k´et fontos tulajdons´aggal b´ır : I. Az I elemhalmaz TID-halmaz´anak m´erete megadja az I t´amogatotts´ag´at. II. Egy jel¨olt TID-halmaz´at megkaphatjuk a gener´atorainak TID-halmazaib´ol egy egyszer˝ u metszetk´epz´essel. Az Eclat pszeudok´odja a 80 oldalol tal´alhat´o. Algorithm 3 Eclat Require: T : tranzakci´ok sorozata, min supp : t´amogatotts´agi k¨ usz¨ob, t´amogatotts´ag meghat´aroz´as( T , J1 ) ; GY1 ← gyakoriak kiv´alogat´asa( J1 , min supp ) ; for i ← 1 to |T | do for all j ∈ ti ∩ GY1 do j.T ID ← j.T ID ∪ {i} end for end for return GY1 ∪ Eclat-seg´ ed(∅, GY1, min supp) El˝osz¨or meghat´arozzuk a gyakori elemeket, majd fel´ep´ıtj¨ uk a gyakori elemek TID-halmazait. A k´es˝obbiekben nem haszn´aljuk a bemenetet, csak a TID-halmazokat. Az algoritmus l´enyege a Eclat-seg´ ed rekurzi´os elj´ar´as. Jel¨olj¨ uk a P prefix˝ u, P -n´el eggyel nagyobb m´eret˝ u gyakori elemhalmazokb´ol alkotott halmazcsal´adot GY P -vel. Nyilv´anval´o, hogy GY ∅ = GY1 . Az Eclat jel¨olt-el˝o´all´ıt´asa megegyezik az Apriori jel¨olt-el˝o´all´ıt´as´aval, azzal a k¨ ul¨onbs´eggel, hogy nem ellen˝orizz¨ uk az uni´ok´epz´essel kapott halmaznak minden r´eszhalmaz´ara, hogy gyakori-e (a m´elys´egi bej´ar´as miatt ez az inform´aci´o nem is ´all rendelkez´es¨ unkre). L´athat´o, hogy az Eclat abban is k¨ ul¨onb¨ozik az Apriori-t´ol, hogy egy jel¨olt el˝o´all´ıt´asa ut´an azonnal meghat´arozza a t´amogatotts´ag´at, miel˝ott u ´ jabb jel¨ oltet ´all´ıtana el˝o. N´ezz¨ unk egy p´eld´at a keres´esi t´er bej´ar´as´ara. 4.15. p´ elda. Legyen T = hACDE, ACG, AF GM, DMi ´es min supp = 2. Els˝o l´ep´esben meghat´arozzuk a gyakori elemeket: A, C, D, G, M, ami nem m´as, mint GY ∅ . Ezut´an el˝o´all´ıtjuk ´es
4. FEJEZET. GYAKORI ELEMHALMAZOK
81
Algorithm 4 Eclat-seg´ ed Require: P : prefix elemhalmaz. GY P : P prefix˝ u, P -n´el eggyel nagyobb m´eret˝ u gyakori elemhalmazokb´ol alkotott halmazcsal´ad, min supp : t´amogatotts´agi k¨ usz¨ob, for all gy ∈ GY P do for all gy 0 ∈ GY P , gy ≺ gy 0 do j ← gy ∪ gy 0 j.T ID ← gy.T ID ∩ gy 0.T ID if |j.T ID| ≥ min supp then GY gy ← GY gy ∪ {j} end if end for if |GY gy | ≥ 2 then GY ← GY ∪ GY gy ∪ Eclat-seg´ ed(gy, GY gy , min supp) else GY ← GY ∪ GY gy end if end for return GY azonnal meg is hat´arozzuk az (A, C), (A, D), (A, G), (A, M) p´arok uni´oj´at. Ezek k¨oz¨ ul csak az AC, AG halmazok gyakoriak. A k¨ovetkez˝o rekurzi´ os l´ep´esben ennek a k´et halmaznak vessz¨ uk az uni´oj´at, ´all´ıtjuk el˝o a TID-halmaz´at, amely alapj´an kider¨ ul, hogy az ACG ritka, ´es a rekurzi´ o ezen ´aga v´eget ´er. Ezut´an a C elemnek vessz¨ uk az uni´oj´at a sorban ut´ana k¨ovetkez˝o elemekkel egyes´evel ´es ´ıgy tov´abb. L´atnunk kell, hogy az Eclat legal´abb annyi jel¨oltet ´all´ıt el˝o, mint az Apriori. A m´elys´egi bej´ar´as miatt ugyanis egy jel¨olt el˝o´all´ıt´as´an´al nem ´all rendelkez´es¨ unkre az ¨osszes r´eszhalmaz. Az el˝oz˝o p´elda eset´eben p´eld´aul az {A,C,G} t´amogatotts´ag´at hamarabb vizsg´alja, mint a {C,G} halmaz´et, holott ez ut´obbi ak´ar ritka is lehet. Ebben a tekintetben teh´at az Eclat rosszabb az Apriori-n´al, ugyanis t¨obb lesz a ritka jel¨olt. Az Eclat igazi ereje a jel¨oltek t´amogatotts´ag´anak meghat´aroz´as´aban van. A jel¨oltek TIDhalmazainak el˝o´all´ıt´asa egy rendk´ıv¨ ul egyszer˝ u ´es nagyon gyors m˝ uvelet lesz. Emellett ahogy haladunk egyre m´elyebbre a m´elys´egi bej´ar´as sor´an, u ´gy cs¨okken a TID-halmazok m´erete, ´es ezzel a t´amogatotts´ag meghat´aroz´as´anak ideje is. Ezzel szemben az Apriori-n´al ahogy haladunk az egyre nagyobb m´eret˝ u jel¨oltek fel´e, u ´ gy n˝o a sz´ofa m´elys´ege, ´es lesz egyre lassabb minden egyes jel¨olt t´amogatotts´ag´anak meghat´aroz´asa (persze a zs´akutca nyes´es seg´ıt ezen egy kicsit). A keres´esi t´er bej´ar´asa f¨ ugg a prefix defin´ıci´oj´at´ol, amit az elemeken defini´alt rendez´es hat´aroz meg. Melyek lesznek azok a jel¨oltek, amelyek az Apriori-ban nem lenn´enek jel¨oltek (teh´at biztosan ritk´ak), illetve v´arhat´oan melyik az a rendez´es, amely a legkevesebb ilyen tulajdons´ag´ u halmazt adja ? Ha egy elemhalmaz jel¨olt az Eclat algoritmusban, de az Apriori-ban nem, akkor van olyan r´eszhalmaza, amely ritka. Amennyiben felt´etelezz¨ uk, hogy az elemek f¨ uggetlenek, akkor azon r´eszhalmaz el˝ofordul´as´anak lesz legkisebb a val´osz´ın˝ us´ege (´es ezzel
4. FEJEZET. GYAKORI ELEMHALMAZOK
82
egy¨ utt az es´elye annak, hogy ritka), amely a leggyakoribb elemet nem tartalmazza. A jel¨olt prefixe gener´ator, teh´at gyakori, ´ıgy akkor lesz a legnagyobb es´elye annak, hogy minden r´eszhalmaz gyakori, ha a prefix a leggyakoribb elemet nem tartalmazza. Az Eclat algoritmusn´al a legkevesebb ritka jel¨oltet ´es ´ıgy a legjobb fut´asi id˝ot teh´at a gyakoris´ag szerint n¨ovekv˝o rendez´est˝ol v´arhatjuk. 4.16. p´ elda. Ennek a gondolatmenetnek az illusztr´al´as´ara n´ezz¨ uk a k¨ovetkez˝o p´eld´at. Legyenek gyakori halmazok a k¨ovetkez˝ok : A, B, C, D, AB, AC, BC, AD, ABC, tov´abb´a supp(D) ≺ ≺ supp(C) ≺ supp(B) ≺ supp(A). Amennyiben az Eclat algoritmus a gyakoris´ag szerint cs¨okken˝o sorrendet haszn´alja, akkor az el˝o´all´ıt´as sorrendj´eben a k¨ovetkez˝o halmazok lesznek jel¨oltek : A, B, C, D, AB, AC, AD, ABC, ABD, ACD, BC, BD, CD. Ugyanez gyakoris´ ag szerint n¨ovekv˝o sorrendn´el D, C, B, A, DC, DB, DA, CB, CA, CBA, BA. Az ut´obbi esetben teh´at n´egy ritka jel¨olt helyett (ABD, ACD, BD, CD) csak kett˝o lesz (CD, BD). Megjegyezz¨ uk, hogy ez a k´et elemhalmaz az Apriori eset´eben is jel¨olt lesz. A gyakoris´ag szerint cs¨okken˝ o esetben egyszer ´all´ıtunk el˝o olyan h´aromelem˝ u jel¨oltet, amelynek van olyan k´etelem˝ u r´eszhalmaza, amelyet nem vizsg´altunk. Ez a jel¨olt a CBA ´es a nem megvizsg´alt r´eszhalmaz a BA. Mivel a r´eszhalmaz ´eppen a leggyakoribb elemeket t´arolja, ez´ert van nagy es´elye annak, hogy gyakori (f˝oleg ha hozz´avessz¨ uk, hogy a jel¨olt k´et gener´atora, CB ´es CA is gyakori). Jav´ıthatunk az algoritmus hat´ekonys´ag´an, ha nem a jel¨oltek TID-list´ait t´aroljuk, hanem a jel¨olt ´es prefixe TID-list´aj´anak k¨ ul¨onbs´eg´et. A prefix t´amogatotts´ag´ab´ol ´es a TID list´ak k¨ ul¨onbs´eg´eb˝ol a t´amogatotts´ag egy´ertelm˝ uen megadhat´o. A k¨ ul¨onbs´egi list´ak ak´ar nagyobbak is lehetnek az eredeti TID-list´akn´al (p´eld´aul, ha a I t´amogatotts´aga kicsi, de a prefix´enek t´amogatotts´aga nagy), ´ıgy a legjobb megold´ast a k´et technika ¨otv¨oz´ese adhatja (p´eld´aul 4-n´el kisebb elemsz´amn´al TID lista, ut´ana k¨ ul¨onbs´egi list´ak) [147]. A k¨ ul¨onbs´egi list´at haszn´al´o algoritmusok nagy f¨ol´ennyel verik a t¨obbi algoritmust, amennyiben a bemenet s˝ ur˝ u, ´es nagy m´eret˝ u gyakori mint´ak is vannak.
4.3.1. kdci 4.3.2. lcm
4.4. Az FP-growth algoritmus Az FP-growth algoritmus2 [56] egy m´elys´egi jelleg˝ u, rekurz´ıv algoritmus, a keres´esi t´er bej´ar´asa tekintet´eben megegyezik az Eclat-tal. A t´amogatotts´agok meghat´aroz´as´at az egyelem˝ u gyakori halmazok meghat´aroz´as´aval, majd a bemenet sz˝ ur´es´evel ´es vet´ıt´es´evel val´os´ıtja meg rekurz´ıv m´odon. A bemenet sz˝ ur´ese azt jelenti, hogy az egyes tranzakci´okb´ol t¨or¨olj¨ uk a benn¨ uk el˝ofordul´o ritka elemeket. A T elemhalmaz P elemhalmazra vet´ıt´es´et (jel¨ol´esben T |P ) pedig u ´ gy kapjuk, hogy vessz¨ uk a P -t tartalmaz´o tranzakci´okat, majd t¨or¨olj¨ uk bel˝ol¨ uk a P t. P´eld´aul hACD, BCE, ABCE, BE, ABCEi|B = hCE, ACE, E, ACEi. Az algoritmus pszeudok´odja a k¨ovetkez˝okben olvashat´o. 2
Az FP a Frequent Pattern r¨ovid´ıt´ese, ami miatt az algoritmust mintan¨ ovel˝ o algoritmusnak is h´ıvj´ ak. Ez az elnevez´es azonban f´elrevezet˝o, ugyanis szinte az ¨osszes GYEK algoritmus mintan¨ovel˝o abban az ´ertelemben, hogy egy u ´ j jel¨olt a gener´ atorainak egyelem˝ u b˝ ov´ıt´ese, vagy m´as sz´oval n¨ ovel´ese. Az FP-growth saj´ats´ aga nem a jel¨oltek el˝ oa´ll´ıt´ asa, hanem a jel¨ oltek t´ amogatotts´ag-meghat´aroz´as´anak m´odja.
4. FEJEZET. GYAKORI ELEMHALMAZOK
83
Algorithm 5 FP-growth Require: T : tranzakci´ok sorozata, usz¨ob, min supp : t´amogatotts´agi k¨ FP-growth-seg´ ed(T , min supp, ∅) A seg´edelj´ar´as harmadik param´etere (P ) egy prefix elemhalmaz, az els˝o param´eter pedig az eredeti bemenet P -re vet´ıt´ese. Az eredeti bemenet ∅-ra vet´ıt´ese megegyezik ¨onmag´aval. Algorithm 6 FP-growth-seg´ ed Require: T : vet´ıtett bemenet, min supp : t´amogatotts´agi k¨ usz¨ob, P : prefix elemhalmaz, t´amogatotts´ag meghat´aroz´as( T , J1 ) ; GY1 ← gyakoriak kiv´alogat´asa( J1 , min supp ) ; ˝ r´ T ∗ ← szu es(T, GY1 ) for all gy ∈ GY1 do es(T ∗, gy) T ∗ |gy ← vet´ıt´ GY ← GY ∪ {P ∪ {gy}} FP-growth-seg´ ed(T ∗|gy,min supp, P ∪ {gy}) ¨ rl´ T ∗ ← to es(T ∗ , gy) end for return GY Egy rekurzi´os l´ep´es h´arom f˝o l´ep´esb˝ol ´all. El˝osz¨or meghat´arozzuk azon elemek t´amogatotts´ag´at, amelyek el˝ofordulnak valamelyik tranzakci´oban. Ezekb˝ol kiv´alasztjuk a gyakoriakat. Ezut´an minden gy gyakori elemet egyes´evel vesz¨ unk. Meghat´arozzuk a gy-hez tartoz´o vet´ıtett bemenetet, majd megh´ıvjuk az algoritmust rekurz´ıvan a T |gy bemenetre. T¨or¨oln¨ unk ∗ kell a gy elemet a T -beli tranzakci´ok elemei k¨oz¨ ul annak ´erdek´eben, hogy egy jel¨oltet csak egyszer ´all´ıtsunk el˝o. A jel¨oltek el˝o´all´ıt´as´anak tekintet´eben az FP-growth algoritmus a legegyszer˝ ubb. Ha az I elemhalmaz gyakori, akkor a k¨ovetkez˝o rekurzi´os szinten azon I ∪j halmazok lesznek a jel¨oltek, ahol j az I-re vet´ıtett bemenetben el˝ofordul´o elem ´es I ∪ j nem volt jel¨olt kor´abban. Tulajdonk´eppen az FP-growth a nagy elemsz´am´ u jel¨oltek t´amogatotts´ag´anak meghat´aroz´as´at visszavezeti h´arom egyszer˝ u m˝ uveletre: egyelem˝ u gyakori elemhalmazok kiv´alogat´asa, sz˝ ur´es ´es vet´ıtett bemenet el˝o´all´ıt´asa. A sz˝ ur´es ut´an egyes´evel vessz¨ uk a gyakori elemeket. Ezt valamilyen rendez´es szerint kell tenn¨ unk ´es ez a rendez´es hat´arozza meg, hogy milyen sorban j´arjuk be a keres´esi teret, milyen vet´ıtett bemeneteket ´all´ıtunk el˝o ´es mely elemhalmazok lesznek a hamis jel¨oltek. Az Eclat-n´al elmondottak itt is ´elnek; v´arhat´oan abban az esetben lesz a hamis jel¨oltek sz´ama minim´alis, amennyiben a prefixben a legritk´abb elemek vannak, azaz a 9. sorban gyakoris´ag szerint n¨ovekv˝o sorban vessz¨ uk az elemeket. Az FP-growth algoritmus szerves r´esze az FP-fa, amelyben a sz˝ urt bemenetet t´aroljuk. Az FP-fa seg´ıts´eg´evel k¨onnyen el˝o´all´ıthatjuk a vet´ıtett bemeneteket, azokban k¨onnyen meghat´arozhatjuk az elemek t´amogatotts´ag´at, amib˝ol el˝o´all´ıthatjuk a vet´ıtett, majd sz˝ urt bemenetet. Ezt a vet´ıtett ´es sz˝ urt bemenetet szint´en egy FP-f´aban t´aroljuk, amelyet vet´ıtett FP-f´ anak h´ıvunk.
4. FEJEZET. GYAKORI ELEMHALMAZOK elem
84
mutató
8 F
F C
C 2
6
A
C
B
B
B 3
1
1
M A
Q
Q 3 M
1 B
2 Q 2
1 M 1
4.9. ´abra. Az hACF MQ, ABCF M, BF , BCQ, ACF MQ, C, F , F i sz˝ urt bemenetet t´arol´o FP-fa. Az FP-fa egy kereszt´elekkel ´es egy fejl´ec t´abl´aval kib˝ov´ıtett sz´ofa. Az ´elek c´ımk´ei gyakori elemek. Az egyszer˝ ubb le´ır´as kedv´e´ert egy (nemgy¨ok´er) cs´ ucs c´ımk´ej´en a cs´ ucsba mutat´o ´el c´ımk´ej´et ´ertj¨ uk. Minden cs´ ucs egy elemhalmazt reprezent´al, amelynek elemei a gy¨ok´erb˝ol a cs´ ucsig vezet˝o u ´ t cs´ ucsainak c´ımk´eivel egyeznek meg. Minden cs´ ucshoz egy sz´aml´al´ot rendel¨ unk. Ez a sz´aml´al´o adja meg, hogy a cs´ ucs ´altal reprezent´alt halmaz mennyi bemeneti (vagy vet´ıtett) elemhalmaznak a prefixe. Az azonos c´ımk´ej˝ u cs´ ucsok l´ancolt listaszer˝ uen ¨ossze vannak k¨otve keresztir´any´ u ´elekkel. A l´anc legels˝o elem´ere mutat a fejl´ect´abl´anak az adott elem´ehez tartoz´o mutat´oja. 4.17. p´ elda. Tegy¨ uk fel, hogy bemenetk´ent a hACDF MQ, ABCF MO, BF O, BCKSQ, ACF MQ, CS, DF J, F HIi sorozat van adva, ´es min supp = 3. A gyakori elemek : A, B, C, F , M, Q, amelyek t´amogatotts´aga rendre 3, 3, 5, 6, 3, 3. Ekkor a sz˝ urt bemenetet (hACF MQ, ABCF M, BF , BCQ, ACF MQ, C, F , F i) reprezent´al´o FP-fa, amely gyakoris´ag szerint cs¨okken˝o sorrendet (Q ≺ M ≺ B ≺ A ≺ C ≺ F ) haszn´al, a 4.9. ´abr´an l´athat´o Egy FP-f´at hasonl´o m´odon ´ep´ıt¨ unk fel, mint egy sz´of´at. K¨ ul¨onbs´eg, hogy egy I elemhalmaz besz´ ur´as´an´al nem csak az I-t reprezent´al´o lev´elnek a sz´aml´al´oj´at n¨ovelj¨ uk eggyel, hanem minden olyan cs´ ucs´et, amelyet ´erint¨ unk a besz´ ur´as sor´an (hiszen ezen cs´ ucsokat reprezent´al´o halmazok az I prefixei). A keresztir´any´ u ´eleket ´es a fejl´ect´abl´at is egyszer˝ uen megkaphatjuk. Legyen a fejl´ect´abla mutat´oinak kezdeti ´ert´eke NIL. Amikor besz´ urunk egy u ´ j, i c´ımk´ej˝ u cs´ ucsot, akkor k´et dolgot kell tenn¨ unk. Az u ´ j cs´ ucs kereszt´el mutat´oja felveszi a fejl´ect´abla i-hez tartoz´o bejegyz´es´et, majd ezt a bejegyz´est az u ´ j cs´ ucs c´ım´ere cser´elj¨ uk. Ezzel tulajdonk´eppen olyan l´ancot k´esz´ıt¨ unk, amelyben a cs´ ucsok a besz´ ur´asi idej¨ uk szerint cs¨okken˝oen vannak rendezve (az el˝osz¨or besz´ urt elem van legh´atul) ´es a lista a fejl´ect´abl´aban kezd˝odik. A fejl´ec mutat´okb´ol kiindulva ´es a kereszt´eleket k¨ovetve megkaphatjuk a vet´ıtett bemenetet ´es meghat´arozhatjuk a vet´ıtett bemenetben gyakori elemeket. Az adott tranzakci´ok el˝ofordul´asa megegyezik a kereszt´elek ´altal mutatott pontok sz´aml´al´oj´aval. Ezek alapj´an a vet´ıtett bemenetet sz˝ urhetj¨ uk ´es bel˝ole egy u ´ jabb FP-f´at ´ep´ıthet¨ unk fel. Ezt a f´at vet´ıtett FP-f´anak h´ıvjuk. A
4. FEJEZET. GYAKORI ELEMHALMAZOK
85
k¨ovetkez˝o ´abr´an az M elemhez tartoz´o vet´ıtett ´es sz˝ urt bemenet FP-f´aj´at l´athatjuk (amelyet a Q elem feldolgoz´asa ut´an kapunk). elem
mutató 3 F
F C
3
A
C 3 A 3
4.10. ´abra. p´elda : vet´ıtett FP-fa Az FP-fa m´erete – hasonl´oan a sz´ofa m´eret´ehez – f¨ ugg az elemeken defini´alt rendez´est˝ol. Az FP-growth algoritmus akkor lesz hat´ekony, ha a fa elf´er a mem´ori´aban, ez´ert fontos lenne azt a rendez´est haszn´alni, ami v´arhat´oan a legkisebb f´at eredm´enyezi. Az Apriori eset´eben m´ar elmondtuk, hogy az a heurisztika, amely az elemek gyakoris´ag szerint cs¨okken˝o rendez´es´et haszn´alja, ´altal´aban kis m´eret˝ u f´at eredm´enyez. Egyszer˝ u lesz a vet´ıtett bemenet el˝o´all´ıt´asa ´es a sz˝ urt bemenetb˝ol egy elem t¨orl´ese, amennyiben a legritk´abb gyakori elemet (gyr ) vessz¨ uk el˝osz¨or. Ez ¨osszhangban ´all azzal, hogy a pszeudok´od 9. sor´aban az elemeket gyakoris´ag szerint n¨ovekv˝o sorrendben vessz¨ uk. A gyr csak lev´el c´ımk´eje lehet. Mivel a f´ab´ol t¨or¨olni fogjuk a gyr c´ımk´ej˝ u cs´ ucsokat a rekurzi´os m˝ uvelet ut´an (13. sor), a k¨ovetkez˝o elem is csak lev´el c´ımk´eje lesz. N´ezz¨ uk most meg, hogy amennyiben a sz˝ urt bemenet egy FP-f´aban van t´arolva, akkor hogyan kaphatjuk meg a gyr elemre vett vet´ıt´esben az elemek t´amogatotts´ag´at. A fejl´ect´abla gyr elem´ehez tartoz´o mutat´ob´ol kiindulva a kereszt´elek alkotta l´ancban pontosan azok a cs´ ucsok vannak, amelyek gyr -t tartalmaz´o bemeneti elemet reprezent´alnak. Az egyes elemhalmazok el˝ofordul´as´at a gyr c´ımk´ej˝ u cs´ ucsokhoz rendelt sz´aml´al´o adja meg, az elemeiket pedig a gy¨ok´erig fels´et´alva kaphatjuk. A lista utols´o cs´ ucs´anak feldolgoz´asa ut´an rendelkez´es¨ unkre ´allnak a gyr elemhez tartoz´o vet´ıtett bemenetben valahol el˝ofordul´o elemek t´amogatotts´agai, amely alapj´an kiv´alogathatjuk a vet´ıtett bemenetben gyakori elemeket. Ugyanilyen bej´ar´assal kaphatjuk meg a vet´ıtett, majd sz˝ urt bemenetet tartalmaz´o FP-f´at. A A nyugalom meg´ov az UV sugafejl´ect´abl´ab´ol kiindulva v´egigmegy¨ unk a l´ancolt lista ”rakt´ol Amerikai kutat´ok szerint a elemein. A cs´ ucs ´altal reprezent´alt elemhalmazb´ol stressz ´es az UV-sug´arz´as egy¨ uttet¨or¨olj¨ uk a ritka elemeket, majd a kapott elemhal- sen tudnak csak igaz´an vesz´elyesek mazt besz´ urjuk az u ´ j FP-f´aba. A kis mem´oriaig´eny lenni. Ez az eredm´eny azt az ismert ´erdek´eben a gyakoris´ag szerint cs¨okken˝o sorrendet t´enyt er˝os´ıti meg, hogy a kr´onikus haszn´aljuk. Ezt a sorrendet a vet´ıtett bemenet stressz lecs¨okkenti a b˝or v´edekez˝ o alapj´an ´all´ıtjuk fel (l´ev´en az u ´ j fa a vet´ıtett ´es sz˝ urt k´epess´eg´et. Ha teh´at nem idegesked¨ unk, bemenetet fogja t´arolni), ami k¨ ul¨onb¨ozhet az eredeti nem kell f´eln¨ unk a napsugarakt´ ol.” FP-f´aban alkalmazott rendez´est˝ol. Forr´as: http://www.habostorta. 4.18. p´ elda. Folytassuk az el˝oz˝o p´eld´at ´es ´all´ıtsuk
hu/hab/tomy/tudomany/200507/a_ nyugalom_megov_az_uvsugaraktol? print=1
4. FEJEZET. GYAKORI ELEMHALMAZOK
86
el˝o a legritk´abb gyakori elemhez (Q) tartoz´o vet´ıtett ´es sz˝ urt bemenetet. A fejl´ect´abla Q elem´ehez tartoz´o mutat´ob´ol kiindulva mind¨ossze k´et cs´ ucsot l´atogatunk meg, ami azt jelenti, hogy a vet´ıtett bemenet k´et k¨ ul¨onb¨oz˝o elemhalmazt tartalmaz : az F CAM-et k´etszer, a CB-t egyszer. Ez alapj´an a vet´ıtett bemenetben egyetlen gyakori elem van, C. Ez a rekurzi´ os ´ag nem folytat´odik, hanem visszat´er a QC gyakori elemhalmazzal. Az FP-f´ab´ol t¨or¨olhetj¨ uk a fejl´ect´abla Q bejegyz´es´ehez tartoz´o mutat´ob´ol, keresztir´any´ u ´elek seg´ıts´eg´evel el´erhet˝ o cs´ ucsokat. A k¨ovetkez˝o vizsg´alt elem az M. Az M vet´ıtett bemenet´eben h´arom gyakori elem van, ´es a vet´ıtett sz˝ urt bemenet az F CA elemhalmazt tartalmazza h´aromszor. Ezt a vet´ıtett, sz˝ urt bemenetet egy egyetlen u ´tb´ol ´all´o FP-fa fogja reprezent´alni. A t¨obbi FP-fa ugyanilyen egyszer˝ uen megkaphat´o. Hat´ekonys´agi szempontb´ol rendk´ıv¨ ul fontos, hogy a rekurzi´ot ne folytassuk, ha a vizsg´alt FP-fa egyetlen u ´ tb´ol ´all. A rekurzi´o helyett k´epezz¨ uk ink´abb az u ´ t ´altal reprezent´alt elemhalmaz minden r´eszhalmaz´at. A r´eszhalmaz t´amogatotts´ag´at annak a cs´ ucsnak a sz´aml´al´oja adja meg, amely a legm´elyebben van a r´eszhalmazt meghat´aroz´o cs´ ucsok k¨oz¨ott.
4.4.1. Az FP-growth* algoritmus 2003 november´eben megszervezt´ek az els˝o gyakori elemhalmaz-kinyer˝o algoritmusok verseny´et [49]. B´arki benevezhetett egy ´altala k´esz´ıtett programot. Ezeket k¨ozpontilag tesztelt´ek k¨ ul¨onb¨oz˝o adatb´azisokon, k¨ ul¨onb¨oz˝o t´amogatotts´agi k¨ usz¨ob¨okkel. Nem volt olyan implement´aci´o, amely minden esetben a legjobban szerepelt, de ki lehet emelni n´eh´any olyat, amelyek szinte mindig az els˝ok k¨oz¨ott v´egeztek. A szervez˝ok v´eg¨ ul annak adt´ak a f˝od´ıjat (egy s¨ort ´es egy pelenk´at !), aki az FP-growth* algoritmust [50] k¨ uldte be. Az FP-growth* algoritmus az FP-growth m´odos´ıt´asa. El˝onye, hogy gyorsabban ´all´ıtja el˝o a vet´ıtett f´at, ami´ert viszont mem´ori´aval fizet. N´ezz¨ uk meg, hogy pontosan mi t¨ort´enik egy rekurzi´os l´ep´esben. El˝osz¨or ellen˝orizz¨ uk, hogy a fa egyetlen u ´ tb´ol ´all-e. Ha nem, akkor a legritk´abb elemb˝ol kiindulva el˝o´all´ıtjuk a vet´ıtett f´akat, ´es rekurz´ıvan megh´ıvjuk az algoritmust. A vet´ıtett f´aban els˝o l´ep´esk´ent meg kell hat´arozni a vet´ıtett bemenetben szerepl˝o elemek t´amogatotts´ag´at, m´asodik l´ep´esk´ent pedig el˝o´all´ıtjuk a vet´ıtett FP-f´at. Ez tulajdonk´eppen az aktu´alis fa adott elemhez tartoz´o ´againak k´etszeri bej´ar´as´at jelenti. Az els˝o bej´ar´ast lehet meggyors´ıtani egy seg´edt¨omb haszn´alat´aval. Az FP-fa ´ep´ıt´es´en´el t¨olts¨ unk fel egy, kezdetben 0 ´ert´ekeket tartalmaz´o t¨omb¨ot is. Amikor besz´ urunk egy t (ak´ar vet´ıtett) tranzakci´ot az (ak´ar vet´ıtett) FP-f´aba, n¨ovelj¨ uk eggyel a t¨omb (i, j)-edik cell´aj´at, amennyiben az i ´es j elemei t-nek. A fa fel´ep´ıt´ese ut´an rendelkez´es¨ unkre ´all egy t¨omb, ami tartalmazza az elemp´arok el˝ofordul´as´at. Ha ezek ut´an egy vet´ıtett f´at akarunk k´esz´ıteni, akkor sz¨ uks´egtelen id˝ot t¨olten¨ unk az els˝o l´ep´essel, hiszen a t¨omb megfelel˝o sor´ab´ol ¨ k¨ozvetlen megkaphatjuk a t´amogatotts´agokat. Osszess´ eg´eben az els˝o l´ep´es gyorsabb (nem kell a f´aban bolyonganunk, csak a t¨omb elemeit kiolvasni), a m´asodik lassabb (a t¨omb¨ot is fel kell t¨olteni), a mem´oriafogyaszt´as pedig nagyobb (a t¨omb m´eret´evel).
4. FEJEZET. GYAKORI ELEMHALMAZOK
87
4.4.2. Patricia
4.5. Elavult technik´ ak 1993 ´ota k´etsz´az k¨or¨ uli cikk jelent meg gyakori elemhalmazokat kinyer˝o algoritmusok t´em´aj´aban. Legt¨obb cikk egy u ´ j gyors´ıt´asi tr¨ ukk¨ot vagy egy u ´ j m´odszert mutatott be ´es a szerz˝oi azt ´all´ıtj´ak, hogy az ˝o m´odszer¨ uk a legjobb. Ez nyilv´anval´oan k´eptelens´eg. A rengetek m´odszer miatt kialakult k´aoszt n´eh´any kutat´o megel´egelte ´es megrendezt´ek 2003-ban ´es 2004-ben a gyakori elemhalmazokat kinyer˝o algoritmusok verseny´et. Sebess´eg tekintet´eben az Eclat ´es az FP-growth k¨ ul¨onb¨oz˝o m´odos´ıt´asai voltak a legjobbak, a mem´oria ter´en pedig az Apriori volt kiemelked˝o. A tov´abbiakban felsoroljuk azokat az algoritmusokat, amelyeket mai napig megtal´alhatunk k¨ ul¨onb¨oz˝o adatb´any´aszati tank¨onyvekben, a legt¨obb kutat´o ´altal ismertek, de a versenyek sor´an egyik sem bizony´ıtotta be, hogy bef´erne az elit algoritmusok k¨or´ebe. A tanulm´any kor´abbi verzi´oiban ezek az elavult m´odszerek le´ır´asai is ott szerepeltek az Apriori, Eclat ´es FPgrowth mellett, m´ara azonban csak a k¨ovetkez˝o list´aban kapnak helyet : SETM [60], AprioriTID [5], Apriori-Hybrid [5], DHP [103], DIC, Patr´ıcia, Tree projection, DF-apriori [109],
4.6. Mintav´ etelez˝ o algoritmus elemz´ ese Az egyszer˝ u mintav´etelez˝o algoritmust bemutatunk a 10.5.4 r´eszben. Itt azt vizsg´aljuk, hogy mekkora mint´at c´elszer˝ u venni annak ´erdek´eben, hogy az algoritmus minden gyakori elemhalmazt megtal´aljon.
4.6.1. Mintav´ etel nagys´ aga Mintav´etelez´esen alapul´o elj´ar´asokn´al a minta m´erete k¨ozponti k´erd´es. Ha a minta t´ ul kicsi, akkor a mint´ab´ol nyert inform´aci´o t´avol ´allhat a teljes adatb´azisban tal´alhat´o glob´alis helyzett˝ol”. Mivel f¨ol¨oslegesen nagy minta lass´ u algoritmusokat eredm´enyez, ez´ert fontos egy ” kicsi, de m´ar pontos k´epet ad´o mintam´eret meghat´aroz´asa. A 3.3.7 r´eszben megadtuk, hogy mekkora mint´at kell v´alasztani, ha azt akarjuk, hogy a relat´ıv gyakoris´agok megegyezzenek az el˝ofordul´asok val´osz´ın˝ us´eg´evel. Haszn´aljuk most is a A 3.3.7 r´eszben bevezetett elnevez´eseket ´es jel¨ol´eseket. N´ezz¨ uk, hogy mennyivel kell cs¨okkenteni a gyakoris´agi k¨ usz¨ob¨ot (min f req 0) ahhoz, hogy kicsi legyen annak val´osz´ın˝ us´ege, hogy tetsz˝oleges gyakori elem mint´ahoz tartoz´o gyakoris´aga kisebb a cs¨okkentett k¨ usz¨obn´el, teh´at : Y P(gyakoris´ag(x, m) < min f req 0 ) = P < min f req 0 m egy adott k¨ usz¨obn´el (δ 0 ) kisebb kell legyen ´es tudjuk, hogy p > min f req A fenti egyenletre alkalmazva a Hoeffding-korl´atot azt kapjuk, hogy P
Y < min f req 0 = m
4. FEJEZET. GYAKORI ELEMHALMAZOK
P P
88
Y − p < min f req 0 − p < m
Y − p < min f req 0 − min f req m 2m
≤ e−2(min freq’-min freq)
teh´at ahhoz, hogy a hib´az´as val´osz´ın˝ us´ege kisebb legyen δ 0 -n´el teljes¨ ulnie kell, hogy r 1 1 0 ln 0 min f req < min f req − 2m δ A 4.2 t´abl´azat azt mutatja, hogy r¨ogz´ıtett hibakorl´at mellett (δ 0 = 0.001) adott mintam´erethez mennyi legyen a cs¨okkentett k¨ usz¨ob. min freq (%) 0.25 0.50 0.75 1.00 1.50 2.00
20000 0.13 0.34 0.55 0.77 1.22 1.67
Minta m´erete 40000 60000 0.17 0.18 0.38 0.40 0.61 0.63 0.83 0.86 1.30 1.33 1.77 1.81
80000 0.19 0.41 0.65 0.88 1.35 1.84
4.2. t´abl´azat. A k¨ usz¨ob cs¨okkent´ese adott mintam´eretekre r¨ogz´ıtett δ = 0.001 mellett
4.7. Elemhalmazok Galois lez´ arja Egy minta z´art, ha nincs vele egyez˝o t´amogatotts´ag´ u b˝ovebb minta. Eset¨ unkben ez azt jelenti, hogy ha egy elemhalmaz nem z´art, akkor pontosan azokban a bemeneti elemekben fordul el˝o, amelyekben a lez´artja. Ha p´eld´aul az A elem lez´artja az AB halmaz, akkor tudjuk, hogy az A halmaz soha nem fordul el˝o a bemeneti elemekben a B elem n´elk¨ ul. Ebben a r´eszben a lez´art tov´abbi tulajdons´agait fogjuk megismerni. Az´ert illetj¨ uk a lez´artat a Galois jelz˝ovel, mert teljes¨ ulni fog a lez´ar´as oper´atorra a Galois elm´eletb˝ol j´ol ismert 3 tulajdons´ag. Miel˝ott erre r´at´er¨ unk n´ezz¨ uk meg, hogy az elemhalmazokat tartalmaz´o mintak¨ornyezet egy´ertelm˝ u-e a z´arts´agra n´ezve. 4.19. lemma. Az elemhalmazokat tartalmaz´o mintak¨ornyezet a z´arts´agra n´ezve egy´ertelm˝ u. Bizony´ıt´as: Indirekt tegy¨ uk fel, hogy az I elemhalmaznak l´etezik k´et lez´artja, azaz l´etezik I 0 , I 00 k¨ ul¨onb¨oz˝o elemhalmazok, amelyekre a minimalit´as mellett teljes¨ ulnek a I ⊂ I 0 , I ⊂ I 00 , |I 0| = = |I 00 |, supp(I 0) = supp(I 00 ) felt´etelek. Ez azt jelenti, ahogy azon tranzakci´ok, amelyek I-t tartalmazz´ak, tartalmazz´ak az I 0 \ I ´es az I 00 \ I halmazokat is. De ebb˝ol k¨ovetkezik, hogy ezek a tranzakci´ok I 0 ∪ I 00 is tartalmazz´ak, azaz I 0 ∪ I 00 is lez´artja I-nek, ´ıgy sem I 0 sem I 00 nem lehet minim´alis.
4. FEJEZET. GYAKORI ELEMHALMAZOK
89
A fentiek miatt a gyakori z´art elemhalmazokb´ol ´es azok t´amogatotts´agaib´ol egy´ertelm˝ uen meg tudjuk hat´arozni a gyakori elemhalmazokat ´es azok t´amogatotts´ag´at. A gyakori z´art mint´ak teh´at a z´art mint´ak egy vesztes´egmentes t¨om¨or´ıt´ese, ´erdemes csak ezeket meghat´arozni ´es elt´arolni [104–106, 150].
4.7.1. A z´ art elemhalmazok fogalma Az I elemhalmaz z´art, amennyiben nincs n´ala b˝ovebb halmaz, amelynek t´amogatotts´aga megegyezik I t´amogatotts´ag´aval. Jel¨olj¨ uk cover-rel azt a f¨ uggv´enyt, amely egy elemhalmazhoz az azt tartalmaz´o tranzakci´ok halmaz´at adja meg. A z´art elemhalmazokra adhatunk egy m´asik defin´ıci´ot is. Vezess¨ uk, be a cover 0 f¨ uggv´enyt : 4.20. defin´ıci´ o. Legyen T = ht1 , . . . , tn i tranzakci´ok sorozata, amelynek minden eleme az I-nek egy r´eszhalmaza. Defini´aljuk a cover 0 : 2N → 2I f¨ uggv´enyt a k¨ovetkez˝ok´eppen \ cover 0 (T ) = {i ∈ I|∀j ∈ T, i ∈ cover(tj )} = cover(t) t∈T
Teh´at cover 0 (T ) megadja azon k¨oz¨os elemeket, amelyeket minden olyan tranzakci´o tartalmaz, amelynek sorsz´ama T -beli. A (cover, cover 0 ) f¨ uggv´enyp´art az T ´es I hatv´anyhalmazai k¨oz¨otti Galois-kapcsolatnak h´ıvjuk. Legyen a p´eldaadatb´azisunk a k¨ovetkez˝o : hACD, BCE, ABCE, BE, ABCEi. Ekkor : cover({A, C}) = {1,3,5}, cover(∅) = {1,2,3,4,5}, cover 0 ({1,2,3}) = {C}, cover 0({1,4}) = ∅. Az al´abbi tulajdons´agok igazak tetsz˝oleges t, t1 , t2 ⊆ T ´es I, I1 , I2 ⊆ I halmazokra : (1) I1 ⊆ I2 ⇒ cover(I1 ) ⊇ cover(I2 ) (10 ) T1 ⊆ T2 ⇒ cover 0 (T1 ) ⊇ cover 0 (T2 ) (2) T ⊆ cover(I) ⇐⇒ I ⊆ cover 0 (T ) 4.21. defin´ıci´ o. A h = cover 0 ◦ cover (vagy h0 = cover ◦ cover 0 ) oper´atort Galois-lez´ ar´ as oper´atornak h´ıvjuk. Bel´athat´o, hogy tetsz˝oleges halmaznak a lez´artja tartalmazza mag´at a halmazt, tov´abb´a a Galois-lez´ar´as oper´atora idempotens ´es monoton, teh´at (I) I ⊆ h(I) (I 0 ) T ⊆ h0 (T ) (II) h(h(I)) = h(I) (II 0 ) h0 (h0 (T )) = h0 (T ) (II) I1 ⊆ I2 ⇒ h(I1 ) ⊆ h(I2 ) (III 0 ) T1 ⊆ T2 ⇒ h0 (T1 ) ⊆ h0 (T2 ) 4.22. defin´ıci´ o (z´ art elemhalmaz). I elemhalmaz z´art, amennyiben I = h(I). Tetsz˝oleges elemhalmazt (I) tartalmaz´o minim´alis elemsz´am´ u z´art elemhalmazt a lez´ar´as oper´ator alkalmaz´as´aval kaphatunk meg ; ez ´eppen h(I) lesz. A p´eldaadatb´azisban tal´alhat´o z´art elemhalmazok al´abbiak:
4. FEJEZET. GYAKORI ELEMHALMAZOK
90
z´art elemhalmazok {∅}, {C}, {B,E}, {B,C,E}, {A,C}, {A,B,C,E}, {A,C,D}, {A,B,C,D,E} Ad´osok vagyunk m´eg annak bizony´ıt´as´aval, hogy a k´et defin´ıci´o ekvivalens, azaz, ha h(C) = C, akkor C-n´el nincs b˝ovebb halmaz, amely t´amogatotts´aga megegyezne C t´amogatotts´ag´aval, illetve ford´ıtva. A k´et ´all´ıt´ as k¨ozvetlen ad´odik a k¨ovetkez˝o t´etelb˝ol. 4.23. t´ etel. Minden elem t´amogatotts´aga megegyezik lez´artj´anak t´ amogatotts´ag´aval, teh´at supp(I) = supp(h(I)) Bizony´ıt´as: A lez´ar´as (1) tulajdons´aga miatt supp(I) ≥ supp(h(I)). Ugyanakkor supp(h(I)) = |cover(h(I))| = |cover(cover 0(cover(I)))| = |h0 (cover(I))| ≤ supp(I) a (III’) miatt, amib˝ol k¨ovetkezik az egyenl˝os´eg.
A 10.4.2 r´eszben bemutatjuk, hogy a gyakori mint´akb´ol hogyan v´alaszthatjuk ki a z´artakat, illetve az APRIOR-CLOSE algoritmust, ami m´ar eleve csak a gyakori z´art mint´akat ´all´ıtja el˝o. Az APRIOR-CLOSE algoritmusn´al l´eteznek gyorsabb algoritmusok (CHARM [149], CLOSET [108], CLOSET+ [140], MAFIA [24]), ezek ismertet´es´et˝ol eltekint¨ unk.
4.8. K´ enyszerek kezel´ ese Ebben a r´eszben azt a speci´alis feladatot n´ezz¨ uk meg, hogy mik´ent lehet cs¨okkenteni a bemenetet, ha az anti-monoton k´enyszerek mellett monoton k´enyszereket is megadunk. M´ar az ´altal´anos mintakeres´esn´el megt´argyaltuk, hogy tetsz˝oleges anti-monoton k´enyszer k¨onny˝ uszerrel be´ep´ıthet˝o az APRIORI algoritmusba. Most azt n´ezz¨ uk meg, hogy a monoton k´enyszerek hogyan alkalmazhat´ok a bemeneti t´er cs¨okkent´es´ere. Adott egy bemeneti sorozat, minim´alis t´amogatotts´agi k¨ usz¨ob ´es monoton k´enyszerek C halmaza. Feladat a bemenet cs¨okkent´ese oly m´odon, hogy b´armely teljes algoritmus a cs¨okkentett bemeneten is teljes legyen.
4.8.1. ExAnte Az ExAnte [80] algoritmus k´etf´ele l´ep´est ism´etel eg´eszen addig, am´ıg ez valamilyen v´altoz´ast jelent. Az els˝o l´ep´es azon tranzakci´ok t¨orl´ese, amelyek nem adnak igaz ´ert´eket minden C-beli k´enyszeren. Az ilyen tranzakci´ok csak olyan mint´ak t´amogatotts´ag´at n¨ovelik, amelyek u ´ gysem el´eg´ıtik ki a k´enyszereket (ez k¨ovetkezik a k´enyszerek monoton tulajdons´ag´ab´ol). A m´asodik l´ep´esben a bemenet elemei k¨oz¨ ul t¨or¨olj¨ uk a ritk´akat, hiszen azok u ´ gysem j´atszanak szerepet a t´amogatotts´ag meghat´aroz´as´an´al.
4. FEJEZET. GYAKORI ELEMHALMAZOK
91
L´atnunk kell, hogy az els˝o l´ep´esbeli t¨orl´es u ´ j ritka elemekhez vezethet, ami cs¨okkenti bizonyos tranzakci´ok m´eret´et, ami viszont ahhoz vezethet, hogy ezek u ´ jabb k´enyszereket fognak s´erteni. Jogos teh´at, hogy a k´et m´odszert felv´altva futtassuk addig, am´ıg van valami v´altoz´as. Az algoritmus a bemenet cs¨okkent´ese mellett el˝o´all´ıtja azon gyakori elemeket, amelyekre minden k´enyszer teljes¨ ul. Gyakori elemhalmaz csak ezekb˝ol az elemekb˝ol ´ep¨ ulhetnek fel. N´ezz¨ unk egy p´eld´at. Az adatb´azisban 8 elem ´es 9 tranzakci´o van. Legyen min supp = 4. Minden elemnek van egy ´ara. Az egyetlen k´enyszer (sum(i.´ ar) > 44) szerint a halmazban tal´alhat´o term´ekek ´ar´anak ¨osszege 44-n´el nagyobb legyen. A k¨ovetkez˝o k´et t´abl´azat adja meg az adatokat.
term´ek A B C D E F G H
´ar 5 8 14 30 20 15 6 12
TID 1 2 3 4 5 6 7 8 9
tranzakci´o B, C, D, G A, B, D, E B, C, D, G, H A, E, G C, D, F, G A, B, C, D, E A, B, D, F, G, H B, C, D B, E, F, G
´ar ¨osszeg 58 63 70 31 65 77 76 52 49
Az els˝o v´egigolvas´as sor´an meghat´arozzuk az elemek t´amogatotts´ag´at azon tranzakci´okban, amelyek kiel´eg´ıtik a k´enyszert (a 4-es kiv´etel´evel mindegyik). Ezut´an t¨or¨olj¨ uk a ritka elemeket (A, E, F, H). Ism´et v´egigmegy¨ unk az adatb´azison, de most m´ar ezeket az elemeket nem n´ezz¨ uk, aminek k¨ovetkezt´eben u ´ jabb tranzakci´ok esnek ki (2,7,9). A kiesett tranzakci´ok miatt cs¨okkennek a t´amogatotts´agok, ´ıgy u ´ jabb elem lesz ritka (G). Ezt ´ıgy folytatjuk, am´ıg van v´altoz´as. A 4. v´egigolvas´as ut´an azt kapjuk, hogy csak az 1,3,6,8 tranzakci´okat ´es a B, C, D elemeket kell figyelembe venni.
4.9. T¨ obbsz¨ or¨ os t´ amogatotts´ agi k¨ usz¨ ob Az univerz´alis t´amogatotts´agi k¨ usz¨obnek vannak el˝onyei ´es h´atr´anyai. El˝onye, hogy felhaszn´alhatjuk azt a t´enyt, hogy gyakori minta minden r´eszmint´aja gyakori, ami alapj´an hat´ekony algoritmusokat adhatunk. H´atr´anya, hogy a ritk´an el˝ofordul´o, de m´egis fontos mint´akat csak akkor tudjuk kinyerni, ha a t´amogatotts´agi k¨ usz¨ob¨ot alacsonyra ´all´ıtjuk. Ez viszont rengeteg gyakori mint´ahoz fog vezetni, ha egy´altal´an le tud futni az algoritmus. K¨ ul¨onb¨oz˝o t´amogatotts´agi k¨ usz¨ob¨ok (vagy m´ask´ent t´amogatotts´agi k¨ usz¨ob f¨ uggv´eny´enek) megad´as´aval ez a probl´ema elker¨ ulhet˝o : a nem l´enyeges mint´aknak legyen nagy a k¨ usz¨ob¨ uk, a l´enyegesebbeknek legyen alacsony. Egyedi t´amogatotts´agi k¨ usz¨ob¨ok bevezet´es´evel azonban felborul eddigi k´enyelmes vil´agunk, amelyet az biztos´ıtott, hogy nem lehet egy minta gyakori, ha van ritka r´eszmint´aja. A r´eszmint´ak t´amogatotts´agi k¨ usz¨obe ugyanis nagyobb lehet, ´ıgy hi´aba nagyobb a t´amogatotts´aga, ett˝ol m´eg lehet ritka. A k¨ovetkez˝okben bemutatjuk a legels˝o ´es legegyszer˝ ubb t´amogatotts´agi k¨ usz¨ob f¨ uggv´enyt, majd bemutatjuk az MSApriori algoritmust, amely ezt hat´ekonyan kezeli.
4. FEJEZET. GYAKORI ELEMHALMAZOK
92
4.9.1. MSApriori algoritmus K´ezzel megadni a 2I minden elem´enek t´amogatotts´agi k¨ usz¨ob´et f´arads´agos, s˝ot nagy |I| eset´en kivitelezhetetlen feladat. Az MSApriori algoritmusn´al csak az egyelem˝ u elemhalmazok t´amogatotts´agi k¨ usz¨ob´et lehet megadni. Jel¨olj¨ uk az i elem k¨ usz¨ob´et MIS(i)-vel. Az I elemhalmaz t´amogatotts´agi k¨ usz¨obe legyen a legkisebb t´amogatotts´agi k¨ usz¨obbel rendelkez˝o elem´enek t´amogatotts´agi k¨ usz¨obe (MIS(I) = mini∈I {MIS(i)}). Akkor gyakori az I halmaz, ha t´amogatotts´aga nagyobb vagy egyenl˝o MIS(I)-n´el. A defin´ıci´ob´ol k¨ovetkezik, hogy t´enyleg nem mondhatjuk, hogy gyakori minta minden r´eszmint´aja gyakori. P´eld´aul az ABC elemhalmaz BC r´eszhalmaz´anak nagyobb lehet MIS ´ert´eke. Ha a feladat megold´as´ara az APRIORI algoritmust haszn´aljuk u ´ gy, hogy csak a gyakori elemhalmazok kiv´alaszt´as´anak m´odj´at m´odos´ıtjuk (min supp cser´eje MIS(I)-re), akkor nem garant´alt, hogy j´o megold´ast kapunk. Ha p´eld´aul a BC ritka, akkor az ABC halmaz nem lenne a jel¨oltek k¨oz¨ott annak ellen´ere, hogy ak´ar gyakori is lehet. Szerencs´ere a probl´ema k¨onnyen orvosolhat´o. Csak azt kell ´eszrevenn¨ unk, hogy mi okozhatja a hib´at. Az Vaks´agot okoz a nyakkend˝ o. ´altal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy az ele- ”A kutat´as szerint a szorosan mek MIS ´ert´ek¨ uk alapj´an n¨ovekv˝o sorba vannak rendez- megk¨ot¨ott nyakkend˝o cs¨okkentheve. A MIS defin´ıci´oj´ab´ol k¨ovetkezik, hogy tetsz˝oleges `- ti a nyaki v´ena hat´ekonys´ ag´ at, elem˝ u I = {i1 , . . . , i` } halmaz ` − 1 darab (` − 1)-elem˝ u ez´altal a szem v´erell´at´ as´ at, r´eszhalmaz´anak MIS ´ert´eke megegyezik I MIS ´ert´ek´evel, ´es h´alyog kialakul´as´ ahoz, ami MIS(i1 ). Ezeknek a r´eszhalmazoknak teh´at gyakorinak legs´ ulyosabb esetben pedig kell lenni¨ uk, hiszen a t´amogatotts´ag monotons´aga most is r´eszleges vagy teljes vaks´ aghoz fenn´all. Az egyetlen r´eszhalmaz, amely lehet ritka, az I leg- vezethet. M´eg vesz´elyesebb a els˝o elem´et nem tartalmaz´o r´eszhalmaz. Ezt a r´eszhalmazt helyzet a v´ekony nyak´ u emberek teh´at ne vizsg´aljuk a jel¨olt el˝o´all´ıt´as m´asodik l´ep´ese sor´an. eset´eben, mert az ˝o v´en´ ajuk Kiv´etel ez al´ol azon eset, amikor a m´asodik elem MIS ´ert´eke ´erz´ekenyebb – mutatnak r´ a az megegyezik az els˝o elem MIS ´ert´ek´evel, mert ekkor m´eg en- orvosok.” Forr´as: http://pvg. nek a r´eszhalmaznak is gyakorinak kell lennie. uw.hu/cikk/nyakkendo.html Amennyiben ` > 2, akkor biztos, hogy a gener´atorok egyike sem egyezik meg a legkisebb elemet nem tartalmaz´o r´eszhalmazzal (`>2 eset´eben ugyanis a gener´atorok (`−2)-elem˝ u prefixei megegyeznek, amelyek biztos, hogy tartalmazz´ak a jel¨olt els˝o elem´et). Ez pedig garant´alja, hogy az algoritmus teljes, amennyiben az ¨osszes gyakori elemp´art megtal´altuk. N´ezz¨ uk meg most az egy- ´es k´etelem˝ u jel¨oltek eset´et. Gyakori elemek meghat´aroz´as´an´al a szok´asos elj´ar´ast k¨ovetj¨ uk: minden elem jel¨olt. Elemp´arok eset´eben azonban nem ´all´ıthatjuk, hogy egy p´ar akkor jel¨olt, ha mindk´et eleme gyakori. P´eld´aul az AB p´ar lehet gyakori akkor is, ha az A ritka. Ha ugyanis B-nek MIS ´ert´eke kisebb A-nak MIS ´ert´ek´en´el, akkor az AB-nek a MIS ´ert´eke megegyezik B-nek a MIS ´ert´ek´evel, ´ıgy AB lehet gyakori. Szerencs´ere sz¨ uks´egtelen az ¨osszes elemet figyelembe venni. Ha p´eld´aul az A elem ritka ´es az A MIS ´ert´eke a legkisebb, akkor a t´amogatotts´ag monotons´ag´ab´ol k¨ovetkezik, hogy az A-t tartalmaz´o halmazok ritk´ak. Ha teh´at MIS ´ert´ek szerint n¨ovekv˝oen vannak rendezve az elemek, akkor a legkisebb˝ol kiindulva keress¨ uk meg az els˝o gyakori elemet. Az ¨osszes ut´ana k¨ovetkez˝ot figyelembe kell venni a jel¨oltp´arok el˝o´all´ıt´as´an´al akkor is, ha valamelyik ritka.
5. fejezet Asszoci´ aci´ os szab´ alyok A gyakori elemhalmazokat felhaszn´alhatjuk arra, hogy gyakori elemhalmazokra vonatkoz´o szab´alyokat nyerj¨ unk ki bel˝ol¨ uk. Az I1 → I2 asszoci´aci´os szab´aly azt ´all´ıtja, hogy azon bemeneti elemek, amelyek tartalmazz´ak I1 -et, tartalmazz´ak ´altal´aban I2 -t is. P´eld´aul a pelenk´at v´as´arl´ok s¨ort is szoktak venni. Mi az ´ertelme ezeknek a szab´alyoknak? P´eld´aul az, hogy szupermarket extra profithoz juthat az al´abbi m´odon: Ha I1 → I2 szab´aly igaz, akkor ´ori´asi h´ırver´es k¨ozepette cs¨okkents¨ uk I1 term´ekek ´ar´at (mondjuk 15%-kal). Emellett diszkr´eten emelj¨ uk meg I2 term´ek ´ar´at (mondjuk 30%-kal) u ´ gy, hogy az I1 ´arcs¨okkent´es´eb˝ol sz´armaz´o profitcs¨okken´es kisebb legyen, mint az I2 ´aremel´es´eb˝ol sz´armaz´o profitn¨oveked´es. Az I1 ´es I2 term´ekek elad´asai egy¨ utt mozognak, teh´at az I2 term´ek elad´asa is n˝oni fog. Amit veszt¨ unk a r´even, azt megnyerj¨ uk a v´amon: ¨osszess´eg´eben a profitunk n˝oni fog, ´es a le´araz´as rekl´amnak is j´o volt. Korunkra jellemz˝o olcs´o internetes u ¨ zletek is ilyen szab´alyok alapj´an dolgoznak. Tudj´ak milyen term´eket v´as´arolnak egy¨ utt. Sokszor az egy¨ utt v´as´arl´ast el˝o is ´ırj´ak azzal, hogy nem adj´ak el ¨onmag´aban az olcs´o ´arucikket, csak akkor, ha megveszi az u ¨ gyf´el a dr´aga kieg´esz´ıt˝ot is. Az ilyen szab´alyokb´ol nyert inform´aci´ot haszn´alhatj´ak emellett ´aruh´azak term´ekt´erk´ep´enek kialak´ıt´as´ahoz is. C´el a term´ekek olyan elrendez´ese, hogy a vev˝ok elhaladjanak az ˝oket ´erdekelhet˝o term´ekek el˝ott. Gondoljuk meg, hogyan lehet kiakn´azni e c´elb´ol egy asszoci´aci´os szab´alyt. Elemhalmazok sorozat´at ´abr´azolhatjuk bin´aris ´ert´ekeket tartalmaz´o t´abl´aval is. Ekkor az asszoci´aci´os szab´alyok attrib´ utumok k¨oz¨otti ¨osszef¨ ugg´est mutatnak: ha az I1 attrib´ utumok ´ert´ekei 1-es, akkor nagy val´osz´ın˝ us´eggel az I2 attrib´ utumok ´ert´eke is az. A val´osz´ın˝ us´eg ´ert´ek´et a szab´aly bizonyoss´aga adja meg. Csak olyan szab´alyok lesznek ´erdekesek, amelyek bizonyoss´aga magas. P´eld´aul a h´azass´agban ´el˝ok 85%-´anak van gyermek¨ uk. Az asszoci´aci´os szab´alyok felhaszn´al´asi ter¨ ulete egyre b˝ov¨ ul. A piaci strat´egia meghat´aroz´as´an t´ ul egyre fontosabb szerepet j´atszik a d¨ont´est´amogat´as ´es p´enz¨ ugyi el˝orejelz´esek ter¨ ulet´en is. N´ezz¨ uk most az asszoci´aci´os szab´aly pontos defin´ıci´oj´at.
93
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
94
5.1. Az asszoci´ aci´ os szab´ aly fogalma Haszn´aljuk a 4.1 r´eszben bevezetett defin´ıci´okat ´es jel¨ol´eseket (elemhalmaz, kos´ar, t´amogatotts´ag, fed´es, gyakori elemhalmaz stb.). 5.1. defin´ıci´ o (asszoci´ aci´ os szab´ aly). Legyen T az I hatv´anyhalmaza felett ´ertelmezett soroc,s zat. Az R:I1 −→I2 kifejez´est c bizonyoss´ag´ u, s t´amogatotts´ag´ u asszoci´aci´os szab´alynak nevezz¨ uk, ha I1 , I2 diszjunkt elemhalmazok, ´es c=
suppT(I1 ∪ I2 ) , suppT(I1 )
s = suppT(I1 ∪ I2 )
A szab´aly bal oldal´at felt´etel r´esznek, a jobb oldal´at pedig k¨ovetkezm´eny r´esznek nevezz¨ uk. Az R : I1 → I2 szab´aly bizonyoss´ag´ara gyakran conf (R)-k´ent Feladat egy adott kos´arsorozatban azon asszoci´aci´os szab´alyok megtal´al´asa, amelyek gyakoriak (t´amogatotts´aguk legal´abb min supp), ´es bizonyoss´aguk egy el˝ore megadott korl´at felett van. Jel¨olj¨ uk ezt a bizonyoss´agi korl´atot min conf -fal. A felt´etelt kiel´eg´ıt˝o szab´alyokat ´erv´enyes asszoci´aci´os szab´alyoknak h´ıvjuk, az 1 bizonyoss´aggal rendelkez˝oket pedig egzakt asszoci´aci´os szab´alynak.
hivatkozunk. Felm´er´esek igazolj´ak, hogy azok ” a legboldogabb p´arok, akik nemcsak h´etk¨oznapi probl´em´ajukat osztj´ak meg egym´assal, de mernek a titkos ´almaikr´ol is besz´elni.” Forr´as: Wellness 2007. okt´oberi sz´am 106. oldal
5.2. defin´ıci´ o (´ erv´ enyes asszoci´ aci´ os szab´ aly). T kosarak sorozat´aban, min supp t´amogatotts´agi ´es min conf c,s bizonyoss´agi k¨ usz¨ob mellett az I1 −→ I2 asszoci´aci´os szab´aly ´erv´enyes, amennyiben I1 ∪ I2 gyakori elemhalmaz, ´es c ≥ min conf A fenti feladatot k´et l´ep´esben oldjuk meg. El˝osz¨or el˝o´all´ıtjuk a gyakori elemhalmazokat, majd ezekb˝ol az ´erv´enyes asszoci´aci´os szab´alyokat. Az els˝o l´ep´esr˝ol sz´ol a 4. fejezet, n´ezz¨ uk most a m´asodik l´ep´est. Minden I gyakori term´ekhalmazt bontsunk fel k´et diszjunkt nem u ¨ res r´eszre (I = I1 ∪ I2 ), supp(I) majd ellen˝orizz¨ uk, hogy teljes¨ ul-e a supp(I1 ) ≥ min conf felt´etel. Amennyiben igen, akkor a I1 → I2 egy ´erv´enyes asszoci´aci´os szab´aly. A t´amogatotts´ag anti-monoton tulajdons´ag´at felhaszn´alhatjuk annak ´erdek´eben, hogy ne v´egezz¨ unk t´ ul sok felesleges kett´eoszt´ast. 5.3. ´ eszrev´ etel. Amennyiben I1 , I gyakori elemhalmazok a T bemeneti sorozatban, ´es I1 ⊂ I, illetve I1 → I\I1 nem ´erv´enyes asszoci´aci´os szab´aly, akkor I10 → I\I10 sem ´erv´enyes semmilyen I10 ⊂ I1 -re. c,s
supp(I) 1 ∪(I\I1 )) = supp(I < min conf . Bizony´ıt´as: Az I1 −→ I\I1 nem ´erv´enyes szab´aly, teh´at c = supp(I supp(I1 ) 1) 1 1 0 Mivel a t´amogatotts´ag anti-monoton, ez´ert supp(I1 ) ≥ supp(I1 ), amib˝ol supp(I 0 ) ≤ supp(I , ´es 1) 1 0 0 0 ebb˝ol, ha c -vel jel¨olj¨ uk az I1 → I\I1 szab´aly bizonyoss´ag´at, akkor
c0 =
supp(I) supp(I) ≤ < min conf 0 supp(I1 ) supp(I1 )
teh´at I10 → I\I10 sem ´erv´enyes asszoci´aci´os szab´aly.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
95
Weka 3.5.7 Az asszoci´aci´os szab´alyokkal kapcsolatos oszt´alyokat az Explorer Associate f¨ ul´en kereszt¨ ul ´erhetj¨ uk el.
5.1.1. Maxim´ alis k¨ ovetkezm´ eny˝ u asszoci´ aci´ os szab´ aly A maxim´alis m´eret˝ u gyakori mint´akb´ol az ¨osszes gyakori mint´at meghat´arozhatjuk. Ez abb´ol k¨ovetkezik, hogy gyakori minta minden r´eszmint´aja gyakori. Asszoci´aci´o szab´alyokn´al is vannak olyanok, amelyekb˝ol m´as szab´alyok levezethet˝ok. N´ezz¨ unk k´et egyszer˝ u levezet´esi szab´alyt. Tegy¨ uk fel, hogy I1 → I2 ´erv´enyes asszoci´aci´os szab´aly, ekkor – I1 → I20 is ´erv´enyes, minden I20 ⊆ I2 -re. – I1 ∪i→I2 \{i} is ´erv´enyes minden i∈I2 -re. Ezek szerint a k¨ovetkezm´enyr´eszb˝ol tetsz˝oleges elemet ´attehet¨ unk a felt´etelr´eszbe. Mindk´et ´all´ıt´as a t´amogatotts´ag anti-monoton tulajdons´ag´ab´ol k¨ozvetlen¨ ul ad´odik. Ezek szerint minden asszoci´aci´os szab´aly levezethet˝o a maxim´alis k¨ovetkezm´enyr´esszel rendelkez˝o asszoci´aci´os szab´alyokb´ol. Persze a levezethet˝os´eg nem a lejobb sz´o, ugyanis a szab´alyok param´etereire nem tudunk k¨ovetkeztetni.
5.1.2. Egzakt asszoci´ aci´ os szab´ alyok b´ azisa A 100%-os bizonyoss´aggal rendelkez˝o asszoci´aci´os szab´alyokat egzakt asszoci´ aci´ os szab´alyoknak h´ıvjuk. Az egzakt asszoci´aci´os szab´alyokra ´erv´enyes tranzitivit´as is, teh´at I1 → I2 ´es I2 → I3 -b´ol k¨ovetkezik, hogy I1 → I3 . Matematikus be´all´ıtotts´ag´ u emberek agy´aban azonnal felmer¨ ul, hogy van-e az egzakt asszoci´aci´os szab´alyoknak egy minim´alis b´azisa, amelyb˝ol minden egzakt asszoci´aci´os szab´aly levezethet˝o. Ehhez a b´azishoz a pszeud´o-z´art elemhalmazokon kereszt¨ ul jutunk. 5.4. defin´ıci´ o. Az I elemhalmaz T-re n´ezve z´art, amennyiben nem l´etezik olyan I 0 minta, amelynek I val´odi r´eszhalmaza, ´es I 0 t´amogatotts´aga megegyezik I t´amogatotts´ag´aval (supp(I 0 )= = supp(I)). 5.5. defin´ıci´ o. I ⊆ I pszeudo-z´art elemhalmaz, ha nem z´art, ´es minden pszeudo-z´art I 0 ⊂ I elemhalmazra fenn´all, hogy lez´artja val´odi r´esze I-nek. Az u ¨ res halmaz pszeudo-z´art, amennyiben az nem z´art. Z´art A pszeudo-z´art elemhalmazok seg´ıts´eg´evel tudunk egy olyan szab´alyb´azist megadni, amelyekb˝ol az ¨osszes egzakt asszoci´aci´os szab´aly megkaphat´o.
elemhalmaz fogalm´ahoz Pici p´eniszt okozhat a parf¨ um” ” Forr´as: http://www.ma. hu/page/cikk/aj/0/166581/1
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
96
5.6. defin´ıci´ o. Legyen F P a pszeudo-z´art elemhalmazok halmaza T-ben. Ekkor a Duquenne–Guigues-b´azist a k¨ovetkez˝ok´eppen defini´aljuk : DG = {r : I1 → h(I1 ) \ I1 |I1 ∈ F P, I1 6= ∅}, ahol az I lez´artj´at h(I)-vel jel¨olt¨ uk. 5.7. t´ etel. A Duquenne–Guigues-b´azisb´ol az ¨osszes egzakt szab´aly levezethet˝o ´es a b´azis minim´alis elemsz´am´ u, teh´at az egzakt szab´alyoknak nincsen olyan kisebb elemsz´am´ u halmaza, amelyb˝ol az ¨osszes egzakt asszoci´aci´os szab´aly levezethet˝o. A Duquenne–Guigues-b´azis maghat´aroz´as´ahoz a pszeudo-z´art elemhalmazokra van sz¨ uks´eg, amelyek a nem z´art gyakori elemhalmazokb´ol ker¨ ulnek ki. A pszeudo-z´arts´ag eld¨ont´es´ehez a defin´ıci´ob´ol indulunk ki: amennyiben I nem z´art gyakori term´ekhalmaznak l´etezik olyan r´eszhalmaza, amely lez´artja tartalmazza I-t, akkor I nem pszeudo-z´art elemhalmaz. Ellenkez˝o esetben az. Jel¨olj¨ uk az i-elem˝ u gyakori, illetve gyakori z´art halmazokat GYi ´es ZGYi-vel. Az algoritmus menete a k¨ovetkez˝o : Vegy¨ uk fel az u ¨ res halmazt a pszeudo-z´artak k¨oz´e, amennyiben az nem z´art. Ezut´an vizsg´aljuk GY1 \ ZGY1, GY2 \ ZGY2, . . . GYm \ ZGYm halmazokat. Az I ∈ GYi \ ZGYi pszeudo-z´arts´ag´anak eld¨ont´es´ehez, az ¨osszes eddig megtal´alt kisebb elemsz´am´ u pszeudo-z´art elemhalmazra ellen˝orizz¨ uk, hogy r´eszhalmaza-e I-nek ´es ha igen akkor lez´artja tartalmazza-e I-et. Amennyiben teh´at l´etezik olyan I 0 ∈ F Pj (j < i), amire fenn´all, hogy I 0 ⊂ I ´es I ⊆ h(I 0 ), akkor I nem pszeudo-z´art, ellenkez˝o esetben igen. Ekkor I lez´artja az I-t tartalmaz´o legkisebb z´art halmaz.
´ 5.2. Erdekess´ egi mutat´ ok Az asszoci´aci´os szab´alyok gyakorlati alkalmaz´asa sor´an az al´abbi h´arom s´ ulyos probl´ema jelentkezett : I. Az asszoci´aci´os szab´alyok sz´ama t´ ul nagy. Ha magasra ´all´ıtjuk a k´et k¨ usz¨obsz´amot, akkor kev´es szab´aly lesz ´erv´enyes, azonban ekkor sz´amos – am´ ugy ´erdekes – szab´aly rejtve marad. Ellenkez˝o esetben azonban rengeteg szab´aly j¨on l´etre, amelyek k¨oz¨ ul k´ezzel kiv´alogatni a fontosakat szinte lehetetlen feladat. II. Az asszoci´aci´os szab´alyok f´elrevezet˝ok lehetnek. Mivel az adatb´any´aszat fontos strat´egiai d¨ont´eseknek adhat alapot, f´elrevezet˝o szab´aly rossz strat´egi´at eredm´enyezhet. Fejts¨ uk ki ezt egy kicsit b˝ovebben. Egy asszoci´aci´os szab´alyra szoktak u ´ gy tekinteni (helytelen¨ ul!!! l´asd 5.6 r´esz), mint egy val´osz´ın˝ us´egi okozatis´ag viszonyra : adott term´ekhalmaz megv´as´arl´asa nagy val´osz´ın˝ us´eggel m´asik term´ekhalmaz megv´as´arl´as´at okozza”. Az oko” zatis´ag val´osz´ın˝ us´eg´et a szab´aly bizonyoss´aga adja meg. Csak ennek az ´ert´ek´et vizsg´alni azonban nem el´eg ! K´epzelj¨ unk el egy b¨ uf´et, ahol az al´abbiak teljes¨ ulnek. Az emberek egyharmada hamburgert vesz, egyharmada hot-dogot, egyharmada hamburgert ´es hot-dogot egyszerre. Azok ´es csak azok vesznek majon´ezt, akik hamburgert esznek. Ezek szerint a kosarak”66% ” tartalmaz hot-dogot ´es 50%-uk hot-dogot ´es majon´ezt is. Emiatt a hot-dog → majon´ez
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
97
´erv´enyes asszoci´aci´os szab´aly lehet. Felhaszn´alva az asszoci´aci´os szab´alyok bevezet´es´en´el bemutatott tr¨ ukk¨ot, a hot-dog´ert felel˝os r´eszleg vezet˝oje (,) u ´ gy d¨ont, hogy a nagyobb ´ert´ekes´ıt´es rem´eny´eben cs¨okkenti a hot-dog ´ar´at ´es n¨oveli a majon´ez´et. A v´arakoz´asokkal ellent´etben a profit cs¨okkenni fog ! Mi´ert ? Az´ert, mert a hamburger fogyaszt´ok a hot-dog kedvez˝o ´ara miatt ink´abb hot-dogot vesznek, aminek val´oj´aban semmi k¨oze a majon´ezhez, azaz annak elad´asa nem fog n˝oni. K¨ovetkeztet´es¨ unk az, hogy egy asszoci´aci´os szab´aly nem jelent okozatis´agot. A p´elda j´ol szeml´elteti, hogy a bizonyoss´ag nem a legt¨ok´eletesebb mutat´o az ¨osszef¨ ugg´esek m´er´es´ehez. Gondoljunk arra, hogy egy szab´aly bizonyoss´aga a k¨ovetkezm´enyr´esz felt´eteles c,s 1 ,I2 ) . Amennyiben val´osz´ın˝ us´eg´et pr´ob´alja becs¨ ulni, teh´at I1 −→ I2 eset´en c = p(I2 |I1 ) = p(I p(I1 ) p(I2 |I1 ) megegyezik p(I2 )-vel, akkor a szab´aly nem hordoz semmi t¨obblet- hasznos inform´aci´ot (kiv´eve azt, hogy I2 az I1 -et tartalmaz´o kosarakban is ugyanolyan gyakori, mint ´altal´aban. De ilyen szab´aly rengeteg van!). III. A legt¨obb szab´aly nem ´erdekes. Pontosabban a szab´alyok nagy r´esze bizonyos m´as szab´alyoknak semmitmond´o speci´alis esetei, apr´o m´odos´ıt´asai. Sz¨ uks´eg lenne valahogy a szab´alyokat fontoss´aguk alapj´an sorba rendezni, vagy minden szab´alyhoz egy ´erdekess´egi mutat´ot rendelni. A m´asodik probl´em´ara a f¨ uggetlens´egi mutat´o bevezet´ese lesz a megold´as. A harmadik ´ probl´em´anak is k¨oze van a f¨ uggetlens´eghez. Erdekes szab´alyt, ha felhig´ıtunk” egy kicsit f¨ ugget” len elemekkel, akkor m´eg kaphatunk ´erdekes szab´alyt. A felhig´ıtott szab´aly azonban egy extra felt´etelt tartalmaz ´ıgy feleslegesen speci´alist. T¨obbet ´er egy ´altal´anos szab´aly, mint sok speci´alis szab´aly felsoror´asa.
5.3. Szab´ alyok f¨ uggetlens´ ege Az ¨osszef¨ ugg˝os´eg m´er´es´ere sz´amos mutat´osz´amot vezettek be a kutat´ok.
5.3.1. lift ´ ert´ ek Egy szab´aly nem ´erdekes, ha a felt´etel ´es a k¨ovetkezm´enyr´eszek f¨ uggetlenek egym´ast´ol. Val´osz´ın˝ us´egsz´am´ıt´asbeli ismereteinket felid´ezve: az X ´es az Y esem´enyek f¨ uggetlenek P (X,Y ) egym´ast´ol, ha P (X, Y ) = P (X)P (Y ), azaz ha a P (X)P (Y ) h´anyados ´ert´eke 1. Min´el jobban elt´er a h´anyados egyt˝ol, ann´al ink´abb ¨osszef¨ ugg˝ok az esem´enyek. Ez alapj´an egy szab´aly lift ´ert´ek´et, amely a f¨ uggetlens´eget sz´and´ekozik megragadni, a k¨ovetkez˝ok´eppen defini´aljuk: lift(I → I 0 ) =
f req(I ∪ I 0 ) , f req(I) · f req(I 0)
ahol f req a gyakoris´agot jel¨oli. Csendben felt´etelezt¨ uk, hogy a val´osz´ın˝ us´eget a relat´ıv gyakoris´aggal k¨ozel´ıthetj¨ uk. Ha ezek ut´an egy adatb´azisb´ol a rejtett ¨osszef¨ ugg´eseket asszoci´aci´os szab´alyok form´aj´aban akarjuk kinyerni, akkor a t´amogatotts´agi ´es bizonyoss´agi k¨ usz¨ob mellett f¨ uggetlens´egi k¨ usz¨ob¨ot (min lif t) is megadhatunk. P´eld´aul, ha min lif t = 1.3, akkor azok a szab´alyok ´erdekesek, 1 . amelyekre lif t(R) ≥ 1.3 vagy lif t(R) ≤ 1.3
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
98
Gyakori term´ekhalmazb´ol alkotott asszoci´aci´os szab´aly lift ´ert´ek´enek meghat´aroz´as´ahoz minden adat rendelkez´es¨ unkre ´all, ´ıgy k¨onnyed´en megkaphatjuk az ´ert´ek´et. A lift ´ert´ek el˝onye, hogy k¨onny˝ u ´ertelmezni, m´eg a matematika ir´ant kev´esb´e fog´ekonyak is f req(I∪I 0 )
req(I) 0 eteles meg´ertik. ´Irjuk ´at a lift defin´ıci´oj´at a k¨ovetkez˝o alakra : lift(I → I 0) = ffreq(I 0 ) . Ez az I felt´ 0 relat´ıv gyakoris´ag´anak ´es az I relat´ıv gyakoris´ag´anak a h´anyadosa. Ha p´eld´aul v´as´arl´oi szok´asok elemz´es´en´el a s¨or → pelenka szab´aly lift ´ert´eke 2, akkor a s¨ort v´as´arl´ok k¨or´eben a pelenk´at v´as´arl´ok ar´anya dupla annyi, mint u ´ gy ´altal´aban a pelenk´at v´as´arl´ok ar´anya.
5.3.2. Empirikus kovariancia, empirikus korrel´ aci´ o A lift ´ert´ek bevezet´es´en´el haszn´alt logika alapj´an mondhatn´ank, hogy k´et esem´eny akkor f¨ uggetlen, ha a P (X, Y ) ´es a P (X)P (Y ) szorzat k¨ ul¨onbs´ege 0. Min´el jobban elt´er a k¨ ul¨onbs´eg null´at´ol, ann´al nagyobb az ¨osszef¨ ugg´es X ´es Y k¨oz¨ott. Legyen teh´at a f¨ uggetlens´egi mutat´onk cov(I → I 0 ) = f req(I ∪ I 0 ) − f req(I) · f req(I 0).
Relat´ıv gyakoris´agv´altoz´as helyett abszol´ ut gyakoris´agv´altoz´ast haszn´alunk. De mi k¨oze mindennek a c´ımben eml´ıtett empirikus kovarianci´ahoz? Egy´altal´an, mi az az empirikus kovariancia ?!? Az X ´es Y val´osz´ın˝ us´egi v´altoz´ok kovarianci´aja cov(X, Y ) = E[(X − µ)(Y − ν)] = E[X · Y ] − µ · ν, ahol µ Ausztr´al kutat´ok ´all´ıt´asa szerint ´es ν az X ´es Y v´arhat´o ´ert´ek´et jel¨oli. K¨onny˝ u bel´atni, ”a sok stressz elh´ız´ashoz vezet.” hogy a kovariancia nulla, amennyiben X ´es Y f¨ uggetlenek. Forr´as: http://www.hirtv. Ha s˝ ur˝ us´egf¨ uggv´enyeket nem ismerj¨ uk, hanem csak megfi- hu/eletmod/?article_hid= gyel´esek (xi , yi )-k ´allnak rendelkez´es¨ unkre, akkor P empirikus =165457 1 kovarianci´ar´ol besz´el¨ unk, amelynek defin´ıci´oja : n nj=1(xj − − x¯)(yj − y¯), ahol x¯ ´es y¯ a minta´atlagokat jel¨olik. Az I ´es I 0 val´osz´ın˝ us´egi v´altoz´ok jel¨olhetik k´et term´ek megv´etel´et. Az asszoci´aci´os szab´alyokn´al bevezetett jel¨ol´eseket haszn´alva a minta´atlaga ekkor a gyakoris´aggal egyezik meg az ij pedig 1, amennyiben a j-edik kos´ar tartalmazza az i term´eket. Ekkor n 1X cov(I → I 0 ) = (ij − f req(I))(i0j − f req(I 0 )) n j=1 =
n n n X X 1X 0 ij ij − f req(I) i0j − f req(I 0 ) ij + nf req(I)f req(I 0) n j=1 j=1 j=1
= f req(I ∪ I 0 ) − f req(I)f req(I 0) − f req(I)f req(I 0 ) + f req(I)f req(I 0) = f req(I ∪ I 0 ) − f req(I)f req(I 0).
) A kovariancia normaliz´al´as´ab´ol ad´odik a korrel´aci´ o : corr(X, Y )= cov(X,Y . A korrel´aci´o ´ert´eke σX σY mindig -1 ´es 1 k¨oz´e esik. Sz´am´ıtsuk ki egy asszoci´aci´os szab´aly empirikus korrel´aci´oj´at. Mivel 2 egynek ´es null´anak a n´egyzete egy ´es nulla, ez´ert σX = E[X 2 ] − E 2 [X] = E[X] − E 2 [X]. Ebb˝ol
f req(I ∪ I 0 ) − f req(I)f req(I 0 ) Cov(I → I 0 ) p =p σI σI 0 E[I](1 − E[I]) · E[I 0 ](1 − E[I 0 ]) f req(I ∪ I 0 ) − f req(I)f req(I 0) . =p ¯ req(I 0)f req(I¯0 ) f req(I)f req(I)f
corr(I → I 0 ) =
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
99
5.3.3. A χ2 -statisztika Val´oj´aban a lift mutat´o nem ragadja meg kell˝ok´eppen a k´et esem´eny (X ´es Y el˝ofordul´asa) statisztikai f¨ uggetlens´eg´et. Tudjuk, hogy az X, Y esem´enyek f¨ uggetlenek, ha P (X)P (Y ) = = P (X, Y ), amelyet ´at´ırhatunk 1 = P (Y |X)/P (X) alakra. A jobb oldal annyiban t´er el a f¨ uggetlens´egi mutat´ot´ol, hogy abban a val´osz´ın˝ us´egek hely´en relat´ıv gyakoris´agok szerepelnek. Puszt´an a relat´ıv gyakoris´agok h´anyadosa nem el´eg j´o m´ert´ek a f¨ uggetlens´eg m´er´es´ere. N´ezz¨ unk p´eld´aul a k¨ovetkez˝o k´et esetet. Els˝o esetben n´egy tranzakci´o van, supp(I) = 2, c = 0.5, amib˝ol lift 1 ad´odik. A m´asodikban a tranzakci´ok sz´ama n´egyezer, supp(I) = 1992, c = 0.504, amib˝ol lift 1.012 k¨ovetkezik. Ha csak a f¨ uggetlens´egi mutat´okat ismern´enk, akkor azt a t´eves k¨ovetkeztet´est vonhatn´ank le, hogy az els˝o esetben a k´et esem´eny f¨ uggetlenebb, mint a m´asodik esetben. Holott ´erezz¨ uk, hogy az els˝o esetben olyan kev´es a tranzakci´o, hogy abb´ol nem tudunk f¨ uggetlens´egre vonatkoz´o k¨ovetkeztet´eseket levonni. Min´el t¨obb tranzakci´o alapj´an ´all´ıtjuk, hogy k´et elemhalmaz el˝ofordul´asa ¨osszef¨ ugg´esben van, ann´al jobban kiz´arjuk ezen ´all´ıt´asunk v´eletlens´eg´enek (esetlegess´eg´enek) es´ely´et. A f¨ uggetlens´eg m´er´es´ere a statisztikusok ´altal alkalmazott eszk¨oz az u ´ n. χ2 pr´obastatisztika. 2 Az A1 , A2 , . . . , Ar ´es B1 , B2 , . . . , Bs k´et teljes esem´enyrendszer χ pr´obastatisztik´aj´at az al´abbi k´eplet adja meg : 2 ki. k.j kij − r X s X n 2 χ = ki. k.j i=1 j=1 n P Ps ahol kij az Ai ∩ Bj esem´eny, ki. = j=1 kij az Ai esem´eny ´es k.j = ri=1 kij a Bj esem´eny bek¨ovetkez´es´enek sz´am´at jel¨oli. Min´el kisebb a pr´obastatisztika, ann´al ink´abb f¨ uggetlenek az esem´enyek. A jel¨ol´est megjegyz´es´et seg´ıt˝o k´etszer kettes kontingenciat´abl´at a k¨ovetkez˝o ´abra mutatja. P X nem X Y k1,1 k1,2 k1. nem Y k k k2. 2,1 2,2 P k.1 k.2 n A mi eset¨ unkben az egyik esem´enyrendszer az I elemhalmaz a m´asik az I 0 elemhalmaz el˝ofordul´as´ahoz tartozik, ´es mindk´et esem´enyrendszernek k´et esem´enye van1 (el˝ofordul az elemhalmaz az adott tranzakci´oban, vagy sem). A k¨ovetkez˝o t´abl´azat mutatja, hogy a χ2 pr´obastatisztika kisz´am´ıt´as´ahoz sz¨ uks´eges ´ert´ekek k¨oz¨ ul melyek ´allnak rendelkez´es¨ unkre t´amogatotts´ag form´aj´aban. P I nem I I0 supp(I ∪ I 0 ) supp(I’) 0 nem I P supp(I) |T | 1
Amennyiben mindk´et esem´enyrendszer k´et esem´enyb˝ol ´all, akkor az eredeti k´epletet m´odos´ıtani szok´ as a 2 P P k k k k i. .j i. .j 2 2 . Yates-f´ele korrekci´ os egy¨ utthat´ oval, azaz χ2 = i=1 j=1 kij − −1 / n 2 n
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
100
A hi´anyz´o ´ert´ekeket a t´abl´azat ismert ´ert´ekei alapj´an k¨onnyen p´otolni, hiszen p´eld´aul k2,1 = = supp(I) − supp(I ∪ I 0 ). A χ2 pr´obastatisztika helyett haszn´alhatjuk mutat´osz´amnak a pr´oba p-´ert´ek´et. A p-´ert´ek megegyezik azzal a legnagyobb pr´obaszinttel, amely mellett a hipot´ezis¨ unket (f¨ uggetlens´eg) elfogadjuk. A χ2 -pr´oba k¨ozel´ıt´esen alapul ez´ert akkor m˝ uk¨odik j´ol, ha a kontingencia t´abl´azat elemei nagyok. K´etszer kettes t´abl´azat eset´eben az ¨ok¨olszab´aly az, hogy mind a n´egy elem nagyobb legyen 10-n´el. Miel˝ott teljes el´egedetts´egben h´atrad˝oln´enk a karossz´ek¨ unkben, mert tal´altunk egy tudom´anyosan megalapozott m´odszert, olvassuk el a k¨ovetkez˝oket. 5.8. ´ all´ıt´ as. K´etszer kettes kontingenciat´abl´ak eset´eben a χ2 pr´obastatisztika ´ert´eke megegyezik az empirikus korrel´aci´o n´egyzet´enek n-szeres´evel, ahol n-nel a mint´ak sz´am´at jel¨olj¨ uk. Bizony´ıt´as: ´Irjuk fel a χ2 pr´obastatisztika ´ert´ek´et k´etszer kettes kontingenciat´abl´ak eset´ere: 2 2 (ki1 + ki2 )(k1j + k2j ) k k kij − 2 X 2 2 X 2 kij − i.n .j X X k11 + k12 + k21 + k22 2 χ = = ki. k.j (ki1 + ki2 )(k1j + k2j ) i=1 j=1 i=1 j=1 n n (k11 k22 − k12 k21 )2 2 X 2 2 2 X 1 (k11 k22 − k12 k21 )2 X X n2 = = (ki1 + ki2 )(k1j + k2j ) n (ki1 + ki2 )(k1j + k2j ) i=1 j=1 i=1 j=1 n 2 1 1 1 1 1 1 (k11 k22 − k12 k21 ) + · + ( + ) = n k11 + k12 k11 + k13 k12 + k22 k21 + k22 k11 + k13 k12 + k22 (k11 k22 − k12 k21 )2 1 1 1 1 = · + + n k11 + k12 k21 + k22 k11 + k13 k12 + k22 (k11 k22 − k12 k21 )2 k11 + k12 + k21 + k22 k11 + k12 + k21 + k22 · · = n (k11 + k12 )(k21 + k22 ) (k11 + k21 )(k12 + k22 ) k1. k.1 2 3 ) n (k − 2 11 n(k11 k22 − k12 k21 ) n(f11 − f1. f.1 )2 n = = = , k1. k2. k.1 k.2 k1. k2. k.1k.2 f1. f2. f.1 f.2 ahol fij = kij /n. A bizony´ıt´as sor´an t¨obbsz¨or felhaszn´altuk, hogy n = k11 + k12 + k21 + k22 .
Ha a χ2 pr´obastatisztika csak egy megbonyol´ıtott korrel´aci´o, amely pedig egy normaliz´alt kovariancia, a kovariancia pedig a lift ´ert´ek testv´ere”, akkor most mi´ert is mond t¨obbet a ” χ-pr´obastatisztika a lift ´ert´ekn´el? Egyr´eszr˝ol, az eredm´enyk´ent egy eloszl´asf¨ uggv´enyt kapunk, nem csak egy sz´amot. Ez olyan, mint amikor megk´erdezz¨ uk az u ´ tvonaltervez˝o programt´ol, hogy mennyi id˝obe fog telni, hogy eljussunk A pontb´ol B-be. Egy kezdetleges program egy konkr´et sz´amot adna eredm´eny¨ ul. A val´os´agban azonban a helyes v´alasz egy eloszl´asf¨ uggv´eny, amelynek meghat´arozhatjuk p´eld´aul a v´arhat´o ´ert´ek´et ´es a sz´or´as´at. A sz´or´as, amely a bizonytalans´agra utal, szint´en fontos param´eter.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
101
M´asr´eszr˝ol, mert figyelemebe veszi az adatb´azis m´eret´et. Nem nek¨ unk kell meghat´aroznunk egy j´o lift ´ert´eket, amely adatb´azisonk´ent m´as lesz, hanem csak a pr´oba szintj´et kell megadnunk ´es m´aris sz˝ urhetj¨ uk ki azokat a szab´alyokat, amelyek felt´etel- ´es k¨ovetkezm´enyr´esze k¨oz¨ott nincs szignifik´ans kapcsolat. Olyan, mintha a sz˝ ur´esre haszn´alt k¨ usz¨ob¨ot is automatikusan ´all´ıtan´ank el˝o.
5.3.4. A binomi´ alis pr´ oba A χ2 -pr´oba ´es az ebb˝ol ad´od´o p-´ert´ek nem haszn´alhat´o, ha a 2 × 2-es kontingenciat´abl´azat valamely eleme kisebb, mint 10. Hagyjuk a statisztik´at ´es t´erj¨ unk vissza az elemi val´osz´ın˝ us´egsz´am´ıt´ashoz. Induljunk ki abb´ol, hogy az I ´es az I 0 term´ekek f¨ uggetlenek egym´ast˝ol, azaz P (I, I 0) = 0 0 = P (I)P (I ). Legyen Zj = IP arban el˝ofordul az I j · Ij , azaz Zj = 1, amennyiben a j-edik kos´ n 0 ´es az I term´ek is. A Z = j=1 Zj binomi´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´o n ´es P (I, I 0) 0 0 param´eterekkel. A P (I, I ) val´osz´ın˝ us´eget a f req(I)f req(I ) ´ert´ekkel k¨ozel´ıtj¨ uk. Azt kell eld¨onten¨ unk, hogy a megfigyel´eseink (z1 , . . . zn ) ellentmondanak-e a kiindul´ Pn asi felt´etelb˝ol kapott k¨ovetkeztet´esnek. Jel¨olj¨ uk a pr´oba szintj´et 1 − α-val ´esP legyen z = j=1 zj . Hat´arozzuk meg azt a legsz˝ ukebb [l, u] intervallumot, amelyre igaz, hogy uk=l P (Z = k) ≤ 1 − −α. Amennyiben z a [l, u] intervallumba esik, akkor X ´es Y (teh´at az I ´es I 0 term´ekhalmazok) f¨ uggetlenek egym´ast´ol. Ha ezt a megk¨ozel´ıt´est haszn´aljuk egy asszoci´aci´os szab´aly f¨ uggetlens´eg´enek megad´as´ara, akkor legyen a f¨ uggetlens´egi mutat´o a szab´aly p-´ert´eke. Hat´arozzuk meg azt az [l0 , u0] intervalluP 0 mot, amelynek minden k elem´ere igaz, hogy P (Z =k)>P (Z =z). A p-´ert´ek ekkor uk=l0 P (Z =k).
5.3.5. Fisher-f´ ele egzakt pr´ oba
A binomi´alis pr´oba a P (I, I 0) val´osz´ın˝ us´eget a f req(I)f req(I 0) relat´ıv gyakoris´ag´aval k¨ozel´ıti. A k¨ozel´ıt´es pontatlans´aghoz vezet. Gondoljuk meg, hogy a binomi´alis eloszl´as nemnulla val´osz´ın˝ us´eget fog rendelni az n-n´el kisebb, min{supp(I), supp(I 0)}-n´el nagyobb ´ert´ekekhez. Azonban ezeknek a val´osz´ın˝ us´egeknek null´anak kellene lenni¨ uk. Nem fordulhat az el˝o, hogy az I-n´el nagyobb, I-t r´eszhalmazk´ent tartalmaz´o halmaznak supp(I)-n´el nagyobb legyen a t´amogatotts´aga. Hasonl´o mondhat´o el az n − supp(I) − supp(I 0 ) ´ert´ekekre, amennyiben n − −supp(I)−supp(I 0)>0. A Fisher-f´ele egzakt pr´oba a k¨ozel´ıt´es helyett a pontos val´osz´ın˝ us´egeket haszn´alja. Tegy¨ uk fel, hogy a kontingenciat´abl´azat u ´ n. margin´alis ´ert´ekei (k1. , k2. , k.1 , k.2 ) ´es ´ıgy a mint´ak sz´ama is adva vannak. Ez az asszoci´aci´os szab´alyokn´al azt jelenti, hogy a kosarak sz´ama, supp(I) = k1. ´es supp(I 0) = k.1 r¨ogz´ıtettek. A k´erd´es a k¨ovetkez˝o : Ha tudjuk, hogy a k1. darab I term´ek ´es a k.1 darab I 0 term´ek egyenletes eloszl´as szerint v´eletlenszer˝ uen van sz´etsz´orva az n 0 kos´arban, akkor mennyi az es´elye annak, hogy az I -t tartalmaz´o kosarakb´ol X darabban lesz I. Elvonatkoztatva a r´eszletekt˝ol ez ugyanaz a k´erd´es, mint amelyet a hipergeometrikus eloszl´as bemutat´asakor tett¨ unk fel (l´asd a 2.5.1 r´esz). Ezek szerint k2. k1. P (X, n, k1. , k.1) =
X
k.1 −X n k.1
.
Ez a val´osz´ın˝ us´eg m´ar ¨onmag´aban egy j´o mutat´osz´am. Min´el nagyobb az ´ert´eke, ann´al f¨ uggetlenebbek az I ´es az I 0 term´ekek. Ha a χ2 statisztik´ahoz hasonl´o p-´ert´eket szeretn´enk
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
102
kapni, akkor ki kell sz´amolni az ¨osszes olyan X 0 -re a P (X 0 , n, k1. , k.1 ) val´osz´ın˝ us´eget, amely0 0 re P (X , n, k1. , k.1) ≤ P (X, n, k1. , k.1). Ezeket az X ´ert´ekeket h´ıvjuk extr´emebb, azaz kisebb val´osz´ın˝ us´eg˝ u ´ert´ekeknek. A p-´ert´ek ezen extr´em ´ert´ekhez rendelt val´osz´ın˝ us´egek ¨osszege Form´alisan: X pFisher (I → I 0 ) = P(X 0 , n, supp(I), supp(I 0)) X 0 :P (X 0 ,n,supp(I),supp(I 0))≤P (supp(I∪I 0 ),n,supp(I),supp(I 0))
A Fisher-pr´ob´at nem csak kis ´ert´ekekn´el haszn´alhatjuk, tulajdonk´eppen f¨ uggetlens´eg eld¨ont´es´ere ez a m´odszer mindig a legjobb eredm´enyt adja. H´atr´anya, hogy nagy n, k1. , k.1 ´ert´ekekn´el neh´ez a val´osz´ın˝ us´egeket kisz´am´ıtani. ´Igy jutunk el a χ2 pr´ob´ahoz. Amennyiben k1. N, akkor a hipergeometrikus eloszl´ast k¨ozel´ıthetj¨ uk az k1. , k.1 /n param´eter˝ u binomi´alis eloszl´assal. A binomi´alis eloszl´ast pedig a norm´alis eloszl´assal k¨ozel´ıthetj¨ uk. Standard norm´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´ok n´egyzet´enek ¨osszege pedig olyan val´osz´ın˝ us´egi v´altoz´ot ad, amelynek eloszl´asa a χ2 eloszl´as. Ty˝ u, a mindenit, de sz´ep ez az eg´esz! ´ ekinvariancia Ert´ Egy f¨ uggetlens´egi mutat´ot ´ert´ekinvari´ansnak h´ıvunk, amennyiben a kontingencia-t´abl´azat tetsz˝oleges sorait vagy oszlopait felcser´elve ugyanazt a kimenetet (p-´ert´eket) kapjuk. Bin´aris ¯ ´es X, ¯ Y¯ ) esetre gondolva ez azt jelenti, hogy X ´es Y f¨ uggetlens´ege eset´en, X ´es Y¯ (tov´abb´a X,Y is az. Ha p´eld´aul meg´allap´ıtjuk, hogy a tejv´as´arl´as ´es keny´erv´as´arl´as f¨ uggetlenek egym´ast´ol, akkor tejv´as´arl´as, nem keny´erv´as´arl´as is f¨ uggetlenek. K¨onny˝ u bel´atni, hogy a Fisher-f´ele egzakt pr´oba ´es a χ2 pr´oba megfelel a fenti elv´ar´asnak, de a binomi´alis pr´oba nem. A Fisher-f´ele egzakt pr´ob´ahoz csak azt kell meggondolnunk, hogy n−k2. k2. n−k1. k1. P (X, n, k1. , k.1 ) =
X
k.1 −X n k.1
=
k.1 −X
n k.1
X
= P (k.1 − X, n, n − k1. , k.1),
teh´at att´ol, hogy a k´et sort (vagy a k´et oszlopot) felcser´elj¨ uk m´eg ugyanazt a hipergeometrikus 2 eloszl´ast kapjuk. A χ pr´ob´ara vonatkoz´o ´all´ıt´as k¨ozvetlen ad´odik a χ2 statisztika defin´ıci´oj´ab´ol. A binomi´alis pr´oba eset´et egy p´eld´aval vizsg´aljuk. Induljunk ki a bal oldali kontingenciat´abl´ab´ol majd cser´elj¨ uk fel a k´et sor´at. P P X nem X X nem X Y 2 0 2 Y 0 1 1 nem Y 0 1 1 nem Y 2 0 2 P P 2 1 3 2 1 3
A bal oldali kontingenciat´abl´ahoz (3, 4/9) param´eter˝ u binomi´alis eloszl´as tartozik. A kett˝oh¨oz nagyobb val´osz´ın˝ us´eg tartozik, mint a null´ahoz ´es a h´aromhoz, ez´ert a p-´ert´ek 1 − 2 − 3 · 49 · 592 = 0.588. A jobb oldali kontingenciat´abla binomi´alis eloszl´as´ahoz tartoz´o val´osz´ın˝ us´eg 2/9. A legnagyobb val´osz´ın˝ us´eget a (3, 2/9) param´eter˝ u binomi´alis eloszl´as null´an´al veszi fel a maximum´at ez´ert a p-´ert´ek egy.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
103
´ Erdekess´ eg Most, hogy tudjuk hogyan kell f¨ uggetlens´eget meghat´arozni, feltehetj¨ uk azt a k´erd´est, hogy legal´abb h´any megfigyel´esnek kell rendelkez´es¨ unkre a´llnia ahhoz, hogy ¨osszef¨ ugg´est ´allap´ıtsunk meg. Adott 1−α pr´obaszint mellett csak akkor tudunk ¨osszef¨ ugg´est meg´allap´ıtani (f¨ uggetlens´eget elutas´ıtani), ha az elfogad´asi tartom´anyon k´ıv¨ ul van olyan pont, amelyet felvehet azoknak a megfigyel´eseknek a sz´ama, amelyre mindk´et vizsg´alt tulajdons´ag fen´all. Az elfogad´asi tartom´anyba a legnagyobb val´osz´ın˝ us´eggel rendelkez˝o pontok esnek. Amennyiben a legkisebb val´osz´ın˝ us´eg˝ u pont val´osz´ın˝ us´ege kisebb α-n´al, akkor ez a pont nem esik az elfogad´asi tartom´anyba. K´etoldali pr´ob´an´al k´et legkisebb val´osz´ın˝ us´egi pont is lehet, ´ıgy ezen val´osz´ın˝ us´egek ¨osszege kell α-n´al kisebbnek lennie. Ha n p´aratlan, akkor csak egy legkisebb val´osz´ın˝ us´egi pont lehet, ´elj¨ unk ez´ert ezzel a felt´etellel. Az ´altal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy k1. ≤k.1 (k1. +1)(k.1 +1) c) nem nagyobb, mint az ´ertelmez´ese tar´es a hipergeometrikus eloszl´as m´odusza (b n+2 tom´any ([max(0, n − k1. − k.1 ), min(k1. , k.1 )]) felez˝opontja. A legkisebb val´osz´ın˝ us´egi pont ekkor a k1. , amelynek val´osz´ın˝ us´ege P (k1. , n, k1. , k.1) =
k1. k1.
k2. k.1 −k1. n k.1
=
(n−k1. )! (k.1 −k1. )!(n−k.1 )! n! (n−k.1 )!k.1 !
(n − k1. )(n − k1. − 1) · · · (k.1 − k1. + 1) n(n − 1) · · · (k.1 + 1) n−k .1 +1 Y k1. ) = (1 − n−i i=0
=
A fenti val´osz´ın˝ us´eg r¨ogz´ıtett n eset´en akkor lesz a legnagyobb, ha k1. min´el nagyobb, teh´at k1. = k.1 . Ekkor viszont 1 P (k1. , n, k1. , k1. ) = n , k1.
amely k1. = bn/2c-n´el ´es k1. = dn/2e veszi fel a minimum´at. Az 5.1 t´abl´azat m´asodik oszlopa megadja a legkisebb val´osz´ın˝ us´eget n´eh´any n-re Ezek szerint 97%-os bizonyoss´aggal m´ar n
P (bn/2c, n, bn/2c, bn/2c)
3 5 7 9 11 13 15
33.33% 10.00% 2.85% 0.79% 0.21% 0.06% 0.02%
p-´ert´ek binom χ2 29.76 18.34 12.11 8.24 5.70 4.00 2.82
% % % % % % %
8.32% 2.53% 0.81% 0.27% 0.09% 0.03% 0.01%
5.1. t´abl´azat. p-´ert´ekek extr´em kontingencai-t´abl´azat eset´en h´et megfigyel´esb˝ol ¨osszef¨ ugg˝os´eget ´allap´ıthatunk meg. Ehhez a legextr´emebb esem´enynek kell
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
104
bek¨ovetkeznie, nevezetesen, 7 megfigyel´esb˝ol h´aromra teljes¨ ul egy tulajdons´ag (X) ´es csak erre a h´arom megfigyel´esre egy m´asik tulajdons´ag (Y ) is teljes¨ ul. Teh´at a kontingenciat´abl´azat : P X nem X Y 3 0 3 nem 0 4 4 PY 3 4 7
A P (bn/2c, n, bn/2c, bn/2c) ´ert´ek egyben annak a tesztnek a p-pr´ob´aja, amelyben a megfigyel´esek sz´ama n ´es k11 = k1. = k.1 = bn/2c. Ha a pr´oba szintje enn´el az ´ert´ekn´el nagyobb, akkor elutas´ıtjuk a f¨ uggetlens´egre tett felt´etelt, ellenkez˝o esetben elfogadjuk. A f¨ uggetlens´eg eld¨ont´es´ere haszn´alhatn´ank m´as pr´ob´at is. Az 5.1 t´abl´azat harmadik ´es negyedik oszlopa a megfigyel´es p-´ert´ek´et adja meg binomi´alis ´es χ2 pr´oba eset´en. L´athatjuk, hogy a binomi´alis pr´oba j´oval nagyobb p-´ert´ekeket ad ugyanarra a megfigyel´esre, azaz a binomi´alis pr´oba ,,f¨ uggetlens´eg fel´e h´ uz”. P´eld´aul n = 11 ´es α = 5% est´en a Fisher pr´oba elutas´ıtja a f¨ uggetlens´eget a binomi´alis pr´oba pedig elfogadja azt. Ha megszor´ıtkozunk olyan kontingenciat´abl´akra, amelyekn´el k1,1 = k1. −1, teh´at nem a legextr´emebb eset k¨ovetkezik be, akkor a Fisher-f´ele pr´oba p-´ert´ekei a k¨ovetkez˝ok´eppen alakulnak: p-´ert´ek n 5 7 9 11 13 15 17 19
k1,1 = k1. − 1 fisher binom 100% 48.57% 20.62% 8.00% 2.91% 1.01% 0.35% 0.11%
58.17% 61.95% 39.33% 25.45% 16.75% 11.19% 7.59% 5.21%
2
χ
70.9% 27.0% 9.89% 3.56% 1.27% 0.45% 0.16% 0.05%
k1,1 = k1. − 2 fisher binom 40% 100% 100% 56.71% 28.61% 13.19% 5.67% 2.30%
χ2
100% 13.6% 100% 65.9% 69.4% 76.4% 70.75% 37.6% 49.42% 16.9% 34.30% 7.21% 23.74% 2.95% 16.44% 1.17%
A 97%-os bizonyoss´ag megtart´as´ahoz most m´ar 13 megfigyel´es kell (binomi´alis pr´oba szerint 21, χ2 -pr´oba szerint is 13). Ha hat-hat megfigyel´esn´el teljes¨ ul az X, Y tulajdons´agok, akkor abban az esetben ´allap´ıtunk meg ¨osszef¨ ugg´est, ha az X, Y tulajdons´aggal egy¨ utt rendelkez˝o megfigyel´esek sz´ama 0, 5 vagy 6.
5.3.6. Tov´ abbi mutat´ osz´ amok A lift, χ-statisztika, vagy p-´ert´ek mellett m´eg sz´amos elterjedt mutat´osz´am l´etezik f¨ uggetlens´eg m´er´es´ere. A teljess´eg ig´enye n´elk¨ ul felsorolunk n´eh´anyat
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI n´ev empirikus kovariancia empirikus korrel´aci´o
jel¨ol´es φ
conviction conviction* Jaccardkoefficiens koszinusz m´ert´ek norm´alt k¨olcs¨on¨os entr´opia
k´eplet f req(I ∪ I ) − f req(I)f req(I 0) 0
√
es´elyh´anyados α Yule f´ele Q Q ´ert´ek Yule f´ele Y Y ´ert´ek
105
f req(I∪I 0 )−f req(I)f req(I 0 ) f req(I)f req(I)
√
f req(I 0 )f req(I 0 )
f req(I∪I 0 )·f req(I,I 0 ) f req(I,I 0 )·f req(I,I 0 ) α−1 α+1
odds ratio, cross-product ratio
√ √α−1 α+1
measure of colligation az I → I 0 implik´aci´o logikai megfelel˝oje alapj´an defini´alj´ak.
f req(I)f req(I 0 ) f req(I,(I 0 )) 0 0
V V*
max{V (I, I ), V (I , I)}
ς
f req(I∪I 0 ) f req(I)+f req(I 0 )−f req(I∪I 0 )
cos Hn
arccos( √
f req(I∪I 0 ) f req(I)f req(I 0 )
megjegyz´es Az ´altal´anos k´eplet ´at´ır´as´ab´ol ad´odik, felhaszn´ Pn alva, hogy I = = f req(I) ´es j=1 Ij = supp(I) Az ´altal´anos k´eplet ´at´ır´as´ab´ol ad´odik, a fentiek mellett felhaszn´alva, hogy Ij2 = Ij .
)
H(I 0 |I) H(I)
5.3.7. Asszoci´ aci´ os szab´ alyok rangsora Az asszoci´aci´os szab´alyok kinyer´es´enek feladat´aban adott bemeneti sorozat ´es k¨ usz¨onsz´amok mellett c´elunk volt meghat´arozni az asszoci´aci´os szab´alyokat. Ennyi. Azt´an mindenki kezdjen a szab´alyokkal, amit akar. A gyakorlatban ´altal´aban sok ´erv´enyes asszoci´aci´os szab´alyt tal´alunk, hasznos lenne ˝oket sorba rendezni. Ha a h´arom param´eterhez (t´amogatotts´ag/gyakoris´ag, bizonyoss´ag, f¨ uggetlens´egi mutat´o) tudn´ank s´ ulyt rendelni fontoss´aguk szerint, akkor az alapj´an sorrendet tudn´ank fel´all´ıtani. A marketinges a t´amogatotts´agot r´eszes´ıten´e el˝onyben a statisztikus a f¨ uggetlens´egi mutat´ot. Elv´egre kit ´erdekel a k´et term´ekhalmaz t´amogatotts´aga, ha a k´et term´ekhalmaz f¨ uggetlen egym´ast´ol. F¨ uggetlens´eg kifejez´es´ere t¨obb mutat´osz´amot adtunk meg : lift ´ert´ek, empirikus kovariancia, empirikus korrel´aci´o, χ2 -statisztika, p-´ert´ek. R´aad´asul χ2 -statisztika helyett haszn´alhatunk hipergeometrikus (vagy binomi´alis) eloszl´as alapj´an defini´alt p-´ert´eket is. Matematikusokban azonban felmer¨ ul a k´erd´es, hogy ugyanazt a sorrendet adj´ak-e az egyes f¨ uggetlens´egi mutat´ok. 2 A χ -statisztika ´es az ebb˝ol sz´armaztatott p-´ert´ek ugyanazt a sorrendet fogja adni, hiszen a p-´ert´ek a χ2 -statisztika szigor´ uan monoton f¨ uggv´enye. A χ2 -statisztika ´es az empirikus korrel´aci´o k¨oz¨ott teremt szigoruan monoton kapcsolatot az 5.8 ´all´ıt´as. Az empirikus korrel´aci´o ´es az empirikus kovariancia adhat k¨ ul¨onb¨oz˝o sorrendet. A korrel´aci´o a kovariancia norm´alt v´altozata. Ha k´et asszoci´aci´os szab´aly k¨oz¨ ul az els˝onek nagyobb a kovarianci´aja, att´ol m´eg lehet kisebb a korrel´aci´oja, amennyiben az els˝o szab´alyhoz tartoz´o k´et
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
106
binomi´alis val´osz´ın˝ us´egi v´altoz´o sz´or´as´as´anak szorzata, mint a m´asodik szab´alyhoz tartoz´o k´et v´altoz´o sz´or´as´anak szorzata. A lift ´ert´ek ´es az empirikus kovariancia k¨oz¨ott nincs monoton kapcsolat, azaz a k´et mutat´o alapj´an k¨ ul¨onb¨oz˝o sorrendet kaphatunk. Ehhez csak azt kell meggondolnunk, hogy a, b, c, d nulla ´es egy k¨oz¨otti sz´amokra sem igaz, hogy a c < 6⇐⇒ a − b < c − d. b d Weka 3.5.7 Asszoci´aci´os szab´alyokat a weka.associations.Apriori oszt´ aly seg´ıts´eg´evel nyerhet¨ unk ki. Az oszt´ aly nem a klasszikus asszoci´ aci´ os szab´ aly kinyer´es´enek feladat´ at oldja meg – adott min supp, arozzuk meg az ´erv´enyes asszoci´ aci´ os min conf , min lif t mellett hat´ szab´ alyokat – hanem csak a legjobb numRules darab szab´ alyt adja meg, ahol numRules a felhaszn´ al´ o a ´ltal megadott param´eter. Ehhez a asi ´ert´ekr˝ ol (upperBoundMinSupport pamin supp ´ert´eket egy kiindul´ ram´eter) mindig delta ´ert´ekkel cs¨ okkenti ´es ellen˝ orzi, hogy van-e legal´ abb numRules darab ´erv´enyes szab´ aly. Ha van, akkor ki´ırja a legjobb numRules szab´ alyt, ha nincs, akkor tov´ abb cs¨ okkenti min supp-ot. A minim´ alis t´ amogatotts´ agi k¨ usz¨ ob¨ ot nem cs¨ okkenti annyira, hogy az kisebb legyen a lowerBoundMinSupport param´etern´el. A metricType param´eterrel adhatja meg a felhaszn´ al´ o, hogy mi alapj´ an rangsorolja az asszoci´ aci´ os szab´ alyokat a weka. Az empirikus kovarianci´ at a Leverage jel¨ oli. Javasoljuk, hogy a Conviction mutat´ ot sose haszn´ aljuk ; ez tulajdonk´eppen csak egy elbalt´ azott f¨ uggetlens´egi mutat´ o. Lehet˝ os´eg¨ unk van egy oszt´ alyattrib´ utumot kijel¨ olni a car param´eter igazra a ´ll´ıt´ as´ aval ´es a classIndex megad´ as´ aval. Ekkor csak olyan szab´ alyokat fog a weka el˝ oa ´ll´ıtani, amelyek k¨ ovetkezm´enyr´esz´eben csak az oszt´ alyattrib´ utum szerepel.
´ 5.4. Altal´ anoss´ ag, specialit´ as A lift mutat´o gyeng´eje, hogy ha tal´alunk egy ´erdekes szab´alyt, akkor az m¨og´e elb´ ujva” sok ” ´erdektelen szab´aly ´atmegy a sz˝ ur´esen, azaz ´erdekesnek bizonyul. Szeml´eltet´esk´eppen n´ezz¨ unk egy p´eld´at. Legyen az I1 → I2 ´erv´enyes ´es ´erdekes asszoci´aci´os szab´aly, tov´abb´a I3 egy olyan gyakori term´ekhalmaz, amely f¨ uggetlen I1 ´es I2 -t´ol (supp(I1 ∪I3 ) = f req(I1)·f req(I3), f req(I2 ∪ ∪ I3 ) = f req(I2 ) · f req(I3 )) ´es t´amogatotts´aga olyan nagy, hogy m´eg a supp(I1 ∪ I2 ∪ I3 ) ≥ u bel´atni, hogy ekkor az I1 I3 → I2 is ´erv´enyes ´es ≥ min supp egyenl˝otlens´eg is fenn´all. K¨onny˝
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
107
´erdekes asszoci´aci´os szab´alyok, hiszen supp(I1 ∪ I2 )supp(I3 ) supp(I1 ∪ I2 ∪ I3 ) = = supp(I1 ∪ I3 )supp(I2 ) supp(I1 )supp(I2 )supp(I3) =lift(I1 → I2 ) ≥ min lift,
lift(I1 I3 → I2 ) =
conf(I1 I3 → I2 ) =
.
supp(I1 ∪ I2 ∪ I3 ) supp(I1 ∪ I2 )supp(I3 ) = ≥ min conf supp(I1 ∪ I3 ) supp(I1 )supp(I3)
Ezek alapj´an, egy adatb´azisb´ol kinyert ´erdekes asszoci´aci´os szab´alyok k¨oz¨ott a t¨obbs´eg haszontalan, amennyiben sok a nagy t´amogatotts´ag´ u, m´as term´ekekt˝ol f¨ uggetlen term´ek. Ha a val´os´agban n darab ´erdekes szab´alyunk van, de az adatb´azis tartalmaz c darab a fenti tulajdons´aggal rendelkez˝o gyakori elemet, akkor az ´erdekess´egi mutat´o alap´ u sz˝ ur´esen n2c szab´aly fog ´atcs´ uszni a fenti m´odon. A fenti probl´em´at kik¨ usz¨ob¨olhetj¨ uk, ha a felt´etelr´esz minden elem´et megn´ezz¨ uk f¨ uggetlen-e a felt´etelr´esz t¨obbi elem´enek uni´oj´at´ol. Ha f¨ uggetlen, akkor dobjuk ki az elemet, csak feleslegesen bonyol´ıtja ´elet¨ unket. S˝ot, az eg´esz szab´alyt kidobhatjuk. Az eredm´enyk´ent kapott szab´aly ugyanis ott kell legyen az ´erv´enyes szab´alyok k¨oz¨ott, hiszen a f¨ uggetlen elem t¨orl´ese eset´en a f¨ uggetlens´egi mutat´o ´es a bizonyoss´ag nem v´altozik a t´amogatotts´ag pedig n˝o.
5.5. Asszoci´ aci´ os szab´ alyok ´ altal´ anos´ıt´ asa Sz´amos ´altal´anos´ıt´as´at tal´alt´ak ki a kutat´ok az asszoci´aci´os szab´alyoknak. Ebben a r´eszben ezekb˝ol szemezget¨ unk.
5.5.1. Hierarchikus asszoci´ aci´ os szab´ alyok
A rendszeres alkoholfogyaszt´ as ” n¨oveli az eml´ekez˝otehets´eget, k¨ ul¨on¨osen a n˝okn´el – jelentette be a Sunday Telegraph a londoni University College kutat´oi inform´aci´oira hivatkozva.” Forr´as: http://www.origo. hu/nagyvilag/20040805azalkohol. html
A hierarchikus asszoci´aci´os szab´alyok kinyer´ese a gyakorlatban t´enyleg el˝oker¨ ul˝o elv´ar´ask´ent jelentkezett [43, 45, 53, 125, 129, 135]. V´as´arl´asi szok´asok elemz´ese k¨ozben a marketingesek u ´ j ig´ennyel ´alltak el˝o. Olyan szab´alyokat is ki szerettek volna nyerni, amelyek term´ekkateg´ori´ak k¨oz¨ott mondanak ki ¨osszef¨ ugg´eseket. P´eld´aul a s¨ort v´as´arl´ok 70%ban valami chips f´el´et is vesznek. Lehet, hogy egyetlen s¨or ´es chips k¨oz¨otti asszoci´aci´os szab´alyt nem nyer¨ unk ki, amennyiben sokfajta s¨or ´es chips l´etezik, ugyanis ezen term´ekek k¨oz¨ott a t´amogatotts´ag elapr´oz´odik”. P´eld´aul a s¨or → chips t´amogatotts´aga lehet 5000, de ha ¨otf´ele s¨or l´etezik, ” akkor term´ek szinten k¨onnyen lehet, hogy mindegyik, s¨ort tartalmaz´o, asszoci´aci´os szab´aly t´amogatotts´aga 1500 alatt lesz ´es nem lesz ´erv´enyes. Egy u ¨ zletnek a kateg´oria szint˝ u asszoci´aci´os szab´alyok legal´abb annyira fontosak lehetnek, mint a term´ekeken ´ertelmezett szab´alyok (pl.: akci´ot hirdet¨ unk:’17”-os monitorok ´ori´asi ´arengedm´enyekkel’, mik¨ozben m´as sz´am´ıt´astechnikai alkatr´eszek – p´eld´aul monitorvez´erl˝o k´artya – ´arait megemelj¨ uk). Ahhoz, hogy kateg´ori´ak is szerepelhessenek asszoci´aci´os szab´alyokban, ismern¨ unk kell az elemek kateg´ori´akba, a kateg´ori´ak alkateg´ori´akba sorol´as´at, azaz ismern¨ unk kell az elemek
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
108
taxon´omi´aj´at, k¨ozgazd´asz nyelven sz´olva az elemek nomenklat´ ur´aj´at. A term´ek-taxon´omia nem m´as, mint egy gy¨okeres c´ımk´ezett fa, vagy f´ak sorozata. A fa leveleiben tal´alhat´ok az egyes term´ekek, a bels˝o csom´opontokban pedig a kateg´ori´ak. Egy k´epzeletbeli b¨ uf´e term´ektaxon´omi´aja az al´abbi ´abr´an l´athat´o. ´etel
palacsinta
´ızes
t´ ur´os
ital
derelye
kaka´os
alkoholos
bor
u ¨ d´ıt˝o
s¨or
almal´e
rostos
sz´ensavas
narancsl´e
cola
tonic
5.1. ´abra. P´elda : k´epzeletbeli b¨ uf´e term´ek-taxonomi´aja ˆ Ha a kateg´ori´ak halmaz´at I-vel jel¨olj¨ uk, akkor a bemenet tov´abbra is az I felett ´ertelmezett ˆ sorozat, a mintat´er elemei azonban I ∪ I r´eszhalmazai lesznek. Azt mondjuk, hogy az I kos´ar tartalmazza I 0 elemhalmazt, ha minden i ∈ I 0 -re vagy i ∈ I, vagy ∃i0 ∈ I, hogy i ∈ ˝os(i0 )2 . Teh´at egy kos´ar tartalmaz egy elemhalmazt, ha annak minden elem´et, vagy annak lesz´armazottj´at tartalmazza. Nyilv´anval´o, hogy ha a taxon´omia egyetlen feny˝ob˝ol ´all, akkor a gy¨ok´erben tal´alhat´o kateg´ori´at minden nem u ¨ res kos´ar tartalmazza. Hasonl´oan m´odos´ıtanunk kell az asszoci´aci´os szab´alyok defin´ıci´oj´at, hiszen a 94. oldalon 100%,s ˆ szab´aly ´erv´enyes lenne, ha X ˆ ⊆ ˝os(X), ´es X tal´alhat´o defin´ıci´o szerint minden X −−−−→ X gyakori term´ekhalmaz. 5.9. defin´ıci´ o (hierarchikus asszoci´ aci´ os szab´ aly). Adott a term´ekek taxon´omi´aja. A benne tal´alhat´o term´ekeket ´es kateg´ori´akat reprezent´ al´o levelek, illetve bels˝o csom´opontok halc,s maz´at jel¨olj¨ uk I-vel. I1 −→ I2 -t hierarchikus asszoci´aci´os szab´alynak nevezz¨ uk, ha I1 , I2 diszjunkt 0 r´eszhalmazai I-nek, tov´abb´a egyetlen i ∈ I2 sem ˝ose egyetlen i ∈ I1 -nek sem. A t´amogatotts´ag (s), ´es bizonyoss´ag (c) defin´ıci´oja megegyezik az 5.1. r´eszben megadottal. Hierarchikus asszoci´aci´os szab´alyok kinyer´ese cs¨oppnyit sem bonyolultabb a hagyom´anyos asszoci´aci´os szab´alyok kinyer´es´en´el. Amikor a gyakori elemhalmazokat nyerj¨ uk ki (pl.: az Apriori m´odszerrel), akkor k´epzeletben t¨olts¨ uk fel a kosarakat a kosarakban tal´alhat´o elemek ˝os´evel. Term´eszetesen nem kell val´oban el˝o´all´ıtani egy olyan adatb´azist, ami a felt¨olt¨ott kosarakat tartalmazza, el´eg akkor el˝o´all´ıtani ezt a kosarat, amikor a tartalm´at vizsg´aljuk. Ha nem akarunk kinyerni olyan asszoci´aci´os szab´alyokat, amelyben b´arhogyan elosztva egy elem ´es ˝ose is szerepel, akkor sz¨ uks´egtelen az is, hogy ilyen elemhalmazokkal foglalkozzunk. Ne ´all´ıtsunk el˝o olyan jel¨oltet, amely ilyen tulajdons´ag´ u [129]. 2
Gy¨okeres gr´ afokn´al defini´alhatjuk a sz¨ ul˝o, gyermek, ˝os, lesz´armazott fogalmakat. Ezt az alapfogalmak gr´afelm´elet r´esz´eben megtett¨ uk.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
109
A fentit˝ol k¨ ul¨onb¨oz˝o megk¨ozel´ıt´est javasoltak a [45, 53]A k´ek szem˝ u emberek ben. Az algoritmus azt az ´eszrev´etelt haszn´alja ki, hogy ”hat´ekonyabban k´epesek tanulni, ha egy tetsz˝oleges kateg´oria ritka, akkor annak minden ´es jobban teljes´ıtenek a vizsg´ akon, ´ lesz´armazottja is ritka. Eppen ez´ert, az adatb´azis els˝o mint s¨ot´et szem˝ uek - ´allap´ıtott´ ak v´egigolvas´asa sor´an csak a feny˝ok gy¨oker´eben (els˝o szin- meg amerikai kutat´ ok.” ten) tal´alhat´o kateg´ori´ak lesznek a jel¨oltek. A m´asodik Forr´as: http://inforadio. v´egigolvas´asn´al a gyakorinak tal´alt elemek gyerekei, a har- hu/hir/tudomany/hir−143110 madik v´egigolvas´asn´al pedig a m´asodik olvas´asb´ol kiker¨ ult gyakori elemek gyerekei, ´es ´ıgy tov´abb. Akkor nincs sz¨ uks´eg tov´abbi olvas´asra, ha vagy egyetlen elem sem lett gyakori, vagy a jel¨oltek k¨oz¨ott csak lev´elelemek voltak. A gyakori elemp´arok meghat´aroz´as´ahoz el˝osz¨or ism´et csak a gy¨okerekben tal´alhat´o kateg´ori´akat vizsg´aljuk, term´eszetesen csak azokat, amelyeknek mindk´et eleme gyakori. A k¨ovetkez˝o l´ep´esben a p´ar egyik tagj´anak a m´asodik szinten kell lennie, ´es hasonl´oan: az i-edik v´egigolvas´asn´al a jel¨oltp´arosok egyik tagja i-edik szintbeli. A fenti elj´ar´ast k¨onny˝ u ´altal´anos´ıtani gyakori elemh´armasok ´es nagyobb m´eret˝ u gyakori term´ekhalmazok megtal´al´as´ara. A le´all´asi felt´etel hasonl´o az Apriori algoritmus´ehoz: ha a jel¨oltek k¨oz¨ ul senki sem gyakori, akkor minden gyakori hierarchikus term´ekhalmazt megtal´altunk. A tov´abbiakban az algoritmust nem t´argyaljuk, r´eszletek ´es fut´asi eredm´enyek tal´alhat´ok [53] cikkben. Hierarchikus szab´ aly ´ erdekess´ ege” ” Kateg´ori´ak bevezet´es´evel az ´erv´enyes asszoci´aci´ok sz´ama nagym´ert´ekben n˝ohet. Ennek oka az, hogy a kateg´ori´ak t´amogatotts´aga mindig nagyobb, mint a benn¨ uk szerepl˝o term´ekek´e, ´ıgy sokszor szerepelnek majd gyakori term´ekhalmazokban, amelyekb˝ol az ´erv´enyes asszoci´aci´os szab´alyokat kinyerj¨ uk. A szab´alyok k¨oz¨ott sok semmitmond´o is lesz, amelyek cs¨okkentik az ´attekinthet˝os´eget, ´es a t´enyleg fontos szab´alyok megtal´al´as´at. Egy ilyen semmitmond´o szab´alyt az al´abbi p´elda szeml´eltet : Egy ´elelmiszer¨ uzletben h´aromf´ele tejet lehet kapni: zs´ırszeg´enyt, f´elzs´ırosat, ´es norm´alt. Az emberek egynegyede zs´ırszeg´eny tejet iszik. Hierarchikus szab´alyok kinyer´ese sor´an t¨obbek k¨oz¨ott az al´abbi k´et ´erv´enyes szab´aly is szerepel (a szab´aly harmadik param´etere a lift ´ert´eket adja) : 80%,4.8%,2
tej −−−−−−→ zabpehely 80%,1.2%,2
zs´ırszeg´eny tej −−−−−−→ zabpehely L´athat´o, hogy a m´asodik szab´aly kev´esb´e ´altal´anos, mint az els˝o ´es nem hordoz semmi t¨obbletinform´aci´ot. Jogos teh´at az a kijelent´es, hogy egy szab´aly nem ´erdekes, ha annak bizonyoss´aga ´es t´amogatotts´aga nem t´er el a n´ala ´altal´anosabb szab´aly param´eterei alapj´an becs¨ ult ´ert´ekekt˝ol. A pontos defin´ıci´ok magad´as´aval nem terhelj¨ uk az olvas´ot.
5.5.2. Kateg´ oria asszoci´ aci´ os szab´ alyok Az asszoci´aci´os szab´alyok kinyer´es´en´el a bemenet elemhalmazok sorozatak´ent van megadva ´ azolhatjuk a bemenetet, mint bin´aris m´atrix, amelynek az (plussz n´eh´any k¨ usz¨obsz´am). Abr´
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
110
i-edik sor j-edik eleme egy, ha szerepel az i-edik tranzakci´oban a j-edik elem, k¨ ul¨onben nulla. Tetsz˝oleges bin´aris rel´aci´os t´abl´at is v´alaszthatunk bemenetk´ent, ekkor p´eld´aul nem = f´erfi → t´ aj´ekoz´od´asi k´eszs´eg = j´o jelleg˝ u szab´alyokat nyer¨ unk ki. K¨onnyen kaphatunk kateg´oria asszoci´aci´os szab´alyt a megl´ev˝o m´odszereinkkel. Minden olyan A attrib´ utumot, amely k k¨ ul¨onb¨oz˝o ´ert´eket vehet fel (k > 2), helyettes´ıts¨ unk k darab bin´aris attrib´ utummal. Ha egy elem A attrib´ utum´anak ´ert´eke az i-edik attrib´ utum´ert´ek volt, akkor csak i-edik u ´ j attrib´ utum ´ert´eke legyen egy, a t¨obbi´e pedig nulla. Az ´ıgy kapott bin´aris t´abl´an m´ar futtathatjuk a kedvenc asszoci´aci´os szab´alyokat kinyer˝o algoritmusunkat. Weka 3.5.7 A weka.associations.Apriori algoritmus a fenti konverzi´ ot automatikusan elv´egzi, ha kateg´ oria t´ıpus´ u attrib´ utummal tal´ alkozik. Ha k´ezzel szeretn´enk mindezt megtenni, akkor haszn´ alatjuk a weka.filters.unsupervised.attribute.NominalToBinary sz˝ ur˝ ot.
5.6. A korrel´ aci´ o nem jelent implik´ aci´ ot A t´amogatotts´ag ´es a fontosabb ´erdekess´egi mutat´ok (χ2 -pr´obastatisztika, p-´ert´ek) szimmetrikus f¨ uggv´enyek, nem veszik figyelembe, hogy melyik term´ekhalmaz szerepel a szab´aly felt´etelr´esz´eben ´es melyik a szab´aly k¨ovetkezm´enyr´esz´eben. A bizonyoss´ag az egyetlen aszimmetrikus f¨ uggv´eny, amely meghat´arozza a szab´aly ir´any´at. Az asszoci´aci´os szab´alyokban a nyilat haszn´aljuk az ir´any kijel¨ol´es´ere. Ez nagyon rossz d¨ont´es volt ´es rengeteg hamis k¨ovetkeztet´esnek adott alapot. Ha megvizsg´aljuk az asszoci´aci´os szab´alyok h´arom param´eter´et, akkor r´aj¨ohet¨ unk, hogy egyik param´eter sem jelent okozatis´agot. A f¨ uggetlens´egi param´eter csak azt mondja meg, hogy a felt´etelr´esz nem f¨ uggetlen a k¨ovetkezm´enyr´eszt˝ol. Okozatis´agr´ol sz´o sincs. Biztosan csak azt ´all´ıthatjuk, hogy nincs okozatis´agi viszony olyan jelens´egek k¨oz¨ott, amelyek k¨oz¨ott korrel´aci´o sem ´all fenn (azaz f¨ uggetlenek). A korrel´aci´o ´es az okozatis´ag ¨osszekever´ese nagyon gyakori hiba, amelyre a latin cum hoc ergo propter hoc (magyarul: vele, ez´ert miatta) kifejez´essel hivatkoznak. Ha A ´es B k¨oz¨ott korrel´aci´o van, akkor lehet, hogy A okozza B-t, de lehet, hogy m´asf´ele kapcsolat ´all fenn k¨ozt¨ uk. Az is lehet, hogy I. B okozza A-t. II. egy harmadik C jelens´eg okozza A-t ´es B-t is. Az okozatis´agi viszonyok enn´el j´oval bonyolultabb lehetnek. III. lehet, hogy a korrel´aci´ot v´eletlenek k¨ ul¨on¨os egy¨ utt´all´asa okozza. Eml´ekezz¨ unk, hogy a statisztikai tesztek sosem mondanak teljes bizonyoss´aggal semmit. Az els˝ofaj´ u hiba adja meg annak es´ely´et, hogy mi azt ´all´ıtjuk, hogy k´et esem´eny k¨oz¨ott ¨osszef¨ ugg´es ´all fenn, holott azok f¨ uggetlenek egym´ast´ol. IV. A ´es B egym´ast is okozhatj´ak k¨olcs¨on¨osen meger˝os´ıt˝o m´odon. N´ezz¨ unk n´eh´any p´eld´at.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
111
– Az egy cip˝oben alv´as er˝os ¨osszef¨ ugg´esben ´all a fejf´ aj´assal ´ebred´essel. Teh´at a cip˝oben alv´ as fejf´aj´ast okoz. Nyilv´anval´oan hib´as ez a k¨ovetkeztet´es. Sokkal k´ezenfekv˝obb az a magyar´azat, hogy az ittas ´allapot okozza mindk´et dolgot. – A k¨ovetkez˝o ´all´ıt´as egy magyar kereskedelmi r´adi´oban hangzott el. Forr´asnak amerikai kutat´okat neveztek meg. A magassark´ u cip˝o skizofr´eni´at okoz. Az ´all´ıt´as nyilv´an teljes bl˝ods´eg ´es csak az´ert hangzott el, hogy felkeltse a hallgat´ok figyelm´et. – Az al´abbi ´all´ıt´as viszont a Nature magazinban hangzott el 1993-ban. Val´osz´ın˝ ubb, hogy r¨ovidl´at´ok lesznek azok a gyerekek, akik ´eg˝o l´ampa mellett alszanak. K´es˝obbi kutat´asok kimutatt´ak, hogy val´oj´aban a sz¨ ul˝ok r¨ovidl´at´asa ´es a gyerekek r¨ovidl´at´asa k¨oz¨ott van ¨osszef¨ ugg´es tov´abb´a a r¨ovidl´at´o sz¨ ul˝ok hajlamosabbak a l´amp´at ´egve hagyni, mint u ´ gy ´altal´aban a sz¨ ul˝ok. Ha v´as´arl´oi kosarak elemz´es´ehez kanyarodunk vissza, akkor ezek szerint I → I 0 nem az jelenti, hogy az I term´ek az I 0 term´ek megv´as´arl´as´at okozza. Ha mind I, mind I 0 megv´etel´et egy harmadik I 00 term´eknek k¨osz¨onhetj¨ uk, akkor csak p´enzt vesz´ıten´enk, ha az I term´ek ´ar´at cs¨okkenten´ek a I 0 -´et pedig n¨oveln´enk. Az I elad´as´anak n¨oveked´ese ugyanis nem okozza az I 0 elad´as´at, teh´at nem nyern´enk vissza az I 0 -vel az I ´arcs¨okken´es´eb˝ol sz´armaz´o profitkies´est. A val´os´agban a term´ekek csoportokat alkotnak, amelyekben a term´ekek elad´asa k¨olcs¨on¨osen meger˝os´ıtik egym´ast. P´eld´aul, ha vesz¨ unk egy f´enyk´epez˝og´epet, akkor sokan mem´oriak´arty´at ´es tokot is vesznek. Ha okozati kapcsolatok csak a f´enyk´epez˝o → mem´oriak´artya ´es a f´enyk´epez˝o → tok lenn´enek, akkor matematikailag a f´enyk´epez˝o ´es a mem´oriak´artya elad´as´anak nem k´ene v´altoznia, ha a tok ´arus´ıt´as´at megsz¨ untetn´enk. Legt¨obb¨ unknek azonban igenis sz´am´ıt, hogy egy helyen lehet megv´as´arolni mindh´arom term´eket, ez´ert az elad´asok igenis cs¨okkenn´enek. A f´enyk´epez˝og´ep, mem´oriak´artya ´es tok term´ekhalmaz egy olyan halmaz, amelynek elemei k¨olcs¨on¨osen meger˝os´ıtik egym´as elad´as´at.
5.7. Asszoci´ aci´ os szab´ alyok ´ es az oszt´ alyoz´ as A k¨ovetkez˝o r´eszben az oszt´alyoz´assal ´es kicsit a regresszi´oval fogunk foglalkozni. Mik a hasonl´os´agok ´es mik a k¨ ul¨onbs´egek az asszoci´aci´os szab´alyok kinyer´ese ´es az oszt´alyoz´as k¨oz¨ott ? Mindk´et feladatban attrib´ utumok k¨oz¨otti ¨osszef¨ ugg´es´eket t´arunk fel. Az asszoci´aci´os szab´alyok el˝onye, hogy tetsz˝oleges k´et attrib´ utumhalmaz k¨oz¨ott tal´alhat ¨osszef¨ ugg´est. Ezzel szemben oszt´alyoz´asn´al kijel¨ol¨ unk egy attrib´ utumot ´es csak azt vizsg´aljuk, hogy ezt az attrib´ utumot hogyan hat´arozz´ak meg a t¨obbi attrib´ utumok. Asszoci´aci´os szab´alyok jellemz˝o alkalmaz´asi ter¨ ulete a v´as´arl´asi szok´asok elemz´ese, ahol minden term´ek¨osszef¨ ugg´es ´erdekes lehet. Asszoci´aci´os szab´alyokn´al bin´aris attrib´ utumokkal dolgozik. Ha a felt´eter´eszben szerepl˝o attrib´ utumok ´ert´eke egy, akkor a k¨ovetkezm´enyr´eszben szerepl˝o attrib´ utum is egy lesz. Ha a felt´etelr´esz ´ert´eke nulla, akkor nem tudunk semmilyen meg´allap´ıt´ast tenni a k¨ovetkezm´enyr´eszre vonatkoz´oan. Oszt´alyoz´asn´al ilyen nincs, ha tudjuk a magyar´az´o attrib´ utumok ´ert´ek´et, akkor tudjuk a magyar´azand´o´et is. Az attrib´ utumt´ıpusokra annyi megk¨ot´es van, hogy a magyar´azand´o attrib´ utum kateg´oria t´ıpus´ u legyen (regresszi´on´al numerikus). M´as az egyes ter¨ uletek tudom´anyos cikkeinek t´em´aja is. Az asszoci´aci´os szab´alyokr´ol sz´ol´o cikkek nagy r´esze gyakori elemhalmazok kinyer´es´er˝ol sz´ol. A f˝o c´el az, hogy min´el gyorsabb algoritmust adjunk erre az adott feladatra. A feladat ´ertlem´et nem vonj´ak k´ets´egbe
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
112
(sem azt, hogy t´enyleg sz¨ uks´eg van-e olyan gyors algoritmusokra, amelyek gigab´ajt m´eret˝ u adatokat tudnak feldolgozni m´asodpercek alatt ´es gigab´ajt m´eret˝ u kimenetet gener´alnak). A cikkekben algoritmikus ´es adatstrukt´ ur´alis megold´asokat mutatnak be, implement´aci´os ´es p´arhuzamos´ıthat´os´agi k´erd´eseket vizsg´anak, nem ritk´an egy m´odszer elemz´es´en´el a hardver tulajdons´agait is sz´am´ıt´asba veszik. Ezzel szemben oszt´alyoz´asn´al az oszt´alyoz´as pontoss´ag´anak jav´ıt´asa a f˝o c´el, a hat´ekonys´agbeli k´erd´esek csak m´asodlagosak. Az oszt´alyoz´as kutat´oi ´altal´aban j´oval komolyabb statisztikai tud´assal rendelkeznek.
6. fejezet Oszt´ alyoz´ as ´ es regresszi´ o 6.1. Bevezet´ es Ismeretlen, el˝ore nem megfigyelhet˝o v´altoz´ok, attrib´ utumok ´ert´ek´enek el˝orejelz´ese m´as ismert, megfigyelhet˝o v´altoz´ok, attrib´ utumok ismeret´eben r´eg´ota akt´ıv kutat´as t´argy´at k´epezi. A k´erd´es gyakorlati jelent˝os´eg´et neh´ez lenne t´ ul´ert´ekelni. Ebben a fejezetben v´azlatosan ismertetj¨ uk, hogy mik´ent alkalmazhat´ok a statisztika ´es g´epi tanul´as ter¨ ulet´en kifejlesztett m´odszerek az adatb´any´aszatban. A megnevez´esek tiszt´az´asa ´erdek´eben el˝orebocs´atjuk, hogy a tanulm´anyban akkor besz´el¨ unk regresszi´or´ol vagy el˝orejelz´esr˝ol (predikci´or´ol), ha a magyar´azott v´altoz´ot intervallum sk´al´an m´erj¨ uk. Amennyiben a magyar´azott v´altoz´o diszkr´et ´ert´ekk´eszlet˝ u, nomin´alis vagy ordin´alis sk´al´an m´ert, akkor oszt´alyoz´asr´ol vagy klasszifik´aci´or´ol (csoportba sorol´asr´ol) besz´el¨ unk. Fogalmaink szerinti el˝orejelz´est ´es klasszifik´aci´ot a statisztikai irodalom ´altal´aban regresszi´o-sz´am´ıt´as, valamint diszkriminancia elemz´es ´es klasszifik´aci´o n´even illeti. A g´epi tanul´as ter¨ ulet´en az elj´ar´asokat ¨osszefoglal´oan fel¨ ugyelt tanul´asnak (supervised learning) nevezik. Az adatb´any´aszatban leggyakrabban alkalmazott el˝orejelz˝o ´es klasszifik´al´o m´odszerek a k¨ovetkez˝ok: I. Legk¨ozelebbi szomsz´ed m´odszerek II. Line´aris ´es logisztikus regresszi´o III. Mesters´eges neur´alis h´al´ozatok IV. D¨ont´esi szab´alyok, sorozatok ´es f´ak V. Naiv Bayes klasszifik´aci´o ´es Bayes h´al´ozatok VI. SVM VII. Metaalgoritmusok (boosting, bagging, randomization, stb. ) Mindegyik elj´ar´asr´ol elmondhat´o, hogy (legal´abb) k´et l´epcs˝oben m˝ uk¨odik. El˝osz¨or az u ´ n. tan´ıt´o adatb´azison fel´ep´ıtj¨ uk a modellt, majd k´es˝obb azt alkalmazzuk olyan u ´ j adatokra, amelyeken a magyar´azott v´altoz´o ´ert´eke nem ismert, de ismerni szeretn´enk. Amikor el˝orejelz˝o, vagy klasszifik´al´o m´odszert v´alasztunk a k¨ovetkez˝o tulajdons´agait c´elszer˝ u figyelembe venni: 113
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
114
– El˝orejelz´es teljes´ıtm´enye: Milyen ´ert´ekes inform´aci´ot ad sz´amunkra a modell a nem megfigyelhet˝o magyar´az´o v´altoz´or´ol (l´asd 6.2 szakasz)? – Gyorsas´ag : A modell el˝o´all´ıt´as´anak ´es haszn´alat´anak id˝oig´enye. ´ ekeny-e a modell hi´anyz´o, vagy outlier adatokra. – Robusztuss´ag : Erz´ – Sk´al´azhat´os´ag : Haszn´alhat´o-e a modell nagyon nagy adathalmazokra is? ´ – Ertelmezhet˝ os´eg : Kinyerhet¨ unk-e az emberek sz´am´ara ´ertelmezhet˝o tud´ast a modell bels˝o szerkezet´eb˝ol? – Sk´ala-invariancia : A klaszterez´es lehetetlens´eg-elm´elet´et adapt´alva (l´asd 7.1 r´esz) sk´alainvari´ansnak h´ıvunk egy oszt´alyoz´o elj´ar´ast, ha a m´odszer kimenete nem v´altozik abban az esetben, ha tetsz˝oleges intervallum t´ıpus´ u magyar´az´o v´altoz´o helyett annak α>0-szoros´at vessz¨ uk. Az adatb´any´asz k¨oz¨oss´eg legink´abb a kor´abban is ismert el˝orejelz˝o ´es klasszifik´al´o elj´ar´asok sk´al´azhat´os´ag´anak A ritk´abban borotv´alkoz´ ok tov´abbfejleszt´es´eben ´ert el eredm´enyeket. K¨ ul¨on¨osen a ”kor´abban halnak.” Forr´as: http: d¨ont´esi f´ak ter¨ ulet´en fejlesztettek ki olyan algoritmusokat, ://gondola.hu/cikkek/31731 amelyek ak´ar milli´os esetsz´am´ u tanul´o adatb´azis eset´en is alkalmazhat´ok. A fejezet h´atral´ev˝o r´esz´eben el˝osz¨or a klasszifik´al´ok ´es el˝orejelz˝ok teljes´ıtm´eny´enek ´ert´ekel´es´evel foglalkozunk, majd az elj´ar´asokat ismertetj¨ uk. A hagyom´anyos statisztikai m´odszerek (diszkriminancia anal´ızis, l´asd. pl.: [65] ismertet´es´et˝ol eltekint¨ unk, helyett¨ uk ink´abb az ,,egzotikusabbakra” koncentr´alunk: a d¨ont´esi f´ak, a mesters´eges neuronh´al´ozatok, a Bayesh´al´ozatok, ´es n´egy tov´abbi elj´ar´as f˝obb jellemz˝oit mutatjuk be [68], [55], [46] ´es [93] ´ır´asok alapj´an. Weka 3.5.7 A wek´aban az oszt´alyoz´o m´odszereket a Classify f¨ ul¨ on kereszt¨ ul ´erj¨ uk el.
6.2. Az oszt´ alyoz´ as ´ es a regresszi´ o feladata Az oszt´alyoz´as ´es regresszi´o sor´an n-esekkel (angolul tuple) fogunk dolgozni, amelyeket objektumoknak/elemeknek h´ıvunk. Adott lesz objektumok sorozata (vagy zs´akja), amelyet tan´ıt´o mint´aknak, tan´ıt´o pontoknak, tan´ıt´o halmaznak (hab´ ar a halmaz sz´o haszn´alata itt helytelen, hiszen ugyanaz az objektum t¨obbsz¨or is el˝ofordulhat) nevez¨ unk. A tan´ıt´opontok sz´am´at m-mel vagy |T |-val fogjuk jel¨olni. Val´oj´aban tan´ıt´asra a tan´ıt´o pontok egy r´esz´et haszn´aljuk. A t¨obbi pont szerepe a tesztel´es lesz. Az n-es j-edik elem´et j-edik attrib´ utumnak h´ıvjuk. Egy attrib´ utumra n´evvel is hivatkozhatunk (pl. kor, magass´ag, sz´eless´eg attrib´ utumok), nem csak sorsz´ammal. Minden attrib´ utumnak saj´at ´ert´ekk´eszlete van. Az A attrib´ utumv´altoz´on olyan v´altoz´ot ´ert¨ unk, amely az A ´ert´ekk´eszlet´eb˝ol vehet fel ´ert´ekeket.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
115
´ Altal´ anos m´odon egy klasszifik´al´o vagy el˝orejelz˝o m´odszer teljes´ıtm´eny´et v´arhat´o hasznoss´ag´aval m´erhetj¨ uk. Legyen a magyar´azand´o attrib´ utumv´altoz´o Y , a magyar´az´o attrib´ utumv´altoz´o(k) pedig X, elj´ar´asunkat jel¨olj¨ uk f -fel (Az f az X ´ert´ekk´eszlet´er˝ol az Y ´ert´ekk´eszlet´ere k´epez). Ekkor c´elunk E [U (Y, f (X))] maximaliz´al´asa, ahol U (y, yb) jel¨oli az el˝orejelzett yb hasznoss´ag´at, mik¨ozben a val´odi ´ert´ek y. Bin´aris Y eset´en bin´aris oszt´alyoz´ asr´ ol besz´el¨ unk. A feladatot ford´ıtva, E [L (Y, f (X))] minimaliz´al´asak´ent is megfogalmazhatjuk, ahol L az U inverze, egy vesztes´eget m´er˝o f¨ uggv´eny. A E [L (Y, f (X))] ´ert´eket v´arhat´o oszt´alyoz´asi hib´ anak (expected prediction error) nevezz¨ uk ´es V OH-val jel¨olj¨ uk. Mivel a v´arhat´o ´ert´ek v´altoz´oiban addit´ıv ´es a konstanssal val´o eltol´as nem v´altoztat az optimaliz´al´ason, ez´ert L (y, yb)=0 feltehet˝o. A hib´at a gyakorlatban egy t´avols´agf¨ uggv´ennyel defini´alj´ak (l´asd 3.2 r´esz).
6.2.1. Az elm´ eleti regresszi´ os g¨ orbe Regresszi´o eset´en a k´et legelterjedtebb megold´as a hiba m´er´es´ere a n´egyzetes hiba L (y, yb) = = (y − yb)2 ´es az abszolut hiba L (y, yb) = |y − yb| alkalmaz´asa. Fejts¨ uk ki a v´arhat´o ´ert´eket : h 2 i V OH(f ) =E Y − f (X) Z = (y − f (x))2 P(dx, dy) A legkisebb hiba akkor ad´odik, ha f (x) = E[Y |X = x],
(6.1)
ugyanis h h 2 i 2 i E Y − f (X) = E Y − E[Y |X] + E[Y |X] − f (X) h h h 2 i 2 i 2 i = E Y − E[Y |X] + E E[Y |X] − f (X) ≥ E Y − E[Y |X] , mert
E
Y − E[Y |X] E[Y |X] − f (X) = EE Y − E[Y |X] E[Y |X] − f (X) |X = E E[Y |X] − f (X) E[Y − E[Y |X]|X] = E E[Y |X] − f (X) E[Y |X] − E[Y |X] = 0
A m´asodik egyenl˝os´egn´el felhaszn´altuk, hogy E(V ) = EE(V |W ), a harmadik egyenl˝os´egn´el felcser´elt¨ uk a szorzat k´et tagj´at ´es felhaszn´altuk, hogy a E[Y |X] − f (X) f¨ uggetlen Y -t´ol, ez´ert a v´arhat´o ´ert´ek el´e mozgathat´o. V´egezet¨ ul ism´et a E(V ) = EE(V |W ) tr¨ ukk¨ot haszn´altuk, V = = E[Y |X] ´es W = X helyettes´ıt´essel. Az f (x) = E[Y |X = x] f¨ uggv´enyt elm´eleti regresszi´os g¨orb´enek nevezik. Ha a hiba m´er´es´en´el a n´egyzet¨osszeg helyett (L2 norma) az k¨ ul¨onbs´eg¨osszeget haszn´aljuk (L1 norma), akkor az elm´eleti regresszi´os g¨orbe: f (x) = median(Y |X = x).
(6.2)
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
116
6.2.2. Maximum likelihood oszt´ alyoz´ o Oszt´alyoz´as eset´en n´egyzetes hib´ar´ol nincs ´ertelme besz´eln¨ unk. Hibaf¨ uggv´eny helyett, k oszt´aly eset´en, egy c × c m´eret˝ u hibam´atrixot (L) adhatunk meg, amely i-edik sor´anak j-edik eleme (L[i, j]) megadja a hiba m´ert´ek´et, ha i-edik oszt´aly helyett a j-edik oszt´alyt jelezz¨ uk el˝ore. A m´atrix f˝odiagon´alis´aban nulla ´ert´ekek szerepelnek. A v´arhat´o oszt´alyoz´asi hiba V OH(f ) = E [L[Y, f (X)]] , amelyb˝ol f (x) = argminy` ∈Y
c X i=1
L(yi , y` )P(yi |X = x)
A legismertebb vesztes´eg m´atrix a nulla-egy m´atrix, amelyben a f˝odiagon´alison k´ıv¨ ul minden elem egy. A fenti kifejez´es a k¨ovetkez˝ore egyszer˝ us¨odik: f (x) = argminyl ∈Y [1 − P(yl |X = x)], vagy egyszer˝ uen: f (x) = yk , amennyiben P(yk |X = x) = max P(yl |X = x). yl ∈Y
A fenti oszt´alyoz´o a Bayes vagy maximum likelihood oszt´alyoz´o, amely azt ´all´ıtja, hogy a P(Y |X) felt´eteles val´osz´ın˝ us´eg szerinti legnagyobb val´osz´ın˝ us´eg˝ u oszt´aly lesz az oszt´alyoz´o kimenete adott megfigyel´es eset´en. Ha a v´arhat´o ´ert´eket meghat´aroz´o val´odi eloszl´asokat ismern´enk, akkor megtal´alhat´o a legjobb el˝orejelz˝o / klasszifik´al´o. P´eld´aul (azonos kovarianci´aj´ u) t¨obbdimenzi´os norm´alis eloszl´asokat felt´etelezve egyszer˝ u kvadratikus (line´aris) d¨ont´esi szab´alyokat kapunk [133], [65]. Az eloszl´as param´etereit ´altal´aban m´eg akkor is becs¨ uln¨ unk kell, ha felt´etelezhet˝o / felt´etelez¨ unk egy adott t´ıpus´ u eloszl´as. Az adatb´any´aszat ter¨ ulet´en a normalit´as nem re´alis feltev´es (gondoljunk a sok nomin´alis v´altoz´ora). Az adatb´any´aszati m´odszerek nem ´elnek feltev´esekkel az eloszl´assal kapcsolatban. Ugyanakkor a m´odszerek ¨osszetetts´eg¨ uk folyt´an – ha hagyjuk ˝oket – k´epesek nem csak a tan´ıt´o adatb´azis szab´alyszer˝ us´egeit, hanem a mintaadatokban l´ev˝o egyedi hib´akat ´es torz´ıt´asokat is megtanulni (ami kifejezetten k´aros). ´Igy ´altal´aban puszt´an a tan´ıt´o adatb´azis seg´ıts´eg´evel nem megalapozott a v´arhat´o haszon / k¨olts´eg nagys´ag´at megbecs¨ ulni. Mennyire j´o egy oszt´alyoz´o m´odszer, amely 100% pontoss´agot ad a tan´ıt´o mint´akon, de 0%-ot a tesztel˝o adathalmazon? A t´ ulzott modellbonyolults´ag elker¨ ul´es´ere pl.: a regresszi´osz´am´ıt´as ter¨ ulet´en modellszelek2 ci´os krit´eriumok (m´odos´ıtott R , Akaike Schwartz, stb.), illetve heurisztikus elj´ar´asok (stepwise regresszi´o) ´allnak rendelkez´esre. Az oszt´alyoz´o m´odszer ki´ert´ekel´es´er˝ol, illetve oszt´alyoz´ok ¨osszehasonl´ıt´as´ar´ol a 6.10 r´eszben ´ırunk b˝ovebben. Most l´assuk a legismertebb oszt´alyz´o m´odszereket.
6.3. k-legk¨ ozelebbi szomsz´ ed m´ odszere A k-legk¨ozelebbi szomsz´ed m´odszere egy ,,lusta” klasszifik´al´o elj´ar´as, amely nem ´ep´ıt modellt. Alapelgondol´asa, hogy a hasonl´o attrib´ utum´ u objektumok hasonl´o tulajdons´agokkal
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
117
b´ırnak. A hasonl´os´agot (igaz´ab´ol a k¨ ul¨onb¨oz˝os´eget (l´asd 3.2. r´esz)) a klaszterelemz´esn´el is haszn´alt t´avols´agf¨ uggv´ennyel m´erj¨ uk. A tanul´o adatb´azist elt´aroljuk ´es amikor egy ismeretlen objektumot kell klasszifik´alnunk, akkor megkeress¨ uk a t´avols´agf¨ uggv´eny szerinti k darab legk¨ozelebbi pontot, ´es az objektumot abba a kateg´ori´aba soroljuk, amely a legt¨obbsz¨or el˝ofordul (leggyakoribb) a k szomsz´ed k¨oz¨ott (t¨obbs´egi szavaz´as). A m´odszer egyfajta lok´alis s˝ ur˝ us´egf¨ uggv´eny becsl˝o elj´ar´asnak is tekinthet˝o. Regresszi´o eset´en a szomsz´edok oszt´aly´ert´ekeinek ´atlaga lesz a kimenet. A m´odszer regresszi´ora is haszn´alhat´o. Ekkor a t¨obbs´egi szavaz´as helyett a szomsz´edok oszt´aly´ert´ek´enek ´atlagak´ent szok´as megadni a j´osl´ast. Id´ezz¨ uk fel az optim´alis el˝orejelz˝ore tett meg´allap´ıt´asunkat (l´asd 6.1 egyenl˝os´eg), regresszi´o eset´en: f (x) = E[Y |X = x], azaz tetsz˝oleges pontban az optim´alis oszt´alyoz´o ´ert´eke megegyezik a felt´eteles v´arhat´o ´ert´ekkel. Oszt´alyoz´as eset´en pedig f (x) = yl , amennyiben P(yl |X = x) = max P(yi |X = x). yi ∈Y
A k-legk¨ozelebbi szomsz´ed a k¨ovetkez˝o regresszi´os f¨ uggv´enyt adjat tetsz˝oleges x pontra P yi , fb(x) = k
ahol xi ∈ Nk (x), oszt´alyoz´as eset´en pedig :
fb(x) = yk , amennyiben f req(yk |xi ∈ Nk (x)) = max f req(y` |xi ∈ Nk (x)), y` ∈Y
ahol Nk (x) az x pont k-legk¨ozelebbi szomsz´edj´at, Ave az ´atlagot, freq pedig a gyakoris´agot jel¨oli. b tulajdonk´eppen az f (x) k¨ozel´ıt´ese. A k¨ozel´ıt´es k´et okb´ol k¨ovetkezik: Az f(x) I. regresszi´o eset´en a v´arhat´o ´ert´ek helyett a minta´atlagot haszn´altuk, oszt´alyoz´as eset´en pedig a val´osz´ın˝ us´eg helyett a relat´ıv gyakoris´agot,
II. az x pontban vett felt´etel helyett az x k¨ornyezet´et vett¨ uk. Sok tan´ıt´opont eset´eben tetsz˝oleges ponthoz k¨ozel lesznek a szomsz´edai, tov´abb´a az ´atlag egyre stabilabb lesz, amennyiben k egyre nagyobb. Be lehet l´atni, hogy P (X, Y )-ra tett enyhe felt´etelek mellett fb(x) → E[Y |X = x], amennyiben m, k → ∞ ´es N/k → 0. Ezek szerint a k-legk¨ozelebbi szomsz´ed egy univerz´alis approxim´ator, nem is ´erdemes tov´abbi oszt´alyz´okkal foglalkoznunk?!? Legt¨obb esetben nem ´all rendelkez´es¨ unkre sok tan´ıt´opont. Ha fel tudunk tenni az oszt´alyoz´asra valamilyen strukt´ ur´alis felt´etelt (pl. linearit´as), akkor ezt kihaszn´alva pontosabb modellt ´ep´ıthet¨ unk, mint azt a k-legk¨ozelebbi szomsz´ed adna. Tov´abbi probl´ema, hogy magas dimenzi´osz´am mellett (teh´at sok attrib´ utum eset´en) a konvergencia lass´ u. A legk¨ozelebbi szomsz´ed m´odszer ´abr´azol´as´an´al (k = 1 eset´en) kedvelt eszk¨oz a Voronoi diagramm. A fel¨ uletet felosztjuk tartom´anyokra u ´ gy, hogy minden tartom´anyba egy tan´ıt´o
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
118
6.1. ´abra. Tan´ıt´opontok a s´ıkon (bal oldali ´abra) ´es a Voronoi tartom´anyok (jobb oldali ´abra)
pont essen ´es igaz legyen, hogy a tartom´anyon bel¨ uli b´armely pont a tan´ıt´opontok k¨oz¨ ul a 1 tartom´any tan´ıt´opontj´ahoz van a legk¨ozelebb. Egy ilyen feloszt´ast l´athatunk a 6.1 ´abr´an . Az oszt´alyoz´ashoz term´eszetesen nem kell meghat´arozni a tartom´anyokat ´es megn´ezni, hogy az oszt´alyozand´o pont melyik tartom´anyba tartozik. Egyszer˝ uen n´ezz¨ uk v´egig a tan´ıt´opontokat ´es v´alasszuk ki a legink´abb hasonl´ot.
6.3.1. Dimenzi´ o´ atok - Curse of dimensionality A legk¨ozelebbi szomsz´ed m´odszer egy univerz´alis approxim´ator, tetsz˝oleges oszt´alyoz´o f¨ uggv´enyt k´epes reproduk´alni, csak el´eg tan´ıt´opont kell hozz´a. A m´odszert lok´alis approxim´atornak is szok´as h´ıvni, mert tetsz˝oleges pont oszt´aly´ert´ek´et a (lok´alis) k¨ornyezet´enek tan´ıt´o´ert´ekeinek ´atlag´aval helyettes´ıti. A m´odszer j´ol m˝ uk¨odik alacsony dimenzi´okn´al, de magas dimenzi´okn´al cs˝od¨ot mond. Erre, mint dimenzi´o´atok szoktak hivatkozni ´es sz´amos szeml´eltet´ese, interpret´aci´oja l´etezik. A legk¨onnyebben ´erthet˝o az al´abbi. Tetsz˝oleges pont k¨ornyezet´eben el´eg tan´ıt´opontnak kell lenni. Ide´alis esetben tetsz˝oleges x pont k¨ornyezet´en az x-t˝ol legfeljebb t´avols´agra l´ev˝o pontokat ´ertj¨ uk. Ez egydimenzi´os esetben egy 2 hossz´ u szakaszt, k´etdimenzi´os esetben sugar´ u k¨ort, h´aromdimenzi´os esetben sugar´ u g¨omb¨ot jelent. Ha azt szeretn´enk, hogy a keres´esi t´erben a tan´ıt´opontok s˝ ur˝ us´ege r¨ogz´ıtett legyen, akkor a tan´ıt´opontok sz´am´anak exponenci´alisan kell n˝onie a dimenzi´o n¨ovel´es´evel. A gyakorlatban a tan´ıt´opontok adottak, ami ´altal´aban behat´arolja a dimenzi´ok ´es ´ıgy a figyelembe vehet˝o attrib´ utumok sz´am´at. Ez nem jelenti azt, hogy magas dimenzi´okban nem lehet oszt´alyoz´o f¨ uggv´enyt tal´alni, csak megk¨ot´est kell tenn¨ unk az oszt´alyoz´o f¨ uggv´eny t´ıpus´ara vonatkoz´oan. P´eld´aul, ha u ´ gy gondoljuk, hogy az oszt´alyoz´o egy hipers´ıkkal le´ırhat´o, akkor a dimenzi´ok sz´am´anak n¨ovel´es´evel csak line´arisan n¨ovekszik a sz¨ uks´eges tan´ıt´opontok sz´ama (hiszen k´etdimenzi´os esetben k´et pont hat´aroz meg egy egyenest, h´arom dimenzi´on´al h´arom pont hat´aroz meg egy s´ıkot, stb.).
6.3.2. A legk¨ ozelebbi szomsz´ ed ´ erz´ ekenys´ ege A legk¨ozelebbi szomsz´ed m´odszer h´atr´anya, hogy ´erz´ekeny a f¨ uggetlen attrib´ utumokra. L´assunk egy p´eld´at. Feladatunk, hogy egy d¨ont´esi modellt adjunk a szorgalmas di´akokra. Az egyik attrib´ utum a g¨orgetett tanulm´anyi ´atlag a m´asik a hajhossz. A 6.2 ´abra mutatja a tan´ıt´o 1
A szeml´eltet˝ o ´ abr´ at a http://www.manifold.net/doc/7x/transform_voronoi_operators.htm oldalr´ol t¨ olt¨ ott¨ uk le.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
119
hajhossz szorgalmatlan szorgalmas
1
2
3
4
5
jegyátlag
szorgalmatlan szorgalmas
1
2
3
4
5
jegyátlag
6.2. ´abra. F¨ uggetlen attrib´ utumok hat´asa a legk¨ozelebbi szomsz´ed oszt´alyoz´asra
pontokat, c´el a z¨olddel jel¨olt tanul´o oszt´alyoz´asa. Ha csak a jegy´atlagot tekintj¨ uk, akkor a szorgalmasak k¨oz´e soroljuk. Ha a t´avols´ag meg´allap´ıt´as´an´al a hajhossz is figyelembe vessz¨ uk, akkor egy olyan hallgat´o lesz hozz´a a legk¨ozelebb, akir˝ol tudjuk, hogy szorgalmatlan. S˝ot, ha euklideszi t´avols´agot haszn´alunk ´es a f¨ uggetlen attrib´ utum ´ert´ekei j´oval nagyobbak a f¨ ugg˝o attrib´ utum ´ert´ekein´el, akkor a f¨ uggetlen attrib´ utum elnyomja” a f¨ ugg˝o attrib´ utumot. ” Sz´amos megold´ast javasolnak a f¨ uggetlen attrib´ utum ´altal okozott hiba kik¨ usz¨ob¨ol´es´ere. (1.) Ha tehetj¨ uk haszn´aljunk t¨obb tan´ıt´o pontot, (2.) k´erdezz¨ uk meg az alkalmaz´asi ter¨ ulet szak´ert˝oj´et, hogy a t´avols´ag meghat´aroz´as´an´al mely attrib´ utumokat vegy¨ uk sz´am´ıt´asba, vagy (3.) alkalmazzunk statisztikai tesztet a f¨ uggetlens´eg meg´allap´ıt´as´ara. Amennyiben nincs sok attrib´ utumunk, akkor meghat´arozhatjuk az oszt´alyoz´as pontoss´ag´at az ¨osszes attrib´ utum r´eszhalmaz eset´en majd kiv´alaszthatjuk a legjobbat. Sok attrib´ utum eset´en az ¨osszes attrib´ utumhalmaz kipr´ob´al´asa t´ ul sok id˝ot/er˝oforr´ast k´ıv´an. Egy (4.) moh´o, b˝ov´ıt˝o elj´ar´as egyes´evel b˝ov´ıten´e a tesztelend˝o attrib´ utumhalmazt u ´ gy, hogy az a legjobb oszt´alyoz´ast adja. Ha az oszt´alyoz´as min˝os´ege nem javul, akkor befejezn´enk a b˝ov´ıt´est. Ez a m´odszer kiselejtezn´e az X1 ´es X2 bin´aris attrib´ utumokat ann´al az oszt´alyoz´asn´al, amelyben a magyar´azand´o attrib´ utum ´ert´eke X1 ´es X2 modul´o kett˝ovel vett ¨osszege ´es X1 , X2 egym´ast´ol (´es a magyar´azand´o attrib´ utumt´ol is) teljesen f¨ uggetlenek. Az (5.) cs¨okkent˝o m´odszerek a teljes attrib´ utumhalmazb´ol indulna ki ´es minden l´ep´esben egy attrib´ utumot dobna ki. A legk¨ozelebbi szomsz´ed m´odszer ´erz´ekeny a m´ert´ekegys´egre is. Ez logikus, hiszen a legk¨ozelebbi szomsz´ed m´odszer ´erz´ekeny a t´avols´ag defin´ıci´oj´ara, az pedig nagyban f¨ ugg az egyes attrib´ utumok m´ert´ekegys´eg´et˝ol. A probl´em´at a 6.3 ´abra szeml´elteti. Az egyik attrib´ utum jel¨olje egy ember hajhossz´at az ´atlagt´ol, a m´asik attrib´ utum a bev´etelt jel¨oli doll´arban. Az els˝o ´abr´an a hosszt m´eterben m´erj¨ uk a m´asodikban pedig l´abban. Az oszt´alyozand´o (z¨old) ponthoz egy piros van a legk¨ozelebb az els˝o esetben, m´ıg a m´asodik esetben k´ek pont a legk¨ozelebbi. A p´eld´ab´ol k¨ovetkezik, hogy a legk¨ozelebbi szomsz´ed m´odszer nem sk´alainvari´ans. Az eml´ıtett probl´em´ak nem felt´etlen¨ ul az oszt´alyoz´o hib´ai. A legk¨ozelebbi szomsz´ed m´odszerben a t´avols´agf¨ uggv´eny k¨ozponti szerepet j´atszik. A helyes t´avols´agf¨ uggv´eny meghat´aroz´as´ahoz v´alasszuk ki a fontos attrib´ utumokat, normaliz´aljuk, ha sz¨ uks´eges, illetve fontoss´aguk alapj´an s´ ulyozzuk ˝oket. A k-legk¨ozelebbi szomsz´ed egy m´odos´ıt´as´at s´ ulyozott legk¨ozelebbi szomsz´ed m´odszernek h´ıvj´ak. Ebben a k szomsz´ed minden tagj´anak akkora a s´ ulya, amekkora az oszt´alyozand´o pontt´ol
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
120
6.3. ´abra. M´ert´ekegys´eg hat´asa a legk¨ozelebbi szomsz´ed oszt´alyoz´ora
vett t´avols´ag´anak inverze (vagy valamilyen antimonoton f¨ uggv´enye). Az oszt´alyozand´o ponthoz k¨ozel fekv˝o tan´ıt´opontoknak teh´at nagyobb szavuk van a v´egs˝o oszt´aly meghat´aroz´as´aban, mint a t´avolabb es˝o pontoknak. Weka
3.5.7
A legk¨ ozelebbi szomsz´ed m´ odszer´et (teh´ at amikor csak egy szomsz´edot vesz¨ unk figyelembe) a weka.classifiers.lazy.IB1 oszt´ aly implement´ alja. K´et pont t´ avols´ ag´ anak meghat´ aroz´ as´ an´ al az euklideszi norm´ at haszn´ alja. Ha t¨ obb legk¨ ozelebbi pontja van egy oszt´ alyozand´ o pontnak, akkor az els˝ ok´ent megtal´ alt alapj´ an fog oszt´ alyozni.
6.3.3. Az oszt´ alyoz´ as felgyors´ıt´ asa Egy u ´ j elem oszt´alyoz´as´an´al meg kell hat´aroznunk a k-legk¨ozelebbi szomsz´edot. Ez a teljes adatb´azis egyszeri, line´aris v´egigolvas´as´at jelenti. A mai sz´am´ıt´og´epes architekt´ ur´aknak kedvez ez a feladat. A tan´ıt´opontok elf´ernek a mem´ori´aban ´es a prefetch ill. pipeline technik´ak nagyban gyors´ıtj´ak a keres´est. Tal´an ez az oka, hogy teszteredm´enyek szerint a kifinomultabb, bonyolultabb m´odszerek is legfeljebb egy nagys´agrendet vernek a line´aris m´odszerre. A 70-es ´evekt˝ol egyre t¨obb ´ır´as sz¨ uletett, amelynek t´em´aja a line´aris m´odszern´el gyorsabb algoritmus kidolgoz´asa. Az u ´ j m´odszerek ´altal´aban az u ´ n. branch-and-bound technik´at alkalmazz´ak, melynek sor´an a tan´ıt´o pontok ter´et felosztj´ak ´es csak bizonyos r´eszeket vizsg´alnak a keres´es sor´an. Az el˝ofeldolgoz´asi l´ep´esben gy´ urnak valamit az adatb´azison, ´altal´aban egy speci´alis adatstrukt´ ur´aba t´arolj´ak a tan´ıt´opontokat. Amennyiben a tan´ıt´as sor´an egyetlen numerikus attrib´ utumot vesz¨ unk figyelembe, akkor ha, mint el˝ofeldolgoz´as, sorba rendezz¨ uk az adatokat (O(m log m) id˝o alatt), akkor a legk¨ozelebbi szomsz´edok meghat´aroz´as´ahoz O(log m) l´ep´es el´eg. Fut´asi id˝o szempontj´ab´ol azonos asszimptotik´aval rendelkez˝o algoritmus adtak k´et magyar´az´o v´altoz´o eset´eben [10]. T¨obb magyar´az´o attrib´ utum eset´en (nagyobb dimenzi´okn´al) a legismertebb m´odszer KDf´akat haszn´al [13]. Az algoritmus az el˝ofeldolgoz´as sor´an a teret hipert´eglatestekre osztja, egyes
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
121
6.4. ´abra. Tartom´anyok meghat´aroz´asa KD-fa ´ep´ıt´es´en´el (bal oldali ´abra) ´es a KD-fa (jobb oldali ´abra)
t´eglatesteket pedig tov´abbi t´eglatestekre. A hipert´eglatestek oldalai p´arhuzamosak egym´assal ´es a tengelyekkel ´es egy t´eglatest kett´eoszt´asa mindig egy az oldalfallal p´arhuzamos s´ık ment´en val´o kett´eoszt´ast jelent. Egy t´eglatestet nem oszt tov´abb, ha a t´eglatestben tal´alhat´o pontok sz´ama adott korl´at alatt van. A KD-fa bin´aris ´es minden csom´opontj´anak megfelel egy hipert´eglatest. A levelekhez hozz´a vannak rendelve azok a tan´ıt´opontok, amelyek a lev´el ´altal meghat´arozott t´eglatesbe esnek. Tetsz˝oleges csom´opont gyermekeihez tartoz´o hipert´eglatest a csom´oponthoz tartoz´o hipert´eglatest kett´eoszt´as´ab´ol j¨ott l´etre. A 6.4 ´abr´an n´eh´any tan´ıt´opont feloszt´asa l´athat´o ´es a feloszt´ashoz tartoz´o KD-fa. Figyelem, a t´eglatestek ´altal kijel¨olt terek nem oszt´alyoz´asi tartom´anyoknak felelnek meg. A KD-f´at haszn´al´o algoritmus garant´alja, hogy t´enyleg a legk¨ozelebbi szomsz´edokat fogja megtal´alni. Oszt´alyoz´asn´al nem csak azokat a tan´ıt´opontokat veszi figyelembe, amelyek abban a t´eglatestben vannak, amelyet az oszt´alyozand´o pont kijel¨ol. Az oszt´alyoz´as menete a k¨ovetkez˝o : A fa cs´ ucs´ab´ol kiindulva jussunk el addig a lev´elig, amely t´eglatestje tartalmazza az oszt´alyozand´o pontot. Hat´arozzuk meg a legk¨ozelebbi pontot. Amennyiben a legk¨ozelebbi pont k¨ozelebb van, mint b´armelyik oldalfal – m´ask´epp fogalmazva, az oszt´alyozand´o pontb´ol a legk¨ozelebbi pontt´ol vett t´avols´aggal rajzolt hiperg¨omb nem metsz oldalfalat –, akkor le´allunk. Ellenkez˝o esetben meg kell vizsg´alni azt a hipert´eglatestet, amely fala k¨ozelebb van, mint a legk¨ozelebbi pont. Ez a t´eglatest ugyanis tartalmazhat olyan pontot, amely k¨ozelebb van az eddig tal´alt legk¨ozelebbi ponthoz. A vizsg´aland´o t´eglatest nem biztos, hogy az oszt´alyozand´o pont ´altal kijel¨olt t´eglatest szomsz´edja a KD-f´aban. Lehet unokatestv´er, vagy sokadrang´ u unokatestv´er. Vegy¨ uk ´eszre, hogy az egyszer˝ u konstrukci´o k¨ovetkezt´eben (´erts oldalfalak p´arhuzamosak a tengelyekkel) nagyon gyorsan el tudjuk d¨onteni, hogy egy adott t´eglatestnek lehet-e olyan pontja, amely egy adott ponttol, adott t´avols´agn´al k¨ozelebb van. A KD-fa ´ep´ıt´es´en´el k´et c´el lebeg a szem¨ unk el˝ott : I. A fa legyen kiegyens´ ulyozott, abban a tekintetben, hogy minden t´eglatest ugyanannyi tan´ıt´opontot tartalmaz. Ez az´ert j´o, mert ha ki tudunk z´arni egy t´eglatestet a vizsg´alatb´ol,
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
122
akkor ezzel sok pontot szeretn´enk kiz´arni II. A hipert´eglalapok legyenek kock´ak. Ekkor ugyanis nem fordulhat el˝o, hogy az oszt´alyozand´o pont ´altal kijel¨ol t´eglatesttel nem ´erintkez˝o t´eglatest tartalmazza a legk¨ozelebbi szomsz´edot. Az elny´ ujtott t´eglatestek nem kedveznek az algoritmusnak. Hab´ar a m´asodik elv´ar´asnak nem biztos, hogy eleget tesz a k¨ovetkez˝o egyszer˝ u m´odszer, m´egis a gyakorlatban j´o eredm´enyt ad. Ki kell jel¨olni a fal tengely´et, majd meg kell hat´arozni a hely´et. A tengely kijel¨ol´es´ehez n´ezz¨ uk meg mekkora a sz´or´as az egyes tengelyekre n´ezve. Legyen a fal a legnagyobb sz´or´ast eredm´enyez˝o tengelyre mer˝oleges. A fal hely´et pedig a medi´an hat´arozza meg, ´ıgy garant´alt hogy a pontok egyik fele az egyik t´eglatestbe a m´asik fele a m´asik t´eglatestbe fog ker¨ ulni. A KD-f´an´al vannak u ´ jabb adatstrukt´ ur´ak, ezek k¨oz¨ ul a legismertebbek a Metric tree (Ball tree)[99, 137] ´es a Cover Tree [15]. A [73] cikkben a szerz˝ok azonban azt ´all´ıtj´ak, hogy ezek ´ ıt´asaikat a szerz˝ok az u ´ j m´odszerek nem mutatnak sz´amottev˝o javul´ast a KD-f´ahoz k´epest. All´ sz´amos teszt eredm´eny´ere alapozz´ak, melyhez felhaszn´altak val´odi ´es gener´alt adatb´azisokat is. Weka 3.5.7 A k-legk¨ozelebbi szomsz´ed futtat´as´ahoz k > 1 eset´en haszn´ aljuk a weka.classifiers.lazy.IBk oszt´ alyt. A KNN param´eter felel meg a k ´ert´eknek, amelyet nem kell felt´etlen¨ ul megadnunk. A weka a leave-one-out m´ odszerrel (l´ asd a 155 oldal) megpr´ ob´ alja a megfelel˝ ok ´ert´eket meghat´ arozni, amennyiben a crossValidate ´ert´eke igaz. Haszn´ alhatjuk a s´ ulyozott legk¨ ozelebbi szomsz´ed m´ odszert is (l´ asd a 119). Ekkor v´ alasztanunk kell a distanceWeighting param´eterrel, hogy a s´ uly a t´ avols´ ag reciproka, vagy 1-t˝ ol vett k¨ ul¨ onbs´ege adja. A nearestNeighbourSearchAlgorithm kiv´ alaszt´ oval megadhatjuk, hogy a legk¨ ozelebbi szomsz´edok meghat´ aroz´ as´ ahoz milyen m´ odszert/adatstrukt´ ur´ at haszn´ aljon a weka. Az alap´ertelmezett az egyszer˝ u line´ aris keres´es, de v´ alaszthatunk KD-fa, Ball tree ´es Cover tree alap´ u megold´ asok k¨ oz¨ ul.
6.4. Line´ arisan szepar´ alhat´ o oszt´ alyok K´et oszt´aly line´arisan szepar´alhat´o, ha egy hipers´ık seg´ıts´eg´evel el tudjuk k¨ ul¨on´ıteni a k´et oszt´aly pontjait. Amennyiben minden pont n dimenzi´oban van megadva, akkor n−1 dimenzi´os hipers´ıkot kell meghat´aroznunk. Ennek a hipers´ıknak a k´eplete: w1 x1 + w2 x2 + . . .+ wn xn = 0. Az oszt´alyoz´as feladata a w s´ ulyok meghat´aroz´asa. Ha ez megvan, akkor j¨ohet az u ´ j elemek oszt´alyoz´asa. Hat´arozzuk meg az u ´ j elem attrib´ utumainak w ´ert´ekekkel t¨ort´en˝o s´ ulyozott ¨osszeg´et. Ha az ¨osszeg nagyobb nulla, akkor az els˝o oszt´alyba tartozik, ellenkez˝o esetben a m´asodikba. Kateg´oria t´ıpus´ u magyar´az´o attrib´ utum eset´en az ´ert´ekeket 0,1, . . . sz´amokkal szok´as helyettes´ıteni. Line´arisan szepar´alhat´o oszt´alyokra l´athatunk p´eld´at a 6.5 ´abr´an.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
123
6.5. ´abra. P´elda line´arisan szepar´alhat´o oszt´alyokra
A p´eld´ab´ol is l´atszik, hogy adott tan´ıt´ohalmazhoz t¨obb hipers´ık is l´etezhet, amellyel kett´ev´alaszthatjuk az oszt´alyokat. A logisztikus regresszi´on´al ´es az SVM oszt´alyoz´on´al fog felmer¨ ulni az a k´erd´es, hogy melyik hipers´ık v´alasztja el a legjobban a k´et oszt´alyt, azaz melyik az a s´ık amelyik j´ol szepar´al ´es amelyt˝ol legt´avolabb vannak a pontok. ´ attMennyire er˝os megk¨ot´es, hogy az oszt´alyok line´arisan szepar´alhat´ok legyenek? Uj rib´ utumok bevezet´es´evel, amelyek az eredeti attrib´ utumok nemline´aris transzform´altjai olyan t´erbe ker¨ ulhet¨ unk, amelyben m´ar lehet line´aris szepar´al´ast v´egezni. Amennyiben minden attrib´ utum bin´aris ´es 0-1 ´ert´ekeket vehet fel, akkor a 6.6 ´abra j´ol mutatja, hogy az AND, OR, NOT f¨ uggv´enyek line´arisan szepar´alhat´o oszt´alyokat hoznak l´etre.
AND
OR
NOT
XOR
6.6. ´abra. AND, OR, NOT logikai f¨ uggv´enyek tanul´asa, XOR f¨ uggv´eny Sajnos ugyanez nem mondhat´o el az XOR f¨ uggv´enyre. Teh´at m´ar egy ilyen egyszer˝ u logikai f¨ uggv´enyt, mint az XOR sem tud megtanulni egy line´aris oszt´alyoz´o. A neur´alis h´al´ozatokn´al vissza fogunk t´erni az XOR k´erd´es´ehez. L´atni fogjuk, hogy a neur´alis h´al´ozatok, m´ar tetsz˝oleges logikai f¨ uggv´enyt k´epesek megtanulni. A perceptron ´es a Winnow m´odszereket fogjuk el˝osz¨or szem¨ ugyre venni. Ezek kiindulnak a kezdetben konstans ´ert´ekeket (perceptronn´al nulla, Winnown´al egy) tartalmaz´o s´ ulyvektorb´ol ´es a tan´ıt´opontok hat´as´ara a s´ ulyvektort addig m´odos´ıtj´ak, am´ıg minden pontot j´ol szepar´al a s´ ulyvektor. A m´odszerek el˝onye, hogy j´ol haszn´alhat´o online k¨ornyezetben is, ahol n´eha u ´j tan´ıt´opont ´erkezik, amely hat´as´ara m´odos´ıtanunk kell a s´ ulyvektort. Ismertetj¨ uk m´eg a Rocchio-elj´ar´ast, amely hab´ar nem a´ll´ıt el˝o szepar´al´o hipers´ıkot m´egis
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
124
line´aris szepar´al´ast hajt v´egre. V´eg¨ ul elm´elyed¨ unk a logisztikus regreszi´o rejtelmeiben.
6.4.1. Perceptron tanul´ asi szab´ aly Mind az n attrib´ utumnak val´osnak kell lennie. A hipers´ık dimenzi´oja n lesz, ugyanis fel kell venn¨ unk egy extra attrib´ utumot (az angol irodalomban ezt bias-nak h´ıvj´ak), amelynek ´ert´eke minden tan´ıt´o pontn´al egy lesz. A m´odszer le´ır´asa al´abb olvashat´o. Algorithm 7 Perceptron tanul´asi szab´aly Require: T : tan´ıt´opontok halmaza
w ~ = (0,0, . . . ,0) while van rosszul oszt´alyozott t ∈ T do for all minden ~t ∈ T do if ~t rosszul van oszt´alyozva then if ~t az els˝o oszt´alyba tartozik then w ~ =w ~ + ~t else w ~ =w ~ − ~t end if end if end for end while
Amennyiben az algoritmus sor´an rosszul oszt´alyozott ponttal tal´alkozunk, akkor u ´ gy m´odos´ıtjuk a hipers´ıkot, hogy a rosszul oszt´alyozott tan´ıt´o pont k¨ozelebb ker¨ ul hozz´a, s˝ot ak´ar ´at is ker¨ ulhet a s´ık m´asik oldal´ara. Ha egy rosszul oszt´alyozott tan´ıt´o pontP az els˝o oszt´ Palyba tartozik, akkor az attrib´ utum ´ert´ekeinek s´ ulyozott ¨osszege a m´odos´ıt´as sor´an wi ti -r˝ol (wi + + ti )ti -re v´altozik. A k¨ ul¨onbs´eg, n´egyzet¨osszeg l´ev´en, biztosan pozit´ıv. A hipers´ık a m´odos´ıt´as sor´an helyes ir´anyba mozgott. A hipers´ık m´odos´ıt´asai egym´asnak ellent´etesek lehetnek (olyan, mintha a tan´ıt´opontokt´ol jobbr´ol ´es balr´ol kapn´a a pofonokat), de szerencs´ere biztosak lehet¨ unk benne, hogy a sok m´odos´ıt´asnak el˝obb-ut´obb v´ege lesz: 6.1. lemma. Perceptron tanul´asi algoritmus v´eges l´epesen bel¨ ul le´all, amennyiben az oszt´ alyok line´arisan szepar´alhat´ok. H´atr´any, hogy ha a tan´ıt´o pontok nem szepar´alhat´oak line´arisan, akkor az algoritmus nem ´all le. A gyakorlatban ez´ert egy maxim´alis iter´aci´os sz´amot adnak meg, amelynek el´er´esekor sikertelen u ¨ zenettel le´all az algoritmus.
6.4.2. Winnow m´ odszer Winnow m´odszer´et akkor alkalmazhatjuk, ha minden attrib´ utum bin´aris. Az elt´er´es a perceptron tanul´ast´ol annyi csak, hogy a rossz oszt´alyoz´as eset´en a s´ ulyvektorhoz nem hozz´aadjuk a tan´ıt´opont vektor´at, hanem a s´ ulyvektor bizonyos elemeit megszorozzuk vagy eloszjuk α > 1
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
125
konstanssal, att´ol f¨ ugg˝oen, hogy melyik csoportba tartozik. Akkor sorol az oszt´alyoz´o egy ~x pontot az els˝o oszt´alyba, ha w1 x1 + w2 x2 + . . . + wn xn > Θ, ahol Θ el˝ore megadott konstans. A szorz´ast vagy oszt´ast azon elemekre v´egezz¨ uk, amelyre a tan´ıt´opont vektora egyest tartalmaz. Mivel α pozit´ıv ´es a kezdeti s´ ulyvektor minden eleme egy, ez´ert a s´ ulyvektor minden eleme mindig pozit´ıv marad. Vannak alkalmaz´asok, ahol negat´ıv s´ ulyokat is meg kell engedni. Ekkor a kiegyens´ ulyozott Winnow (balanced Winnow) m´odszert alkalmazhatjuk. K´et s´ ulyvektort tartunk karban (w ~ +, w ~ − ). Az oszt´alyoz´ashoz a w ~+ −w ~ − vektort haszn´aljuk. A rossz oszt´alyoz´as eset´en a w~+ -t ugyan´ ugy m´odos´ıtjuk, mint a Winnow alapverzi´oj´an´al, a w ~ − elemeit pedig pont ellenkez˝ok´eppen, amikor w + i -t szorozzuk α-val, akkor a w − i -t osztjuk vele. Weka 3.5.7
A Winnow, illetve a kiegyens´ ulyozott Winnow m´ odszert a wek´ aban a weka.classifiers.functions.Winnow oszt´ aly implement´ alja. A balanced param´eter igazra a ´ll´ıt´ as´ aval adhatjuk meg, ha kiegyens´ ulyozott Winnow m´ odszert szeretn´enk alkalmazni. A s´ ulyok kezdeti ´ert´ek´et a defaultWeight param´eterrel, az iter´ aci´ ok sz´ am´ at a numIterations param´eterrel szab´ alyozhatjuk. A Θ param´eter a wek´ aban a treshold param´eternek felel meg.
6.4.3. Rocchio-elj´ ar´ as A Rocchio-elj´ar´as klasszikus m´odszernek sz´am´ıt az inform´aci´o-visszakeres´es ter¨ ulet´en. Oszt´alyoz´asi feladatra el˝osz¨or a [61] munk´aban adapt´alt´ak, ´es az´ota is sok kutat´as foglalkozott vele (ld. [122]. Az elj´ar´as felt´etelezi, hogy minden attrib´ utum val´os t´ıpus´ u. Minden c kateg´ori´ahoz megalkotunk egy protot´ıpusvektor t, amit a Dc tanul´op´eld´ak ´atlagak´ent sz´am´ıtjuk ki (centroid), ´es ehhez hasonl´ıtjuk az ismeretlen dokumentum vektor´at. Az oszt´alyozand´o objektum ´es egy kateg´oria protot´ıpusvektor´anak t´avols´ag´at koszinusz- vagy m´as t´avols´agm´ert´ekkel sz´amolhatjuk. A m´odszernek kicsiny a sz´am´ıt´asig´enye, ez´ert a tanul´as nagyon gyors. H´atr´anya viszont, hogy rossz eredm´enyt ad, ha az egy oszt´alyba tartoz´o pontok nem jellemezhet˝ok egy vektorral (pl. am˝oba alap´ u csoportok, vagy k´et, egym´ast´ol j´ol elk¨ ul¨on¨ ul˝o, csoporthalmaz, amelynek elemei ugyanabba a kateg´ori´aba tartoznak). Ezt szeml´elteti a 6.7 ´abra. Az u ¨ res k¨or¨ok az els˝o, a feket´evel t¨olt¨ott k¨or¨ok a m´asodik oszt´alyba tartoznak. Az els˝ o oszt´aly protot´ıpusvektora t´avol esik az u ¨ res k¨or¨okt˝ol. Az x-szel jel¨olt oszt´alyozand´o pontot a Rocchio az els˝o oszt´alyba soroln´a a m´asodik helyett. A m´odszer hat´ekonys´aga l´enyegesen jav´ıthat´o, ha a protot´ıpusvektorok megalkot´as´an´al a negat´ıv tanul´oadatokat is figyelembe vessz¨ uk. Ekkor a X X t~j (6.3) t~j − γ · ~c = w · tj ∈C
tj 6∈C
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
126
X
6.7. ´abra. P´elda a Rocchio rossz oszt´alyoz´as´ara
k´eplettel sz´am´ıthat´o a c protot´ıpusvektora2 . Ha a m´asodik tagban nem az ¨osszes negat´ıv tanul´op´eld´at, hanem csak a majdnem pozit´ıv tanul´op´eld´ak ´atlag´at vessz¨ uk — ezek ugyanis azok, amelyekt˝ol a legnehezebb megk¨ ul¨onb¨oztetni a pozit´ıv tanul´oadatokat, akkor tov´abbi l´enyeges hat´ekonys´agi javul´as ´erhet˝o el [119, 141].
6.4.4. Line´ aris regresszi´ o Utazzunk vissza az id˝oben, jussunk el az alapokig, azon bel¨ ul a line´aris regresszi´oig. Tessz¨ uk ezt az´ert, mert a kifinomultabb, fejlettebb m´odszerek a line´aris regresszi´ob´ol indulnak, illetve az´ert, mert ha line´arisan szepar´alhat´o oszt´alyokkal van dolgunk, akkor a line´aris regresszi´ot felhaszn´alhatjuk a feladat megold´as´ahoz. A line´aris regresszi´o csak abban az esetben haszn´alhat´o, ha minden attrib´ utum val´os t´ıpus´ u. Felt´etelezz¨ uk, hogy az X magyar´az´o v´altoz´o n dimenzi´os, ´es a magyar´azand´o Y v´altoz´oval line´aris kapcsolatban ´all: Yb = w b0 +
n X j=1
Xj w bj
Aw b0 ´ert´eket biasnak h´ıvj´ak. Amennyiben felvesz¨ unk egy extra dimenzi´ot ´es minden pont ezen dimenzi´oja 1, akkor a vektoros fel´ır´ast haszn´alva tov´abb egyszer˝ us´ıthetj¨ uk a k´epletet : Yb = X T w, b
ahol a T fels˝oindex a m´atrix transzpon´al´asnak felel meg. A w b oszlopvektort kell meghat´aroznunk u ´ gy, hogy adott tan´ıt´opontok (xi , yi p´arok) mellett n´egyzetes hiba¨osszeg minim´alis legyen. |T| X i=1
2
(yi − xTi w)2.
A pontok centroidjak´ent sz´ amolt protot´ıpusvektort a w = 1, γ = 0 param´eterek mellett kapjuk meg.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
127
A fenti f¨ uggv´eny a w-ban n´egyzetes, ´ıgy minimuma mindig l´etezik ´es egy´ertelm˝ u. Amennyiben a tan´ıt´opontokat egy |T|×n-es X m´atrixszal ´abr´azoljuk (a tan´ıt´opontokhoz tartoz´o y ´ert´ekeket pedig az y oszlopvektorral), akkor a fenti f¨ uggv´enyt ´at´ırhatjuk m´as form´aba : (y − Xw)T (y − Xw) Ennek w szerinti deriv´altja : −2XT y + 2XT Xw Ha a deriv´altat egyenl˝ov´e tessz¨ uk null´aval, akkor egyszer˝ us´ıt´es ut´an a k¨ovetkez˝oh¨oz jutunk: XT (y − Xw) = 0 amelyb˝ol nemszingularit´ast felt´etelezve kapjuk, hogy w b = (XT X)−1 XT y.
Weka 3.5.7 A weka.classifiers.functions.SimpleLinearRegression oszt´ aly egyetlen attrib´ utum szerinti line´ aris regresszi´ ot hajt v´egre. Azt az attrib´ utumot v´ alasztja, amely a legkisebb n´egyzetes hib´ at adja. Csak sz´ am t´ıpus´ u attrib´ utumokkal tud dolgozni ´es hi´ anyz´ o ´ert´ekeket nem enged meg. A weka.classifiers.functions.LinearRegression oszt´ aly szint´en line´ aris regresszi´ ot hajt v´egre, de ez m´ ar t¨ obb attrib´ utumot is figyelembe tud venni. Lehet˝ os´eg van a regresszi´ oba felhaszn´ aland´ o attrib´ utumok automatikus kiv´ alaszt´ as´ ara is az attributeSelectionMethod param´eterrel. A n´egyzetes hib´ ak a ´tlaga (amely ugyanazt az eredm´enyt adja, mintha az o ¨sszeget minimaliz´ aln´ ank) helyett a medi´ ant pr´ ob´ alja minimaliz´ alni a weka.classifiers.functions.LeastMedSq oszt´ aly.
Line´aris regresszi´ora visszavezethet˝o sz´amos nemline´aris kapcsolat is. P´eld´aul az y = axb f¨ uggv´eny logaritmusa log x ´es log y-ra n´ezve line´aris kapcsolatot ad. Hasonl´oan egyszer˝ u transz1 form´aci´oval kezelhet˝o az y = a+bx f¨ uggv´eny is.
6.4.5. Logisztikus regresszi´ o Ha a line´aris regresszi´ot oszt´alyoz´asra akarjuk haszn´alni (de a magyar´az´o v´altoz´ok tov´abbra is val´os sz´amok), akkor az egyes oszt´alyoknak egy val´os sz´amot kell megfeleltetn¨ unk. Bin´aris oszt´alyoz´asn´al a null´at ´es az egyet szok´as haszn´alni. Ezzel azonban nem oldottuk meg a probl´em´at. A line´aris regresszi´o egy tan´ıt´opont oszt´alyoz´asn´al egy sz´amot fog el˝o´all´ıtani ´es a hib´at a tan´ıt´opont ett˝ol a sz´amt´ol vett k¨ ul¨onbs´eg´evel defini´alja. Teh´at egyes t´ıpus´ u tan´ıt´opont eset´en ugyanakkora lesz a hiba 0 ´es 2 kimenetek eset´en. Ez nem t´ ul j´o. Egy x oszlopvektorral le´ırt, pont oszt´aly´anak j´osl´as´an´al meg kell hat´aroznunk az xT w ´ert´eket. Amennyiben ez nagyobb, mint 0.5, akkor az 1-eshez tartoz´o oszt´aly a j´osl´as, ellenkez˝o esetben pedig a null´ashoz tartoz´o oszt´aly. Az egyszer˝ us´eg kedv´e´ert jel¨olj¨ uk az xT w − 0.5
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
128
´ert´eket yb-nal. S˝ot, a k¨onnyebb jel¨ol´es ´erdek´eben a xT w szorzatot jel¨olj¨ uk yb-nal ´es eml´ekezz¨ unk r´a, hogy a 0.5-¨ot belegy´ urtuk a w0 torz´ıt´as ´ert´ekbe. Az a f¨ uggv´eny, amely null´an´al kisebb ´ert´ekekre 0-´at ad, nagyobbakra pedig 1-et el´egg´e hasonl´ıt az el˝ojel (szignum) f¨ uggv´enyre. Ha megengedj¨ uk, hogy ´ertelmetlen eredm´enyt kapjunk yb = 0 eset´eben – amelyet ´ertelmezhet¨ unk u ´ gy, hogy az oszt´alyoz´o nem k´epes d¨onteni –, akkor a j´osl´ast megkaphatjuk az 1 + sgn(b y) (6.4) 2 kisz´am´ıt´as´aval. Ha ´ıgy defini´aljuk a kimenetet, akkor a hiba defin´ıci´oja is megv´altozott ´es a line´aris regresszi´o nem haszn´alhat´o a w vektor meghat´aroz´as´ahoz. Egyenl˝ore most maradjunk ann´al, hogy egy m´agus adott nek¨ unk egy j´ol szepar´al´o hipers´ıkot. Tudunk-e ´arnyaltabb kimenetet adni, mint puszt´an egy oszt´aly (nulla vagy egy) ? Min´el k¨ozelebb vagyunk a szepar´al´o hipers´ıkhoz, ann´al bizonytalanabbak vagyunk a d¨ont´est illet˝oen. A hipers´ıkon l´ev˝o pontokra m´ar egy´altal´an nem tudjuk mit tegy¨ unk. Term´eszetes gondolat h´at, hogy az aktu´alis oszt´aly j´osl´asa helyett az oszt´aly el˝ofordul´as´anak val´osz´ın˝ us´eg´et j´osoljuk adott bemenet eset´en. Ehhez csak annyit kell tenn¨ unk, hogy a 6.4 f¨ uggv´enyt le” sim´ıtjuk”, azaz egy olyan f (b y ) f¨ uggv´ennyel helyettes´ıtj¨ uk, amely I. ´ert´eke 1-hez k¨ozel´ıt, ha yb tart v´egtelenhez,
II. ´ert´eke 0-hoz k¨ozel´ıt, ha yb tart m´ınusz v´egtelenhez,
III. f (0) = 0.5,
IV. szimmetrikus null´ara n´ezve, teh´at f (b y ) + f (−b y ) = 1 = 2f (0), V. sima”, azaz f (b y ) differenci´alhat´o minden pontban ´es ” VI. monoton n¨ov˝o (vagy ne legyen lok´alis sz´els˝o ´ert´ek). Az ilyen f¨ uggv´enyeket nevezz¨ uk szigmoid f¨ uggv´enyeknek. Sok f¨ uggv´eny megfelel a fenti elv´ar´asoknak. K¨onny˝ u bel´atni, hogy az 1/(1+a−by ) f¨ uggv´enyek a > 1 eset´eben az elv´ar´asok tekintet´eben renden vannak. Amennyiben a = e, akkor az u ´ n. logisztikus f¨ uggv´enyt kapjuk 1 P(Y = 1|X) = , (6.5) 1 + e−by x ) ) logit f¨ uggv´enynek h´ıvj´ak. A logisztikus f¨ uggv´eny A logisztikus f¨ uggv´eny inverz´et (ln( 1−x sz´eps´ege, hogy a deriv´altja f (b y)(1 − f (b y )), amely a mi eset¨ unkben P(Y = 1|X)P(Y = 0|X)-el egyezik meg. M´as f¨ uggv´enyek is esz¨ unkbe juthatnak. Val´osz´ın˝ us´egi v´altoz´ok eloszl´asf¨ uggv´enye is null´ab´ol indul m´ınusz v´egtelenben ´es egyhez tart a v´egtelenben. A harmadik ´es negyedik felt´etel (f (0) = = 0.5, f (b y )+f (−b y )) megk´ıv´anja, hogy a s˝ ur˝ us´egf¨ uggv´eny szimmetrikus legyen, azaz az f 0 (x) = 0 = f (−x) teljes¨ ulj¨on minden x val´os sz´amra. A nulla v´arhat´o ´ert´ek˝ u norm´alis eloszl´as eloszl´asf¨ uggv´enye megfelel a felt´eteleknek. Az el˝ojelf¨ uggv´eny eltolt v´altozat´at, a 1/(1 + a−by ) t´ıpus´ u f¨ uggv´enyeket k¨ ul¨onb¨oz¨o a-kra ´es a norm´alis eloszl´asf¨ uggv´enyt a 6.8 ´abra mutatja.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
129
1.5
(1+sgn(x))/2 1/(1+exp(-x)) 1/(1+20**(-x)) 1/(1+1.5**(-x)) normalis eloszlas
1
0.5
0
-0.5 -10
-5
0 x
5
10
6.8. ´abra. az eltolt el˝ojelf¨ uggv´eny ´es n´eh´any sim´ıt´asa” ” Ezzel el is jutottunk a logisztikus regresszi´o feladat´ahoz. Szemben a line´aris regresszi´oval, P(Y =1|X) line´aris kapcsolat nem X ´es Y k¨oz¨ott van, hanem ln( 1−P(Y ) ´es xT w k¨oz¨ott, teh´at =1|X) P(Y = 1|X) =
1 , 1 + e−X T w
(6.6) T
e−X w . 1 + e−X T w Meg kell hat´arozni azt a w b ´ert´eket, amelyik a legkisebb hib´at adja. P(Y = 0|X) = 1 − P(Y = 1|X) =
input x0 x1
.. .
súlyok w0 w1 wn
(6.7)
konstans
c
Σ
f
output
nemlinearitás szumma
xn
6.9. ´abra. Logisztikus regresszi´o Sajnos a w b ´ert´ek meghat´aroz´as´ara nincs olyan sz´ep z´art k´eplet, mint ahogy a line´aris regresszi´o eset´eben volt. Iterat´ıv, k¨ozel´ıt˝o m´odszert haszn´alhatunk, amely gradiensk´epz´esen alapul. A hiba minimaliz´al´asa helyett a felt´eteles val´osz´ın˝ us´egeket maximaliz´aljuk: w b ← argmaxw
|T| X i=1
ln P(y i|xi , w).
A fenti k´epletben a regresszi´os f¨ uggv´eny a szok´asos P(Y i |X i) helyett P(Y i |X i , w), hiszen w most nem mint konstans j´atszik, hanem mint v´altoz´o.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
130
Felhaszn´alva, hogy az y csak nulla vagy egy ´ert´eket vehet fel, a maxim´aland´o f¨ uggv´enyt ´at´ırhatjuk: X l(w) = y i ln P(y i = 1|xi , w) + (1 − y i) ln P(y i = 0|xi , w). i
Kiindulunk valamilyen szabadon megv´alasztott w (0) vektorb´ol, majd a k-adik l´ep´esben a w (`) vektor λ-szoros´at, ´ıgy megkapjuk a w (`+1) vektort. A λ egy el˝ore vektorhoz hozz´aadjuk a δl(w) δw megadott konstans, amelynek ´ert´ek´et 0.01-re szokt´ak a´ll´ıtani. A δl(w) vektor a δl(w) parci´alis δw δwj deriv´altakb´ol ´all: |T| δl(w) X i i b i xj y − P(y = 1|xi , w) , = δwj i=1
b i = 1|xi , w) a logisztikus regresszi´o ´altal adott j´osl´as. Az y i − P(y b i = 1|xi , w) tag a hib´at ahol P(y ragadja meg, amely meg van szorozva egy nagys´ag jelleg˝ u t´enyez˝ovel. Az xij ´ert´ek adja meg a j´osl´asban a wj szerep´enek nagys´ag´at (gondoljunk itt a wj xji s´ ulyozott ¨osszegre). Az l(w) konk´av ez´ert a gradiens m´odszer a glob´alis maximumhoz fog konverg´alni. A gyakorlat azt mutatja, hogy a konvergencia igen gyors, a wj ´ert´ekek n´eh´any iter´aci´o ut´an m´ar alig-alig v´altoznak. Weka
3.5.7
Logisztikus weka.classifiers.functions.Logistic weka.classifiers.functions.SimpleLogistic lement´ alj´ ak.
regresszi´ ot ´es f¨ uggv´enyek
a a imp-
Felmer¨ ulhet a k´erd´es, hogy minek vacakolunk itt mi a logisztikus regresszi´oval, amikor line´arisan szepar´alhat´o oszt´alyokra van m´ar egyszer˝ u megold´asunk (´ertsd perceptron tan´ıt´asi szab´aly). S˝ot a logisztikus regresszi´oban haszn´alt gradiens m´odszer lass´ u elj´ar´as sok tan´ıt´opont eset´en. A helyzet az, hogy a logisztikus regresszi´o zajos k¨ornyezetben is j´ol m˝ uk¨odik, teh´at amikor egy-egy pont ´atker¨ ul a rossz oldalra. Ilyenkor a Perceptron tanul´asi szab´aly ´es a Winnow algoritmus nem ´all le (csak ha nyomunk rajta egy STOP gombot). Tov´abbi el˝onye a logisztikus regresszi´onak, hogy ha az oszt´alyok line´arisan szepar´alhat´oak, akkor nem csak egy el´eg j´o” ” hipers´ıkot tal´al, hanem megtal´alja a legjobbat (a legkisebb n´egyzetes hib´at eredm´enyez˝ot). Gondoljuk meg, ha csak k´et tan´ıt´opont adott a s´ıkon, akkor a k´et pontot ¨osszek¨ot˝o szakasz felez˝o mer˝olegese lesz a szepar´al´o egyenes. Logisztikus regresszi´ o´ altal´ anos oszt´ alyoz´ asn´ al Az eddigiekben feltett¨ uk, hogy bin´aris oszt´alyoz´assal van dolgunk. Mit tudunk tenni akkor, ha az magyar´azand´o attrib´ utum k > 2 ´ert´eket vehet fel? A t¨obbv´alasz´ u logisztikus regresszi´o (multiresponse/multinomial logisztic regression) a fent eml´ıtett logisztikus regresszi´ot alkalmazza k-szor. Veszi az els˝o oszt´alyt ´es a t¨obbit egy kalap al´a vonva v´egrehajt egy logisztikus regresszi´ot. Ez ad egy val´osz´ın˝ us´eget. Ezut´an a m´asodik ´ oszt´alyt emeli ki ´es az ¨osszes t¨obbi oszt´alyt vonja egy kalap al´a. Igy az ¨osszes oszt´ayhoz meg tud hat´arozni egy val´osz´ın˝ us´eget. Mintha csak egy tags´agi f¨ uggv´enyt pr´ob´alna meghat´arozni.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
131
´ elem oszt´alyoz´as´an´al az oszt´alyz´o arra az oszt´alyra teszi le a voks´at, amelyik a legnagyobb Uj val´osz´ın˝ us´eget kapta. Ha csak a j´osolt oszt´aly ´erdekel minket ´es a kapott val´osz´ın˝ us´egre nem vagyunk k´ıv´ancsiak, akkor nem sz¨ uks´eges a logisztikus f¨ uggv´eny alkalmaz´asa. Mivel a logisztikus f¨ uggv´eny monoton n¨ov˝o, ez´ert meg˝orzi a sorrendet. A kapott val´osz´ın˝ us´egeknek az ¨osszege nem felt´etlen¨ ul ad egyet. Ez´ert a fenti m´odszer helyett csak k − 1 darab w vektort ´all´ıtsunk el˝o u ´ gy, hogy minden ` = 1, . . . , k − 1-re `
T
`
ew0 +x w P(Y = `|X) = , P xT w ` 1 + `k−1 0 =1 e
´es
1 Pk−1
. 1 + `0 =1 exT w` A gradiens m´odszern´el alkalmazott vektor, amely λ-szoros´at hozz´a kell adni az aktu´alis w vektorhoz a k¨ovetkez˝o |T| X b i = y` |xi , w) , xij δ(y i = `) − P(y P(Y = k|X) =
i=1
i
ahol δ(y = `) = 1, ha az i-edik tan´ıt´opont oszt´alya `, k¨ ul¨onben 0. A logisztikus regresszi´o ´es a Bayes oszt´alyoz´o kapcsolat´ar´ol a 6.8 r´eszben sz´olunk.
6.5. Mesters´ eges neur´ alis h´ al´ ozatok A logisztikus regresszi´o modellj´et egyr´eteg˝ u mesters´eges neur´alis h´al´ozatnak is nevezik, sejthetj¨ uk, hogy ez az alapja a komolyabb” mesters´eges neur´alis h´al´ozat´oknak. ” Egy darab logisztikus regresszi´o elemmel nem sok mindent tudunk kezdeni. Mivel line´aris oszt´alyoz´o, ez´ert meg tudja tanulni az ´es, a vagy tov´abb´a a nem logikai f¨ uggv´enyeket, de nem tudja megtanulni az xor f¨ uggv´enyt. H´arom logisztikus regresszi´o felhaszn´al´as´aval azonban az xor -t is ki tudjuk fejezni. Id´ezz¨ uk fel, hogy az ´es f¨ uggv´enyt a x1 +x2 −1.5, a vagy-ot a x1 +x2 − −0.5 egyenes, a nem-et x2 −0.5 egyenesek szepar´alj´ak (l´asd a 6.6 ´abra). Az xor f¨ uggv´eny pedig fel´ırhat´o, mint (x1 ∨ x2 ) ∧ (x1 ∧ x2 ). A 6.10 ´abra ezt a konstrukci´ot mutatja. A fels˝o szignum sigm 1
1
sigm 1
-1 1
x1
-1.5
sigm -1 x2
x0
-0.5 1.5 x0
6.10. ´abra. xor f¨ uggv´eny logisztikus regresszi´ok ¨osszekapcsol´as´aval f¨ uggv´enyhez tartoz´o logisztikus regresszi´o az ´es-t, a bal als´o a vagy-ot a jobb als´o pedig a nem ´es-t adja vissza.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
132
Az ´ep´ıt˝oelemeket ismerve tetsz˝oleges logikai formul´at kifejezhet¨ unk logisztikus regresszi´ok ¨osszekapcsol´as´aval, ez´ert a logisztikus regresszi´ok kapcsolata univerz´alis f¨ uggv´enyapproxim´atornak tekinthet˝o. Ebb˝ol a t´enyb˝ol sz´armazik a neur´alis h´al´ozatok elm´elete. A mesters´eges neuronh´al´ozatok – n´emileg az agym˝ uk¨od´est ut´anz´o biol´ogiai anal´ogi´ara is t´amaszkodva – a logisztikus regresszi´ok kapcsolata. A legn´epszer˝ ubb modell a t¨obbr´eteg˝ u el˝orecsatolt neuronh´al´ozat (l´asd 6.11. ´abra). Az els˝o r´eteg csom´opontjaiban (neuronok) az input (magyar´az´o v´altoz´ok, 1-3. neuronok) helyezkedik el, az outputot (magyar´azott v´altoz´okat) a legutols´o r´eteg kimenete (6. neuron´e) adja. A k¨ozbens˝o r´etegeket rejtett (hidden) r´etegeknek (4-5. neuronok) nevezz¨ uk. Minden r´eteg minden neuronj´anak kimenete a k¨ovetkez˝o r´eteg ¨osszes neuronj´anak bemenet´evel kapcsolatban ´all. A kapcsolat szoross´ag´at wij s´ ulyok jellemzik. (A 6.11. ´abr´aban 4-6. neuronok hely´ebe egy 6.9. ´abra szerinti logisztikus regresszi´ot kell k´epzelj¨ unk.) x1
1
w14 4
x2
46
6
2 5
x3
w
3
w
56
w35
6.11. ´abra. T¨obbr´eteg˝ u el˝orecsatolt neur´alis h´al´ozat Mind a logisztikus regresszi´o, mind a neur´alis h´al´ozatok param´etereikben nem line´aris f¨ uggv´eny-approxim´atornak tekinthet˝ok. A tapasztalatok ´es az elm´eleti eredm´enyek (l´asd.: [46]) szerint is ugyanannyi param´etert (s´ ulyt) haszn´alva nemline´arisan param´eterezett f¨ uggv´enyekkel gyakran jobb k¨ozel´ıt´est ´erhet¨ unk el, mint line´arisan param´eterezett t´arsaikkal. Az alkalmas s´ ulyokat nemline´aris optimaliz´aci´os technik´aval, gradiens m´odszerrel kereshetj¨ uk meg szinte ugyan´ ugy, mint a logisztikus regresszi´on´al tett¨ uk. A gradiens elj´ar´asok alapelve, hogy egy f¨ uggv´eny maximum / minimum hely´et u ´ gy keresik meg, hogy egy kezd˝opontb´ol kiindulva a gradiens (deriv´alt) ir´any´aban / a gradienssel ellent´etes ir´anyban mozdulunk el, majd az elj´ar´ast ism´etlik. Az el˝orecsatolt topol´ogi´anak k¨osz¨onhet˝oen az eg´esz neuronh´al´o hibaf¨ uggv´eny´enek w s´ ulyok szerinti gradiens´et k¨onnyen kisz´am´ıthatjuk. A s´ ulyok megtal´al´asa a tan´ıt´o p´eld´ak alapj´an az u ´ n. backpropagation (hiba visszaterjed´es) elj´ar´as szerint zajlik: I. Az inputokb´ol el˝orehaladva kisz´am´ıtjuk az outputok eredm´eny´et. II. Az utols´o output r´etegb˝ol r´etegr˝ol r´etegre visszafel´e haladva a megfelel˝o gradiens szab´aly szerint m´odos´ıtjuk wij ´ert´ekeket. Mivel a neuronh´al´o ´altal reprezent´alt f¨ uggv´enynek lehetnek lok´alis maximumai ez´ert a m´odszer nem biztos, hogy a glob´alis optimumot adja. A backpropagation elj´ar´ast ez´ert t¨obbsz¨or szok´as futtatni k¨ ul¨onb¨oz˝o kezdeti s´ ulyokkal.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
133
A neuronh´al´ok h´atr´anyak´ent eml´ıthet˝o, hogy a s´ ulyok rendszere k¨ozvetlen¨ ul nem ´ertelmezhet˝o emberek sz´am´ara. Nem tudjuk egyszer˝ uen megindokolni, hogy mi alapj´an hozta meg a neuronh´al´o a d¨ont´est. Egy h´al´ozat tulajdonk´eppen egy fekete doboznak tekinthet˝o a felhaszn´al´o szemsz¨og´eb˝ol. Sok ter¨ uleten nem elfogadhat´o, ha egy m´odszer nem ad magyar´azatot, ez´ert a neuronh´al´ok alkalmaz´asi k¨ore er˝osen korl´atozott. Ugyanakkor l´eteznek olyan elj´ar´asok, amelyek a neuronh´al´ok s´ ulyaib´ol emberek sz´am´ara ´erthet˝o, a d¨ont´eseket indokl´o szab´alyokat nyernek ki [55]. Egy v´arosi legenda szerint a 80-as ´evekben az amerikai hadsereg szolg´alatba akarta ´all´ıtani a mesters´eges intelligenci´at ´es a sz´am´ıt´astudom´anyt. C´eljuk volt minden tankra egy kamer´at tenni, a kamera k´ep´et egy sz´am´ıt´og´epnek tov´abb´ıtani, amely automatikusan felismeri, ha ellens´eges tank b´ ujik meg a k¨ozeli erd˝oben. A kutat´ok neur´alis h´al´ozat alap´ u megk¨ozel´ıt´es mellett d¨ont¨ottek. A tan´ıt´ashoz el˝o´all´ıtottak 100 darab olyan k´epet amelyen a f´ak m¨og¨ott tank b´ ujt meg ´es 100 olyat, amelyen tank nem volt l´athat´o. N´eh´any iter´aci´o ut´an a h´al´ozat t¨ok´eletesen oszt´alyozta a k´epeket. A kutat´ok ´es a Pentagon munkat´arsai nagyon meg voltak el´egedve az eredm´enyekkel, ugyanakkor m´eg maguk sem voltak biztosak abban, hogy a neur´alis h´al´ozat val´oban a tank koncepci´ot tanulta-e meg. F¨ uggetlen szak´ert˝okt˝ol k´ert verifik´aci´o sor´an azonban a h´al´ o rosszul szerepelt. A pontoss´aga nem haladta meg egy teljesen v´eletlenszer˝ uen tippel˝o oszt´alyoz´o pontoss´ag´at. Valaki azt´an r´aj¨ott a rossz szerepl´es ok´ara. A tan´ıt´o k´epeken az ¨osszes tankos k´epen borult volt az id˝o, a tank n´elk¨ uli k´epeken pedig s¨ ut¨ott a nap. Ezt tanulta meg a h´al´o. Nem lehet tudni, hogy ebb˝ol a v´arosi legend´ab´ol mennyi igaz, az azonban t´eny, hogy a neur´alis h´al´o nem ad magyar´azatot az oszt´alyoz´as ok´ara. Ez komoly h´atr´any p´eld´aul a p´enz¨ ugyi vil´agban. A befektet˝ok vonakodnak fekete doboz rendszerekre b´ızni a p´enz¨ uket, akkor is, ha ezek nagyon j´o eredm´enyeket adnak a tesztek sor´an. Weka 3.5.7 A backpropagation tan´ıt´o m´odszert haszn´al´o neur´alis h´ al´ ozatot a weka.classifiers.functions.MultilayerPerceptron oszt´ aly implement´ alja. A h´ al´ ozatot fel´ep´ıthetj¨ uk k´ezzel vagy automatikusan. A neuronokban haszn´ alt nemlinearit´ as a szigmoid f¨ uggv´eny. Az oszt´ alynak sz´ amos param´etere van. A GUI param´eterrel bekapcsolhatunk egy grafikus interf´eszt, melyen kereszt¨ ul l´ athatjuk, illetve m´ odos´ıthatjuk a neur´ alis h´ al´ ozatot. Az autoBuild param´eter enged´elyez´es´evel a h´ al´ ozat automatikusan b˝ ov¨ ul tov´ abbi rejtett r´etegekkel. A hiddenLayers param´eter adja meg a neur´ alis h´ al´ ozat rejtett r´etegeinek a sz´ am´ at. Az attrib´ utumok el˝ ofeldolgoz´ as´ ara ad lehet˝ os´eget a nominalToBinaryFilter param´eter. A kateg´ oria t´ıpus´ u attrib´ utumokat bin´ aris t´ıpus´ uv´ a alak´ıtja (l´ asd 3.1 r´esz). Az attrib´ utumok normaliz´ al´ as´ at a normalizeAttributes param´eterrel tudjuk enged´elyezni. A normalizeNumericClass param´eter az oszt´ alyattrib´ utumot normaliz´ alhatjuk, amennyiben az sz´ am t´ıpus´ u. A validationSetSize param´eter a teszthalmaz sz´ azal´ekos m´eret´et adja meg. A tesztel´es le´ all´ as´ at szab´ alyozza a validationThreshold. Ez az ´ert´ek adja meg, hogy egym´ as ut´ an h´ anyszor romolhat a tesztel´esi hiba, miel˝ ott le´ allna a tan´ıt´ as.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
134
6.6. D¨ ont´ esi szab´ alyok 6.2. defin´ıci´ o. Az A attrib´ utumhalmaz felett ´ertelmezett d¨ont´esi szab´aly alatt olyan R:φ(A)→ Y = y logika implik´aci´ot ´ert¨ unk, amelyek felt´etelr´esz´eben attrib´ utumokra vonatkoz´o felt´etelek logikai kapcsolatai ´allnak, a k¨ovetkezm´enyr´eszben pedig az oszt´alyattrib´ utumra vonatkoz´o ´ıt´elet. P´eld´aul a H} OM´ ERS´ EKLET = magas AND SZ´ EL = nincs → ID} O J´ AT´ EKRA alkalmas egy d¨ont´esi szab´aly, amely azt fejezi ki, hogy ha magas a h˝om´ers´eklet ´es nincs sz´el, akkor az id˝o alkalmas k¨ ult´eri j´at´ekra. A val´osz´ın˝ us´egi d¨ont´esi szab´alyokban a k¨ovetkezm´enyr´eszben az oszt´alyattrib´ utumra vonatkoz´o val´osz´ın˝ us´egi eloszl´as szerepel. Ilyen szab´alyra p´elda az aut´obiztos´ıt´as ter¨ ulet´er˝ol, hogy nem = f´ erfi AND gyerek sz´ ama = 0 AND aut´ o teljes´ ıtm´ eny > 150LE → kock´ azatos = (80%, 20%). A felt´etelr´eszben az ´ es, vagy ´es a neg´aci´o tetsz˝oleges kombin´aci´oj´at felhaszn´alhatjuk . . . elvileg. A gyakorlatban ugyanis csak olyan szab´alyokkal foglalkoznak, amelyben egy alapfelt´etel neg´aci´oja ´es a felt´etelek ´ es kapcsolatai szerepelnek. Ez az´ert nem olyan nagy megszor´ıt´as. Ha az azonos k¨ovetkezm´enyr´esszel rendelkez˝o szab´alyokb´ol egy szab´alyt k´esz´ıt¨ unk u ´ gy, hogy a felt´etelek vagy kapcsolat´at k´epezz¨ uk, akkor elmondhatjuk, hogy a szab´alyok felt´etelr´esz´eben diszjunkt´ıv norm´al formul´ak ´allnak. Minden ´ıt´eletlogik´aban megadott formula ´at´ırhat´o diszjunkt´ıv norm´al formul´av´a a dupla neg´aci´o elimin´al´as´aval, a de Morgan ´es a disztributivit´asi szab´aly alkalmaz´as´aval. 6.3. defin´ıci´ o. Az R : φ(A) → Y = y szab´alyra illeszkedik az t objektum, ha a felt´etelr´esz attrib´ utumv´altoz´oiba az t megfelel˝o ´ert´ekeit helyettes´ıtj¨ uk, akkor igaz ´ert´eket kapunk. Amennyiben a szab´aly k¨ovetkezm´enyr´esze is igazra ´ert´ekel˝odik az objektumon, akkor a szab´aly fenn´all vagy igaz az objektumon. 6.4. defin´ıci´ o. Az R : φ(A) → Y = y szab´aly lefedi az T objektumhalmazt, ha minden objektum illeszkedik a szab´alyra. Adott T tan´ıt´o halmaz eset´en az R ´altal fedett tan´ıt´opontok halmaz´ at coverT(R)-rel jel¨olj¨ uk. Helyesen fedi az T halmazt az R : φ(A) → Y = y szab´aly, ha R fedi T -t ´es a halmaz ¨osszes objektuma az y oszt´alyba tartozik. Ellenkez˝o esetben helytelen fed´esr˝ol vagy egyszer˝ ubben rossz oszt´alyoz´asr´ol besz´el¨ unk. A coverT-ben az R ´altal helyesen fedett pontok halmaz´at cover + T(R)rel jel¨olj¨ uk (a helytelen¨ ul fedettek´et pedig cover − T(R)-rel). 6.5. defin´ıci´ o. Az R szab´aly relat´ıv fed´esi hib´aja megegyezik a rosszul oszt´alyozott pontok sz´am´anak a fedett tan´ıt´opontokhoz vett ar´any´aval, teh´at ErT(R) =
cover − T(R) . coverT(R)
D¨ ont´ esi szab´ alyok kifejez˝ oereje Kifejez˝o erej¨ uk szempontj´ab´ol a d¨ont´esi szab´alyok k¨ovetkez˝o t´ıpusair´ol besz´el¨ unk:
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
135
´ıt´ etelkalkulus-alap´ u d¨ ont´ esi szab´ aly A felt´etelr´eszben predik´atumok logikai kapcsolata ´all (´ıt´eletkalkulus egy formul´aja, amelyben nem szerepelnek a → ´es ←→ m˝ uveleti jelek). Minden predik´atum egy attrib´ utumra vonatkozik. Amennyiben az attrib´ utum kateg´oria t´ıpus´ u, akkor A = a vagy A ∈ A alak´ u a felt´etel, ahol a egy konstans, A pedig az A ´ert´ekk´eszlet´enek egy r´eszhalmaza. Sorrend vagy intervallum t´ıpus´ u attrib´ utum eset´eben emellett A ≤ a ´es a0 ≤ A ≤ a00 szab´alyokat is megenged¨ unk. Az algoritmusok t¨obbs´ege csak olyan egyszer˝ u formul´akat tud el˝o´all´ıtani, amelyekben a predik´atumok ´es kapcsolatai ´allnak, p´eld´aul MAGASS´ AG ≤170 AND HAJSZ´ IN = barna AND ´ SZEMSZIN ∈ {k´ ek, z¨ old}.
A csak ´ıt´eletkalkulus-alap´ u szab´alyokat tartalmaz´o d¨ont´esi szab´alyokat/f´akat univariate (egyv´altoz´os) d¨ont´esi szab´alyoknak/f´aknak h´ıvjuk. rel´ aci´ o-alap´ u d¨ ont´ esi szab´ aly Ha halmazelm´eleti szemmel n´ezz¨ uk a predik´atumokat, akkor az attrib´ utumokra vonatkoz´o predik´atumot nevezhet¨ unk bin´aris rel´aci´onak, amelynek egyik tagja egy v´altoz´o, m´asik tagja egy konstans. A rel´aci´o-alap´ u d¨ont´esi szab´alyokban a m´asodik tag attrib´ utumv´altoz´o is lehet. Itt p´eld´aul a hajsz´ ın = szemsz´ ın vagy a sz´ eless´ eg < magass´ ag megengedett felt´etelek. A rel´aci´o-alap´ u szab´alyokat tartalmaz´o d¨ont´esi szab´alyokat/f´akat multivariate (t¨obbv´altoz´os) d¨ont´esi szab´alyoknak/f´aknak h´ıvjuk. A rel´aci´o alap´ u d¨ont´esi szab´alyoknak nem nagyobb a kifejez˝o erej¨ uk, amennyiben az attrib´ utumok ´ert´ek´eszlete v´eges. Ekkor ugyanis egy rel´aci´os szab´aly helyettes´ıthet˝o sok egyv´altoz´os szab´alyp´arral. A fenti p´elda megfelel˝oje a hajsz´ ın = barna AND szemsz´ ın = barna, hajsz´ ın = k´ ek AND szemsz´ ın = k´ ek, hajsz´ ın = m´ alyva AND szemsz´ ın = m´ alyva szab´alyokkal. indukt´ıv logikai programoz´ as P´eldak´ent tegy¨ uk fel, hogy ´ep´ıt˝oelemek egy kupac´at toronynak h´ıvjuk, amelynek legfels˝o elem´ere a cs´ ucs, a marad´ek elemekre pedig a marad´ ek attrib´ utummal hivatkozunk. A sz´ eless´ eg < magass´ ag → ALAK = ´ all´ o szab´alyt u ´ gy is ´ırhatjuk, hogy sz´ eless´ eg(´ ep´ ıt} oelem) < magass´ ag(´ ep´ ıt} oelem) → ´ all´ o(´ ep´ ıt} oelem). S˝ot a szab´alyt tov´abb is bonyol´ıthatjuk: sz´ eless´ eg(torony.cs´ ucs) < magass´ ag(torony.cs´ ucs) AND ´ all´ o(torony.marad´ ek) → ´ all´ o(torony). Ez egy rekurz´ıv kifejez´es, amely szerint egy torony akkor ´all´o, ha a legfels˝o elem magass´aga nagyobb a sz´eless´eg´en´el ´es a marad´ek elem ´all´o. A rekurzi´ot le kell z´arni: torony = ¨ ures → ´ all´ o(torony). A rekurz´ıv szab´alyoknak nagyobb a kifejez˝oerej¨ uk, mint a rel´aci´o-alap´ u d¨ont´esi szab´alyhalmaznak, hiszen kifejetve tetsz˝oleges sz´am´ u predik´atumot tartalmazhatnak. A rekurz´ıv szab´alyokat is tartalmaz´o szab´alyhalmazt logikai programnak nevezz¨ uk, ezekkel tov´abbiakban nem foglalkozunk.
6.6.1. Szab´ alyhalmazok ´ es szab´ alysorozatok Besz´el¨ unk szab´alyhalmazr´ol ´es szab´alyok sorozat´ar´ol. Halmazok eset´en a szab´alyok f¨ uggetlenek egym´ast´ol. A szab´alyhalmaz egy´ertelm˝ u, ha tetsz˝oleges objektum csak egy szab´alyra illeszkedik. Sorozat eset´eben egy u ´ j objektum oszt´alyattrib´ utum´anak j´osl´as´an´al egyes´evel sorra vessz¨ uk a szab´alyokat eg´eszen addig, am´ıg olyat tal´alunk, amelyre illeszkedik az objektum. Ennek a szab´alynak a k¨ovetkezm´enyr´esze adja meg az oszt´alyattrib´ utum ´ert´ek´et.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
136
Egy szab´alyrendszer (sorozat vagy halmaz) teljes, ha tetsz˝oleges objektum illeszthet˝o egy szab´alyra. Ez k¨oznyelven azt jelenti, hogy az oszt´alyoz´o minden esetben (tetsz˝oleges oszt´alyozand´o elemre) d¨ont´est hoz. Sorozatok eset´eben a teljess´eget ´altal´aban az utols´o, u ´ n. alap´ertelmezett szab´aly biztos´ıtja, amelynek felt´etelr´esze u ¨ res, teh´at minden objektum illeszkedik r´a. Szab´alysorozat eset´eben nem kell besz´eln¨ unk egy´ertelm˝ us´egr˝ol, hiszen t¨obb szab´alyra val´o illeszKaliforniai kutat´ok szerint a ked´es eset´en egy´ertelm˝ u a legels˝o illeszked˝o. A szab´alyok ”marihu´ana egyik ¨osszetev˝ oje k¨oz¨otti sorrend (vagy m´ask´epp priorit´as) biztos´ıt´as´aval blokkolni k´epes a mellr´ ak ker¨ ulj¨ uk el azt a probl´em´at, hogy milyen d¨ont´est hozzunk, sz´etterjed´es´et a szervezetha egy objektumra t¨obb, k¨ ul¨onb¨oz˝o k¨ovetkezm´enyr´esszel ben.” Forr´as: http://velvet. rendelkez˝o szab´aly illeszkedik. hu/blogok/gumicukor/tags/kutat\ Sajnos a sorrend defini´al´as´anak ´ara van. Szab´alyhalmaz %C3\%A1s eset´en ugyanis minden szab´aly a tud´asunk egy t¨ored´ek´et r¨ogz´ıti. Sorozatok eset´eben azonban egy szab´alyt nem emelhet¨ unk ki a k¨ornyezet´eb˝ol; egy R szab´aly csak akkor s¨ uthet˝o el, ha az R-et megel˝oz˝o szab´alyok felt´etelr´eszei nem teljes¨ ulnek. A szab´alyok sorozata ´at´ırhat´o szab´alyok halmaz´aba u ´gy, hogy egyes´evel vessz¨ uk a szab´alyokat az els˝ot˝ol ´es a felt´etelr´eszhez hozz´af˝ uzz¨ uk az el˝otte ´all´o szab´alyok felt´etelr´esz neg´altjainak ´es kapcsolat´at. Az ´ıgy kapott szab´alyhalmaz azonban t´ ul olvashatatlan, bonyolult lesz. Sorozattal az ¨osszef¨ ugg´es esetleg egy t¨om¨orebb, k¨onnyebben ´ertelmezhet˝obb form´aj´at kapjuk.
6.6.2. D¨ ont´ esi t´ abl´ azatok A d¨ont´esi t´abl´azat minden oszlopa egy attrib´ utumnak felel meg, az utols´o oszlop az oszt´alyattrib´ utumnak. Az A attrib´ utumhoz tartoz´o oszlopban az A ´ert´ek´ere vonatkoz´o felt´etel szerepelhet, leggyakrabban A= a alakban (´ıt´etelkalkulus-alap´ u d¨ont´esi szab´aly). A t´abl´azat egy sora egy d¨ont´esi szab´alyt r¨ogz´ıt. Ha az attrib´ utumok a sorban szerepl˝o felt´eteleket kiel´eg´ıtik, akkor az oszt´alyattrib´ utum ´ert´eke megegyezik a sor utols´o elem´enek ´ert´ek´evel. El´eg az elm´eletb˝ol, l´assunk egy p´eld´at : id˝oj´ar´as napos napos bor´ us es˝os es˝os es˝os es˝os
h˝om´ers´eklet meleg meleg meleg enyhe hideg hideg hideg
p´aratartalom magas magas magas magas magas magas magas
sz´el nincs van nincs nincs nincs nincs nincs
j´at´ekid˝o ? nem nem nem igen igen igen igen
Egy d¨ont´esi t´abl´azat tulajdonk´eppen egy speci´alis d¨ont´esi szab´alyhalmaz, amelyre igaz, hogy a felt´etelr´eszben pontosan ugyanazok az attrib´ utumok szerepelnek. D¨ont´esi t´abl´ak el˝o´all´ıt´as´an´al a k¨ovetkez˝o k´erd´eseket kell tiszt´azni: I. Az attrib´ utumok melyik r´eszhalmaz´at ´erdemes kiv´alasztani? Ide´alis az lenne, ha minden r´eszhalmazt ki tudn´ank ´ert´ekelni ´es kiv´alasztani azt, amelyik a legkisebb hib´at (rosszul
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
137
oszt´alyozott tan´ıt´opontok sz´ama) adja. A gyakorlatban azonban az attrib´ utumok sz´ama nagy ez´ert az ¨osszes r´eszhalmaz kipr´ob´al´asa sok id˝obe telik. II. Hogyan kezelj¨ uk a folytonos attrib´ utumokat ? A fenti p´eld´aban a h˝om´ers´ekletet diszkretiz´altuk. Meleg az id˝o, ha 25 fokn´al t¨obb van, alatta enyhe 5 fokig. Ha a h˝om´ers´eklet 5 fok al´a megy, akkor hideg van. Ide´alis az lenne, ha a folytonos attrib´ utumokat az algoritmus automatikusan tudn´a diszkretiz´alni.
6.6.3. Az 1R algoritmus Tal´an a legegyszer˝ ubb oszt´alyz´o algoritmus az 1R. Kiv´alaszt egy attrib´ utumot ´es az oszt´alyoz´asban kiz´ar´olag ezt haszn´alja. Annyi szab´alyt ´all´ıt el˝o, ah´any ´ert´eket felvesz a kiv´alasztott attrib´ utum a tan´ıt´ohalmazban. Az A = a → Y = c szab´aly k¨ovetkezm´enyr´esz´eben szerepl˝o c oszt´aly a legt¨obbsz¨or el˝ofordul´o oszt´aly az A attrib´ utum´aban a ´ert´eket felvev˝o tan´ıt´omint´ak k¨oz¨ ul. Nyilv´anval´o, hogy az 1R egy´ertelm˝ u szab´alyhalmazt ´all´ıt el˝o. Minden attrib´ utum´ert´ekhez meg tudjuk hat´arozni a rosszul oszt´alyozott tan´ıt´opontok sz´am´at. Ha ¨osszeadjuk az A attrib´ utum ´ert´ekeihez tartoz´o rosszul oszt´alyozott tan´ıt´opontok sz´am´at, akkor megkapjuk, hogy mennyi tan´ıt´opontot oszt´alyozn´ank rosszul, ha az A attrib´ utum lenne a kiv´alasztott. A legkevesebb rosszul oszt´alyozott tan´ıt´opontot ad´o attrib´ utumot v´alasztjuk oszt´alyz´o attrib´ utumnak. Hi´anyz´o attrib´ utum´ert´ekeket u ´ gy kezelj¨ uk, mintha az attrib´ utumnak lenne egy k¨ ul¨onleges, a t¨obbit˝ol elt´er˝o ´ert´eke. Sorrend ´es intervallum t´ıpus´ u attrib´ utumn´al A ≤ a, a0 ≤ A < a00 ´es a000 ≤ A t´ıpus´ u szab´alyokat c´elszer˝ u el˝o´all´ıtani. Ehhez csoportos´ıtsuk az egym´ast k¨ovet˝o ´ert´ekeket u ´ gy, hogy a hozz´ajuk tartoz´o oszt´aly´ert´ek szempontj´ab´ol homog´en csoportokat hozzanak l´etre. Erre diszkretiz´al´ask´ent is hivatkozunk ´es az 1R sor´an haszn´alt m´odszert az El˝ofeldolgoz´as fejezetben ismertett¨ uk (l´asd 3.3.5 r´esz). Hab´ar a sorrend ´es intervallum t´ıpus´ u attrib´ utum csoportos´ıt´as´an sokat lehet elm´elkedni az 1R m´odszer nem t´ ul bonyolult. Egyszer˝ us´ege ellen´ere el´eg j´ol muzsik´al a gyakorlatban. Egy meglep˝o cikkben [59] a szerz˝o arr´ol ´ırt, hogy az 1R sokkal jobb oszt´alyz´o algoritmus, mint azt hinn´enk. A szerz˝ok azon a 16 adatb´azison ´ert´ekelt´ek ki a k¨ ul¨onb¨oz˝o oszt´alyoz´o m´odszereket – k¨ozt¨ uk az 1R-t –, amelyeket a kutat´ok gyakran haszn´alnak cikkeikben. A diszkretiz´al´asn´al 3 helyett 6-ot haszn´alt, a m´odszereket kereszt-valid´aci´os elj´ar´assal hasonl´ıtotta ¨ossze. Az 1R zavarba ejt˝oen j´o helyen v´egzett, a pontoss´ag tekintet´eben alig maradt el az u ´ jabb ´es j´oval bonyolultabb elj´ar´asokt´ol. Az 1R nev´eben szerepl˝o sz´am az oszt´alyoz´as sor´an felhaszn´alt attrib´ utum sz´am´ara utal. L´etezik 0R oszt´alyoz´o is, amely nem haszn´al fel egyetlen attrib´ utumot sem. Az oszt´alyoz´o ekkor egy felt´etel n´elk¨ uli szab´aly, amely ´ıt´eletr´esz´eben a leggyakoribb oszt´aly ´all. Weka 3.5.7 A wek´ aban a 0R ´es 1R m´ odszereket a weka.classifiers.rules.ZeroR ´es a weka.classifiers.rules.OneR oszt´ alyok implement´ alj´ ak. Az 1R m´ odszer egyetlen param´etere a diszkretiz´ al´ as sor´ an haszn´ alt elemsz´ am k¨ usz¨ ob.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
138
6.6.4. A Prism m´ odszer A Prism m´odszer [26] felt´etelezi, hogy a tan´ıt´o adatb´azisban nincs k´et olyan elem, amelynek a fontos magyar´az´o attrib´ utumai megegyeznek, de m´as oszt´alyba tartoznak. Ha m´egis akadnak ilyen objektumok, akkor csak egyet tartsunk meg m´eghozz´a olyat, amelyik a leggyakrabban el˝ofordul´o oszt´alyba tartozik. A leggyakoribb oszt´alyt az azonos attrib´ utum´ert´ekkel rendelkez˝o pontok k¨or´eben kell n´ezni. A Prism m´odszer a fed˝o m´odszerek k¨oz´e tartozik. A fed˝o algoritmus egyes´evel veszi az oszt´alyattrib´ utum ´ert´ekeit ´es megpr´ob´al olyan szab´alyokat el˝o´all´ıtani, amelyek helyesen fedik azon tan´ıt´opontokat, amelyek a vizsg´alt oszt´alyba tartoznak. A szab´alyok el˝o´all´ıt´as´an´al a felt´etelr´eszhez adunk hozz´a egy-egy u ´ jabb r´eszfelt´etelt t¨orekedve arra, hogy olyan r´eszfelt´etelt vegy¨ unk, amely legnagyobb m´ert´ekben n¨oveli a pontoss´agot. A m´odszer hasonl´ıt a d¨ont´esi f´ak el˝o´all´ıt´as´ara (l´asd k¨ovetkez˝o fejezet) ott is a megl´ev˝o szab´alyhalmazhoz egy u ´ j r´eszfelt´etelt adunk. D¨ont´esi szab´alyokn´al m´as a c´el; pontoss´ag n¨ovel´ese helyett az oszt´alyok k¨oz¨otti szepar´aci´ot szeretn´enk maximaliz´alni. A Prism menete a k¨ovetkez˝o. Egyes´evel sorra vessz¨ uk az oszt´alyattrib´ utum ´ert´ekeit. Minden ´ert´ekn´el kiindulunk egy olyan d¨ont´esi szab´alyb´ol, amelynek felt´etelr´esze u ¨ res, k¨ovetkezm´enyr´esz´eben pedig az aktu´alis oszt´aly´ert´ek szerepel. Minden lehets´eges A attrib´ utum, a ´ert´ek p´arra kisz´am´ıtjuk, hogy mennyi lenne a helytelen¨ ul oszt´alyozott tan´ıt´opontok sz´ama, ha az A = a r´eszfelt´etelt adn´ank a felt´etelr´eszhez. Azt a r´eszfelt´etelt v´alasztjuk, amely a legkisebb relat´ıv fed´esi hib´at ad´o szab´alyt eredm´enyezi. A r´eszfelt´etelek hozz´aad´as´at addig folytatjuk, am´ıg olyan szab´alyt kapunk, amelynek nem nulla a fed´ese, de nulla a relat´ıv fed´esi hib´aja. Ezut´an t¨or¨olj¨ uk a tan´ıt´opontok k¨oz¨ ul azokat, amelyeket az u ´ jonnan el˝o´all´ıtott szab´aly lefed. Ha nincs t¨obb olyan tan´ıt´opont, amelynek oszt´alyattrib´ utuma az aktu´alis oszt´aly´ert´eket veszi fel, akkor a k¨ovetkez˝o attrib´ utum´ert´eket vessz¨ uk a k¨ovetkezm´enyr´eszbe. Az algoritmus pszeudok´odja a 8 ´abr´an olvashat´o. A Prism algoritmus alkotta szab´alyokat szab´alysorozatk´ent c´elszer˝ u ´ertelmezni. A m´odszer mindig olyan szab´alyokat hoz l´etre, amely lefed n´eh´any tan´ıt´opontot. A k¨ovetkez˝o szab´aly a marad´ek tan´ıt´opontokra sz´ol ez´ert u ´ j objektum oszt´alyoz´asakor akkor s¨ uss¨ uk el, ha az el˝oz˝o szab´alyt nem tudtuk illeszteni. A Prism algoritmusra, mint separate and conquer (lev´alaszt majd lefed ) m´odszerre szoktak hivatkozni. A Prism el˝osz¨or lev´alasztja a tan´ıt´opontok egy csoportj´at, majd megpr´ob´alja lefedni azokat szab´alyokkal. A Prism csak 100%-os pontoss´ag´ u szab´alyokat ´all´ıt el˝o. Az ilyen egzakt szab´alyok mindig a t´ ultanul´as vesz´ely´et hordozz´ak magukban. Az ilyen szab´alyok sok felt´etelt tartalmaznak ´es ´altal´aban kev´es tan´ıt´opontot fednek. Hasznosabb lenne kisebb pontoss´ag´ u, de t¨obb pontot fed˝o szab´alyokat el˝o´all´ıtani. A t¨ok´eletess´egre val´o t¨orekv´es a Prism egy vitathatatlan hib´aja. Ha p´eld´aul egy felt´etel k´et meghosszabb´ıt´asa olyan, hogy az els˝o lefed 1000 pontot, de egyet negat´ıvan, a m´asik pedig csak egy pontot fed le (nyilv´an helyesen), akkor a Prism a m´asodik meghosszabb´ıt´ast fogja v´alasztani. Egy Prism v´altozat a φ n¨ovel´es´en´el a jel¨olt AND A = a taggal a relat´ıv fed´esi hiba helyett egy inform´aci´o nyeres´eg jelleg˝ u ´ert´ekkel sz´amol. Jel¨olj¨ uk a φ AND A = a → Y = y szab´alyt R-rel. hiba* = cover + (R) · log(Er(R)) − log(Er(φ → Y = y)) .
Az inform´aci´onyeres´eg-alap´ u Prism is addig b˝ov´ıti a felt´etelr´eszt, am´ıg nem siker¨ ul 100%-os pontoss´ag´ u szab´alyt el˝o´all´ıtani. ¨ Osszehasonl´ ıtva az inform´aci´onyeres´eg ´es a relat´ıv fed´esi hiba alapj´an el˝o´all´ıtott szab´alyokat a k¨ovetkez˝oket mondhatjuk. A relat´ıv fed´esi hiba eset´en eleinte kis fed´es˝ u szab´alyokat nyes le,
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
139
Algorithm 8 Prism Require: T : tan´ıt´opontok halmaza, Y : oszt´alyattrib´ utum v´altoz´o, for all y ∈ oszt´alyattrib´ utum ´ert´ekre do E ← az y oszt´alyba tartoz´o tan´ıt´opontok φ←∅ while E 6= ∅ do R←φ→Y =y while ErT (R) 6= 0 do hiba ← 1 for all (A, a) attrib´ utum-´ert´ek p´arra do if Er(φ AND A = a → Y = y) < hiba then hiba ← Er(φ AND A = a → Y = y) A∗ ← A a∗ ← a end if end for φ ← φ AND A∗ = a∗ end while T ← T \ cover(R) end while end for hogy a kiv´eteleket jelent˝o tan´ıt´o pontokat lefedje. A komoly szab´alyokat a fut´as v´eg´ere hagyja. Az inform´aci´onyeres´eg-alap´ u m´odszer ford´ıtva m˝ uk¨odik, a speci´alis eseteket a v´eg´ere hagyja. Weka 3.5.7 A wek´ aban a Prism m´ odszert a weka.classifiers.rules.Prism oszt´ aly implement´ alja.
6.7. D¨ ont´ esi f´ ak A d¨ont´esi f´ak alap¨otlete, hogy bonyolult ¨osszef¨ ugg´eseket egyszer˝ u d¨ont´esek sorozat´ara vezet vissza. Egy ismeretlen minta klasszifik´al´asakor a fa gy¨oker´eb˝ol kiindulva a csom´opontokban feltett k´erd´esekre adott v´alaszoknak megfelel˝oen addig l´epked¨ unk lefel´e a f´aban, am´ıg egy lev´elbe nem ´er¨ unk. A d¨ont´est a lev´el c´ımk´eje hat´arozza meg. Egy hipotetikus, leegyszer˝ us´ıtett, hitelb´ır´alatra alkalmazhat´o d¨ont´esi f´at mutat be a 6.12. ´abra.3 A d¨ont´esi f´ak nagy el˝onye, hogy automatikusan felismerik a l´enyegtelen v´altoz´okat. Ha egy v´altoz´ob´ol nem nyerhet˝o inform´aci´o a magyar´azott v´altoz´or´ol, akkor azt nem is tesztelik. Ez a tulajdons´ag az´ert el˝ony¨os, mert ´ıgy a f´ak teljes´ıtm´enye zaj jelenl´et´eben sem romlik, valamint a probl´emameg´ert´es¨ unket is nagyban seg´ıti, ha megtudjuk, hogy mely v´altoz´ok fontosak, ´es me3
Az ´abr´ azolt d¨ ont´esi fa sem ´ert´ek´ıt´eletet, sem val´os hitelb´ır´ alati szab´alyokat nem t¨ ukr¨oz, puszt´an illusztr´aci´ o.
´ ´ ES ´ REGRESSZIO ´ 6. FEJEZET. OSZTALYOZ AS
140
´eves j¨ovedelem 4 · 1018 ). Sz¨ uks´eg van azonban az elemek automatikus csoportos´ıt´as´ara, ´ıgy a probl´em´akon t´ ul kell l´epni. Objekt´ıv defin´ıci´ot kell adnunk az elemek hasonl´os´ag´anak m´ert´ek´ere ´es a klaszterez´es min˝os´eg´ere. Amennyiben megfelel˝o matematikai modellbe ´agyaztuk a feladatot, lehet˝os´eg ny´ılik olyan algoritmusok megkeres´es´ere, amelyek j´ol ´es gyorsan oldj´ak meg a feladatot. Ezekr˝ol az algoritmusokr´ol ´es a hasonl´os´ag meg´allap´ıt´as´anak m´odj´ar´ol sz´ol ez a fejezet. Klaszterez´es sor´an csoportokba, oszt´alyokba soroljuk az elemeket, teh´at oszt´alyoz´ast v´egz¨ unk. Az eredeti oszt´alyoz´asi feladatt´ol (l´asd el˝oz˝o fejezet) az k¨ ul¨onb¨ozteti meg a klaszterez´est, hogy nincs megadva, hogy melyik elem melyik oszt´alyba tartozik (teh´at nincs egy tan´ıt´o, aki helyes p´eld´akkal seg´ıti a tanul´asunkat), ezt nek¨ unk kell meghat´aroznunk. Ez´ert h´ıvj´ak a klaszterez´est fel¨ ugyelet n´elk¨ uli tanul´asnak (unsupervised learning) is. A klaszterez´es az adatb´any´aszat legr´egebbi ´es leggyakrabban alkalmazott r´esze. Sz´amos helyzetben alkalmazz´ak, ´ıgy csoportos´ıtanak weboldalakat, g´eneket, betegs´egeket stb. Az egyik 164
´ 7. FEJEZET. KLASZTEREZES
165
legdinamikusabban fejl˝od˝o ter¨ ulet azonban a szem´elyre szabott szolg´altat´asok´e, ahol az u ¨ gyfeleket, ill. v´as´arl´okat kategoriz´alj´ak, ´es az egyes kateg´ori´akat elt´er˝oen kezelik. A klaszterez´esre az´ert van sz¨ uks´eg, mert az u ¨ gyfelek sz´amoss´aga miatt a k´ezi kategoriz´al´as t´ ul nagy k¨olts´eget jelentene. Gyakran nem az a fontos, hogy az egyes elemeket melyik csoportba soroljuk, hanem az, hogy mi jellemz˝o a k¨ ul¨onb¨oz˝o csoportokra. P´eld´aul egy banki strat´egia kialak´ıt´as´an´al nem ´erdekel benn¨ unket, hogy Kis Pista melyik csoportba tartozik, hanem csak az, hogy milyen u ¨ gyf´elcsoportokat c´elszer˝ u kialak´ıtani ´es ezekre a csoportokra mi jellemz˝o. A klaszterez´es seg´ıts´eg´evel egy vesztes´eges t¨om¨or´ıt´est v´egezt¨ unk. A teljes u ¨ gyfeleket tartalmaz´o adatb´azist egy kisebb, ´atl´athat´obb, em´eszthet˝obb u ¨ gyf´elcsoport adatb´aziss´a alak´ıtottuk. Weka 3.5.7
A klaszterez˝ o m´ odszereket az Experimenter alkalmaz´ as Cluster f¨ ul´en kereszt¨ ul ´erhetj¨ uk el.
A fejezet tov´abbi r´esz´eben el˝osz¨or egy megh¨okkent˝o kutat´asi eredm´enyr˝ol sz´amolunk be, majd a hasonl´os´ag meghat´aroz´as´ar´ol besz´el¨ unk v´eg¨ ul r´at´er¨ unk a legismertebb klaszterez˝o algoritmusokra.
7.1. Egy lehetetlens´ eg-elm´ elet A klaszterez´es az egyik legnehezebben ´atl´athat´o adatb´any´aszati ter¨ ulet. Napr´ol napra u ´ jabb ´es u ´ jabb cikkek jelennek meg k¨ ul¨onb¨oz˝o csodaalgoritmusokr´ol”, amelyek szupergyorsan ´es ” helyesen csoportos´ıtj´ak az elemeket. Elm´eleti elemz´esekr˝ol ´altal´aban kev´es sz´o esik – azok is gyakran elnagyoltak, s˝ot hib´asak –, viszont az algoritmust igazol´o teszteredm´enyekb˝ol nincs hi´any. Mintha minden algoritmusnak illetve szerz˝onek l´etezne a maga adatb´azisa, amivel az elj´ar´as remek eredm´enyeket hoz. Ebben a k´aoszban kincset ´ernek a helyes ir´anyvonalak megvil´ag´ıt´asai ´es a megalapozott elm´eleti eredm´enyek. Egy ilyen gy¨ongyszem Jon Kleinberg munk´aja, amit az An Impossibi” lity Theorem for Clustering (A Klaszterez´es Lehetetlens´eg-elm´elete)” c´ım˝ u cikk´eben publik´alt 2002-ben [74]. A c´ım m´ar sejteti az elszomor´ıt´o eredm´enyt, miszerint nem l´etezik j´o, t´avols´ ag alap´ u1 klaszterez˝o elj´ar´as ! Ezt a meglep˝o ´all´ıt´ast u ´ gy bizony´ıtja, hogy h´arom tulajdons´agot mond ki, amellyel egy klaszterez˝o elj´ar´asnak rendelkeznie kell, majd bel´atja, hogy nem l´etezhet klaszterez˝o elj´ar´as, amelyre ez igaz. A tulajdons´agok az al´abbiak: Sk´ ala-invariancia : Ha minden elemp´ar t´avols´aga helyett annak az α-szoros´at vessz¨ uk alapul (ahol α > 0), akkor a klaszterez˝o elj´ar´as eredm´enye ne v´altozzon! Gazdags´ ag (richness) : Tetsz˝oleges el˝ore megadott csoportos´ıt´ashoz tudjunk megadni t´avols´agokat u ´ gy, hogy a klaszterez˝o elj´ar´as az adott m´odon csoportos´ıtson. Konzisztencia : Tegy¨ uk fel, hogy a klaszterez˝o elj´ar´as valahogy csoportos´ıtja az elemeket. Ha ezut´an tetsz˝oleges, azonos csoportban l´ev˝o elemp´arok k¨oz¨ott a t´avols´agot cs¨okkentem, 1
A k¨ ul¨onb¨ oz˝os´eg meg´allap´ıt´ as´ ahoz haszn´alt t´ avols´agf¨ uggv´enynek szemi-metrik´anak kell lennie, teh´ at a h´ aromsz¨ og egyenl˝ otlens´egnek nem kell teljes¨ ulnie
´ 7. FEJEZET. KLASZTEREZES
166
illetve k¨ ul¨on csoportban l´ev˝o elemp´arok t´avols´ag´at n¨ovelem, akkor az u ´ jonnan kapott t´avols´agok alapj´an m˝ uk¨od˝o elj´ar´as az eredetivel megegyez˝o csoportos´ıt´ast adja. A fenti tulajdons´agok teljesen term´eszetesek, azt gondoln´ank, hogy minden algoritmus ilyen. Ez´ert nem t´ ul b´ıztat´o a k¨ovetkez˝o t´etel: 7.1. t´ etel. Amennyiben az elemek sz´ama nagyobb 1-n´el, akkor nem l´etezik olyan klaszterez˝ o elj´ar´as, ami rendelkezik a Sk´ala-invariancia, a Gazdags´ag ´es a Konzisztencia tulajdons´agokkal. Kleinberg azt is bebizony´ıtja, hogy b´armely k´et tulajdons´aghoz l´etezik klaszterez˝o elj´ar´as, amely rendelkezik a v´alasztott tulajdons´agokkal. P´eld´aul a single-linkage elj´ar´as (l´asd 7.7.1. r´esz) sk´ala-invari´ans ´es konzisztens. Ezen k´ıv¨ ul az is igaz, hogy a part´ıci´on´al´o algoritmusok (pl.: k-means, k-medoid), ahol a c´el a k¨oz´eppontokt´ol vett t´avols´ag f¨ uggv´eny´enek (p´eld´aul n´egyzetes hiba ¨osszege) minimaliz´al´asa, nem konzisztensek. Vitatkozhatunk azon, hogy a konzisztencia jogos elv´ar´as-e egy klaszterez˝o algoritmussal szemben. N´ezz¨ uk a k¨ovetkez˝o ´abr´at. Bal oldalon l´athatjuk az eredetileg megadott pontokat, jobb oldalon pedig az ´atmozgat´as sor´an kapottakat. s
s
s s
s s
s
s
ss ss ss s s
Legt¨obben a bal oldali pontokat egy csoportba venn´ek (nagy n´egyzetet reprezent´al´o pontok), a jobb oldalon l´athat´okat viszont k´et k¨ ul¨on csoportba soroln´ak (k´et kis n´egyzethez tartoz´o pontok). A klaszteren bel¨ uli t´avols´agokat teh´at cs¨okkentett¨ uk, a klaszterez´es m´egis megv´altozott, azaz klaszterez´esi elj´ar´asunk nem rendelkezik a konzisztencia tulajdons´aggal. Sajnos Kleinberg erre az ´eszrev´etelre is tud elszomor´ıt´oan reag´alni. A konzisztencia fogalm´at laz´ıthatjuk. Amennyiben a klasztereken bel¨ uli t´avols´agokat cs¨okkentj¨ uk, a klaszterek k¨oz¨otti t´avols´agokat n¨ovelj¨ uk, ´es ez´altal bizonyos klaszterek kisebb klaszterekk´e bomlanak, akkor a klaszterez˝o elj´ar´as finom´ıt´as–konzisztens. Bel´athat´o, hogy nem l´etezik olyan klaszterez˝o elj´ar´as, ami sk´ala-invari´ans, gazdag ´es finom´ıt´as–konzisztens. Ha viszont a gazdags´agb´ol is enged¨ unk egy kicsit, nevezetesen, hogy a klaszterez˝o algorimus sose tudjon minden pontot k¨ ul¨on klaszterbe sorolni – de tetsz˝oleges m´as m´odon tudjon particion´alni –, akkor l´etezik klaszterez˝o elj´ar´as, amely kiel´eg´ıti a h´arom tulajdons´agot. Miel˝ott tov´abbl´epn´enk gondolkodjunk el azon, hogy jogos-e a hasonl´os´agot ´es k¨ ul¨onb¨oz˝os´eget puszt´an egy t´avols´ag alapj´an defini´alni. A klaszterez´es eredeti c´elja az, hogy a hasonl´o elemek egy csoportba, m´ıg a k¨ ul¨onb¨oz˝o elemek elt´er˝o csoportba ker¨ uljenek. Ebb˝ol k¨ovetkezik, hogy egy tetsz˝oleges elem k¨ ul¨onbs´ege (t´avols´aga) a saj´at csoportbeli elemeit˝ol kisebb lesz, mint a k¨ ul¨onbs´ege m´as csoportban tal´alhat´o elemekt˝ol. Biztos, hogy j´o ez? Biztos, hogy az ember is ´ıgy csoportos´ıt, teh´at ez a term´eszetes klaszterez´es? Sajnos nem lehet a k´erd´esre egy´ertelm˝ u v´alaszt adni. Van amikor az ember ´ıgy csoportos´ıt, van, amikor m´ashogy. Tekints¨ uk a k¨ovetkez˝o ´abr´an elhelyezked˝o pontokat.
´ 7. FEJEZET. KLASZTEREZES
167
. .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . .. . . . .. . . . Val´osz´ın˝ uleg kiv´etel n´elk¨ ul minden ember k´et csoportot hozna l´etre, az als´o szakaszhoz tartoz´o pontok´et ´es a fels˝o szakaszhoz tartoz´o pontok´et. M´egis, ha megn´ezz¨ uk, akkor az als´o szakasz bal oldali pontja sokkal k¨ozelebb van a fels˝o szakasz bal oldali pontjaihoz, mint azokhoz a pontokhoz, amelyek az als´o szakasz jobb oldal´an helyezkednek el. M´egis ragaszkodunk ahhoz, ´ ´erezz¨ hogy a bal- ´es jobboldali pontok egy csoportba ker¨ uljenek. Ugy uk, egym´ashoz tartoznak, mert mindannyian az als´o szakasz elemei. K¨ovetkez´esk´eppen a klaszterez´es c´elja – az eredetivel szemben – gyakran az, hogy u ´ gy csoportos´ıtsunk, hogy egy csoportba ker¨ uljenek az elemek akkor, ha ugyanahhoz az absztrakt objektumhoz tartoznak, ´es k¨ ul¨onb¨oz˝obe, ha m´as absztrakt objektum r´eszei. A klaszterez´es neh´ezs´ege pont abban rejlik, hogy automatikusan kell felfedezni objektumokat az elemek alapj´an, ami r´aad´asul nem egy´ertelm˝ u feladat (p´eld´aul Rubin v´az´aj´anak esete). Ha a klaszterez´es sor´an az absztrakt objektumokat ¨osszef¨ ugg˝o alakzatok form´aj´aban keress¨ uk (pl. vonal, g¨omb, am˝oba, p´alcikaember stb.) akkor van es´ely j´ol megoldani a feladatot. ¨ Osszess´eg´eben teh´at t¨ok´eletes klaszterez´es nem l´etezik, ugyanakkor a lehetetlens´eg elm´elet nem z´arja ki az ¨osszef¨ ugg˝o alakzatokat felfedez˝o elj´ar´as l´etez´es´et.
7.2. Hasonl´ os´ ag m´ ert´ eke, adat´ abr´ azol´ as Adott n elem (vagy m´as n´even objektum, egyed, megfigyel´es stb.). Tetsz˝oleges k´et elem (x,y) k¨oz¨ott ´ertelmezz¨ uk a hasonl´os´agukat. Mi a hasonl´os´ag helyett annak inverz´evel, a k¨ ul¨onb¨oz˝os´eggel dolgozunk (d(x, y)). A d(x, y)-t´ol elv´arjuk (amellett, hogy d(x, y) ≥ 0) azt, hogy I. reflex´ıv: d(x, x) = 0, II. szimmetrikus legyen: d(x, y) = d(y, x), III. ´es teljes¨ ulj¨on a h´aromsz¨og-egyenl˝otlens´eg : d(x, z) ≤ d(x, y) + d(y, z), teh´at a k¨ ul¨onb¨oz˝os´eg metrika (t´avols´ag) legyen2 . A tov´abbiakban elemek k¨ ul¨onb¨oz˝os´ege helyett gyakran mondunk elemek t´avols´ag´at. A klaszterez´es leg´altal´anosabb eset´eben minden egyes elemp´ar t´avols´aga el˝ore meg van adva. Az adatokat ekkor egy u ´ n. t´avols´ag m´atrixszal reprezent´aljuk: 0 d(1,2) d(1,3) · · · d(1, n) 0 d(2,3) · · · d(2, n) 0 · · · d(3, n) , . . .. .. 0 2
Megjegyz´es: Ha a 3. tulajdons´ ag nem teljes¨ ul, akkor szemi-metrik´ar´ol besz´el¨ unk, ha az er˝osebb d(x, y) ≤ ≤ max{d(x, z), d(y, z)} tulajdons´ ag ´ all fenn, akkor pedig ultrametrikusr´ ol (m´ as n´even nem-archim´edeszi).
´ 7. FEJEZET. KLASZTEREZES
168
ahol d(i, j) adja meg az i-edik ´es a j-edik elem k¨ ul¨onb¨oz˝os´eg´et. A gyakorlatban az n elem (vagy objektum) attrib´ utumokkal van le´ırva, ´es a k¨ ul¨onb¨oz˝os´eget az attrib´ utumok alapj´an defini´alhatjuk valamilyen t´avols´agf¨ uggv´ennyel. Ha megadjuk a t´avols´agf¨ uggv´enyt, akkor elvben fel´ırhatjuk a fenti m´atrixot. Sok esetben azonban az elemek sz´ama olyan nagy, hogy a m´atrix rengeteg helyet foglalna. Modell¨ unkben ez´ert rendelkez´es¨ unkre ´allnak az attrib´ utumokkal megadott elemek halmaza ´es a t´avols´agf¨ uggv´eny. Az n ´ert´eke nagy lehet, ´ıgy nem tehetj¨ uk fel, hogy az adatok elf´ernek a mem´ori´aban. Sokszor fogjuk a klaszterez´est gr´afparticion´al´asi feladatk´ent vizsg´alni. Az elemekre tekinthet¨ unk u ´ gy, mint egy G = (V, E) s´ ulyozott, ir´any´ıtatlan, teljes gr´af pontjaira, ahol az ´eleken tal´alhat´o s´ ulyok a t´avols´agot, vagy ´eppen a hasonl´os´agot adj´ak meg. Az (u, v) ∈ E ´el s´ uly´at w(u, v)-vel jel¨olj¨ uk. Vannak algoritmusok, amelyek nem az eredeti gr´afon dolgoznak, hanem az u ´ gynevezett klegk¨ozelebbi szomsz´ed gr´af on, amit Gk -val jel¨ol¨ unk. Gk -ban is a pontoknak az elemek, az ´eleken tal´alhat´o s´ ulyok pedig a hasonl´os´agoknak felelnek meg, de itt csak azokat az ´eleket t´aroljuk, amelyek egyik pontja a m´asik pont k legk¨ozelebbi pontjai k¨oz¨ott szerepel. Az al´abbi ´abr´an ilyen gr´afokat l´athatunk:
k=0
k=1
k=2
k=3
7.1. ´abra. P´elda k-legk¨ozelebbi szomsz´ed gr´afokra k=0,1,2,3 eset´en Ha az adathalmazt a k-legk¨ozelebbi szomsz´ed gr´affal ´abr´azoljuk, akkor ugyan veszt¨ unk n´emi inform´aci´ot, de a l´enyeg megmarad, ´es j´oval kevesebb helyre van sz¨ uks´eg¨ unk. Az egym´ast´ol nagyon t´avoli elemek nem lesznek ¨osszek¨otve Gk -ban. Tov´abbi el˝ony, hogy amennyiben egy klaszter s˝ ur˝ us´eg´et a benne tal´alhat´o ´elek ¨osszs´ uly´aval m´erj¨ uk, akkor a s˝ ur˝ u klaszterekn´el ez az ´ert´ek nagy lesz, ritk´akn´al pedig kicsi.
7.3. A klaszterek jellemz˝ oi A C klaszter elemeinek sz´am´at |C|-vel jel¨olj¨ uk. A klaszter nagys´ag´at” pr´ob´alja megragadni ” a klaszter ´atm´er˝oje (D(C)). A k´et legelterjedtebb defin´ıci´o az elemek k¨oz¨otti a´tlagos, illetve a maxim´alis t´avols´ag : XX d(p, q) Davg (C) =
p∈C q∈C
|C|2
Dmax (C) = max d(p, q). p,q∈C
,
´ 7. FEJEZET. KLASZTEREZES
169
´Izl´es k´erd´ese, hogy a klaszter ´atm´er˝oj´enek sz´am´ıt´asakor figyelembe vessz¨ uk-e aPpontok ¨onma=q d(p,q) 0 = gukt´ol vett t´avols´ag´at (ami 0). Nyugodtan haszn´alhatjuk az ´atm´er˝o Davg (C) = p,q∈C,p6 (|C| 2 ) = 2 NN−1 Davg (C) defin´ıci´oj´at is. A klaszterek k¨oz¨otti t´avols´agot (d(Ci, Cj )) is t¨obbf´elek´eppen ´ertelmezhetj¨ uk. Minim´ alis t´ avols´ ag : dmin (Ci , Cj ) =
Maxim´ alis t´ avols´ ag : dmax (Ci , Cj ) = ´ Atlagos t´ avols´ ag : davg (Ci , Cj ) =
min
p∈Ci ,q∈Cj
d(p, q).
max d(p, q).
p∈Ci ,q∈Cj
XX 1 d(p, q), ami a k¨ ul¨on klaszterben l´ev˝o |Ci ||Cj | p∈C q∈C i
j
pontp´arok ´atlagos t´avols´ag´at adja meg.
Egyes´ıtett klaszter ´ atm´ er˝ oje : dD (Ci , Cj ) = D(Ci ∪ Cj ) A vektort´erben megadott elemekn´el gyakran haszn´alt fogalmak a klaszter k¨oz´eppontja (m ~ C) ´es a sugara (RC ). 1 X p~, m ~C= |C| p∈C X |~p − m ~ C| p∈C
. |C| A klaszterek k¨oz¨otti t´avols´ag m´er´es´ere pedig gyakran alkalmazz´ak a k¨oz´eppontok k¨oz¨otti t´avols´ag ´ert´ek´et : dmean (Ci , Cj ) = |m ~ i −m ~ j |. RC =
Az ´atlagok kisz´am´ıt´as´an´al – p´eld´aul ´atm´er˝o, sug´ar eset´eben – sz´amtani k¨ozepet haszn´altunk. Bizonyos cikkekben n´egyzetes k¨ozepet alkalmaznak helyette. Tulajdonk´eppen tetsz˝oleges k¨oz´ep haszn´alhat´o, egyik sem rendelkezik elm´eleti el˝onnyel a t¨obbivel szemben. Gondoljuk meg azonban, hogy a hatv´any alap´ u k¨ozepekn´el j´oval nagyobb sz´amokkal dolgozunk, ´ıgy ezek sz´am´ıt´asa esetleg nagyobb ´atmeneti t´arat k´ıv´an. A n´egyzetes k¨oz´epnek el˝onye a sz´amtani k¨oz´eppel szemben, hogy k¨onny˝ u kisz´am´ıtani, amennyiben vektort´erben dolgozunk. Ezt a BIRCH algoritmusn´al (7.7.3. r´esz) is kihaszn´alj´ak, P ~ C= ahol nem t´arolj´ak a klaszterekben tal´alhat´o elemeket, hanem csak 3 adatot : |C|, LS ~, p∈C p P T SSC = p∈C p~p~ . K¨onny˝ u bel´atni, hogy a fenti h´arom adatb´ol k´et klaszter (Ci , Cj ) k¨oz¨otti ´atlagos t´avols´ag (´es hasonl´oan az egyes´ıtett klaszter ´atm´er˝oje) k¨ozvetlen¨ ul ad´odik: davg (Ci , Cj )= =
~ T ~ C LS SSCi +SSCj −2LS Ci i |Ci ||Cj |
.
os´ aga” 7.4. A klaszterez´ es j´ ” Mint m´ar eml´ıtett¨ uk, a klaszterez´es j´os´ag´ara nem lehet minden szempontot kiel´eg´ıt˝o, objekt´ıv m´ert´eket adni. Ennek ellen´ere n´eh´any f¨ uggv´eny minimaliz´al´asa igen elterjedt a klaszterez˝o algoritmusok k¨oz¨ott. A tov´abbiakban n darab elemet kell k r¨ogz´ıtett sz´am´ u csoportba sorolni u ´ gy, hogy a csoportok diszjunktak legyenek, ´es minden csoportba ker¨ ulj¨on legal´abb egy elem.
´ 7. FEJEZET. KLASZTEREZES
170
7.4.1. Klasszikus m´ ert´ ekek Az al´abbi probl´em´akat k¨ ul¨onb¨oztetj¨ uk meg a minimaliz´aland´o c´elf¨ uggv´eny alapj´an: Minim´ alis ´ atm´ er˝ o probl´ ema : C´elunk itt a legnagyobb klaszter´atm´er˝o minimaliz´al´asa. ´ Atm´er˝onek ez esetben Dmax -ot szok´as haszn´alni. k-medi´ an probl´ ema : V´alasszuk ki az n elem k¨oz¨ ul k u ´ n. reprezent´ans elemet, amelyek a minim´alis hiba¨osszeget adj´ak. Egy elem hib´aja a hozz´a legk¨ozelebbi reprezent´ans elem t´avols´aga. A feladat NP-neh´ez, m´eg akkor is, ha olyan s´ıkba rajzolhat´o gr´afokra szor´ıtkozunk, amelyeknek a maxim´alis foksz´ama 3 (ha a gr´af fa, akkor m´ar lehet polinomrend˝ u algoritmust adni, p = 2 eset´eben a feladat line´aris id˝oben megoldhat´o)[70]. A feladat NP-neh´ez marad, ha a gr´af Euklideszi t´erbe k´epezhet˝o, s˝ot, konstans szorz´o erej´eig k¨ozel´ıt˝o megold´ast adni, m´eg ilyenkor is, neh´ez feladat [92]! k-center probl´ ema : Ez a feladat a k-medi´an m´odos´ıt´asa, csak itt a legnagyobb hib´at kell minimaliz´alni. P P k-klaszter probl´ ema : C´elunk itt a klaszteren bel¨ uli t´avols´ag¨osszegek ( ki=1 p,q∈Ci d(p, q) = Pk 2 al´asa. A feladat (´es konstans szorz´o erej´eig annak = i=1 |C| Davg (Ci )) minimaliz´ k¨ozel´ıt´ese) NP-neh´ez k ≥ 2 (k ≥ 3) eset´en [116]. Legkisebb (n´ egyzetes) hiba¨ oP sszegP : Csoportos´ıtsuk u ´ gy a pontokat, hogy a k¨oz´eppontokt´ol k val´o t´avols´ag ¨osszege (E = i=1 p∈Ci (|~p − m ~ Ci |)) minim´alis legyen. Nyilv´anval´o, hogy ez a megk¨ozel´ıt´es csak olyan esetekben haszn´alhat´o, amikor ´ertelmezni tudjuk a klaszterek k¨oz´eppontj´at (m ~ Ci -t). Sok esetben a k¨oz´eppontokt´ol val´o t´avols´ag¨osszeg helyett a t´avols´ag n´egyzeteinek ¨osszeg´et minimaliz´alj´ak. Legkisebb (n´egyzetes) hiba¨osszeg probl´ema el´egg´e hasonl´ıt a k-klaszter probl´em´ahoz. P Pk P Pk P 1 q. ~ Ci ||2, ahol m ~ C = |C| 7.2. ´ eszrev´ etel. q∈C ~ i=1 p∈Ci ||p − m i=1 p,q∈Ci d(p, q) =
Bizony´ıt´as:
k X X
i=1 p∈Ci
2
||p − m ~ Ci || = =
k X X
i=1 p∈Ci
k X i=1
k 1 X 2 XXX 1 ~q|| = ||p − q||2 ||p − |C| q∈C |C| i=1 p∈C q∈C i
1 X ||p − q||2 = |Ci | (p,q)∈Ci
i
k X i=1
i
|Ci |Davg (Ci )
Azok az algoritmusok, amelyek a fenti c´elf¨ uggv´enyeket minimaliz´alj´ak, az elemeket kis kompakt felh˝okbe csoportos´ıtj´ak. Ez valamennyire elfogadhat´onak t˝ unik, azonban ezeknek a megk¨ozel´ıt´eseknek sz´amos s´ ulyos h´atr´anya van. I. Legfontosabb, hogy csak elliptikus klasztereket gener´al, teh´at tetsz˝oleges am˝oba alak´ u, de kompakt klasztert felv´ag kisebb k¨or alak´ u klaszterekre.
´ 7. FEJEZET. KLASZTEREZES
171
II. Rosszul csoportos´ıt, ha a klaszterek k¨oz¨ott nagyok a m´eretk¨ ul¨onbs´egek. Ennek oka az, hogy a nagy klaszterben l´ev˝o pontok t´avol esnek a k¨oz´eppontt´ol, ami nagy hib´at eredm´enyez. Teh´at hi´aba kompakt egy nagy klaszter, a hib´at minimaliz´al´o algoritmusok kis r´eszekre fogj´ak felosztani. A n´egyzetes hiba¨osszeget minimaliz´al´o elj´ar´asok tov´abbi hib´aja, hogy ´erz´ekeny a t´avol es˝o (outlier) pontokra, hiszen egy t´avoli pont a klaszter k¨oz´eppontj´at nagyon elh´ uzhatja”. ” Elrettent˝o p´eldak´ent n´ezz¨ uk a k¨ovetkez˝o k´et ´abr´an l´athat´o pontokat. Ha a maxim´alis ´atm´er˝ot minimaliz´aljuk, akkor a 2. egyenes alapj´an osztjuk kett´e a pontokat. Ennek ellen´ere minden rendszeret˝o” ember a k´et csoportot ink´abb az 1-es egyenes ment´en szepar´aln´a. A ” gyenge klaszterez´es oka, hogy a klasztereken bel¨ uli maxim´alis elt´er´est annak ´ar´an minimaliz´aljuk, hogy sok k¨ ul¨onb¨oz˝o pont egy klaszterbe ker¨ ul (Megjegyz´es: ugyanezt a rossz eredm´enyt kapn´ank, ha a k¨ozepekt˝ol val´o t´avols´agot, esetleg a t´avols´ag¨osszeget akarn´ank minimaliz´alni.). r r r r rr r r r
1
2
r r r r r r r r r r r r r rr r r r r r r r r r
7.2. ´abra. Hib´as klaszterez´es: elt´er˝o m´eret˝ u klaszterek eset´en A 7.3. ´abr´an l´athat´o pontokat a 2-medi´an probl´em´at megold´o algoritmusok a 2-es egyenes szerint csoportos´ıtan´ak. 2 r rr rr
r r ' r r r r r rr r r r r r r r r &1 r r rr rr r
r
r
r $ r r r r % rr r
7.3. ´abra. Hib´as klaszterez´es: egym´ast tartalmaz´o klaszterek eset´en
7.4.2. Konduktancia alap´ u m´ ert´ ek A klasszikus m´ert´ekek igen k¨ozkedveltek a matematikusok k¨or´eben, k¨osz¨onhet˝oen az egyszer˝ us´eg¨ uknek ´es annak, hogy remek¨ ul elemezhet˝ok. Rengeteg ´ır´as sz¨ uletett, amelyek matematikus szemmel kit˝ un˝oek, a gyakorlatban azonban – ahogy azt az el˝oz˝o k´et p´elda is illusztr´alta – haszontalanok. 30-40 ´evig m´egis ezek a probl´em´ak ´alltak a k¨oz´eppontban. A kutat´ok sz´ep eredm´enyeket ´ertek el, a hasznoss´ag ig´enye azonban sok´aig kimondatlan maradt.
´ 7. FEJEZET. KLASZTEREZES
172
Az adatb´any´aszat n´epszer˝ us¨od´es´evel egyre fontosabb szerep¨ uk lett a ”Mi haszna van?”, ”Mi a j´o klaszterez´es?” k´erd´eseknek. Hamar kider¨ ult, hogy a klasszikus m´ert´ekek a gyakorlati esetek ´ m´ert´ekek, megk¨ozel´ıt´esek sz¨ t¨obbs´eg´eben egyszer˝ uen rossz eredm´enyt adnak. Uj ulettek. Ezek k¨oz¨ ul tal´an a leg´ıg´eretesebb a konduktancia alap´ u m´ert´ek [69]. Tekints¨ unk az adathalmazunkra, mint egy G = (V, E) gr´afra, de most az ´eleken tal´alhat´o s´ uly a hasonl´os´aggal legyen ar´anyos, ne pedig a t´avols´aggal (k¨ ul¨onb¨oz˝os´ eggel). Jel¨olj¨ uk egy P T ⊆ E ´elhalmazban tal´alhat´o ´elek s´ ulyainak ¨osszeg´et w(T )-vel (w(T ) = e∈T w(e)), C ⊆ V klaszterben tal´alhat´o elemek sz´am´at |C|-vel, E(S) = E(V \S)-el (edge(S)) pedig az (S, V \S) v´ag´ast keresztez˝o ´elek halmaz´at : E(S) = {(p, q)|p ∈ S, q ∈ V \S}. Vizsg´aljuk azt az egyszer˝ u esetet, amikor k = 2, teh´at a gr´af pontjait k´et r´eszre akarjuk osztani. Klaszterez´esn´el az egyik c´elunk, hogy az elemeket u ´ gy csoportos´ıtsuk, hogy a k¨ ul¨onb¨oz˝o elemek k¨ ul¨on klaszterbe ker¨ uljenek. Ez alapj´an mondhatn´ank, hogy egy minim´alis ¨osszs´ uly´ u v´ag´as j´ol osztan´a kett´e a pontokat. Sajnos ez a m´odszer legt¨obb esetben kiegyens´ ulyozatlan (nagyon elt´er˝o m´eret˝ u) csoportokat hozna l´etre. Gondoljuk meg, hogy ha az egyik klaszterben csak 1 elem tal´alhat´o, akkor n − 1 s´ ulyt kell ¨osszegezni, m´ıg egyenletes kett´eoszt´asn´al ugyanez n 2 az ´ert´ek ( 2 ) . A v´ag´as helyett c´elszer˝ u olyan m´ert´eket bevezetni, amely figyelembe veszi valahogy a gr´af kiegyens´ ulyozotts´ag´at is, ´es kisebb jelent˝os´eget tulajdon´ıt az olyan v´ag´asnak, amely kis elemsz´am´ u r´eszhez tartozik. Egy gr´af kiterjed´ese (expansion) megadja az ¨osszes v´ag´as k¨oz¨ ul azt, amelyikn´el a legkisebb az ar´any a v´ag´as s´ ulya ´es a v´ag´ast alkot´o k´et ponthalmaz k¨oz¨ ul a kisebbik elemsz´ama k¨oz¨ott. Form´alisan az (S, V \S) v´ag´as kiterjed´ese: ϕ(S) =
w(E(S)) . min(|S|, n − |S|)
L´athat´o, hogy a sz´aml´al´o a kis v´ag´as´ert´eket, m´ıg a nevez˝o a kiegyens´ ulyozotts´agot prefer´alja. Egy gr´af kiterjed´ese pedig a v´ag´asok minim´alis kiterjed´ese, egy klaszter kiterjed´es´et pedig a hozz´a tartoz´o r´eszgr´af kiterjed´es´evel defini´alhatjuk. A klaszterez´es j´os´ag´at, ez alapj´an, a klaszterek minim´alis kiterjed´es´evel adhatjuk meg. Sajnos a kiterjed´es k´eplet´eben a nevez˝o nem veszi figyelembe az ´elek s´ ulyait. Azt szeretn´enk, hogy azok a pontok, amelyek nagyon k¨ ul¨onb¨oz˝oek az ¨osszes t¨obbi pontt´ol, kisebb ¨osszs´ ullyal szerepeljenek a j´os´ag” defin´ıci´oj´aban, mint azok a pontok, amelyeknek j´oval t¨obb ponthoz ” hasonl´ıtanak. A kiterjed´es ´altal´anos´ıt´asa a konduktancia (conductance). 7.3. defin´ıci´ o. Legyen G = (V, E) gr´af egy v´ag´asa (S, V \S). A v´ag´as konduktanci´aj´at a k¨ ovetkez˝ok´eppen defini´aljuk : w(E(S)) φ(S) = , min(a(S), a(V \S)) P ahol a(S) = p∈S,q∈V w(p, q).
A gr´af konduktanci´aja pedig a v´ag´asok minim´alis konduktanci´aja : φ(G) = minS⊆V φ(S). A konduktancia k¨onnyen ´altal´anos´ıthat´o k klaszter eset´ere. Egy C ⊆ V klaszter konduktanci´aja megegyezik a v´ag´asai legkisebb konduktanci´aj´aval, ahol az (S, C\S) v´ag´as konduktanP p∈S,q∈C\S w(p,q) ci´aja : φ(S) = min(a(S),a(C\S)) . Egy klaszterez´es konduktanci´aja a klaszterek minim´alis konduktanci´aj´aval egyezik meg. A klaszterez´es c´elja teh´at az, hogy keress¨ uk meg azt a klaszterez´est, ami a legnagyobb konduktanci´at adja. A 7.2 ´es a 7.3 ´abr´akon l´athat´o pontokat a konduktancia alap´ u klaszterez˝o elj´ar´asok helyesen csoportos´ıtj´ak.
´ 7. FEJEZET. KLASZTEREZES
173
Sajnos a konduktancia alap´ u m´ert´ek m´eg nem t¨ok´eletes. Ha p´eld´aul egy j´o min˝os´eg˝ u klaszter mellett van n´eh´any pont, amelyek mindent˝ol t´avol esnek, akkor a klaszterez´es min˝os´ege igen gyenge lesz (hiszen a min˝os´eg a leggyeng´ebb klaszter min˝os´ege). A probl´ema egy lehets´eges kik¨ usz¨ob¨ol´ese, ha a klaszterez´es min˝os´ıt´es´ere k´et param´etert haszn´alunk. A konduktancia mellett bevezethetj¨ uk azt a m´ert´eket, amely megadja, hogy az ¨osszes ´el s´ uly´anak h´anyad r´esz´et nem fedik le a klaszterek. 7.4. defin´ıci´ o. A {C1 , C2 , . . . , Ck } a (V, E) gr´af egy (α, )-part´ıci´oja, ha : I. minden Ci klaszter konduktanci´aja legal´abb α, II. a klaszterek k¨oz¨otti ´elek s´ ulya legfeljebb h´anyada az ¨osszes ´el s´ uly´anak. A klaszterez´es c´elja ekkor az lehet, hogy adott α mellett tal´aljunk olyan (α, )-part´ıci´ot, amely minimaliz´alja -t, vagy ford´ıtva (adott mell´e tal´aljunk olyan (α, )-part´ıci´ot, amely maximaliz´alja α-t). A feladat NP-neh´ez.
7.5. Klaszterez˝ o algoritmusok t´ıpusai A szakirodalomban j´on´eh´any klaszterez˝o algoritmus tal´alhat´o. Nem l´etezik ide´alis klaszterez˝o algoritmus, mivel az eredm´enyek ¨osszehasonl´ıt´as´ara nincs objekt´ıv m´ert´ek. Az egyes alkalmaz´asok jelleg´et˝ol f¨ ugg, hogy melyik algoritmust c´elszer˝ u v´alasztani. A klaszterez˝o algoritmusokat 5 kateg´ori´aba soroljuk. Part´ıci´ os m´ odszer : A part´ıci´os m´odszerek a pontokat k diszjunkt csoportra osztj´ak u ´ gy, hogy minden csoportba legal´abb egy elem ker¨ ulj¨on. A csoportok a klasztereknek felelnek meg. Egy kezdeti particion´al´as ut´an egy u ´ jraparticion´al´asi folyamat kezd˝odik, mely sor´an egyes pontokat m´as csoportba helyez¨ unk ´at. A folyamat akkor ´er v´eget, ha m´ar nem mozognak” ” az elemek. Hierarchikus m´ odszer : A hierarchikus m´odszerek a klaszterekb˝ol egy hierarchikus adatszerkezetet (´altal´aban f´at, amit a szakirodalomban dendogramnak neveznek) ´ep´ıtenek fel. Spektr´ al m´ odszerek : Spektr´al m´odszerek k¨oz´e soroljuk az olyan algoritmusokat, amelyek a csoportok meghat´aroz´as´ahoz az adathalmazt reprezent´al´o m´atrix saj´at´ert´ekeit, illetve saj´atvektorait haszn´alja fel. S˝ ur˝ us´ eg-alap´ u m´ odszerek : A legt¨obb klaszterez˝o algoritmus csak elliptikus alak´ u klasztereket tud kialak´ıtani. A s˝ ur˝ us´eg-alap´ u m´odszerek ennek a hib´anak a kik¨ usz¨ob¨ol´es´ere sz¨ ulettek meg. Az alapvet˝o ¨otlet az, hogy egy klasztert addig n¨ovesztenek, am´ıg a s˝ ur˝ us´eg a szomsz´eds´agban” meghalad egy bizonyos korl´atot. Pontosabban egy klaszteren bel¨ uli ele” mekre mindig igaz, hogy adott sugar´ u k¨or¨on bel¨ ul mindig megtal´alhat´o bizonyos sz´am´ u elem. A s˝ ur˝ us´eg-alap´ u m´odszereket a klaszterez´es mellett kiv´etelek, k´ıv¨ ul´all´o elemek felder´ıt´es´ere (outlier analysis) is alkalmazz´ak. Grid-alap´ u m´ odszerek : A grid-alap´ u m´odszerek az elemeket r´acspontokba k´epezik le, ´es a k´es˝obbiekben m´ar csak ezekkel a r´acspontokkal dolgoznak. Ezeknek az algoritmusoknak a gyorsas´ag a f˝o el˝ony¨ uk.
´ 7. FEJEZET. KLASZTEREZES
174
Klaszterez˝o algoritmusokkal Dun´at lehetne rekeszteni. Szinte b´armilyen ,,butuska” klaszterez˝o algoritmushoz tudunk gener´alni olyan adathalmazt, amit az fog a legjobban csoportos´ıtani. Sajnos ezt a t´enyt a cikkek szerz˝oi is gyakran kihaszn´alj´ak. A v´egeredm´enyen k´ıv¨ ul akadnak m´eg szempontok, amelyeket meg lehet vizsg´alni az egyes klaszterez˝o algoritmusokn´al. A legf˝obb elv´ar´asaink az al´abbiak lehetnek: Sk´ al´ azhat´ os´ ag : Sok algoritmus csak akkor hat´ekony, ha az elemek elf´ernek a mem´ori´aban. Sajnos a gyakorlatban gyakran olyan nagy adatb´azisokat kell feldolgozni, hogy ez a felt´etel nem tarthat´o. Adatt´ıpus : Vannak algoritmusok, amelyek csak intervallum t´ıpus´ u attrib´ utumokkal megadott elemeken m˝ uk¨odnek. Nyilv´anval´o, hogy ez a felt´etel sz˝ uk´ıti az alkalmaz´asok k¨or´et. Tetsz˝ oleges alak´ u, m´ eret˝ u´ es s˝ ur˝ us´ eg˝ u klaszterek : A legt¨obb klaszterez˝o algoritmus csak elliptikus klasztereket k´epes felfedezni. A gyakorlati ´eletben azonban ritk´an elliptikusak a klaszterek. Jogos elv´ar´as, hogy az algoritmus ak´ar am˝oba alak´ u, s˝ot egym´asba ´agyaz´od´o klasztereket is meg tudjon hat´arozni. Emellett j´ol tudjon csoportos´ıtani elt´er˝o m´eret˝ u ´es s˝ ur˝ us´eg˝ u elemhalmazokat. El˝ ozetes ismeretek : Elv´arjuk, hogy az algoritmusok automatikusan meghat´arozz´ak a sz¨ uks´eges klaszterek sz´am´at. Sajnos vannak algoritmusok, amelyeknek el˝ore meg kell adni ezt a param´etert. Zajos adatok, t´ avol es˝ o elemek kezel´ ese : A legt¨obb adatb´azis tartalmaz valamekkora zajt, kiv´eteles, a t¨obbs´egt˝ol t´avol es˝o elemeket. Rossz tulajdons´aga egy algoritmusnak, ha ezeknek az elemeknek nagy hat´asa van a klaszterek kialak´ıt´as´ara. Adatok sorrendj´ ere val´ o´ erz´ ekenys´ eg : Mi´ert fogadn´ank el az algoritmus eredm´eny´et, ha az teljesen megv´altozik, mihelyt m´as sorrendben vessz¨ uk az elemeket ? Az eredm´enyk´ent kapott klaszterek nem f¨ ugghetnek az adatok feldolgoz´as´anak sorrendj´et˝ol. Dimenzi´ o : Bizonyos algoritmusok csak alacsony dimenzi´o eset´en hat´ekonyak. Vannak azonban olyan alkalmaz´asok, ahol az elemek nagyon sok param´eterrel vannak le´ırva, azaz az elemeket egy magas dimenzi´oj´ u t´er elemeik´ent kell felfognunk. ´ Ertelmezhet˝ os´ eg : A felhaszn´al´ok azt v´arj´ak el a klaszterez˝o algoritmusokt´ol, hogy olyan klasztereket tal´aljanak, amelyek j´ol meghat´arozott jegyekkel b´ırnak, ´es viszonylag k¨onny˝ u magyar´azatot adni arra, hogy milyen tulajdons´ag´ u elemek tartoznak az egyes klaszterbe.
7.6. Particion´ al´ o elj´ ar´ asok A particion´al´o algoritmusokn´al a csoportok sz´ama el˝ore adott (k). Az´ert nevezz¨ uk ezeket az elj´ar´asokat particion´al´o elj´ar´asoknak, mert a legels˝o l´ep´esben particion´aljuk az elemeket, ´es a tov´abbiakban csak ´athelyezget¨ unk bizonyos elemeket az egyik r´eszb˝ol a m´asikba. Akkor ker¨ ul egy elem egy m´asik r´eszbe, ha ez´altal javul a klaszterez´es min˝os´ege. A klaszterez´es min˝os´eg´ere az egyes part´ıci´os algoritmusok elt´er˝o c´elf¨ uggv´enyt haszn´alnak. Egy l´ep´es sor´an ´ a c´elf¨ uggv´eny jav´ıt´as´ara ´altal´aban t¨obb lehet˝os´eg is k´ın´alkozik. Altal´ aban az algoritmusok a legjobbat v´alasztj´ak ezek k¨oz¨ ul, teh´at a legmeredekebb lejt˝o” ir´any´aba l´epnek a c´elf¨ uggv´eny ” v¨olgyekkel teli g¨orb´ej´en.
´ 7. FEJEZET. KLASZTEREZES
175
7.6.1. Forgy k-k¨ oz´ ep algoritmusa A k-k¨oz´ep algoritmus (k-means algorithm) [42] az egyik legr´egebbi (1965-b˝ol sz´armazik) ´es legegyszer˝ ubb klaszterez˝o algoritmus vektort´erben megadott elemek csoportos´ıt´as´ara. A klaszterez´es min˝os´eg´enek jellemz´es´ere a n´egyzetes hibaf¨ uggv´enyt haszn´alja. Az algoritmus menete a k¨ovetkez˝o : kezdetben v´alasztunk k darab v´eletlen elemet. Ezek reprezent´alj´ak eleinte a k klasztert. Ezut´an besorolunk minden pontot ahhoz a klaszterhez, amely reprezent´ans elem´ehez az a legink´abb hasonl´o. A besorol´as ut´an u ´ j reprezent´ans pontot v´alasztunk, ´espedig a klaszter k¨oz´eppontj´at. A besorol´as, u ´ j k¨oz´eppont v´alaszt´as iter´aci´os l´ep´eseket addig ism´etelj¨ uk, am´ıg t¨ort´enik v´altoz´as. Jancey 1966-ban Forgy-t´ol teljesen f¨ uggetlen¨ ul ugyanezt az algoritmust javasolta egy apr´o m´odos´ıt´assal [66]. Az u ´ j reprezent´ans pont ne az u ´ j k¨oz´eppont legyen, hanem a r´egi ´es az u ´ j k¨oz´epontot ¨osszek¨ot˝o szakaszon, p´eld´aul a k¨oz´epponton. Ez egy visszafogottabb, kisebb l´ep´esekben halad´o algoritmus. A kisebb l´ep´esek el˝onye, hogy esetleg nem lesznek t´ ull¨ov´esek, t´ ul nagy oszcill´aci´ok. Elm´eletileg azonban egyikr˝ol sem lehet elmondani, hogy jobb lenne a m´asikn´al, bizonyos helyzetekben az egyik, m´askor a m´asik ad jobb eredm´enyt. Az algoritmus sz´ep eredm´enyeket hoz, amennyiben a klaszterek egym´ast´ol j´ol elszigetel˝od˝o kompakt felh˝ok”. El˝onye, hogy egyszer˝ u ´es j´ol sk´al´azhat´o, fut´asi ideje O(nkt), ahol t az ” iter´aci´ok sz´am´at jel¨oli. A k-k¨oz´ep algoritmusnak azonban sz´amos h´atr´anya van. I. Lehet, hogy az algoritmus lok´alis optimumban ´all meg, teh´at az iter´aci´ok sor´an nem v´altozik semmi, m´egis l´etezik olyan csoportos´ıt´as, ahol a n´egyzetes hiba kisebb. II. Csak olyan elemek csoportos´ıt´as´ara haszn´alhat´o, amelyek vektort´erben vannak megadva, hiszen ´ertelmezni kell az elemek k¨oz´eppontj´at. Ezek szerint a k-k¨oz´ep nem haszn´alhat´o olyan alkalmaz´asokban, ahol az elemek attrib´ utumai k¨oz¨ott p´eld´aul kateg´oria t´ıpus´ u is szerepel. III. Rendelkezik a n´egyzetes hib´at minimaliz´al´o algoritmusok minden hib´aj´aval (l´asd a 7.4.1-es r´eszt). A lok´alis optimumba ker¨ ul´es es´ely´enek cs¨okkent´ese ´erdek´eben ´erdemes az algoritmust t¨obbsz¨or futtatni k¨ ul¨onb¨oz˝o kezdeti pontokkal. Azt a csoportos´ıt´ast fogadjuk el, amelynek legkisebb a n´egyzetes hib´aja. Vegy¨ uk ´eszre, hogy ez a megold´as er˝os heurisztika ! Min´el nagyobb n, elvben ann´al t¨obb lok´alis optimum lehet, ann´al nagyobb az es´elye, hogy lok´alis optimumban k¨ot¨ unk ki. Ismereteink szerint nincs olyan k´eplet, ami megmondja, hogy adott elemsz´am eset´en h´anyszor kell futtatni az algoritmust, hogy biztosan (vagy adott val´osz´ın˝ us´eggel) megtal´aljuk a glob´alis optimumot. Weka 3.5.7
A k-k¨ oz´ep algoritmust a weka.clusterers.SimpleKMeans oszt´ aly implement´ alja.
7.6.2. A k-medoid algoritmusok Ezek az algoritmusok a k-k¨oz´ep k´et hib´aj´at pr´ob´alj´ak kik¨ usz¨ob¨olni. Egyr´eszt az eredm´eny kev´esb´e ´erz´ekeny a k´ıv¨ ul´all´o pontokra, m´asr´eszt csak a hasonl´os´agi ´ert´ekeket haszn´alja. Teh´at
´ 7. FEJEZET. KLASZTEREZES
176
nem felt´etel, hogy az elemek vektort´erben legyenek megadva. A k-medoid algoritmusokban egy klasztert nem a k¨oz´eppont reprezent´al, hanem a legink´abb k¨oz´epen elhelyezked˝o elem, a medoid. Tov´abbra is egy n´egyzetes hiba jelleg˝ u f¨ uggv´enyt pr´ob´alunk minimaliz´alni, de a n´egyzetes hiba itt a medoidokt´ol val´o t´avols´agok ¨osszeg´et jelenti (k-medi´an probl´ema, l´asd 7.4.1 r´esz). A PAM algoritmus A PAM (Partitioning Around Medoids) algoritmus [71] menete teljesen megegyezik a kk¨oz´ep menet´evel. Kezdetben v´alasztunk k v´eletlen elemet, ezek lesznek el˝osz¨or a medoidok. Ezut´an elkezd˝odik az elemhozz´arendel´es medoidokhoz, u ´ j medoid v´alaszt´asa iterat´ıv folyamat. Egy elemet a legk¨ozelebbi medoidhoz rendel¨ unk. Abban az esetben v´alasztunk u ´ j medoidot egy klaszterben, ha ezzel cs¨okken a n´egyzetes hiba. Hat´arozzuk meg az ¨osszes nem medoid, medoid p´arra (x, xm ), hogy mennyivel v´altozna a n´egyzetes hiba, ha xm -nek ´atvenn´e a szerep´et x. Nyilv´anval´o, hogy nincsenek hat´assal a n´egyzetes hiba v´altoz´as´ara azok az elemek, amelyekhez van x ´es xm -n´el k¨ozelebbi medoid. A n´egyzetes hiba v´altoz´as´an´al nem csak xm klaszter´ebe tartoz´o elemeket kell megvizsg´alnunk, hiszen lehet, hogy a medoidv´alt´as hat´as´ara egyes elemek u ´ j klaszterbe ker¨ ulnek. Ha vannak olyan p´arok, amelyekn´el a n´egyzetes hiba v´altoz´asa negat´ıv, akkor cser´eljen szerepet annak a p´arosnak a k´et eleme, amelyhez tartoz´o n´egyzetes hiba v´altoz´as abszol´ ut ´ert´ekben a legnagyobb. ¨ Sajnos az algoritmus lass´ u, hiszen egy iterat´ıv l´ep´es id˝oig´enye O(k(n−k)2 ). Osszehasonl´ ıtva a k-k¨oz´ep algoritmussal elmondhatjuk, hogy lassabb, viszont kev´esb´e ´erz´ekeny a t´avol es˝o pontokra. A CLARA ´ es CLARANS algoritmusok A PAM algoritmus nem alkalmas nagy adathalmazok klaszterez´es´ere, mert lass´ u. A CLARA ´es CLARANS algoritmusok a PAM algoritmus kiterjeszt´esei. Nem vizsg´alnak meg minden medoid, nem medoid p´art, hanem csak n´eh´anyat. ´Igy az iter´aci´os l´ep´esben elv´egzend˝o ellen˝orz´esek sz´ama kisebb, ami ´altal az algoritmusok nagyobb adathalmazokon is haszn´alhat´ok. A CLARA algoritmus [71] az eredeti adatb´azis helyett egy v´eletlenszer˝ uen v´alasztott mint´an dolgozik. A medoidok csak ebb˝ol a v´eletlen mint´ab´ol ker¨ ulhetnek ki, de a n´egyzetes hib´at a teljes adatb´azisra n´ezve sz´am´ıtja. Az iter´aci´os l´ep´es id˝oig´enye ´ıgy O(k(n0 −k)(n−k)), ahol n0 a minta nagys´aga. Ha a legkisebb n´egyzetes hib´at eredm´enyez˝o k elem nincs a mint´aban, akkor a CLARA nem fogja megtal´alni az optim´alis megold´ast. C´elszer˝ u ez´ert az algoritmust t¨obb v´eletlenszer˝ uen kiv´alasztott mint´an lefuttatni, ´es a legkisebb n´egyzetes hib´at szolg´altat´ot elfogadni. A CLARANS algoritmus [97] az eredeti adathalmazon dolgozik. Nem az ¨osszes lehets´eges csere ´altal eredm´enyezett n´egyzetes hiba v´altoz´as´at sz´am´ıtja ki, hanem csak egy, v´eletlenszer˝ uen v´alasztott p´ar´et. Ha a v´altoz´as negat´ıv (sikeres v´alaszt´as), akkor a p´ar elemei szerepet cser´elnek, ellenkez˝o esetben u ´ j p´art sorsolunk. A felhaszn´al´o egy param´eterrel szab´alyozhatja a sikertelen v´alaszt´asok maxim´alis sz´am´at, amely el´er´es´evel az algoritmus v´eget ´er. A CLARANS sem biztos, hogy megtal´alja a legkisebb n´egyzetes hib´at ad´o k medoidot miel˝ott a sikertelen pr´ob´alkoz´asok sz´ama el´ern´e a k¨ usz¨ob¨ot. Ez´ert t¨obbsz¨or futtassuk az algoritmust mindig m´as kezdeti medoidokkal.
´ 7. FEJEZET. KLASZTEREZES
177
Vegy¨ unk ´eszre egy fontos tulajdons´agot : eredm´enyezhetik ugyanazt a klaszterez´est k¨ ul¨onb¨oz˝o medoidok. Val´osz´ın˝ u, hogy az optim´alishoz k¨ozeli megold´as ugyanazt a csoportos´ıt´ast adja, mint a legkisebb n´egyzetes hib´at szolg´altat´o medoidok. Ez´ert javasolt a fenti heurisztik´ak alkalmaz´asa nagy adathalmazok eset´en. A CLARANS nagy adathalmazokon val´o alkalmazhat´os´ag´aval foglalkoznak a [37] cikkben. R*-f´ak haszn´alat´aval feloldj´ak azt a k´enyszert, miszerint a pontok f´erjenek el a mem´ori´aban. A PAM ´es rokonainak hib´aja, hogy a k-medi´an probl´em´at pr´ob´alja megoldani, ´ıgy csak egyszer˝ u, eliptikus klasztereket k´epes felfedezni.
7.7. Hierarchikus elj´ ar´ asok A hierarchikus elj´ar´asok onnan kapt´ak a nev¨ uket, hogy az elemeket, klasztereket, alklasztereket hierarchikus adatszerkezetbe rendezik el. K´et fajta hierarchikus elj´ar´ast k¨ ul¨onb¨oztet¨ unk meg : a lentr˝ol ´ep´ıtkez˝o t, m´as n´even egyes´ıt˝o t ´es a fentr˝ ol ´ep´ıtkez˝o t, avagy az oszt´o t. A lentr˝ol ´ep´ıtkez˝o elj´ar´asokn´al kezdetben minden elem k¨ ul¨on klaszter, majd a nagyon k¨ozeli klasztereket egyes´ıti, amennyiben azok teljes´ıtenek bizonyos felt´etelt. A fentr˝ol ´ep´ıtkez˝ok ford´ıtva m˝ uk¨odnek: kezdetben egyetlen klaszter l´etezik, amit kisebb alklaszterekre osztunk, majd ezeket finom´ıtjuk tov´abb. A hierarchikus algoritmusok k´enyes pontja az egyes´ıtend˝o vagy osztand´o klaszterek kiv´alaszt´asa. Miut´an egy egyes´ıt´es (oszt´as) megt¨ort´enik, az ¨osszes tov´abbi m˝ uveletet az u ´j klaszteren v´egezz¨ uk. Ezek a m˝ uveletek teh´at nem megford´ıthat´o folyamatok, ´ıgy rossz v´alaszt´as rossz min˝os´eg˝ u klaszterez´eshez vezet.
7.7.1. Single-, Complete-, Average Linkage Elj´ ar´ asok A legegyszer˝ ubb egyes´ıt˝o, hierarchikus elj´ar´as az al´abbi. I. Kezdetben minden pont k¨ ul¨on klaszterhez tartozik. II. Keress¨ uk meg, majd egyes´ıts¨ uk a legk¨ozelebbi klasztereket. III. Ha a klaszterek sz´ama lecs¨okkent k-ra, akkor ´alljunk meg, ellenkez˝o esetben ugorjunk a 2. l´ep´esre. Ez az egyszer˝ u elj´ar´as a t´avols´ag m´atrixszal dolgozik, felt´etelezi, hogy az elf´er a mem´ori´aban. A t´avols´ag m´atrix egy fels˝o h´aromsz¨og-m´atrix, amelynek i-edik sor´anak j-edik eleme t´arolja az i ´es j elemek t´avols´ag´at. C´elszer˝ u kieg´esz´ıteni minden sort k´et extra inform´aci´oval: a legk¨ozelebbi klaszter sorsz´am´aval ´es annak t´avols´ag´aval. Az elj´ar´as t´ar- ´es id˝oig´enye (az ¨osszehasonl´ıt´asok sz´ama) O(n2 ). A mai t´arkapacit´asok mellett (1-2 Gbyte mem´ori´aval rendelkez˝o g´ep teljesen h´etk¨oznapinak sz´am´ıt) ez azt jelenti, hogy az elemek sz´ama 30-40 ezern´el nem lehet t¨obb. Amennyiben k´et klaszter t´avols´ag´at a legk¨ozelebbi pontjaik t´avols´ag´aval defini´aljuk, akkor az elj´ar´ast single linkage elj´ar´asnak nevezz¨ uk. A single linkage rendk´ıv¨ ul alkalmas j´ol elk¨ ul¨on¨ ul˝o, tetsz˝oleges alak´ u klaszterek felfedez´es´ere. Mivel a minim´alis t´avols´agon alapszik, ez´ert ha a klaszterek t´ ul k¨ozel ker¨ ulnek egym´ashoz, akkor hajlamos a single linkage ¨osszek¨otni ˝oket, ´es esetleg a klaszteren bel¨ ul egy v´ag´ast k´epezni.
´ 7. FEJEZET. KLASZTEREZES
178
´ Tov´abbi hib´aja, hogy ´erz´ekeny az outlierekre. Altal´ aban az outlierek t´avol esnek a t¨obbi pontt´ol, ´ıgy ezeket a pontokat nem fogja egyes´ıteni. P´eld´aul k´et j´ol elszepar´al´od´o, sok pontot tartalmaz´o klasztert ´es egy nagyon t´avoli pontot u ´ gy oszt k´et r´eszre, hogy az egyik r´eszben lesz a t´avoles˝o pont, a m´asikban pedig az ¨osszes t¨obbi. Ha tudjuk, hogy olyan adathalmazt kell klaszterezn¨ unk, ahol a (tetsz˝oleges alak´ u) csoportok j´ol elk¨ ul¨on¨ ulnek egym´ast´ol, tov´abb´a nincsenek outlierek, akkor a single elj´ar´as j´o munk´at v´egez. Ha az elj´ar´ast gr´afelm´eleti szemsz¨ogb˝ol n´ezz¨ uk (teljes gr´afban a pontoknak az elemek, az ´eleken l´ev˝o s´ ulyoknak pedig a t´avols´agok felelnek meg), akkor a single-linkage elj´ar´as egy minim´alis fesz´ıt˝of´at fog tal´alni, amennyiben a klaszterek sz´am´anak egyet adunk meg ´ert´ek¨ ul. Ha k darab csoportba akarjuk sorolni a pontokat, akkor ezt a minim´alis fesz´ıt˝ofa k −1 legnagyobb ´el´enek elhagy´as´aval nyerhetj¨ uk. Azon elemek lesznek egy klaszterben, amelyek egy komponensbe ker¨ ultek. R´aj¨ohet¨ unk arra is, hogy a single-linkage elj´ar´as nem m´as, mint Kruskal algoritmusa m´as k¨ont¨osben. Ha k´et klaszter t´avols´ag´anak meg´allap´ıt´as´ahoz a minim´alis t´avols´ag helyett a maxim´alis t´avols´agot haszn´aljuk, akkor complet linkage elj´ar´asr´ol besz´el¨ unk, ha pedig az ´atlagos hasonl´os´agot, vagy az egyes´ıtett klaszter ´atm´er˝oj´et, akkor average linkage elj´ar´asr´ol.
7.7.2. Ward m´ odszere Ward m´odszere a particion´al´o elj´ar´asokhoz hasonl´oan a legkisebb n´egyzetes hib´at pr´ob´alja minimaliz´alni (teh´at csak vektort´erben megadott pontokn´al alkalmazhat´o). Az egyszer˝ u hierarchikus elj´ar´ast´ol csak az egyes´ıtend˝o klaszterek kiv´alaszt´as´anak m´odj´aban k¨ ul¨onb¨ozik. Azt a k´et klasztert egyes´ıti, amelyek a legkisebb n´egyzetes hiban¨oveked´est okozz´ak (nyilv´anval´oan kezdetben – amikor minden pont k¨ ul¨on klaszter – a n´egyzetes hiba¨osszeg 0). A m´odszer rendelkezik a n´egyzetes hib´at minimaliz´al´o elj´ar´asok minden hib´aj´aval. Emellett nem sk´al´azhat´o, hiszen a t´avols´agm´atrixszal dolgozik, ´es v´eg¨ ul nem garant´alt, hogy megtal´alja a glob´alis minimumot.
7.7.3. A BIRCH algoritmus Ezt az algoritmust nagy adathalmazok klaszterez´es´ere tal´alt´ak ki. Csak vektort´erben adott ~ SS) h´armas (Cluster Feature) jellemez, elemeket tud klaszterezni. Egy klasztert a CF =(N, LS, ~ = PN ~xi ´es SS = PN |~xi |. Egy klaszter ahol N a klaszterben tal´alhat´o elemek sz´ama, LS i=1 i=1 CF-je a klaszter statisztikai jellemz˝oit t´arolja : a nulladik, els˝o ´es m´asodik momentumokat. Az algoritmus sor´an a klaszterek CF-´ert´ekeit t´aroljuk, a benne l´ev˝o elemeket nem. Egy klaszter CF-j´eb˝ol ki tudjuk sz´amolni a klaszter ´atm´er˝oj´et vagy ak´ar k´et klaszter ´atlagos t´avols´ag´at. A CF-ekb˝ol az algoritmus egy u ´ n. CF-f´at ´ep´ıt fel. A CF-fa egy gy¨okeres, (lefel´e) ir´any´ıtott fa. A fa leveleiben CF-´ert´ekek vannak, egy bels˝o pont pedig a pontb´ol indul´o alf´ahoz tartoz´o klaszterek egyes´ıt´es´eb˝ol kapott CF-´ert´eket t´arolja. A f´anak k´et param´etere van. Az els˝o hat´arozza meg a bels˝o pontb´ol indul´o ´agak maxim´alis sz´am´at (´agsz´am korl´at). A m´asodik param´eter adja meg, hogy mekkora lehet maxim´alisan a lev´elhez tartoz´o klaszterek ´atm´er˝oje. Ennek a param´eternek nagy hat´asa van a fa m´eret´ere: min´el kisebb a maxim´alis ´atm´er˝o, ann´al t¨obb kis klasztert kell l´etrehozni, teh´at ann´al nagyobb lesz a fa. A BIRCH algoritmus k´et f´azisra oszlik. Az els˝oben az elemek egyszeri v´egigolvas´asa sor´an fel´ep´ıtj¨ uk a CF-f´at. Ez m´ar eleve egyfajta klaszterez´est eredm´enyez. A m´asodik f´azisban minden
´ 7. FEJEZET. KLASZTEREZES
179
elemet besorolunk a hozz´a legk¨ozelebbi klaszterbe, majd esetleg ebb˝ol kiindulva lefuttatunk egy particion´al´o algoritmust (p´eld´aul a k-k¨ozepet). Az els˝o f´azis sor´an kapott CF-fa – az ´agsz´am korl´at miatt – nem val´osz´ın˝ u, hogy meg fog felelni a term´eszetes klaszterez´esnek. Lehet, hogy bizonyos pontok, amelyeknek egy klaszterben kellene lenni¨ uk, sz´et lesznek v´alasztva, ´es a ford´ıtottja is el˝ofordulhat. S˝ot, az is megt¨ort´enhet, hogy ugyanazok az elemek a fa ´ep´ıt´es´enek k¨ ul¨onb¨oz˝o f´azisaiban k¨ ul¨onb¨oz˝o levelekbe fognak ker¨ ulni! A cikk szerz˝oi javaslatot adnak az outlierek kisz˝ ur´es´ere: ha a CF-f´aban valamely lev´elben tal´alhat´o pontok sz´ama j´oval kevesebb”, mint a levelekben tal´alhat´o pontok ´atlagos sz´ama, ” akkor t¨or¨olj¨ uk a levelet, mert val´osz´ın˝ uleg outliereket tartalmaz. A felhaszn´al´onak kell megadni az elemsz´amra vonatkoz´o k¨ usz¨obsz´amot, ami alatt t¨or¨olj¨ uk a leveleket. Vegy¨ uk ´eszre, hogy ez a megold´as er˝os heurisztika. Sz´amtalan p´eld´at lehetne mutatni, amikor fontos pontokat is t¨or¨ol, mik¨ozben val´odi outliereket a f´aban hagy. A BIRCH algoritmus teh´at t´enyleg meg tud b´ırkozni igaz´an nagy m´eret˝ u adathalmazokkal, azonban rendelkezik szinte az ¨osszes rossz klaszterez´esi tulajdons´aggal. Mivel a m´asodik szakaszban egyfajta k-k¨oz´ep algoritmust futtatunk, ez´ert a BIRCH-re is igazak a k-k¨oz´epr˝ol mondottak. De ezen k´ıv¨ ul ´erz´ekeny az adatok sorrendj´ere, ´es nem sk´ala-invari´ans, hiszen a CF-f´aban l´ev˝o klaszterek maxim´alis ´atm´er˝oj´et a felhaszn´al´onak kell megadnia.
7.7.4. A CURE algoritmus A CURE (Clustering Using REpresentatives) algoritmus [51] ´atmenet a BIRCH ´es a single linkage elj´ar´as k¨oz¨ott a reprezent´ans elemek sz´am´at illet˝oen (a BIRCH-ben a k¨oz´eppont a reprezent´ans pont, a single linkage-ben a klaszter ¨osszes elem´et sz´amon tartjuk.). Egy klasztert c darab (ahol c el˝ore megadott konstans) elem jellemez. Ezek az elemek pr´ob´alj´ak megragadni a klaszter alakj´at. Ennek k¨ovetkezm´enye, hogy a CURE nem ragaszkodik az eliptikus klaszterekhez. Hierarchikus elj´ar´as l´ev´en, kezdetben minden elem k¨ ul¨on klaszter, majd elkezd˝odik a klaszterek egyes´ıt´ese. Az egyes´ıt´esnek h´arom l´ep´ese van. I. A reprezent´ans pontok alapj´an kiv´alasztja a k´et legk¨ozelebbi klasztert. K´et klaszter t´avols´ag´at reprezent´ans pontjaik t´avols´ag´anak minimuma adja. II. Egyes´ıti a klasztereket, majd a 2c reprezent´ans pont k¨oz¨ ul kiv´alaszt c darabot, amelyek v´arhat´oan j´ol fogj´ak reprezent´alni az egyes´ıtett klasztert. Ennek m´odja a k¨ovetkez˝o. Legyen az els˝o reprezent´ans pont a k¨oz´eppontt´ol legt´avolabbi elem. A k¨ovetkez˝o c − 1 l´ep´esben mindig az el˝oz˝oleg kiv´alasztott ponthoz k´epest a legt´avolabbit v´alasszuk reprezent´ans elemnek. III. A reprezent´ans pontokat ¨osszeh´ uzza”, azaz az ´altaluk kijel¨olt k¨oz´eppont fel´e mozdulnak ” u ´ gy, hogy az u ´ j t´avols´ag a k¨oz´eppontt´ol az α-szorosa legyen az eredeti t´avols´agnak. Ennek a l´ep´esnek a c´elja az outlierek hat´as´anak cs¨okkent´ese. Az egyes´ıt´es akkor ´er v´eget, amikor a klaszterek sz´ama el´eri k-t. Az elj´ar´as v´egezt´evel rendelkez´es¨ unkre ´all c reprezent´ans ponttal jellemzett k darab klaszter. Ezut´an a teljes adatb´azis egyszeri v´egigolvas´as´aval az elemeket besoroljuk a hozz´a legk¨ozelebbi klaszterbe a legk¨ozelebbi reprezent´ans pont alapj´an.
´ 7. FEJEZET. KLASZTEREZES
180
A CURE algoritmust felk´esz´ıtett´ek, hogy kezelni tudjon nagy adathalmazokat is. V´eletlen mint´at vesz, azt felosztja r´eszekre, majd az egyes r´eszeket klaszterezi (ez a r´esz teh´at p´arhuzamos´ıthat´o). A kapott klaszterekb˝ol v´eg¨ ul kialak´ıtja a v´egs˝o klasztereket. A r´eszletek ´es az algoritmus sor´an felhaszn´alt adatszerkezetek (k-d fa ´es kupac) ir´ant ´erdekl˝od¨oknek aj´anljuk a [51]-t. A CURE algoritmus sz´amos hib´aval rendelkezik: I. Az elemeknek vektort´erben adottnak kell lenni¨ uk. II. Minden klasztert r¨ogz´ıtett sz´am´ u reprezent´ans pont jellemez. De mi´ert jellemezzen ugyanannyi pont egy kis k¨or alak´ u klasztert ´es egy nagy am˝oba alak´ ut ? Term´eszetesebb lenne, ha a reprezent´ans pontok sz´ama f¨ uggene a klaszter m´eret´et˝ol ´es alakj´at´ol. III. A reprezent´ans pontok kiv´alaszt´asa sem t´ ul kifinomult. A m´odszer nem a klaszter alakj´at fogja meghat´arozni, hanem ink´abb egy konvex burkot. Gondoljuk meg, ha egy k¨or alak´ u klaszterben van egy bem´elyed´es, akkor a bem´elyed´es k¨orny´ek´en tal´alhat´o pontokat sosem fogja az elj´ar´as reprezent´asnak v´alasztani, hiszen ˝ok k¨ozel vannak a t¨obbi ponthoz. Am˝oba alak´ u klasztern´el teh´at a reprezent´ans pontok alapj´an nem lehet meg´allap´ıtani, hogy hol vannak a bem´elyed´esek, ´ıgy azt sem d¨onthetj¨ uk el, hogy egy nagy ellipszissel van dolgunk, vagy egy ´erdekes alak´ u am˝ob´aval. IV. Klaszter egyes´ıt´ese ut´an a reprezent´ans pontokat o¨sszeh´ uzzuk a k¨oz´eppont fel´e. Nagy klaszter eset´eben sok egyes´ıt´es, ´ıgy sok ¨osszeh´ uz´as van. Az ¨osszeh´ uz´as ´altal t´avolabb ker¨ ulnek a reprezent´ans pontjai m´as reprezent´ans pontokt´ol, ´ıgy egyre ritk´abban lesz kiv´alasztva egyes´ıt´esre. Mintha az algoritmus ,,b¨ untetn´e” a nagy klasztereket. V. Rosszul kezeli az elt´er˝o s˝ ur˝ us´eg˝ u pontokat. Ezt legink´abb az al´abbi ´abra illusztr´alja. A
r r r r r r r
r r r r r r r
r r r r r r r
1 r r r r r r r
r r r r r r r
r r r r r r r
r r r r r r r
r r r r r r r
r r r r r r r
r r r r r r r
2
r r r r r r r
r r r r r r r
r r r r r r r
r r r r r r r
t
t
t
t
t t t t
t t t t
3
t
t
t
4 t
t
t
t
t
t
t
t
t
t
t
t t t t
t t t t
t t t t
t t t t
t t t t
t t t t
t t t t
7.4. ´abra. Hib´as klaszterez´es: elt´er˝o s˝ ur˝ us´eg˝ u klaszterek eset´en CURE az 1-es ´es 2-es klasztereket fogja egyes´ıteni (azok reprezent´ans pontjai vannak egym´ashoz legk¨ozelebb) a 3-as ´es 4-es klaszterek egyes´ıt´ese helyett. Megjegyezz¨ uk, hogy az algoritmust bemutat´o cikk hossz´ u bevezet˝oj´eben ´eppen arra h´ıvta fel a figyelmet, hogy a m´asok ´altal publik´alt algoritmusok mennyire rosszul kezelik a k¨ ul¨onb¨oz˝o m´eret˝ u ´es am˝oba alak´ u klasztereket. Ennek ellen´ere a tesztekben bemutatott adathalmazban nagys´agrendileg azonos m´eret˝ uek voltak a klaszterek ´es alakjuk elliptikus volt.
´ 7. FEJEZET. KLASZTEREZES
181
7.7.5. A Chameleon algoritmus A Chameleon k´et nagy f´azisra oszlik. Kiindul´ask´ent el˝o´all´ıtja a k-legk¨ozelebbi gr´afot, majd ezt r´eszekre osztja. A m´asodik f´azisban bizonyos r´eszeket egyes´ıt, el˝o´all´ıtva ezzel a v´egleges csoportokat. A Chameleon az els˝o olyan hierarchikus algoritmus, amely a klaszterek egyes´ıt´es´en´el nem csak a klaszterek t´avols´ag´at (d(Ci, Cj )) veszi figyelembe, hanem az egyes klasztereken bel¨ uli t´avols´agokat is, pontosabban a relat´ıv bels˝o kapcsol´od´asukat (RI(Ci , Cj )) is (relative interconnectivity). Abban az esetben egyes´ıt k´et klasztert, amennyiben d(Ci , Cj ) ´es RI(Ci , Cj ) is nagy ´ert´eket vesz fel. Ennek az ¨otletnek k¨osz¨onhet˝o, hogy a Chameleon – szemben az eddigi algoritmusokkal – j´ol tud klaszterezni elt´er˝o s˝ ur˝ us´eg˝ u adathalmazokat is. N´ezz¨ uk meg, hogyan defini´alja az algoritmus k´et klaszter relat´ıv bels˝o kapcsol´od´as´at ´es relat´ıv t´avols´ag´at. Relat´ıv t´ avols´ ag Relat´ıv bels˝ o kapcsol´ od´ as
7.8. S˝ ur˝ us´ eg-alap´ u m´ odszerek A s˝ ur˝ us´eg alap´ u m´odszerek (density based methods) szerint egy klaszteren bel¨ ul j´oval nagyobb az elemek s˝ ur˝ us´ege, mint a klaszterek k¨oz¨ott. Ez alapj´an lehet elv´alasztani a klasztereket ´es azonos´ıtani az outliereket.
7.8.1. A DBSCAN algoritmus A DBSCAN a legels˝o s˝ ur˝ us´eg-alap´ u elj´ar´as [38]. A s˝ ur˝ us´eg meghat´aroz´as´ahoz k´et param´etert haszn´al, egy sug´ar jelleg˝ u m´ert´eket (eps) ´es egy elemsz´am k¨ usz¨ob¨ot (minpts). A p elem szomsz´edai (Neps (p)) azok a elemek, amelyek p-t˝ol legfeljebb eps t´avols´agra vannak. A q elem a p-b˝ol s˝ ur˝ us´eg alapon k¨ozvetlen el´erhet˝ o, ha q ∈ Neps (p) ´es |Neps (p)| ≥ minpts. Naivan azt gondolhatn´ank, hogy egy klaszterben tal´alhat´o elemek s˝ ur˝ us´eg alapon k¨ozvetlen el´erhet˝ok egym´asb´ol. Ez nem ´ıgy van, hiszen a klaszter hat´ar´an l´ev˝o elemek eps t´avols´ag´an bel¨ ul nincs mindig minpts darab elem. A q elem s˝ ur˝ us´eg alapon el´erhet˝ o p-b˝ol, ha l´eteznek p1 = p, p2 , . . . , pn = q elemek u ´ gy, hogy pi+1 s˝ ur˝ us´eg alapon k¨ozvetlen el´erhet˝o pi -b˝ol. A p ´es q elemek s˝ ur˝ us´eg alapon ¨osszek¨ot¨ottek, ha l´etezik olyan o elem, amelyb˝ol p ´es q s˝ ur˝ us´eg alapon el´erhet˝o. A klaszter defin´ıci´oja ezek alapj´an: 7.5. defin´ıci´ o. Az elemek egy C r´eszhalmaza klaszter, amennyiben I. Ha p ∈ C ´es q s˝ ur˝ us´eg-alapon el´erhet˝ o p-b˝ol, akkor q ∈ C (maximalit´as). II. Ha p, q ∈ C, akkor p ´es q s˝ ur˝ us´eg alapon ¨osszek¨ot¨ottek. Egy elemet zajnak (noise) h´ıvunk, ha nem tartozik egyetlen klaszterbe sem. Legyen a C klaszter egy p eleme olyan, hogy |Neps (p)| ≥minpts. Ekkor k¨onny˝ u bel´atni, hogy C megegyezik azoknak a elemeknek a halmaz´aval, amelyek p-b˝ol s˝ ur˝ us´eg alapj´an el´erhet˝ok. E tulajdons´agot haszn´alja az algoritmus. V´alasszunk egy tetsz˝oleges elemet (p) ´es hat´arozzuk meg a s˝ ur˝ us´eg alapj´an el´erhet˝o elemeket. Amennyiben |Neps (p)| ≥ minpts felt´etel teljes¨ ul, akkor
´ 7. FEJEZET. KLASZTEREZES
182
meghat´aroztunk egy klasztert. A felt´etel nemteljes¨ ul´es nem jelenti azt, hogy p zaj, lehet, hogy egy klaszter hat´ar´an helyezkedik el. |Neps (p)| < minpts eset´en egyszer˝ uen v´alasszunk egy u ´j elemet. Ha m´ar nem tudunk u ´ j elemet v´alasztani, akkor az algoritmus v´eget ´er. Azokat az elemeket tekintj¨ uk zajnak (outliernek), amelyeket nem soroltunk semelyik klaszterbe. A DBSCAN algoritmus el˝onye, hogy tetsz˝oleges alak´ u klasztert k´epes felfedezni, ´es ehhez csak az elemek t´avols´ag´at haszn´alja. H´atr´anya, hogy rendk´ıv˝ ul ´erz´ekeny a k´et param´eterre (eps, minpts). S˝ot amennyiben a klaszterekben tal´alhat´o elemek s˝ ur˝ us´ege elt´er˝o, akkor nem biztos, hogy lehet olyan param´etereket adni amivel a DBSCAN j´o eredm´enyt ad. Weka 3.5.7 A DBScan algoritmust a weka.clusterers.DBScan oszt´ aly implement´ alja.
8. fejezet Id˝ osorok elemz´ ese
183
9. fejezet Webes adatb´ any´ aszat Az Internetr˝ol t¨ort´en˝o automatikus inform´aci´okinyer˝o alkalmaz´asok gombam´od szaporodnak napjainkban. A ter¨ ulet m´elyebb ´attekint´ese t´ ulmutat ezen ´ır´as keretein, ez´ert csak a tal´an legfontosabb k´et t´em´at j´arjuk k¨or¨ ul: a weboldalak rangsorol´as´at ´es az intelligens Internetes keres´est. Az oldalak k¨oz¨otti megfelel˝o rangsor fel´all´ıt´asa napjaink kritikus feladata. A keres˝orendszerek mindennapos eszk¨oz¨okk´e v´altak. Naponta milli´ok haszn´alj´ak, ´ıgy a helyes m˝ uk¨od´es¨ uk mindenki ´erdeke. Minden honlapk´esz´ıt˝o ´alma, hogy az oldala els˝ok´ent jelenjen meg a keres˝ok ´altal visszaadott list´aban. Ez c´egeknek sok l´atogat´ot ´es ´ıgy sok potenci´alis u ¨ gyfelet jelent, m´asfel˝ol a gyakran l´atogatott oldalakon elhelyezett rekl´amok is j´o bev´etelt jelentenek. K¨ozponti szerep¨ uk miatt fokozott t´amad´asoknak vannak kit´eve. Egy rangsorol´o algoritmus elk´esz´ıt´esekor ez´ert fontos megvizsg´alni, hogy az milyen tr¨ ukk¨okkel lehet azt becsapni, ´es ezek ellen hogyan kell v´edekezni.
9.1. Oldalak rangsorol´ asa K´epzelj¨ uk el azt a ritk´anak nem mondhat´o helyzetet, amikor egy keres˝orendszer a feltett k´erd´es¨ unkre rengeteg oldalt tal´al, olyan sokat, hogy kivitelezhetetlen feladat egyes´evel ´atn´ezni azokat ´es kiv´alasztani a fontosakat. M´egis tudjuk azt, hogy a tal´alt oldalaknak valamilyen k¨oze van a k´erd´es¨ unkh¨oz: egyeseknek t¨obb, m´asoknak kevesebb. Sz¨ uks´eg van teh´at az oldalak automatikus rangsorol´as´ara, aminek alapk¨ovetelm´enye, hogy form´alisan is tudjuk defini´alni egy weboldal fontoss´ag´at”. Felmer¨ ul a k´erd´es, hogy objekt´ıv” e a fontoss´ag defini´al´asa. A v´alasz egyszer˝ u : nem. A k´erd´esre kiadott dokumentumok k¨oz¨ott ugyanis k¨ ul¨onb¨oz˝o emberek nem ugyanazt a sorrendet ´all´ıtan´ak fel. A feladatot meg kell oldani, akkor is ha t¨ok´eletes megold´ast m´eg elm´eletileg sem tudunk adni. Megel´egsz¨ unk ez´ert a fontoss´ag valamilyen heurisztik´an alapul´o k¨ozel´ıt´es´evel. Algoritmikusan szeml´elve k´et algoritmuscsal´ad l´etezik, az egyik csal´adba tartoz´o algoritmusok a gr´ af osszes pontj´at s´ ¨ ulyozz´ak, majd a s´ ulyok rendez´es´evel ´allap´ıtj´ak meg a sorrendet. Ezek a glob´ alis algoritmusok, m´ıg a m´asik csal´adot k´erd´esf¨ ugg˝o rangsorol´asok nak nevezhetj¨ uk, ami azt jelenti, hogy a rangsorol´o algoritmus minden k´erd´esn´el lefut, ´es ekkor csak egy r´eszgr´af cs´ ucsait pontozza. Mindk´et csal´adnak megvan a maga el˝onye, az els˝onek csak egyszer kell lefutni, ´es ut´ana csak mem´ori´ab´ol val´o olvas´as a keres˝oszoftver feladata, m´ıg a m´asodik figyelembe tudja venni azt a t´enyt, hogy egy weboldal k¨ ul¨onb¨oz˝o t´em´aj´ u keres´esekn´el k¨ ul¨onb¨oz˝o m´odon szignifik´ans. 184
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
185
9.1.1. Az egyszer˝ u Page Rank A Google keres˝orendszerben 1998-ban implement´alt Page Rank (Brin-Page) algoritmus a gyakorlati alkalmaz´asok sor´an nagyon j´o eredm´enyt hozott [102]. A tov´abbiakban az ˝o m´odszer¨ uket mutatjuk be. Rendelkez´es¨ unkre ´all N darab weboldal a hagyom´anyos weboldalak minden tulajdons´ag´aval. Feladat lenne ezek k¨oz¨ott egyfajta fontoss´agi sorrendet fel´all´ıtani. Egy oldal fontoss´ag´at, hasznoss´ag´at j´ol t¨ ukr¨ozi az oldalt megl´atogat´o emberek sz´ama. A legt¨obb oldal k´esz´ıt˝oi azonban a let¨olt´esek sz´am´at illet˝oen semmilyen audit´al´ast nem v´egez, ´ıgy rangsorol´o algoritmust nem alapozhatunk ezen inform´aci´okra. A linkeknek nagy szerep¨ uk van a fontoss´agban. Ha valaki saj´at oldal´an egy m´asik oldalra mutat´o linket helyez el, akkor azt az´ert teszi, mert szerinte, a m´asik oldal hasznos inform´aci´ot tartalmaz, kapcsol´odik az oldal t´em´aj´ahoz, valamilyen szempontb´ol fontos. A Page Rank algoritmus (´es minden kifinomult keres˝o rendszer) az oldalak k¨oz¨otti linkstrukt´ ura alapj´an defini´alja a fontoss´agot. Egy oldal fontoss´ag´at az oldal rangja adja meg. Elk´epzel´eseinknek megfelel az az ´all´ıt´as, hogy ha valahova sok link mutat, akkor az fontos oldal, tov´abb´a, ha egy oldal fontos, akkor az ´altala mutatott lapok is azok. Inform´alisan egy rekurz´ıv defin´ıci´ot adn´ank a fontoss´agnak: egy ” oldal fontos, ha fontos oldalak mutatnak r´a”. A rang meghat´aroz´as´ahoz sz¨ uks´eg¨ unk van az oldalak k¨oz¨otti linkstrukt´ ura ismeret´ere. Defini´aljuk az N weblaphoz A N ×N-es sor-sztochasztikus m´atrixot az al´abbiak szerint : amennyiben az i-edik lapon n link tal´alhat´o, akkor 1 ha j-re mutat link i-r˝ol Aij = n 0 egy´ebk´ent Az A m´atrix (sor-)sztochasztikus, azaz ∀i-re m´atrixokra igaz a k¨ovetkez˝o t´etel:
PN
j=1 Aij
= 1, Aij ≥ 0. A sor-sztochasztikus
9.1. t´ etel. Legyen A sor-sztochasztikus m´atrix (N × N-es), j = ( N1 , . . . , N1 ). Ekkor p = lim jAm m→∞
l´etezik ´es pA = p. 9.2. defin´ıci´ o. A p = (p1 , . . . , pN ) ∈ RN at az i-edik lap rangja + vektor a lapok rang-vektora (teh´ pi ). Az algoritmus menete a k¨ovetkez˝o : I. K´esz´ıts¨ uk el az A m´atrixot az adott weblapok topol´ogi´aj´ab´ol. II. Kezdetben minden oldal rangja
1 , N
teh´at p = ( N1 , . . . , N1 ),
III. v´egezz¨ uk el pi+1 ← pi A iter´aci´ot, IV. ha teljes¨ ulnek a le´all´asi felt´etelek akkor STOP, ellenkez˝o esetben ugr´as az el˝oz˝o utas´ıt´asra.
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
186
Le´all´asi felt´etel lehetne az, hogy a p rang-vektor egy adott k¨ usz¨obn´el kisebbet v´altozik. Az eredeti c´elunk azonban az egyes oldalak rangsorol´asa, nem pedig a pontos rang´ert´ekek meghat´aroz´asa. Ez´ert sokkal ´esszer˝ ubb, ha akkor ´all´ıtjuk le az iter´aci´ot, ha a rang-vektor alapj´an fel´all´ıtott sorrend nem v´altozik egy adott sz´am´ u iter´aci´o ut´an. A fent kimondott t´etel a garancia arra, hogy az iter´aci´o sor´an p rang-vektor egy vektorhoz konverg´al, amib˝ol k¨ovetkezik, hogy az algoritmus minden esetben le fog ´allni. K´epzelj¨ uk azt, hogy kezdetben minden oldal fontoss´aga N1 , ´es minden lap a k¨ovetkez˝o l´ep´est hajtja v´egre: a saj´at fontoss´ag´at egyenl˝o m´ert´ekben sz´etosztja az ´altala mutatott oldalak k¨oz¨ott. K¨onny˝ u v´egiggondolni, ha a fenti l´ep´est hossz´ u id˝on kereszt¨ ul folytatj´ak, akkor minden lap fontoss´aga meg fog egyezni a fent defini´alt rang-vektor laphoz tartoz´o rang´ert´ek´evel. A fenti algoritmus elfogad´as´ahoz egy m´asik intuit´ıv magyar´azat lehetne az al´abbi: Tegy¨ uk fel, hogy a sztochasztikus sz¨orf¨ol˝o” egy olyan, az Interneten barangol´o l´eny, aki a kiindul´asi ” lapot, egyenletes eloszl´as szerint, v´eletlenszer˝ uen v´alasztja ki, valamint minden k¨ovetkez˝o oldalt az aktu´alisr´ol el´erhet˝ok k¨oz¨ ul v´alasztja ki hasonl´oan v´eletlenszer˝ uen. Bel´athat´o, hogy annak a val´osz´ın˝ us´ege, hogy v´egtelen sok l´ep´es ut´an a szesz´elyes sz¨orf¨ol˝o az i-edik lapra ker¨ ul, pi . M Az algoritmus vitathatatlan el˝onye, hogy gyors (N · j · A j´ol sz´am´ıthat´o) ´es k¨onnyen programozhat´o. N´ezz¨ unk egy nagyon egyszer˝ u p´eld´at az algoritmusra. 3 oldalt kell rangsorolnunk, amelyek linkstrukt´ ur´aja a k¨ovetkez˝o ´abr´an l´athat´o. X
Y Z
9.1. ´abra. P´elda az egyszer˝ u Page Rank algoritmusra A topol´ogia alapj´an az A m´atrix: 1
0 21 A = 0 0 1 1 1 0 2 2 2
Az els˝o h´arom iter´aci´o ut´an a rang vektor N-szerese:
N · p1 = (1,1,1) 1 3 N · p2 = (1, , ) 2 2 9 1 11 N · p3 = ( , , ) 8 2 8 5 11 17 N · p4 = ( , , ) 4 16 16
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
187
Megmutathat´o, hogy p = ( 56 , 35 , 56 ) Ennek az egyszer˝ u algoritmusnak k´et nagy hib´aja van, melyeket zs´akutca, illetve p´okh´al´o probl´em´anak h´ıvunk. Zs´ akutca probl´ ema Zs´akutc´anak nevezz¨ uk azt az oldalt, amir˝ol nem mutat link semmilyen m´as lapra, de m´as lapr´ol mutat r´a. Amennyiben az oldalak k¨oz¨ott zs´akutca van, akkor az A m´atrix ehhez az oldalhoz tartoz´o sora csupa 0 elemet fog tartalmazni. Ekkor az A m´atrix nem lesz sor-sztochasztikus, ´es oldalak fontoss´aga kisziv´arog” a rendszerb˝ol. A probl´ema szeml´eltet´es´ere n´ezz¨ uk a k¨ovetkez˝o ” ´abr´an l´athat´o lapstrukt´ ur´at.
X
Y
9.2. ´abra. P´elda zs´akutc´ara 1 1 A hozz´a tartoz´o m´atrix: A = 02 02 . K¨onnyen ellen˝orizhet˝o, hogy A2 = 1 A, amib˝ol ad´odik, hogy a rangvektor a 0 vektorhoz fog tartani. Am = 2m−1
1 1 4 4
0 0
= 12 A , tov´abb´a
P´ okh´ al´ o probl´ ema Lapok olyan rendszer´et, amelyben minden link csak e rendszerbeli lapra mutat, p´okh´al´onak nevezz¨ uk. Jellemz˝o r´ajuk, hogy az iter´aci´o sor´an magukba gy˝ ujtik (esetleg az ¨osszes) a fontoss´agot. Ez komoly vissza´el´esekhez adhat alapot ´es SPAM-el´eshez vezethet, hiszen linkek elt´avol´ıt´as´aval b´arki alak´ıthat ki p´okh´al´ot, amennyiben van arra az oldalra mutat´o link. P´eldak´ent t´erj¨ unk vissza a 9.1 laptopol´ogi´ahoz, csak most tegy¨ uk fel, hogy Y a Z-re mutat´o linkj´et ´at´all´ıtja u ´ gy, hogy ezent´ ul saj´at mag´ara mutasson. Ekkor A m´atrix a k¨ovetkez˝ok´eppen m´odosul: 1 0 21 2 A = 0 1 0 1 1 0 2 2 a rang vektor N-szerese az els˝o n´egy iter´aci´o sor´an:
N · p1 = (1,1,1) 3 1 N · p2 = (1, , ) 2 2 3 7 1 N · p3 = ( , , ) 4 4 2 5 3 N · p4 = ( ,2, ) 8 8 1 35 5 N · p5 = ( , , ) 2 16 16 bel´athat´o, hogy a rang vektor a p = (0,1,0) vektorhoz fog tartani.
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
188
9.1.2. Az igazi Page Rank A fenti k´et probl´ema kik¨ usz¨ob¨ol´es´ere az oldalak megad´oztat´as´at javasolt´ak. Ennek ¨otlete az, hogy szedj¨ uk be mindenkit˝ol fontoss´ag´anak bizonyos sz´azal´ek´at, majd a beszedett ad´ot osszuk el egyenl˝oen. Amennyiben -nal jel¨olj¨ uk a befizetend˝o ad´ot, akkor a fentiek alapj´an A m´atrix 1 N
1 N
1 N
1 N
helyett a B = · U + (1 − ) · A m´atrixot haszn´aljuk, ahol U = . . . . . . . .
K¨onnyen ellen˝orizhet˝o, hogy a B m´atrix sor-sztochasztikus, ´ıgy alkalmazhatjuk r´a a 9.1-es t´etelt, ami ism´et garant´alja, hogy az algoritmus le fog a´llni. Az igazi Page Rank algoritmusban az egyes lapok nem csak szomsz´edjaiknak osztj´ak sz´et fontoss´agukat, hanem el˝osz¨or befizetik az ad´ot a kir´alyi kincst´arba, ´es csak a marad´ekot osztj´ak szomsz´edjaiknak. Fontoss´agot pedig kapnak a r´a mutat´o oldalak mellett a kincst´arban tal´alhat´o beszedett ad´ob´ol is, egyenl˝o m´ert´ekben. Amennyiben A m´atrix helyett B m´atrixot alkalmazzuk, a sztochasztikus sz¨orf¨ol˝ore nem lesz igaz az, hogy pi annak val´osz´ın˝ us´ege, hogy i-edik oldalra l´ep. Igaz lesz viszont a szesz´elyes szto” chasztikus sz¨orf¨ol˝ore”, akire val´osz´ın˝ us´eggel r´aj¨on a szesz´ely, ´es ilyenkor a k¨ovetkez˝o ´allom´as´at, egyenletes eloszl´ast k¨ovetve, v´eletlenszer˝ uen v´alasztja a lapok k¨oz¨ ul. Az igazi Page Rank algoritmust a kezdeti Google(http://www.google.com) keres˝orendszer haszn´alta a tal´alt oldalak rangsorol´as´ahoz. A keres˝orendszerr˝ol r´eszletesebb le´ır´as tal´alhat´o a [23] cikkben.
9.2. Webes keres´ es Internetes keres´es sor´an egy keres˝orendszert˝ol k´et t´ıpus´ u k´erd´esre k´erhet¨ unk v´alaszt : t´ ag k´ erd´ es A v´alaszt tartalmaz´o, vagy a k´erd´eshez kapcsol´od´o oldalak sz´ama nagy. Ilyen k´erd´es lehet, hogy inform´aci´ot szeretn´enk a java nyelvr˝ol, vagy a g´epkocsigy´art´okr´ol. sz˝ uk k´ erd´ es Ezen olyan specifikus k´erd´est ´ert¨ unk, amelyre a v´alaszt kev´es oldal tartalmazza. ˝ usszeia h´anyadik perc´eben hangzik el az els˝o emberi Ilyen k´erd´es lehet, hogy A 2001. Urod¨ ” sz´o ?” Sz˝ uk k´erd´esre a v´alaszad´as automatikus m´odja j´oval nehezebb feladat, mint t´ag k´erd´esre. Sz˝ uk k´erd´esn´el annak vesz´elye fenyeget, hogy egy´altal´an nem tal´alunk v´alaszt puszt´an hasonl´o szavakon alapul´o keres´essel. T´ag k´erd´esekn´el ezzel szemben a probl´ema ´eppen a v´alaszhoz kapcsol´od´o lapok t´ ul nagy sz´ama lehet. Ebben a r´eszben arra keres¨ unk v´alaszt, hogy mik´ent tudjuk kiv´alasztani a t´ag k´erd´esre kapott nagy mennyis´eg˝ u oldalb´ol a k´erd´eshez legink´abb kapcsol´od´o oldalakat.
9.2.1. Gy˝ ujt˝ olapok ´ es Tekint´ elyek – a HITS algoritmus Az 1999-ben Jon Kleinberg ´altal publik´alt Gy˝ ujt˝olapok ´es Tekint´elyek (Hubs and Authorities) m´odszere [75] a lapok linkstrukt´ ur´aj´at haszn´alja fel. A linkstrukt´ ura mellett sz´amos inform´aci´o ´allhat rendelkez´es¨ unkre, amelyek seg´ıts´eg¨ unkre lehetnek az oldalak fontoss´ag´anak meghat´aroz´as´aban. A l´atogat´asok sz´am´at m´ar eml´ıtett¨ uk. Probl´ema vele, hogy az oldalak eleny´esz˝o r´esz´et figyelik audit´al´o szoftverek.
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
189
Az oldalon elhelyezett metaadatok, kulcsszavak, az oldal le´ır´asa, de ezenk´ıv¨ ul a sz¨ovegben kiemelt szavak (d˝olt bet˝ u, vastag bet˝ u, villog´o bet˝ u . . . ) szint´en seg´ıthetnek a k´erd´ehez kapcsol´od´as m´ert´ek´enek eld¨ont´es´eben. A tanulm´anyban ezek szerep´et nem vessz¨ uk figyelembe. Jel¨olj¨ uk σ-val a k´erd´est, amire a v´alaszt keress¨ uk. Az algoritmus f´azisai a k¨ovetkez˝ok: I. Mσ (mag)laphalmaz kiv´alaszt´asa hagyom´anyos keres˝ovel. II. Mσ b˝ov´ıt´es´evel b´azis lap-r´eszgr´af konstru´al´asa. Jel¨olj¨ uk ezt a b´azist Bσ -val. III. A σ-hoz tartoz´o gy˝ ujt˝olapok ´es tekint´elyek (szimult´an) kisz˝ ur´ese Bσ -b´ol. A gy˝ ujt˝olapoknak ´es tekint´elylapoknak nem adunk pontos matematikai defin´ıci´ot. Minden oldalhoz egy gy˝ ujt˝olap- ´es egy tekint´ely´ert´eket fogunk rendelni. Min´el nagyobbak ezek az ´ert´ekek, ann´al ink´abb tekint¨ unk egy oldalt az adott k´erd´eshez tartoz´o gy˝ ujt˝o-, illetve tekint´elylapnak. Intuit´ıv defin´ıci´oja a k´et fogalomnak a k¨ovetkez˝o lehetne: gy˝ ujt˝olap az olyan lap, ami sok tekint´elylapra mutat, tekint´elylapok pedig azok, amire sok gy˝ ujt˝olap mutat. Ezek szerint a gy˝ ujt˝olapok a σ szempontj´ab´ol ´ert´ekes linkek gy˝ ujtem´enye, a tekint´elylapok pedig a σ k´erd´eshez kapcsol´od´o ´ert´ekes inform´aci´okat tartalmaz´o lapok. P´eld´aul az AMS honlapja egy matematikai gy˝ ujt˝olap, Jeffrey D. Ullman adatb´any´aszatr´ol sz´ol´o jegyzetv´azlata pedig tekint´elylap, amennyiben σ =”adatb´any´aszati algoritmusok”. Amikor egy k´erd´est feltesz¨ unk, akkor els˝osorban a v´alasz ´erdekel benn¨ unket, nem pedig az olyan oldalak, amik sok hasznos oldalra mutatnak. Az eredm´eny szempontj´ab´ol a tekint´elyoldalak a fontosak. Ezek megtal´al´as´ahoz gyakran a gy˝ ujt˝ooldalakon kereszt¨ ul vezet az u ´ t, ´ıgy ´erdemes ˝oket egy¨ utt keresni. Most pedig n´ezz¨ uk r´eszletesen az algoritmus egyes l´ep´eseinek m˝ uk¨od´es´et. Mσ mag meghat´ aroz´ asa Az algoritmus kiindul´as´at k´epez˝o weboldalaknak egy hagyom´anyos keres˝o ´altal σ k´erd´esre kiadott els˝o t darab lapj´at vessz¨ uk. Ez a kezd˝ok´eszlet azonban nem mentes a hagyom´anyos keres˝orendszerek ´altal adott hib´akt´ol. Egyr´eszr˝ol lehet, hogy fontos oldalak nincsenek benne a tal´alati list´aban. A ”g´epkocsi gy´art´ok” k´erd´esre p´eld´aul nem fogj´ak kiadni a Honda honlapj´at, mert a lapon ilyen sz´o¨osszet´etel nincsen. M´asr´eszr˝ol sok olyan oldalt is gener´alni fog, amelyek nem kapcsol´odnak a t´em´ahoz. Ennek t¨obb oka is lehet, p´eld´aul az, hogy a k´erd´esnek t¨obb ´ertelme is van (gondoljunk itt a Java nev˝ u szigetre), vagy az egyes oldalak hazudnak”, ” azaz olyan tartalmat ´all´ıtanak magukr´ol, amelyek nem igazak(pl.:mp3, free holiday . . . ). A fenti h´atr´anyok ellen´ere elmondhatjuk, hogy ennek a magnak a k¨ornyezete” m´ar hasznos in” form´aci´okban gazdag lesz. Bσ b´ azis l´ etrehoz´ asa A gy˝ ujt˝olapokat ´es a tekint´elyoldalakat a b´azisb´ol fogjuk kinyerni, ´ıgy ezzel szemben az al´abbi elv´ar´asaink vannak: I. Ne legyen t´ ul nagy! II. Legyen fontos lapokban gazdag ! III. Tartalmazza a σ-hoz relev´ans lapokat (vagy azok legt¨obbj´et) !
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
190
Bázis
Mag
9.3. ´abra. B´azis gener´al´asa a magb´ol A tesztel´es sor´an kapott eredm´enyek azt mutatt´ak, hogy az al´abbi egyszer˝ u algoritmus a gyakorlatban j´ol m˝ uk¨odik. Induljunk ki az el˝oz˝o pontban defini´alt magb´ol(azaz legyen Bσ =Mσ ), majd adjuk hozz´a az ¨osszes olyan oldalt, amelyre mutat link valamely Bσ -beli oldalr´ol. Ezen k´ıv¨ ul vegy¨ uk Bσ -hoz azokat az oldalakat, amelyekr˝ol mutat link valamely Bσ -beli lapra. Elk´epzelhet˝o, hogy n´epszer˝ u oldal is van Bσ -ban, amelyre rengeteg oldal mutathat, ez´ert egy oldal maximum egy el˝ore meghat´arozott konstans (d) sz´am´ uu ´ j lap felv´etel´et okozhatja”. Ez´ert ha egy lapra d” n´el t¨obb lap mutat, akkor v´alasszunk ezek k¨oz¨ ul v´eletlenszer˝ uen d darabot. T¨or¨olj¨ uk a b´azisb´ol a navig´aci´ot szolg´al´o ´eleket (pl.: vissza az el˝oz˝o oldalra) u ´ gy, hogy csak a k¨ ul¨onb¨oz˝o hosztok k¨oz¨otti ´elek maradjanak. Itt azt a felt´etelez´est tett¨ uk, hogy a hosztokat meg lehet k¨ ul¨onb¨oztetni URL-j¨ uk alapj´an (Ez nyilv´an nem t¨ok´eletes megold´as, gondoljunk csak a unix alap´ u rendszerekre, ahol az egyes felhaszn´al´ok honlapj´anak domainnevei megegyeznek. Nem k¨onny˝ u k´erd´es az, hogy egy adott domaint mikor tekints¨ unk csak egy oldalnak, illetve mikor osszuk fel t¨obbre. Kleinberg tapasztalata szerint a t = 200, d = 50 mellett a b´azis m´erete 1000 ´es 5000 k¨oz¨ott lesz. Tekint´ elyek kinyer´ ese A tesztek alapj´an a b´azis tartalmazni fogja a tekint´elyek nagy r´esz´et. Hogyan lelj¨ uk meg ezeket a t¨obb ezer oldal k¨oz¨ ul? Els˝o ¨otlet lehetne, hogy a nagy be-fok´ u cs´ ucsok reprezent´alj´ak a keres´eshez kapcsol´od´o fontos oldalakat. Ez a megold´as azonban felem´as eredm´enyt ad: a j´o oldalak mellett lesznek u ´ gynevezett univerz´alisan n´epszer˝ u” oldalak is. Ezekre jellemz˝o, hogy ” σ-t´ol f¨ uggetlen¨ ul a legt¨obb k´erd´eshez tartoz´o b´azisban megtal´alhat´oak. P´eld´aul, ha σ =”java”, akkor a Bσ -ban a legnagyobb be-fok´ u cs´ ucsokhoz tartoz´o oldalak a I. www.gamelan.com II. java.sun.com III. amazon.com IV. karibi vak´aci´okat hirdet˝o oldal
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
191
Az utols´o k´et oldalt valamilyen automatikus m´odon ki kellene sz˝ urni. Kleinbergnek a k¨ovetkez˝o sz˝ ur˝o ¨otlete t´amadt. A σ k´erd´eshez tartoz´o tekint´elyeknek nagy be-fokon k´ıv¨ ul jellemz˝oje, hogy nagy az ´atfed´es azokban a laphalmazokban, amik r´ajuk mutatnak. Ezekben benne lesznek a t´ema gy˝ ujt˝olapjai. A k¨ovetkez˝o ´abra szeml´elteti a tekint´elyek ´es az univerz´alisan n´epszer˝ u lapok k¨oz¨otti k¨ ul¨onbs´eget. A t´ema gy˝ ujt˝olapjai ´es tekint´elyei ´altal´aban Univerzálisan népsz. lapok
Tekintélyek
9.4. ´abra. Topol´ogiai k¨ ul¨onbs´eg a tekint´elyek ´es az univerz´alisan n´epszer˝ u lapok k¨oz¨ott egy s˝ ur˝ u p´aros gr´afot alkotnak, m´ıg az univerz´alisan n´epszer˝ u lapokra szab´alytalanul, ¨osszevissza mutatnak a linkek. A s˝ ur˝ u p´aros gr´af megtal´al´asa a k¨ovetkez˝ok´eppen t¨ort´enik. Legyen C a Bσ weblaphalmazhoz tartoz´o szomsz´edoss´agi m´atrix, teh´at cij = 1 ha i → j,0 k¨ ul¨onben. Ez hasonl´ıt a Page Rank algoritmusn´al ismertetett A m´atrixra, azzal a k¨ ul¨onbs´eggel, hogy nincs sztochasztikusan sk´al´azva. Rendelj¨ unk minden laphoz egy gy˝ ujt˝olap, illetve egy tekint´elylap ´ert´eket, teh´at vezess¨ uk be a g = (. . . , gi , . . .), gi ≥ 0 t = (. . . , ti , . . .), ti ≥ 0
gy˝ ujt˝o-, illetve tekint´ely vektorokat, amelyek legyenek norm´alt vektorok, teh´at ||g|| = ||t|| = 1. A k´et vektorra a tekint´ely ´es gy˝ ujt˝olap intuit´ıv defin´ıci´oja miatt legyen ´erv´enyes a k¨ovetkez˝o k´et szab´aly: g = λCt t = µC T g azaz egy lap gy˝ ujt˝o´ert´eke az ´altala mutatott tekint´ely´ert´ekeinek ¨osszege- λ-val sk´al´azva, ´es egy lap tekint´ely´ert´eke azon lapok gy˝ ujt˝o´ert´ekeinek o¨sszege, amelyek r´a mutatnak-µ-vel sk´al´azva. A k´et egyenletet egym´asba ´ırva : g = λµCC T g t = λµC T Ct Hasonl´oan, mint az oldalak rangj´at a Page Rank algoritmusn´al, a g ´es t vektorokat is iterat´ıvan hat´arozzuk meg. A l´ep´esek: 1 (0)
I. t
=g
(0)
|Bσ |
= ... 1 |Bσ |
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
192
II. tˆ(i+1) ← C T Ct(i) ´es gˆ(i+1) ← CC T g (i) III. t(i+1) ←
tˆ(i+1) ||tˆ(i+1) ||
´es g (i+1) ←
gˆ(i+1) ||ˆ g (i+1) ||
IV. ha teljes¨ ul a le´all´asi felt´etel, akkor STOP, ha nem GOTO 2 A le´all´asi felt´etelr˝ol hasonl´o mondhat´o el, mint a Page Rank algoritmusn´al: nem g ´es t pontos ´ert´eke ´erdekel benn¨ unket, hanem az els˝o n´eh´any, legnagyobb tekint´ely´ert´ekkel rendelkez˝o oldal. A tapasztalati eredm´enyek azt mutatt´ak, hogy 20 iter´aci´o ut´an a legnagyobb 5-10 tekint´ely´ert´ekkel rendelkez˝o oldal m´ar stabiliz´al´odik. A k´ıs´erleti eredm´enyek mellett mindig hasznos, ha matematikai t´etelek is igazolj´ak azt, hogy az algoritmus v´eget fog ´erni, azaz t(i) ´es g (i) konverg´alnak valahova. A k¨ovetkez˝o t´etel ezt a matematikai megalapoz´ast ny´ ujtja. A t´etel bizony´ıt´asa a B f¨ uggel´ekben tal´alhat´o. 9.3. t´ etel. A fent defini´alt t(i) ´es g (i) sorozatok konverg´alnak nemnegat´ıv ´ert´ek˝ u vektorokhoz. Kleinberg m´odszere igen j´o eredm´enyt ´ert el l´enyeges oldalak kisz˝ ur´es´en´el nagy tal´alati halmazokb´ol. P´eld´aul a σ=”Gates”-re, a legfontosabb oldalnak a http ://www.roadahead.comot tal´alta, majd ezek ut´an j¨ottek a Microsofthoz kapcsol´od´o oldalak. A gy˝oztes oldal Bill Gates k¨onyv´enek hivatalos weblapja, amit az AltaVista csak a 123. helyre rangsorolt.
9.2.2. A SALSA m´ odszer Az algoritmus ([84], Stochastic Approach for the Link-Structure Analysis) a m´ar megismert Mag ´es B´azis halmazokon dolgozik, ´es egy v´eletlen s´et´at val´os´ıt meg az al´abb defini´alt gr´afokon, amely az eredeti gr´af pontjainak Gy˝ ujt˝olap ´es Tekint´ely tulajdons´agait emeli ki. A Gt ill. Gg gr´afok cs´ ucsai legyenek az eredeti gr´af cs´ ucsai (a weboldalak), az i ´es j pont k¨oz¨ott pedig annyi ´el van, ah´any olyan cs´ ucs (Gy˝ ujt˝olap) van, amib˝ol i-be ´es j-be is mutat link, ill. h´any olyan cs´ ucs (Tekint´ely) van, amibe i-b˝ol ´es j-b˝ol is van ´el. Megjegyz´esk´ent elmondhat´o, hogy a HITS algoritmusban egy (dupla) l´ep´es alatt ezen gr´afok ¨osszes ´el´en tov´abbadtuk az indul´o cs´ ucs pontsz´am´at, m´ıg a SALSA algoritmusn´al nem az eg´eszet, hanem figyelembe vessz¨ uk azt, hogy minden cs´ ucs ugyanannyit tov´abb´ıtson, ´ıgy egy-egy Markov l´ancot defini´alunk a gr´afokon. Az Mt ´es Mg Markov l´ancok form´alis defin´ıci´oj´ahoz a B(i) = {k : k → i} mellett sz¨ uks´eg¨ unk lesz a F (i) = {k : i → k} jel¨ol´esre. Az el˝oz˝o bekezd´es szerint a megfelel˝o ´atmenetval´osz´ın˝ us´egek a k¨ovetkez˝ok: X 1 1 Pt (i, j) = ill. |B(i)| |F (k)| k:k∈B(i)∩B(j)
Pg (i, j) =
X
k:k∈F (i)∩F (j)
1 1 . |F (i)| |B(k)|
Az egyens´ ulyi s´ ulyokat kisz´am´ıt´o iter´aci´o ind´ıt´asa
majd az iter´aci´o l´ep´ese:
1 [t]0 := g 0 := (1, . . . ,1)T , N
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
[t(i)]k :=
X
193
Pt (j, i) [t(j)]k−1 , ill.
j
X g(i) k := Pg (j, i) g(j) k−1 . j
Felt´eve egy pillanatra, hogy a Markov l´ancaink irreducibilisek, azaz a k´et fent defini´alt gr´af ¨osszef¨ ugg˝o, az ´all´ıthat´o, hogy az egyens´ ulyi eloszl´asokban k´et pont tekint´ely ill. gy˝ ujt˝olap s´ uly´anak ar´anya megegyezik az eredeti gr´afban vett be- ill. ki-foksz´amainak ar´any´aval. Az ´all´ıt´as abb´ol k¨ovetkezik, hogy irreducibilis Markov l´ancnak egy´ertelm˝ u a stacion´arius eloszl´asa, ´es a fenti s´ ulyar´anyokat felt´eve az ´all´ıt´as ellen˝orizhet˝o a k¨ovetkez˝ok´eppen: Az irreducibilit´as miatt egy´ertelm˝ u stacion´aris eloszl´as ki kell el´eg´ıtse, hogy X ∀i t(i) = Pt (j, i)t(j). j
Most B-vel az ´elek halmaz´at jel¨olve ´es felt´eve az el˝oz˝oek szerint, hogy ∀i t(i) =
|B(t)| , |B|
´ıgy sz´amolhatunk:
t(i) =
X
t(j)Pt (j, i) =
j
X j
=
t(j)
k∈B(j)∩B(i)
X |B(j)| j
X
|B|
X |B(j)|
X
1 1 = |B(j)| |F (k)|
k∈B(j)∩B(i)
1 1 = |B(j)| |F (k)|
X 1 1 = |B| |B(j)| |F (k)| j k∈B(j)∩B(i) X 1 X 1 = = |B| j |F (k)| =
k∈B(j)∩B(i)
= =
1 |B|
X X
k∈B(i) j∈F (k)
1 = |F (k)|
|B(i)| 1 X 1= |B| |B| k∈B(i)
Ennek megfelel˝oen a le´ırt iterat´ıv algoritmus lefuttat´as´ara tulajdonk´eppen nincs sz¨ uks´eg, hiszen a stacion´aris eloszl´as az el˝obbi elm´eleti eredm´eny felhaszn´al´as´aval k¨ozvetlen¨ ul sz´am´ıthat´ o. Ezzel egy¨ utt term´eszetesen az is igaz, hogy az algoritmus k¨onnyen becsaphat´o, hiszen – az el˝oz˝o fejezetben le´ırtak szerint – az oldalunkra mutat´o linkek sz´ama tetsz˝olegesen n¨ovelhet˝o. Itt jegyezz¨ uk meg, hogy a SALSA az egyenletes eloszl´assal ind´ıtott HITS algoritmus els˝o l´ep´es´enek felel meg, ezut´an az els˝o l´ep´es ut´an a SALSA stacion´aris eloszl´as´anak s´ ulyai jelennek meg.
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
194
T¨obb komponensb˝ol ´all´o gr´af eset´en az algoritmus csak abban a komponensben dolgozik, ahonnan indult a s´eta. Mivel az indul´as egyenletesen lett v´alasztva, ez´ert egy adott komponensb˝ol val´o indul´as val´osz´ın˝ us´ege a komponens m´eret´evel ar´anyos, azaz az alapgr´afot G-vel, komponenseit Gk -val, az i cs´ ucs komponens´enek index´et j-vel jel¨olve ai =
|B(i)| |Gj | P , |G| α∈Gj |B(α)|
ahol a nevez˝oben lev˝o ¨osszeg a komponens ¨osszes ´eleinek sz´ama.
9.2.3. Gy˝ ujt˝ olapok, Tekint´ elyek ´ es v´ eletlen s´ et´ ak Mint l´athattuk, a SALSA algoritmus ¨otlete az eredeti gr´afb´ol egyszer˝ uen sz´armaztathat´o m´asik gr´af(ok)on megval´os´ıtott v´eletlen s´eta volt. L´attuk tov´abb´a, hogy az eredeti Gy˝ ujt˝olap ´es Tekint´ely algoritmusunk els˝o l´ep´ese ekvivalens a SALSA-val. Jogosan k´erdezhetj¨ uk teh´at, hogy az eredeti algoritmusnak l´etezik-e v´eletlen s´eta analogonja, illetve ´atfogalmazva a k´erd´est, hogy az eredeti algoritmus is kapcsolatba hozhat´o-e Markov l´ancok stacion´aris eloszl´asaival? A v´alasz persze igenl˝o, hiszen minden sztochasztikus vektorhoz l´etezik olyan Markov l´anc, amelynek stacion´aris eloszl´asa ´eppen az a vektor. A k´erd´es m´ar csak az, hogy l´etezik-e olyan ezzel a tulajdons´aggal b´ır´o Markov l´anc is, amelynek ´atmenetval´osz´ın˝ us´egei az eredeti gr´afb´ol sz´armaztathat´ok? A v´alasz – kiss´e meglep˝o m´odon – az, hogy az algoritmus ¨osszes k¨ozb¨ uls˝o eredm´enye el˝o´all az eredeti gr´afb´ol sz´armaztathat´o Markov l´anc stacion´aris eloszl´asak´ent, b´ar az, hogy az els˝o f´el l´ep´es ut´an m´ar igaz ez (ott a SALSA s´ ulyok jelennek meg), m´ar el˝orevet´ıti az eredm´enyt. Vezess¨ uk be a k¨ovetkez˝o jel¨ol´eseket : egy B illetve egy F l´ep´esnek egy a webgr´afban lev˝o link k¨ovet´es´et nevezz¨ uk h´atra illetve el˝ore ir´anyban. Ezek kombin´aci´oit is defini´aljuk, p´eld´aul 2 BF BF = (BF ) egy n´egyl´ep´eses s´et´at jelent a webgr´afban. Az i pontb´ol a j pontba vezet˝o (BF )n s´et´ak halmaz´at jel¨olje (BF )n (i, j), az i pontb´ol indul´o (BF )n s´et´ak halmaz´at jel¨olje (BF )n (i), tov´abb´a az ¨osszes (BF )n s´et´ak halmaz´ara haszn´aljuk mag´at a (BF )n jel¨ol´est ! Az (F B)n s´et´ak halmazai hasonl´oan ´ertend˝ok. Most defini´aljuk a k¨ovetkez˝o k´et Markov l´ancot : az ´allapotok halmaza az ¨osszes cs´ ucs, amely mag´aban az alapgr´afban is benne volt, m´ıg k´et cs´ ucs k¨oz¨ott pontosan akkor van ´el, ha n az alapgr´afban van k¨ozt¨ uk legal´abb egy (BF ) illetve (F B)n s´eta. Az ´atmenetval´osz´ın˝ us´egek pedig legyenek: Pt (i, j) := Pg (i, j) :=
|(BF )n (i,j)| , |(BF )n (i)| |(F B)n (i,j)| . |(F B)n (i)|
illetve
A defin´ıci´okb´ol az l´athat´o, hogy |(BF )n (i, j)| = (C T C)n (i, j) |(F B)n (i, j)| = (CC T )n (i, j), |(BF )n (i)| =
|(F B)n (i)| =
P
P
j (C
T
´es ´es ezekb˝ol
C)n (i, j)
j (CC
T n
) (i, j).
´es
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
195
Az eredeti HITS algoritmus n. iter´aci´oja ut´an a pontsz´am vektorok norm´al´as n´elk¨ ul T n n (C C) 1 illetve (CC ) 1, azaz ¨osszeg norm´aban ez ugyanaz, mint a megfelel˝o Markov l´ancok stacion´aris eloszl´asa : T
t(i) = g(i) =
|(BF )n (i)| |(BF )n | |(F B)n (i)| |(F B)n |
Elmondhat´o teh´at, hogy az algoritmus v´egs˝o pontsz´amar´anyai a cs´ ucsokb´ol indul´o hossz´ u BF illetve F B s´et´ak sz´amainak ar´any´at´ol f¨ ugg, aminek az a k¨ovetkezm´enye, hogy nagyon er˝osen k¨ot¨ott alakzatok (teljes p´aros r´eszgr´afok) k¨orny´ek´et az algoritmus kiemeli.
9.2.4. Automatikus forr´ as el˝ o´ all´ıt´ o - Gy˝ ujt˝ olapok ´ es Tekint´ elyek m´ odos´ıt´ asai Gy˝ ujt˝olapok ´es Tekint´elyek alap´ u keres´est sikerrel alkalmazt´ak automatikus forr´as el˝o´all´ıt´as sor´an (automatic resource compilation, r¨oviden ARC) [27]. A tov´abbiakban err˝ol sz´olunk p´ar sz´ot. ´ Altal´ anosabb fogalmak keres´es´en´el gyakran haszn´alunk el˝ore szerkesztett hierarchikus fogalomt´arakat. A legismertebb fogalomt´arak a Yahoo ! vagy az Infoseek oldal´an tal´alhat´ok. Ha p´eld´aul inform´aci´okra van sz¨ uks´eg¨ unk a tang´or´ol, akkor a Yahoo ! f˝ooldal´ar´ol a Recreation & Sports (kikapcsol´od´as ´es sport) linket v´alasztva eljuthatunk egy u ´ jabb oldalra. Itt m´ar v´alaszthatjuk a dance (t´anc) linket, majd a Ballroom-ot (t´arsas) ´es v´eg¨ ul a tang´ot. Innen m´ar nem l´ephet¨ unk tov´abb u ´ jabb alkateg´oria kiv´alaszt´as´aval, hanem a tang´oval foglalkoz´o legfontosabb weboldalak list´aj´at l´athatjuk. Mind a fogalomhierarchia fel´ep´ıt´ese, mind az egyes fogalmakhoz tartoz´o legfontosabb weboldalak megkeres´ese manu´alis u ´ ton t¨ort´enik, teh´at emberek j´arj´ak a vil´agh´al´ot ´es keresik az olyan oldalakat, amelyek t´enyleg hasznos inform´aci´oval szolg´alnak a fogalomr´ol. Az ARC-n´al a m´asodik l´ep´est pr´ob´alt´ak automatiz´alni: adott egy t´ag fogalom, keress¨ uk meg a hasznos inform´aci´okat tartalmaz´o weboldalakat. Ehhez a Gy˝ ujt˝olapok ´es Tekint´elyek keres´est haszn´alt´ak, k´et m´odos´ıt´assal. Egyr´eszr˝ol k´etszer, nem pedig egyszer alkalmazt´ak azt a l´ep´est, amely sor´an a Magb´ol(Mσ ) a B´azist(Bσ ) el˝o´all´ıtott´ak. Emiatt a B´azis m´erete n˝ott, viszont nem veszt¨ unk el olyan oldalt, amely a hagyom´anyos keres˝o ´altal kiadott oldalakt´ol 2 link t´avols´agra van. M´asr´eszr˝ol m´odos´ıtott´ak az iter´aci´o sor´an haszn´alt C m´atrixot is. Tudjuk, hogy a weboldalak HTML k´odj´aban a ¡A HREF=””¿¡/A¿ tag jelent egy linket. Ha p´eld´aul egy oldalban a ingyen sms tag tal´alhat´o, akkor ha a sz¨orf¨ol˝o az ingyen sms sz´ora kattint, akkor a www.mtnsms.com oldalra ker¨ ul. Megfigyelt´ek, hogy nagyon gyakran a HREF tag k¨ornyezet´eben az oldalt jellemz˝o szavak tal´alhat´ok. Ez nem meglep˝o, hiszen az oldalak k´esz´ıt˝oi min´el jobban pr´ob´alj´ak seg´ıteni az oldalt l´atogat´oinak navig´aci´oj´at. A tag k¨ornyezete teh´at fontos, mert ha megtal´alhat´o ott a k´erd´eses fogalom, akkor v´arhat´o, hogy a link egy hasznos oldalra mutat. Szomsz´edoss´agi m´atrix helyett ez´ert olyan m´atrixot javasoltak, amely elemei a k¨ovetkez˝ok´epp sz´am´ıthat´ok: 1 + n(f ) ha j-re mutat link i-r˝ol cij = 0 egy´ebk´ent
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
196
ahol n(f ) a fogalom el˝ofordul´as´anak sz´ama egy adott sz´eless´egen bel¨ ul a HREF tagt˝ol. A sz´eless´eget k´ıs´erleti u ´ ton pr´ob´alt´ak meghat´arozni: azt vizsg´alt´ak, hogy p´ar ismert oldalra mutat´o t¨obb ezer oldalban hol tal´alhat´o meg az ismert oldalakat jellemz˝o sz´o. A tesztek eredm´enyek´ent meg´allap´ıtott´ak, hogy ha az oldalon megtal´alhat´o a jellemz˝o sz´o, akkor 97%-ban az a HREF 50 byte-os k¨ornyezet´eben is megtal´alhat´o. Az algoritmust implement´alt´ak, ´es sz´elesk¨or˝ u felm´er´est k´esz´ıtettek, amelyben a megk´erdezetteknek arra kellett v´alaszolniuk, hogy szerint¨ uk adott fogalmakra a h´arom keres˝o(ARC, Infoseek, Yahoo !) k¨oz¨ ul melyik tal´alta meg a legjobb oldalakat. A felm´er´esb˝ol kider¨ ult, hogy a teljesen automatikus, emberi munk´at nem ig´enyl˝o ARC ugyanolyan j´ol teljes´ıtett, mint a m´asik k´et rendszer [27].
9.2.5. Gy˝ ujt˝ olapok ´ es Tekint´ elyek m´ odszer´ enek h´ atr´ anyai Vizsg´alatok kimutatt´ak, hogy a Gy˝ ujt˝olapok ´es Tekint´elyek m´odszer´enek h´arom h´atr´anya van [16]. I. El˝ofordulhat, hogy egy hoszton tal´alhat´o dokumentumhalmaz minden eleme egy m´asik hoszton tal´alhat´o dokumentumra mutat´o linket tartalmaz. Ez n¨ovelni fogja a dokumentumhalmaz elemeinek gy˝ ujt˝olap ´ert´ek´et ´es a m´asik hoszton tal´alhat´o dokumentum tekint´ely´ert´ek´et. Ennek ellenkez˝oje is k¨onnyen el˝ofordulhat, nevezetesen: egy hoszton tal´alhat´o dokumentum t¨obb olyan dokumentumra mutat, amelyek egy m´asik hoszton tal´alhat´oak. L´athat´o, hogy ´al hosztp´arok l´etrehoz´as´aval a gy˝ ujt˝olap- ´es tekint´ely´ert´ekek n¨ovelhet˝ok, ami vissza´el´esre ad lehet˝os´eget. Egy igazs´agos algoritmust´ol elv´arjuk, hogy egyik hoszt se n¨ovelhesse t´ ulzott m´ert´ekben m´asok fontoss´ag´at. II. A weboldalakat gyakran automatikusan ´all´ıtj´ak el˝o valamilyen seg´edeszk¨oz seg´ıts´eg´evel. Ezek az eszk¨oz¨ok sokszor linkeket helyeznek el a gener´alt oldalakon. P´eld´aul a Hypernews rendszer USENET cikkeket konvert´al weblapokk´a u ´ gy, hogy a Hypernews honlapj´ara mutat´o linket sz´ ur az oldal v´eg´ere. Ezekre a linkekre nem igaz a fejezet elej´en elhangzott ´all´ıt´as, miszerint az oldal szerz˝oje az´ert helyezi el a linket oldal´an, mert a m´asik oldal a saj´at oldal t´em´aj´ara n´ezve hasznos inform´aci´okat tartalmaz. III. B´azis laphalmaz l´etrehoz´asa sor´an a Mag laphalmazhoz u ´ j oldalakat vesz¨ unk fel a linkstrukt´ ura alapj´an. Az u ´ j oldalak k¨oz¨ott sok olyan lehet, amelyek nem kapcsol´odnak a k´erd´eses t´em´ahoz. Amennyiben ezeket az oldalakat szoros linkstrukt´ ura k¨oti ¨ossze, akkor a t´emasodr´od´as” probl´em´aja mutatkozik: a legnagyobb tekint´ely´ert´ekkel rendelkez˝o ” oldalak csak t´agabb ´ertelemben fognak a t´em´ahoz kapcsol´odni. Egy egyszer˝ u teszt megmutatta, hogy a ”jaguar and car” k´erd´esre a legjobb tekint´elyoldalak (amelyek k¨ ul¨onb¨oz˝o aut´ogy´art´o c´egek honlapjai lettek) az ´altal´anosabb fogalomhoz (car) kapcsol´odtak. Az els˝o esetben a probl´em´at az okozza, hogy egy hoston elhelyezett t¨obb dokumentum ¨osszbefoly´asa t´ ul nagy lehet : min´el t¨obb dokumentum tal´alhat´o egy hoszton, ann´al ink´abb k´epes n¨ovelni m´as hoszton tal´alhat´o dokumentum tekint´ely- vagy gy˝ ujt˝olap´ert´ek´et. Ide´alis esetben azt v´arn´ank, hogy egy hoszton tal´alhat´o dokumentumhalmaznak ¨osszesen akkora befoly´asa legyen, mintha ezen a hoszton csak egyetlen dokumentum lenne tal´alhat´o. Ehhez m´odos´ıtanunk kell az iter´aci´o sor´an haszn´alt m´atrixot : amennyiben egy hosztrol k darab
´ ´ 9. FEJEZET. WEBES ADATBANY ASZAT
197
dokumentum tartalmaz linket egy m´asik hoszton tal´alhat´o dokumentumra, akkor a C m´atrix ezen dokumentumaihoz tartoz´o ´ert´eke 1 helyett k1 legyen. Az [16] cikkben a m´asik k´et probl´em´ara is javasoltak megold´ast. Sz¨ovegelemz´es felhaszn´al´as´aval a B´azisban tal´alhat´o oldalakhoz relevancia ´ert´eket t´ars´ıtanak, ami megadja, hogy az adott oldal mennyire kapcsol´odik a t´em´ahoz. A relevancia ´ert´eknek t¨obb szerepe van. Egyr´eszt a t´em´ahoz kis m´ert´ekben kapcsol´od´o (kis relevancia ´ert´ek˝ u) lapokat t¨or¨olj¨ uk a B´azisb´ol, m´asr´eszt a tekint´ely- illetve gy˝ ujt˝olap´ert´ek meghat´aroz´as´ahoz a lap relevancia´ert´ek´et is figyelembe vessz¨ uk: a relevancia´ert´ekkel ar´anyosan n˝o egy lap tekint´ely- illetve gy˝ ujt˝olap´ert´eke. A sz¨ovegelemz´essel b˝ov´ıtett Gy˝ ujt˝olapok ´es Tekint´elyek m´odszer´et a tov´abbiakban nem t´argyaljuk, a r´eszletek megtal´alhat´ok a [16] cikkben. A fejezetben bemutatott k´et f˝o algoritmusr´ol p´ar ¨osszehasonl´ıt´o tesztet tal´alhatunk a [8] cikkben.
10. fejezet Gyakori mint´ ak kinyer´ ese A fejlett t´arsadalmakra jellemz˝o, hogy sz´amos, a mindennapi ´elet¨ unk sor´an gyakran haszn´alt term´eket ´es szolg´altat´ast n´elk¨ ul¨ozhetetlennek tartunk. Min´el soksz´ın˝ ubb a felhaszn´al´oi csoport, ann´al nehezebb egy olyan u ¨ zenetet eljuttatni r´esz¨ ukre, ami mindenki sz´am´ara egy´ertelm˝ u, ´am ha valakinek ez siker¨ ul, az nagy haszonnal j´arhat, hiszen p´ar sz´azal´ekpontos n¨oveked´es is szignifik´ans a nagy volumenben ´ert´ekes´ıtett term´ekekn´el. A piaci strat´egi´ak kialak´ıt´as´an´al is els˝osorban a sokas´agra, illetve a sokas´ag jellemz˝oire vagyunk k´ıv´ancsiak. Egyedi, k¨ ul¨onc elemek akkor ´erdekesek, ha p´eld´aul csal´asokat akarunk felder´ıteni. Fenti eseteken k´ıv¨ ul vizsg´alhatjuk a gyakori balesetet okoz´o helyzeteket, a sz´am´ıt´og´epes h´al´ozatban gyakran el˝ofordul´o, riaszt´assal v´egz˝od˝o esem´enysorozatokat, vagy pl. azt, hogy az egyes nyomtatott m´ediumoknak milyen az olvas´oi ¨osszet´etele, ´es amennyiben t¨obb magazinnak, u ´ js´agnak hasonl´o a c´elcsoportja, ´erdemes u ¨ zenet¨ unket t¨obb helyen is elhelyezni, hogy hat´ekonyabban ¨oszt¨on¨ozz¨ uk meglev˝o ´es potenci´alis v´as´arl´oinkat. Oldalakon kereszt¨ ul lehetne sorolni azon p´eld´akat, amikor a gyakran el˝ofordul´o dolgok” ” ´ert´ekes inform´aci´ot rejtenek magukban. A szakirodalomban a dolgokat mint´aknak nevezz¨ uk, ´es gyakori mint´ak kinyer´es´er˝ol besz´el¨ unk. A minta t´ıpusa t¨obbf´ele lehet. V´as´arl´oi szok´asok felder´ıt´es´en´el gyakori elemhalmazokat keres¨ unk, ahol az elemek a term´ekeknek felel meg. Utaz´asokkal kapcsolatos szok´asokn´al a gyakran ig´enybe vett, k¨olts´eges szolg´altat´asok sorrendje is fontos, ´ıgy gyakori sorozatokat keres¨ unk. Telekommunik´aci´os h´al´ozatokban olyan felt´etelek (predik´atumok) gyakori fenn´all´as´at keress¨ uk, amelyek gyakran eredm´enyeznek riaszt´ast. Ezeket a gyakori bool formul´akat megvizsg´alva kaphatjuk meg p´eld´aul a gyakori t´eves riaszt´asok okait. A b¨ong´esz´esi szok´asok alapj´an fejleszthetj¨ uk oldalaink strukt´ ur´aj´at, linkjeit, ´ıgy a l´atogat´ok m´eg gyorsabban ´es hat´ekonyabban tal´alj´ak meg a keresett inform´aci´okat. A b¨ong´esz´es folyamat´at c´ımk´ezett gy¨okeres f´akkal jellemezhetj¨ uk Gyakori mint´akat kinyer˝o algoritmusokat a r´akkutat´asban is alkalmaztak. Azt vizsg´alt´ak, hogy a r´akkelt˝o anyagokban vannak-e gyakran el˝ofordul´o molekula-strukt´ ur´ak. Ezeket a strukt´ ur´akat c´ımk´ezett gr´afokkal ´ırjuk le. A p´eld´akb´ol k¨ovetkezik, hogy a minta t´ıpusa sokf´ele lehet. Sejthetj¨ uk, hogy m´as technik´akat kell majd alkalmazni pl. c´ımk´ezett gr´afok keres´es´en´el, mintha csak egyszer˝ u elemhalmazokat keres¨ unk. Ebben a r´eszben egy ´altal´anos le´ır´ast adunk, egy egys´eges matematikai keretbe helyezz¨ uk a gyakori minta kinyer´es´enek feladat´at. Emellett ismertetj¨ uk a legfontosabb m´odszerek ´altal´anos – a minta t´ıpus´at´ol f¨ uggetlen – le´ır´as´at.
198
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
199
10.1. A gyakori minta defin´ıci´ oja E r´esz meg´ert´es´ehez felt´etelezz¨ uk, hogy az olvas´o tiszt´aban van a 2.1 r´eszben defini´alt fogalmakkal (rendez´esek, korl´at, val´odi korl´at, maxim´alis korl´at, predik´atum,). 10.1. defin´ıci´ o. A H halmaz a rendez´esre n´ezve lok´alisan v´eges, ha minden x, y∈H elemhez, ahol x y,v´eges sz´am´ u olyan z elem l´etezik, amelyre x z y. 10.2. defin´ıci´ o. Az MK = (M, ) p´arost, ahol M egy alaphalmaz, az M-en ´ertelmezett r´eszben rendez´es, mintak¨ornyezetnek nevezz¨ uk, amennyiben M-nek pontosan egy minim´alis eleme van, M halmaz a rendez´esre n´ezve lok´alisan v´eges ´es rangsz´amozott (graded), azaz l´etezik a ||:M→Z u ´n. m´eretf¨ uggv´eny , amire |m| = |m0 |+1, ha m-nek maxim´alis val´odi als´o korl´ atja 0 m . Az M elemeit mint´aknak (pattern) nevezz¨ uk ´es M-re, mint mintahalmaz vagy mintat´er hivatkozunk. Az m0 m eset´en azt mondjuk, hogy m0 az m r´eszmint´aja, ha m0 ≺ m, akkor val´ odi r´eszmint´ar´ol besz´el¨ unk. A -t tartalmaz´asi rel´aci´onak is h´ıvjuk. Az ´altal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy a minim´alis m´eret˝ u minta m´erete 0. Ezt a mint´at u ¨res mint´anak h´ıvjuk. ´Ime az egyik legegyszer˝ ubb p´elda mintak¨ornyezetre, amelyet v´as´arl´oi szok´asok felt´ar´asa sor´an alkalmaztak el˝osz¨or. Legyen I v´eges halmaz. Gyakori elemhalmazok keres´es´en´el a (2I, ⊆ ⊆) lesz a mintak¨ornyezet, ahol ⊆ a halmazok tartalmaz´asi rel´aci´oj´at jel¨oli. A m´eretf¨ uggv´eny egy halmazhoz az elemsz´am´at rendeli. Az elemhalmazokon t´ ul kereshet¨ unk gyakori sorozatokat, epiz´odokat (v´eges halmazon ´ertelmezett r´eszben rendez´eseket), bool formul´akat, c´ımk´ezett gy¨okeres f´akat vagy ´altal´anos gr´afokat. Ezen mintak¨ornyezetek pontos defin´ıci´oj´at a k¨ovetkez˝o fejezetekben tal´aljuk. 10.3. defin´ıci´ o. Legyen (H1 , 1 ) (H2 , 2 ) k´et r´eszben rendezett halmaz. Az f :H1 →H2 f¨ uggv´eny rendez´es v´alt´o vagy m´as sz´oval anti-monoton, amennyiben tetsz˝oleges x, y ∈ H1 , x 1 y elemekre f (y) 2 f (x). 10.4. defin´ıci´ o. A gyakori minta kinyer´esnek feladat´aban adott egy B bemeneti (vagy feldolgozand´o) adathalmaz, MK = (M, ) mintak¨ornyezet, egy suppB :M → N anti-monoton f¨ uggv´eny ´es egy min supp ∈ N k¨ usz¨obsz´am. Feladat, hogy megkeress¨ uk azon mint´akat, amelyekre a supp f¨ uggv´eny min supp-n´al nagyobb vagy egyenl˝o ´ert´eket ad : GY = {gy : gy ∈ M, suppB(gy) ≥ min supp}. A suppB f¨ uggv´enyt t´amogatotts´agi f¨ uggv´enynek (support function), min supp-ot t´amogatotts´ agi k¨ usz¨obnek, a GY elemeit pedig gyakori mint´aknak h´ıvjuk. A nem gyakori mint´akat ritk´aknak nevezz¨ uk. Az ´erthet˝os´eg kedv´e´ert a B tagot gyakran elhagyjuk, tov´abb´a a supp(m)-re mint a minta t´amogatotts´aga hivatkozunk. A t´amogatotts´agi f¨ uggv´eny ´ert´eke adja meg, hogy egy minta mennyire gyakori a bemenetben. Az elemhalmazok p´eld´aj´an´al maradva a bemenet lehet p´eld´aul elemhalmazok sorozata. Ekkor egy H halmaz t´amogatotts´ag´at u ´ gy ´ertelmezhetj¨ uk, mint a sorozat azon elemeinek sz´ama, amelyek tartalmazz´ak H-t. P´eld´aul az h{A, D}, {A, C}, {A, B, C, D}, {B}, {A, D}, {A, B, D}, {D}i bemenet eset´en supp({A, D}) = 4. Ha min supp-nak 4-et adunk meg, akkor GY = {{A}, {D}, {A, D}}. A t´amogatotts´ag anti-monotonit´as´ab´ol k¨ovetkezik az al´abbi egyszer˝ u tulajdons´ag. 10.5. tulajdons´ ag. Gyakori minta minden r´eszmint´aja gyakori.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
200
A mint´akat elemhalmazok, sorozatok, gr´afok, stb. Amerikai kutat´as sor´ an form´aj´aban fogjuk keresni, azaz a mint´ak mindig valamilyen ”meg´allap´ıtott´ak, hogy 1 ´ ora alaphalmazon defini´alt strukt´ ur´ak lesznek. Ha az alaphal- t´ev´ez´es hat´as´ara 200 doll´ arral mazon defini´alunk egy teljes rendez´est, akkor az alapj´an – t¨obbet k¨olt¨ unk a rekl´amok mik¨onnyebben vagy nehezebben – a mint´akon is tudunk teljes att.” Forr´as: Sl´ager r´adi´o, 2007. rendez´est adni. Ezt p´eld´aul elemhalmazok eset´eben a lexi- okt´ober 25., 17 ´ora 48 perc kografikus rendez´es, gr´afok eset´eben a kanonikus c´ımk´ez´es seg´ıts´eg´evel fogjuk megtenni. A mint´akon ´ertelmezett teljes rendez´es egyes algoritmusokn´al (pl.: APRIORI) a hat´ekonys´ag n¨ovel´es´ere haszn´alhat´o, m´asoknak pedig alapfelt´etele (pl.: Zaki). Sokszor fog felbukkanni a prefix fogalma is, amihez szint´en egy teljes rendez´esre lesz sz¨ uks´eg. 10.6. defin´ıci´ o. Legyen a H halmazon ´ertelmezett r´eszben rendez´es. A ≺ 0 teljes rendez´est a ≺ line´aris kiterjeszt´es´enek h´ıvjuk, ha minden x ≺ y p´arra x ≺ 0 y teljes¨ ul. A line´aris kiterjeszt´eseknek azon csoportja ´erdekes sz´amunkra, amelyek m´erettart´oak. Ez azt jelenti, hogy |x| < |y| eset´en a x ≺ 0 y felt´etelnek is fenn kell ´allnia. Amikor teh´at a MK = (M, ) mintak¨ornyezet tagj´anak egy m´erettart´o line´aris kiterjeszt´es´et akarjuk megadni, akkor az azonos m´eret˝ u elemek k¨oz¨ott defini´alunk egy sorrendet. A tov´abbiakban a m´erettart´o jelz˝ot elhagyjuk, ´es minden line´aris kiterjeszt´es alatt m´erettart´o line´aris kiterjeszt´est ´ert¨ unk. 10.7. defin´ıci´ o. Legyen MK = (M, ) mintak¨ornyezet ´es 0 a egy line´aris kiterjeszt´ese. Az m minta `-elem˝ u r´eszmint´ai k¨oz¨ ul az 0 szerinti legels˝ot h´ıvjuk az m minta `-elem˝ u prefix´enek. P´eld´aul, ha I = {A, B, C, D, E}, ´es az azonos m´eret˝ u mint´akon az abc rendez´es szerinti lexikografikus rendez´est vessz¨ uk a teljes rendez´esnek, akkor p´eld´aul az {A, C, D, E} minta 2-elem˝ u prefixe az {A, C} halmaz.
10.1.1. Hat´ ekonys´ agi k´ erd´ esek A bemeneti adat ´es a mint´ak halmaza ´altal´aban nagy. P´eld´aul bemeneti sorozatok eset´eben nem ritk´ak a 109 nagys´agrend˝ u sorozatok, a mintat´er pedig ´altal´aban 105 nagys´agrend˝ u halmazok hatv´anyhalmaza. Ilyen m´eretek mellett a na´ıv algoritmusok (p´eld´aul hat´arozzuk meg a mintahalmaz minden elem´enek t´amogatotts´ag´at, majd v´alogassuk ki a gyakoriakat) t´ ul sok ideig futn´anak, vagy t´ ul nagy lenne a mem´oriaig´eny¨ uk. Hat´ekony, kifinomult algoritmusokra van sz¨ uks´eg, amelyek speci´alis adatstrukt´ ur´akat haszn´alnak. Egy algoritmus hat´ekonys´ag´at a fut´asi id˝ovel (ami ar´anyos az elemi l´ep´esek sz´am´aval) ´es a felhaszn´alt mem´ori´aval jellemezz¨ uk. P´eld´aul megmondhatjuk, hogy adott m´eret˝ u bemenet eset´en ´atlagosan, vagy legrosszabb esetben mennyi elemi l´ep´est (¨osszehasonl´ıt´as, ´ert´ekad´as), illetve mem´ori´at haszn´al. Sajnos a gyakori mint´at kinyer˝o algoritmusok mindegyike legrosszabb esetben a teljes mintateret megvizsg´alja, ugyanis a t´amogatotts´agi k¨ usz¨ob f¨ uggv´eny´eben a mintat´er minden eleme gyakori lehet. A gyakori minta-kinyer´es korszak´anak els˝o 10-15 ´ev´eben az algoritmusok hat´ekonys´ag´at – elm´eleti elemz´esek h´ıj´an – minden esetben teszteredm´enyekkel igazolt´ak. Szinte minden algoritmushoz lehet tal´alni olyan bemeneti adatot, amit az algoritmus nagyon hat´ekonyan k´epes feldolgozni. Ennek eredm´enyek´ent p´eld´aul, csak a gyakori elemhalmazokat kinyer˝o algoritmusok
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
201
sz´ama meghaladja a 150-et, ´es a mai napig nem tudunk olyan algoritmusr´ol, amelyik az ¨osszes t¨obbit legy˝ozn´e fut´asi id˝o vagy mem´oriafogyaszt´as tekintet´eben. A j¨ov˝o feladata ennek a k´aosznak a tiszt´az´asa. Ehhez a legfontosabb l´ep´es a bemeneti adat karakterisztik´aj´anak form´alis le´ır´asa lenne. Sejtj¨ uk, hogy legjobb gyakori mintakinyer˝o algoritmus nem l´etezik, de tal´an van es´ely¨ unk ´ertelmes meg´allap´ıt´asokra, ha a bemenetre vonatkoz´oan k¨ ul¨onb¨oz˝o felt´etelez´esekkel ´el¨ unk (szok´asos felt´etel p´eld´aul az, hogy a bemenet olyan sorozat, melynek elemei kis m´eret˝ u halmazok vagy az, hogy csak nagyon kev´es magas t´amogatotts´ag´ u minta van) ´es ezekhez pr´ob´aljuk megtal´alni az ide´alis algoritmust.
10.2. Tov´ abbi feladatok A gyakori mintakinyer´es egyik nagy kritik´aja, hogy sokszor t´ ul nagy a kinyert mint´ak sz´ama. Vannak olyan feladatok, ahol nem az ¨osszes gyakori mint´at k´ıv´anjuk kinyerni, hanem csak egy r´esz¨ uket. Erre p´elda az u ´ n. top-k mintakinyer´es, melynek sor´an a k legnagyobb t´amogatotts´ag´ u mint´at keress¨ uk. Emellett az al´abbi feladatok l´eteznek.
10.2.1. Nem b˝ ov´ıthet˝ o´ es z´ art mint´ ak 10.8. defin´ıci´ o. Az m gyakori minta B-re n´ezve nem b˝ov´ıthet˝o (maximal), ha nem l´etezik 0 olyan m gyakori minta B-ben, amelynek m val´odi r´eszmint´aja. 10.9. defin´ıci´ o. Az m minta B-re n´ezve z´art, amennyiben nem l´etezik olyan m0 minta Bben, amelynek m val´odi r´eszmint´aja, ´es m0 t´amogatotts´aga megegyezik m t´amogatotts´ag´ aval (supp(m0 ) = supp(m)). Az ember azonnal l´athatja, hogy mi ´ertelme van annak, hogy csak a nem b˝ov´ıthet˝o mint´akat keress¨ uk meg : egy´ertelm˝ uen meghat´arozz´ak a gyakori mint´akat ´es sz´amuk kevesebb. Sajnos a nem b˝ov´ıthet˝o mint´ak alapj´an csak azt tudjuk megmondani, hogy egy minta gyakori-e, a t´amogatotts´agot nem tudjuk megadni (legfeljebb egy als´o korl´atot). Nem ilyen trivi´alis, hogy mi ´ertelme van a gyakori z´art mint´aknak. Azt l´atjuk, hogy a z´art gyakori mint´ak a gyakori mint´ak r´eszhalmazai, ´es a z´art mint´ak r´eszhalmaza a nem b˝ov´ıthet˝o mint´ak, hiszen 10.10. tulajdons´ ag. Minden nem b˝ov´ıthet˝o minta z´art. M´egis mi c´elt szolg´alnak a gyakori z´art mint´ak? Ennek tiszt´az´as´ahoz k´et u ´ j fogalmat kell bevezetn¨ unk. 10.11. defin´ıci´ o. Az m0 minta az m minta lez´artja, ha m m0 , supp(m) = supp(m0 ) ´es nincs 00 0 00 m : m ≺ m , melyre supp(m0 ) = supp(m00 ). Nyilv´anval´o, ha m z´art, akkor lez´artja megegyezik ¨onmag´aval. 10.12. defin´ıci´ o. Az MK=(M, ) mintak¨ornyezet a z´arts´agra n´ezve egy´ertelm˝ u, amennyiben minden m ∈ M minta lez´artja egy´ertelm˝ u.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
202
L´atni fogjuk, hogy sorozat t´ıpus´ u bemenet eset´en p´eld´aul az elemhalmazokat tartalmaz´o mintak¨ornyezet z´arts´agra n´ezve egy´ertelm˝ u, m´ıg a sorozatokat tartalmaz´o nem az. A z´arts´agra n´ezve egy´ertelm˝ u mintak¨ornyezetekben a z´art mint´ak jelent˝os´ege abban ´all, hogy ezek ismeret´eben tetsz˝oleges mint´ar´ol el tudjuk d¨onteni, hogy gyakori-e, ´es ha igen, meg tudjuk pontosan mondani t´amogatotts´ag´at. Sz¨ uks´egtelen t´arolni az ¨osszes gyakori mint´at, hiszen a z´art mint´akb´ol ezek egy´ertelm˝ uen meghat´arozhat´ok. Az m minta gyakori, ha r´esze valamely gyakori z´art mint´anak, ´es m t´amogatotts´aga megegyezik a legkisebb olyan z´art minta t´amogatotts´ag´aval, amelynek r´esze m (ez ugyanis az m lez´artja).
10.2.2. K´ enyszerek kezel´ ese Nem mindig ´erdekes az ¨osszes gyakori minta. El˝ofordulhat, hogy p´eld´aul a nagy m´eret˝ u, vagy bizonyos mint´akat tartalmaz´o, vagy nem tartalmaz´o, stb. gyakori mint´ak nem fontosak. ´ Altal´ anos´ıthatjuk a feladatot u ´ gy, hogy a felhaszn´al´o k´enyszereket, predik´atumokat ad meg, ´es azokat a mint´akat kell meghat´aroznunk, amelyek kiel´eg´ıtik az ¨osszes k´enyszert. A feladat egyszer˝ u megold´asa lenne, hogy – mint ut´ofeldolgoz´as – a gyakori mint´akat egyes´evel megvizsg´alva t¨or¨oln´enk azokat, amelyek nem el´eg´ıtenek minden k´enyszert. Ez a megold´as nem t´ ul hat´ekony. Jobb lenne, ha a k´enyszereket min´el m´elyebbre” tudn´ank helyezni ” a gyakori mint´akat kinyer˝o algoritmusokban. Ez bizonyos k´enyszerekn´el megtehet˝o, m´asokn´al nem. N´ezz¨ uk, milyen oszt´alyokba sorolhatjuk a k´enyszereket. Tulajdonk´eppen az is egy k´enyszer, hogy gyakori mint´akat keres¨ unk. A gyakoris´agra vonatkoz´o predik´atum igaz, ha a minta gyakori, ellenkez˝o esetben hamis. Ez a predik´atum antimonoton: 10.13. defin´ıci´ o. Legyen (H, ) egy r´eszben rendezett halmaz. A p : H → {igaz, hamis} predik´atum anti-monoton, amennyiben tetsz˝oleges x ∈ H elem eset´en, ha p(x) = igaz, akkor p(y) is igazat ad minden y x elemre. Ha a fenti defin´ıci´oba y x helyett xy ´ırunk, akkor a monoton predik´atumok defin´ıci´oj´at kapjuk. Egy predik´atum akkor ´es csak akkor monoton ´es anti-monoton egyben, ha a mintat´er minden elem´ehez igaz (vagy hamis) ´ert´eket rendel. Az ilyen predik´atumot trivi´alis predik´atumnak h´ıvjuk. 10.14. defin´ıci´ o. Legyen (H, ) egy r´eszben rendezett halmaz. A p : H → {igaz, hamis} predik´atum prefix anti-monoton, amennyiben megadhat´o a ≺-nek egy olyan 0 line´aris kiterjeszt´ese amire, ha p(m) = igaz, akkor p az m minden prefix´en is igaz. 10.15. defin´ıci´ o. Legyen (H, ) egy r´eszben rendezett halmaz. A p : H → {igaz, hamis} predik´atum prefix monoton, amennyiben megadhat´o a ≺-nek egy olyan 0 line´aris kiterjeszt´ese amely, ha p(m) = igaz, ´es az m0 mint´anak m prefixe. akkor p(m0 ) is igaz. Minden anti-monoton (monoton) predik´atum egyben prefix anti-monoton (prefix monoton) is. 10.16. defin´ıci´ o. A p predik´atum er˝osen ´atalak´ıthat´o, amennyiben egyszerre prefix antimonoton ´es prefix monoton. A 10.1 ´abr´an l´athat´o a k´enyszerek kapcsolata [107]. Sejthetj¨ uk, hogy az anti-monoton predik´atumok lesznek a legegyszer˝ ubben kezelhet˝ok. Ilyen anti-monoton predik´atumok p´eld´aul a k¨ovetkez˝ok:
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
203
triviális
anti−monoton
monoton
prefix anti−monoton
prefix monoton
erõsen átalakítható nem átalakítható 10.1. ´abra. A k´enyszerek (predik´atumok) oszt´alyoz´asa – A minta m´erete ne legyen nagyobb egy adott k¨ usz¨obn´el. – A mint´anak legyen r´esze egy r¨ogz´ıtett minta. V´as´arl´oi szok´asok vizsg´alat´an´al – amikor a v´as´arl´oi kosarakban gyakran el˝ofordul´o term´ekhalmazokat keress¨ uk – monoton k´enyszer p´eld´aul az, hogy a term´ekhalmazban l´ev˝o elemek profitj´anak ¨ossz´ert´eke (vagy minimuma, maximuma) legyen nagyobb egy adott konstansn´al. Prefix monoton predik´atum p´eld´aul, hogy a term´ekhalmazban tal´alhat´o term´ekek ´ar´anak ´atlaga nagyobb-e egy r¨ogz´ıtett konstansn´al. Rendezz¨ uk a term´ekeket ´aruk szerint n¨ovekv˝o sorrendbe. Ezen rendez´es szerinti lexikografikus rendez´es legyen a teljes rendez´es. Nyilv´anval´o, hogy ekkor a prefixben tal´alhat´o term´ekek ´arai nagyobbak, mint a prefixben nem szerepl˝o term´ekei ´arai. Ez a k´enyszer prefix monoton, hiszen a prefix a legolcs´obb term´ekeket nem tar´ talmazza, ´ıgy ´atlaga nem lehet kisebb. Erdemes ´atgondolni, hogy ez a predik´atum r´aad´asul er˝osen ´atalak´ıthat´o.
10.2.3. T¨ obbsz¨ or¨ os t´ amogatotts´ agi k¨ usz¨ ob Vannak olyan alkalmaz´asok, amelyekben a gyakoris´ag egyetlen, univerz´alis t´amogatotts´agi k¨ usz¨ob alapj´an t¨ort´en˝o defini´al´asa nem megfelel˝o. Ha p´eld´aul v´as´arl´asi szok´asok elemz´es´ere gondolunk, akkor a nagy ´ert´ek˝ u term´ekekkel kapcsolatos tud´as legal´abb annyira fontos, mint a nagy mennyis´egben ´ert´ekes´ıtett, de kis haszonnal j´ar´o term´ekekkel kapcsolatos inform´aci´o. K´ezenfekv˝o megold´as, hogy annyira lecs¨okkentj¨ uk a t´amogatotts´agi k¨ usz¨ob¨ot, hogy ezek a ritka elemek is gyakoriak legyenek, ami azzal a vesz´ellyel j´ar, hogy (ezen fontos elemek mellett) a mintat´er nagy r´esze gyakoriv´a v´alik. T¨obbsz¨or¨os t´amogatotts´agi k¨ usz¨obn´el a mintat´er minden elem´ehez egyedileg megadhatunk egy t´amogatotts´agi k¨ usz¨ob¨ot, azaz l´etezik egy min supp : : M → N f¨ uggv´eny, ´es az m akkor gyakori, ha supp(m) ≥ min supp(m). T¨obbsz¨or¨os t´amogatotts´agi k¨ usz¨ob eset´en nem igaz a 10.5 tulajdons´ag. Hi´aba nagyobb ugyanis egy r´eszminta t´amogatotts´aga, a r´eszmint´ahoz tartoz´o t´amogatotts´agi k¨ usz¨ob m´eg nagyobb lehet, ´es ´ıgy a r´eszminta nem felt´etlen¨ ul gyakori.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
204
10.2.4. Dinamikus gyakori mintakinyer´ es Egyre n´epszer˝ ubb adatb´any´aszati feladat a gyakori mint´ak u ´ n. dinamikus kinyer´ese. Adott egy kiindul´asi B bemenet a hozz´a tartoz´o gyakori mint´akkal ´es t´amogatotts´agokkal ´es egy ´ m´asik B0 bemenet. Altal´ aban a B0 -t valami apr´o m´odos´ıt´assal kapjuk B-b˝ol. Feladat, hogy min´el hat´ekonyabban tal´aljuk meg a B0 -ben gyakori mint´akat, azaz min´el jobban haszn´aljuk fel a megl´ev˝o tud´ast (a B-ben gyakori mint´akat). Gondolhatunk itt egy on-line ´aruh´azra, ahol kezdetben rendelkez´es¨ unkre ´allnak az elm´ ult havi v´as´arl´asokhoz tartoz´o gyakori term´ekhalmazok, mik¨ozben folyamatosan ´erkeznek az u ´ j v´as´arl´asok adatai. Hasznos, ha az u ´ jonnan felbukkan´o gyakori mint´akat min´el hamarabb felfedezz¨ uk, an´elk¨ ul, hogy a b˝ov´ıtett adatb´azisban off-line m´odon lefuttatn´ank egy gyakori mint´akat kinyer˝o algoritmust.
10.3. Az algoritmusok jellemz˝ oi Helyes vagy helyesen m˝ uk¨od˝o jelz˝ovel illetj¨ uk azokat az algoritmusokat, amelyek nem hib´aznak, teh´at csak gyakori mint´akat nyernek ki ´es azok t´amogatotts´ag´at j´ol hat´arozz´ak meg. Teljes egy algoritmus, ha be lehet bizony´ıtani, hogy az ¨osszes gyakori mint´at ´es t´amogatotts´agaikat meghat´arozza. Helyesen m˝ uk¨od˝o ´es teljes algoritmusokr´ol fogunk besz´elni, de sz´o lesz olyan algoritmusokr´ol is, amelyekr˝ol csak azt tudjuk, hogy (bizonyos felt´etelez´esekkel ´elve) kicsi annak a val´osz´ın˝ us´ege, hogy nem tal´al meg minden gyakori mint´at. Sz´eless´egi bej´ar´ast val´os´ıtanak meg azok az algoritmu1 sok , amelyek a legkisebb mint´akb´ol kiindulva egyre naFogszuvasod´as ellen z¨old tea gyobb m´eret˝ u gyakori mint´akat nyernek ki. Egy ilyen al- ”T´avol-keleti felm´er´esek szerint goritmusra igaz, hogy az `-elem˝ u gyakori mint´akat hama- azoknak az iskol´asgyerekeknek, rabb tal´alja meg, mint az `-n´el nagyobb elem˝ u mint´akat. akik napi egy cs´esze cukor n´elk¨ uli M´elys´egi bej´ar´ast megval´os´ıt´o algoritmusokra ez nem igaz; z¨old te´at isznak, feleannyi odezek min´el gyorsabban pr´ob´alnak eljutni a nem b˝ov´ıthet˝o vas foguk van, mint az ´atlagnak.” mint´ahoz. Ha ez siker¨ ul, akkor egy u ´ jabb, nem b˝ov´ıthet˝o Forr´as: http://www.terebess. mint´at vesznek c´elba. hu/szorolapok/zoldtea.html A k¨ovetkez˝okben ismertetj¨ uk a h´arom legfontosabb gyakori mint´akat kinyer˝o m´odszert az APRIORI-t, Zaki m´odszer´et ´es a mintan¨ovel˝o m´odszert. Ennek a h´arom algoritmusnak a szerepe abban ´all, hogy szinte az ¨osszes t¨obbi algoritmus ezeknek a tov´abbfejleszt´ese, vagy ezen algoritmusok kever´eke. Jelent˝os´eg¨ uket tov´abb n¨oveli az a t´eny, hogy ezek a m´odszerek alkalmazhat´oak ak´armilyen t´ıpus´ u mint´akat keres¨ unk, legyenek azok elemhalmazok, sorozatok vagy gr´afok. Nem pontos algoritmusokat adunk, hanem csak egy ´altal´anos m´odszerle´ır´ast. Egyes l´ep´eseket csak a minta t´ıpus´anak ismeret´eben lehet pontosan megadni.
10.4. Az APRIORI m´ odszer Az eredeti Apriori algoritmust gyakori elemhalmazok kinyer´es´ere haszn´alt´ak, ´es mint az AIS algoritmus [3] tov´abbfejlesztett v´altozata adt´ak k¨ozre. Rakesh Agrawal ´es Ramakrishnan Srikant [5] publik´alt´ak 1993-ban, de t˝ol¨ uk f¨ uggetlen¨ ul, szinte ugyanezt az algoritmust javasolta 1
A sz´eless´egi bej´ ar´ ast megval´ os´ıt´ o algoritmusokat szintenk´ent halad´o (levelwise) algoritmusoknak is h´ıvj´ ak.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
205
Heikki Mannila, Hannu Toivonen ´es A. Inkeri Verkamo [89]-ben. Az 5 szerz˝o v´eg¨ ul egyes´ıtette a k´et ´ır´ast [4]. Kis m´odos´ıt´assal az algoritmust gyakori sorozatok kinyer´es´ere is (APRIORIALL, GSP algoritmusok), s˝ot, alapelv´et b´armely t´ıpus´ u gyakori minta (epiz´od, fa stb.) keres´es´en´el is alkalmazhatjuk. Az algoritmus rendk´ıv¨ ul egyszer˝ u, m´egis gyors ´es kicsi a mem´oriaig´enye. Tal´an emiatt a mai napig ez az algoritmus a legelterjedtebb ´es legismertebb gyakori mintakinyer˝o algoritmus. Az Apriori sz´eless´egi bej´ar´ast val´os´ıt meg. Ez azt jelenti, hogy a legkisebb mint´ab´ol kiindulva szintenk´ent halad el˝ore a nagyobb m´eret˝ u gyakori mint´ak meghat´aroz´as´ahoz. A k¨ovetkez˝o szinten (iter´aci´oban) az eggyel nagyobb m´eret˝ u mint´akkal foglalkozik. Az algoritmusban k¨ozponti szerepet t¨oltenek be az u ´ n. jel¨oltek. Jel¨oltnek h´ıvjuk egy adott iter´aci´oban azt a mint´at, amelynek t´amogatotts´ag´at meghat´arozzuk, azaz, aminek figyelm¨ unket szentelj¨ uk. Hamis jel¨olteknek h´ıvjuk azokat a jel¨olteket, amelyekr˝ol ki fog der¨ ulni, hogy ritka mint´ak, elhanyagolt mint´ak pedig azok a gyakori mint´ak, amelyeket nem v´alasztunk jel¨oltnek (nem foglalkozunk vel¨ uk ,). Nyilv´anval´o, hogy csak azokr´ol a mint´akr´ol tudjuk eld¨onteni, hogy gyakoriak-e, amelyeknek meghat´arozzuk a t´amogatotts´ag´at, teh´at amelyek jel¨oltek valamikor. Ez´ert elv´arjuk az algoritmust´ol, hogy minden gyakori mint´at felvegyen jel¨oltnek. A teljess´eg felt´etele, hogy ne legyen elhanyagolt minta, a hat´ekonys´ag pedig ann´al jobb, min´el kevesebb a hamis jel¨olt. A jel¨oltek defini´al´as´an´al a 10.5 tulajdons´agot haszn´aljuk fel, ami ´ıgy sz´olt : Gyakori minta ” minden r´eszmint´aja gyakori.”. Az ´all´ıt´ast indirekten n´ezve elmondhatjuk, hogy egy minta biztosan nem gyakori, ha van ritka r´eszmint´aja ! Ennek alapj´an ne legyen jel¨olt az a minta, amelynek van ritka r´eszmint´aja. Az APRIORI algoritmus ez´ert ´ep´ıtkezik lentr˝ol. Egy adott iter´aci´oban pontosan tudjuk, hogy a r´eszmint´ak gyakoriak vagy sem! Az algoritmus onnan kapta a nev´et, hogy az `-elem˝ u jel¨olteket a bemeneti adat `-edik ´atolvas´as´anak megkezd´ese el˝ott (a priori) ´all´ıtja el˝o. Az algoritmus pszeudok´odja a k¨ovetkez˝o ´abr´an l´athat´o. Kezdeti ´ert´ekek be´all´ıt´asa ut´an bel´ep¨ unk egy ciklusba. A ciklus akkor ´er v´eget, ha az `-elem˝ u jel¨oltek halmaza u ¨ res. A cikluson bel¨ ul el˝osz¨or a t´ amogatotts´ ag meghat´ aroz´ as elj´ar´ast h´ıvjuk meg, amely a jel¨oltek t´amogatotts´ag´at hat´arozza meg. Ha ismerj¨ uk a jel¨oltek t´amogatotts´ag´at, akkor ki tudjuk o´ all´ ıt´ as f¨ uggv´eny az `-elem˝ u gyakori mint´akb´ol v´alasztani bel˝ol¨ uk a gyakoriakat. A jel¨ olt el} (` + 1)-elem˝ u jel¨olteket ´all´ıt el˝o. Az Apriori elvet adapt´al´o algoritmusok mind a fenti l´ep´eseket k¨ovetik. Term´eszetesen a k¨ ul¨onb¨oz˝o t´ıpus´ u mint´akn´al k¨ ul¨onb¨oz˝o m´odon kell elv´egezni a t´amogatotts´ag-meghat´aroz´as, gyakoriak kiv´alogat´asa, jel¨oltek el˝o´all´ıt´asa l´ep´eseket. Az algoritmus hat´ekonys´ag´anak egyik alapfelt´etele, hogy a jel¨oltek elf´erjenek a mem´ori´aban. Ellenkez˝o esetben ugyanis rengeteg id˝o menne el az olyan I/O m˝ uveletekkel, amelynek sor´an a jel¨olteket a h´att´er ´es a mem´oria k¨oz¨ott ide-oda m´asolgatjuk. A fenti pszeudok´od az eredeti Apriori egyszer˝ us´ıtett v´altozat´at ´ırja le. Val´oj´aban ugyanis addig ´all´ıtjuk el˝o az `-elem˝ u jel¨olteket, am´ıg azok elf´ernek a mem´ori´aban. Ha elfogy a mem´oria, akkor ` n¨ovel´ese n´elk¨ ul folytatjuk az algoritmust, majd a k¨ovetkez˝o iter´aci´oban ott folytatjuk a jel¨oltek el˝o´all´ıt´as´at, ahol abbahagytuk.
10.4.1. Jel¨ oltek el˝ o´ all´ıt´ asa Az `-elem˝ u jel¨oltek el˝o´all´ıt´as´anak egyszer˝ u m´odja az, hogy vessz¨ uk az ¨osszes `-elem˝ u mint´at, ´es azokat v´alasztjuk jel¨oltnek, amelyekre teljes¨ ul, hogy minden r´eszmint´ajuk gyako-
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
206
Algorithm 9 Az Apriori m´ odszer Require: B : bementei adat usz¨ob min supp : t´amogatotts´agi k¨ `⇐0 J` ⇐ { az u ¨ res minta } {J` : Az `-elem˝ u jel¨oltek} while |J` | = 6 0 do t´ amogatotts´ ag meghat´ aroz´ as(B, J` ) for all j ∈ J` do if supp(j) ≥ min supp then GY` ⇐ GY` ∪ {j} end if end for J`+1 ⇐ jel¨ olt el} o´ all´ ıt´ as(GY` ) GY ⇐ GY ∪ GY` ` ⇐ `+1 end while return GY : gyakori mint´ak ri. Sz¨ uks´egtelen az ¨osszes r´eszmint´at ellen˝orizni, ugyanis a t´amogatotts´ag anti-monotonit´as´ab´ol k¨ovetkezik az, hogy ha az ¨osszes (`−1)-elem˝ u r´eszminta gyakori, akkor az ¨osszes val´odi r´eszminta is gyakori. Ez a m´odszer azonban nem t´ ul hat´ekony, vagy u ´ gy is megfogalmazhatn´ank, hogy t´ ul sok felesleges munk´at v´egez, t´ ul sok olyan mint´at vizsg´al meg, amelyek biztosan nem gyakoriak. H´ıvjuk potenci´alis jel¨olteknek azon mint´akat, amelyeket el˝o´all´ıtunk, majd ellen˝orizz¨ uk, hogy r´eszmint´aik gyakoriak-e. Ha egy potenci´alis minta ´atesik a teszten, akkor jel¨olt´e v´alik. Tudjuk, hogy ha egy minta jel¨olt lesz, akkor minden (` − 1)-elem˝ u r´eszmint´aja gyakori, teh´at c´elszer˝ u az (` − 1)-elem˝ u gyakori mint´akb´ol kiindulni. Egy egyszer˝ u megold´as lenne, ha sorra venn´enk az (` − 1)-elem˝ u gyakori mint´ak minim´alis val´odi fels˝o korl´atait, mint potenci´alis jel¨olteket. M´eg jobb megold´as, ha a (` − 1)-elem˝ u gyakori mintap´aroknak vessz¨ uk a minim´alis val´odi fels˝o korl´atait. Ekkor ugyanis csak olyan potenci´alis jel¨oltet ´all´ıtunk el˝o, amelynek van k´et (` − 1)-elem˝ u gyakori r´eszmint´aja. A minim´alis val´odi fels˝o korl´atot egy illeszt´esi m˝ uvelettel fogjuk el˝o´all´ıtani. A k´et gyakori mint´at a potenci´alis jel¨olt gener´atorainak h´ıvjuk. Az illeszt´esi m˝ uveletet a ⊗-el fogunk jel¨olni. Akkor illeszt¨ unk k´et mint´at, ha van (` − 2)-elem˝ u k¨oz¨os r´eszmint´ajuk. Ezt a r´eszmint´at magnak (core) fogjuk h´ıvni. Ha az el˝o´all´ıt´as m´odja olyan, hogy nem ´all´ıthatjuk el˝o ugyanazt a potenci´alis jel¨oltet k´et k¨ ul¨onb¨oz˝o m´odon, akkor ezt a jel¨olt-el˝o´all´ıt´ast ism´etl´es n´elk¨ ulinek nevezz¨ uk. N´ezz¨ unk egy p´eld´at. Legyenek a mintat´er elemei elemhalmazok. Akkor ´all´ıtsuk el˝o k´et (` −1)-elem˝ u gyakori elemhalmaznak a minim´alis val´odi korl´atj´at, ha metszet¨ uk (` − 2)-elem˝ u. A minim´alis val´odi korl´atok halmaza csak egy elemet fog tartalmazni, a k´et halmaz uni´oj´at. Ez a jel¨olt-el˝o´all´ıt´as nem ism´etl´es n´elk¨ uli, ugyanis p´eld´aul az ({A, B}, {A, C}) p´arnak ugyanaz a legkisebb fels˝o korl´atja, mint az ({A, B}, {B, C}) p´arnak. Az ism´etl´es n´elk¨ uli jel¨olt-el˝o´all´ıt´ast mindig a minta elemein ´ertelmezett teljes rendez´es fogja garant´alni, ami a rendez´es egy line´aris kiterjeszt´ese lesz. A teljes rendez´esnek megfelel˝oen v´egigmegy¨ unk az (`−1)-elem˝ u gyakori mint´akon ´es megn´ezz¨ uk, hogy mely sorban ut´ana k¨ovet-
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
207
kez˝o (` − 1)-elem˝ u gyakori mint´aval illeszthet˝o, illetve az illeszt´esk´ent kapott potenci´alis jel¨olt minden (` − 1)-elem˝ u r´eszmint´aja gyakori-e. Sok esetben a ism´etl´es n´elk¨ ulis´egnek el´egs´eges felt´etele az lesz, hogy a k´et gyakori minta (` − 2)-elem˝ u prefixeik megegyezzenek. A minta t´ıpus´anak ismeret´eben a teljess´eget (minden minim´alis val´odi fels˝o korl´atbeli elemet el˝o´all´ıtunk) ´es az ism´etl´es n´elk¨ ulis´eget k¨onny˝ u lesz bizony´ıtani. Algorithm 10 Jel¨ oltek el} o´ all´ ıt´ asa Require: GY`−1 : (` − 1)-elem˝ u gyakori mint´ak
for all gy ∈ GY`−1 do for all gy 0 ∈ GY`−1, gy gy 0 do if gy ´es gy 0 illeszthet˝o then Jˆ ⇐ minim´ alis val´ odi fels} o korl´ at(gy, gy 0) {Jˆ: potenci´alis jel¨oltek halmaza} for all ˆj ∈ Jˆ do if minden r´ eszhalmaz gyakori(ˆj, GY`−1 ) then J` ⇐ ˆj end if end for end if end for end for return J` : `-elem˝ u jel¨oltek
10.4.2. Z´ art mint´ ak kinyer´ ese, az APRIORI-CLOSE algoritmus A z´art mint´ak jelent˝os´eg´et a 10.2.1 r´eszben m´ar t´argyaltuk. Itt most k´et feladat megold´as´aval foglalkozunk. Megn´ezz¨ uk, hogy az ¨osszes gyakori mint´ab´ol hogyan tudjuk el˝o´all´ıtani a z´artakat, illetve bemutatjuk az APRIORI-CLOSE [104–106] algoritmust, amely m´ar eleve csak a z´art mint´akat hat´arozza meg. Mindk´et m´odszerhez az al´abbi ´eszrev´etelt haszn´aljuk fel: 10.17. ´ eszrev´ etel. Ha az m minta nem z´art, akkor van olyan m-et tartalmaz´o eggyel nagyobb m´eret˝ u minta, amelynek t´amogatotts´aga megegyezik m t´amogatotts´ag´aval. Tegy¨ uk fel, hogy a legnagyobb m´eret˝ u gyakori minta m´erete k. A GYk elemei z´artak. Egy egyszer˝ u algoritmus menete a k¨ovetkez˝o : N´ezz¨ uk sorban GYk−1, GYk−2, . . . , GY0 elemeit. Ha m ∈ GY` -hez tal´alunk olyan m0 ∈ GY`+1 elemet, amelynek t´amogatotts´aga megegyezik m t´amogatotts´ag´aval, akkor m nem z´art. Ha nincs ilyen tulajdons´ag´ u m0 , akkor m z´art. Az APRIORI-CLOSE menete teljes m´ert´ekben megegyezik az Apriori algoritmus menet´evel. Az egyetlen k¨ ul¨onbs´eg, hogy az `-elem˝ u gyakori mint´ak meghat´aroz´asa ut´an t¨orli az (` − 1)-elem˝ u nem z´artakat. Miut´an eld¨ont¨otte, hogy az `-elem˝ u m minta gyakori, megvizsg´alja az ¨osszes (`−1)-elem˝ u r´eszmint´aj´at m-nek. Amennyiben van olyan r´eszhalmaz, aminek t´amogatotts´aga egyenl˝o m t´amogatotts´ag´aval, akkor ez a r´eszminta nem z´art, ellenkez˝o esetben z´art.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
208
10.5. Sorozat t´ıpus´ u bemenet A leg´altal´anosabb eset le´ır´as´an´al nem tett¨ unk semmi megk¨ot´est a bemenet t´ıpus´ara ´es a t´amogatotts´agi f¨ uggv´enyre vonatkoz´oan. Az esetek t¨obbs´ege azonban egy speci´alis csal´adba tartozik. Ennek a probl´emacsal´adnak a jellemz˝oje, hogy a bemenet egy v´eges sorozat, ´es a t´amogatotts´agot azon elemek sz´ama adja, amelyek valamilyen m´odon illeszkednek a mint´ara2 . Az illeszked´est egy illeszked´esi predik´atummal adhatjuk meg, melynek ´ertelmez´esi tartom´anya a mintat´er. bemenet : S = hs1 , s2 , . . . , sn i A t´amogatotts´ag defin´ıci´oja megk¨oveteli, hogy ha egy minta illeszkedik egy sorozatelemre, akkor minden r´eszmint´aja is illeszkedjen. A legt¨obb esetben a sorozat elemei megegyeznek a mintat´er elemeivel ´es az m minta akkor illeszkedik egy sorozatelemre, ha annak m a r´eszmint´aja. A szakirodalomban igen elterjedt a sorozatok helyett a halmazokkal le´ırt bemenet, ahol minden egyes elem egyedi azonos´ıt´oval van ell´atva. A jegyzetben a sorozatos le´ır´ast fogjuk haszn´alni, akinek ez szokatlan, az tekintse azonos´ıt´oknak a sorozat elemeinek sorsz´am´at. Az m minta gyakoris´ag´at (jel¨ol´esben: f reqS(m), ami a frequency sz´ora utal) az m t´amogatotts´aga ´es az S hossz´anak h´anyados´aval defini´aljuk. A gyakoris´agi k¨ usz¨ob¨ot ( min|S|supp ) uk. Az ´ertelmesen megv´alasztott gyakoris´agi k¨ usz¨ob mindig k¨ovetkezetesen min f req-el jel¨olj¨ 0 ´es 1 k¨oz¨ott van. Az esetek t¨obbs´eg´eben t´amogatotts´agi k¨ usz¨ob helyett gyakoris´agi k¨ usz¨ob¨ot adnak meg. Sorozat t´ıpus´ u bemenet eset´en mer¨ ul fel azon elv´ar´as az algoritmusokkal szemben, hogy ne legyen ´erz´ekeny a bemenet homogenit´as´ara. Intuit´ıve akkor homog´en egy bemenet, ha nincsenek olyan r´eszei, amelyben valamely minta gyakoris´aga nagyon elt´er a teljes bemenet alapj´an sz´am´ıtott gyakoris´ag´at´ol. Sok alkalmaz´asban ez a felt´etel nem ´all fenn, ´ıgy azokat az algoritmusokat kedvelj¨ uk, amelyek hat´ekonys´aga f¨ uggetlen a bemenet homogenit´as´at´ol. K¨onny˝ u ´atgondolni, hogy az Apriori algoritmus rendelkezik ezzel a tulajdons´aggal.
10.5.1. Apriori Amennyiben a t´amogatotts´agot illeszked´esi predik´atum alapj´an defini´aljuk, akkor az Apriori algoritmus a bemeneti elemeken egyes´evel v´egigmegy ´es n¨oveli azon jel¨oltek sz´aml´al´oj´at, amelyek illeszkednek az ´eppen aktu´alis bemeneti elemre. Azonos bemeneti elemekn´el ez a m˝ uvelet ugyanazt fogja csin´alni ez´ert c´elszer˝ u az azonos bemeneti elemeket ¨osszegy˝ ujteni ´es csak egyszer megh´ıvni az elj´ar´ast. A bemenet azonban t´ ul nagy lehet, ez´ert ezt gyors´ıt´asi l´ep´est csak akkor szok´as elv´egezni, amikor m´ar rendelkez´es¨ unkre ´allnak az egyelem˝ u gyakori mint´ak. Ezek alapj´an tov´abbi sz˝ ur´eseket lehet v´egezni. P´eld´aul elemhalmaz/elemsorozat t´ıpus´ u bemeneti elemekn´el t¨or¨olj¨ uk a halmazb´ol/sorozatb´ol a ritka elemeket. Ez dupl´an hasznos, hiszen cs¨okkentj¨ uk a mem´oriafogyaszt´ast ´es mivel az azonos sz˝ urt elemek sz´ama nagyobb lehet, mint az azonos elemek sz´ama a t´amogatotts´agok meghat´aroz´asa m´eg kevesebb id˝obe fog telni. Vannak olyan mint´ak, amelyekn´el a illeszked´es eld¨ont´ese dr´aga m˝ uvelet. P´eld´aul gr´af t´ıpus´ u mint´akn´al az illeszked´es meghat´aroz´as´ahoz egy r´eszgr´af izomorfia feladatot kell eld¨onteni, ami bizony´ıtottan NP-teljes. Ilyen mint´akn´al hasznos, ha minden jel¨oltn´el rendelkez´es¨ unkre ´allnak 2
Ha csak a matematikai defin´ıci´okat tekintj¨ uk, akkor t¨ orekedhett¨ unk volna a legegyszer˝ ubb le´ır´ asra ´es haszn´alhattunk volna sorozatok helyett multihalmazokat. A val´os´agban azonban a bemenet t´enyleg sorozatok form´aj´ aban adott, ´ıgy nem tehetj¨ uk fel, hogy az azonos bemeneti elemek ¨ossze vannak vonva.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
209
azon bemeneti elemek sorsz´amai, amelyekre illeszkednek a gener´atorok (nevezz¨ uk ezt a halmazt illeszked´esi halmaznak). Az illeszked´esi predik´atum anti-monoton tulajdons´ag´ab´ol k¨ovetkezik, hogy a jel¨olt csak azon bemeneti elemekre illeszkedhet, amelyekre gener´atoraik is illeszkednek. A t´amogatotts´ag meghat´aroz´asa sor´an a jel¨oltek illeszked´esi halmaz´at is meg kell hat´aroznunk hiszen a jel¨oltek lesznek a gener´atorok a k¨ovetkez˝o iter´aci´oban. Term´eszetesen a gener´atorok illeszked´esi list´ait t¨or¨olhetj¨ uk miut´an meghat´aroztuk a jel¨oltek illeszked´esi list´ait. DIC A DIC (Dynamic Itemset Counting) algoritmus [22] az Apriori tov´abbfejleszt´ese. Gyakori elemhalmazok kinyer´es´ere javasolt´ak, de minden olyan gyakori mint´akat keres˝o feladatban alkalmazhat´o, amelyben a bemenet sorozat t´ıpus´ u, ´es a t´amogatotts´agot illeszked´esi predik´atum alapj´an defini´aljuk. Az algoritmus nem tiszt´an sz´eless´egi bej´ar´ast val´os´ıt meg ; a k¨ ul¨onb¨oz˝o elemsz´am´ u mint´ak egy¨ utt vannak jelen a jel¨oltek k¨oz¨ott. Ha k a legnagyobb gyakori minta m´erete, akkor v´arhat´oan (k+)-n´el kevesebbszer, de legrosszabb esetben (k + 1)-szer kell v´egigolvasni a bemenetet. A DIC algoritmusban – szemben az APRIORI-val – nem v´alik sz´et az egyes iter´aci´okban a jel¨oltek el˝o´all´ıt´asa, a t´amogatotts´agok meghat´ aroz´asa ´es a ritka mint´ak t¨orl´ese. Mik¨ozben vessz¨ uk a bemeneti elemeket ´es hat´arozzuk meg a jel¨oltek t´amogatotts´ag´at, u ´ j jel¨olteket vehet¨ unk fel ´es t¨or¨olhet¨ unk (azaz dinamikus elemsz´aml´al´ast alkalmazunk, ahogyan erre az algoritmus neve is utal). Akkor vesz¨ unk fel egy mint´at a jel¨oltek k¨oz´e, ha minden val´odi r´eszmint´aj´ar´ol kider¨ ult, hogy gyakori. Ak´arhol vesz¨ unk fel egy jel¨oltet, egy iter´aci´oval k´es˝obb ugyanott, ahol felvett¨ uk, t¨or¨oln¨ unk kell a jel¨oltek k¨oz¨ ul, hiszen a pontos t´amogatotts´ag meghat´aroz´as´ahoz a teljes bemenetet ´at kell n´ezn¨ unk. Ha a t¨or¨olt jel¨olt gyakori, akkor term´eszetesen a mint´at felvessz¨ uk a gyakori mint´ak halmaz´aba. Minden jel¨ol eset´en t´arolnunk kell, hogy h´anyadik bemeneti elemn´el lett jel¨olt. A kiindul´asi ´allapotban minden egyelem˝ u minta jel¨olt ´es akkor ´er v´eget az algoritmus, amikor nincs egyetlen jel¨olt sem. Elemhalmazok p´eld´aj´at n´ezve, ha az A ´es B elemek olyan sokszor fordulnak el˝o, hogy t´amogatotts´aguk, m´ar a bemenet egyharmad´anak ´atolvas´asa ut´an el´eri min supp-ot, akkor az {A, B} k´et elem˝ u halmaz m´ar ekkor jel¨olt lesz, ´es el˝ofordul´asait el kell kezdeni ¨osszesz´amolni. A bemenet v´egigolvas´asa ut´an ism´et az els˝o bemeneti elemre l´ep¨ unk ´es az egyelem˝ u jel¨oltek t¨orl´ese ut´an folytatjuk a jel¨oltek t´amogatotts´ag´anak meghat´aroz´as´at. Az A, B jel¨oltet a bemenet egyharmad´an´al t¨or¨olj¨ uk a jel¨oltek k¨oz¨ ul. Ha nincs m´as jel¨olt, akkor az algoritmus v´eget ´er. L´athat´o, hogy ekkor a DIC algoritmus 1+1/3-szor olvassa v´egig a bemenetet, amit az Apriori k´etszer tesz meg. Az algoritmus h´atr´anya, hogy minden bemeneti elemn´el meg kell vizsg´alni, hogy vannak-e t¨orlend˝o jel¨oltek. Ez k¨olts´eges m˝ uvelet ez´ert c´elszer˝ u ´allom´asokat” l´etrehozni. P´eld´aul minden ” ezredik bemeneti elem lehet egy ´allom´as. Csak az ´allom´asokn´al n´ezz¨ uk meg, hogy egy jel¨olt t´amogatotts´aga el´erte-e min supp-ot, ´ıgy csak ´allom´asn´al vesz¨ unk fel, illetve t¨orl¨ unk jel¨olteket. A DIC algoritmus, szemben az APRIORI-val, ´erz´ekeny az adatok homogenit´as´ara. Amennyiben egy minta a felsz´all´ohely´et˝ol nagyon t´avol koncentr´alva gyakori, akkor az ¨osszes, ˝ot r´eszmintak´ent tartalmaz´o minta is csak sok´ara lesz jel¨olt. Ekkor a DIC hat´ekonys´aga rosszabb az Apriori algoritmus´en´al, hiszen ugyanannyiszor j´arja v´egig a bemenetet, mint az APRIORI, de ek¨ozben olyan munk´at is v´egez, amit az Apriori nem (minden ´allom´asn´al ellen˝orzi, hogy ¨ mely jel¨olteket kell t¨or¨olni). Osszess´ eg´eben elmondhatjuk, hogy a DIC csak abban az esetben lesz gyorsabb az APRIORI-n´al, ha a bemenet olyan nagy, hogy a fut´asi id˝oben nagy szerepet
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
210
j´atszik a bemenet beolvas´asa. A mai mem´oriakapacit´asok mellett ez ritk´an ´all fenn. A k¨ovetkez˝okben olyan algoritmusokat ismertet¨ unk, amelyek sorozat t´ıpus´ u bemenet ´es illeszked´es alap´ u t´amogatotts´ag eset´en tudj´ak meghat´arozni a gyakori mint´akat.
10.5.2. Zaki m´ odszere Zaki m´odszere [151] szint´en jel¨olteket haszn´al a keres´esi t´er bej´ar´as´ahoz, de a bej´ar´as t´ıpusa – szemben az APRIORI-val – m´elys´egi. A MK = (M, ) mintak¨ornyezet eset´en csak akkor haszn´alhat´o, ha tudjuk defini´alni a -nek egy line´aris kiterjeszt´es´et, ugyanis az algoritmus ´ep´ıt˝oelemei a prefixek. A prefix alapj´an defini´alhatunk egy ekvivalencia rel´aci´ot. Adott ` eset´en k´et minta ekvivalens, ha `-elem˝ u prefix¨ uk megegyezik. A P prefix˝ u mint´ak halmaz´at [P ]-vel jel¨olj¨ uk. A prefixek seg´ıts´eg´evel a mint´ak halmaz´at diszjunkt r´eszekre osztjuk, azaz a feladatot kisebb r´eszfeladatokra vezetj¨ uk vissza. N´ezz¨ uk p´eld´aul az elemhalmazok eset´et. Legyen I = {A, B, C, D} ´es M = (2I, ⊆), akkor 0 0 00 I ≺ I , ha |I 0 | < |I 00 | vagy, ha |I 0 | = |I 00 | ´es I 0 lexikografikusan megel˝ozi I 00 -t. P´eld´aul {D} ≺ ≺ 0 {A, C} ´es {A, B, D} ≺ 0{B, C, D}. Amennyiben ` = 1, akkor p´eld´aul a {A, B}, {A, C}, {A, D} egy ekvivalencia oszt´alyba tartozik, aminek p´eld´aul a {B,C} nem eleme. A prefix mellett Zaki m´odszer´enek k¨ozponti fogalma az illeszked´esi lista. Egy mint´ahoz tartoz´o illeszked´esi lista t´arolja a minta illeszked´eseit. Az illeszked´esi lista k´et fontos tulajdons´aggal b´ır : I. Az illeszked´esi list´ab´ol k¨onnyen megkaphat´o a t´amogatotts´ag. II. Egy jel¨olt illeszked´esi list´aja megkaphat´o a gener´atorainak illeszked´esi list´aib´ol. P´eld´aul elemhalmaz t´ıpus´ u mint´ak eset´eben (ha az illeszked´est a tartalmaz´asi rel´aci´o alapj´an defini´aljuk) egy elemhalmaz illeszked´esi list´aja egy olyan lista lesz, amely a bemeneti sorozat azon elemeinek sorsz´am´at t´arolja, amelyeknek r´esze az adott elemhalmaz. P´eld´aul h{A, D}, {A, C}, {A, B, C, D}, {B}, {A, D}, {A, B, D}, {D}i bemenet eset´en az {A, C} illeszked´esi list´aja : h{1,2}i. Zaki algoritmus´anak pszeudok´odja az al´abbi. Algorithm 11 Zaki m´ odszere Require: B : bementei adat min supp : t´amogatotts´agi k¨ usz¨ob J ⇐ 1 elem˝ u mint´ak halmaza{J : jel¨oltek} ILL(J) ⇐ ILL fel´ ep´ ıt´ es(B, J) {ILL(J) : jel¨oltek illeszked´esi list´aja} for all j ∈ J do if |ILL(j)| ≥ min supp then GY1 ⇐ GY1 ∪ j end if end for zaki seg´ ed(GY, ILL(GY ), min supp) {GY = [0]+ } return GY : gyakori mint´ak
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
211
El˝osz¨or fel´ep´ıtj¨ uk az egyelem˝ u mint´ak illeszked´esi list´ait. Ezek alapj´an meghat´arozzuk a gyakori mint´akat. A k´es˝obbiekben nem haszn´aljuk a bemenetet csak az illeszked´esi list´akat, ezekb˝ol ugyanis a t´amogatotts´agok egy´ertelm˝ uen meghat´arozhat´ok. Az algoritmus l´enyege a ed rekurzi´os elj´ar´as, amelynek pszeudok´odja a ?? ´abr´an l´athat´o. zaki seg´ Algorithm 12 zaki seg´ ed elj´ ar´ as + Require: [P ] : P prefix˝ u, P -n´el eggyel nagyobb gyakori mint´ak + + ILL[P ] : [P ] -beli mint´ak illeszked´esi list´aja min supp : t´amogatotts´agi k¨ usz¨ob for all m ∈ [P ]+ do for all m0 ∈ [P ]+ , m m0 do odi fels} o korl´ at(m, m0 , ILL(m, m0 )) J,ILL(J) ⇐ minim´ alis val´ {J : jel¨oltek,ILL(J) : jel¨oltek illeszked´esi list´aja} for all j ∈ J do if |ILL(j)| ≥ min supp then GY 0 ⇐ GY 0 ∪ {j} end if end for end for zaki seg´ ed(GY 0 , ILL(GY 0 ), min supp) GY ⇐ GY ∪ GY 0 end for return GY : P prefix˝ u ¨osszes gyakori minta A Zaki f´ele jel¨olt el˝o´all´ıt´asnak k´et feladata van. Term´eszetesen az egyik a jel¨oltek el˝o´all´ıt´asa, de emellett az illeszked´esi list´akat is el˝o´alltja. A jel¨olt-el˝o´all´ıt´as megegyezik az Apriori jel¨olt el˝o´all´ıt´as´anak els˝o l´ep´es´evel (potenci´alis jel¨oltek el˝o´all´ıt´asa). A m´asodik l´ep´est nem is tudn´ank elv´egezni, ugyanis nem ´all rendelkez´es¨ unkre az ¨osszes r´eszminta, ´ıgy nem is tudjuk ellen˝orizni, hogy az ¨osszes r´eszminta gyakori-e. N´ezz¨ unk erre egy gyors p´eld´at. Amennyiben a mint´akat elemhalmazok form´aj´aban keress¨ uk, akkor az Apriori ´es Zaki m´odszere is el˝osz¨or meghat´arozza a gyakori elemeket. Le5 gyenek ezek az A, C, D, G, M elemek. Az Apriori ezek ut´an el˝o´all´ıtana 2 darab jel¨oltet, majd meghat´arozn´a t´amogatotts´agaikat. Zaki ehelyett csak az A prefix˝ u k´etelem˝ u halmazok t´amogatotts´ag´at vizsg´alja. Ha ezek k¨oz¨ ul gyakori p´eld´aul az {A, C}, {A, G}, akkor a k¨ovetkez˝okben az {A,C,G}-t n´ezi, ´es mivel tov´abbi jel¨oltet nem tud el˝o´all´ıtani, ugrik a C prefix˝ u elemhalmazok vizsg´alat´ara, ´es ´ıgy tov´abb. L´atnunk kell, hogy Zaki m´odszere csak t¨obb jel¨oltet ´all´ıthat el˝o, mint az APRIORI. A m´elys´egi bej´ar´as miatt ugyanis egy jel¨olt el˝o´all´ıt´as´an´al nem ´all rendelkez´es¨ unkre az ¨osszes r´eszminta. Az el˝oz˝o p´elda eset´eben p´eld´aul az {A,C,G} t´amogatotts´ag´at hamarabb vizsg´alja, mint a {C,G} halmaz´et, holott ez ut´obbi ak´ar ritka is lehet. Ebben a tekintetben teh´at Zaki m´odszere rosszabb az APRIORI-n´al, ugyanis t¨obb hamis jel¨oltet ´all´ıt el˝o. Zaki m´odszer´enek igazi ereje a jel¨oltek t´amogatotts´ag´anak meghat´aroz´as´aban van. A mint´ak illeszked´esi list´ainak el˝o´all´ıt´asa egy rendk´ıv¨ ul egyszer˝ u ´es nagyon gyors m˝ uvelet lesz. Emellett ahogy haladunk egyre m´elyebbre a m´elys´egi bej´ar´as sor´an, u ´ gy cs¨okken az illeszked´esi list´ak hossza, ´es ezzel a t´amogatotts´ag meghat´aroz´as´anak ideje is.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
212
A bemenet sz˝ ur´es´enek ¨otlet´et az Apriori algoritmusn´al is els¨ uthetj¨ uk, de nem ilyen m´ert´ekben. Ha ismerj¨ uk a gyakori egyelem˝ u mint´akat, akkor t¨or¨olhetj¨ uk azon sorozatelemeket, amelyek nem illeszkednek egyetlen gyakori egyelem˝ u mint´ara sem. S˝ot ezt a gondolatot ´altal´anos´ıthatjuk is: az `-edik l´ep´esben t¨or¨olhetj¨ uk a bemeneti sorozat azon elemeit, amelyek nem illeszkednek egyetlen (`−1)-elem˝ u mint´ara sem. Ez a fajta bemeneti t´er sz˝ uk´ıt´es azonban nem lesz olyan hat´ekony, mint amilyen a Zaki m´odszer´eben. Ott ugyanis egyszerre csak 1 prefixet vizsg´alunk, az APRIORI-n´al azonban ´altal´aban sok olyan minta van, aminek csak az u ¨ res minta a k¨oz¨os r´eszmint´aja. ¨ Osszess´ eg´eben teh´at az Apriori kevesebb jel¨oltet gener´al, mint Zaki m´odszere, de a jel¨oltek ´ t´amogatotts´ag´anak meghat´aroz´asa t¨obb id˝ot vesz ig´enybe. Altal´ anoss´agban nem lehet megmondani, hogy melyik a jobb m´odszer. Egyes adatb´azisok eset´en az APRIORI, m´asokn´al a Zaki m´odszer. S˝ot k¨onnyen lehet olyan p´eld´at mutatni, amikor az egyik algoritmus nagys´agrendileg t¨obb id˝o t¨olt a feladat megold´as´aval, mint a m´asik. Zaki m´odszer´en´el k¨onny˝ u kezelni a anti-monoton ´es a prefix anti-monoton k´enyszereket. A nem gyakori mint´ak t¨orl´esekor t¨or¨olj¨ uk azokat a mint´akat is, amelyek nem el´eg´ıtenek ki minden anti-monoton k´enyszert. A prefix anti-monoton k´enyszereket a jel¨oltek el˝o´all´ıt´asa ut´an kell figyelembe venn¨ unk: t¨or¨olhetj¨ uk azokat a gener´atorokat, amelyekre nem teljes¨ ul az antimonoton k´enyszer. A zaki seg´ ed elj´ar´asb´ol k¨ovetkezik, hogy ilyen m mint´at legfeljebb olyan jel¨olt el˝o´all´ıt´as´an´al fogunk felhaszn´alni, aminek m a prefixe. Term´eszetesen itt is bajban vagyunk, ha t¨obb prefix anti-monoton k´enyszer van adva, hiszen ezek ≺-nek k¨ ul¨onb¨oz˝o line´aris kiterjeszt´eseit haszn´alhatj´ak.
10.5.3. Mintan¨ ovel˝ o algoritmusok A mintan¨ovel˝o (pattern growth) algoritmus olyan mintakeres´es eset´en alkalmazhat´o, amikor a bemenet mint´ak sorozatak´ent van megadva, ´es az illeszked´est a tartalmaz´as alapj´an defini´aljuk, ´ertelmezhet˝o a prefix, ´es a mint´ak egy´ertelm˝ uen n¨ovelhet˝ok. P´eld´aul a n¨ovel´es m˝ uvelet halmazok eset´en az uni´o, sorozatok eset´eben a konkaten´aci´o k´epz´es´enek felel meg (´es ebb˝ol l´atszik, hogy a n¨ovel´es m˝ uvelete nem felt´etlen¨ ul kommutat´ıv). 10.18. defin´ıci´ o. Az MK=(M, ) mintak¨ornyezet mint´ai egy´ertelm˝ uen n¨ovelhet˝ok, ha l´etezik egy olyan + n¨ovel˝o” m˝ uvelet, amellyel az M f´elcsoportot alkot. ” A n¨ovel´es inverze a cs¨okkent´es, jel¨ol´ese: -. Az m−m0 m˝ uvelet eredm´enye az az m00 minta, amivel 0 m -t n¨ovelve m-et kapjuk. A mintan¨ovel˝o m´odszerek csak egyelem˝ u jel¨olteket haszn´alnak, ´es emellett a bemeneten v´egeznek olyan m˝ uveleteket, amelyek eredm´enyek´ent megkapjuk a gyakori mint´akat. A k´et m˝ uvelet a sz˝ ur´es ´es a vet´ıt´es, amelyek az eredeti S bemenetb˝ol egy kisebb” S0 bemenetet ” ´all´ıtanak el˝o. A sz˝ ur´es a gyakori egyelem˝ u mint´akat haszn´alja ´es olyan S0 bemenetet ´all´ıt el˝o amelyben a gyakori mint´ak megegyeznek az S-beli gyakori mint´akkal. Az S bemenet m mint´ara vet´ıt´ese (jel¨ol´esben S|m) pedig olyan S0 bemenetet ´all´ıt el˝o, amelyre igaz, hogy ha m-et az S0 beli gyakori mint´akkal n¨ovelj¨ uk, akkor megkapjuk az S-beli, m-et tartalmaz´o gyakori mint´akat. A m-et tartalmaz´o gyakori mint´ak meghat´aroz´as´ahoz csak azokra a bemeneti elemekre van sz¨ uks´eg, amelyekre illeszkedik m, ez´ert a vet´ıt´es els˝o l´ep´ese mindig ezen elemek meghat´aroz´asa lesz. Ha p´eld´aul a bemenet elemei elemhalmazok ´es akkor illeszkedik egy elemhalmaz a bemenet egy elem´ere, ha annak r´esze, akkor sz˝ ur´es m˝ uvelet az lesz, hogy a bemeneti
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
213
elemekb˝ol t¨or¨olj¨ uk a ritka elemeket. Nyilv´anval´o, hogy ritka elem nem j´atszik szerepet a gyakori elemek meghat´aroz´as´aban. A bemenet X halmazra vet´ıt´es´et megkapjuk, ha t¨or¨olj¨ uk azon bemeneti elemeket, amelyeknek nem r´esze X, majd a kapott elemekb˝ol t¨or¨olj¨ uk X-et. Legyen S = h{A, C, F }, {B, G}, {A, C, D}, {A, C}, {B, C}, {C, D, E}, {A, B, C}i ˜ amelynek sz˝ ur´ese 2-es t´amogatotts´agi k¨ usz¨ob eset´en az S = ˜ = h{A, C}, {B}, {A, C, D}, {A, C}, {B, C}, {C, D}, {A, B, C}i sorozat ´es S|{A, C} = = h{D}, {B}i. A mintan¨ovel˝o m´odszer rendk´ıv¨ ul egyszer˝ u, tulajdonk´eppen a feladatot rekurz´ıvan kisebb r´eszfeladat megold´as´ara vezeti vissza. A rekurzi´os elj´ar´ast a bemenet sz˝ ur´es´evel ´es k¨ ul¨onb¨oz˝o mint´akra vett vet´ıt´eseivel h´ıvja meg, mik¨ozben a mintateret is cs¨okkenti. Jel¨olj¨ uk M \ m-el ¯ azt a mintateret, amit u ´ gy kapunk M-b˝ol, hogy t¨or¨olj¨ uk azon mint´akat, amelynek m r´eszmint´aja (m). ¯ Ha az m minta t´amogatotts´aga S-ben suppS(m) ´es az m0 ∈ M\ m ¯ t´amogatotts´aga S|m-ben 0 0 0 suppS|m (m ), akkor m+m t´amogatotts´aga is suppS|m (m ). A m´odszer pszeudok´odja a ?? ´abr´an l´athat´o. Algorithm 13 Mintan¨ ovel} o m´ odszer Require: B : bemeneti adat min supp : t´amogatotts´agi k¨ usz¨ob M : mintat´er
J1 ⇐1-elem˝ u mint´ak {J1 : egyelem˝ u jel¨oltek} t´ amogatotts´ ag meghat´ aroz´ as(B, J1 ) GY1 ⇐ gyakoriak kiv´ alogat´ asa(J1 , min supp) ˜ B ⇐ sz} ur´ es(B)
for all gy ∈ GY 1 do ˜ GY 0 ⇐ mintan¨ ovel} o m´ odszer(B|gy, min supp, M \ gy) ˜ 0 0 for all gy ∈ GY do GY ⇐ GY ∪ {gy + gy 0} end for end for return GY : gyakori mint´ak A m´odszer el˝onye abban rejlik, hogy sz˝ ur´est, vet´ıt´est ´es az egyelem˝ u jel¨oltek t´amogatotts´ag´at hat´ekonyan tudjuk megval´os´ıtani. A hat´ekonys´ag n¨ovel´ese ´erdek´eben a vet´ıtett tranzakci´ok azonos elemeit csak egyszer t´aroljuk, ´altal´aban egy fa-szer˝ u strukt´ ur´aban. Az anti-monoton k´enyszerek kezel´ese a mintan¨ovel˝o algoritmusok eset´eben is egyszer˝ u. Ne folytassuk a rekurzi´ot, ha a minta nem el´eg´ıt ki minden anti-monoton k´enyszert. Az egyes mintat´ıpusok eset´eben u ´ gy fogjuk megadni a n¨ovel´es m˝ uveletet, hogy tetsz˝oleges minta cs¨okkent´ese a minta prefix´et fogja adni. Ez azt eredm´enyezi, hogy t¨or¨olhetj¨ uk azt a mint´at, amelyik nem el´eg´ıti ki a prefix anti-monoton k´enyszert, ´es le´allhatunk a rekurzi´oval. Hasonl´oan az Apriori ´es a Zaki m´odszer´ehez itt sincs m´od t¨obb prefix anti-monoton k´enyszer hat´ekony kezel´es´ere. Az algoritmus menet´et ugyanis egy´ertelm˝ uen megadja a n¨ovel´es m˝ uvelet, amit a prefix anti-monoton k´enyszerben felhaszn´alt teljes rendez´es alapj´an defini´alunk.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
214
10.5.4. K´ etl´ epcs˝ os technik´ ak A sz´eless´egi bej´ar´ast megval´os´ıt´o algoritmusok az adatb´azist legal´abb annyiszor olvass´ak v´egig, amekkora a legnagyobb gyakori minta m´erete. El˝ofordulhatnak olyan alkalmaz´asok, amelyekn´el az adatb´azis el´er´ese dr´aga m˝ uvelet. Ilyenre lehet p´elda, amikor az adatb´azis egy elosztott h´al´ozatban tal´alhat´o, vagy lass´ u el´er´es˝ u h´att´ert´arol´on. A k´etl´epcs˝os algoritmusok [118, 136] a teljes adatb´azist legfeljebb k´etszer olvass´ak v´egig. I/O tekintet´eben teh´at legy˝ozik p´eld´aul az Apriori algoritmust, azonban olyan fut´asi k¨ornyezetben, ahol a fut´asi id˝ot nem szinte kiz´ar´olag az I/O m˝ uveletek hat´arozz´ak meg (ha a bemenet elf´er a mem´ori´aban akkor ez a helyzet ´all fenn), az Apriori algoritmus gyorsabban ad eredm´enyt. Naiv mintav´ etelez˝ o algoritmus Olvassuk be a teljes bemenet egy r´esz´et a mem´ori´aba (a r´esz nagys´ag´ara n´ezve l´asd 87.oldal). Erre a kis r´eszre futtassuk le az Apriori algoritmust az eredeti min f req gyakoris´agi k¨ usz¨obbel. A kis r´eszben megtal´alt gyakori mint´ak lesznek a jel¨oltek a m´asodik f´azisban, amelynek sor´an a jel¨oltek t´amogatotts´ag´at a teljes adatb´azisban meghat´arozzuk. Ez´altal ki tudjuk sz˝ urni azokat a mint´akat, amelyek ritk´ak, de a kis r´eszben gyakoriak. El˝ofordulhat azonban a ford´ıtott helyzet, azaz a kis adatb´azisban egy minta ritka, viszont glob´alisan gyakori, teh´at nem ker¨ ul a jel¨oltek k¨oz´e, ´es ´ıgy nem is tal´alhatjuk azt gyakorinak. Jav´ıthatunk a helyzeten, ha cs¨okkentj¨ uk a kis r´eszben a gyakoris´agi k¨ usz¨ob¨ot, amivel n¨ovelj¨ uk a jel¨oltek sz´am´at, de cs¨okkentj¨ uk annak vesz´ely´et, hogy egy gyakori mint´at ritk´anak tal´alunk. Ennek az egyszer˝ u algoritmusnak k´et h´atr´anya van. Egyr´eszt nem ad arra garanci´at, hogy minden gyakori mint´at megtal´alunk (azaz nem teljes), m´asr´eszt a gyakoris´agi korl´at cs¨okkent´ese miatt a hamis jel¨oltek sz´ama t´ ulzottan nagy lehet. A fenti k´et probl´em´at k¨ usz¨ob¨oli ki a part´ıci´os, illetve a Toivonen-f´ele algoritmus. Mivel a k´etl´epcs˝os algoritmusok egy kis r´esz kiv´alaszt´as´an alapulnak, ´ıgy nagyon ´erz´ekenyek az adatb´azis homogenit´as´ara. Gondoljunk itt a szezon´alis elemekre, amelyek lok´alisan gyakoriak, de glob´alisan ritk´ak. P´eld´aul a keszty˝ uk elad´asa t´el elej´en nagy, de m´egis a keszty˝ u ¨onmag´aban ritka elem. Amennyiben a kis r´esz kiv´alaszt´asa a bemenet egy v´eletlen pontj´ar´ol t¨ort´en˝o szekvenci´alis olvas´ast jelentene, akkor az nagy es´ellyel sok hamis ´es hi´anyz´o jel¨oltet eredm´enyezne. Part´ıci´ os algoritmus A part´ıci´os algoritmus [118] k´etszer olvassa v´egig a teljes adatb´azist. P´aronk´ent diszjunkt r´eszekre osztja a bemenetet (S = hS1 , S2 . . . , Sr i), majd az egyes r´eszekre megh´ıvja az APRIORI algoritmust, ami megadja az egyes r´eszekben gyakori mint´akat (h´ıvjuk ˝oket lok´alisan gyakori mint´aknak). A m´asodik v´egigolvas´asn´al egy minta akkor lesz jel¨olt, ha valamelyik r´eszben gyakori volt. K¨onnyen l´athat´o, hogy az algoritmus teljes, hiszen egy gyakori mint´anak legal´abb egy r´eszben gyakorinak kell lennie, ´es ezt az Apriori ki fogja sz˝ urni (mivel az Apriori is teljes). K´erd´es, hogy h´any r´eszre osszuk a teljes adatb´azist. Nyilv´anval´o, hogy min´el nagyobb az egyes r´eszhalmazok m´erete, ann´al jobb k´epet ad a teljes adatb´azisr´ol, teh´at ann´al kevesebb lesz a hamis jel¨olt. A r´eszek nagy m´erete azonban azt eredm´enyezi, hogy azok nem f´ernek el a mem´ori´aban, ´es ´ıgy az Apriori algoritmus sok id˝ot t¨olt el part´ıci´or´eszek ideiglenes h´att´erbe m´asol´as´aval ´es visszaolvas´as´aval. Hab´ar glob´alisan csak k´etszer olvassuk v´egig a teljes
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
215
adatb´azist, azonban az egyes part´ıci´ok I/O ig´eny´enek ¨osszege legal´abb akkora, mintha a teljes adatb´azisra futtatn´ank le az Apriori algoritmust. V´egeredm´enyben a m´asodik v´egigolvas´as miatt a part´ıci´os algoritmus I/O ig´enye nagyobb lesz, mint az APRORI algoritmus´e. Ha az egyes r´eszek elf´ernek a mem´ori´aban, akkor nem l´ep fel a fenti probl´ema, hisz az Apriori algoritmus nem fog I/O m˝ uveletet ig´enyelni (felt´eve, ha a jel¨oltek a sz´aml´al´oikkal egy¨ utt is elf´ernek m´eg a mem´ori´aban). T´ ul kis m´eret v´alaszt´asa azonban azt eredm´enyezheti, hogy a part´ıci´o nem ad h˝ u k´epet a teljes adatb´azisr´ol, ´ıgy a lok´alis gyakori mint´ak m´asok (is!) lesznek, mint a glob´alis gyakori mint´ak, ami t´ ul sok hamis jel¨oltet eredm´enyezhet. A helyes part´ıci´om´eret teh´at a rendelkez´es¨ unkre ´all´o mem´ori´at´ol f¨ ugg. Legyen min´el nagyobb, de u ´ gy, hogy a jel¨oltek sz´aml´al´oikkal egy¨ utt is elf´erjenek a mem´ori´aban. Term´eszetesen a jel¨oltek sz´ama a gyakori mint´ak m´eret´et˝ol f¨ ugg, amir˝ol a part´ıci´om´eret meghat´aroz´asakor m´eg nincs pontos k´ep¨ unk. A part´ıci´os algoritmus szint´en ´erz´ekeny a bemenet homogenit´as´ara. Ezt az ´erz´ekenys´eget cs¨okkenthetj¨ uk, ha m´odos´ıtjuk egy kicsit az algoritmust. Ha egy m minta gyakori az Si r´eszben, akkor a r´ak¨ovetkez˝o Si+1 , Si+2 , . . . Si+` r´eszekben is hat´arozzuk meg a t´amogatotts´ag´at eg´eszen uk addig, am´ıg f req∪i+` Sj (m) ≥ min f req. Ha ezalatt eljutunk az utols´o r´eszig, akkor vegy¨ j=i fel m-et a m´asodik v´egigolvas´as jel¨oltjei k¨oz´e. Ellenkez˝o esetben felejts¨ uk el, hogy m gyakori volt ezen r´eszekben. Ha egy mint´at az ¨osszes r´eszben vizsg´altunk, akkor ezt szint´en sz¨ uks´egtelen felvenni jel¨oltnek a m´asodik v´egigolvas´asn´al, hiszen t´amogatotts´aga megegyezik az egyes r´eszt´amogatotts´agok ¨osszeg´evel. A part´ıci´os algoritmus tov´abbi el˝onye, hogy remek¨ ul p´arhuzamos´ıthat´o. Saj´at mem´ori´aval rendelkez˝o feldolgoz´o egys´egek v´egezhetik az egyes r´eszek gyakori mintakeres´es´et, ´es ez´altal mind az els˝o, mind a m´asodik f´azis t¨ored´ek id˝o alatt elv´egezhet˝o. Toivonen algoritmusa Az na´ıv mintav´etelez˝o algoritmus nagy h´atr´anya, hogy m´eg cs¨okkentett min f req mellett sem lehet¨ unk biztosak abban, hogy nem vesztett¨ unk el gyakori mint´at. Toivonen algoritmusa [136] az adatb´azist egyszer olvassa v´egig, ´es ha jelenti, hogy minden mint´at megtal´al, akkor bizony´ıthat´o, hogy ez igaz. Az algoritmus nem m´as, mint a na´ıv mintav´etelez˝o algoritmus tov´abbfejlesztett v´altozata. Az egyszer˝ u algoritmusn´al azonban t¨obb inform´aci´ot ad, ugyanis jelenti, ha biztos abban, hogy minden gyakori mint´at el˝oa´ll´ıtott, ´es azt is jelenti, amikor lehets´eges, hogy van hi´anyz´o jel¨olt (olyan gyakori minta, ami nem jel¨olt, ´es ´ıgy nem tal´alhatjuk azt gyakorinak). A lehets´eges hi´anyz´o jel¨oltekr˝ol inform´aci´ot is k¨oz¨ol. Alap¨otlete az, hogy ne csak a kis r´eszben tal´alhat´o gyakori mint´ak el˝ofordul´as´at sz´amoljuk ¨ossze a teljes adatb´azisban, hanem azok minim´alis val´odi fels˝o korl´atait is. Mit jelent az, hogy az m minta tetsz˝oleges M ⊆M mintahalmaz minim´alis val´odi fels˝o korl´atai k¨oz´e tartozik (jel¨ol´esben m ∈ MV F K(M)) ? El˝osz¨or is a val´odi fels˝o korl´at form´alisan: m0 ≺ m minden m0 ∈ M. A minimalit´as pedig azt jelenti, hogy nem l´etezik olyan m00 minta, amely M-nek val´odi fels˝o korl´atja ´es m00 ≺ m. A gyakori mint´ak minim´alis val´odi fels˝o korl´atjai azok a ritka mint´ak, amelyek minden r´eszmint´aja gyakori. P´eld´aul elemhalmaz t´ıpus´ u minta eset´en, ha M = 2{A,B,C,D,E,F } ´es M = = {{A}, {B}, {C}, {F }, {A, B}, {A, C}, {A, F }, {C, F }, {A, C, F }}, akkor MV F K(M) = = {{B, C}, {B, F }, {D}, {E}}. Toivonen algoritmus´aban a teljes adatb´azisb´ol egy kis r´eszt vesz¨ unk. Ebben meghat´arozzuk a gyakori mint´ak halmaz´at ´es ennek minim´alis val´odi fels˝o korl´atj´at. A teljes adatb´azisban ezek
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
216
t´amogatotts´ag´at vizsg´aljuk, ´es gy˝ ujtj¨ uk ki a glob´ alisan gyakoriakat. A k¨ovetkez˝o egyszer˝ u t´etel ad inform´aci´ot arr´ol, hogy ez az algoritmus mikor teljes, azaz mikor lehet¨ unk biztosak abban, hogy minden gyakori mint´at meghat´aroztunk. 10.19. t´ etel. Legyen S0 az S bemeneti sorozat egy r´esze. Jel¨olj¨ uk GY -vel az S-ben, GY 0 -vel az 0 ∗ S -ben gyakori mint´akat ´es GY -al azokat az S-ben gyakori mint´akat, amelyek benne vannak GY 0 ∪ MV F K(GY 0 )-ben (GY ∗ = GY ∩ (GY 0 ∪ MV F K(GY 0 ))). Amennyiben GY ∗ ∪ MV F K(GY ∗ ) ⊆ GY 0 ∪ MV F K(GY 0 )
teljes¨ ul, akkor S-ben a gyakori mint´ak halmaza pontosan a GY ∗ , teh´at GY ∗ ≡ GY .
Bizony´ıt´as: Indirekt tegy¨ uk fel, hogy l´etezik m ∈ GY , de m 6∈ GY ∗ , ´es a felt´etel teljes¨ ul. A GY ∗ 0 0 defin´ıci´oja miatt ekkor m 6∈ GY ∪ MV F K(GY ). Vizsg´aljuk azt a legkisebb m´eret˝ u m0 m-t, amire m0 ∈ GY ´es m0 6∈ GY ∗ (ilyen m0 -nek kell lennie, ha m´as nem, ez maga az m minta). Az m0 minimalit´as´ab´ol k¨ovetkezik, hogy minden val´odi r´eszmint´aja eleme GY 0 ∪MV F K(GY 0 )-nek ´es gyakori. Ebb˝ol k¨ovetkezik, hogy m0 minden r´eszmint´aja eleme GY ∗ -nak, amib˝ol kapjuk, hogy m0 ∈ MV F K(GY ∗ ). Ez ellentmond´ast jelent, hiszen a felt´etelnek teljes¨ ulnie kell, azonban van olyan elem (m0 ), amely eleme a bal oldalnak, de nem eleme a jobb oldalnak.
Tetsz˝oleges GY 0 halmaz eset´en az MV F K(GY 0 )∪GY 0 -t k¨onny˝ u el˝o´all´ıtani. S˝ot, amennyiben a gyakori mint´akat Apriori algoritmussal hat´arozzuk meg, akkor MV F K(GY 0 ) elemei pontosan a ritka jel¨oltek lesznek (hiszen a jel¨olt minden r´esze gyakori). N´ezz¨ unk egy p´eld´at Toivonen algoritmus´ara. Legyen a mintat´er a {A,B,C,D} hatv´anyhalmaza. A kis r´eszben az {A},{B},{C} elemhalmazok gyakoriak. Ekkor a minim´alis val´odi fels˝o korl´at elemei az {A,B},{A,C},{B,C},{D} halmazok. Teh´at ennek a 7 elemhalmaznak fogjuk a t´amogatotts´ag´at meghat´arozni a teljes adatb´azisban. Ha p´eld´aul az {A},{B},{C} {A,B} halmazokat tal´aljuk gyakorinak a teljes adatb´azisban, akkor a t´etelbeli tartalmaz´asi rel´aci´o fenn´all, hiszen az {A},{B},{C},{A,B} halmaz minim´alis val´odi fels˝o korl´atai k¨oz¨ ul mind szerepel a 7 jel¨olt k¨oz¨ott. Nem mondhat´o ez, ha {D}-r˝ol der¨ ul ki, hogy gyakori. Ekkor Toivonen algoritmusa jelenti, hogy el˝ofordulhat, hogy nem biztos, hogy minden gyakori elemhalmazt megtal´alt. Az esetleg kimaradtak csak ( !) az {A,D},{B,D},{C,D} halmazok lehetnek.
10.5.5. A z´ art mint´ ak t¨ or´ ekenys´ ege” ” Tagadhatatlan, hogy a z´art mint´akon alapul´o mem´oriacs¨okkent´es egy sz´ep elm´eleti eredm´eny. Ne foglaljunk helyet a mem´ori´aban a gyakori, nem z´art mint´aknak, hiszen a z´art, gyakori mint´akb´ol az ¨osszes gyakori minta meghat´arozhat´o. Ez a technika ritk´an alkalmazhat´o azon esetekben, amikor a bemenet sorozat form´aj´aban ´ mint azt adott, a t´amogatotts´agot pedig egy illeszked´esi predik´atum alapj´an defini´aljuk. Es, m´ar eml´ıtett¨ uk, a legt¨obbsz¨or ez ´all fenn. Ennek oka, hogy gyakori mint´akat ´altal´aban nagy, zajokkal terhelt adatb´azisokban keresnek. Ilyen adatb´azisban szinte az ¨osszes elemhalmaz z´art, ´ıgy a m´odszerrel nem nyer¨ unk semmit. Gondoljuk meg, hogy ha egy adatb´azist u ´ gy terhel¨ unk zajjal, hogy v´eletlenszer˝ uen besz´ urunk egy-egy u ´ j elemet, akkor folyamatosan n¨ovekszik az es´elye annak, hogy egy minta z´art lesz. A nemz´arts´ag teh´at egy s´er¨ ul´ekeny” tulajdons´ag. Tetsz˝oleges nem z´art m mint´at z´artt´a tehet¨ unk ” egyetlen olyan tranzakci´o hozz´aad´as´aval, amely illeszkedik m-re, de nem illeszkedik egyetlen olyan mint´ara sem, amelynek m val´odi r´eszmint´aja.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
217
10.5.6. Dinamikus gyakori mintab´ any´ aszat Nagy adatb´azisok eset´en a gyakori mint´ak kinyer´ese m´eg a leggyorsabb algoritmusokat felhaszn´alva is lass´ u m˝ uvelet. Az adatb´azisok t¨obbs´eg´eben a t´arolt adatok nem ´alland´oak, hanem v´altoznak: u ´ j elemeket vesz¨ unk fel, egyeseket m´odos´ıtunk, vagy t¨orl¨ unk. Ha azt szeretn´enk, hogy a kinyert gyakori mint´ak konzisztensek legyenek az adatb´azisban t´arolt adatokkal, akkor bizonyos id˝ok¨oz¨onk´ent a gyakori mint´ak adatb´azis´at is friss´ıteni kell. A konzisztenci´at el´erhetj¨ uk u ´ gy, hogy lefuttatjuk valamelyik ismert (APRIORI, Zaki stb.) algoritmust minden m´odos´ıt´as ut´an. Ennek az a h´atr´anya, hogy lass´ u, hiszen semmilyen eddig kinyert tud´ast nem haszn´al fel. Sz¨ uks´eg van teh´at olyan algoritmusok kifejleszt´es´ere [11, 29, 30, 98, 117, 134], ami felhaszn´alja az adatb´azis el˝oz˝o a´llapot´ara vonatkoz´o inform´aci´okat ´es ´ıgy gyorsabban ad eredm´enyt, mint egy null´ar´ol indul´o, hagyom´anyos algoritmus. Itt most azt az esetet n´ezz¨ uk, amikor csak b˝ov´ıthetj¨ uk a bemenetet, de a le´ırt m´odszerek k¨onnyen ´altal´anos´ıthat´ok arra az esetre, amikor t¨or¨olhet¨ unk is a bemenetb˝ol. Adott teh´at S bemeneti sorozat, amelyben ismerj¨ uk a gyakori mint´akat (GY S) ´es azok t´amogatotts´ag´at. Ezen k´ıv¨ ul adott az u ´ j bemeneti elemek sorozata S0 . A feladat a hS, S0i-ben tal´alhat´o gyakori mint´ak hS,S0 i (GY ) ´es azok t´amogatotts´ag´anak meghat´aroz´asa. FUP algoritmus A FUP (Fast Update) [29] a legegyszer˝ ubb szab´aly- karbantart´o algoritmus. Tulajdonk´eppen nem m´as, mint az APRIORI algoritmus m´odos´ıt´asa. K´etf´ele jel¨oltet k¨ ul¨onb¨oztet¨ unk meg : az els˝o csoportba azok a mint´ak tartoznak, melyek az eredeti adatb´azisban gyakoriak voltak, a m´asodikba azok, amelyek nem. Nyilv´anval´o, hogy az u ´ j adatb´azisban mindk´et csoport elemeinek t´amogatotts´ag´at meg kell hat´arozni, a r´egi adatb´azisban azonban el´eg a m´asodik csoport elemeit vizsg´alni. A FUP az al´abbi trivialit´asokat haszn´alja fel. I. Ha egy minta S-ban gyakori volt ´es S0 -ben is az, akkor az hS, S0 i-ben is biztos gyakori, el˝ofordul´asa megegyezik S0 -beni ´es S-beni el˝ofordul´asok ¨osszeg´evel. II. Amennyiben egy elemhalmaz S-ban ritka, akkor hS, S0 i-ben csak abban az esetben lehet gyakori, ha S0 -ben gyakori. Ezek szerint ne legyen jel¨olt olyan elemhalmaz, amely sem S-ban, sem S0 -ben nem gyakori. Ezekb˝ol k¨ovetkezik, hogy csak olyan elemhalmazok lesznek jel¨oltek S v´egigolvas´as´an´al, amelyek GY S-ban nem szerepeltek, de S0 -ben gyakoriak voltak. Az algoritmus pszeudok´odja a 14-es ´abr´an l´athat´o. A t´amogatotts´ag meghat´aroz´as, gyakoriak kiv´alogat´ asa ´es a jel¨olt-el˝o´all´ıt´as l´ep´esek teljes eg´esz´eben megegyeznek a Apriori ezen l´ep´eseivel. A FUP algoritmust k¨onny˝ u m´odos´ıtani arra az esetre, amikor nem csak hozz´aadunk u ´j elemeket az eredeti bemeneti sorozathoz, hanem t¨orl¨ unk is n´eh´anyat a r´egi elemek k¨oz¨ ul (FUP2 algoritmus [30]). A F UP ´es F UP2 algoritmusok nem mentesek az Apriori algoritmus legfontosabb h´atr´any´at´ol, att´ol, hogy a teljes adatb´azist annyiszor kell ´atolvasni, amekkora a legnagyobb gyakori jel¨oltminta m´erete. Ezen a probl´em´an pr´ob´altak seg´ıteni a k´es˝obb publik´alt algoritmusok.
´ KINYERESE ´ 10. FEJEZET. GYAKORI MINTAK
218
Algorithm 14 FUP algoritmus Require: S : r´egi bemeneti adat S0 : u ´ j bemeneti adat GY S : r´egi gyakori mint´ak min f req : gyakoris´agi k¨ usz¨ob `⇐0 J`1 ⇐ GY`S {J`1 : 1-es csoportbeli jel¨oltek} J`2 ⇐ {¨ ures minta} \ GY`S {J`2 : 2-es csoportbeli jel¨oltek} while |J`1 | + |J`2 | = 6 0 do aroz´ as(S 0 , J`1 ∪ J`2 ) t´ amogatotts´ ag meghat´ J`∗ ⇐ gyakoriak kiv´ alogat´ asa(J`2 , min f req) if |J`∗ | = 6 0 then t´ amogatotts´ ag meghat´ aroz´ as(S, J`∗ ) end if GY` ⇐ gyakoriak kiv´ alogat´ asa(J`1 ∪ J`∗ , min f req) ∗∗ J`+1 ⇐ jel¨ olt el} o´ all´ ıt´ as(GY` ) ` ⇐ `+1 J`1 ⇐ J`∗∗ ∩ GY`S J`2 ⇐ J`∗∗ \ GY`S delete(J`∗∗ ) end while 0 return GY hS,S i : gyakori mint´ak Es´ elyes jel¨ olteken alapul´ o dinamikus algoritmus A [134] cikkben Toivonen algoritmus´aban haszn´alt minim´alis val´odi fels˝o korl´atokat haszn´alj´ak annak ´erdek´eben, hogy cs¨okkents´ek a nagy adatb´azist ´atolvas´as´anak sz´am´at. Az adatb´azis n¨oveked´ese sor´an el˝osz¨or a minim´alis val´odi fels˝o korl´atok v´alnak gyakoriv´a. Ha nem csak a gyakori mint´ak el˝ofordul´as´at ismerj¨ uk a r´egi adatb´azisban, hanem azok minim´alis val´odi fels˝o korl´atait is, akkor lehet, hogy sz¨ uks´egtelen a r´egi adatb´azist v´egigolvasni. Ha ugyanis az u ´j tranzakci´ok felv´etel´evel egyetlen minim´alis val´odi fels˝o korl´at sem v´alik gyakoriv´a, akkor biztos, hogy nem keletkezett u ´ j gyakori minta. A 10.19-as t´etel enn´el er˝osebb ´all´ıt´ast fogalmaz meg : m´eg ha bizonyos minim´alis val´odi fels˝o korl´atok gyakoriv´a v´altak, akkor is biztosak lehet¨ unk abban, hogy nem kell a r´egi adatb´azist ´atvizsg´alnunk, mert nem keletkezhetett u ´ j gyakori minta. S∪S0 S∪S0 S ´ At¨ ultetve a t´etelt a jelenlegi k¨ornyezetbe: ha GY ∪MV F K(GY )⊆GY ∪MV F K(GY S), akkor biztosak lehet¨ unk, hogy nem keletkezett u ´ j gyakori minta, ´es csak a t´amogatotts´agokat kell friss´ıteni.
11. fejezet Gyakori sorozatok, bool formul´ ak ´ es epiz´ odok A kutat´asok k¨oz´eppontj´aban a gyakori elemhalmazok ´allnak. Tov´abb l´ephet¨ unk, ´es kereshet¨ unk bonyolultabb t´ıpus´ u mint´akat is. Err˝ol sz´ol ez a fejezet.
11.1. Gyakori sorozatok kinyer´ ese Napjainkban az elektronikus kereskedelem egyre nagyobb m´eretet ¨olt. A vev˝ok megismer´es´evel ´es jobb kiszolg´al´as´aval c´elunk a profitn¨oveked´es mellett a v´as´arl´oi el´egedetts´eg fokoz´asa. Az elektronikus kereskedelem abban k¨ ul¨onb¨ozik a hagyom´anyos kereskedelemt˝ol, hogy az egyes tranzakci´okhoz hozz´arendelhetj¨ uk a v´as´arl´okat. Eddig a tranzakci´ok (kosarak) ´ori´asi halmaza ´allt rendelkez´es¨ unkre, most enn´el t¨obb: pontosan tudjuk, hogy ki, mikor, mit v´as´arol. Az u ´ jabb adatok u ´ jabb inform´aci´okinyer´eshez adhatnak alapot. Nem csak ´altal´anos v´as´arl´asi szab´alyokat ´all´ıthatunk el˝o, hanem enn´el t¨obbet : szem´elyre szabhatjuk a v´as´arl´asi szok´asokat, vev˝ok csoportjait alak´ıthatjuk ki, megkereshetj¨ uk a sok, illetve kev´es profitot hoz´o v´as´arl´asi csoportokat, stb. Ebben a fejezetben a vev˝ok k¨oz¨ott gyakran el˝ofordul´o v´as´arl´oi mint´ak kinyer´es´evel foglalkozunk. K´et p´elda : sok vev˝o a Csillagok h´abor´ uja” DVD megv´etele ut´an a Birodalom visszav´ag” ” ” c´ım˝ u filmet, majd k´es˝obb a Jedi visszat´er” c´ım˝ u filmet is megveszi DVD-n, vagy a vev˝ok 30%-a ” u ´ j mobiltelefon ´es u ´ j tok v´as´arl´asa ut´an u ´ j el˝olapot is v´as´arol. Kereskedelmi c´egek a kinyert gyakori mint´akat, epiz´odokat u ´ jabb profitn¨oveked´est hoz´o fog´asokra haszn´alhatj´ak. P´eld´aul kider¨ ulhet, hogy a videomagn´ot v´as´arl´ok nagy ar´anya a v´as´arl´ast k¨ovet˝o 3-4 h´onappal kamer´at is v´as´arolnak. Ekkor ha valaki videomagn´ot vesz, k¨ uldj¨ unk ki post´an kamer´akat rekl´amoz´o prospektusokat a v´as´arl´ast k¨ovet˝oen 2-3 h´onappal. A szekvenci´alis mintakinyer´es (´es egy´eb epiz´odkutat´o algoritmusok) nem csak az on-line ´aruh´azakra jellemz˝o. Felhaszn´al´asi ter¨ ulet¨ uk egyre b˝ov¨ ul, a tov´abbi kutat´asokat a gyakorlatban el˝ofordul´o probl´em´ak is ig´enylik. Jellemz˝o ter¨ ulet a direkt marketing, de tov´abbi felhaszn´al´asi ter¨ uletre lehet p´elda az al´abbi: p´aciensek t¨ uneteit ´es betegs´egeit tartalmaz´o adatb´azisokb´ol kinyert mint´ak nagy seg´ıts´egre lehetnek az egyes betegs´egek kutat´as´an´al, nevezetesen, hogy az egyes betegs´egeket milyen t¨ unetek, vagy m´as betegs´egek el˝ozik meg gyakran. Miel˝ott r´at´er¨ unk arra, hogy mik´ent lehet kinyerni elemhalmazokat tartalmaz´o sorozatokb´ol a gyakoriakat, egy egyszer˝ ubb esettel foglalkozunk, ahol a sorozat elemei atomi esem´enyek. 219
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
220
11.1.1. A Gyakori Sorozat Fogalma A gyakori sorozatok kinyer´es´enek feladata annak a feladatk¨ornek egy esete, amikor a t´amogatotts´agot a tartalmaz´asi predik´atum alapj´an defini´aljuk. Felt´etelezz¨ uk, hogy az olvas´o tiszt´aban van a 10.5 r´eszben defini´alt fogalmakkal. Adott (I = {i1 , i2 , . . . , im } elemek (vagy term´ekek) halmaza ´es v darab I felett ´ertelmezett sorozat. Teh´at a bemenet sorozatoknak egy sorozata : bemenet : S = hS1 , S2 , . . . , Sv i, (k)
(k)
(k)
(k)
ahol Sk = hi1 , i2 , . . . , in(k) i, ´es ij ∈ I. Defini´aljuk a M = (M, ) mintak¨ornyezet tagjait sorozatok eset´eben. Az M elemei az I felett ´ertelmezett sorozatok: 11.1. defin´ıci´ o. S = hi1 , . . . , im i sorozat tartalmazza S 0 = hi01 , . . . , i0n i sorozatot (jel¨ol´essel S 0 S), ha l´eteznek j1 < j2 < . . . < jn eg´esz sz´amok u ´gy, hogy i01 = ij1 , i02 = ij2 , . . . , i0n = ijn . Amennyiben S 0 S, akkor S 0 az S r´eszsorozata. P´eld´aul a hG, C, I, D, E, Hi sorozat tartalmazza a hC, D, Hi sorozatot. Ebben a mintak¨ornyezetben || f¨ uggv´eny a sorozat hossz´at adja meg. A fentiek alapj´an a fed´es, TID lista, t´amogatotts´ag, gyakoris´ag, gyakori sorozat defin´ıci´oja egy´ertelm˝ u. Egy alap mintakinyer´esi feladatban adott Si sorozatok sorozata, tov´abb´a min supp t´amogatotts´agi k¨ usz¨ob, el˝o kell ´all´ıtani a gyakori sorozatokat.
11.1.2. APRIORI A fent defini´alt feladat a gyakori mintakinyer´es egy speci´alis esete, ´ıgy alkalmazhat´ok r´a az ´altal´anos algoritmusok, p´eld´aul az APRIORI. Az ´altal´anos le´ır´ast megadtuk a 10.4 r´eszben, itt most csak azon speci´alis r´eszleteket vizsg´aljuk, amelyek sorozat t´ıpus´ u mintat´er eset´en ´erv´enyesek. K´et l´ep´est vizsg´alunk k¨ozelebbr˝ol a jel¨oltek el˝o´all´ıt´as´at ´es a t´amogatotts´ag meghat´aroz´as´at. Jel¨ oltek el˝ o´ all´ıt´ asa Az APRIORI jel¨oltel˝o´all´ıt´asa k´et l´ep´esb˝ol ´all: potenci´alis jel¨oltek el˝o´all´ıt´asa, majd a potenci´alis jel¨oltek r´eszmint´ainak vizsg´alata. Akkor lesz egy `-elem˝ u potenci´alis jel¨oltb˝ol jel¨olt, ha ´ minden `−1 elem˝ u r´eszsorozata gyakori. Altal´anosan annyit mondtunk el, hogy egy potenci´alis jel¨olt k´et ` − 1 elem˝ u gyakori mint´aknak (ezeket h´ıvtuk a jel¨olt gener´atorainak) a minim´alis val´odi fels˝o korl´atja. Sorozat t´ıpus´ u minta eset´en akkor lesz k´et ` −1 elem˝ u gyakori mint´aknak a minim´alis val´odi fels˝o korl´atja ` elem˝ u, ha van ` − 2 elem˝ u k¨oz¨os r´eszsorozatuk. A hat´ekonys´ag szempontj´ab´ol fontos lenne, ha a jel¨oltek el˝o´all´ıt´asa ism´etl´es n´elk¨ uli lenne. Ehhez sz¨ uks´eg¨ unk van a sorozatokon ´ertelmezett teljes rendez´esre. Az I elemein tudunk egy tetsz˝oleges teljes rendez´est defini´alni, ami szerinti lexikografikus rendez´es megfelel a c´elnak. A rendez´es alapj´an ´ertelmezhetj¨ uk egy sorozat tetsz˝oleges elem˝ u prefix´et. K´et `−1 elem˝ u gyakori mint´akb´ol akkor k´epzek potenci´alis jel¨oltet, ha ` − 2 elem˝ u prefix¨ uk megegyeznek (hasonl´oan a halmazok eset´en´el). A minim´alis val´odi fels˝o korl´at a az utols´o elemmel b˝ov´ıtett sorozatok lesznek.
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
221
A gener´atorok lehetnek azonos sorozatok is. P´eld´aul az hG, C, Ii sorozat ¨onmag´aval a hG, C, I, Ii jel¨oltet fogja el˝o´all´ıtani. L´atnunk kell, hogy ez a jel¨oltel˝o´all´ıt´as ism´etl´es n´elk¨ uli, ugyanis tetsz˝oleges jel¨olteknek egy´ertelm˝ uen meg tudjuk mondani a gener´atorait. T´ amogatotts´ ag meghat´ aroz´ asa A jel¨olt sorozatok t´amogatotts´ag´anak meghat´aroz´as szinte megegyezik a jel¨olt halmazok t´amogatotts´ag´anak meghat´aroz´as´aval. Err˝ol r´eszletesen sz´oltunk a 4.2.2 r´eszben. Itt csak az apr´o k¨ ul¨onbs´egekre t´er¨ unk ki. A k´etelem˝ u jel¨oltekn´el nem csak a k´etdimenzi´os t¨omb egyik fel´et fogjuk haszn´alni, hanem a teljes t¨omb¨ot. Ez abb´ol k¨ovetkezik, hogy sz´am´ıt a sorrend, teh´at p´eld´aul az hA, Bi sorozat k¨ ul¨onb¨ozik az hB, Ai sorozatt´ol. Kett˝on´el nagyobb jel¨olteket c´elszer˝ u sz´of´aban t´arolni. A sz´ofa fel´ep´ıt´ese, a jel¨oltek K´ın´aban, ahol sokan fogyasztj´ ak t´amogatotts´ag´anak meghat´aroz´asa 1 apr´o r´eszlett˝ ol ”rendszeresen, lehet˝os´eg volt hosszas eltekintve teljesen megegyezik a halmazokn´al k´ıs´erletek folytat´as´ara, melyek le´ırtakkal. A sz´ofa bej´ar´asakor u ¨ gyelni kell arra, hogy sor´an bebizonyosodott, hogy azok a sorozatban lehetnek ism´etl˝od˝o elemek, illetve az ele- a f´erfiak ´es n˝ok, akik hetente legmek nincsenek sorba rendezve. A rekurzi´os l´ep´es nem al´abb egyszer isznak te´at, kevek´et rendezett lista k¨oz¨os elemeinek meghat´aroz´as´at sebb es´ellyel betegednek meg v´egb´el, jelenti, hanem egy rendezett lista (az adott bels˝o hasny´almirigy´es vastagb´eldaganatban, pontb´ol kiindul´o ´elek c´ımk´ei) azon elemeinek meg- illetve a betegs´eg esetleges kialahat´aroz´as´at, amelyek szerepelnek egy m´asik list´aban kul´asa sor´an lelassul a r´akos sejtek (az aktu´alis bemeneti sorozat vizsg´aland´o r´esze). burj´anz´asa.” Forr´as: http://www. vital.hu/themes/alter/bio9.htm
11.1.3. Elemhalmazokat gyakori sorozatok
tartalmaz´ o
Az el˝oz˝o r´eszben defini´alt feladat ´altal´anos´ıt´asa, amikor a bemeneti sorozat ´es a mintahalmaz elemei nem elemek sorozata, hanem elemhalmazok´e. Azaz megeneged¨ unk hAB, B, ABC, Ei t´ıpus´ u sorozatokat is. V´as´arl´asokn´al p´eld´aul nem csak egy term´eket v´as´arolnak az emberek, hanem term´ekek egy halmaz´at. Form´ alis le´ır´ as A bemeneti sorozatok ´es a mintat´er elemei a 2I felett ´ertelmezett sorozatok, azaz a sorozat elemei az I r´eszhalmazai. A bemeneti sorozat elemeit szok´as v´as´arl´oi sorozatoknak is h´ıvni, utalva arra, hogy el˝osz˝or v´as´arl´oi sorzatok eset´en ker¨ ult el˝o a feladat. Hasonl´oan az eddigiekhez a t´amogatotts´agot a tartalmaz´asi rel´aci´o alapj´an defini´aljuk. 11.2. defin´ıci´ o. S = hI1 , . . . , Im i sorozat tartalmazza S 0 = hI10 , . . . , In0 i sorozatot (jel¨ol´essel S 0 S), ha l´eteznek j1 < j2 < . . . < jn eg´esz sz´amok u ´gy, hogy I10 ⊆ Ij1 , I20 ⊆ Ij2 , . . . , In0 ⊆ ijn . Ezzel a tartalmaz´asi rel´aci´oval egy sorozat m´erete a sorozat elemeinek m´eret¨osszege (teh´at p´eld´aul a hAB, B, ABC, Ei sorozat m´erete 7). A t´amogatotts´ag, gyakoris´ag, TID lista, gyakori sorozat fogalmai megegyeznek az eddigiekkel. Feladatunk kinyerni az elemhalmazokb´ol fel´ep¨ ul˝o gyakori sorozatokat [6].
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
222
APRIORIALL Ism´et APRIORI! De minek t¨orj¨ uk az agyunkat u ´ j m´odszereken, ha van m´ar m´odszer, ami j´ol megoldja a feladatot. Csak a jel¨oltek el˝o´all´ıt´as´at kell tiszt´azni (pontosabban csak annak els˝o l´ep´es´et), ´es k´eszen is vagyunk, mehet¨ unk pihenni (,). Enn´el m´eg k´enyelmesebb megold´ast java1 soltak az APRIORIALL kital´al´oi . Visszavezett´ek ezt a feladatot az el˝oz˝o r´eszben bemutatott APRIORI megold´asra. Bevezethetj¨ uk a gyakori elemhalmaz fogalm´at. Az I elemhalmaz t´amogatotts´aga megegyezik azon sorozatok sz´am´aval, amelyek valamelyik eleme tartalmazza I-t. Az I gyakori, ha t´amogatotts´aga nagyobb min supp-n´al. Nyilv´anval´o, hogy gyakori sorozat minden eleme gyakori elemhalmaz. Ezeket a gyakori elemeket tekinthetj¨ uk atomi elemeknek, ´es haszn´alhatjuk az el˝oz˝o r´eszben bemutatott algorimust. A gyakori elemhalmazok meghat´aroz´as´ahoz pedig ¨ tetsz˝oleges gyakori elemhalmazt kinyer˝o algoritmust haszn´alhatunk. Ugyeln¨ unk kell azonban arra, hogy a t´amogatotts´ag meghat´aroz´as´an´al egy sorozat csak eggyel n¨ovelheti egy jel¨olt m´eret´et akkor is ha t¨obb elem´enek r´esze a jel¨olt. A feladat visszavezet´ese az el˝oz˝o feladat APRIORI megold´as´ara nem jelenti azt, hogy ez a megold´as megegyezik az absztrakt APRIORI adapt´al´as´aval elemhalmazokat tartalmaz´o sorozatokra. Az APRIORIALL ugyanis az iter´aci´ok sor´an eggyel hosszabb jel¨oltsorozatokat hoz l´etre, amelyek m´erete nem felt´etlen¨ ul eggyel nagyobb gener´atoraikn´al. Az APRIORIALL nagyobb l´ept´ekben halad, ´ıgy kevesebb iter´aci´os l´ep´est hajt v´egre, de ugyanakkor j´oval t¨obb hamis jel¨oltet gener´alhat. Ez teh´at egy k´enyelmes, de vesz´elyes megold´as. Id˝ ok´ enyszerek Bevezet´ ese A gyakori sorozatok kinyer´es´et – hasonl´oan a gyakori mint´ak kinyer´es´ehez – a marketingesek ig´enye keltette ´eletre. A kapott eredm´enyek azonban nem el´eg´ıtett´ek ki ˝oket, u ´ jabb feladattal ´alltak el˝o [130] [148]! I. Id˝ ok´ enyszerek bevezet´ ese. A felhaszn´al´ok gyakran specifik´alni akarj´ak a sorozatban tal´alhat´o szomsz´edos elemek k¨oz¨ott eltelt id˝o maxim´alis ´es minim´alis megengedett ´ert´ek´et. P´eld´aul nem tulajdon´ıtunk t´ ul nagy jelent˝os´eget annak, ha valaki vesz egy tusf¨ urd˝ot majd h´arom ´ev m´ ulva egy ugyanolyan m´ark´aj´ u szappant. II. Kosarak defin´ıci´ oj´ anak laz´ıt´ asa. Sok alkalmaz´asn´al nem sz´am´ıt ha a sorozat egy elem´et 2 (vagy t¨obb) egym´as ut´ani kos´ar tartalmazza, ha azok v´as´arl´asi ideje bizonyos id˝oablakon bel¨ ul van. Amennyiben egy vev˝o 5 perc m´ ulva visszat´er az ´aruh´azba, akkor val´osz´ın˝ u, hogy ezt nem az el˝oz˝o v´as´arl´as´anak hat´as´ara tette (m´eg kicsomagolni sem volt ideje az ´arut), hanem ink´abb elfelejtett valamit. Logikus, hogy a k´et v´as´arl´ast ¨osszevonhatjuk, ´es lehet, hogy az ¨osszevont kos´arhalmazban m´ar megtal´alhat´o lesz a sorozat egy eleme, m´ıg az eredeti kett˝oben k¨ ul¨on-k¨ ul¨on nem. A tranzakci´ok defin´ıci´oj´anak ilyen laz´ıt´as´an´al a sorozatok elemeit kosarak uni´oja tartalmazhatja, ahol az uni´oban szerepl˝o kosarak v´as´arl´asi idejeinek egy el˝ore megadott id˝oablakon bel¨ ul kell lenni¨ uk. 1
Ez nem meglep˝o, hiszen sem az ism´etl´es n´elk¨ uli jel¨oltel˝ oa´ll´ıt´as sem a t´ amogatotts´ag meghat´aroz´asa nem ´ trivi´alis feladat. Erdemes elgondolkozni azon, hogy mi´ert nem.
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
223
A Gyakori Sorozat Fogalma Id˝ ok´ enyszerek Eset´ en Ism´et v´as´arl´asi sorozatok sorozatak´ent adott a bemenet, de most a v´as´arl´asi sorozatok elemei nem puszt´an elemhalmazok, hanem olyan p´arok, amelyek els˝o tagja egy elemhalmaz, m´asodik tagja pedig egy id˝ob´elyeg. Teh´at, legyen ism´et I = {i1 , i2 , . . . , im } elemek (vagy term´ekek) halmaza. Egy v´as´arl´oi sorozat most T = htˆ1, tˆ2 , . . . , tˆn i tranzakci´ok sorozata, ahol tˆj = (tj , T IMEj ), tj ⊆ I, T IMEj ∈ R. A tˆ = (t, T IME) tranzakci´o tartalmazza I ⊆ I elemhalmazt (jel¨ol´esben I ⊆ tˆ), ha I ⊆ t. A tˆ tranzakci´o idej´ere a tov´abbiakban tˆ.T IME-al hivatkozunk, tranzakci´oj´ara tˆ.t-vel. A mintak¨ornyezet defin´ıci´oja megegyezik a hagyom´anyos, sorozatokat tartalmaz´o mintak¨ornyezettel. Mivel ebben az esetben a bemenet ´es a mintat´er elemeinek t´ıpusa k¨ ul¨onb¨ozik (p´arokb´ol ´all´o sorozat, illetve elemhalmazokb´ol ´all´o sorozat) ez´ert defini´alnunk kell a t´amogatotts´agot. 11.3. defin´ıci´ o. A T = htˆ1 , tˆ2 , . . . , tˆn i v´as´arl´oi sorozat tartalmazza az M = hI1 , . . . , Im i mintasorozatot, ha l´eteznek 1 ≤ l1 ≤ u1 < l2 ≤ u2 < . . . < lm ≤ um ≤ n eg´esz sz´amok u ´gy, hogy u
j I. Ij ⊆ ∪k=l tˆ .t,1 ≤ j ≤ m, j k
II. tˆui .T IME − tˆli .T IME≤ id˝o ablak, 1 ≤ i ≤ m, III. tˆli .T IME − tˆui−1 .T IME > min eltelt id˝o, 2 ≤ i ≤ m IV. tˆui .T IME − tˆli−1 .T IME ≤ max eltelt id˝o, 2 ≤ i ≤ m A fentiekb˝ol l´atszik, hogy a 11.1 defin´ıci´oval ellent´etben tetsz˝oleges elemhalmazt tranzakci´ok elemhalmazainak uni´oja tartalmazhat, ahol a tranzakci´oknak id˝o ablak on bel¨ ul kell lenni¨ uk (2. felt´etel). Ez alapj´an az M mintasorozat t´amogatotts´aga legyen az M-et tartalmaz´o v´as´arl´oi sorozatok sz´ama. Egy mintasorozat gyakori, ha t´amogatotts´aga nem kisebb egy el˝ore megadott t´amogatotts´agi k¨ usz¨obn´el (min supp). Defini´altunk egy gyakori mint´akat kinyer˝o probl´em´at, amit nyilv´anval´oan meg tudunk oldani egy APRIORI algoritmussal. A jel¨oltek el˝o´all´ıt´as´anak m´odja egyezzen meg az APRIORIALL jel¨oltel˝o´all´ıt´as´anak m´odj´aval (l´ev´en a mintak¨ornyezet ugyanaz), a t´amogatotts´agok meghat´aroz´as´an´al pedig vegy¨ uk figyelembe az id˝ok´enyszereket, annak ´erdek´eben, hogy a helyes t´amogatotts´agokat kapjuk. Ha lefuttatn´ank ´ıgy az algoritmus, ´es vizsg´aln´ank az eredm´enyt, akkor megd¨obbenve venn´enk ´eszre, hogy az APRIORI algoritmus nem ´all´ıtotta el˝o az ¨osszes gyakori sorozatot. Mi az oka ennek? Bizony´ıtottuk, hogy az APRIORI teljes, de akkor hol b´ ujt el a hiba ? A k¨ovetkez˝o r´eszben el´aruljuk a megold´ast. GSP algoritmus A GSP (Generalized Sequential Patterns) algoritmus alkalmas olyan sorozatok kinyer´esre, amelyn´el id˝ok´enyszereket alkalmazhatunk ´es laz´ıthatjuk a tranzakci´ok defin´ıci´oj´at. A most k¨ovetkez˝o le´ır´as l´atsz´olag teljesen elt´er a GSP-t publik´al´o ´ır´ast´ol. Ennek oka az, hogy ragaszkodunk az egys´eges le´ır´ashoz, amit a 10.1 r´eszben adtunk. Ennek a le´ır´asnak nagy el˝onye az, hogy ha a probl´em´at meg tudjuk fogalmazni ebben a keretben, akkor a megold´as is azonnal ad´odik.
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
224
T´erj¨ unk vissza arra a k´erd´esre, hogy hol a hiba. Tekints¨ uk a k¨ovetkez˝o mint´at : M =hA, B, Ci, ´es n´ezz¨ uk a k¨ovetkez˝o v´as´arl´oi sorozatot : T=h(A, 1.0), (B, 2.0), (C, 3.0)i. Ha max eltelt id˝o=1.5, akkor T tartalmazza M-et, de nem tartalmazza annak M 0 = hA, Ci r´eszmint´aj´at, ugyanis az A ´es C elem id˝ob´elyege k¨oz¨ott nagyobb a k¨ ul¨onbs´eg max eltelt id˝o -n´el. Ezek szerint az 0 M t´amogatotts´aga nagyobb, mint M r´eszmint´aj´anak t´amogatotts´aga. Azaz a fent defini´alt t´amogatotts´agi f¨ uggv´eny nem teljes´ıt a t´amogatotts´agi f¨ uggv´ennyel szembeni elv´ar´asunkat ! H´at ez a hiba, ez´ert nem fog helyes eredm´enyt adni az APRIORI. Ahelyett, hogy u ´ j probl´em´at defini´aln´ank ´es u ´ j algoritmus keresn´enk, pr´ob´alkozzunk azzal, hogy ´at´ırjuk a feladatot u ´ gy, hogy az u ´ j feladat megold´asai megegyezzenek az eredeti feladat megold´asaival, ´es az u ´ j feladat beilleszkedjen egys´eges keret¨ unkbe. A bemenet, a keresett minta t´ıpusa ´es a t´amogatotts´agi f¨ uggv´eny adott, ´ıgy csak a MK = (M, ≺) mintak¨ornyezet m´asodik tagj´at v´altoztathatjuk meg. 11.4. defin´ıci´ o. Az M =hI1, . . . , In i sorozatnak M 0 r´eszsorozata (vagy az M tartalmazza M 0 -t, M 0 ≺ M), amennyiben az al´abbi 3 felt´etel k¨oz¨ ul teljes¨ ul valamelyik : I. M 0 -t megkaphatjuk M-b˝ol I1 vagy In t¨orl´es´evel. II. M 0 -t megkaphatjuk M-b˝ol egy legal´abb 2 elem˝ u Ii valamely elem´enek t¨orl´es´evel. III. M 0 r´eszsorozata M 00 -nek, ahol M 00 r´eszsorozata M-nek. Ebben a mintak¨ornyezetben a || f¨ uggv´eny ism´et a sorozat elemei m´eret´enek ¨osszeg´et adja meg. N´ezz¨ unk p´eld´akat r´eszsorozatokra. Legyen M = hAB, CD, E, F i. Ekkor a hB, CD, Ei, hAB, C, E, F i ´es a hC, Ei mind r´eszsorozatai M-nek, de a hAB, CD, F i ´es hA, E, F i sorozatok nem azok. 11.5. ´ eszrev´ etel. A fenti tartalmaz´asi rel´aci´ora n´ezve a t´amogatotts´agi f¨ uggv´eny rendelkezik a monotonit´as tulajdons´ag´aval. Ha visszat´er¨ unk ahhoz a p´eld´ahoz, amelyen bemutattuk, hogy az eredeti t´amogatotts´agi f¨ uggv´eny nem igazi t´amogatotts´agi f¨ uggv´eny, akkor l´athatjuk, hogy nem baj, ha hA, B, Ci t´amogatotts´aga nagyobb, mint az hA, Ci t´amogatotts´aga, ugyanis hA, Ci nem r´esze az hA, B, Ci sorozatnak. Most m´ar alkalmazhatjuk az APRIORI algoritmust. Ezzel kapcsolatban egyetlen k´erd´est kell tiszt´aznunk, m´egpedig az, hogyan ´es mikor ´all´ıtsunk el˝o k´et ` −1 elem˝ u gyakori sorozatb´ol ` elem˝ u jel¨oltet. K´et k-m´eret˝ u sorozatb´ol (S1 , S2 ) potenci´alis jel¨oltet gener´alunk akkor, ha t¨or¨oln´enk S1 els˝o elem´enek legkisebb sorsz´am´ u elem´et ugyanazt a sorozatot kapn´ank, mintha S2 -b˝ol az utols´o elem legnagyobb sorsz´am´ u elem´et t¨or¨oln´enk. A jel¨olt sorozat az S2 utols´o elem´enek legnagyobb sorsz´am´ u elem´evel b˝ov´ıtett S1 sorozat lesz. Az u ´ j elem k¨ ul¨on elemk´ent fog megjelenni a jel¨oltben, amennyiben S2 -ben is k¨ ul¨on elem volt, ellenkez˝o esetben S1 utols´o elem´ehez csatoljuk. A fentiek al´ol kiv´etel az 1-elemes sorozatok illeszt´ese, ahol az u ´j elemet mind a k´etf´elek´eppen fel kell venni, teh´at mint u ´ j elem, ´es mint b˝ov´ıt´es is. Ezek szerint h(i)i ´es h(j)i illeszt´es´en´el h(i, j)i, ´es h(j), (i)i is beker¨ ul a jel¨oltek k¨oz´e (egy´ertelm˝ u, hogy mindk´et jel¨oltnek mindk´et 1-elemes sorozat r´eszsorozata). A fenti t´abl´azat egy p´eld´at mutat a jel¨oltek el˝o´all´ıt´as´ara. Az h(A, B), (C)i sorozatot a h(B), (C, D)i ´es a h(B), (C), (E)i sorozathoz is illeszthetj¨ uk. A t¨obbi sorozatot egyetlen
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK 3 m´eret˝ u gyakoriak h(A, B), (C)i h(A, B), (D)i h(A), (C, D)i h(A, C), (E)i h(B), (C, D)i h(B), (C), (E)i
225
4 m´eret˝ u jel¨oltek potenci´alis jel. jel¨olt h(A, B), (C, D)i h(A, B), (C, D)i h(A, B), (C), (E)i
11.1. t´abl´azat. P´elda : GSP jel¨oltgener´al´as
m´asik sorozathoz sem tudjuk illeszteni. P´eld´aul az h(A, B), (D)i illeszt´es´ehez h(B), (Dx)i vagy h(B), (D), (x)i alak´ u sorozatnak k´ene szerepelnie a gyakoriak k¨oz¨ott, de ilyen nem l´etezik. A t¨orl´esi f´azisban az h(A, B), (C), (E)i sorozatot t¨or¨olj¨ uk, mert az h(A), (C), (E)i r´eszsorozata nem gyakori. A jel¨oltek t´amogatotts´ag´anak meghat´aroz´as´at nem r´eszletezz¨ uk.
11.1.4. Sorozat t´ıpus´ u minta ´ altal´ anos´ıt´ asa Tetsz˝oleges elemsorozatot ´abr´azolhatunk egy gr´affal. P´eld´aul a hA, B, Ci sorozat megfelel˝oje A
B
C
a gr´af. Az ´altalunk defini´alt sorozatot, mindig egy nagyon egyszer˝ u gr´affal ´abr´azoln´ank, ami egy ir´any´ıtott, k¨ormentes, c´ımk´ezett u ´ t. Mi sem term´eszetesebb, hogy a sorozat ´altal´anos´ıt´asa egy olyan valami, amit teljesen ´altal´anos ir´any´ıtott, k¨ormentes, c´ımk´ezett gr´affal ´abr´azolunk. P´eld´aul lehet egy ´altal´anos mint´ahoz tartoz´o gr´af a 11.1 ´abr´an l´athat´o. D A
C B
C
B
11.1. ´abra. P´elda : sorozat ´altal´anos´ıt´asa ´ Erezz¨ uk, hogy ezt a mint´at tartalmazz´ak p´eld´aul a hA, D, C, B, C, Bi vagy az hE, D, A, B, B, CC, Bi sorozatok, de nem tartalmazz´ak a hA, D, C, C, B, Bi illetve a hA, D, B, C, B, Ci sorozatok. Ugyanezt az ´altal´anos le´ır´ast kapn´ank, ha egy sorozatra nem mint u ´ t tekint¨ unk, hanem mint olyan halmazon ´ertelmezett teljes rendez´es, amelynek elemei azonos´ıt´o, elem p´arok. A teljes rendez´es ´altal´anos´ıt´asa ugyanis a r´eszben rendez´es, amit k¨ormentes, ir´any´ıtott gr´affal szok´as ´abr´azolni. N´ezz¨ uk form´alisan. Legyen I, illetve T ID elemek ´es azonos´ıt´ok halmaza. A mintat´er elemei ekkor (tid, i) p´arokon ´ertelmezett r´eszben rendez´es, ahol tid ∈ T ID, i ∈ I. A tid c´ımk´ej´en az i
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
226
elemet ´ertj¨ uk. 11.6. defin´ıci´ o. Az m = ({(tid1 , i1 ), . . . , (tidm , im )}, ≤) minta tartalmazza az m0 = 0 0 = ({(tid1 , i1 ), . . . , (tid0n , i0n )}, ≤ 0 ) mint´at (jel¨ol´essel m0 m), ha l´etezik f : {tid01 , . . . tid0m } → {tid1 , . . . tidn } injekt´ıv f¨ uggv´eny u ´gy, hogy tid0j c´ımk´eje megegyezik f (tid0j ) c´ımk´ej´evel (1 ≤ j ≤ 0 0 0 0 0 ≤ m), ´es (tidk , ik ) ≤ (tidl , il ) eset´en (f (tid0k ), i0k ) ≤ (f (tid0l ), i0l ) is teljes¨ ul minden (1 ≤ k, l ≤ m) indexre. Az ´altal´anos minta keres´es´en´el a bemenet I felett ´ertelmezett elemsorozatok sorozatak´ent adott. Egy bemeneti sorozat tulajdonk´eppen felfoghat´o a´ltal´anos mint´anak, ahol a rendez´es teljes rendez´es. Egy minta t´amogatotts´aga megegyezik azon sorozatok sz´am´aval, amelyek tartalmazz´ak a mint´at.
11.2. Gyakori bool formul´ ak Legyenek a bemenet n-esek halmaza. A felhaszn´al´o megad predik´atumokat, amelyek a bemenet elemein vannak ´ertelmezve, ´es ak´ar t¨obbv´altoz´osak is lehetnek. A mintat´er elemei ezen predik´atumokon ´ertelmezett bool formula. A formul´aban megengedj¨ uk az ´es, vagy illetve neg´ aci´ o oper´atorokat [86], de hat´ekonys´agi okok miatt c´elszer˝ u csak a diszjunkt´ıv norm´al formul´akra szor´ıtkozni. N´ezz¨ unk p´eld´akat. Tegy¨ uk fel, hogy egy telekommunik´aci´os h´al´ozatban egy esem´enynek 4 attrib´ utuma van: Kutat´asi eredm´enyek igazolj´ ak, t´ıpus, modul, szint, id˝ob´elyeg. Az els˝o megadja egy ri- ”hogy a csoportban m˝ uk¨od˝ oknek aszt´as t´ıpus´at, a m´asodik a modult, ami a riaszt´ast k¨ uldte, teljesebb sz¨ ul´es´elm´enyben van a harmadik a riaszt´as er˝oss´eg´et, a negyedik pedg riaszt´as r´esz¨ uk, k¨or¨ ukben alacsonyabb id˝opontj´at. Ebben a k¨ornyezetben mint´ara lehet p´elda az a korasz¨ ul´esek sz´ama, ´es a al´abbi: bab´ak s´ ulya is nagyobb az egy´eni p(x,y)=x.t´ıpus=2356 ∧ y.t´ıpus=7401 ∧x.time ≤ y.time∧ x.modul=y.modul
felk´esz¨ ul´esben r´eszes¨ ul˝okn´el.” Forr´as: Baba Patika X. ´evfolyam 10. sz´am, 56. oldal 2007. okt´ober
ami azt jelenti, hogy egy 2356 ´es egy 7401 t´ıpus´ u riaszt´as ´erkezett ebben a sorrendben ugyanabb´ol a modulb´ol. Bevezethetj¨ uk p´eld´aul a szomsz´edja – modul attrib´ utumra vonatkoz´o – k´etv´altoz´os predik´atumot, ha u ´ gy gondoljuk hogy fontos lehet ennek vizsg´alata. Ekkor a p’(x,y)=x.t´ıpus=2356 ∧ y.t´ıpus=7401 ∧ szomsz´edja(x.modul=y.modul) azt fejezi ki hogy a 2356 ´es 7401 t´ıpus´ u riaszt´asok szomsz´edos modulb´ol ´erkeztek. A p(x1 , x2 , . . . xm ) m v´altoz´os minta illeszkedik az hS1 , S2 , . . . , Sv i sorozatra, ha l´eteznek i1 , i2 , . . . im eg´eszek u ´ gy, hogy p(Si1 , Si2 , . . . , Sim ) igaz ´ert´eket ad.
11.3. Gyakori epiz´ odok Az eddig r´eszekben sok elemhalmaz, sorozat volt adva, ´es kerest¨ uk a gyakori mint´akat. Ezek a mint´ak ´altal´anosan ´erv´enyes inform´aci´ot adtak: az adott v´as´arl´oi minta sok v´as´arl´ora
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
227
jellemz˝o. Ha a sok sorozatb´ol kiv´alasztunk egyet ´es azt elemezz¨ uk, akkor az adott sorozatra jellemz˝o inform´aci´ot nyer¨ unk ki. Megtudhatjuk p´eld´aul, mi jellemz˝o az adott u ¨ gyf´elre, amit felhaszn´alhatunk akkor, amikor szem´elyre szabott aj´anlatot szeretn´enk tenni (p´eld´aul az´ert mert az u ¨ gyf´el el´egedetlen szolg´altat´asainkkal, ´es vissza akarjuk szerezni bizalm´at). Epiz´odkutat´asr´ol besz´el¨ unk, ha egyetlen sorozat van adva, ´es ebben keress¨ uk a gyakran el˝ofordul´o mint´akat[87, 88]. Az epiz´odkutat´asnak egyik fontos ter¨ ulete a telekommunik´aci´os rendszerek vizsg´alata. Az olyan epiz´odok felt´ar´asa, amelyben riaszt´as is el˝ofordul, alkalmas lehet a riaszt´as ok´anak felder´ıt´es´ere, vagy el˝orejelz´es´ere. Nem vezet¨ unk be u ´ j t´ıpus´ u mint´at, teh´at most is elemhalmazokat, sorozatokat keres¨ unk, de a formalizmus k¨onnyen ´altal´anos´ıthat´o elemhalmazokat tartalmaz´o sorozatokra, vagy ´altal´anos mint´ara is. A t´amogatotts´agi f¨ uggv´eny lesz u ´ j, ami abb´ol fakad, hogy egyetlen bemeneti sorozat van adva.
11.3.1. A t´ amogatotts´ ag defin´ıci´ oja Legyen I elemek (items) halmaza. A bemenet az I felett ´ertelmezett sorozat. bemenet : S = hi1 , i2 , . . . , in i, ahol ik ∈ I minden k-re, 11.7. defin´ıci´ o. Az S = hi1 , i2 , . . . , in i sorozatnak a hij , ij+1 , . . . , ij+w−1i sorozat egy w elem sz´eles ¨osszef¨ ugg˝o r´eszsorozata, ha 1 ≤ j ≤ n + 1 − w. Ha w < n, akkor val´odi ¨osszef¨ ugg˝o r´eszsorozatr´ol besz´el¨ unk. Legyen adva MK mintak¨ornyezet, ´es ´ertelmezz¨ uk valahogy a τ anti-monoton illeszked´esi predik´atumot. τS(m) igaz ´ert´eket ad, ha az m minta illeszkedik az S sorozatra. 11.8. defin´ıci´ o. A m minta minim´alisan illeszkedik az S sorozatra, ha S-nek nincsen olyan val´odi ¨osszef¨ ugg˝o r´eszsorozata, amelyre illeszkedik m. Ha p´eld´aul a mintat´er elemei I r´eszhalmazai, akkor a S = hi1 , i2 , . . . , in i sorozatra illeszkedik az I halmaz, amennyiben minden i ∈ I-hez l´etezik 1 ≤ j ≤ n, amelyre i = ij . Elemsorozat t´ıpus´ u minta eset´en S akkor illeszkedik az S sorozatra, ha S r´eszsorozata S-nek, ahol a r´eszsorozat defin´ıci´oja megegyezik a 11.1 r´eszben megadottal. K´et k¨ ul¨onb¨oz˝o t´amogatotts´agi defin´ıci´o terjedt el. 11.9. defin´ıci´ o. Legyen S bemeneti sorozat, MK = (M, ) mintak¨ornyezet ´es τ anti-monoton illeszked´esi predik´atum. Az m ∈ M minta t´amogatotts´aga megegyezik I. S azon ¨osszef¨ ugg˝o r´eszsorozatainak sz´am´aval, amelyekre m minim´alisan illeszkedik. II. S azon w sz´eles r´eszsorozatainak sz´am´aval, amelyekre m illeszkedik. Itt w el˝ore megadott konstans. Ha a t´amogatotts´ag ´ıgy van defini´alva, akkor a mintat´er elemeit epiz´odoknak nevezz¨ uk. Egy epiz´od gyakori, ha t´amogatotts´aga nem kisebb egy el˝ore megadott korl´atn´al, amit ´altal´aban min supp-al jel¨ol¨ unk. Epiz´odkutat´asn´al adott S bemeneti sorozat MK = (M, ) mintak¨ornyezet (esetleg w) ´es τ illeszked´esi predik´atum, c´elunk megtal´alni a gyakori epiz´odokat.
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
228
11.3.2. APRIORI Az illeszked´esi predik´atum anti-monoton tulajdons´ag´ab´ol k¨ovetkezik a t´amogatotts´ag anti-monoton´ıt´asa, amib˝ol j¨on, hogy gyakori epiz´od minden r´eszepiz´odja gyakori. Mi sem term´eszetesebb, hogy a gyakori epiz´odok kinyer´es´ehez az APRIORI algoritmust haszn´aljuk. Az jel¨oltek-el˝o´all´ıt´asa ´es a gyakori epiz´odok kiv´alogat´asa ugyanaz, minta a t´amogatotts´agot a r´egi m´odszerrel defini´aln´ank (l´asd 4.2 11.1.2 r´esz). Egyed¨ ul a t´amogatotts´ag meghat´aroz´as´an kell v´altoztatnunk. A k¨ovetkez˝okben feltessz¨ uk, hogy a t´amogatotts´agot a m´asodik defin´ıci´o szerint ´ertj¨ uk (w sz´eles ablakok sz´ama). A t´amogatotts´ag meghat´aroz´as´anak egy butuska m´odszere lenne, ha az esem´enysorozaton egyszer˝ uen v´egigmas´ırozva minden ¨osszef¨ ugg˝o r´eszsorozatn´al meghat´arozn´ank, hogy tartalmazza-e az egyes jel¨olt epiz´odokat. Hat´ekonyabb algoritmushoz juthatunk, ha felhaszn´aljuk azt, hogy szomsz´edos sorozatok k¨oz¨ott pontosan k´et elem elt´er´es van. Vizsg´ajuk meg az els˝o sorozatot, majd n´ezz¨ uk az eggyel ut´ana k¨ovetkez˝ot, ´es ´ıgy tov´abb addig, am´ıg el nem ´erj¨ uk az utols´ot. Mintha egy ablakot toln´ank v´egig a sorozaton. Vezetj¨ uk be a k¨ovetkez˝o v´altoz´okat. Minden i elemhez tartozik: – i.sz´aml´al´o, ami megadja, hogy a jelenlegi ¨osszef¨ ugg˝o r´eszsorozatba h´anyszor fordul el˝o az i elem. – i.epiz´odjai lista, amelyben az i elemet tartalmaz´o epiz´odok tal´alhat´ok. Epiz´odjel¨oltekhez pedig a k¨ovetkez˝okre lesz sz¨ uks´eg¨ unk: – j.kezdeti index : annak a legkor´abbi elemnek az indexe, amely ut´an minden r´eszsorozatban el˝ofordult az epiz´od eg´eszen a jelenlegi r´eszsorozatig. – j.sz´aml´al´o, ami megadja, hogy h´any kezdeti index el˝otti ¨osszef¨ ugg˝o r´eszsorozatban fordult el˝o j jel¨olt. A bemenet feldolgoz´asa ut´an e v´altoz´o fogja tartalmazni a jel¨olt t´amogatotts´ag´at. – j.hi´anyz´as eg´esz sz´am adja meg, hogy j elemei k¨oz¨ ul h´any nem tal´alhat´o a jelenlegi ¨osszef¨ ugg˝o r´eszsorozatban. Nyilv´anval´o, hogy ha ϕ el˝ofordul a jelenlegi r´eszsorozatban, akkor j.hi´anyz´as=0.
Nemzetk¨ozi tanulm´ anyok ” alapj´an elmondhatjuk, hogy a magzati fejl˝od´esi rendelleness´egek ( az agykoponya hi´ anya, nyitott h´atgerinc), tov´abb´a a sz´ıv ´es a vese rendelleness´egei megel˝ozhet˝ok, ha a terhes kismama a fogamz´ast megel˝oz˝oen legal´ abb n´egy h´etig, majd a terhess´eg els˝ o h´arom h´onapj´aban folsav tartalm´ u k´esz´ıtm´enyt szed.” Forr´as: Baba Patika X. ´evfolyam 10. sz´am, 48. oldal, 2007. okt´ober :
Elemhalmazok t´ amogatotts´ ag´ anak meghat´ aroz´ asa Amikor l´ep¨ unk a k¨ovetkez˝o r´eszsorozatra, akkor egy u ´j elem ker¨ ul bele az ablakba, amit jel¨olj¨ unk iu´j -al, ugyanakkor egy elem elt˝ unik a sorozatb´ol, ezt pedig jel¨olj¨ uk ir´egi -vel. Egy elem kil´ep´es´enek k¨ovetkezt´eben epiz´odok is kil´ephetnek. ir´egi .sz´aml´al´o seg´ıts´eg´evel meg´allap´ıthatjuk, hogy maradt-e m´eg ilyen elem az ablakban, mert ha igen, akkor az eddig tartalmazott epiz´odokat az u ´ j ablak is tartalmazza. Ha nem maradt, akkor i.epiz´odjai ´es epiz´odok hi´anyz´as sz´aml´al´oja alapj´an megkaphatjuk azon epiz´odokat, amelyek kil´eptek a sorozatb´ol. Ezek el˝ofordul´as´anak ´ert´ek´et kell n¨ovelni. Ebben seg´ıts´eg¨ unkre van a kezdeti index ´ert´ek, ami
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
229
ir´egi .sz´ aml´ al´ o ← ir´egi .sz´ aml´ al´ o-1; if( ir´egi .sz´ aml´ al´ o = 0) forall j in ir´egi .epiz´ odjai { j.hi´ anyz´ as ← j.hi´ anyz´ as+1; if( j.hi´ anyz´ as = 1) then j.sz´ aml´ al´ o ← j.sz´ aml´ al´ o + j.kezdeti index-jelenlegi index; } 11.2. ´abra. r´egi elem kil´ep´ese megadja, hogy mi´ota van jelen az epiz´od a sorozatokban. Az algoritmus pszeudok´odja az al´abbi ´abr´an l´athat´o. K¨onny˝ u kital´alni ezek alapj´an, hogy mit kell tenni egy u ´j elem bel´ep´es´en´el. Ha az u ´ j elem m´eg nem szerepelt az ablakban, akkor v´egig kell n´ezni az u ´j elemet tartalmaz´o epiz´odokat. Azon epiz´od kezdeti index´et kell a jelenlegi indexre be´all´ıtani, amelyekb˝ol csak ez az egyetlen elem hi´anyzott (11.3 ´abra). iu´j .sz´ aml´ al´ o ← iu´j .sz´ aml´ al´ o+1; if( eu´j .sz´ aml´ al´ o = 1 ) forall j in iu´j .epiz´ odjai { j.hi´ anyz´ as ← j.hi´ anyz´ as-1; if j.hi´ anyz´ as=0 then j.kezdeti index ← jelenlegi index; } 11.3. ´abra. u ´ j elem bel´ep´ese
Elemsorozatok t´ amogatotts´ ag´ anak meghat´ aroz´ asa Az elemsorozatok felismer´ese determinisztikus v´eges automat´akkal t¨ort´enik, amelyek az egyes elemsorozatokat fogadj´ak el. Az epiz´od alapj´an az automata el˝o´all´ıt´asa egyszer˝ u, az al´abbi ´abra erre mutat p´eld´at. A
b´armi 0
A
B
m´as 1
B
C
m´as 2
C
m´as 3
´ ES ´ EPIZODOK ´ 11. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
230
A teljes elemsorozatot egyes´evel olvassuk v´egig az els˝o elemt˝ol kezdve. Ha valamely epiz´od els˝o eleme megegyezik az ´eppen olvasott elemmel, akkor u ´j automat´at hozunk l´etre. Ha ez az elem elhagyja az ablakot, akkor t¨or¨olj¨ uk az automat´at. Amikor egy automata elfogad´o ´allapotba l´ep (jelezve, hogy az epiz´od megtal´alhat´o az ablakban), ´es nincs ehhez az epiz´odhoz tartoz´o m´asik – szint´en elfogad´o ´allapotban l´ev˝o – automata, akkor kezdeti index felveszi az aktu´alis elem index´et. Amennyiben egy elfogad´o ´allapotban l´ev˝o automat´at t¨orl¨ unk, ´es nincs m´as, ugyanahhoz az epiz´odhoz tartoz´o elfogad´o ´allapot´ u automata, akkor a kezdeti index alapj´an n¨ovelj¨ uk az epiz´od sz´aml´al´oj´at, hiszen tudjuk, hogy az epiz´od a kezdeti id˝o ut´ani ¨osszes r´eszsorozatban megtal´alhat´o volt eg´eszen az aktu´alis r´eszsorozat el˝otti r´eszsorozatig. Vegy¨ uk ´eszre, hogy felesleges adott epiz´odhoz tartoz´o, ugyanabban az ´allapotban l´ev˝o automat´akat t¨obbsz¨or¨osen t´arolni: el´eg azt ismernem, amelyik utolj´ara l´epett be ebbe az ´allapotba, hiszen ez fog utolj´ara t´avozni. Emiatt j jel¨olth¨oz maximum j darab automat´ara van sz¨ uks´eg. Egy u ´ j elem vizsg´alatakor nem kell az ¨osszes automat´an´al megn´ezn¨ unk, hogy u ´ j ´allapotba l´ephetnek-e, mert az elem epiz´odjai list´aj´aban megtal´alhat´o az ˝ot tartalmaz´o ¨osszes epiz´od. Az el˝oz˝oekben ismertetett epiz´odkutat´asi algoritmus olyan adatb´any´aszati probl´em´ara adott megold´ast, ami az ipari ´eletben mer¨ ult fel, ´es hagyom´anyos eszk¨oz¨ok nem tudt´ak kezelni. Az algoritmus telekommunik´aci´os h´al´ozatok riaszt´as´ar´ol eddig nem ismert, az adatokban rejl˝o inform´aci´ot adott a rendszert u ¨ zemeltet˝o szakembereknek. Err˝ol b˝ovebben a [76][81] [83][82][58] cikkekben olvashatunk.
12. fejezet Gyakori f´ ak ´ es fesz´ıtett r´ eszgr´ afok Amikor gyakori elemhalmazokat kerest¨ unk, akkor azt n´ezt¨ uk, hogy mely elemek fordulnak el˝o egy¨ utt gyakran. Sorozatok keres´es´en´el enn´el tov´abbl´ept¨ unk, ´es azt is n´ezt¨ uk, hogy milyen sorrendben fordulnak el˝o az elemek, azaz melyek elemek el˝oznek meg m´as elemeket. Ez m´ar egy bonyolultabb kapcsolat. M´eg ´altal´anosabb kapcsolatok le´ır´as´ara szolg´alnak a gr´afok: a felhaszn´al´asi ter¨ ulet entit´asainak felelnek meg a gr´af cs´ ucsai vagy a cs´ ucsainak c´ımk´ei, amelyeket ´el k¨ot ¨ossze, amennyiben van k¨oz¨ott¨ uk kapcsolat. A kapcsolat t´ıpus´at, s˝ot az entit´asok jellemz˝oit is kezelni tudjuk, amennyiben a gr´af cs´ ucsai ´es ´elei c´ımk´ezettek. Ezt a fejezetet el˝osz¨or a gr´af egy speci´alis eset´evel a gy¨okeres f´ak vizsg´alat´aval kezdj¨ uk, majd r´at´er¨ unk a gyakori ´altal´anos gr´afok keres´es´ere. Ellent´etben az elemhalmazokkal vagy a sorozatokkal a t´amogatotts´agot megad´o illeszked´esi predik´atumot a gr´afokn´al t¨obbf´elek´eppen defini´alhatjuk: r´eszgr´af, fesz´ıtett r´eszgr´af, topologikus r´eszgr´af. Ez tov´abb b˝ov´ıti a megoldand´o feladatok k¨or´et.
12.1. Az izomorfia probl´ em´ aja Ha gr´afokra gondolunk, akkor szem¨ unk el˝ott vonalakkal – ir´any´ıtott gr´afok eset´eben nyilakkal – ¨osszek¨ot¨ott pontok jelennek meg. C´ımk´ezett gr´afokn´al a pontokon ´es/vagy az ´eleken c´ımk´ek, ´altal´aban sz´amok szerepelnek. K¨ ul¨onb¨oz˝o pontoknak lehetnek azonos c´ımk´ei. Egy ilyen pontokat ´es vonalakat tartalmaz´o rajz a gr´af egy lehets´eges ´abr´azol´asa. Matematikailag egy gr´af egy p´aros, amelynek els˝o eleme egy alaphalmaz, a m´asodik eleme ezen alaphalmazon ´ertelmezett bin´aris rel´aci´o. K¨ ul¨onb¨oz˝o gr´afoknak lehet azonos a rajzuk. P´eld´aul a G1 = ({a, b}, {a, b}) ´es a G1 = = ({a, b}, {b, a}) gr´afok rajza ugyanaz lesz: az egyik pontb´ol egy ny´ıl indul a m´asik pontba. Ugyan´ ugy azonos ´abr´at k´esz´ıten´enk, ha az egyetlen ´elnek c´ımk´eje lenne, vagy a k´et pontnak ugyanaz lenne a c´ımk´eje. Az alkalmaz´asok t¨obbs´eg´eben a gr´af rajza, topol´ogi´aja tov´abb´a a c´ımk´ek az ´erdekesek ´es nem az, hogy a pontokat hogyan azonos´ıtjuk annak ´erdek´eben, hogy a bin´aris rel´aci´ot fel tudjuk ´ırni. Ezen alkalmaz´asokban nem akarjuk megk¨ ul¨onb¨oztetni az izomorf gr´afokat (pontos defin´ıci´ot l´asd alapfogalmak gr´afelm´elet r´esz´eben). Ez a helyzet ´all fenn, p´eld´aul amikor k´emiai vegy¨ uleteket vizsg´alunk. Itt a gr´af c´ımk´ei jellemzik az atomot (esetleg m´eg tov´abbi inform´aci´ot, pl. t¨olt´est) az ´elek a k¨ot´est, az ´elek c´ımk´ei pedig a k¨ot´es t´ıpus´at (egyszeres k¨ot´es, k´etszeres k¨ot´es, arom´as k¨ot´es) Amikor gyakori gr´afokat keres¨ unk, akkor mindenk´eppen el kell d¨onten¨ unk, hogy az izomorf gr´afokat megk¨ ul¨onb¨oztetj¨ uk, vagy nem. Miel˝ott 231
´ ES ´ FESZ´ITETT RESZGR ´ ´ 12. FEJEZET. GYAKORI FAK AFOK
232
r´at´er¨ unk a gyakori gr´afok keres´es´ere j´arjuk egy kicsit k¨or¨ ul az izomorfia k´erd´es´et. K´et gr´af izomorfi´aj´anak eld¨ont´es´ere nem ismer¨ unk polinom idej˝ u algoritmust, s˝ot azt sem tudjuk, hogy a feladat NP-teljes-e. Hasonl´o feladat a r´eszgr´af izomorfia k´erd´ese, ahol azt kell eld¨onteni, hogy egy adott gr´af izomorf-e egy m´asik gr´af valamely r´eszgr´afj´aval. Ez a feladat NP-teljes. Ha ugyanis az egyik gr´af egy k-cs´ ucs´ u teljes gr´af, akkor a feladat az, hogy keress¨ unk egy gr´afban k-cs´ ucs´ u klikket, ami bizony´ıtottan NP-teljes. Szerencs´ere kisebb m´eret˝ u gr´afok eset´eben az izomorfia eld¨ont´ese egyszer˝ ubb algoritmusokkal is megoldhat´o elfogadhat´o id˝on. A k´et legismertebb r´eszgr´af izomorfi´at eld¨ont˝o algoritmus Ullmannt´ol a backtracking [138] ´es B.D.McKayt´ol a Nauty [91]. A gr´af izomorfi´at eld¨ont˝o m´odszerek a cs´ ucsok invari´ansait haszn´alj´ak. Az invari´ans tulajdonk´eppen egy tulajdons´ag. P´eld´aul invari´ans a cs´ ucs c´ımk´eje, foksz´ama, illetve ir´any´ıtott gr´afok eset´eben a befok ´es a kifok is k´et invari´ans. Amennyiben a G1 , G2 gr´afok a φ bijekci´o alapj´an izomorfak, akkor az u cs´ ucs minden invari´ansa megegyezik a φ(u) cs´ ucs megfelel˝o invari´ansaival a G1 minden u cs´ ucs´ara. Ez teh´at egy sz¨ uks´eges felt´etel: az u cs´ ucshoz csak azt a cs´ ucsot rendelheti a bijekci´o, amelynek invari´ansai p´aronk´ent azonosak az u invari´ansaival. Az izomorfia eld¨ont´es´enek na´ıv m´odszere az lenne, ha az ¨osszes bijekci´ot megvizsg´aln´ank egyes´evel. Egy bijekci´o a cs´ ucsoknak egy permut´aci´oja, ´ıgy n cs´ ucs´ u gr´afok eset´eben n! bijekci´o l´etezik. Cs¨okkenthetj¨ uk ezt a sz´amot az invari´ansok seg´ıts´eg´evel. Osszuk r´eszekre a cs´ ucsokat. Egy csoportba azon cs´ ucsok ker¨ uljenek, amelyeknek p´aronk´ent minden invari´ansuk azonos. Nyilv´anval´o, hogy az olyan bijekci´okat kell megvizsg´alni, amelyek csak ugyanazon invari´ansok ´altal le´ırt csoportba tartoznak. Ha az invari´ansokkal ucsokat sz´etosztottuk a V1 , . . . , Vk Q a V cs´ csoportokba, akkor a sz´oba j¨ov˝o bijekci´ok sz´ama ki=1 |Vi |-re cs¨okken. Min´el t¨obb csoportot hoznak l´etre az invari´ansok ann´al t¨obbet nyer¨ unk ezzel az egyszer˝ u tr¨ ukkel. Az invari´ansok nem cs¨okkentik asszimptotikusan a sz´am´ıt´as komplext´as´at. Ha p´eld´aul a gr´af regul´aris ´es a cs´ ucsoknak nincsenek c´ımk´ej¨ uk, akkor minden cs´ ucs azonos csoportba ker¨ ul, azaz nem nyer¨ unk a tr¨ ukkel semmit. Eddigi ismereteink alapj´an elmondhatjuk, hogy min´el bonyolultabb gyakori mint´at keres¨ unk, ann´al nehezebb a felA leg´ ujabb kutat´asok szerint biadat ´es ann´al er˝oforr´as-ig´enyesebbek a megold´o algoritmu- ”zonyos vitaminok k´epesek a hib´ as sok. A c´ımke n´elk¨ uli gr´afok egy ´altal´anos´ıt´asa a c´ımk´ezett g´enek okozta fejl˝od´esi rendellegr´afok, ´ıgy azt v´arjuk, hogy c´ımk´ezett gr´afokhoz m´eg t¨obb ness´egek kiv´ed´es´ere.” Forr´as: Basz´am´ıt´ast kell majd v´egezni. Az el˝obb bemutatott m´odszer ba Patika X. ´evfolyam 10. sz´am, szerencs´ere az ellenez˝oj´et ´all´ıtja, hiszen a c´ımke egy inva- 44. oldal, 2007. okt´ober ri´ans, ami u ´ jabb csoportokat hozhat l´etre. S˝ot min´el t¨obb a c´ımke, ann´al t¨obb a csoport ´es ann´al gyorsabban d¨ontj¨ uk el, hogy k´et gr´af izomorf-e. A gr´af izomorfi´ab´ol sz¨ uletett probl´ema a gr´afok kanonikus k´odol´as´anak probl´em´aja. 12.1. defin´ıci´ o. A gr´afok kanonikus k´odol´asa (vagy kanonikus c´ımk´ez´ese) egy olyan k´odol´ as, amely az izomorf gr´afokhoz ´es csak azokhoz azonos k´odsorozatot rendel. Nyilv´anval´o, hogy egy kanonikus k´odol´as el˝o´all´ıt´ asa ugyanolyan neh´ez feladat, mint k´et gr´af izomorfi´aj´anak eld¨ont´ese, hiszen k´et gr´af izomorf, ha kanonikus k´odjaik megegyenek. P´eld´aul egy egyszer˝ u kanonikus k´od az, amit u ´ gy kapunk, hogy a gr´af szomsz´edoss´agi m´atrix oszlopai permut´al´asai k¨oz¨ ul kiv´alasztjuk azt, amely elemeit valamely r¨ogz´ıtett sorrendben egym´as ut´an ´ırva a legkisebbet kapjuk egy el˝ore defini´alt lexikografikus rendez´es szerint.
´ ES ´ FESZ´ITETT RESZGR ´ ´ 12. FEJEZET. GYAKORI FAK AFOK
233
A szomsz´edoss´agi m´atrix alap´ u kanonikus k´od el˝o´all´ıt´as´ahoz szint´en az invari´ansokat c´elszer˝ u haszn´alni. Ez´altal az oszlopok ¨osszes permut´aci´oj´ahoz tartoz´o k´odok ki´ert´ekel´ese helyett egy oszlopot csak a saj´at csoportj´an bel¨ uli oszlopokkal kell permut´alni. 1 A 2 3
B
A 4
12.1. ´abra. P´elda kanonikus k´odol´asra N´ezz¨ uk p´eldak´ent a 12.1 ´abr´an l´athat´o cs´ ucs- ´es ´elc´ımk´ezett gr´afot (a cs´ ucsokban szerepl˝o sz´amok a cs´ ucsok azonos´ıt´oi). Legyen cimke(1) = e, cimke(2) = e, cimke(3) = e, cimke(4) = = f . A cs´ ucsok c´ımk´ei szerint k´et csoportot hozunk l´etre. Ha figyelembe vessz¨ uk a foksz´amot is, akkor a nagyobb csoportot k´et r´eszre osztjuk ({1,3}, {2}, {4}). A 4 !=24 kombin´aci´o helyett csak 2 !=2 permut´aci´ot kell ki´ert´ekeln¨ unk, ami alapj´an megkapjuk a kanonikus k´odot : he000A0e0A00f BAABei lesz, ha a c´ımk´eken az abc szerinti rendez´est vessz¨ uk ´es a 0 minden bet˝ ut megel˝oz.
12.2. A gyakori gr´ af fogalma Annak alapj´an, hogy az izomorf gr´afokat megk¨ ul¨onb¨oztetj¨ uk, vagy nem a gyakori gr´afok kinyer´es´enek feladat´at k´et csoportra osztjuk. Legyen V = {v1 , v2 , . . . , vm } cs´ ucsok halmaza. A mintak¨ornyezet ekkor az MK = ({G1 = (V1 , E1 ), G2 = (V2 , E2 ), . . .}, ) p´ar, ahol Vi ⊆ V, minden gr´af ¨osszef¨ ugg˝o ´es Gi Gj , amennyiben Gi a Gj -nek r´eszgr´afja. A bemenet szint´en olyan gr´afok sorozata, amelyek cs´ ucshalmaza V-nek r´eszhalmazai. A gr´afok cs´ ucsainak ´es/vagy ´eleinek lehetnek c´ımk´ei. A tov´abbiakban az ´elek ´es cs´ ucsok c´ımk´ej´et a cE ´es cV f¨ uggv´enyek adj´ak meg. Az ´altal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy a c´ımk´ek pozit´ıv eg´esz sz´amok. A t´amogatotts´agot illeszked´esi predik´atum alapj´an defini´aljuk. Att´ol f¨ ugg˝oen, hogy a cs´ ucsok ´ert´eke fontos, vagy csa a c´ımk´ej¨ uk, az illeszked´est k´etf´elek´eppen defini´alhatjuk: G0 gr´af illeszkedik a G bemeneti gr´afra, ha – G0 r´eszgr´afja/fesz´ıtett r´eszgr´afja/topologikus r´eszgr´afja G-nek, – l´etezik G-nek olyan r´eszgr´afja/fesz´ıtett r´eszgr´afja/topologikus r´eszgr´afja, amely izomorf G0 -vel. A fenti lehet˝os´egek k¨oz¨ ul az alkalmaz´asi ter¨ ulet ismerete alapj´an v´alaszthatunk. A topologikus r´eszgr´af fogalma nem tartozik az alapfogalmak k¨oz´e, ´ıgy ennek jelent´es´et meg kell adnunk. 12.2. defin´ıci´ o. A G0 = (V 0 , E 0 ) gr´af a G = (V, E) gr´af topologikus r´eszgr´afja, ha V 0 ⊆ V ´es (u, v) ∈ E 0 akkor ´es csak akkor, ha u-b´ol vezet u ´t v-be a G gr´afban. Gr´afok eset´eben haszn´alt fogalom a s´ ulyozott t´amogatotts´ag, melynek kisz´am´ıt´as´ahoz illeszked´esi predik´atum helyett illeszked´esi f¨ uggv´enyt haszn´alunk. Az illeszked´esi f¨ uggv´eny megadja a bemeneti gr´af k¨ ul¨onb¨oz˝o r´eszgr´afjainak/fesz´ıtett r´eszgr´afjainak/topologikus r´eszgr´afjainak
´ ES ´ FESZ´ITETT RESZGR ´ ´ 12. FEJEZET. GYAKORI FAK AFOK
234
sz´am´at, amely azonosak/izomorfak a mintagr´affal. A G gr´af s´ ulyozott t´amogatotts´aga a bemeneti elemeken vett illeszked´esi f¨ uggv´eny ¨osszege. Miel˝ott r´at´ern´enk az ´altal´anos eset t´argyal´as´ara n´ezz¨ uk meg, hogyan lehet kinyerni a gyakori c´ımk´ezett f´akat.
12.3. gyakori gy¨ okeres f´ ak Ebben a r´eszben feltessz¨ uk, hogy a mintat´er ´es a bemeneti sorozat elemei cs´ ucsc´ımk´ezett gy¨okeres f´ak. Egy fa m´erete a cs´ ucsainak sz´am´at adja meg. Csak a c´ımk´ek fontosak, ez´ert az illeszked´esi predik´atumnak a m´asodik fajt´aj´at haszn´aljuk: akkor illeszkedik egy mintafa egy bementi f´ara, ha annak l´etezik olyan topologikus r´eszgr´afja, amellyel a mintafa izomorf. A gyakori f´ak kinyer´ese hasznos a bioinformatik´aban, a webelemz´esn´el, a f´elig struktur´alt adatok vizsg´alat´an´al stb. Az egyik legszeml´eletesebb felhaszn´al´asi ter¨ ulet a webes szok´asok elemz´ese. Gyakori elemhalmaz-kinyer˝o algoritmussal csak azt tudn´ank meg´allap´ıtani, hogy melyek a gyakran l´atogatott oldalak. Ha gyakori szekvenci´akat keres¨ unk, akkor megtudhatjuk, hogy az emberek milyen sorrendben l´atogatnak el az oldalakra leggyakrabban. Sokkal ´eleth˝ ubb ´es hasznosabb inform´aci´ot kapunk, ha a weboldalakb´ol fel´ep´ıtett gyakori f´akat (vagy erd˝oket) keres¨ unk. Egy internetez˝o viselked´es´et egy fa jobban reprezent´alja, mint egy sorozat. Rendezett gy¨okeres f´akn´al tov´abbi felt´etel, hogy az egy cs´ ucsb´ol kiindul´o ´elek a gyerek cs´ ucs c´ımk´eje szerint rendezve legyenek. Ez tulajdonk´eppen egy ´atmenet afel´e, hogy az izomorf gr´afokat ne k¨ ul¨onb¨oztess¨ uk meg, vagy m´ask´ent sz´olva a mintat´erben ne legyenek izomorf gr´afokat. Ha a c´ımk´ek rendez´ese abc szerint t¨ort´enik, akkor p´eld´aul a k¨ovetkez˝o 3 fa k¨oz¨ ul csak az els˝o tartozik a mintat´er elemei k¨oz´e. C A
B
C B
B
C
A
B
B
B
A
12.2. ´abra. P´elda : rendez´es n´elk¨ uli, c´ımk´ezett, gy¨okeres f´ak A rendezetts´eg nem biztos´ıtja azt, hogy a mintat´erben ne legyenek izomorf f´ak. P´eld´aul a k¨ovetkez˝o ´abr´an l´athat´o k´et rendezett fa izomorf egym´assal, ´es mindketten a mintat´ernek elemei. C B A
C B
B
B A
12.3. ´abra. P´elda : izomorf rendezett, gy¨okeres f´ak Mivel az illeszked´es sor´an izomorf r´eszf´akat keres¨ unk, ez´ert feltehetj¨ uk, hogy a fa cs´ ucsai term´eszetes sz´amok, ´es az i cs´ ucs azt jelenti, hogy a cs´ ucsot az i-edik l´ep´esben l´atogatjuk meg a gr´af preorder, m´elys´egi bej´ar´asa sor´an. Legyen a gy¨ok´er cs´ ucs a 0. Az F fa i cs´ ucsj´anak c´ımk´ej´et cF (i)-vel a sz¨ ul˝oj´et pedig szuloF (i)-vel jel¨olj¨ uk. Elhagyjuk az F als´o indexet azokban az esetekben, ahol ez nem okozhat f´elre´ert´est.
´ ES ´ FESZ´ITETT RESZGR ´ ´ 12. FEJEZET. GYAKORI FAK AFOK F 0 1 3 1
2
1
F0
F00
1
0 2
1
2
235
2
2
2 2
12.4. ´abra. P´elda : gy¨okeres r´eszf´ak tartalmaz´as´ara A 12.4 ´abr´an egy p´eld´at l´athatunk illeszked´esre (topologikus r´eszf´ara). A f´ak cs´ ucsaiba ´ırt 0 00 sz´amok a cs´ ucsok c´ımk´eit jel¨olik. Az F ´es F is illeszkedik a F f´ara. Amennyiben egy gr´af ritka (kev´es ´elet tartalmaz), akkor azt szomsz´edoss´agi list´aval (l´asd alapfogalmak 2.3 r´esz) c´elszer˝ u le´ırni. F´ak eset´eben a c´ımkel´ancok m´eg kevesebb helyet ig´enyelnek a mem´ori´ab´ol. A c´ımkel´ancot u ´ gy kapjuk meg, hogy bej´arjuk a f´at preorder, m´elys´egi bej´ar´as szerint, ´es amikor u ´ j cs´ ucsba l´ep¨ unk akkor hozz´a´ırjuk az eddigi c´ımkel´anchoz az u ´ j cs´ ucs c´ımk´ej´et. Amikor visszal´ep¨ unk, akkor egy speci´alis c´ımk´et (*) ´ırunk. P´eld´aul az el˝oz˝o ´abr´an F c´ımkel´anca : F =0,1,3,1, ∗,2, ∗, ∗,2, ∗, ∗,2, ∗ ´es F 0 =1,1, ∗,2, ∗. C´ımkesorozatnak h´ıvjuk ´es l(F )-vel jel¨olj¨ uk azt a sorozatot, amit a F gr´af c´ımkel´anc´ab´ol kapunk meg, ha elhagyjuk a ∗ szimb´olumot. Nyilv´anval´o, hogy a c´ımkesorozat – a c´ımkel´anccal ellent´etben – nem ˝orzi meg a fa topol´ogi´aj´at. Hasonl´oan a gyakori elemhalmazok keres´es´ehez most is megk¨ ul¨onb¨oztet¨ unk horizont´alis ´es vertik´alis adat´abr´azol´asi m´odot. Horizont´alis ´abr´azol´asn´al a bemenet gr´afok le´ır´as´anak (p´eld´aul c´ımkel´anc) sorozata. Vertik´alis t´arol´asn´al minden c´ımk´ehez tartozik egy p´arokb´ol ´all´o sorozat. Az i c´ımk´ehez tartoz´o sorozatban a (j, k) p´ar azt jelenti, hogy a j-edik bemeneti gr´af preorder bej´ar´as szerinti k-adik cs´ ucs c´ımk´eje i.
12.3.1. TreeMinerH A TreeMinerH [145] az APRIORI s´em´ara ´ep¨ ul (annak ellen´ere, hogy Zaki publik´alta). N´ezz¨ uk meg, hogyan ´all´ıtjuk el˝o a jel¨olteket ´es hogyan hat´arozzuk meg a t´amogatotts´agukat. Jel¨ oltek el˝ o´ all´ıt´ asa Egy `-elem˝ u jel¨oltet k´et (` − 1)-elem˝ u gyakori fa (F 0 ´es F 00 ) illeszt´es´evel (jel¨ol´esben: ⊗) kapjuk meg. Hasonl´oan az eddigiekhez a k´et (` − 1)-elem˝ u fa csak a legnagyobb elem¨ ukben k¨ ul¨onb¨oznek, amely eset¨ unkben azt jelenti, hogy ha elhagyn´ank a legnagyobb cs´ ucsot (´es a hozz´a tartoz´o ´elt), akkor ugyanazt a f´at kapn´ank. Az ´altal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, 0 uccsal val´o b˝ov´ıt´ese hogy szuloF 0 (` − 1) ≤ szuloF 00 (` − 1). A potenci´alis jel¨olt a G gr´af egy cs´ lesz, ahol az u ´ j cs´ ucs c´ımk´eje a cF 00 (` − 1) lesz. K´etelem˝ u (egy ´elt tartalmaz´o) jel¨oltek el˝o´all´ıt´as´an´al nincs sok v´alaszt´as: az u ´ j ´elt egyetlen helyre illeszthetj¨ uk. Ha ` > 2, akkor k´et esetet kell megk¨ ul¨onb¨oztetn¨ unk. Az els˝o esetben 00 0 ´ j ´elt a szulo(`−1) szuloF (`−1) = szuloF (`−1). Ekkor k´et jel¨oltet ´all´ıtunk el˝o. Az els˝oben az u cs´ ucshoz, a m´asodikban a szulo(`−1)+1 cs´ ucshoz kapcsoljuk. Ha szuloF 0 (`−1) 0, mert w nemnegat´ıv elem˝ u vektor.
´ ´ 13. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
ANGOL antecedent approximate dependency association rule authority basket candidate classification confusion matrix consequent clustering confidence conviction data mining dead end problem decision rule decision tree dense episode false-positive false-negative frequent gain ratio goodness-of-split hash-tree hub impurity-based criteria item knowledge retrieval kurtosis levelwise lift locality-sensitive hashing (LSH)
MAGYAR felt´etelr´esz k¨ozel´ıt˝o f¨ ugg˝os´eg asszoci´aci´os szab´aly tekint´elylap kos´ar jel¨olt oszt´alyoz´as kevered´esi m´atrix k¨ovetkezm´enyr´esz klaszterez´es bizonyoss´ag meggy˝oz˝od´es adatb´any´aszat zs´akutca probl´ema d¨ont´esi szab´aly d¨ont´esi fa s˝ ur˝ u epiz´od hamis jel¨olt hi´anyz´o elem gyakori nyeres´egar´any v´ag´as j´os´aga hash-fa gy˝ ujt˝olap elem tud´asfelt´ar´as lapults´ag szintenk´ent halad´o f¨ uggetlens´egi mutat´o ´ hely-´erz´ekeny hashel´es (HEH)
1. t´abl´azat. Idegen kifejez´esek ford´ıt´asa (a-l)
260
´ ´ 13. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
ANGOL market-basket problem mode negative border oblivious decision tree outlier analysis pattern potpruning power divergence function prepruning principal component analysis product ranking replicated subtree problem sequence matching signature singular value decomposition skewness sparse spider trap problem stripped partition support threshold transaction valid z-score normalization
MAGYAR piaci-kos´ar probl´ema m´odusz es´elyes jel¨olt hanyag d¨ont´esi f´ak elt´er´es elemz´es minta ut´o˝onyes´es er˝o divergencia f¨ uggv´eny el˝onyes´es f˝okomponens anal´ızis term´ek rangsorol´as ism´etl˝od˝o r´eszfa probl´ema sorozatilleszt´es lenyomat szingul´aris felbont´as ferdes´eg ritka p´okh´al´o probl´ema reduk´alt part´ıci´o t´amogatotts´ag k¨ usz¨ob tranzakci´o ´erv´enyes standard normaliz´al´as
2. t´abl´azat. Idegen kifejez´esek ford´ıt´asa (m-z)
261
T´ argymutat´ o χ2 pr´oba, 29 ´atlagos n´egyzetes hiba, 141 ´atlagos n´egyzetes hibagy¨ok, 141 min supp, 60 Apriori, 63 Eclat algoritmus, 76 FP-growth algoritmus, 79 11 pontos ´atlagos pontoss´ag, 176
Bayes-m´odszer naiv, 171, 177 bemeneti sorozat, 60 bizotts´ag oszt´alyoz´ok´e, 174 tagok, 174 boosting elj´ar´asok AdaBoost, 175
A minta nagys´aga, 84 abszol´ ut hiba´atlag, 141 AdaBoost, 175 adat struktur´alatlan, 165 struktur´alt, 165 tanul´o, 171 teszt, 171 valid´aci´os, 171 adatb´azis horizont´alis, 61 vertik´alis, 61 algoritmus helyesen m˝ uk¨od˝o, 221 moh´o, 177 teljes, 221 anti-monoton, 216 APRIORI m´odszer, 221 apriori algoritmus, 197 APRIORI-CLOSE, 224 asszoci´aci´os szab´aly, 90, 91 ´erdekess´ege, 93 ´erv´enyes, 91 bizonyoss´aga, 91 egzakt, 91 hierarchikus, 101, 102 t´amogatotts´aga, 91 average linkage, 159
centroid kapcsol´od´as, 183 centroid–egyszer˝ u kapcsol´od´as, 183 2 χ -statisztika, 169 complet linkage, 159 csoportos´ıt´as sz¨ovegek´e, 180 hierarchikus klaszterez˝ok, 183 jellegzetess´egek, 181 k-´atlag m´odszerek, 183 dimenzi´o cs¨okkent´ese, 168 kategoriz´al´asn´al, 169 dokumentum ´abr´azol´asa, 167 el˝ofeldolgoz´asa, 166 reprezent´aci´oja, 166 bin´aris, 168 csoportos´ıt´asn´al, 181 dokumentum frekvencia k¨ usz¨ob¨ol˝o, 169 dokumentumgy˝ ujtem´eny reprezent´al´asa, 168 dokumentumok csoportos´ıt´asa, 180 dokumentumok el˝ofeldolgoz´asa, 166 d¨ont´esi fa sz¨ovegoszt´alyoz´o, 172 Duquenne–Guigues-b´azis, 92 egyens´ ulyi pont felid´ez´es´e ´es pontoss´ag´e, 176 ekvivalencia-rel´aci´o, 23 262
´ ´ TARGYMUTAT O elemhalmaz, 237 fed´es, 60 gyakori, 60 gyakoris´aga, 61 eloszl´as χ2 , 27 binomi´alis, 26 hipergeometrikus, 27 norm´alis, 27 Poisson, 26 entr´opia, 28 entr´opia, 182 Euklideszi-norma, 40 f¨ uggetlens´egvizsg´alat, 30 f˝okomponens analizis, 54 fel¨ ugyelet n´elk¨ uli tanul´as, 145 fel´ıd´ez´es, 143 felid´ez´es, 175, 187 szintenk´enti, 178 fel¨ ugyelet n´elk¨ uli tanul´as, 181 fel¨ ugyelt tanul´as, 171 ferdes´eg, 27 F-m´ert´ek, 176 csoportos´ıt´asn´al, 182 szintenk´enti, 178 fogalomt´ars´ıt´as, 195 fontoss´ag, 202 FP-fa vet´ıtett, 81 funkci´o szavak, 169 funkci´o szavak elhagy´asa, 169 funkcion´alis f¨ ugg˝os´eg, 263 FUP algoritmus, 234 Galois-kapcsolat, 86 Galois-lez´ar´as oper´ator, 86 GSP, 240 gy˝ ujt˝olap, 206 gyakoris´agi k¨ usz¨ob, 225 gyakoris´agi k¨ usz¨ob¨ot, 61 gyakoris´ag, 168 halmaz, 23 lok´alisan v´eges, 216 rangsz´amozott, 216
263 halmazcsal´ad, 73 hat´ekonys´ag m´er´ese sz¨ovegb´any´aszatn´al ´altal´aban, 170 sz¨ovegek csoportos´ıt´as´an´al, 182 sz¨ovegoszt´alyoz´as egyszer˝ u, 175 hierarchikus, 178 hiba sz¨ovegoszt´alyoz´asn´al, 175 hierarchikus asszoci´aci´os szab´aly ´erdekess´ege, 103 hierarchikus klaszterez˝o, 183 egyes´ıt˝o, 183 feloszt´o, 183 ierarchikus klaszterez˝o UPGMA, 183 hierarchikus sz¨ovegoszt´alyoz´as, 177 HITEC, 178 Hoeffding-korl´at, 27 inform´aci´o nyeres´eg m´odszer, 169 inform´aci´okinyer´es, 195 invari´ans hasonl´os´ag, 39 inverz dokumentum frekvencia, 168 Ism´etelt mintav´etelez´es, 138 Jaccard-koefficiens, 40 jel¨olt, 63, 222 hamis, 222 jel¨olt-el˝o´all´ıt´as ism´etl´es n´elk¨ uli, 63 jellemz˝ok kiv´alaszt´asa, 169 k-legk¨ozelebbi szomsz´ed gr´af, 149 k¨ozel´ıt˝o f¨ ugg˝os´eg, 263 k´enyszer er˝osen ´atalak´ıthat´o, 219 kanonikus reprezent´aci´o, 73 kappa statisztika, 143 kateg´oria¨osv´eny, 178 kateg´oriarendszer, 170 kategoriz´al´as l´asd oszt´alyoz´as 170 k-´atlag elj´ar´as kett´eszel˝o, 183 k´erd´es-megv´alaszol´o rendszerek, 196 Kereszt-valid´aci´o, 139 kett´eszel˝o k-´atlag elj´ar´as, 183
´ ´ TARGYMUTAT O kevered´esi m´atrix, 142 kivonatol´as, 185 csoportos´ıt´as alap´ u m´odszerek, 190 defin´ıci´o, 185 hat´ekonys´ag´anak m´er´ese, 187 jellemz˝ok, 187 klasszikus m´odszer, 188 MEAD m´odszer, 191 MMR m´odszer, 190 mondatkiv´alaszt´assal, 187 TF-IDF alap´ u m´odszer, 189 weboldalak´e, 193 Klaszterez´es, 144 klaszterez´es l´asd csoportos´ıt´as 180 k-NN l´asd legk¨ozelebbi szomsz´edok 172 kontingencia-t´abl´azat, 30 korrel´aci´os egy¨ utthat´o, 141 koszinusz-m´ert´ek, 42 kulcs, 265 Laplace estimation, 135 lapults´ag, 27 l´atens szemantikus indexel´es (LSI), 169 leave-one-out, 139 legk¨ozelebbi szomsz´edok sz¨ovegoszt´alyoz´o, 172 lexikografikus rendez´es, 24 lexikon l´asd sz´ot´ar 167 line´aris kiterjeszt´es, 217 line´arisan szepar´alhat´o oszt´alyok, 110 LSI l´asd l´atens szemantikus indexel´es 169 lusta tanul´o, 172 Manhattan-norma, 40 min freq, 61, 225 Minkowski-norma, 40 minta, 216 u ¨ res, 216 elhanyagolt, 222 gyakori, 216 gyakoris´aga, 225 jel¨olt, 222 m´erete, 216 nem b˝ov´ıthet˝o, 218 ritka, 216 t´amogatotts´aga, 216
264 z´art, 218 mintafelismer´es, 169 mintahalmaz, 216 mintat´er, 216 moh´o algoritmus, 177 n´evelem, 197 naiv Bayes-m´odszer, 171 hierarchikus oszt´alyoz´as, 177 Naiv mintav´etelez˝o algoritmus, 231 neur´alis h´al´ozat, 173 oldalak rangsorol´asa, 201 ,,oszd meg ´es uralkodj” strat´egia, 173 oszt´alyoz´as egyszer˝ u, 170 hierarchikus, 170 sz¨ovegek´e, 170 ¨osszegz´esk´esz´ıt´es, 185 ´altal´anos, 186 indikat´ıv, 186 informat´ıv, 186 k´erd´es-vez´erelt, 186 p´okh´al´o probl´ema, 204 Page Rank, 202, 205 part´ıci´o, 264 part´ıci´o finom´ıt´asa, 265 part´ıci´os algoritmus, 231 PATRICIA fa, 33 perceptron, 173 pontoss´ag, 175, 187 szintenk´enti, 178 Porter-algoritmus, 197 pr´oba Student t-pr´oba, 31 predik´atum anti-monoton, 219 monoton, 219 prefix anti-monoton, 219 prefix monoton, 219 trivi´alis, 219 prefix, 217 pszeudo-z´art elemhalmaz, 92 r´eszben rendez´es, 23 r´eszminta, 216
´ ´ TARGYMUTAT O val´odi, 216 r´etegzett particion´al´as, 138 rang-vektor, 202 reduk´alt part´ıci´o, 266 relat´ıv abszol´ ut hiba, 141 relat´ıv n´egyzetes hiba, 141 relat´ıv n´egyzetes hibagy¨ok, 141 Reuters-gy˝ ujtem´eny, 177 Rocchio-elj´ar´as, 112 shrinkage, 177 single linkage elj´ar´as, 158 sorozat, 24 stopwords, 169 struktur´alatlan adat, 165 struktur´alt adat, 165 s´ ulybe´all´ıt´as addit´ıv, 173 multiplikat´ıv, 173 s´ ulyoz´as bin´aris, 168 TF, 168 TFIDF, 168, 189 SVD l´asd szingul´aris ´ert´ekfelbont´as 169 SVM, 174 sz´ofa, 31, 66 l´ancolt list´as implement´aci´o, 32 nyesett, 33 t´abl´azatos implement´aci´o, 32 szabatoss´ag, 175 szavaz´asos oszt´alyoz´as, 174 szerkeszt´esi t´avols´ag, 42 szerkeszt´esi elv, 190 szesz´elyes sztochasztikus sz¨orf¨ol˝o, 205 szingul´aris felbont´as, 54 szingul´aris ´ert´ekfelbont´as (SVD), 169, 192 sz´o–dokumentum m´atrix, 168 sz´ofajc´ımk´ez˝o, 197 sz´ot´ar, 167 m´erete, 168 m´eret´enek cs¨okkent´ese, 168 kategoriz´al´asn´al, 169 sz´ot¨ovez˝o, 167, 197 sz¨ovegb´any´aszat ´altal´anos modellje, 166 defin´ıci´o, 165
265 sz¨ovegek kategoriz´al´asa, 170 sz¨oveges inform´aci´ok vizualiz´al´asa, 196 sz¨ovegoszt´alyoz´as, 170 hierarchikus, 177 sz¨ovegoszt´alyoz´o bizotts´ag, 174 d¨ont´esi fa alap´ u, 172 HITEC, 178 legk¨ozelebbi szomsz´edokon alapul´o, 172 naiv Bayes-m´odszer, 171, 177 neur´alis h´al´ozat alap´ u, 173 SVM, 174 szavaz´asos, 174 sztochasztikus sz¨orf¨ol˝o, 203 szuperkulcs, 265 t´amogatotts´agi f¨ uggv´eny, 216 t´amogatotts´agi k¨ usz¨ob, 60, 216 TANE, 264 tanul´as fel¨ ugyelet n´elk¨ uli, 181 fel¨ ugyelt, 171 tanul´asi r´ata, 173 tanul´ohalmaz, 171 taxon´omia, 101 taxon´omia, 170, 177, 181 tekint´elylapok, 206 teljes rendez´es, 23 t´emak¨ovet´es, 195 teszthalmaz, 171 tesztkorpuszok sz¨ovegszo2vegklaszterezeshez, 184 sz¨ovegoszt´alyoz´ashoz, 198 TID-halmaz, 76 token, 167 tranzakci´o, 60 u ´ jraparametriz´al´as, 169 univerz´alisan n´epszer˝ u lapok, 207 UPGMA m´odszer, 183 valid´aci´os halmaz, 171 vari´ans hasonl´os´ag, 39 vektort´er-modell, 167 Ward m´odszer, 159 Webes adatb´any´aszat, 201
´ ´ TARGYMUTAT O weka Associate f¨ ul, 92 Classify f¨ ul, 108 Arff form´atum, 38 sparse arff form´atum, 38 weka.associations.Apriori, 64, 104 weka.associations Apriori, 100 Conviction, 100 Leverage, 100 weka.classifiers Classifier evaluation options, 142, 144 Classifier output, 143 functions.LinearRegression, 131 functions.MultilayerPerceptron, 134 functions.SimpleLinearRegression, 131 functions.Winnow, 112 lazy.IB1, 116 lazy.IBk, 116 Result list panel, 122 rules.OneR, 120 rules.Prism, 121 rules.ZeroR, 120 Test options panel, 139, 142 trees csomag, 122 trees.Id3, 126 trees.J48, 129 trees.UserClassifier, 125 weka.clusterers DBScan, 163 SimpleKMeans, 156 weka.filters.supervised attribute.Discretize, 47 instance.Resample, 53 instance.SpreadSubsample, 53 instance.StratifiedRemoveFolds, 53 weka.filters.unsupervised attribute.Add, 44 attribute.AddExpression, 44 attribute.AddID, 44 attribute.AddNoise, 46 attribute.Center, 48 attribute.ChangeDateFormat, 38 attribute.Copy, 44 attribute.Discretize, 46
266 attribute.FirstOrder, 44 attribute.InterquartileRange, 45 attribute.MathExpression, 44 attribute.MergeTwoValues, 38 attribute.NominalToBinary, 38, 104 attribute.Normalize, 48 attribute.NumericCleaner, 45 attribute.NumericToNominal, 38 attribute.NumericTransform, 44 attribute.Obfuscate, 46 attribute.PKIDiscretize, 46 attribute.PrincipalComponents, 57 attribute.Remove, 45 attribute.RemoveType, 45 attribute.RemoveUseless, 45 attribute.ReplaceMissingValues, 43 attribute.Standardize, 48 instance.RemoveFolds, 53 instance.RemoveMisclassified, 45 instance.RemovePercentage, 53 instance.RemoveWithValues, 45 instance.Resample, 53 instance.ReservoirSample, 53 Winnow, 173 kiegyens´ ulyozott, 173 z´art elemhalmaz, 86 zs´akutca probl´ema, 204
Irodalomjegyz´ ek [1] Pieter Adriaans – Dolf Zantinge: Adatb´any´aszat. Budapest, 2002, Panem Kiad´o. [2] Ramesh C. Agarwal – Charu C. Aggarwal – V. V. V. Prasad: A tree projection algorithm for generation of frequent item sets. Journal of Parallel and Distributed Computing, 61. ´evf. (2001) 3. sz. URL http://citeseer.nj.nec.com/agarwal99tree.html. [3] Rakesh Agrawal – Tomasz Imielinski – Arun N. Swami: Mining association rules between sets of items in large databases. In Peter Buneman – Sushil Jajodia (szerk.) : Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (konferenciaanyag). Washington, D.C., 1993. 26-28, 207–216. p. URL http://citeseer.nj.nec.com/agrawal93mining.html. [4] Rakesh Agrawal – Heikki Mannila – Ramakrishnan Srikant – Hannu Toivonen – A. Inkeri Verkamo : Fast discovery of association rules. In Advances in Knowledge Discovery and Data Mining (konferenciaanyag). 1996, 307–328. p. [5] Rakesh Agrawal – Ramakrishnan Srikant : Fast algorithms for mining association rules. In Jorge B. Bocca – Matthias Jarke – Carlo Zaniolo (szerk.) : Proceedings of the 20th International Conference Very Large Data Bases, VLDB (konferenciaanyag). 1994. 12-15, Morgan Kaufmann, 487–499. p. ISBN 1-55860-153-8. URL http://citeseer.nj.nec.com/agrawal94fast.html. [6] Rakesh Agrawal – Ramakrishnan Srikant : Mining sequential patterns. In Philip S. Yu – Arbee L. P. Chen (szerk.) : Proceedings of the 11th International Conference on Data Engineering, ICDE (konferenciaanyag). 1995. 6-10, IEEE Computer Society, 3–14. p. ISBN 0-8186-6910-1. URL http://citeseer.nj.nec.com/agrawal95mining.html. [7] R´enyi Alfr´ed: Val´osz´ın˝ us´egsz´am´ıt´as. 1968, Tank¨onyvkiad´o. [8] Brian Amento – Loren G. Terveen – William C. Hill: Does authority” mean quality? pre” dicting expert quality ratings of web documents. In Research and Development in Information Retrieval (konferenciaanyag). 2000, 296–303. p. URL http://citeseer.nj.nec.com/417258.html. [9] Amihood Amir – Ronen Feldman – Reuven Kashi: A new and versatile method for association generation. In Principles of Data Mining and Knowledge Discovery (konferenciaanyag). 1997, 221–231. p. URL http://citeseer.nj.nec.com/amir97new.html. [10] Franz Aurenhammer : Voronoi diagrams—a survey of a fundamental geometric data structure. ACM Comput. Surv., 23. ´evf. (1991) 3. sz. ISSN 0360-0300. 267
´ IRODALOMJEGYZEK
268
[11] Necip Fazil Ayan – Abdullah Uz Tansel – M. Erol Arkun: An efficient algorithm to update large itemsets with early pruning. In Knowledge Discovery and Data Mining (konferenciaanyag). 1999, 287–291. p. URL http://citeseer.nj.nec.com/ayan99efficient.html. [12] Yves Bastide – Rafik Taouil – Nicolas Pasquier – Gerd Stumme – Lotfi Lakhal: Mining frequent patterns with counting inference. SIGKDD Explor. Newsl., 2. ´evf. (2000) 2. sz. [13] Jon Louis Bentley: Multidimensional binary search trees used for associative searching. Commun. ACM, 18. ´evf. (1975) 9. sz. ISSN 0001-0782. [14] B. Berendt – B. Mobasher – M. Spiliopoulou – J. Wiltshire:. Measuring the accuracy of sessionizers for web usage analysis, 2001. URL http://citeseer.nj.nec.com/berendt01measuring.html. [15] Alina Beygelzimer – Sham Kakade – John Langford: Cover trees for nearest neighbor. In ICML ’06 : Proceedings of the 23rd international conference on Machine learning (konferenciaanyag). New York, NY, USA, 2006, ACM, 97–104. p. ISBN 1-59593-383-2. [16] Krishna Bharat – Monika Rauch Henzinger : Improved algorithms for topic distillation in a hyperlinked environment. In Research and Development in Information Retrieval (konferenciaanyag). 1998, 104–111. p. URL http://citeseer.nj.nec.com/bharat98improved.html. [17] Ferenc Bodon: A fast apriori implementation. In Bart Goethals – Mohammed J. Zaki (szerk.) : Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations (FIMI’03), CEUR Workshop Proceedings konferenciasorozat, 90. k¨ot. Melbourne, Florida, USA, 2003. November 19.. [18] Richard J. Bolton – David J. Hand: Significance tests for patterns in continuous data. In Proceedings of the 2001 IEEE International Conference on Data Mining (ICDE) (konferenciaanyag). 2001. [19] Christian Borgelt : Efficient implementations of apriori and eclat. In Bart Goethals – Mohammed J. Zaki (szerk.) : Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations (FIMI’03), CEUR Workshop Proceedings konferenciasorozat, 90. k¨ot. Melbourne, Florida, USA, 2003. [20] Christian Borgelt – Rudolf Kruse: Induction of association rules: Apriori implementation. In Proceedings of the 15th Conference on Computational Statistics (Compstat 2002, Berlin, Germany) (konferenciaanyag). Heidelberg, Germany, 2002, Physika Verlag. [21] Leo Breiman – Jerome Friedman – Charles J. Stone – R. A. Olshen: Classification and Regression Trees. 1984. January, Chapman & Hall/CRC. ISBN 0412048418. [22] Sergey Brin – Rajeev Motwani – Jeffrey D. Ullman – Shalom Tsur : Dynamic itemset counting and implication rules for market basket data. SIGMOD Record (ACM Special Interest Group on Management of Data), 26(2) :255, 1997.
´ IRODALOMJEGYZEK
269
[23] Sergey Brin – Lawrence Page: The anatomy of a large-scale hypertextual Web search engine. Computer Networks and ISDN Systems, 30. ´evf. (1998) 1–7. sz. URL http://citeseer.nj.nec.com/brin98anatomy.html. [24] Douglas Burdick – Manuel Calimlim – Johannes Gehrke: Mafia : A maximal frequent itemset algorithm for transactional databases. In Proceedings of the 17th International Conference on Data Engineering (konferenciaanyag). Heidelberg, Germany, 2001, IEEE Computer Society, 443–452. p. ISBN 0-7695-1001-9. [25] Kriszti´an Antal B´ uza : Egyszer˝ u asszoci´aci´os szab´alyok jelens´egh´al´ozatokkal t´amogatott ” keres´ese”. Doktori ´ertekez´es (Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem, Hungary). 2007. [26] Jadzia Cendrowska : Prism: An algorithm for inducing modular rules. International Journal of Man-Machine Studies, 27. ´evf. (1987) 4. sz. [27] Soumen Chakrabarti – Byron Dom – Prabhakar Raghavan – Sridhar Rajagopalan – David Gibson – Jon Kleinberg : Automatic resource compilation by analyzing hyperlink structure and associated text. Computer Networks and ISDN Systems, 30. ´evf. (1998) 1–7. sz. URL http://citeseer.nj.nec.com/chakrabarti98automatic.html. [28] Pete Chapman – Julian Clinton – Randy Kerber – Thomas Khabaza Thomas Reinartz – Colin Shearer – R¨ udiger Wirth: Cross industry standard process for data mining (crisp-dm) – step by step data mining guide. Jelent´es, 1999. [29] David Wai-Lok Cheung – Jiawei Han – Vincent Ng – C. Y. Wong: Maintenance of discovered association rules in large databases: An incremental updating technique. In ICDE (konferenciaanyag). 1996, 106–114. p. URL http://citeseer.nj.nec.com/cheung96maintenance.html. [30] David Wai-Lok Cheung – Sau Dan Lee – Ben Kao : A general incremental technique for maintaining discovered association rules. In Database Systems for Advanced Applications (konferenciaanyag). 1997, 185–194. p. URL http://citeseer.nj.nec.com/cheung97general.html. [31] Robert Cooley – Bamshad Mobasher – Jaideep Srivastava : Data preparation for mining world wide web browsing patterns. Knowledge and Information Systems, 1. ´evf. (1999) 1. sz. URL http://citeseer.nj.nec.com/cooley99data.html. [32] Thomas M. Cover – Joy A. Thomas: Elements of Information Theory. Wiley Series in Telecommunications sorozat. 1991, John Wiley & Sons, Inc. [33] R. de la Briandais: File searching using variable-length keys. In Western Joint Computer Conference (konferenciaanyag). 1959. March, 295–298. p. [34] T. G. Dietterich – M. Kearns – Y. Mansour : Applying the Weak Learning Framework to Understand and Improve C4.5. In L. Saitta (szerk.) : Proceedings of the 13th International Conference on Machine Learning, ICML’96 (konferenciaanyag). San Francisco, CA, 1996, Morgan Kaufmann, 96–104. p.
´ IRODALOMJEGYZEK
270
[35] Margaret H. Dunham: Data Mining : Introductory and Advanced Topics. Upper Saddle River, NJ, USA, 2002, Prentice Hall PTR. ISBN 0130888923. [36] Herb Edelstein: Mining large databases – a case study. Jelent´es, 1999, Two Crows Corporation. [37] M. Ester – H.-P. Kriegel – X. Xu.: A database interface for clustering in large spatial databases. In Proceedings of the Knowledge Discovery and Data Mining Conference, Montreal, Canada (konferenciaanyag). 1995, 94–99. p. [38] Martin Ester – Hans-Peter Kriegel – Jorg Sander – Xiaowei Xu: A density-based algorithm for discovering clusters in large spatial databases with noise. In Evangelos Simoudis – Jiawei Han – Usama Fayyad (szerk.) : Second International Conference on Knowledge Discovery and Data Mining (konferenciaanyag). Portland, Oregon, 1996, AAAI Press, 226–231. p. URL http://citeseer.nj.nec.com/chu02incremental.html. [39] Usama M. Fayyad – Gregory Piatetsky-Shapiro – Padhraic Smyth: From data mining to knowledge discovery: An overview. In Advances in Knowledge Discovery and Data Mining. 1996, AAAI Press/The MIT Pres, 1–34. p. [40] William Feller : Bevezet´es a Val´osz´ın˝ us´egsz´am´ıt´asba ´es Alkalmaz´asaiba. 1978, M˝ uszaki K¨onyvkiad´o. [41] Bodon Ferenc: Hash-f´ak ´es sz´of´ak az adatb´any´aszatban. Alkalmazott Matematikai Lapok, 21. ´evf. (2003). [42] E. W. Forgy: Cluster analysis of multivariate data : Efficiency versus interpretability of classifications. Biometric Soc. Meetings, Riverside, California, 21. ´evf. (1965). [43] Scott Fortin – Ling Liu: An object-oriented approach to multi-level association rule mining. In CIKM (konferenciaanyag). 1996, 65–72. p. [44] Edward Fredkin: Trie memory. Communications of the ACM, 3. ´evf. (1960) 9. sz. ISSN 0001-0782. [45] Y. Fu:. Discovery of multiple-level rules from large databases, 1996. URL http://citeseer.nj.nec.com/fu96discovery.html. [46] Iv´an Fut´o (szerk.) : Mesters´eges Intelligencia. Budapest, 1999, Aula Kiad´o. [47] S.B. Gelfand – C.S. Ravishankar – E.J. Delp: An iterative growing and pruning algorithm for classification tree design. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13. ´evf. (1991) 2. sz. ISSN 0162-8828. [48] Bart Goethals: Survey on frequent pattern mining. 2002. Manuskript. [49] Bart Goethals – Mohammed J. Zaki: Advances in frequent itemset mining implementations: Introduction to fimi03. In Bart Goethals – Mohammed J. Zaki (szerk.) : Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations (FIMI’03), CEUR Workshop Proceedings konferenciasorozat, 90. k¨ot. Melbourne, Florida, USA, 2003. November 19..
´ IRODALOMJEGYZEK
271
[50] Gosta Grahne – Jianfei Zhu: Efficiently using prefix-trees in mining frequent itemsets. In Bart Goethals – Mohammed J. Zaki (szerk.) : Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations (FIMI’03), CEUR Workshop Proceedings konferenciasorozat, 90. k¨ot. Melbourne, Florida, USA, 2003. November 19.. [51] Sudipto Guha – Rajeev Rastogi – Kyuseok Shim: CURE: an efficient clustering algorithm for large databases. In ACM SIGMOD International Conference on Management of Data (konferenciaanyag). 1998. June, 73–84. p. URL http://citeseer.nj.nec.com/article/guha98cure.html. [52] Torben Hagerup – C. R¨ ub: A guided tour of chernoff bounds. Inf. Process. Lett., 33. ´evf. (1990) 6. sz. ISSN 0020-0190. [53] J. Han – Y. Fu: Discovery of multiple-level association rules from large databases. Proceedings of the 21st International Conference on Very Large Databases (VLDB), Zurich, Switzerland, 1995. ´ ´ [54] Jiawei Han – Micheline Kamber : ADATBANY ASZAT - Koncepci´ok ´es technik´ak. 2004, Panem K¨onyvkiad´o. [55] Jiawei Han – Micheline Kamber : Data mining : concepts and techniques (Second Edition). 2006, Morgan Kaufmann Publisher. [56] Jiawei Han – Jian Pei – Yiwen Yin: Mining frequent patterns without candidate generation. In Weidong Chen – Jeffrey Naughton – Philip A. Bernstein (szerk.) : 2000 ACM SIGMOD International Conference on Management of Data (konferenciaanyag). 2000. 05, ACM Press, 1–12. p. ISBN 1-58113-218-2. URL http://citeseer.nj.nec.com/han99mining.html. [57] Trevor Hastie – Robert Tibshirani – Jerome Friedman: The Elements of Statistical Learning : Data Mining, Inference and Prediction. 2001, Springer-Verlag. [58] K. Hatonen – Mika Klemettinen – Heikki Mannila – P. Ronkainen – Hannu Toivonen: Knowledge discovery from telecommunication network alarm databases. In Stanley Y. W. Su (szerk.) : Proceedings of the twelfth International Conference on Data Engineering, February 26–March 1, 1996, New Orleans, Louisiana (konferenciaanyag). 1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA, 1996, IEEE Computer Society Press, 115–122. p. URL http://citeseer.nj.nec.com/hatonen96knowledge.html. [59] Robert C. Holte: Very simple classification rules perform well on most commonly used datasets. Mach. Learn., 11. ´evf. (1993) 1. sz. ISSN 0885-6125. [60] Maurice Houtsma – Arun Swami:. Set-oriented mining of association rules, 1993. [61] D. A. Hull: Improving text retrieval for the routing problem using latent semantic indexing. In Proc. of SIGIR-94, 17th ACM Int. Conf. on Research and Development in Information Retrieval (konferenciaanyag). Dublin, Ireland, 1994, 282–289. p. [62] Index.hu:. R´akkelt˝o anyagok a mcdonaldsban ´es burger kingben. URL http://index.hu/gazdasag/vilag/mcrak060929.
´ IRODALOMJEGYZEK
272
[63] Akihiro Inokuchi – Takashi Washio – Hiroshi Motoda : An apriori-based algorithm for mining frequent substructures from graph data. In Proceedings of the 4th European Conference on Principles of Data Mining and Knowledge Discovery (konferenciaanyag). 2000, Springer-Verlag, 13–23. p. ISBN 3-540-41066-X. [64] Akihiro Inokuchi – Takashi Washio – Nishimura Yoshio – Hiroshi Motoda : A fast algorithm for mining frequent connected graphs,. Jelent´es, 2002, IBM research, Tokyo Research Laboratory. [65] Fazekas Istv´an: Bevezet´es a matematikai statisztik´aba. 2000, Debreceni Egyetem Kossuth Egyetemi Kiad´oja. [66] R. C. Jancey: Multidimensional group analysis. Austral. J. Botany, 14. ´evf. (1966). [67] Dr. Abonyi J´anos: Adatb´any´aszat a hat´ekonys´ag eszk¨oze. Budapest, 2006, Computerbooks. [68] Richard A. Johnson – Dean W. Wichern: Applied Multivariate Statistical Analysis. Fifth. kiad. Upper Saddle River, NJ, 2002, Prentice-Hall. [69] Ravi Kannan – Santosh Vempala – Adrian Vetta : On clusterings: Good, bad and spectral. In Proceedings of the 41th Annual Symposium on Fundations of Computer Science (konferenciaanyag). 2000. URL http://citeseer.nj.nec.com/495691.html. [70] O. Kariv – S.L.Hakimi: An algorithmic approach to network location problems, part ii: p-medians. SIAM J. Appl. Math., 37. ´evf. (1979). [71] L. Kaufman – P.J. Rousseeuw: Finding Groups in Data : an Introduction to Cluster Analysis. 1990, John Wiley & Sons. [72] Michael Kearns – Yishay Mansour : On the boosting ability of top-down decision tree learning algorithms. In STOC ’96 : Proceedings of the twenty-eighth annual ACM symposium on Theory of computing (konferenciaanyag). New York, NY, USA, 1996, ACM Press, 459–468. p. ISBN 0-89791-785-5. [73] Ashraf M. Kibriya – Eibe Frank: An empirical comparison of exact nearest neighbour algorithms. In Proc 11th European Conference on Principles and Practice of Knowledge Discovery in Databases, Warsaw, Poland konferenciasorozat. 2007, Springer, 140–151. p. [74] Jon Kleinberg : An impossibility theorem for clustering. Advances in Neural Information Processing Systems (NIPS) 15, 2002. URL http://citeseer.nj.nec.com/561287.html. [75] Jon M. Kleinberg : Authoritative sources in a hyperlinked environment. Journal of the ACM, 46. ´evf. (1999) 5. sz. URL http://citeseer.nj.nec.com/kleinberg97authoritative.html. [76] Mika Klemettinen:. A knowledge discovery methodology for telecommunication network alarm databases, 1999. URL http://citeseer.nj.nec.com/klemettinen99knowledge.html.
´ IRODALOMJEGYZEK
273
[77] Ron Kohavi: Mining e-commerce data : The good, the bad, and the ugly. In Foster Provost – Ramakrishnan Srikant (szerk.) : Proceedings of the Seventh ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (konferenciaanyag). 2001, 8–13. p. URL http://citeseer.nj.nec.com/kohavi01mining.html. [78] Michihiro Kuramochi – George Karypis: Frequent subgraph discovery. In Proceedings of the 2001 IEEE International Conference on Data Mining (konferenciaanyag). 2001, IEEE Computer Society, 313–320. p. ISBN 0-7695-1119-8. [79] R´onyai Lajos – Ivanyos G´abor – Szab´o R´eka : Algoritmusok. 1998, Typotex Kiad´o. [80] Nada Lavrac – Dragan Gamberger – Hendrik Blockeel – Ljupco Todorovski (szerk.). ExAnte : Anticipated Data Reduction in Constrained Pattern Mining, Lecture Notes in Computer Science konferenciasorozat, 2838. k¨ot. Springer, 2003. ISBN 3-540-20085-1. [81] Wenke Lee – Salvatore Stolfo : Data mining approaches for intrusion detection. In Proceedings of the 7th USENIX Security Symposium (konferenciaanyag). San Antonio, TX, 1998. URL http://citeseer.nj.nec.com/article/lee00data.html. [82] Wenke Lee – Salvatore J. Stolfo : A framework for constructing features and models for intrusion detection systems. ACM Transactions on Information and System Security, 3. ´evf. (2000) 4. sz. URL http://citeseer.nj.nec.com/article/lee00framework.html. [83] Wenke Lee – Salvatore J. Stolfo – Kui W. Mok: A data mining framework for building intrusion detection models. In IEEE Symposium on Security and Privacy (konferenciaanyag). 1999, 120–132. p. URL http://citeseer.nj.nec.com/article/lee99data.html. [84] R. Lempel – S. Moran: The stochastic approach for link-structure analysis (SALSA) and the TKC effect. In WWW9 (konferenciaanyag). 2000. URL http://citeseer.nj.nec.com/346353.html. [85] Bodrogi Lilla :. Legintimebb titkunk: a saj´at genetikai ´allom´anyunk, 2007. URL http://www.origo.hu/tudomany/20070919−egyedi−emberi−genetikai− −allomany−genom−elemzese−eloszor.html. [86] Heikki Mannila – Hannu Toivonen: Discovering generalized episodes using minimal occurrences. In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD’96) (konferenciaanyag). 1996. August, AAAI Press, 146–151. p. URL http://citeseer.nj.nec.com/mannila96discovering.html. [87] Heikki Mannila – Hannu Toivonen – A. Inkeri Verkamo : Discovering frequent episodes in sequences. In Proceedings of the First International Conference on Knowledge Discovery and Data Mining (KDD’95) (konferenciaanyag). 1995. August, AAAI Press, 210–215. p. [88] Heikki Mannila – Hannu Toivonen – A. Inkeri Verkamo : Discovery of frequent episodes in event sequences. Data Mining and Knowledge Discovery, 1. ´evf. (1997) 3. sz. ISSN 1384-5810. URL http://citeseer.nj.nec.com/mannila97discovery.html.
´ IRODALOMJEGYZEK
274
[89] Heikki Mannila – Hannu Toivonen – A. Inkeri Verkamo : Efficient algorithms for discovering association rules. In Usama M. Fayyad – Ramasamy Uthurusamy (szerk.) : AAAI Workshop on Knowledge Discovery in Databases(KDD-94) (konferenciaanyag). Seattle, Washington, 1994, AAAI Press, 181–192. p. URL http://citeseer.nj.nec.com/mannila94efficient.html. [90] R. L´opez De M´antaras: A distance-based attribute selection measure for decision tree induction. Mach. Learn., 6. ´evf. (1991) 1. sz. ISSN 0885-6125. [91] Brendan D. McKay: Practical graph isomorphism. Congressus Numerantium, 30. ´evf. (1981). URL http://cs.anu.edu.au/people/bdm/nauty/. [92] N. Megiddo – K.Supowitz: On the complexity of some common geometric location problems. SIAM J. Comput., 1984. [93] Jesus Mena : Data Mining und E-Commerce. D¨ usseldorf, 2000, Symposion Publishing. URL http://www.symposion.de/datamining. [94] Ulrich Meyer – Peter Sanders – Jop F. Sibeyn (szerk.). Algorithms for Memory Hierarchies, Advanced Lectures [Dagstuhl Research Seminar, March 10-14, 2002], Lecture Notes in Computer Science konferenciasorozat, 2625. k¨ot. Springer, 2003. ISBN 3-540-00883-7. [95] Dunja Mladenic – NADA Lavrac – Marko Bohanec – Steve Moyle: Data Mining and Decision Support: Integration and Collaboration. 2003, Kluwer Academic Publishers. [96] Andreas Mueller : Fast sequential and parallel algorithms for association rule mining : A comparison. CS-TR-3515. Jelent´es, College Park, MD, 1995, Departure of Computer Science, University of Maryland. URL http://citeseer.nj.nec.com/mueller95fast.html. [97] Raymond T. Ng – Jiawei Han: Efficient and effective clustering methods for spatial data mining. In Jorge B. Bocca – Matthias Jarke – Carlo Zaniolo (szerk.) : Proceedings of the 20th International Conference Very Large Data Bases, VLDB (konferenciaanyag). 1994. 12-15, Morgan Kaufmann, 144–155. p. ISBN 1-55860-153-8. URL http://citeseer.nj.nec.com/571734.html. [98] Edward Omiecinski – Ashoka Savasere: Efficient mining of association rules in large dynamic databases. In British National Conference on Databases (konferenciaanyag). 1998, 49–63. p. [99] Stephen M. Omohundro : Five balltree construction algorithms. Jelent´es, 1989. December, International Computer Science Institute. [100] Stif´an Orsolya : Adatb´any´aszat ´es adatv´edelem. In Dr. Sz´ekely Iv´an – Dr. Szab´o M´at´e (szerk.) : Szabad adatok, v´edett adatok. ALMA MATER sorozat, 10. k¨ot. Budapest, 2005, BME GTK ITM, 169–196. p. [101] Banu Ozden – Sridhar Ramaswamy – Abraham Silberschatz: Cyclic association rules. In ICDE (konferenciaanyag). 1998, 412–421. p. URL http://citeseer.nj.nec.com/ozden98cyclic.html.
´ IRODALOMJEGYZEK
275
[102] Lawrence Page – Sergey Brin – Rajeev Motwani – Terry Winograd: The pagerank citation ranking : Bringing order to the web. Jelent´es, 1998, Stanford Digital Library Technologies Project. URL http://citeseer.nj.nec.com/page98pagerank.html. [103] Jong Soo Park – Ming-Syan Chen – Philip S. Yu: An effective hash based algorithm for mining association rules. In Michael J. Carey – Donovan A. Schneider (szerk.) : Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data (konferenciaanyag). San Jose, California, 1995. 22-25, 175–186. p. URL http://citeseer.nj.nec.com/park95effective.html. [104] N. Pasquier – Y. Bastide – R. Taouil – L. Lakhal: Pruning closed itemset lattices for association rules. In Proceedings of the BDA French Conference on Advanced Databases (konferenciaanyag). 1998. October. URL http://citeseer.nj.nec.com/pasquier98pruning.html. [105] N. Pasquier – Y. Bastide – R. Taouil – L. Lakhal: Efficient mining of association rules using closed itemset lattices. In Journal of Information systems (konferenciaanyag). 1999, 25– 46. p. [106] Nicolas Pasquier – Yves Bastide – Rafik Taouil – Lotfi Lakhal: Discovering frequent closed itemsets for association rules. In ICDT (konferenciaanyag). 1999, 398–416. p. URL http: ://citeseer.nj.nec.com/pasquier99discovering.html. [107] Jian Pei – Jiawei Han – Laks V. S. Lakshmanan: Mining frequent item sets with convertible constraints. In ICDE (konferenciaanyag). 2001, 433–442. p. URL http://citeseer.ist.psu.edu/383962.html. [108] Jian Pei – Jiawei Han – Runying Mao : CLOSET: An efficient algorithm for mining frequent closed itemsets. In ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery (konferenciaanyag). 2000, 21–30. p. URL http://citeseer.nj.nec.com/pei00closet.html. [109] Wim Pijls – Jan C. Bioch: Mining frequent itemsets in memory-resident databases. In Proceedings of the Eleventh Belgium /Netherlands Articial Intelligence Conference (BNAIC 99) (konferenciaanyag). 1999, 75–82. p. URL http://citeseer.nj.nec.com/pijls99mining.html. [110] Jim Porter : Disk/trend report. In Proceedings of the 100th Anniversary Conference on Magnetic Recording and Information Storage. Santa Clara Univerity, 1998. [111] J. R. Quinlan: Induction of decision trees. Mach. Learn., 1. ´evf. 1. sz. ISSN 0885-6125. [112] J. R. Quinlan: Simplifying decision trees. Int. J. Man-Mach. Stud., 27. ´evf. (1987) 3. sz. ISSN 0020-7373. [113] J. Ross Quinlan: C4.5 : programs for machine learning. San Francisco, CA, USA, 1993, Morgan Kaufmann Publishers Inc. ISBN 1-55860-238-0. [114] T. R. C. Read – N. A. C. Cressie: Goodness-of-Fit Statistics for Discrete Multivariate Data. Springer Series in Statistics sorozat. New York, 1988, Springer-Verlag.
´ IRODALOMJEGYZEK
276
[115] P´al R´ozsa : Line´aris algebra ´es alkalmaz´asai. 1991, Tank¨onyvkiad´o, Budapest. [116] S. Sahni – T. Gonzales: P-complete approxiamtion problems. JACM, 23. ´evf. (1976). [117] Nandlal L. Sarda – N. V. Srinivas: An adaptive algorithm for incremental mining of association rules. In DEXA Workshop (konferenciaanyag). 1998, 240–245. p. [118] Ashoka Savasere – Edward Omiecinski – Shamkant B. Navathe: An efficient algorithm for mining association rules in large databases. In The VLDB Journal (konferenciaanyag). 1995, 432–444. p. URL http://citeseer.nj.nec.com/sarasere95efficient.html. [119] R. E. Schapire – Y. Singer – A. Singhal: Boosting and Rocchio applied to text filtering. In Proc. of SIGIR-98, 21st ACM International Conference on Research and Development in Information Retrieval (konferenciaanyag). Melbourne, Australia, 1998, 215–223. p. [120] Matthew G. Schultz – Eleazar Eskin – Salvatore J. Stolfo :. Mef : Malicious email filter - a unix mail filter that detects malicious windows executables. URL http://citeseer.nj.nec.com/417909.html. [121] Matthew G. Schultz – Eleazar Eskin – Erez Zadok – Salvatore J. Stolfo :. Data mining methods for detection of new malicious executables. URL http://citeseer.nj.nec.com/417492.html. [122] F. Sebastiani: Machine learning in automated text categorization. ACM Computing Surveys, 34. ´evf. (2002. March) 1. sz. [123] Dennis G. Severance: Identifier search mechanisms: A survey and generalized model. ACM Comput. Surv., 6. ´evf. (1974) 3. sz. ISSN 0360-0300. [124] Ron Shamir – Dekel Tsur : Faster subtree isomorphism. Journal of Algorithms, 33. ´evf. (1999) 2. sz. ISSN 0196-6774. [125] Li Shen – Hong Shen: Mining flexible multiple-level association rules in all concept hierarchies (extended abstract). In Database and Expert Systems Applications (konferenciaanyag). 1998, 786–795. p. [126] Y.-S. Shih: Families of splitting criteria for classification trees. Statistics and Computing, 9. ´evf. (1999) 4. sz. ISSN 0960-3174. [127] Abraham Silberschatz – Alexander Tuzhilin: On subjective measures of interestingness in knowledge discovery. In Knowledge Discovery and Data Mining (konferenciaanyag). 1995, 275–281. p. URL http://citeseer.nj.nec.com/silberschatz95subjective.html. [128] Spencer : The probabilistic method. In SODA: ACM-SIAM Symposium on Discrete Algorithms (A Conference on Theoretical and Experimental Analysis of Discrete Algorithms) (konferenciaanyag). 1992. [129] Ramakrishnan Srikant – Rakesh Agrawal: Mining generalized association rules. Proceedings of the 21st International Conference on Very Large Databases (VLDB), Zurich, Switzerland, 1995.
´ IRODALOMJEGYZEK
277
[130] Ramakrishnan Srikant – Rakesh Agrawal: Mining sequential patterns: Generalizations and performance improvements. In Peter M. G. Apers – Mokrane Bouzeghoub – Georges Gardarin (szerk.) : Proceedings of 5th International Conference Extending Database Technology, EDBT (konferenciaanyag), 1057. k¨ot. 1996. 25-29, Springer-Verlag, 3–17. p. ISBN 3-540-61057-X. URL http://citeseer.nj.nec.com/article/srikant96mining.html. ´ [131] T-Online:. Altal´ anos szerz˝od´esi felt´etelek, 2006. URL http://www.t−online.hu/dokumentumok/toh_aszf_060331.pdf. [132] Lyn C. Thomas: A survey of credit and behavioural scoring ; forecasting financial risk of lending to consumers. International Journal of Forecasting 16, 2000. [133] Lyn C. Thomas: A survey of credit and behavioural scoring ; forecasting financial risk of lending to consumers. International Journal of Forecasting, 16. ´evf. (2000). [134] Shiby Thomas – Sreenath Bodagala – Khaled Alsabti – Sanjay Ranka : An efficient algorithm for the incremental updation of association rules in large databases. In Knowledge Discovery and Data Mining (konferenciaanyag). 1997, 263–266. p. URL http://citeseer.nj.nec.com/thomas97efficient.html. [135] Shiby Thomas – Sunita Sarawagi: Mining generalized association rules and sequential patterns using SQL queries. In Knowledge Discovery and Data Mining (konferenciaanyag). 1998, 344–348. p. URL http://citeseer.nj.nec.com/thomas98mining.html. [136] Hannu Toivonen: Sampling large databases for association rules. In The VLDB Journal (konferenciaanyag). 1996, 134–145. p. URL http://citeseer.nj.nec.com/toivonen96sampling.html. [137] Jeffrey K. Uhlmann: Satisfying general proximity/similarity queries with metric trees. Inf. Process. Lett., 40. ´evf. (1991) 4. sz. [138] J. R. Ullmann: An algorithm for subgraph isomorphism. J. ACM, 23. ´evf. (1976) 1. sz. ISSN 0004-5411. [139] John von Neumann:. First draft of a report on the EDVAC. Contract No. W–670–ORD– 4926 Between the United States Army Ordnance Department and the University of Pennsylvania, 1945. j´ unius. URL http://qss.stanford.edu/\~ {}godfrey/vonNeumann/vnedvac.pdf. [140] Jianyong Wang – Jiawei Han – Jian Pei: Closet+ : Searching for the best strategies for mining frequent closed itemsets. In In Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD’03) (konferenciaanyag). Washington, DC, USA, 2003. URL http://citeseer.nj.nec.com/wang03closet.html. [141] E. D. Wiener – J. O. Pedersen – A. S. Weigend: A neural network approach to topic spotting. In Proc. of the SDAIR-95, 4th Annual Symposium on Document Analysis and Information Retrieval (konferenciaanyag). Las Vegas, NV, 1995, 317–332. p.
´ IRODALOMJEGYZEK
278
[142] Ian H. Witten – Eibe Frank: Data Mining : Practical Machine Learning Tools and Techniques. Morgan Kaufmann Series in Data Management Sys sorozat. Second. kiad. 2005. June, Morgan Kaufmann. ISBN 0120884070. URL http://www.amazon.fr/exec/obidos/ASIN/0120884070/citeulike04−21. [143] Ying Yang – Geoffrey I. Webb: Proportional k-interval discretization for naive-bayes classifiers. In EMCL ’01 : Proceedings of the 12th European Conference on Machine Learning (konferenciaanyag). London, UK, 2001, Springer-Verlag, 564–575. p. ISBN 3-540-42536-5. [144] S. B. Yao : Tree structures construction using key densities. In Proceedings of the 1975 annual conference (konferenciaanyag). 1975, ACM Press, 337–342. p. [145] Mohammed J. Zaki: Efficiently mining frequent trees in a forest. Jelent´es, Troy, NY, 12180, 2001. July, Computer Science Department, Rensselaer Polytechnic Institute. [146] Mohammed J. Zaki: Efficiently mining frequent trees in a forest. In Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining (konferenciaanyag). 2002, ACM Press, 71–80. p. ISBN 1-58113-567-X. [147] Mohammed J. Zaki – Karam Gouda : Fast vertical mining using diffsets. In Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining (konferenciaanyag). 2003, ACM Press, 326–335. p. ISBN 1-58113-737-0. [148] Mohammed Javeed Zaki: Sequence mining in categorical domains: Incorporating constraints. In CIKM (konferenciaanyag). 2000, 422–429. p. URL http://citeseer.nj.nec.com/zaki00sequence.html. [149] Mohammed Javeed Zaki – Ching-Jui Hsiao : Charm: An efficient algorithm for closed itemset mining. In Proceedings of 2nd SIAM International Conference on Data Mining (konferenciaanyag). Arlington, VA, USA, 2002. [150] Mohammed Javeed Zaki – Mitsunori Ogihara : Theoretical foundations of association rules. In Proceedings of third SIGMOD’98 Workshop on Research Issues in Data Mining and Knowledge Discovery (DMKD’98) (konferenciaanyag). Seattle, Washington, 1998. URL http://citeseer.nj.nec.com/zaki98theoretical.html. [151] Mohammed Javeed Zaki – Srinivasan Parthasarathy – Mitsunori Ogihara – Wei Li: New algorithms for fast discovery of association rules. In David Heckerman – Heikki Mannila – Daryl Pregibon – Ramasamy Uthurusamy – Menlo Park (szerk.) : Proceedings of the third International Conference on Knowledge Discovery and Data Mining (konferenciaanyag). 1997. 12-15, AAAI Press, 283–296. p. ISBN 1-57735-027-8. URL http://http://citeseer.nj.nec.com/30063.html.