Adatb´any´aszati algoritmusok Dr. Bodon Ferenc 2009. febru´ar 22.
c 2002-2008 Dr. Bodon Ferenc Copyright Ezen dokumentum a Free Software Foundation a´ltal 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 o¨tletei´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 ´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, o¨tleteit, szeml´eletes p´eld´ait ´es a kidolgozott a´br´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 a´tn´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 ´ 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 . . . . . . . .
. . . . . . . .
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 ii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
. . . . . . . .
5 7 9 12 14 17 18 19 21
. . . . . . . . . . . . . . . . . . . . . . . .
23 23 25 25 26 26 26 26 26 27 27 28 28 29 29 29 30 31 31 31 31 33 33 33 34
2.9.2. Cs˝ovezet´ekes feldolgoz´as, el´agaz´as-el˝orejelz´es . . . . . . . . . . . . . . . . 34 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, o¨sszezagyv´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 . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
4. Gyakori elemhalmazok 4.1. A gyakori elemhalmaz fogalma . . . . . . . . . . . 4.2. Az Apriori algoritmus . . . . . . . . . . . . . . . 4.2.1. Jel¨oltek el˝oa´ll´ı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 . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
36 36 38 38 39 39 40 41 41 42 42 43 44 45 45 47 47 53
. . . . . . . . . . . . . . . . . . . . . . . .
60 60 64 65 65 69 69 69 70 71 73 74 78 80 80 80 84 85 85 85 85 86 87 88 88
4.9. T¨obbsz¨or¨os t´amogatotts´agi k¨ usz¨ob . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.9.1. MSApriori algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 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 a´ltal´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 . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
91 92 93 93 94 95 95 96 96 99 99 102 103 104 105 105 107 108 109
6. Oszt´ alyoz´ as 6.1. Bevezet´es . . . . . . . . . . . . . . . . . . . . 6.2. Az oszt´alyoz´as feladata . . . . . . . . . . . . . 6.3. k-legk¨ozelebbi szomsz´ed m´odszere . . . . . . . 6.3.1. Dimenzi´oa´tok - 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 . . . . 6.7.2. A d¨ont´esi fa el˝oa´ll´ıt´asa . . . . . . . . . 6.7.3. Az ID3 algoritmus . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
111 111 112 114 115 116 117 120 121 122 122 123 125 128 131 133 133 134 135 136 137 138 140
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
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 a´br´azol´asa . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.9. 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 o¨sszehasonl´ı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 . . . . . . . . . . . . . 8. Id˝ osorok elemz´ ese
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
141 141 143 144 146 146 146 147 148 150 151 151 151 151 151 153 154 154 155 157
. . . . . . . . . . . . . . . . . .
159 . 160 . 162 . 163 . 164 . 165 . 166 . 168 . 169 . 170 . 170 . 172 . 172 . 173 . 173 . 174 . 176 . 176 . 176 178
9. Sz¨ ovegb´ any´ aszat (Tikk Domonkos) 9.1. Dokumentumok el˝ofeldolgoz´asa . . . . . . . . . . . . . . . . . . 9.1.1. A dimenzi´osz´am cs¨okkent´ese . . . . . . . . . . . . . . . . 9.1.2. Hat´ekonys´ag m´er´ese . . . . . . . . . . . . . . . . . . . . 9.2. Oszt´alyoz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1. Oszt´alyoz´as struktur´alatlan kateg´ori´ak rendszer´ebe . . . 9.2.2. Hierarchikus oszt´alyoz´as . . . . . . . . . . . . . . . . . . 9.3. Dokumentumok csoportos´ıt´asa . . . . . . . . . . . . . . . . . . . 9.3.1. Sz¨ovegklaszterez´es jellemz˝o feladatai ´es probl´em´ai . . . . 9.3.2. Reprezent´aci´o . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3. Hat´ekonys´ag m´er´ese . . . . . . . . . . . . . . . . . . . . 9.3.4. Sz¨ovegklaszterez˝o elj´ar´asok . . . . . . . . . . . . . . . . . 9.3.5. Dokumentumgy˝ ujtem´enyek . . . . . . . . . . . . . . . . 9.4. Kivonatol´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1. Az o¨sszegz´esk´esz´ıt˝o elj´ar´asok feloszt´asa . . . . . . . . . . 9.4.2. A kivonatol´as hat´ekonys´ag´anak m´er´ese . . . . . . . . . . 9.4.3. Mondatkiv´alaszt´asn´al haszn´alt jellemz˝ok . . . . . . . . . 9.5. A legfontosabb kivonatol´o elj´ar´asok . . . . . . . . . . . . . . . . 9.5.1. A klasszikus m´odszer . . . . . . . . . . . . . . . . . . . . 9.5.2. TF-IDF alap´ u m´odszer . . . . . . . . . . . . . . . . . . . 9.5.3. Csoportos´ıt´as alap´ u m´odszerek . . . . . . . . . . . . . . 9.5.4. Gr´afelm´eleti megk¨ozel´ıt´esek . . . . . . . . . . . . . . . . 9.5.5. SVD haszn´alata a kivonatol´asban . . . . . . . . . . . . . 9.5.6. Esettanulm´any : b¨ong´esz´es t´amogat´asa kivonatol´assal k´ezi 9.6. Egy´eb sz¨ovegb´any´aszati feladatok . . . . . . . . . . . . . . . . . 9.6.1. Inform´aci´okinyer´es . . . . . . . . . . . . . . . . . . . . . 9.6.2. T´emak¨ovet´es . . . . . . . . . . . . . . . . . . . . . . . . 9.6.3. Fogalomt´ars´ıt´as . . . . . . . . . . . . . . . . . . . . . . . 9.6.4. Sz¨oveges inform´aci´ok vizualiz´al´asa . . . . . . . . . . . . . 9.6.5. K´erd´es-megv´alaszol´as . . . . . . . . . . . . . . . . . . . . 9.7. Nyelvfeldolgoz´as ´es sz¨ovegb´any´aszat . . . . . . . . . . . . . . . . 9.7.1. Sz¨ovegb´any´aszat magyarul . . . . . . . . . . . . . . . . . 9.8. Linkgy˝ ujtem´eny . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.8.1. Tesztkorpuszok . . . . . . . . . . . . . . . . . . . . . . . 9.8.2. Cikk- ´es linkgy˝ ujtem´enyek . . . . . . . . . . . . . . . . . 9.8.3. Sz¨ovegb´any´aszati szoftverek . . . . . . . . . . . . . . . . 9.8.4. N´eh´any magyar vonatkoz´as´ u eredm´eny ´es projekt . . . .
179 . . . . . . . . . 180 . . . . . . . . . 182 . . . . . . . . . 184 . . . . . . . . . 184 . . . . . . . . . 185 . . . . . . . . . 191 . . . . . . . . . 194 . . . . . . . . . 195 . . . . . . . . . 195 . . . . . . . . . 196 . . . . . . . . . 196 . . . . . . . . . 198 . . . . . . . . . 199 . . . . . . . . . 199 . . . . . . . . . 201 . . . . . . . . . 201 . . . . . . . . . 202 . . . . . . . . . 202 . . . . . . . . . 203 . . . . . . . . . 204 . . . . . . . . . 205 . . . . . . . . . 206 sz´am´ıt´og´epeken 206 . . . . . . . . . 208 . . . . . . . . . 209 . . . . . . . . . 209 . . . . . . . . . 209 . . . . . . . . . 210 . . . . . . . . . 210 . . . . . . . . . 211 . . . . . . . . . 211 . . . . . . . . . 212 . . . . . . . . . 212 . . . . . . . . . 212 . . . . . . . . . 213 . . . . . . . . . 213
10.Webes adatb´ any´ aszat 10.1. Oldalak rangsorol´asa . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1. Az egyszer˝ u Page Rank . . . . . . . . . . . . . . . . . . . . . 10.1.2. Az igazi Page Rank . . . . . . . . . . . . . . . . . . . . . . . 10.2. Webes keres´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1. Gy˝ ujt˝olapok ´es Tekint´elyek – a HITS algoritmus . . . . . . . 10.2.2. A SALSA m´odszer (Jakabfy Tam´as) . . . . . . . . . . . . . 10.2.3. Gy˝ ujt˝olapok, Tekint´elyek ´es v´eletlen s´et´ak (Jakabfy Tam´as)
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
215 . 215 . 216 . 219 . 219 . 219 . 223 . 225
10.2.4. Automatikus forr´as el˝oa´ll´ıt´o - Gy˝ ujt˝olapok ´es Tekint´elyek m´odos´ıt´asai . . 226 10.2.5. Gy˝ ujt˝olapok ´es Tekint´elyek m´odszer´enek h´atr´anyai . . . . . . . . . . . . 227 11.Gyakori mint´ ak kinyer´ ese 11.1. A gyakori minta defin´ıci´oja . . . . . . . . . . . . . . 11.1.1. Hat´ekonys´agi k´erd´esek . . . . . . . . . . . . 11.2. Tov´abbi feladatok . . . . . . . . . . . . . . . . . . . 11.2.1. Nem b˝ov´ıthet˝o ´es z´art mint´ak . . . . . . . . 11.2.2. K´enyszerek kezel´ese . . . . . . . . . . . . . . 11.2.3. T¨obbsz¨or¨os t´amogatotts´agi k¨ usz¨ob . . . . . 11.2.4. Dinamikus gyakori mintakinyer´es . . . . . . 11.3. Az algoritmusok jellemz˝oi . . . . . . . . . . . . . . 11.4. Az APRIORI m´odszer . . . . . . . . . . . . . . . . 11.4.1. Jel¨oltek el˝oa´ll´ıt´asa . . . . . . . . . . . . . . 11.4.2. Z´art mint´ak kinyer´ese, az APRIORI-CLOSE 11.5. Sorozat t´ıpus´ u bemenet . . . . . . . . . . . . . . . . 11.5.1. Apriori . . . . . . . . . . . . . . . . . . . . 11.5.2. Zaki m´odszere . . . . . . . . . . . . . . . . . 11.5.3. Mintan¨ovel˝o algoritmusok . . . . . . . . . . 11.5.4. K´etl´epcs˝os technik´ak . . . . . . . . . . . . . 11.5.5. A z´art mint´ak t¨or´ekenys´ege” . . . . . . . . ” 11.5.6. Dinamikus gyakori mintab´any´aszat . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
229 . 230 . 231 . 232 . 232 . 233 . 234 . 235 . 235 . 235 . 236 . 238 . 239 . 239 . 241 . 243 . 245 . 247 . 248
12.Gyakori sorozatok, bool formul´ ak ´ es epiz´ odok 12.1. Gyakori sorozatok kinyer´ese . . . . . . . . . . . . . . 12.1.1. A Gyakori Sorozat Fogalma . . . . . . . . . . 12.1.2. APRIORI . . . . . . . . . . . . . . . . . . . . 12.1.3. Elemhalmazokat tartalmaz´o gyakori sorozatok 12.1.4. Sorozat t´ıpus´ u minta a´ltal´anos´ıt´asa . . . . . . 12.2. Gyakori bool formul´ak . . . . . . . . . . . . . . . . . 12.3. Gyakori epiz´odok . . . . . . . . . . . . . . . . . . . . 12.3.1. A t´amogatotts´ag defin´ıci´oja . . . . . . . . . . 12.3.2. APRIORI . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
250 250 251 251 252 256 257 257 258 259
13.Gyakori f´ ak ´ es fesz´ıtett r´ eszgr´ afok 13.1. Az izomorfia probl´em´aja . . . . . 13.2. A gyakori gr´af fogalma . . . . . . 13.3. gyakori gy¨okeres f´ak . . . . . . . 13.3.1. TreeMinerH . . . . . . . . 13.3.2. TreeMinerV . . . . . . . . 13.4. Gyakori r´eszf´ak . . . . . . . . . . 13.5. A gyakori fesz´ıtett r´eszgr´afok . . 13.5.1. Az AcGM algoritmus . . . 13.6. A gyakori r´eszgr´afok keres´ese . . 13.6.1. Az FSG algoritmus . . . . 13.6.2. gSpan . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
262 262 264 265 266 267 269 269 269 272 272 273
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
1 14.Adatb´ any´ aszat a gyakorlatban 14.1. Felhaszn´al´asi ter¨ uletek . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.1. Az u ¨ gyf´el ´eletciklusa . . . . . . . . . . . . . . . . . . . . . . . . 14.1.2. Kereskedelem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.3. P´enz¨ ugy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.4. Biol´ogia ´es Orvostudom´any . . . . . . . . . . . . . . . . . . . . 14.2. Az adatb´any´aszat b¨olcs˝oje : az elektronikus kereskedelem (e-commerce) 14.3. Adatb´any´asz szoftverek . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.1. Adatb´any´aszati rendszerek tulajdons´agai . . . . . . . . . . . . . 14.3.2. Esettanulm´anyok r¨oviden . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
276 276 276 277 278 279 280 281 282 283
F¨ uggel´ ek 289 F¨ uggel´ek A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
El˝ osz´ o A 90-es ´evekben a t´arol´okapacit´asok m´eret´enek igen er˝oteljes n¨oveked´ese, valamint az a´rak 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 [73], amelyek t´arol´asa haszon helyett k¨olts´eget jelentett. Ekkor m´eg nem a´lltak rendelkez´esre olyan eszk¨oz¨ok, amivel az adatokba a´gyazott ´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 a´rnyaltabb 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 a´rnyaltabb inform´aci´o kinyer´es´ere ak´ar o´ri´asi m´eret˝ u adatb´azisok eset´en is. Az adatb´any´aszat, mint o¨n´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 a´ltal´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, a´m 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 o¨rvendeni az adatb´any´aszat. Ennek k´et oka van. Egyr´eszt a n¨ovekv˝o versenyhelyzet miatt a piaci ´elet szerepl˝oinek o´ri´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 [137]
2
3 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 a´ttekint´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- [101] ´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 [9, 57] ´es a line´aris algebra [143] 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, ¨ ommel fogadok b´armilyen ´eszrev´etelt, javaslatot ak´ar m´asok viszont jobban r´eszletezettek. Or¨ 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 a´br´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
4 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 o¨tig) 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 [2] 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 [72], ADATBANY – Koncepci´ ok ´es technik´ ak (3 pont) c´ımmel Jiawei Han ´es Micheline Kamber nagy siker˝ u k¨onyv´enek [73]. 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 a´ltal szerkesztett Adatb´ any´ aszat a hat´ekonys´ ag eszk¨ oze (4 pont) c´ım˝ u k¨onyvet [86] 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 [183]. 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 a´ltal szerkesztett The Elements of Statistical Learning : Data Mining, Inference and Prediction (5 pont) c´ım˝ u rendk´ıv˝ ul ig´enyes k¨onyv [75]. 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 a´t. 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, a ´llap´ı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 a´ll´ıthat´o. Az adatok azonban o¨nmagukban 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 o´ra 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 a´tfog´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) 5
´ 1. FEJEZET. BEVEZETES
6 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. a´bra. 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 [73], 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 [183], 5. oldal) – . . . finding hidden information in a database.” (Dunham [48], 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 [72] . 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), o¨sszef¨ 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 a´br´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 a´tl´atni magas sz´ınvonalon az eg´eszet.
´ 1. FEJEZET. BEVEZETES
7
1.2. a´bra. Klaszterez´es (bal oldali a´bra) ´es k¨ ul¨onc pontok keres´ese (jobb oldali a´bra)
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 o¨sszef¨ ugg´esek, kapcsolatok felder´ıt´ese. Az o¨sszef¨ 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 o¨sszef¨ ugg´eseket az attrib´ utumok k¨oz¨ott. T¨obbf´ele o¨sszef¨ 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 o¨sszef¨ 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 a´bra 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
8
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 a´ltal´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 o˝ket. 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 a´bra m´asodik fele. Webes adatb´ any´ aszat : Az Interneten o´ri´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, o¨sszef¨ 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 a´ltal´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 [160]. 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 [49] ´ı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 adatb´azisokkal. Elv´arjuk, hogy az adatb´azis fontosabb ”mobil puszt´ıtja a spermiumoparam´etereinek ismeret´eben az algoritmusok fut´asi ideje kat.” Forr´as : http://www. megj´osolhat´o legyen. Az o´ri´asi mem´oriam´eretek miatt a origo.hu/tudomany/elet/ legt¨obb elemzend˝o adatb´azis – megfelel˝o a´talak´ıt´asokkal 20040628amobiltelefon.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 [27]. 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
9
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 [56, 73] att´ol f¨ ugg˝oen, hogy mely l´ep´eseket vonjuk o¨ssze (tekinthetj¨ uk p´eld´aul az 1.3 a´br´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. a´bra. 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
10
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 a´tfog´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 : o¨sszevet´es elv´ar´asokkal, el˝ozetes ismeretekkel. Eredm´enyek dokument´al´asa ´es a´tad´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 o¨sszef¨ ugg´est felt´arni. Ennek nyilv´an t¨obb oka is lehet, a k¨ovetkez˝okben k´et p´eld´at mutatunk [31]. 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 o¨sszef¨ 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 o¨sszef¨ 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 [31]: 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 a ´tfog´ 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, a ´ltal´ 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 o ¨r¨ 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
11
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 a´tgondoltak ´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 o¨sszef¨ 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 o´vhatj´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 o¨sszef¨ 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 a´ts¨ ut¨ott h´ us fogyaszt´asa ´es a prosztatar´ak gyakoris´aga k¨oz¨otti o¨sszef¨ 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 [80]. Ez a jegyzet a 6. ´es 7. l´ep´eseket veszi szem¨ ugyre : rendelkez´es¨ unkre a´ll 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 a´ltal´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 a´ltal´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 a´tlag becsl´es´ehez keresni kezdt´ek azt a term´eket, amely a´r´anak alakul´asa legink´abb hasonl´ıtott a Dow Jones a´tlag alakul´as´ahoz. A kapott term´ek a bangladesi gyapot volt.
´ 1. FEJEZET. BEVEZETES
12
Az adatok illetve a kinyert inform´aci´ok megjelen´ıt´es´enek m´odja legal´abb annyira fontos, mint az o¨sszef¨ ugg´esek meghat´aroz´asa. A v´egfelhaszn´al´okat (akik a´ltal´aban vezet˝ok) jobban megragadja egy j´ol elk´esz´ıtett a´bra, 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 a´br´ak). Ezekn´el a rendszerekn´el az o¨sszef¨ 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 14. 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 a´ll 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 a´ltal´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 [31]. I. Tegy¨ uk fel, hogy egy adatb´azisban sokmilli´o ember DNS-szekvenci´ait ´es tulajdons´agait t´aroljuk (1.4 a´bra). 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 o¨sszef¨ ugg´esre, hanem egy a´ltal´anosabb k´erd´est tenne fel, p´eld´aul azt, hogy mi-
´ 1. FEJEZET. BEVEZETES
13
1.4. a´bra. Egy jellegzetes adatb´any´aszati feladat : DNS-szekvenci´ak elemz´ese
lyen o¨sszef¨ 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 a´ltal´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 a´r´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 a´ltal´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 ´ltal´ anos” csoportokat kapunk. tartalmazza, hanem a ”
´ 1. FEJEZET. BEVEZETES
14
1.5. a´bra. 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 a´llunk 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. a´br´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 a´gak 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 ” 5 hallgat´ok oszt´aly´aba tartoznak).
1.4. Sikeres alkalmaz´ asok Az adat b´any´aszata” eredetileg statisztikusok a´ltal 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 a ´ltal´ aban nem k¨ ovetelm´eny, hogy egy lev´elbeli o ¨sszes rekord ugyanazon oszt´ alyba tartozzon, el´eg, ha nagy r´esz¨ uk” azonos oszt´ alyba tartozik. Ebben a konkr´et p´eld´ aban az o ¨sszes fogamz´ asg´ atl´ ot ” szed˝ o hallgat´ o n˝ o volt.
´ 1. FEJEZET. BEVEZETES
15
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 1 ki mind a t´ız k´arty´at eltal´alja 210 = 1024 ). Ezekkel a di´akokkal u ´ jra elv´egezte a k´ıs´erletet, a´m ez´ uttal a di´akok eredm´enye teljesen a´tlagos 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˝oa´ll´ı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) [166]. Tesztek p´eld´aul igazolt´ak, hogy a hitelb´ır´alat min˝os´ege javult az USA-ban, amikor a bankok a´tt´ertek a k¨otelez˝oen alkalmazott, ´ır´asban r¨ogz´ıtett szab´alyok alkalmaz´as´ara [166]. Ezeket a szab´alyokat pedig az adatb´any´aszat seg´ıts´eg´evel a´ll´ıtott´ak o¨ssze. – A v´as´arl´oi szok´asok felder´ıt´ese szupermarketekben, illetve nagy vev˝ok¨orrel rendelkez˝o a´ruh´azakban hasznos lehet az a´ruh´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 a´ruh´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 a´ll´o demogr´afiai adatok elemz´ese alapj´an tehetj¨ uk meg (epiz´odkutat´as, asszoci´aci´os szab´alyok). – A csillag´aszatban az ´egitestek o´ri´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 a´remel´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
16
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 a´llambeli R.R. Donelly nyomdaipari c´eg ugyanezt az o¨tletet 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 [151, 152]. A modellt sikeresen alkalmazt´ak u ´ j ismeretlen v´ırusok kisz˝ ur´es´ere (oszt´alyoz´as). Tov´abbi esettanulm´anyokr´ol a 14.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 a´ll´as´at. – Az emberi mesters´eges megterm´ekeny´ıt´es sor´an petesejtek sokas´ag´at gy˝ ujtik o¨ssze 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 o¨sszef¨ 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 a´llom´any mely egyedeit tartj´ak meg, ´es melyeket ´ert´ekes´ıtik v´ag´ohidaknak. Tipikusan minden gazdas´ag o¨t¨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 a´tugr´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
17
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) [35], 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 a´bra szerinti m´odon j¨on l´etre.
1.6. a´bra. 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
18
– 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. a´br´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. a´bra. 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 a´ltal 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
19
Minta ki´ ert´ ekel˝ o modul : Ez a modul felel˝os a kinyert minta vagy o¨sszef¨ 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 o¨sszef¨ ugg´eseket keres ´es ezen a r´etegen kereszt¨ ul l´athatja a v´egeredm´enyt. Az o¨sszef¨ ugg´esek a´tl´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´eszben 6 ´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 a´ltal 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 – a´ltal´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 a´ll ´erdek¨ ukben o¨nk´ent megosztani ezeket az inform´aci´okat az u ¨ gyf´ellel, vagy ak´ar a versenyt´arsakkal [127]. 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´aa´ll´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 a´llampolg´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 o˝ket. Ez a m´odszer viszont sok esetben 6
Ezt a r´eszt Huczman Zsuzsanna ´ırta.
´ 1. FEJEZET. BEVEZETES
20
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 uletek, de bel´athatjuk, hogy m´ar az is diszkfelel˝oss´ege. Az el˝obb eml´ıtettek k´enyesebb” ter¨ ” 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 [183]. 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 a´ll-e b´arkinek meghat´arozni, hogy mi tekinthet˝o norm´alis viselked´esnek, illetve el˝oker¨ ulhet a relativit´aselm´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 a´ra 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 [165], 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 10 9 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 a´ltal hordozott inform´aci´o kinyer´ese tipikusan adatb´any´aszati feladat. Rendk´ıv¨ ul ´erz´ekeny adatr´ol A kr´ onikus fert˝ oz´esek de” l´ev´en sz´o, az adatb´azis, amivel eddig az adatb´any´aszok presszi´ ot ´es skizofr´eni´ at dolgoztak, nem egy konkr´et szem´ely DNS szekvenci´aj´at okozhatnak – a ´ll´ıtj´ ak n´emet tartalmazt´ak, hanem t¨obb r¨ovidebb szakaszb´ol a´ll´o DNS- kutat´ ok.” Forr´as : http: l´ancokat. Nemr´egiben viszont egy kutat´o el˝oa´llt a saj´at //hvg.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 o¨sszef¨ ugg´eseket lehessen vizsg´alni [110]. 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
21
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 a´ll´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 o¨tv¨oz¨ott alkalmaz´asa nagy adatb´azisokon. A kapu k´epes ´erz´ekelni a rajta a´thalad´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 o¨sszevetve 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 o˝r¨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 o´ta. A lakoss´ag elfogadta azt a n´ezetet, hogy a biztons´aguk ´erdek´eben a´ldozz´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 o¨sszef¨ ugg´esek esetis´eg´et, azaz ann´al kisebb az es´elye, hogy a tal´alt o¨sszef¨ 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 a´br´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
22
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 out 7 ) 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 a´llnak rendelkez´es¨ unkre, akkor tudnunk kell, hogy a kapott eredm´eny (a csoportok le´ır´asa) torz lesz, hiszen a r´eszsokas´ag a´tlag ´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 a´ll´ı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 o¨sszef¨ 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 o¨sszefoglalja 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 a´tn´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 a´ltal´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 o¨sszes olyan rendezett p´arb´ol a´ll´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 23
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
24
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 o¨sszetett strukt´ ur´akon, amelyeknek ugyanannyi tagjuk van (n-eseknek is h´ıvj´ak ezeket). Mi ezt szeretn´enk a´ltal´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 ´ inverz´ere (a−1 ) teljes¨ ulj¨on, hogy a ? a−1 = a−1 ? 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 a´br´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 a´br´azoljuk. A multihalmaz m´eret´en a p´arok m´asodik tagjainak o¨sszeg´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 hs 0 , s1 , . . .i
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
25
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 o¨sszead´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 a ´ltal 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 A i -vel jel¨olj¨ uk, pm´ Patrix T T 2 ||v||-vel a v vektor euklideszi norm´aj´at ( es v w-vel a v , w vektorok skal´aris szorzat´at i vi ) ´ P ( i viT 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 0 V ⊆V a ´ltal 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 ∈ V 1 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∼ G, akkor automorfizmusr´ ol besz´el¨ unk. = A gr´afok a´br´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 a ij 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
26
Az u cs´ ucsot az u0 cs´ uccsal o¨sszek¨ot˝o k-hossz´ u u ´ton cs´ ucsoknak egy olyan (v´eges) hv0 , v1 , . . . , vk i sorozat´at ´ertj¨ uk, amelyre u = v0 , u0 = 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 hv 0 , v1 , . . . , vk i u ´ t k¨ or, ha v0 = vk , ´es az u ´ t legal´abb egy ´elt tartalmaz. Egy gr´afot o ¨sszef¨ ugg˝ onek h´ıvunk, ha b´armely k´et cs´ ucsa o¨sszek¨othet˝o u ´ ttal. A k¨ormenetes, ir´any´ıt´as n´elk¨ uli gr´afot erd˝ onek h´ıvjuk. Ha az erd˝o o¨sszef¨ 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 a´ltal tartalmazott b´armely y cs´ ucsot az x o ˝s´enek nevez¨ unk. Azt is mondjuk ekkor, hogy x az y lesz´ armazottja. Ha x 6= y, akkor val´ odi o ˝sr˝ 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 o˝ket. 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 o¨sszs´ 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¨ u ggv´ e ny´ e nek, eloszl´ a sf¨ u ggv´ e ny´ e nek, a val´ o sz´ ın˝ u s´ e gi 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 a´ltal´anosan az n-edik centr´ alis momentumok fogalm´aval (D n [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 ) (Corr(X, Y )= Cov(X,Y ). A s˝ ur˝ us´egf¨ uggv´eny (vagy diszkr´et eloszl´as) maximumhely´et az eloszl´as σ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 p k = 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
27
k A Poisson-eloszl´as a binomi´alis eloszl´as hat´aresete. lim n→∞,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 = √ <x k p q npq
= Φ(x)
Hipergeometrikus eloszl´ as Tegy¨ uk fel, hogy van N k¨ ul¨onb¨oz˝o elem¨ unk, amelyb˝ol R darab rossz. A hipergeometrikus eloszl´as adja meg annak az es´ely´et, hogy X darab rossz elem lesz, ha az N elemb˝ol n darabot kivesz¨ unk v´eletlenszer˝ uen. Elemi kombinatorikus u ´ ton a val´osz´ın˝ us´eg kisz´am´ıthat´o (0 ≤ X ≤ n) : R N −R P(X, N, R, n) =
X
n−X N n
A fenti s˝ ur˝ us´egf¨ uggv´ennyel rendelkez˝o diszkr´et val´osz´ın˝ us´egi eloszl´ast h´ıvjuk hipergeometrikus eloszl´ asnak. Amennyiben nN , akkor a hipergeometrikus eloszl´ast k¨ozel´ıthetj¨ uk az n, R/N param´eter˝ u binomi´alis eloszl´assal. Norm´ alis eloszl´ as χ2 eloszl´ as Legyenek ξ1 , ξ2 ,P . . . , ξn egym´ast´ol f¨ uggetlen, standard norm´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´ok. Ekkor az ni=1 ξi2 val´osz´ın˝ us´egi v´altoz´o eloszl´as´at n param´eter˝ u χ2 eloszl´ asnak (χ2n ) nevezz¨ uk.
2.5.2. Egyenl˝ otlens´ egek Legyen X egy E[X] v´arhat´o ´ert´ek˝ u val´osz´ın˝ us´egi v´altoz´o. A Markov egyenl˝otlens´eg szerint E[|X|] P(|X| ≥ a) ≤ a , ahol a > 0. A Hoeffding-korl´at a mintav´etelz´essel kapcsolatos a´ll´ı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
28
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 a´talak´ı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 a´ltal´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 a´llnak 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 val´osz´ın˝ X u s´ e gi v´ a ltoz´ o t empirikus k¨ o z´ e pnek, vagy minta´ atlagnak, a s ∗2 n = n P n 1 2 ¯ us´egi v´altoz´ot pedig korrig´ alt empirikus szor´ asn´egyzetnek ne= n−1 i=1 (Xi − X) val´osz´ın˝ vezz¨ uk. ∗2 val´osz´ın˝ us´egi v´altoz´o eloszl´asa χ2n , A χ2 eloszl´as defin´ıci´oj´ab´ol k¨ovetkezik, hogy az (n−1)s σ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 szor´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 ´es χ2m . Ekkor a Z = YX/n val´ osz´ın˝ us´egi v´ altoz´ o eloszl´ as´ at Fn,m eloszl´ asnak h´ıvjuk. /m
2.6.1. Hipot´ ezisvizsg´ alat A hipot´ezisvizsg´alat feladata mindig valamilyen a´ll´ıt´as helyess´eg´enek vizsg´alata. Ezt az a´ll´ıt´ast nullhipot´ezisnek nevezz¨ uk, jele H0 . A nullhipot´ezis a´ltal´aban egy val´osz´ın˝ us´egi v´altoz´o valamely param´eter´ere vagy a v´altoz´o viselked´es´ere vonatkoz´o a´ll´ıt´as. Az a´ll´ıt´as igazol´as´ahoz vagy elvet´es´ehez k´ıs´erletezget´esek, mint´ak a´llnak 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
29
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 a´ll´ıt´as, egy param´eter (α) ´es mint´ak sorozata. Feladatunk, hogy a mint´ak alapj´an c´afoljuk vagy igazoljuk az a´ll´ıt´ast u ´ gy, hogy bizony´ıthat´oan α-n´al kisebb legyen annak val´osz´ın˝ us´ege, hogy az a´ll´ı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 o¨ssze 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 X i 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
ashoz konverg´ al. val´ osz´ın˝ us´egi v´ altoz´ o eloszl´ asa n → ∞ eset´en χ 2r−1 eloszl´ A χ2 eloszl´as kvantiliseit f¨ uggv´eny-t´abl´azatokban megtal´alhatjuk. A χ2 -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 2 r´eszletezz¨ uk. A χ pr´oba ir´ant ´erdekl˝od˝oknek a [84] 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
30
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 a´br´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
31
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 megbecs¨ ulni, ´ıgy a fenti H0 fenn´all´asa eset´en χ2rs−1−(r+s−2) = χ2(r−1)(s−1) eloszl´as´ u. A χ2 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 o¨tn´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 a´ltal´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 [42], [61]. A szavak az abc felett ´ertelmezett sorozatok, ´ıgy a´ltal´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 a´br´an egy sz´of´at l´athatunk, mely az C, F C, F B, CBP , F CAM P , 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 a´ll. 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 a´llapot, 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
32 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. a´bra. P´elda sz´of´ara [61] 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 [42] 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 o¨sszehasonl´ı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 o¨tv¨ozhetj¨ uk ak´ar egy adott sz´of´an bel¨ ul is [156], [188] : 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 a´ll fenn.
¨ ESEK ´ 2. FEJEZET. ALAPFOGALMAK, JELOL
33
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 o¨ssze. Az u ´ j ´el a l´anc utols´o pontj´aba mutat, c´ımk´eje a l´anc ´eleinek c´ımk´eib˝ol a´ll´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. [101]).
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 o¨nmag´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 o´ri´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
34
[178] 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 a´ttekint´es olvashat´o a [120] 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 a´ll´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 o¨sszead´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 a´ltal 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 o˝ket, 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
35
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 a´tlagos 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 a´llnak 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 a´llapot) ´es intervallum (pl. : d´atum) t´ıpus´ u attrib´ utumok is.
36
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
37
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
38
´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 a´ltal´aban grafikusan a´br´azolj´ak az eloszl´asokat vagy gyakoris´agokat. A legjellemz˝obb a´br´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 o¨nmag´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 o¨sszefoglal´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
39
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 a´llapota, 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 a´ltal´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
40
A sorrend t´ıpus´ u attrib´ utumokat a´ltal´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 a´llapotok x−1 sz´am´aban elt´ernek, akkor c´elszer˝ u mindegyiket a [0,1] intervallumba k´epezni az M m˝ uvelettel. −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 a´ltal´aban val´os sz´amok ´ırj´ak le. Ilyen attrib´ utumra p´elda egy ember s´ ulya, magass´aga, egy orsz´ag ´eves a´tlagh˝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 ´es ” rep¨ uk van. Gondoljuk meg, ha m´eter helyett millim´eterben feles´ eg k¨ oz¨ ott hat ´ev. Egy sv´ed sz´amolunk, akkor sokkal nagyobb ´ert´ekek fognak szerepelni kutat´ as szerint ilyen esetben van az elemek le´ır´as´aban, ´es ´ıgy a k¨ ul¨onbs´egek is megn˝onek. A maxim´ alis lehet˝ os´eg az ut´ odok nagy ´ert´ekk´eszlet˝ u attrib´ utumoknak nagyobb hat´asuk van sz¨ ulet´es´ere.” Forr´as : http: a hasonl´os´ag ´ert´ek´ere, mint a kis ´ert´ekk´eszlet˝ ueknek. Jo- //hvg.hu/egeszseg/20070913_ gos teh´at az egyes attrib´ utumok normaliz´al´asa, azaz transz- idealis_korkulonbseg.aspx form´aljuk o˝ket pl. a [0,1] intervallumba, majd ezen transzform´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 o¨sszehasonl´ı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 a´br´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 a´br´azolni. Az ilyen attrib´ utumokn´al nem c´elszer˝ u k¨ozvetlen¨ ul intervallum alap´ u hasonl´os´agot alkalmazni, mert ez o´ri´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
41
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 a´t, 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 o¨sszesen. C´elszer˝ u ez´ert az egyes attrib´ utumt´ıpusok a´ltal 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 a´ltal´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 a´ltal 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 : ~xT ~y d(x, y) = arccos . ||~x|| · ||~y||
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
42
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 a´ll 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 o¨sszef¨ ugg´esekr˝ol. A hi´anyz´o ´ert´ekeket tartalmaz´o elemek hasznos inform´aci´ot tartalmazhatnak, ne dobjuk el o˝ket, 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˝oa´ll´ıt´o m´odszer [141] 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 o¨sszes lehets´eges ´ert´eket be´ırjuk. Intervallum attrib´ utumok eset´en szok´as az a´tlagot 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
43
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 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 a´llhatnak 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
44
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 o¨sszekapcsolhatjuk 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 a´ltal 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
45
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, o ¨sszezagyv´ 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 a´talak´ı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 a´tadott 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
46
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 [187]. 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, amelynek 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
65 0
68 69 1 1
70 1
71 72 0 0
72 75 75 1 1 1
80 0
81 83 1 1
85 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
71 72 72 75 75 0 0 1 1 1
80 81 83 0 1 1
85 0
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
47
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˝oa´ll´ıtani, a hat´arvonalat a 77.5 adja. Az utols´o csoporthoz o¨nk´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 ´ert´ek norm´aj´at a0j -vel jel¨olj¨ uk. Normaliz´al´asra k´et m´odszer terjedt el. a −min
A Min-max normaliz´ al´ as : Itt egy sima line´aris transzform´aci´ot v´egz¨ unk : a0j = maxj A −min , ahol A minA (maxA ) jel¨oli az A attrib´ utum legkisebb (legnagyobb) ´ert´ek´et. Minden elem a [0,1] intervallumba fog esni.
¯ Standard normaliz´ al´ as (z-score normalization) : a0i = aiσ−AA , ahol A¯ az A attrib´ utum qP l ¯2 i=1 (ai −A) a´tlaga, σA pedig a sz´or´asa. A hagyom´anyos sz´or´as ( ) helyett az abszol´ ut l Pl
¯ |a −A|
sz´or´ast is haszn´alni szokt´ak ( i=1 l i ). Ennek el˝onye, hogy cs¨okkenti az a´tlagt´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 (ai = ai − A).
3.3.7. Mintav´ etelez´ es Az adatb´any´aszati algoritmusok a´ltal´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
48
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, de 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 ” o¨sszef¨ 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 a´ll 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 a´ll 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, m k¨ ul¨onben 0, ´es legyen Y = i=1 Xi . Mivel a h´ uz´asok egym´ast´ol f¨ uggetlenek, az Y eloszl´asa m, p 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 [161]. 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 P(hiba(m)) ≤ 2 · e−2
2m
.
Amennyiben a hibakorl´atot δ-val jel¨ol¨om, akkor az al´abbinak kell igaznak lennie, hogy m≥
1 2 ln . 22 δ
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
49
|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. Erezz¨ uk, hogy a p figyelmen k´ıv¨ ul hagy´asa nem baj, ha nagy v´arhat´o ´ert´ekekkel dolgozunk, de mi van kis val´osz´ın˝ us´egek eset´en ? P´eld´aul = =0.05 ´es δ=0.01 eset´en 1060 m´eret˝ u mint´at kell venn¨ unk. Ha p egy ezred, akkor azt v´arjuk, hogy csak egyszer fordul el˝o a mint´aban x. M´ar ebben az esetben is a relat´ıv gyakoris´ag (1/1060 = = 0.000943) t¨obb, mint o¨t sz´azal´ekkal t´er el a t´enyleges val´osz´ın˝ us´egt˝ol, azaz minden esetben hib´azni fogunk. Vagy m´ask´epp mondva, a hiba val´osz´ın˝ us´ege 1, (nem pedig 0.01). Minek vacakolunk mi mindenf´ele Csernov-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 1 − F (bmp + mc, m, p) ≤ 1 − F (bmc, m, p) = P(Y ≥ bmc) ≤
mp . bmc
Az utols´o elgyenl˝otlens´egn´el a Markov egyenl˝otlens´eget haszn´altuk fel. Az eredm´eny ellentmond elv´ar´asainknak, hiszen eszerint kis val´osz´ın˝ us´egeket kisebb mint´aval tudunk j´ol k¨ozel´ıteni.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK 0.25
50
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. a´bra. K¨ ul¨onb¨oz˝o p param´eter˝ u binomi´alis eloszl´asok
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 a´ll´ıt´ast csak szeml´eltetni fogjuk. Vess¨ unk egy pillant´ast a 3.1 a´br´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 a´ltal´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 <σq2 = mq(1 − q)
p − p2
A kisebb val´osz´ın˝ us´egekn´el a v´arhat´o ´ert´ek sz˝ ukebb k¨ornyezet´eben vannak a nagy val´osz´ın˝ us´egek, ez´ert a v´arhat´o ´ert´ek ±m k¨ornyezet´en k´ıv¨ uli pontok val´osz´ın˝ us´eginek o¨sszege kisebb, azaz a hiba kisebb ! A k¨ovetkez˝o a´br´akon az ´ervel´est t´amasztjuk al´a. A 3.2 a´br´an a hib´at a´br´azoljuk a minta m´erete ´es a val´osz´ın˝ us´eg f¨ uggv´eny´eben r¨ogz´ıtett mellett. L´atjuk, hogy ha n¨ovekszik p (vagy cs¨okken m), akkor cs¨okken a hiba val´osz´ın˝ us´ege. A 3.3 a´br´an megint a mintav´etelez´es hib´aj´at a´br´azoltuk, de most az mellett a minta m´erete is r¨ogz´ıtve van. Itt m´eg jobban l´atszik, hogy ahogy cs¨okken p u ´ gy n˝o a hiba is. Ha ezekn´el a param´eterekn´el a Csernov-korl´atot alkalmazzuk, akkor azt kapjuk, hogy a hiba val´osz´ın˝ us´ege kisebb 1.2-n´el. Ez el´eg semmitmond´o. Id´ezz¨ uk fel a kiindul´o k´erd´est : Mit gondolunk ? R¨ogz´ıtett m ´es eset´en kis vagy nagy p eset´en lesz kicsi a hiba ? H´at, nem mondhatjuk, hogy a v´art v´alaszt kaptuk. Az ember valami´ert o¨szt¨on¨osen ragaszkodik ahhoz a v´alaszhoz, hogy kisebb val´osz´ın˝ us´eg mellett nagyobb lesz a hiba. Elemez´es¨ unk azonban pont az ellenkez˝oj´et adta. Meg kell b´ek´eln¨ unk ezzel, vagy tehet¨ unk valamit a zavar´o v´alasz ellen ? T´erj¨ unk vissza a hiba defin´ıci´oj´ahoz : hiba(m) = P rel. gyakoris´ag(x) − p ≥ , azaz hib´at k¨ovet¨ unk el, ha a relat´ıv gyakoris´ag ´es a t´enyleges val´osz´ın˝ us´eg k¨oz¨otti k¨ ul¨onbs´eg nagyobb egy adott konstansn´al, amelyet -nal jel¨olt¨ unk. A relat´ıv gyakoris´agnak a val´osz´ın˝ us´eg egy r¨ogz´ıtett sz´eless´eg˝ u k¨ornyezet´eben kell lennie. Szerencs´es az, hogy a hib´at a relat´ıv gyakoris´ag ´es a val´osz´ın˝ us´eg k¨ ul¨onbs´eg´evel m´erj¨ uk ? Ez alapj´an p´eld´aul ugyanakkora hib´at k¨ovet¨ unk el, ha p = 0.8 eset´en a relat´ıv gyakoris´ag 0.81 ´es
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
51
P(|Y/m - p| > 0.035 ) error 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0.5 0.45
0.4 0.35
0.3 0.25 p
0.2 0.15
0.1 0.05
0 500 450
300 400 350
250 200
150 100 m
50
0
3.2. a´bra. A mintav´etelez´es hib´aja a minta m´eret´enek ´es az el˝ofordul´as val´osz´ın˝ us´eg´enek f¨ uggv´eny´eben
1.4
P(|Y/200 - p| > 0.035 ) 2 * exp(-2 * 0.0352 * 200)
1.2
1
error
0.8
0.6
0.4
0.2
0
0
0.05
0.1
0.15
0.2
0.25 p
0.3
0.35
0.4
0.45
0.5
3.3. a´bra. A mintav´etelez´es hib´aja az el˝ofordul´as val´osz´ın˝ us´eg˝ unek f¨ uggv´eny´eben
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK 1
52
error = 1 - P(1/(1+0.035) < (Y/1500)/p < 1+0.035 )
0.9
error
0.8
0.7
0.6
0.5
0.4
0
0.05
0.1
0.15
0.2
0.25
p
3.4. a´bra. A mintav´etelez´es hib´aja az el˝ofordul´as val´osz´ın˝ us´eg´enek f¨ uggv´eny´eben relat´ıv hibam´er´es eset´eben
ha p = 0.01 eset´en a relat´ıv gyakoris´ag nulla, azaz az esem´eny nem k¨ovetkezett be egyszer sem. Az embernek az az ´erz´ese van, hogy az els˝o esetben kisebbet hib´aztunk. A fenti ´ervel´es alapj´an c´elszer˝ ubb a hib´at a val´osz´ın˝ us´eg ´es a relat´ıv gyakoris´ag h´anyados´aval m´erni. Jobban ´erdekel minket az, hogy h´any sz´azal´ekkal nagyobb vagy kisebb a relat´ıv gyakoris´ag a val´osz´ın˝ us´egn´el, mint az abszol´ ut k¨ ul¨onbs´eg. Ha elfogadjuk ezt az ´ervel´est, akkor a hib´at a k¨ovetkez˝ok´eppen defini´aljuk : 1 hiba(m) = P rel. gyakoris´ag(x)/p ≥ 1 + + P rel. gyakoris´ag(x)/p ≤ 1+ 1 < rel. gyakoris´ag(x)/p < 1 + = 1−P 1+ = 1 + F (bmp/(1 + )c, m, p) − F (min{dmp(1 + )e, m} − 1, m, p), ahol > 0 val´os sz´am. Enn´el a defin´ıci´on´al m´ar igaz lesz – nagyvonalakban, – hogy min´el kisebb az el˝ofordul´as val´osz´ın˝ us´ege, ann´al nagyobb lesz a hiba, teh´at ann´al nagyobb mint´at kell venn¨ unk. Ezt t´amasztja al´a a 3.4 a´bra is. Az a´bra mutatja, hogy t´enyleg csak nagyvonalakban igaz, hogy kisebb p-kn´el nagyobb a hiba. Szigor´ uan v´eve ugyanis ez nem igaz. Ennek oka, hogy a binomi´alis eloszl´as diszkr´et eloszl´as ´es ez´ert ahogy cs¨okkentj¨ uk a p-t ´es u ´ gy tol´odik nem hib´at jelent˝o intervallum a nulla pont fel´e ´es fordulhat el˝o az, hogy egy u ´ jabb pont beker¨ ul az intervallumba. P´eld´aul = 0.035 ´es m = = 1500 eset´eben a [pm/(1+), pm(1+)] intervallumba nem esik eg´esz ´ert´ek p = 0.007 eset´eben (hiszen a nem hib´at jelent˝o intervallum [10.1,10.9]), m´ıg p = 0.006 eset´en igen (ekkor a vizsg´alt intervallum [8.7,9.3]). Ha p tart null´ahoz, akkor a hiba egyhez tart. Amennyiben a p kisebb 1/(1 + ), akkor a p , p(1 + ) intervallumba nem eshet eg´esz ´ert´ek, ez´ert az X el˝ofordul´as´at´ol f¨ uggetlen¨ ul a 1+ hiba ´ert´eke egy lesz. Az adatb´any´asz cikkekben mintav´etelez´es eset´en a Csernov-korl´atos megk¨ozel´ıt´essel t´amasztj´ak al´a, hogy az a´ltaluk haszn´alt minta mi´ert el´eg nagy. Most m´ar tudjuk, hogy ez az elemz´es meglehet˝osen elnagyolt. Egyr´eszt a hiba defin´ıci´oja sem t´ ul j´o, m´asr´est a Csernovkorl´at alkalmaz´asa sem ad pontos eredm´enyt.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
53
Jobb megold´as a hib´at a val´osz´ın˝ us´eg ´es a relat´ıv gyakoris´ag h´anyados´ab´ol sz´armaztatni ´es Csernov-korl´at helyett a binomi´alis eloszl´ast haszn´alni. Mivel a v´egeredm´eny nem egy z´art k´eplet lesz, ez´ert a hiba vagy a sz¨ uks´eges mintam´eret kisz´am´ıt´asa bonyolultabb. A binomi´alis eloszl´as sem a legpontosabb eredm´enyt adja. Az elemz´es sor´an ugyanis felt´etelezt¨ uk, hogy az esem´eny bek¨ovetkez´es´enek val´osz´ın˝ us´ege ismert. A val´os´agban a mint´at egy nagy alaphalmazb´ol vessz¨ uk. P´eld´aul a n´epszavaz´ast megel˝oz˝o k¨ozv´elem´eny-kutat´asokban a mint´at a feln˝ott lakoss´agb´ol vessz¨ uk, amely egy v´eges halmaz. Ha u ´ gy tessz¨ uk fel a k´erd´est, hogy egy M alaphalmazb´ol mekkora m mint´at kell venn¨ unk, hogy a mint´aban az x relat´ıv gyakoris´aga kis m´ert´ekben t´erjen el az x M -beli relat´ıv gyakoris´ag´at´ol, akkor a binomi´alis eloszl´as helyett hipergeometrikus eloszl´ast kell haszn´alnunk. Weka 3.5.7
A weka.filters.unsupervised.instance.RemovePercentage sz˝ ur˝ o az elemek egy adott sz´ azal´ek´ at t¨ orli. A weka.filters.unsupervised.instance.RemoveFolds megkeveri az adatb´ azist, majd egyenl˝ o m´eret˝ u r´eszekre osztja ´es megtartja az egyik r´eszt. A sz˝ ur˝ ot kereszt-valid´ aci´ ohoz szokt´ ak haszn´ alni (l´ asd 6.10 r´esz). Amennyiben azt szeretn´ek, hogy az oszt´ alyok eloszl´ asa megegyezzen minden r´eszben (r´etegzetts´eg fogalma – l´ asd 6.10 r´esz), akkor haszn´ aljuk a weka.filters.supervised.instance.StratifiedRemoveFolds sz˝ ur˝ ot . A weka.filters.unsupervised.instance.Resample sz˝ ur˝ o egy v´eletlenszer˝ u r´eszhalmaz´ at k´epzi az adathalmaznak. A sampleSizePercent opci´ oval sz´ azal´ekosan fejezhetj¨ uk ki az r´eszhalmaz m´eret´et az eredeti adathalmazhoz k´epest. Megadjuk, hogy a mintav´etelez´eshez visszatev´eses, vagy visszatev´es n´elk¨ uli m´ odszert haszn´ aljon. Az eredeti adathalmaznak el kell f´ernie a mem´ ori´ aban. A sz˝ ur˝ o fel¨ ugyelt v´ altozata (weka.filters.unsupervised.instance.Resample) abban k¨ ul¨ onb¨ ozik a fel¨ ugyelet n´elk¨ uli v´ altozatt´ ol, hogy befoly´ asolhatjuk a mint´ aban az oszt´ aly eloszl´ as´ at. Ha a biasToUniformClass ´ert´eke 0, akkor nem v´ altozik az oszt´ aly eloszl´ asa, ha viszont 1, akkor minden oszt´ aly ugyanannyiszor fog el˝ ofordulni. weka.filters.unsupervised.instance.ReservoirSample Vitter ”R” algoritmus´ at felhaszn´ alva mintav´etelez. A weka.filters.supervised.instance.SpreadSubsample mintav´etelez˝ o sz˝ ur˝ o olyan r´eszhalmazt fog el˝ oa ´ll´ıtani, amelyben a leggyakoribb ´es a legritk´ abb oszt´ alyok el˝ ofordul´ as´ anak h´ anyadosa kisebb, mint egy el˝ ore megadott konstans (distributionSpread).
3.3.8. Dimenzi´ ocs¨ okkent´ es Az adatb´any´aszati alkalmaz´asokban az adathalmaz m´erete a´ltal´aban nagy. Felmer¨ ul a k´erd´es, hogy lehet-e ezt a nagy adathalmazt egy kisebb m´eret˝ uvel helyettes´ıteni u ´ gy, hogy a kisebb adathalmaz valamilyen szempont szerint h˝ uen reprezent´alja a nagy adathalmazt.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
54
Term´eszetesen az adatb´any´aszati feladatt´ol f¨ ugg az, hogy mit jelent pontosan a h˝ u reprezent´aci´o. Ebben a r´eszben dimenzi´o-cs¨okkent´esr˝ol lesz sz´o, melynek sor´an az objektumok sok attrib´ utummal val´o le´ır´as´at szeretn´enk helyettes´ıteni kevesebb attrib´ utumot haszn´al´o le´ır´assal. Hasonl´ os´ agtart´ o dimenzi´o-cs¨okkent´esr˝ol fogunk besz´elni, ami azt jelenti, hogy tudunk adni egy olyan hasonl´os´agi defin´ıci´ot az u ´ j le´ır´asban, ami j´o becsl´ese az eredeti hasonl´os´agnak.
m
n
k
M
c M
Az eredeti adathalmazt az m×n-es M m´atrixszal jellemezz¨ uk, az u ´ j le´ır´ast pedig az m×k-s c m´atrixszal. Az n nagyon nagy lehet (az interneten egy¨ M utt el˝ofordul´o sz´op´arok keres´es´en´el p´eld´aul 109 k¨or¨ uli volt az ´ert´eke), ami azt jelenti, hogy az adatb´azis nem biztos, hogy elf´er c m´atrixszal a mem´ori´aban. Ezt a probl´em´at szeretn´enk megker¨ ulni azzal, hogy az M -et az M c elf´erjen a mem´ori´aban. Ez´altal lehet˝ov´e v´alik helyettes´ıtj¨ uk u ´ gy, hogy k n annyira, hogy M olyan algoritmusok futtat´asa, amelyek felt´etelezik, hogy az adatokat le´ır´o m´atrix a gyors el´er´es˝ u mem´ori´aban tal´alhat´o. K´et speci´alis feladatot t´argyalunk. Az els˝oben az attrib´ utumok val´os sz´amok ´es k´et objektum k¨ ul¨onb¨oz˝os´eg´en (hasonl´os´ag inverze) az Euklideszi t´avols´agukat ´ertj¨ uk. A m´asodik esetben az attrib´ utumok csak bin´arisak lehetnek, ´es k´et objektum hasonl´os´ag´at a Jaccard-koefficiens (l´asd 3.2.1 r´esz) adja meg. Szingul´ aris felbont´ as A szingul´aris felbont´as az elm´eleti szempontb´ol egyik legt¨obbet vizsg´alt, klasszikus line´aris algebrai eszk¨oz¨oket haszn´al´o dimenzi´o-cs¨okkent´esi elj´ar´as 1 . Ennek alkalmaz´asa ut´an nyert c m´atrix soraib´ol j´ol k¨ozel´ıthet˝o az euklideszi t´avols´ag, illetve az attrib´ M utumok vektoraib´ol sz´am´ıtott skal´aris szorzattal m´ert hasonl´os´ag. Ut´obbi megegyezik a koszinusz m´ert´ekkel, ha a m´atrix sorai norm´altak. Ebben a szakaszban n´eh´any jel¨ol´es ´es alapvet˝o fogalom ut´an defini´aljuk a szingul´aris felbont´ast, igazoljuk a felbont´as l´etez´es´et, majd megmutatjuk, hogy mik´ent haszn´alhat´o a felbont´as dimenzi´o-cs¨okkent´esre. Megjegyezz¨ uk, hogy a szakasz nem mutat a gyakorlatban numerikus szempontb´ol j´ol alkalmazhat´o m´odszert a felbont´as kisz´am´ıt´as´ara. Kisebb adathalmaz eset´en a´ltal´anos line´aris algebrai programcsomag (Matlab, Octave, Maple) haszn´alata javasolt, m´ıg nagyobb adatb´azisokn´al az adatok saj´atoss´ag´at kihaszn´al´o szingul´aris felbont´o program (SVDPack) haszn´alata aj´anlott. Egy U ∈ Rn×n m´atrixot ortogon´ alisnak nevez¨ unk, ha oszlopai ortogon´alis rendszert alkotT nak, azaz U U = In , ahol In az n × n m´eret˝ u egys´egm´atrixot, ´es U T az U transzpon´altj´at jel¨oli. M´ask´eppen mondva U invert´alhat´o ´es U −1 inverz´ere U −1 = U T teljes¨ ul. M´atrix ortogonalit´as´anak szeml´eletes t´argyal´as´ahoz sz¨ uks´eg¨ unk lesz a vektorok hossz´anak a´ltal´anos´ıt´as´ara, a 1
A statisztikusok a szingul´ aris felbont´ ast f˝ okomponens analizisnek (angolul: principal component analysis) h´ıvj´ ak
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
z
Um×m
| Mm×n = u1 |
z
| . . . um · | }|
{
Σm×n
σ1
..
.
}|
{
σr 0 ..
. 0
55
T Vn×n
}| z { T — v — 1 .. · . T — v — n
3.5. a´bra. A szingul´aris felbont´as sematikus v´azlata. pP 2 norma fogalm´ara. Egy v∈Rn vektor kvk2 -vel jel¨olt 2-norm´ aj´ at a kvk2 = os´eggel dei vi egyenl˝ 2 T fini´aljuk. Egyszer˝ uen l´athat´o, hogy kvk2 = v v teljes¨ ul. A 2-norma a´ltal´anos´ıt´asa a tetsz˝oleges Mq ∈ Rm×n m´atrix eset´en ´ertelmezett kM kF Frobenius-norma, amelynek defin´ıci´oja kM kF = P m Pn 2 = i=1 j=1 Mi,j . Visszat´erve az ortogonalit´as szeml´eletes jelent´es´ere, egy ortogon´alis m´atrix a´ltal reprezent´alt line´aris transzform´aci´ora u ´ gy gondolhatunk, mint egy forgat´asra, amely a vektorok hossz´at nem v´altoztatja. A szeml´elet alapja, hogy tetsz˝oleges U ∈ Rn×n ortogon´alis m´atrix ´es x ∈ Rn vektor eset´en kU xk2 = kxk2 teljes¨ ul. Az azonoss´ag az al´abbi elemi l´ep´esekb˝ol k¨ovetkezik : kU xk 22 =(U x)T (U x)=xT (U T U )x= = xT x = kxk22 . Hasonl´oan bel´athat´o, hogy tetsz˝oleges X ∈ Rm×n m´atrix eset´en ´es U ∈ Rm×m illetve V ∈ Rn×n ortogon´alis m´atrixok eset´en igaz, hogy
U XV T = kXk . F F A r¨ovid bevezet˝o ut´an r´at´er¨ unk a szingul´aris felbont´as defin´ıci´oj´ara. Egy nem sz¨ uks´egszer˝ uen n´egyzetes M ∈ Rm×n m´atrix szingul´ aris ´ert´ek felbont´ as´ an (singular value decomposition, SVD) az olyan M = U ΣV T
szorzatt´a bont´ast ´ertj¨ uk, ahol U ∈ Rm×m , V ∈ Rn×n ortogon´alis m´atrixok, tov´abb´a a Σ m´atrix M -mel megegyez˝o m´eret˝ u ´es a bal fels˝o sarokb´ol 45◦ -ban lefele elhelyezked˝o σ1 ≥σ2 ≥. . .≥σr >0 pozit´ıv sz´amokat csupa 0 k¨ovet ´es a t¨obbi elem szint´en 0. A σi sz´amokat szingul´ aris ´ert´ekeknek nevezz¨ uk, ´es a σi = 0 v´alaszt´assal terjesztj¨ uk ki az i > r esetre. A felbont´asb´ol l´athat´o, hogy rang(M ) = rang(Σ) = r. Az U ´es a V oszlopait bal-, illetve jobboldali szingul´ aris vektoroknak mondjuk. A jel¨ol´esek a´ttekint´ese a 3.5. a´br´an l´athat´o. 3.1. t´ etel. Tetsz˝ oleges M ∈ Rm×n m´ atrixnak l´etezik szingul´ aris ´ert´ek felbont´ asa, azaz l´eteznek m×m n×n U ∈R , V ∈R ortogon´ alis m´ atrixok, melyekkel M = U ΣV T ,
ahol Σ∈R
m×n
,
Σ=
Σ+ 0 0 0
,
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
56
tov´ abb´ a Σ+ egy r × r m´eret˝ u diagon´ alis m´ atrix, amelynek f˝ oa ´tl´ oj´ aban a σ 1 ≥ σ2 ≥ . . . ≥ σr > 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 ∈ R n×n vektor eset´en xT M T M x=(M x)T (M x)=kM xk22 ≥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 M Vr = Σ+ 2 . Vezess¨ uk be az Ur = M Vr Σ+ −1 jel¨ol´est, ekkor M = Ur Σ+ VrT . Az Ur vektorai ortogon´alis vektorrendszert alkotnak, ezt tetsz˝olegesen kieg´esz´ıtve U = (U r 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 u i viT di´adok monoton cs¨okken˝o σi s´ ullyal szerepelnek az o¨sszegben. Innen ad´odik az o¨tlet, hogy k < r eset´en csak az els˝o k legnagyobb s´ uly´ u di´ad o¨sszeg´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˝oa´tl´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
57
3.2. t´ etel. Legyen M egy legal´ abb k rang´ u m´ atrix ´es legyen M k 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 − N kF .
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
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 = U k Σ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.
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.
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 a´bra szeml´elteti.
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
58
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. Kicsit ´erthetetlenebb m´odon fel´ırva a Jaccard ´ert´eket : di,j =
mi (mj )T , ||mi ||2 + ||mj ||2 − mi (mj )T
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 a´tlagos sz´am´at, akkor r n. c m´atrixot az M lenyomatm´atrix´anak fogjuk h´ıvni. A lenyomatm´atrixnak nem kell Az M 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 a´ll 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 a´llna. A minhash alap´ u lenyomat egy elem´et a k¨ovetkez˝ok´eppen a´ll´ı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 16 2 m´atrix sorainak sz´ama 2 -n´al kisebb, akkor a sz¨ ulet´esnapi paradoxon alapj´an v´alasszunk 32 2
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
˝ ´ HASONLOS ´ AGI ´ ¨ ´ 3. FEJEZET. ELOFELDOLGOZ AS, FUGGV ENYEK
59
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 a´ll´ıtunk el˝o, ´es k darab hash ´ert´eket t´arol´o v´altoz´ot tartunk karban. Vegy¨ uk ´eszre, hogy a lenyomat el˝oa´ll´ı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 a´ll´ıt´as : Es al kisebb 3.4. t´ etel. Legyenek 0<δ <1, ´es >0 val´ os sz´ amok. Amennyiben k >− ln2δ/2 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[X l ] = p = P(M Y cj,` ) = dij . A lenyomatok hasonl´os´ag´anak defin´ıci´oj´ab´ol ad´odik, hogy dbij = . ´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 P |dbij − dij | > ≤ 2e−2 k .
(365 r )·r! napon u ¨nneplik a sz¨ ulet´esnapjukat?”. Elemi kombinatorikus u ´ton a v´ alasz meghat´ arozhat´ o : p r = 1 − 365 ≈ r −r 2 . A feladat k¨ ovetkezm´enye az az a ´ll´ıt´ as, miszerint 2n elemnek 22n elem˝ u halmazb´ ol kell egyenletes ≈ 1−exp 3·365 eloszl´ as szerint v´eletlenszer˝ uen egyes´evel kulcsot sorsolni, hogy kicsi (exp(−3)<0.05) legyen annak val´ osz´ın˝ us´ege, hogy k´et elem ugyanazt a kulcsot kapja.
4. fejezet Gyakori elemhalmazok A gyakori elemhalmazok kinyer´ese az adatb´any´aszat eltulajdon´ıthatatlan ter¨ ulete. A feladat v´as´arl´oi szok´asok kinyer´es´en´el mer¨ ult fel r´eszfeladatk´ent. A nagy profitot els˝osorban a gyakran egy¨ utt v´as´arolt term´ekek, term´ekhalmazok jelentik, ´ıgy ezek kinyer´ese jelentette az els˝o l´ep´est a feladat megold´as´an´al. Egyes alkalmaz´asokban a gyakori r´eszstrukt´ ur´ak, gyakori mint´ak meghat´arz´as´an´al elemhalmazok helyett sorozatok, gy¨okeres f´ak, c´ımk´ezett gr´afok vagy bool-formul´akat kerestek. A 11 fejezetben bemutatjuk a gyakori mint´ak b´any´aszat´anak absztrakt modellj´et, majd egyes´evel vessz¨ uk a k¨ ul¨onb¨oz˝o t´ıpus´ u mint´akat ´es megvizsg´aljuk, hogy milyen technik´ak alkalmazhat´ok. A gyakori elemhalmazok b´any´aszata nagyon n´epszer˝ u kutat´asi ter¨ ulet. A publik´alt algoritmusokkal k¨onyveket lehetne megt¨olteni. Ebben a jegyzetben csak a legh´ıresebb algoritmusokat ´es o¨tleteket ismertetj¨ uk.
4.1. A gyakori elemhalmaz fogalma Legyen I = {i1 , i2 , . . . , im } elemek halmaza ´es T = ht1 , . . . , tn i az I hatv´anyhalmaza felett ´ertelmezett sorozat, azaz tj ⊆ I. A T sorozatot bemeneti sorozatnak h´ıvjuk, amelynek tj elemei a tranzakci´ ok . Az I ⊆ I elemhalmaz fed´ese megegyezik azon tranzakci´ok sorozat´aval, amelyeknek r´eszhalmaza az I. Az I elemhalmaz t´ amogatotts´ aga a fed´es´enek elemsz´am´aval egyezik meg (jel¨ol´esben supp(I)). Az I gyakori, amennyiben t´amogatotts´aga nem kisebb egy el˝ore megadott konstansn´al, amelyet hagyom´anyosan min supp-pal jel¨ol¨ unk, ´es t´ amogatotts´ agi k¨ usz¨ obnek h´ıvunk. A gyakori elemhalmazok keres´ese sor´an adott egy usz¨ob, feladatunk megI elemhalmaz, T bemeneti sorozat, min supp t´amogatotts´agi k¨ hat´arozni a gyakori elemhalmazokat ´es azok t´amogatotts´ag´at. Az egyszer˝ us´eg kedv´e´ert a halmazt jel¨ol˝o kapcsos z´ar´ojeleket (s˝ot az elemek hat´arol´o vessz˝ot) gyakran elhagyjuk, teh´at p´eld´aul az h{A, C, D}, {B, C, E}, {A, B, C, E}, {B, E}, {A, B, C, E}i sorozatot hACD, BCE, ABCE, BE, ABCEi form´aban ´ırjuk. Az a´ltal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy az I elemein tudunk egy rendez´est defini´alni, ´es a mint´ak illetve a tranzakci´ok elemeit minden esetben nagys´ag szerint n¨ov˝o sorrendben t´aroljuk. Ezen rendez´es szerinti lexikografikusan tudjuk rendezni az azonos m´eret˝ u halmazokat. A keres´esi teret u ´ gy k´epzelhetj¨ uk el, mint egy ir´any´ıtott gr´afot, amelynek cs´ ucsai az elemhalmazok, ´es az I1 -b˝ol ´el indul I2 -be, amennyiben I1 ⊂ I2 , ´es |I1 |+1 = |I2 |. A keres´esi t´er bej´ar´as´an mindig ezen gr´af egy r´esz´enek bej´ar´as´at fogjuk ´erteni. Teh´at p´eld´aul a keres´esi t´er sz´eless´egi 60
4. FEJEZET. GYAKORI ELEMHALMAZOK
61
bej´ar´asa ezen gr´af sz´eless´egi bej´ar´as´at jelenti. Elterjedt, hogy a t´amogatotts´ag helyett gyakoris´ agot, a t´amogatotts´agi k¨ usz¨ob helyett gyakoris´ agi k¨ usz¨ ob¨ ot haszn´alnak, melyeket f req(I)-vel, illetve min freq-kel jel¨olnek. Az I elemhalmaz gyakoris´ag´an a supp(I)/|T | h´anyadost ´ertj¨ uk. A gyakorlatban el˝ofordul´o adatb´azisokban nem ritka, hogy az elemek sz´ama 10 5 − 106 , a tranzakci´ok´e pedig 109 − 1010 . Elm´eletileg m´ar az eredm´eny ki´ır´asa is az I elemsz´am´aban exponenci´alis lehet, hiszen el˝ofordulhat, hogy I minden r´eszhalmaza gyakori. A gyakorlatban a maxim´alis m´eret˝ u gyakori elemhalmaz m´erete |I|-n´el j´oval kisebb (legfeljebb 20-30). Ezen k´ıv¨ ul minden tranzakci´o viszonylag kicsi, azaz |tj | |I|. A keres´esi t´er teh´at nagy, ami azt jelenti, hogy az egyszer˝ u nyers er˝o m´odszerek (hat´arozzuk meg minden elemhalmaz t´amogatotts´ag´at, majd v´alogassuk ki a gyakoriakat) elfogadhatatlanul lassan futn´anak. A k´es˝obbiekben gyakran haszn´aljuk majd tranzakci´ok eset´en a sz˝ urt” jelz˝ot. Egy tranzakci´o ” sz˝ urt tranzakci´oj´at u ´ gy kaphatjuk meg, ha t¨or¨olj¨ uk bel˝ole a ritka elemeket. A sz˝ urt tranzakci´ok minden inform´aci´ot tartalmaznak a gyakori elemhalmazok kinyer´es´ehez, ez´ert a legt¨obb algoritmus els˝o l´ep´ese a gyakori elemek meghat´aroz´asa, majd a sz˝ urt tranzakci´ok el˝oa´ll´ıt´asa. Ezut´an az eredeti adatb´azist nem haszn´alj´ak t¨obb´e. A bemenetet illet˝oen h´arom adatt´arol´asi m´odot szoktak elk¨ ul¨on´ıteni. Horizont´ alis adatb´ azisr´ol besz´el¨ unk, ha a tranzakci´okat azonos´ıt´oval l´atjuk el, ´es minden azonos´ıt´ohoz t´aroljuk a tranzakci´oban tal´alhat´o elemeket. Vertik´ alis adatb´ azisn´ al minden elemhez t´aroljuk az elemet tartalmaz´o tranzakci´ok azonos´ıt´oit (sorsz´am´at). A vertik´alis t´arol´as nagy el˝onye, hogy gyorsan megkaphatjuk egy elemhalmaz fed´es´et (az elemekhez tartoz´o kosarak metszet´et kell k´epezni), amib˝ol k¨ozvetlen ad´odik a t´amogatotts´ag. Mind a horizont´alis, mind a vertik´alis a´br´azol´asi m´odn´al haszn´alhatunk az elemek vagy tranzakci´ok felsorol´asa helyett r¨ogz´ıtett sz´eless´eg˝ u bitvektorokat. Az i-edik elem (tranzakci´o) megl´et´et az i-edik poz´ıci´oban szerepl˝o 1-es jelzi. tranzakci´o 1 2
elemhalmaz C A,B,C
elem A B C
tranzakci´ohalmaz 2 2 1,2
tranzakci´o 1 2 2 2
elem C A B C
4.1. t´abl´azat. Horizont´alis-, vertik´alis- ´es rel´aci´os t´arol´asi m´od Tudjuk, hogy egy tranzakci´oban v´altoz´o sz´am´ u elem lehet (´es ford´ıtva : egy elem v´altoz´o sz´am´ u tranzakci´oban szerepelhet). A legt¨obb mai adatb´azis rel´ aci´ os t´ abl´ ak form´aj´aban van elmentve, amelyekben csak r¨ogz´ıtett sz´am´ u attrib´ utum szerepelhet. A val´os´agban ez´ert a tranzakci´ok k´et attrib´ utummal rendelkez˝o rel´aci´os t´abla form´aj´aban tal´alhat´ok, ahol az els˝o attrib´ utum a tranzakci´ot, a m´asodik pedig az elemet adja meg (pontosabban a tranzakci´ok ´es az elemek azonos´ıt´oit). A h´arom t´arol´asi m´odszerre mutatnak p´eld´at a 4.1 t´abl´azatok. ´ azoljuk ezt, mint G = (I, T, R) A bemenetet elemhalmazok sorozatak´ent defini´altuk. Abr´ ir´any´ıtatlan, p´aros gr´af, vagy mint B bin´aris m´atrix. Ha a t tranzakci´o tartalmazza az i elemet, akkor ´es csak akkor az (i, t) eleme R-nek. Vagy m´atrix eset´en a t sor´anak i eleme 1 (k¨ ul¨onben 0). A hACD, BCE, ABCE, BE, ABCEi bemenethez tartoz´o gr´af ´es bin´aris m´atrix a 4.1 ´es a 4.2 a´br´an l´athat´o.
4. FEJEZET. GYAKORI ELEMHALMAZOK
1
2
3
4
5
A
B
C
D
E
4.1. a´bra. Gr´afos a´br´azol´asi m´od
62
1 2 3 4 5
A B 1 1 1 1 1 1 1
C 1 1 1 1
D E 1 1 1 1 1
4.2. a´bra. Bin´aris m´atrixos a´br´azol´asi m´od
A bemeneti adatot szokt´ak a s˝ ur˝ u (dense) illetve a ritka (sparse) jelz˝ovel illetni, amellyel a bin´aris m´atrixban tal´alhat´o 1-esek sz´am´ara utalnak. V´as´arl´oi kosarakat a´br´azol´o m´atrix tipikusan ritka, ugyanis a kosarakban a´ltal´aban j´oval kevesebb term´ek van (50-100), mint az o¨sszes term´ek sz´ama (10 000-100 000). A tranzakci´ok sz´ama a´ltal´aban nagy, de a mai t´arol´okapacit´asok mellett, m´eg eg´eszen nagy adatb´azisok is elf´ernek a mem´ori´aban. Gondoljuk meg p´eld´aul, hogy egy 10 7 tranzakci´ot tartalmaz´o adatb´azis csak 120 MB helyet k´ıv´an, amennyiben a tranzakci´ok a´tlagos m´erete 6 elem. Csak extr´em nagy adathalmazok eset´en nem alkalmazhat´ok azok az algoritmusok, amelyek felt´etelezik, hogy a bemenet (vagy a sz˝ urt tranzakci´ok) elf´ernek a mem´ori´aban. Miel˝ott bemutatjuk az APRIORI m´odszert elemhalmazok eset´en, gondolkozzunk el azon, vajon m˝ uk¨odne-e az al´abbi egyszer˝ u algoritmus a gyakorlatban. Olvassuk be a h´att´ert´arol´ob´ol az adatb´azis els˝o blokkj´at, ´es vizsg´aljuk meg az els˝o tranzakci´ot. Ennek a t 1 tranzakci´onak az o¨sszes r´eszhalmaz´at t´aroljuk el a mem´ori´aban ´es mindegyikhez rendelj¨ unk egy sz´aml´al´ot 1 kezdeti ´ert´ekkel. Az I elemhalmazhoz rendelt sz´aml´al´o fogja t´arolni I t´amogatotts´ag´at. Az els˝o tranzakci´o feldolgoz´asa ut´an vizsg´aljuk meg sorban a t¨obbit : a t i tranzakci´o minden r´eszelemhalmaz´anak sz´aml´al´oj´at n¨ovelj¨ uk eggyel, vagy vegy¨ uk fel a mem´ori´aba egy u ´j sz´aml´al´oval, amennyiben az eddig feldolgozott tranzakci´oban m´eg nem fordult el˝o. Az adatb´azis teljes v´egigolvas´asa ut´an az o¨sszes – valahol el˝ofordul´o – elemhalmaz t´amogatotts´aga rendelkez´es¨ unkre a´ll, amib˝ol k¨onnyen megkaphatjuk a gyakoriakat. L´athat´o, hogy enn´el az egyszer˝ u algoritmusn´al IO szempontj´ab´ol gyorsabbat nem lehet tal´alni, mert az adatb´azis egyszeri v´egigolvas´asa mindenk´eppen sz¨ uks´eges a t´amogatotts´ag meghat´aroz´as´ahoz ´es enn´el az algoritmusn´al el´eg is. A gyakorlatban m´egsem haszn´alj´ak ezt a gyors ´es egyszer˝ u algoritmust. Ennek oka, hogy az ´eletben el˝ofordul´o adatb´azisokban nem ritka, hogy valamelyik tranzakci´o sok elemet tartalmaz. Egy a´tlagos szupermarketben mindennapos, hogy valaki 60 k¨ ul¨onb¨oz˝o elemet v´as´arol. Ekkor csak a sz´aml´al´ok mintegy 16 ezer TB-ot foglaln´anak a mem´ori´ab´ol, amennyiben a sz´aml´al´ok 4 byte-osak. A sz´aml´al´okat mindenk´eppen a mem´ori´aban szeretn´enk tartani, hogy elker¨ ulj¨ uk a folyamatos swappel´est, hiszen egy u ´ j tranzakci´o vizsg´alat´an´al nem tudjuk el˝ore, hogy melyik sz´aml´al´ot kell n¨ovelni. Abban az esetben, ha biztosan tudjuk, hogy a tranzakci´ok egyike sem tartalmaz sok elemet, vagy az adatb´azis bin´aris ´ert´ekeket tartalmaz´o m´atrix form´aj´aban adott, ahol az oszlopok (attrib´ utumok) sz´ama kicsi, akkor a fenti algoritmus hat´ekonyan haszn´alhat´o. A fenti algoritmus kis m´odos´ıt´as´at javasolt´ak [11]-ben. Egyr´eszt csak olyan elemhalmazokat vizsg´altak, amelyek m´erete nem halad meg egy el˝ore megadott korl´atot, m´asr´eszr˝ol a vizsg´alt elemhalmazokat ´es sz´aml´al´oikat – a gyors visszakeres´es ´erdek´eben – sz´of´aban t´arolt´ak. A m´odszernek k´et s´ ulyos h´atr´anya van : nem teljes (az algoritmus nem tal´alja meg azokat az elemhalmazokat, amelyek m´erete nagyobb az el˝ore megadott k¨ usz¨obn´el), tov´abb´a t´ uls´agosan nagy a mem´oriaig´enye (sok lehet a hamis jel¨olt).
4. FEJEZET. GYAKORI ELEMHALMAZOK
63
Amennyiben az adatb´azisunk kicsi, akkor m´eg a fenti egyszer˝ u algoritmusokat sem kell leprogramoznunk, mert egy teljesen szabv´anyos adatb´azis-lek´erdez˝o nyelv seg´ıts´eg´evel megkaphatjuk a gyakori elemhalmazokat. Az al´abbi SQL parancs a gyakori elemp´arokat adja eredm´eny¨ ul. SELECT I.elem,J.elem, COUNT(I.tranzakci´ o) FROM tranzakci´ ok I, tranzakci´ ok J WHERE I.tranzakci´ o=J.tranzakci´ o AND I.elem<J.elem GROUP BY I.elem, J.elem HAVING COUNT(I.tranzakci´ o) >= min_supp
4.3. a´bra. SQL utas´ıt´as gyakori elemp´arok kinyer´es´ehez L´atnunk kell, hogy a fenti parancs az o¨sszekapcsol´as (FROM mez˝oben k´et t´abla) m˝ uvelet miatt nem fog m˝ uk¨odni, ha az adatb´azis m´erete t´ ul nagy. A k¨ovetkez˝okben bemutatjuk a h´arom legh´ıresebb gyakori elemhalmazokat kinyer˝o (GYEK) algoritmust. Mindh´arman az u ¨ res mint´ab´ol indulnak ki. Az algoritmusok egy adott f´azis´aban jel¨ oltnek h´ıvjuk azokat az elemhalmazokat, amelyek t´amogatotts´ag´at meg akarjuk hat´arozni. Az algoritmus akkor teljes, ha minden gyakori elemhalmazt megtal´al ´es helyes, ha csak a gyakoriakat tal´alja meg. Mindh´arom algoritmus h´arom l´ep´est ism´etel. El˝osz¨or jel¨olteket a´ll´ıtanak el˝o, majd meghat´arozz´ak a jel¨oltek t´amogatotts´ag´at, v´eg¨ ul kiv´alogatj´ak a jel¨oltek k¨oz¨ ul a gyakoriakat. Term´eszetesen az egyes algoritmusok k¨ ul¨onb¨oz˝o m´odon j´arj´ak be a keres´esi teret (az o¨sszes lehets´eges elemhalmazt), a´ll´ıtj´ak el˝o a jel¨olteket, ´es k¨ ul¨onb¨oz˝o m´odon hat´arozz´ak meg a t´amogatotts´agokat. Az a´ltal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy az I elemein tudunk defini´alni egy teljes rendez´est, ´es a jel¨oltek, illetve a tranzakci´ok elemeit ezen rendez´es szerint t´aroljuk. M´as sz´oval az elemhalmazokat sorozatokk´a alak´ıtjuk. Egy sorozat `-elem˝ u prefix´en a sorozat els˝o ` elem´eb˝ol k´epzett r´eszsorozat´at ´ertj¨ uk. A p´eld´akban majd, amennyiben a rendez´esre nem t´er¨ unk ki k¨ ul¨on, az a´b´ec´e szerinti sorrendet haszn´aljuk. A GYEK algoritmusok a´ltal´aban ´erz´ekenyek a haszn´alt rendez´esre. Ez´ert minden algoritmusn´al megvizsg´aljuk, hogy milyen rendez´est c´elszer˝ u haszn´alni annak ´erdek´eben, hogy a fut´asi id˝o, vagy a mem´oriasz¨ uks´eglet a lehet˝o legkisebb legyen. A jel¨olt-el˝oa´ll´ıt´as ism´etl´es n´elk¨ uli, amennyiben nem a´ll´ıtja el˝o ugyanazt a jel¨oltet t¨obbf´ele m´odon. Ez a hat´ekonys´ag miatt fontos, ugyanis ism´etl´eses jel¨olt-el˝oa´ll´ıt´as eset´eben minden jel¨olt el˝oa´ll´ıt´asa ut´an ellen˝orizni kellene, hogy nem a´ll´ıtottuk-e el˝o m´ar kor´abban. Ha ezt nem tessz¨ uk, akkor feleslegesen k¨ot¨ unk le er˝oforr´asokat a t´amogatotts´ag ism´etelt meghat´aroz´as´an´al. Mindh´arom ismertetett algoritmusban a jel¨oltek el˝oa´ll´ıt´asa ism´etl´es n´elk¨ uli lesz, amit a rendez´essel tudunk garant´alni. Az algoritmusok pszeudok´odjaiban GY -vel jel¨olj¨ uk a gyakori elemhalmazok halmaz´at, J-vel a jel¨oltek´et ´es j.sz´aml´al´o-val a j jel¨olt sz´aml´al´oj´at. Az olvashat´obb k´odok ´erdek´eben feltessz¨ uk, hogy minden sz´aml´al´o kezdeti ´ert´eke nulla, ´es az olyan halmazok, amelyeknek nem adunk kezdeti ´ert´eket (p´eld´aul GY ), nem tartalmaznak kezdetben egyetlen elemet sem.
4. FEJEZET. GYAKORI ELEMHALMAZOK
64
4.2. Az Apriori algoritmus Az Apriori algoritmus az egyik legels˝o GYEK algoritmus. Sz´eless´egi bej´ar´ast val´os´ıt meg, ami azt jelenti, hogy a legkisebb mint´ab´ol (ami az u ¨ res halmaz) kiindulva szintenk´ent halad el˝ore a nagyobb m´eret˝ u gyakori elemhalmazok meghat´aroz´as´ahoz. A k¨ovetkez˝o szinten (iter´aci´oban) az eggyel nagyobb m´eret˝ u elemhalmazokkal foglalkozik. Az iter´aci´ok sz´ama legfeljebb eggyel t¨obb, mint a legnagyobb gyakori elemhalmaz m´erete. A jel¨oltek defini´al´as´an´al a k¨ovetkez˝o egyszer˝ u t´enyt haszn´alja fel : Gyakori elemhalmaz minden r´eszhalmaza gyakori. Az a´ll´ıt´ast indirekten n´ezve elmondhatjuk, hogy egy elemhalmaz biztosan nem gyakori, ha van ritka r´eszhalmaza. Ennek alapj´an ne legyen jel¨olt azon elemhalmaz, amelynek van ritka r´eszhalmaza. Az Apriori algoritmus ez´ert ´ep´ıtkezik lentr˝ol. Egy adott iter´aci´oban csak olyan jel¨oltet vesz¨ unk fel, amelynek o¨sszes val´odi r´eszhalmaz´ar´ol tudjuk, hogy gyakori. Az algoritmus onnan kapta a nev´et, hogy az `-elem˝ u jel¨olteket a bemeneti sorozat `-edik a´tolvas´as´anak megkezd´ese el˝ott (a priori) a´ll´ıtja el˝o. Az `-elem˝ u jel¨oltek halmaz´at J ` -lel, az `-elem˝ u gyakori elemhalmazokat pedig GY` -lel jel¨olj¨ uk. Algorithm 1 Apriori Require: T : tranzakci´ok sorozata, min supp : t´amogatotts´agi k¨ usz¨ob, `←0 J` ← {∅} while |J` | 6= 0 do t´amogatotts´ag meghat´aroz´as( T , J` ) ; GY1 ← gyakoriak kiv´alogat´asa( J` , min supp ) ; J`+1 ← jel¨olt el˝oa´ll´ıt´as( GY` ) ; ` ← `+1; end while return GY A kezdeti ´ert´ekek be´all´ıt´asa ut´an egy ciklus k¨ovetkezik, amely akkor ´er v´eget, ha nincsen egyetlen `-elem˝ u jel¨olt sem. A cikluson bel¨ ul el˝osz¨or meghat´arozzuk a jel¨oltek t´amogatotts´ag´at. Ehhez egyes´evel vessz¨ uk a tranzakci´okat, ´es azon jel¨oltek sz´aml´al´oj´at n¨ovelj¨ uk eggyel, amelyeket tartalmaz a vizsg´alt tranzakci´o. Ha rendelkez´esre a´llnak a t´amogatotts´agok, akkor a jel¨oltek k¨oz¨ ul kiv´alogathatjuk a gyakoriakat. Weka 3.5.7
Gyakori elemhalmazokat u ´gy nyerhet¨ unk ki, ha asszoci´ aci´ os szab´ alyokat keres¨ unk Apriori algoritmussal. Ehhez az Associate f¨ ulre kell klikkeln¨ unk, majd a Apriori kell v´ alasztanunk, mint Associator. Alapb´ ol a m´ odszer csak asszoci´ aci´ os szab´ alyokat nyer ki, de ha az outputItemSets param´etert igazra a ´ll´ıtjuk, akkor megkaphatjuk a gyakori elemhalmazokat is. A m´ odszer f˝ o h´ atr´ anya, hogy asszoci´ aci´ os szab´ alyokat keres, nem pedig gyakori elemhalmazokat ez´ert nem tudjuk el´erni, hogy az adott min supp-n´ al nagyobb t´ amogatotts´ ag´ u elemhalmazokat adja meg. A weka.associations.Apriori oszt´ alyr´ ol b˝ ovebben az asszoci´ aci´ os szab´ alyok fejezetben ´ırunk a 104. oldalon.
4. FEJEZET. GYAKORI ELEMHALMAZOK
65
4.2.1. Jel¨ oltek el˝ o´ all´ıt´ asa ¨ lt-elo ˝a ´ll´ıta ´s f¨ A Jelo uggv´eny az `-elem˝ u gyakori elemhalmazokb´ol (`+1)-elem˝ u jel¨olteket a´ll´ıt el˝o. Azok ´es csak azok az elemhalmazok lesznek jel¨oltek, amelyek minden r´eszhalmaza gyakori. A jel¨oltek el˝oa´ll´ıt´asa sor´an olyan `-elem˝ u, gyakori I1 , I2 elemhalmaz p´arokat keres¨ unk, amelyekre igaz, hogy – I1 lexikografikusan megel˝ozi I2 -t, – I1 -b˝ol a legnagyobb elem t¨orl´es´evel ugyanazt az elemhalmazt kapjuk, mintha az I 2 -b˝ol t¨or¨oln´enk a legnagyobb elemet. Ha a felt´eteleknek megfelel˝o p´art tal´alunk, akkor k´epezz¨ uk a p´ar uni´oj´at, majd ellen˝orizz¨ uk, hogy a kapott elemhalmaznak minden val´odi r´eszhalmaza gyakori-e. A t´amogatotts´ag antimonotonit´asa miatt sz¨ uks´egtelen az o¨sszes val´odi r´eszhalmazt megvizsg´alni ; ha mind az ` + + 1 darab `-elem˝ u r´eszhalmaz gyakori, akkor az o¨sszes val´odi r´eszhalmaz is gyakori. Az I 1 , I2 halmazokat a jel¨olt gener´ atorainak szok´as h´ıvni. 4.1. p´ elda. Legyenek a 3-elem˝ u gyakori elemhalmazok a k¨ ovetkez˝ ok : GY 3 = {ABC, ABD, ACD, ACE, BCD}. Az ABC ´es ABD elemhalmazok megfelelnek a felt´etelnek, ez´ert k´epezz¨ uk az uni´ ojukat. Mivel ABCD minden h´ aromelem˝ u r´eszhalmaza a GY 3 -nak is eleme, az ABCD jel¨ olt lesz. Az ACD, ACE p´ ar is megfelel a k´et felt´etelnek, de uni´ ojuknak van olyan r´eszhalmaza (ADE), amely nem gyakori. Az Apriori a k¨ ovetkez˝ o iter´ aci´ oban teh´ at m´ ar csak egyetlen jel¨ olt t´ amogatotts´ ag´ at hat´ arozza meg. A fenti m´odszer csak akkor alkalmazhat´o, ha `>0. Az egyelem˝ u jel¨oltek el˝oa´ll´ıt´asa egyszer˝ u: minden egyelem˝ u halmaz jel¨olt, amennyiben az u ¨ res elemhalmaz gyakori (|T | ≥ min supp). Ez o¨sszhangban a´ll 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 o¨ssze 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..|GY 1 |] 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 a´ll´o p´ar
4. FEJEZET. GYAKORI ELEMHALMAZOK
66 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. a´bra. 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 a´ltal´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 [128]. 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 o˝ket 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 a´ltal 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 a´lljunk 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 [3]. 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 [123]-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
67
A B C
B C
D
C D
D
4.5. a´bra. 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. a´br´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 a´ltal 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 o¨sszevonjuk, ´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˝oa´ll´ı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˝oa´ll´ıt´as´ara, hiszen a sz´ofa t´arolja a jel¨olt-el˝oa´ll´ı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 a´ll (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˝oa´ll´ı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˝oa´ll´ı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 a´ll´ıtanak el˝o, amelyek k¨ ul¨onb¨oz˝o sz´of´akat eredm´enyeznek. Erre mutat p´eld´at a k¨ovetkez˝o a´bra, ahol k´et olyan sz´of´at l´athatunk, ame-
4. FEJEZET. GYAKORI ELEMHALMAZOK
68
lyek a AB, ABC 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. a´bra. 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˝oa´ll´ı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 a´bra 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
6
7
B 3
2 C
C B 4
5
6
C
C 8
Z
1 A
A
A
7
4.7. a´bra. 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
69
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 o¨tletet, 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 o¨ssze 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 a´ltal 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˝oa´ll´ıt´as´aval egy¨ utt tessz¨ uk meg. A jel¨oltek el˝oa´ll´ı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˝oa´ll´ı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 o¨sszegy˝ 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
70
els˝o v´egigolvas´as ut´an rendelkez´esre a´llnak 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˝oa´ll´ı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˝ oo ¨tlet. Minden tranzakci´ ob´ ol t¨ or¨ olj¨ uk a ritka elemeket. Egyszer˝ u sz˝ ur˝o o¨tletek a k¨ovetkez˝ok : 2. sz˝ ur˝ oo ¨tlet. 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˝ oo ¨tlet. T¨ or¨ olj¨ uk a tranzakci´ ot, amennyiben az nem tartalmaz jel¨ oltet. Ennek az o¨tletnek a jav´ıtott v´altozata : 4. sz˝ ur˝ oo ¨tlet. 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˝oo¨tletet 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 o ¨sszef¨ 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
71
5. sz˝ ur˝ oo ¨tlet. 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 o¨tletet, ha ez lehets´eges. A fenti p´eld´aban a t00 = 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 a´ll´ı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 [15], 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˝oa´ll´ıtani, a 4.3 tulajdons´ag alapj´an ezek t´amogatotts´aga X ∪ Z r´eszhalmazukb´ol k¨ozvetlen¨ ul sz´am´ıthat´o [66]. 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˝oa´ll´ı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˝oa´ll´ı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˝ oa ´ll´ıt´ as´ ahoz egyed¨ ul az AD elemhalmazt kell figyelembe venn¨ unk. Azonban egy
4. FEJEZET. GYAKORI ELEMHALMAZOK
72
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˝oa´ll´ı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 a ´bra a sz´ ofa ritka jel¨ oltek elt´ avol´ıt´ asa ut´ ani a ´llapot´ 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 a ´ll´ıtottuk volna el˝ o mint jel¨ olt, holott minden r´eszhalmaza gyakori. A C
B B
C,D
4.8. a´bra. P´elda : equisupport levelek elt´avol´ıt´asa Ez a p´elda az equisupport nyes´es ´es a zs´akutcanyes´es k¨ozti o¨sszef¨ 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˝oa´ll´ı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
73
pontok equisupport halmazainak o¨sszm´eret´et. P´eld´aul a 4.8 a´br´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 o¨tleteket a [22, 25, 58] ´ı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 [24, 25]. Ezt a m´odszert alkalmazza Christian Borgelt a vil´agh´ır˝ u Apriori implement´aci´oja utols´o v´altozataiban. Az a megfigyel´es a´ll az o¨tlet 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 a´ll 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 82 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 [24]-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 a´ltal mutatott ´elek mutatnak. A 74 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 o¨tlet´et (l´asd 4.2.6-¨os r´esz) is alkalmazzuk. Tov´abbi r´eszletek tudhatunk meg a [24] tanulm´anyb´ol.
4. FEJEZET. GYAKORI ELEMHALMAZOK
74
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 o¨sszes `-elem˝ u jel¨oltre, amelyek sz´ama u jel¨oltek el˝oa´ll´ı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 o¨sszes 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
75
Ezt a reprezent´aci´ot h´ıvj´ak `-kanonikus reprezent´ aci´ onak . Meghat´aroz´ u: asa nagyon egyszer˝ +1 `−1 m` -nek ki kell el´eg´ıtenie a m`` ≤ n < m``+1 felt´etelt, m`−1 -nek a m`−1 ≤ n − m`` < m`−1 `−1 `−1 felt´etelt, ´es ´ıgy tov´abb, am´ıg n − m`` − m`−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 o¨sszes 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 s = r − 1. A fenti t´etel a Kruskal–Katona t´etel k¨ovetkezm´enye, ez´ert a t´etelben szerepl˝o fels˝o korl´atot a uk. tov´abbiakban KK``+p (|GY` |)-el jel¨olj¨ 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 `+p GY` , amelyre |GY` | = n, ´es |J`+p (GY` )| = KK` (|GY` |). A kanonikus reprezent´aci´o seg´ıts´eg´evel egyszer˝ u ´eles fels˝o becsl´est tudunk adni a legnagyobb jel¨olt m´eret´ere (jel¨ol´esben maxsize(GY` )) is. Tudjuk, hogy |GY` | < m``+1 , 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 els˝ o tag m`` , 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 a´ll´ıt´as ny´ ujt seg´ıts´eget. 4.11. k¨ ovetkezm´ eny. Az o ¨sszes lehets´eges `-n´el nagyobb m´eret˝ u jel¨ olt sz´ ama legfeljebb KK`o¨sszes (|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 o˝ket 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 a´ll´ı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 :
76 Angol kutat´ ok a ´ll´ı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 a ´pol´ 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 a ´ll´ 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 ∗ (GY` ). 4.12. t´ etel. |J`+p (GY` )| ≤ KK`,p
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 jel¨ Pol´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
77
is p´aronk´ent diszjunkt halmazcsal´adok. Ebb˝ol k¨ovetkezik az a´ll´ı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 o¨sszeg 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 o ¨sszes lehets´eges `-n´el nagyobb m´eret˝ u jel¨ olt sz´ ama legfeljebb KK¨o∗sszes (GY` ) lehet, ´es KK¨o∗sszes (GY` ) ≤ KK`¨osszes (|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 o¨sszes 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 ∗ ) ´es (GY`−d egyszer˝ u rekurz´ıv m´odszer seg´ıts´eg´evel minden cs´ ucshoz kisz´am´ıthatjuk a KK `−d,p `−d+p I I ucshoz ucs m´elys´eg´et jel¨oli, GY`−d pedig az adott cs´ KK`−d (|GY`−d |) ´ert´ekeket, ahol d a cs´ tartoz´o r´eszfa a´ltal 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
78
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 a´ll´ı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 a´ll´ı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 78 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 P ∅ elemhalmazokb´ol alkotott halmazcsal´adot GY -vel. Nyilv´anval´o, hogy GY = GY1 . Az Eclat jel¨olt-el˝oa´ll´ıt´asa megegyezik az Apriori jel¨olt-el˝oa´ll´ı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 a´ll rendelkez´es¨ unkre). L´athat´o, hogy az Eclat abban is k¨ ul¨onb¨ozik az Apriori-t´ol, hogy egy jel¨olt el˝oa´ll´ıt´asa ut´an azonnal meghat´arozza a t´amogatotts´ag´at, miel˝ott u ´ jabb jel¨oltet a´ll´ı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, DM i ´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˝ oa ´ll´ıtjuk ´es
4. FEJEZET. GYAKORI ELEMHALMAZOK
79
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, a ´ll´ıtjuk el˝ o a TID-halmaz´ at, amely alapj´ an kider¨ ul, hogy az ACG ritka, ´es a rekurzi´ o ezen a ´ga 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 a´ll´ıt el˝o, mint az Apriori. A m´elys´egi bej´ar´as miatt ugyanis egy jel¨olt el˝oa´ll´ıt´as´an´al nem a´ll rendelkez´es¨ unkre az o¨sszes 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˝oa´ll´ı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
80
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˝ oa ´ll´ı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 a ´ll´ı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 o¨tv¨oz´ese adhatja (p´eld´aul 4-n´el kisebb elemsz´amn´al TID lista, ut´ana k¨ ul¨onbs´egi list´ak) [191]. 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 [74] 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 o ¨sszes 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
81
Algorithm 5 FP-growth Require: T : tranzakci´ok sorozata, min supp : t´amogatotts´agi k¨ usz¨ob, 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 o¨nmag´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´ ed(T ∗|gy,min supp, P ∪ {gy}) GY ← GY ∪ {P ∪ {gy}} FP-growth-seg´ ∗ ∗ ¨ rl´ T ← to es(T , gy) end for return GY Egy rekurzi´os l´ep´es h´arom f˝o l´ep´esb˝ol a´ll. 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 a´ll´ıtsunk el˝o. A jel¨oltek el˝oa´ll´ı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˝oa´ll´ı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 a´ll´ı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˝oa´ll´ıthatjuk a vet´ıtett bemeneteket, azokban k¨onnyen meghat´arozhatjuk az elemek t´amogatotts´ag´at, amib˝ol el˝oa´ll´ı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
82
mutató
8 F
F C
C 2
6
A
C
B
B
3
B 1
1
M A
Q
Q 3 M
1 B
2 Q 2
1 M 1
4.9. a´bra. Az hACF M Q, ABCF M , BF , BCQ, ACF M Q, 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 a´ltal reprezent´alt halmaz mennyi bemeneti (vagy vet´ıtett) elemhalmaznak a prefixe. Az azonos c´ımk´ej˝ u cs´ ucsok l´ancolt listaszer˝ uen o¨ssze 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 M Q, ABCF M O, BF O, BCKSQ, ACF M Q, 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 M Q, ABCF M , BF , BCQ, ACF M Q, 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. a ´br´ 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 a´ltal 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
83
k¨ovetkez˝o a´br´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. a´bra. 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, a´ltal´aban kis m´eret˝ u f´at eredm´enyez. Egyszer˝ u lesz a vet´ıtett bemenet el˝oa´ll´ı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 o¨sszhangban a´ll azzal, hogy a pszeudok´od 9. sor´aban az elemeket gyakoris´ag szerint n¨ovekv˝o sorrendben vessz¨ uk. A gy r 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 a´llnak a gy r 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 sugarakt´ ol fejl´ect´abl´ab´ol kiindulva v´egigmegy¨ unk a l´ancolt lista ”Amerikai kutat´ ok szerint a stressz elemein. A cs´ ucs a´ltal reprezent´alt elemhalmazb´ol ´es az UV-sug´ arz´ as egy¨ uttesen tudt¨or¨olj¨ uk a ritka elemeket, majd a kapott elemhal- nak csak igaz´ an vesz´elyesek lenni. mazt besz´ urjuk az u ´ j FP-f´aba. A kis mem´oriaig´eny Ez az eredm´eny azt az ismert t´enyt ´erdek´eben a gyakoris´ag szerint cs¨okken˝o sorrendet er˝ os´ıti meg, hogy a kr´ onikus stressz haszn´aljuk. Ezt a sorrendet a vet´ıtett bemenet lecs¨ okkenti a b˝ or v´edekez˝ o k´epess´eg´et. alapj´an a´ll´ıtjuk fel (l´ev´en az u ´ j fa a vet´ıtett ´es sz˝ urt Ha teh´ at nem idegesked¨ unk, nem kell bemenetet fogja t´arolni), ami k¨ ul¨onb¨ozhet az eredeti f´eln¨ unk a napsugarakt´ ol.” Forr´as : FP-f´aban alkalmazott rendez´est˝ol. http://www.habostorta.hu/hab/ 4.18. p´ elda. Folytassuk az el˝ oz˝ o p´eld´ at ´es a ´ll´ıtsuk
tomy/tudomany/200507/a_nyugalom_ megov_az_uvsugaraktol?print=1
4. FEJEZET. GYAKORI ELEMHALMAZOK
84
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 a ´g nem folytat´ odik, hanem visszat´er a QC gyakori elemhalmazzal. Az FPf´ 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 a ´ll´ 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 a´ll. A rekurzi´o helyett k´epezz¨ uk ink´abb az u ´ t a´ltal 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 [67]. B´arki benevezhetett egy a´ltala 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 [69] k¨ uldte be. Az FP-growth* algoritmus az FP-growth m´odos´ıt´asa. El˝onye, hogy gyorsabban a´ll´ı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 a´ll-e. Ha nem, akkor a legritk´abb elemb˝ol kiindulva el˝oa´ll´ı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˝oa´ll´ıtjuk a vet´ıtett FP-f´at. Ez tulajdonk´eppen az aktu´alis fa adott elemhez tartoz´o a´gainak 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 a´ll 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
85
4.4.2. Patricia
4.5. Elavult technik´ ak 1993 o´ta 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 a´ll´ı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 a´ltal 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 [78], AprioriTID [7], Apriori-Hybrid [7], DHP [130], DIC, Patr´ıcia, Tree projection, DF-apriori [136],
4.6. Mintav´ etelez˝ o algoritmus elemz´ ese Az egyszer˝ u mintav´etelez˝o algoritmust bemutatunk a 11.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 a´llhat 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
86
Y − p < min f req 0 − p < m
Y − p < min f req 0 − min f req m ≤ e−2(min freq’-min freq)
2m
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 min f req < min f req − ln 0 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 | = 00 0 00 = |I |, supp(I ) = supp(I ) 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
87
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 [131–133, 194].
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 0 N I egy r´eszhalmaza. Defini´ aljuk a cover : 2 → 2 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
88
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 a´ll´ı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 11.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 a´ll´ıtja el˝o. Az APRIOR-CLOSE algoritmusn´al l´eteznek gyorsabb algoritmusok (CHARM [193], CLOSET [135], CLOSET+ [179], MAFIA [30]), 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 a´ltal´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 [102] 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
89
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˝oa´ll´ı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 a´ra. Az egyetlen k´enyszer (sum(i.´ ar) > 44) szerint a halmazban tal´alhat´o term´ekek a´r´anak o¨sszege 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
a´r 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
a´r o¨sszeg 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 a´ll´ı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
90
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 M IS(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 (M IS(I) = mini∈I {M IS(i)}). Akkor gyakori az I halmaz, ha t´amogatotts´aga nagyobb vagy egyenl˝o M IS(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 M IS(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 ” a´ltal´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 M IS(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˝oa´ll´ı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 o¨sszes 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 a´ll´ı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 o¨sszes 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 o¨sszes ut´ana k¨ovetkez˝ot figyelembe kell venni a jel¨oltp´arok el˝oa´ll´ı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 a´ll´ıtja, hogy azon bemeneti elemek, amelyek tartalmazz´ak I1 -et, tartalmazz´ak a´ltal´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 o´ri´asi h´ırver´es k¨ozepette cs¨okkents¨ uk I 1 term´ekek a´r´at (mondjuk 15%-kal). Emellett diszkr´eten emelj¨ uk meg I2 term´ek a´r´at (mondjuk 30%-kal) u ´ gy, hogy az I1 a´rcs¨okkent´es´eb˝ol sz´armaz´o profitcs¨okken´es kisebb legyen, mint az I 2 a´remel´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 : o¨sszess´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 o¨nmag´aban az olcs´o a´rucikket, 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 a´ruh´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 o˝ket ´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 a´br´azolhatjuk bin´aris ´ert´ekeket tartalmaz´o t´abl´aval is. Ekkor az asszoci´aci´os szab´alyok attrib´ utumok k¨oz¨otti o¨sszef¨ ugg´est mutatnak : ha az I 1 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.
91
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
92
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 a ´lmaikr´ 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˝oa´ll´ı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 = I 1 ∪ 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 )) Bizony´ıt´ as: Az I1 −→ I\I1 nem ´erv´enyes szab´aly, teh´at c = supp(I = supp(I < min conf . 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
93
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 o¨sszes 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 a´ttehet¨ unk a felt´etelr´eszbe. Mindk´et a´ll´ıt´ast 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 I 1 → 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. I ⊆ I pszeudo-z´ art elemhalmaz, ha nem z´ art, ´es minden I 0 ⊂ I, ahol I 0 pszeudoz´ art elemhalmazra fenn´ all, hogy lez´ artja val´ odi r´esze I-nek. Az u ¨ res halmaz pszeudo-z´art, amennyiben az nem z´art. A pszeudo-z´art elemhalmazok seg´ıts´eg´evel tudunk egy olyan szab´alyb´azist megadni, amelyekb˝ol az o¨sszes egzakt asszoci´aci´os szab´aly megkaphat´o. 5.5. 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 :
Pici p´eniszt okozhat a parf¨ um” ” Forr´as : http://www.ma.hu/ page/cikk/aj/0/166581/1
DG = {r : I1 → h(I1 ) \ I1 |I1 ∈ F P, I1 6= ∅}, ahol az I lez´ artj´ at h(I)-vel jel¨ olt¨ uk.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
94
5.6. t´ etel. A Duquenne–Guigues-b´ azisb´ ol az o ¨sszes 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 o ¨sszes 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 GY i ´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 o¨sszes 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 a´ll´ı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 ´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 a´r´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 a´ra 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.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
95
A p´elda j´ol szeml´elteti, hogy a bizonyoss´ag nem a legt¨ok´eletesebb mutat´o az o¨sszef¨ 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 ) val´osz´ın˝ us´eg´et pr´ob´alja becs¨ ulni, teh´at I1 −→ I2 eset´en c = p(I2 |I1 ) = p(I . Amennyiben 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 a´ltal´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. Az 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 a´ltal´anos szab´aly, mint sok speci´alis szab´aly felsoror´asa.
5.3. Szab´ alyok f¨ uggetlens´ ege Az o¨sszef¨ 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 o¨sszef¨ 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 o¨sszef¨ 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 . Gyakori term´ekhalmazb´ol alkotott asszoci´aci´os szab´aly lift ´ert´ek´enek meghat´aroz´as´ahoz minden adat rendelkez´es¨ unkre a´ll, ´ı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 meg´ertik. ´Irjuk a´t a lift defin´ıci´oj´at a k¨ovetkez˝o alakra : lift(I → I 0 ) = ffreq(I eteles 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 a´ltal´aban a pelenk´at v´as´arl´ok ar´anya.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
96
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 o¨sszef¨ 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 a ´ll´ı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.hu/ Ha s˝ ur˝ us´egf¨ uggv´enyeket nem ismerj¨ uk, hanem csak megfi- eletmod/?article_hid=165457 gyel´esek (xi , yi )-k a´llnak rendelkez´es¨ unkre, akkor P empirikus 1 kovarianci´ar´ol besz´el¨ unk, amelynek defin´ıci´oja : n ni=j (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 (ij − f req(I))(i0j − f req(I 0 )) cov(I → I ) = n j=1 0
n n n X X 1X 0 0 0 0 ij + nf req(I)f req(I ) ij − f req(I ) ij i − f req(I) = n j=1 j 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, az´ert σX = E[X 2 ] − E 2 [X] = E[X] − E 2 [X]. Ebb˝ol
Cov(I → I 0 ) f req(I ∪ I 0 ) − f req(I)f req(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 ) =
5.3.3. A χ2 -statisztika
Val´oj´aban a lift mutat´o nem ragadja meg kell˝ok´eppen a k´et esem´eny (I ´es I 0 el˝ofordul´asa) statisztikai f¨ uggetlens´eg´et. Tudjuk, hogy az I, I 0 esem´enyek f¨ uggetlenek, ha p(I)p(I 0 ) = p(I, I 0 ), amelyet a´t´ırhatunk 1 = p(I 0 |I)/p(I) 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
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
97
k¨ovetkez˝o k´et esetet. Els˝o esetben n´egy tranzakci´o van, supp(I) = 2, c = 0.5, amib˝ol f = 1. A m´asodikban a tranzakci´ok sz´ama n´egyezer, supp(I) = 1992, c = 0.504, amib˝ol f = 1.012. 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 a´ll´ıtjuk, hogy k´et elemhalmaz el˝ofordul´asa o¨sszef¨ ugg´esben van, ann´al jobban kiz´arjuk ezen a´ll´ıt´asunk v´eletlens´eg´enek (esetlegess´eg´enek) es´ely´et. A f¨ uggetlens´eg m´er´es´ere a statisztikusok a´ltal 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 Ps P 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 a´bra mutatja. P X nem X Y k1,1 k1,2 k1. nem k2,2 k2. P Y k2,1 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 van 1 (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 a´llnak rendelkez´es¨ unkre t´amogatotts´ag form´aj´aban. P I nem I I0 supp(I ∪ I 0 ) supp(I’) 0 nem PI supp(I) |T |
A hi´anyz´o ´ert´ekeket a t´abl´azat ismert ´ert´ekei alapj´an k¨onnyen p´otolni, hiszen p´eld´aul k 2,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 o¨k¨olszab´aly az, hogy mind a n´egy elem nagyobb legyen 10-n´el. 1
Amennyiben mindk´et esem´enyrendszer k´et esem´enyb˝ ol a ´ll, akkor az eredeti k´epletet m´ odos´ıtani szok´ as a 2 P P k k k k i. .j i. .j 2 2 1 − . Yates-f´ele korrekci´ os egy¨ utthat´ oval, azaz χ2 = i=1 j=1 kij − / n 2 n
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
98
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.7. ´ 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 (k + k )(k + k ) i1 i2 1j 2j 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 2 (k11 k22 − k12 k21 ) 2 2 X 2 2 X 1 (k11 k22 − k12 k21 )2 X X 2 n = = (ki1 + ki2 )(k1j + k2j ) n (ki1 + ki2 )(k1j + k2j ) i=1 j=1 i=1 j=1 n (k11 k22 − k12 k21 )2 1 1 1 1 1 1 = + · + ( + ) n k11 + k12 k11 + k13 k12 + k22 k21 + k22 k11 + k13 k12 + k22 2 1 1 1 1 (k11 k22 − k12 k21 ) · + + = n k11 + k12 k21 + k22 k11 + k13 k12 + k22 2 (k11 k22 − k12 k21 ) k11 + k12 + k21 + k22 k11 + k12 + k21 + k22 = · · n (k11 + k12 )(k21 + k22 ) (k11 + k21 )(k12 + k22 ) k1. k.1 2 3 n(k11 k22 − k12 k21 )2 n (k11 − n ) n(f11 − f1. f.1 )2 = = = , k1. k2. k.1 k.2 k1. k2. k.1 k.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 szor´as, amely a bizonytalans´agra utal, szint´en fontos param´eter. 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 a´ll´ıtan´ank el˝o.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
99
5.3.4. A binomi´ alis pr´ oba A χ-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 esem´enyek f¨ uggetlenek egym´ast˝ol, azaz P (I, I 0 ) = = P (I)P (I 0 ). Legyen Zj = Ij · Ij0 , azaz Zj = 1, amennyiben a j-edik kos´arban el˝ofordul az I P ´es az I 0 term´ek is. A Z = N alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´o N ´es P (I, I 0 ) j=1 Zj binomi´ param´eterekkel. A P (I, I 0 ) val´osz´ın˝ us´eget a f req(I ∪ I 0 ) ´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 [l 0 , 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 (I ∪ 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 (k 1. , 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 kos´arban, akkor mennyi az es´elye annak, hogy az I 0 -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 o¨nmag´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 kapni, akkor ki kell sz´amolni az o¨sszes 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 o¨sszeg´enek egyt˝ol vett k¨ ul¨onbs´ege. Form´alisan : X pFisher (I → I 0 ) = 1 − 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))
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
100
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, k 1. , 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 o¨sszege pedig olyan val´osz´ın˝ us´egi v´altoz´ot ad, 2 amelynek eloszl´asa a χ 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 k2. n−k2. k1. n−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 a´ll´ı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 nem 0 1 1 2 0 2 PY PY 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. ´ 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 o¨sszef¨ ugg´est a´llap´ıtsunk meg. Adott 1−α pr´obaszint mellett csak akkor tudunk o¨sszef¨ 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
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
101
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 o¨sszege 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 a´ltal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, hogy k 1. ≤k.1 .1 +1) ´es a hipergeometrikus eloszl´as m´odusza (b (k1. +1)(k c) nem nagyobb, mint az ´ertelmez´ese tarn+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 k2. (n−k1. )! k1. P (k1. , n, k1. , k.1 ) =
k1.
k.1 −k1. n k.1
=
(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 k 1. 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% 2.69% 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 o¨sszef¨ ugg˝os´eget a´llap´ıthatunk meg. Ehhez a legextr´emebb esem´enynek kell 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 Y 0 4 4 P 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,
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
102
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 k 1,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%
100% 100% 69.4% 70.75% 49.42% 34.30% 23.74% 16.44%
χ2 13.6% 65.9% 76.4% 37.6% 16.9% 7.21% 2.95% 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 a´llap´ıtunk meg o¨sszef¨ 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
103
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 a´ltal´anos k´eplet a´t´ır´as´ab´ol ad´odik, felhaszn´ Pn alva, hogy I = = f req(I) ´es j=1 Ij = supp(I) Az a´ltal´anos k´eplet a´t´ı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 a´ltal´aban sok ´erv´enyes asszoci´aci´os szab´alyt tal´alunk, hasznos lenne o˝ket 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. A χ2 -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.7 a´ll´ı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
104
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 min supp ´ert´eket egy kiindul´ asi ´ert´ekr˝ ol (upperBoundMinSupport param´eter) mindig delta ´ert´ekkel cs¨ okkenti ´es ellen˝ orzi, hogy van-e legal´ abb numRules darab ´erv´enyes szab´ aly. Ha van, akkor kiirja 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 a´tmegy 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 I 3 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 ) ≥ ≥ min supp egyenl˝otlens´eg is fenn´all. K¨onny˝ u bel´atni, hogy ekkor az I 1 I3 → I2 is ´erv´enyes ´es
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
105
´erdekes asszoci´aci´os szab´alyok, hiszen supp(I1 ∪ I2 ∪ I3 ) supp(I1 ∪ I2 )supp(I3 ) = = supp(I1 ∪ I3 )supp(I2 ) supp(I1 )supp(I2 )supp(I3 ) =intr(I1 → I2 ) ≥ min lift, .
lift(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 n2 c szab´aly fog a´tcs´ 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 a´ltal´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 [60, 62, 71, 158, 162, 169]. V´as´arl´asi szok´asok elemz´ese k¨ozben a marketingesek u ´ j ig´ennyel a´lltak el˝o. Olyan szab´alyokat is ki szerettek volna nyerni, amelyek term´ekkateg´ori´ak k¨oz¨ott mondanak ki o¨sszef¨ 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 o¨tf´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 o´ri´asi a´rengedm´enyekkel’, mik¨ozben m´as sz´am´ıt´astechnikai alkatr´eszek – p´eld´aul monitorvez´erl˝o k´artya – a´rait 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
106
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 a´br´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. a´bra. 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 ∈ o˝s(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 a´ll, 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 92. oldalon 100%,s ˆ szab´aly ´erv´enyes lenne, ha X ˆ ⊆ o˝s(X), ´es X tal´alhat´o defin´ıci´o szerint minden X −−−−→ X gyakori term´ekhalmaz. 5.8. 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 I 1 , I2 diszjunkt r´eszhalmazai I-nek, tov´ abb´ a egyetlen i ∈ I2 sem o ˝se egyetlen i0 ∈ 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 o˝s´evel. Term´eszetesen nem kell val´oban el˝oa´ll´ıtani egy olyan adatb´azist, ami a felt¨olt¨ott kosarakat tartalmazza, el´eg akkor el˝oa´ll´ı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 o˝se is szerepel, akkor sz¨ uks´egtelen az is, hogy ilyen elemhalmazokkal foglalkozzunk. Ne a´ll´ıtsunk el˝o olyan jel¨oltet, amely ilyen tulajdons´ag´ u [162]. 2
Gy¨ okeres gr´ afokn´ al defini´ alhatjuk a sz¨ ul˝ o, gyermek, o ˝s, lesz´ armazott fogalmakat. Ezt az alapfogalmak gr´ afelm´elet r´esz´eben megtett¨ uk.
´ OS ´ SZABALYOK ´ 5. FEJEZET. ASSZOCIACI
107
A fentit˝ol k¨ ul¨onb¨oz˝o megk¨ozel´ıt´est javasoltak a [62, 71]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 - a ´llap´ıtott´ ak v´egigolvas´asa sor´an csak a feny˝ok gy¨oker´eben (els˝o szin- meg amerikai kutat´ ok.” Forr´as : ten) tal´alhat´o kateg´ori´ak lesznek a jel¨oltek. A m´asodik http://inforadio.hu/hir/ v´egigolvas´asn´al a gyakorinak tal´alt elemek gyerekei, a har- 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 a´ltal´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 [71] 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 a´ttekinthet˝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 a´ltal´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 a´ltal´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
108
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 a´ll´ıthatjuk, hogy nincs okozatis´agi viszony olyan jelens´egek k¨oz¨ott, amelyek k¨oz¨ott korrel´aci´o sem a´ll fenn (azaz f¨ uggetlenek). A korrel´aci´o ´es az okozatis´ag o¨sszekever´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 a´ll 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 a´ll´ıtjuk, hogy k´et esem´eny k¨oz¨ott o¨sszef¨ ugg´es a´ll 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
109
– Az egy cip˝ oben alv´ as er˝ os o ¨sszef¨ ugg´esben a ´ll 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 a´llapot okozza mindk´et dolgot. – A k¨ovetkez˝o a´ll´ı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 a´ll´ıt´as nyilv´an teljes bl˝ods´eg ´es csak az´ert hangzott el, hogy felkeltse a hallgat´ok figyelm´et. – Az al´abbi a´ll´ı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 o¨sszef¨ ugg´es tov´abb´a a r¨ovidl´at´o sz¨ ul˝ok hajlamosabbak a l´amp´at ´egve hagyni, mint u ´ gy a´ltal´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 a´r´at 0 cs¨okkenten´ek a I -´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 a´rcs¨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 a´rus´ı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 o¨sszef¨ 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 o¨sszef¨ 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
110
(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 a´ltal´aban j´oval komolyabb statisztikai tud´assal rendelkeznek.
6. fejezet Oszt´ alyoz´ as 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 1 az adatb´any´aszatban . A megnevez´esek tiszt´az´asa ´erdek´eben el˝orebocs´atjuk, hogy a tanulm´anyban akkor besz´el¨ unk 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 a´ltal´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 o¨sszefoglal´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 bayesi klasszifik´aci´o ´es bayesi h´al´ozatok VI. SVM 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 : 1
Ez a fejezet Sarl´ os Tam´ as ´es Bodon Ferenc k¨ oz¨ os munk´ aja.
111
´ ´ 6. FEJEZET. OSZTALYOZ AS
112
– 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˝oa´ll´ı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. : [84] 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 [89], [73], [63] ´es [119] ´ı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 feladata Az oszt´alyoz´as 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. 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.
´ ´ 6. FEJEZET. OSZTALYOZ AS
113
´ 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). Amennyiben a magyar´azand´o v´altoz´o intervallum sk´al´an m´erhet˝o, akkor 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 optim´alis oszt´alyz´o : f (x) = median(Y |X = x).
(6.2)
Klasszifik´aci´o eset´en a V OH egyszer˝ uen a t´eves d¨ont´esek val´osz´ın˝ us´egekkel s´ ulyozott o¨sszege. Ha a v´arhat´o ´ert´eket meghat´aroz´o val´odi eloszl´asokat ismern´enk, akkor megtal´alhat´o a
´ ´ 6. FEJEZET. OSZTALYOZ AS
114
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 [167], [84]. Az eloszl´as param´etereit a´ltal´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 o¨sszetetts´eg¨ uk folyt´an – ha hagyjuk o˝ket – 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 a´ltal´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) a´llnak rendelkez´esre. Az oszt´alyoz´o m´odszer ki´ert´ekel´es´er˝ol, illetve oszt´alyoz´ok o¨sszehasonl´ı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 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 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. 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 a´tlagak´ent szok´as megadni a j´osl´ast. Id´ezz¨ uk fel az optim´alis oszt´alyoz´ora tett meg´allap´ıt´asunkat (l´asd 6.1 egyenl˝os´eg), abban az esetben, ha a n´egyzetes hiba¨osszeget haszn´aljuk : 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. Bin´aris oszt´alyoz´as eset´eben a k-legk¨ozelebbi szomsz´ed m´odszer´et ´ertelmezhetj¨ uk u ´ gy, hogy tetsz˝oleges pontra kisz´am´ıtjuk a fb(x) = Ave(yi |xi ∈ Nk (x)),
ahol Nk (x) az x pont k-legk¨ozelebbi szomsz´edj´at jel¨oli, Ave pedig a´tlagot. Ha fb(x) > 0.5, akkor az 1-es oszt´alyba tartozik x, ellenkez˝o esetben a 0-´asba. Az fb(x) tulajdonk´eppen az f (x) k¨ozel´ıt´ese. A k¨ozel´ıt´es k´et okb´ol k¨ovetkezik : I. a v´arhat´o ´ert´ek helyett a minta´atlagot haszn´altuk,
II. az x pontban vett felt´etel helyett az x k¨ornyezet´et vett¨ uk.
´ ´ 6. FEJEZET. OSZTALYOZ AS
115
6.1. a´bra. Tan´ıt´opontok a s´ıkon (bal oldali a´bra) ´es a Voronoi tartom´anyok (jobb oldali a´bra)
Sok tan´ıt´opont eset´eben tetsz˝oleges ponthoz k¨ozel lesznek a szomsz´edai, tov´abb´a az a´tlag 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 N, 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 a´ll 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 a´br´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 pont essen ´es igaz legyen, hogy a tartom´anyon bel¨ uli b´armely pont a tan´ıt´opontok k¨oz¨ ul a tartom´any tan´ıt´opontj´ahoz van a legk¨ozelebb. Egy ilyen feloszt´ast l´athatunk a 6.1 a´br´an 2 . 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 a´tlag´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´oa´tok 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 a´ltal´aban behat´arolja a dimenzi´ok ´es ´ıgy a figyelembe vehet˝o attrib´ utumok sz´am´at. 2
A szeml´eltet˝ o a ´br´ at a http://www.manifold.net/doc/7x/transform_voronoi_operators.htm oldalr´ ol t¨ olt¨ ott¨ uk le.
´ ´ 6. FEJEZET. OSZTALYOZ AS
116 hajhossz
szorgalmatlan szorgalmas
1
2
3
4
5
jegyátlag
szorgalmatlan szorgalmas
1
2
3
4
5
jegyátlag
6.2. a´bra. F¨ uggetlen attrib´ utumok hat´asa a legk¨ozelebbi szomsz´ed oszt´alyoz´asra
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 line´aris 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 a´tlag a m´asik a hajhossz. A 6.2 a´bra mutatja a tan´ıt´o 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 a´ltal 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 o¨sszes attrib´ utum r´eszhalmaz eset´en majd kiv´alaszthatjuk a legjobbat. Sok attrib´ utum eset´en az o¨sszes 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 X ´es Y bin´aris attrib´ utumokat ann´al az oszt´alyoz´asn´al, amelyben a magyar´azand´o attrib´ utum ´ert´eke X ´es Y modul´o kett˝ovel vett o¨sszege ´es X, Y 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 a´bra szeml´elteti.
´ ´ 6. FEJEZET. OSZTALYOZ AS
117
6.3. a´bra. M´ert´ekegys´eg hat´asa a legk¨ozelebbi szomsz´ed oszt´alyoz´ora
Az egyik attrib´ utum jel¨olje egy ember hajhossz´at az a´tlagt´ol, a m´asik attrib´ utum a bev´etelt jel¨oli doll´arban. Az els˝o a´br´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 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 o˝ket. 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 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.
´ ´ 6. FEJEZET. OSZTALYOZ AS
118
6.4. a´bra. Tartom´anyok meghat´aroz´asa KD-fa ´ep´ıt´es´ehet (bal oldali a´bra) ´es a KD-fa (jobb oldali a´bra)
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 a´ltal´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, a´ltal´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(n log n) id˝o alatt), akkor a legk¨ozelebbi szomsz´edok meghat´aroz´as´ahoz O(log n) 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 [13]. T¨obb magyar´az´o attrib´ utum eset´en (nagyobb dimenzi´okn´al) a legismertebb m´odszer KDf´akat haszn´al [16]. Az algoritmus az el˝ofeldolgoz´as sor´an a teret hipert´eglatestekre osztja, egyes 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 a´ltal 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 a´br´an n´eh´any tan´ıt´opont feloszt´asa l´athat´o ´es a feloszt´ashoz tartoz´o KD-fa. Figyelem, a t´eglatestek a´ltal 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 –,
´ ´ 6. FEJEZET. OSZTALYOZ AS
119
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 a´ltal 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, 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 a´ltal 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 falra 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)[126, 175] ´es a Cover Tree [19]. A [94] cikkben a szerz˝ok azonban azt a´ll´ı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 152 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 117). 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. FEJEZET. OSZTALYOZ AS
120
6.5. a´bra. P´elda line´arisan szepar´alhat´o oszt´alyokra
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 a1 + w2 a2 + . . . + wn an = 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 o¨sszeg´et. Ha az o¨sszeg 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 a´br´an. A p´eld´ab´ol is l´atszik, hogy adott tan´ıt´oponthoz 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 a´bra j´ol mutatja, hogy az AND, OR, NOT f¨ uggv´enyek line´arisan szepar´alhat´o oszt´alyokat hoznak l´etre. 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 line´aris szepar´al´ast hajt v´egre. V´eg¨ ul elm´elyed¨ unk a logisztikus regreszi´o rejtelmeiben.
´ ´ 6. FEJEZET. OSZTALYOZ AS
AND
121
OR
NOT
XOR
6.6. a´bra. AND, OR, NOT logikai f¨ uggv´enyek tanul´asa, XOR f¨ uggv´eny
6.4.1. Perceptron tanul´ asi szab´ aly A perceptron tanul´asi szab´aly a mesters´eges neur´alis h´al´ok o˝s´enek tekinthet˝o. Mind az n attrib´ utumnak val´osnak kellene lenni¨ uk. A hipers´ık dimenzi´oja n+1 lesz, Mind az n attrib´ utumnak val´osnak kell lenni¨ uk. A hipers´ık dimenzi´oja n + 1 lesz, Mind az n attrib´ utumnak val´osnak kell lenni¨ uk. A hipers´ık dimenzi´oja n + 1 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 a 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 a´t 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 o¨sszege 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
´ ´ 6. FEJEZET. OSZTALYOZ AS
122
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 a´ll 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 konstanssal, att´ol f¨ ugg˝oen, hogy melyik csoportba tartozik. Akkor sorol az oszt´alyoz´o egy ~a pontot az els˝o oszt´alyba, ha w1 a1 + w2 a2 + . . . + wn an > Θ, ahol Θ el˝ore megadott konstans. A szorz´ast vagy oszt´ast azokra a poz´ıci´oj´ u elemre 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 tar+ − + − tunk 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 [79] munk´aban adapt´alt´ak, ´es az´ota is sok kutat´as foglalkozott vele (ld. [154]. 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 a´tlagak´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.
´ ´ 6. FEJEZET. OSZTALYOZ AS
123
X
6.7. a´bra. P´elda a Rocchio rossz oszt´alyoz´as´ara
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 a´bra. 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 d~j (6.3) d~j − γ · ~c = β · j6∈Dc
j∈Dc
k´eplettel sz´am´ıthat´o a c protot´ıpusvektora3 . Ha a m´asodik tagban nem az o¨sszes negat´ıv tanul´op´eld´at, hanem csak a majdnem pozit´ıv tanul´op´eld´ak a´tlag´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 [150, 182].
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 a´ll : Yˆ = βˆ0 +
n X
Xj βˆj
j=1
3
A pontok centroidjak´ent sz´ amolt protot´ıpusvektort a β = 1, γ = 0 param´eterek mellett kapjuk meg.
´ ´ 6. FEJEZET. OSZTALYOZ AS
124
A βˆ0 ´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 : ˆ Yˆ = X T β, ahol a T fels˝oindex a m´atrix transzpon´al´asnak felel meg. A βˆ 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
(yi − xTi β)2 .
A fenti f¨ uggv´eny a β-ban n´egyzetes, ´ıgy minimuma mindig l´etezik ´es egy´ertelm˝ u. Amennyiben a tan´ıt´opontokat egy |T|×n-es X m´atrixszal a´br´azoljuk (a tan´ıt´opontokhoz tartoz´o y ´ert´ekeket pedig az y oszlopvektorral), akkor a fenti f¨ uggv´enyt a´t´ırhatjuk m´as form´aba : (y − Xβ)T (y − Xβ) Ennek β szerinti deriv´altja : −2XT y + 2XT Xβ 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 − Xβ) = 0 amelyb˝ol nemszingularit´ast felt´etelezve kapjuk, hogy βˆ = (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´arsi kapcsolat is. P´eld´aul az y = ax b 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. FEJEZET. OSZTALYOZ AS
125
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˝oa´ll´ı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 nulla ´es kett˝o 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 x T β ´ert´eket. Amennyiben ez nagyobb, mint egy ketted, 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 x T β −0.5 ´ert´eket yˆ-nal. S˝ot, a k¨onnyebb jel¨ol´es ´erdek´eben a xT β szorzatot jel¨olj¨ uk yˆ-nal ´es eml´ekezz¨ unk r´a, hogy a 0.5-¨ot belegy´ urtuk a β0 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 yˆ = 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(ˆ 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 β 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 a´rnyaltabb 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 (ˆ y ) f¨ uggv´ennyel helyettes´ıtj¨ uk, amely I. ´ert´eke 1-hez k¨ozel´ıt, ha yˆ tart v´egtelenhez, II. ´ert´eke 0-hoz k¨ozel´ıt, ha yˆ tart m´ınusz v´egtelenhez, III. f (0) = 0.5, IV. szimmetrikus null´ara n´ezve, teh´at f (ˆ y ) + f (−ˆ y ) = 1 = 2f (0), V. sima”, azaz f (ˆ 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 −ˆy ) 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 , (6.5) P(Y = 1|X) = 1 + e−ˆy
´ ´ 6. FEJEZET. OSZTALYOZ AS
126
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. a´bra. az eltolt el˝ojelf¨ uggv´eny ´es n´eh´any sim´ıt´asa” ” 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 (ˆ y)(1 − f (ˆ 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 (ˆ y )+f (−ˆ y )) megk´ıv´anja, hogy a s˝ ur˝ us´egf¨ uggv´eny szimmetrikus legyen, azaz az f 0 (x) = = f 0 (−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−ˆy ) t´ıpus´ u f¨ uggv´enyeket k¨ ul¨onb¨oz¨o a-kra ´es a norm´alis eloszl´asf¨ uggv´enyt a 6.8 a´bra mutatja. 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 β k¨oz¨ott, teh´at =1|X)
P(Y = 1|X) =
1 , 1 + e−X T β
(6.6) T
e−X β P(Y = 0|X) = 1 − P(Y = 1|X) = . 1 + e−X T β Meg kell hat´arozni azt a βˆ ´ert´eket, amelyik a legkisebb hib´at adja. input x0 x1
.. .
súlyok w0 w1 wn
(6.7)
konstans
c
Σ szumma
f nemlinearitás
xn
6.9. a´bra. Logisztikus regresszi´o
output
´ ´ 6. FEJEZET. OSZTALYOZ AS
127
Sajnos a βˆ ´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 : βˆ ← argmaxβ
|T| X i=1
ln P(y i |xi , β).
A fenti k´epletbe a regresszi´os f¨ uggv´eny a szok´asos P(Y i |X i ) helyett P(Y i |X i , β), hiszen β most nem mint konstans j´atszik, hanem mint v´altoz´o. Felhaszn´alva, hogy az y csak nulla vagy egy ´ert´eket vehet fel, a maxim´aland´o f¨ uggv´enyt a´t´ırhatjuk : X l(β) = y i ln P(y i = 1|xi , β) + (1 − y i) ln P(y i = 0|xi , β). i
Kiindulunk valamilyen szabadon megv´alasztott β (0) vektorb´ol, majd a k-adik l´ep´esben a β (`) vektorhoz hozz´aadjuk a δl(β) vektor λ-szoros´at, ´ıgy megkapjuk a β (`+1) vektort. A λ egy el˝ore δβ
megadott konstans, amelynek ´ert´ek´et 0.01-re szokt´ak a´ll´ıtani. A deriv´altakb´ol a´ll : |T| δl(β) X i i ˆ i = xj y − P(y = 1|xi , β) , δβj i=1
δl(β) δβ
vektor a
δl(β) δβj
parci´alis
ˆ i = 1|xi , β) a logisztikus regresszi´o a´ltal adott j´osl´as. Az y i − P(y ˆ i = 1|xi , β) tag a hib´at ahol P(y ragadja meg, amely meg van szorozva egy nagys´ag jelleg˝ u t´enyez˝ovel. Az x ij ´ert´ek adja meg a j´osl´asban a βj szerep´enek nagys´ag´at (gondoljunk itt a βj xji s´ ulyozott o¨sszegre). Az l(β) 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 βj ´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 a´tker¨ ul a rossz oldalra. Ilyenkor a Perceptron tanul´asi szab´aly ´es a winnow algoritmus nem a´ll 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 o¨sszek¨ot˝o szakasz felez˝o mer˝olegese lesz a szepar´al´o egyenes.
´ ´ 6. FEJEZET. OSZTALYOZ AS
128
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 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 o¨sszes t¨obbi oszt´alyt vonja egy kalap al´a. ´Igy az o¨sszes 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. ´ Uj elem oszt´alyoz´as´an´al az oszt´alyz´o arra az oszt´alyra teszi le a voks´at, amelyik a legnagyobb 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 o¨sszege nem felt´etlen¨ ul ad egyet. Ez´ert a fenti m´odszer helyett csak k − 1 darab β vektort a´ll´ıtsunk el˝o u ´ gy, hogy minden ` = 1, . . . , k − 1-re `
P(Y = `|X) = ´es P(Y = k|X) =
1+
eβ0 +yˆ` Pk−1
1+
`0 =1
1 Pk−1
`0 =1
yˆ`0
,
yˆ`0
ahol yˆ` = xT β ` . A gradiens m´odszern´el alkalmazott vektor, amely λ-szoros´at hozz´a kell adni az aktu´alis β vektorhoz a k¨ovetkez˝o |T| X i=1
ˆ i = y` |xi , β) , xij δ(y i = `) − P(y
ahol δ(y i = `) = 1, ha az i-edik tan´ıt´opont oszt´alya `, k¨ ul¨onben 0. A logisztikus regresszi´o ´es a bayesi 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 a ´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 a´bra). Az xor f¨ uggv´eny pedig fel´ırhat´o, mint (x1 ∨ x2 ) ∧ (x1 ∧ x2 ). A 6.10 a´bra ezt a konstrukci´ot mutatja. A fels˝o szignum 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. Az ´ep´ıt˝oelemeket ismerve tetsz˝oleges logikai formul´at kifejezhet¨ unk logisztikus regresszi´ok o¨sszekapcsol´as´aval, ez´ert a logisztikus regresszi´ok kapcsolata univerz´alis
´ ´ 6. FEJEZET. OSZTALYOZ AS
129 sigm 1
1
sigm 1
-1 1
x1
-1.5 x0
sigm -1
-0.5 1.5
x2
x0
6.10. a´bra. xor f¨ uggv´eny logisztikus regresszi´ok o¨sszekapcsol´as´aval 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. a´bra). 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 o¨sszes neuronj´anak bemenet´evel kapcsolatban a´ll. A kapcsolat szoross´ag´at w ij s´ ulyok jellemzik. (A 6.11. a´br´aban 4-6. neuronok hely´ebe egy 6.9. a´bra szerinti logisztikus regresszi´ot kell k´epzelj¨ unk.) x1
1
w14 4
x2
46
6
2 5
x3
w
3
w56
w35
6.11. a´bra. 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. : [63]) 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
´ ´ 6. FEJEZET. OSZTALYOZ AS
130
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 a´ltal 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. 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 [73]. Egy v´arosi legenda szerint a 80-as ´evekben az amerikai hadsereg szolg´alatba akarta a´ll´ı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˝oa´ll´ı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 o¨sszes 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
´ ´ 6. FEJEZET. OSZTALYOZ AS
131
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.
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 a ´llnak, a k¨ ovetkezm´enyr´eszben pedig az oszt´ alyattrib´ utumra vonatkoz´ o ´ıt´elet. }ME ´RS´ P´eld´aul a HO 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 e ´s, 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 e ´s 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 a´llnak. Minden ´ıt´eletlogik´aban megadott formula a´t´ı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 a ´ltal 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 -et ´es a halmaz o¨sszes 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 a´ltal helyesen fedett pontok halmaz´at cover + T (R)rel jel¨olj¨ uk (a helytelen¨ ul fedettek´et pedig cover − T (R)-rel).
´ ´ 6. FEJEZET. OSZTALYOZ AS
132
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 : ´ıt´ etelkalkulus-alap´ u d¨ ont´ esi szab´ aly A felt´etelr´eszben predik´atumok logikai kapcsolata a´ll (´ı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 0 00 emellett A ≤ a ´es a ≤ A ≤ a szab´alyokat is megenged¨ unk.
Az algoritmusok t¨obbs´ege csak olyan egyszer˝ u formul´akat tud el˝oa´ll´ıtani, amelyekben a predik´atumok ´es kapcsolatai a´llnak, 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 = a ´ll´ o szab´alyt u ´ gy is ´ırhatjuk, hogy sz´ eless´ eg(´ ep´ ıt} oelem) < magass´ ag(´ ep´ ıt} oelem) → a ´ll´ 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 a ´ll´ o(torony.marad´ ek) → a ´ll´ o(torony). Ez egy rekurz´ıv kifejez´es, amely szerint egy torony akkor a´ll´o, ha a legfels˝o elem magass´aga nagyobb a sz´eless´eg´en´el ´es a marad´ek elem a´ll´o. A rekurzi´ot le kell z´arni : torony = u ¨res → a ´ll´ 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. FEJEZET. OSZTALYOZ AS
133
6.6.1. Szab´ alyhalmazok ´ es szab´ alysorozatok Besz´el¨ unk szab´ alyhalmazr´ ol ´es szab´ alyoksorozat´ 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. 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 a´ltal´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 ma” ked´es eset´en egy´ertelm˝ u a legels˝o illeszked˝o. A szab´alyok rihu´ ana egyik o ¨sszetev˝ oje blokkolk¨oz¨otti sorrend (vagy m´ask´epp priorit´as) biztos´ıt´as´aval ni k´epes a mellr´ ak sz´etterjed´es´et ker¨ ulj¨ uk el azt a probl´em´at, hogy milyen d¨ont´est hozzunk, a szervezetben.” Forr´as : http:// ha egy objektumra t¨obb, k¨ ul¨onb¨oz˝o k¨ovetkezm´enyr´esszel velvet.hu/blogok/gumicukor/ rendelkez˝o szab´aly illeszkedik. tags/kutat\%C3\%A1s Sajnos a sorrend defini´al´as´anak a´ra van. Szab´alyhalmaz 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.
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 sz´el magas nincs magas van magas nincs magas nincs magas nincs magas nincs magas nincs
j´at´ekid˝o ? nem nem nem igen igen igen igen
D¨ont´esi t´abl´ak el˝oa´ll´ı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
´ ´ 6. FEJEZET. OSZTALYOZ AS
134
oszt´alyozott tan´ıt´opontok sz´ama) adja. A gyakorlatban azonban az attrib´ utumok sz´ama nagy ez´ert az o¨sszes 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 a´ll´ı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 a´ll´ıt el˝o. Minden attrib´ utum´ert´ekhez meg tudjuk hat´arozni a rosszul oszt´alyozott tan´ıt´opontok sz´am´at. Ha o¨sszeadjuk 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˝oa´ll´ı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 [77] 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 o¨ssze. 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 a´ll. 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.
´ ´ 6. FEJEZET. OSZTALYOZ AS
135
6.6.4. A Prism m´ odszer A Prism m´odszer [32] felt´etelezi, hogy a tan´ıt´o adatb´azisban nincs k´et olyan elem, amelynek a fontos magyar´azand´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˝oa´ll´ıtani, amelyek helyesen fedik azon tan´ıt´opontokat, amelyek a vizsg´alt oszt´alyba tartoznak. A szab´alyok el˝oa´ll´ı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˝oa´ll´ı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 a szab´alyokat, amelyeket az u ´ jonnan el˝oa´ll´ı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 a´br´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 a´ll´ı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 a´ltal´aban kev´es tan´ıt´opontot fednek. Hasznosabb lenne kisebb pontoss´ag´ u, de t¨obb pontot fed˝o szab´alyokat el˝oa´ll´ı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˝oa´ll´ıtani. ¨ Osszehasonl´ıtva az inform´aci´onyeres´eg ´es a relat´ıv fed´esi hiba alapj´an el˝oa´ll´ı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,
´ ´ 6. FEJEZET. OSZTALYOZ AS
136
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 o¨sszef¨ 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, hi4 telb´ır´alatra alkalmazhat´o d¨ont´esi f´at mutat be a 6.12. a´bra. 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 me4
Az a ´br´ 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.
´ ´ 6. FEJEZET. OSZTALYOZ AS
137 ´eves j¨ovedelem <2M HUF igen nem
3+ gyerek
ingatlantulajdonos
igen
nem
igen
nem
megtagadni
j´ov´ahagyni
j´ov´ahagyni
kor <30
igen
nem
j´ov´ahagyni
megtagadni
6.12. a´bra. D¨ont´esi fa hitelb´ır´alatra ´ lyek nem. Altal´ aban elmondhat´o, hogy a legfontosabb v´altoz´okat a fa a gy¨ok´er k¨ozel´eben teszteli. Tov´abbi el˝ony, hogy a d¨ont´esi f´ak nagym´eret˝ u adathalmazokra is hat´ekonyan fel´ep´ıthet˝ok. A d¨ont´esi f´ak egyik fontos tulajdons´aga, hogy egy csom´opontnak mennyi gyermeke lehet. Nyilv´anval´o, hogy egy olyan fa, amely pontjainak kett˝on´el t¨obb gyermeke is lehet mindig a´trajzolhat´o bin´aris f´av´a. A legt¨obb algoritmus ez´ert csak bin´aris f´at tud el˝oa´ll´ıtani. Weka 3.5.7
A d¨ ont´esi f´ akkal kapcsolatos m´ odszereket a weka.classifiers.trees csomagban tal´ aljuk. A Classifier output ablakban a d¨ ont´esi f´ at sz¨ ovegesen megjelen´ıtve l´ athatjuk, amennyiben nem kapcsoljuk ki a Classifier evaluation options panelen az Output model kapcsol´ ot. A d¨ ont´esi fa grafikus megjelen´ıt´es´ehez jobb gombbal klikkelj¨ unk a Result list ablakban a megfelel˝ o elemre ´es v´ alasszuk a Visualize tree lehet˝ os´eget.
6.7.1. D¨ ont´ esi f´ ak ´ es d¨ ont´ esi szab´ alyok A d¨ont´esi f´ak el˝ony˝os tulajdons´aga, hogy a gy¨ok´erb˝ol egy lev´elbe vezet˝o u ´ t ment´en a felt´eteleket o¨sszeolvasva k¨onnyen ´ertelmezhet˝o szab´alyokat kapunk a d¨ont´es meghozatal´ara, illetve hasonl´oan egy laikus sz´am´ara is ´erthet˝o m´odon azt is meg tudjuk magyar´azni, hogy a fa mi´ert pont az adott d¨ont´est hozta. 6.6. ´ eszrev´ etel. A d¨ ont´esi f´ akb´ ol nyert d¨ ont´esi szab´ alyhalmazok egy´ertelm˝ uek. Ez nyilv´anval´o, hiszen tetsz˝oleges objektumot a fa egy´ertelm˝ uen besorol valamelyik level´ebe. E lev´elhez tartoz´o szab´alyra az objektum illeszkedik, a t¨obbire nem. Vannak olyan d¨ont´esi feladatok, amikor a d¨ont´esi f´ak t´ ul bonyolult szab´alyokat a´ll´ıtanak el˝o. Ezt egy p´eld´aval illusztr´aljuk. 6.7. p´ elda. Jel¨ olj¨ uk a n´egy bin´ aris magyar´ azand´ o attrib´ utumot A, B, C, D-vel. Legyen az ´ oszt´ alyattrib´ utum is bin´ aris ´es jel¨ olj¨ uk Y -nal. Alljon a d¨ ont´esi szab´ alysorozat h´ arom szab´ alyb´ ol :
´ ´ 6. FEJEZET. OSZTALYOZ AS
138
I. A=1 AND B=1 → Y=1 II. C=1 AND D=1 → Y=1 III. → Y=0 A szab´ alysorozat teljes, hiszen az utols´ o, felt´etel n´elk¨ uli szab´ alyra minden objektum illeszkedik. A fenti oszt´ alyoz´ ast a 6.13 a ´br´ an l´ athat´ o d¨ ont´esi fa adja. A 0
1 B
C
1
0
1
0
1
C
D
0
1
0
1
0
D
0
1
0
1
0
1
0
6.13. a´bra. P´elda adott d¨ont´esi sorozattal ekvivalens d¨ont´esi fa A fenti p´eld´aban a d¨ont´esi fa az oszt´alyoz´as bonyolultabb le´ır´as´at adja, mint a szab´alysorozat. A s´arga ´es k´ek r´eszf´ak izomorfak. A r´eszfa a´ltal adott oszt´alyoz´ast egyszer˝ uen tudjuk kezelni a d¨ont´esi szab´alysorozatokkal, de a r´eszf´ak ism´etelt felrajzol´asa nem elker¨ ulhet˝o d¨ont´esi f´ak eset´eben. Ezt a probl´em´at az irodalom ism´etl˝ od˝ o r´eszfa probl´emak´ent (replicated subtree problem) emlegeti ´es a d¨ont´esi f´ak egy alapprobl´em´aj´anak tekinti. A d¨ont´esi f´ak a megold´ast nagym´ert´ekben elbonyol´ıthatj´ak. Az el˝oz˝o p´eld´aban, ha a magyar´az´o attrib´ utumok nem bin´arisak, hanem h´arom ´ert´eket vehetnek fel, akkor a megadott d¨ont´esi sorozattal ekvivalens d¨ont´esi fa a 6.14 a´br´an l´athat´o. Az a r´eszfa, amelynek pontjait sz¨ urk´evel jel¨olt¨ uk megism´etl˝odik h´aromszor. Az ism´etl˝od˝o r´eszf´at egy h´aromsz¨oggel helyettes´ıtett¨ uk az a´ttekinthet˝os´eg ´erdek´eben. Term´eszetesen a fa j´oval egyszer˝ ubb lenne, ha az attrib´ utumot nem csak egy ´ert´ekkel hasonl´ıthatn´ank o¨ssze, hanem olyan tesztet is k´esz´ıthetn´enk, hogy az adott attrib´ utum benne van-e egy adott ´ert´ekhalmazban. P´eld´aul a gy¨ok´erben csak k´etfel´e c´elszer˝ u a´gazni, att´ol f¨ ugg˝oen, hogy A=1 vagy A6= 1 (m´ask´epp A ∈ {2,3}). Ha ilyen felt´eteleket megengedn´enk, akkor a 6.13 a´br´an l´athat´o f´aval izomorf f´at kapn´ank (ha a c´ımk´eket nem vessz¨ uk figyelembe).
6.7.2. A d¨ ont´ esi fa el˝ o´ all´ıt´ asa A f´at a tan´ıt´o adatb´azisb´ol rekurz´ıvan a´ll´ıtjuk el˝o. Kiindulunk a teljes tan´ıt´o adatb´azisb´ol ´es egy olyan k´erd´est keres¨ unk, aminek seg´ıts´eg´evel a teljes tanul´ohalmaz j´ol sz´etv´aghat´o. Egy sz´etv´ag´ast akkor tekint¨ unk j´onak, ha a magyar´azand´o v´altoz´o eloszl´asa a keletkezett r´eszekben
´ ´ 6. FEJEZET. OSZTALYOZ AS
139 A
B
1
1
C
D
0
0
0
0
6.14. a´bra. Az ism´etl˝od˝o r´eszfaprobl´ema szeml´eltet´ese kev´esb´e sz´ort, kev´esb´e bizonytalan, mint a sz´etv´ag´as el˝ott. Egyes algoritmusok arra is t¨orekednek, hogy a keletkez˝o r´eszek kb. egyforma nagyok legyenek. A r´eszekre rekurz´ıvan alkalmazzuk a fenti elj´ar´ast. Egy csom´opont lesz´armazottjaiban nem vizsg´aljuk t¨obb´e azt az attrib´ utumot, ami alapj´an sz´etosztjuk a mint´at. A rekurzi´ot akkor szak´ıtjuk meg valamelyik a´gban, ha a k¨ovetkez˝o felt´etelek k¨oz¨ ul teljes¨ ul valamelyik : – A csom´opont elemei ugyanabba az oszt´alyba tartoznak. – Nincs t¨obb attrib´ utum, ami alapj´an az elemeket tov´abb oszthatn´ank. A csom´oponthoz tartoz´o oszt´aly ekkor az lesz, amelyikhez a legt¨obb tan´ıt´opont tartozik. – Nem tartozik az adott csom´oponthoz tan´ıt´opont. – Az adott m´elys´eg el´ert egy el˝ore megadott korl´atot. – Nincs olyan v´ag´as, amely jav´ıtani tudna az aktu´alis oszt´alyz´ason. A v´ag´as j´os´ag´ar´ol k´es˝obb sz´olunk. Minden lev´elhez hozz´a kell rendeln¨ unk a magyar´azand´o v´altoz´o egy ´ert´ek´et, a d¨ont´est. Ez a´ltal´aban az u ´ n. t¨obbs´egi szavaz´as elve alapj´an t¨ort´enik : az lesz a d¨ont´es, amely kateg´ori´aba a legt¨obb tan´ıt´ominta tartozik. Hasonl´o m´odon bels˝o csom´opontokhoz is rendelhet¨ unk d¨ont´est. Weka 3.5.7 A d¨ont´esi fa interakt´ıv el˝oa´ll´ıt´as´at teszi lehet˝ov´e a weka.classifiers.trees.UserClassifier oszt´ aly. A m´ odszer elind´ıt´ asa ut´ an egy ablak jelenik meg amelynek k´et f¨ ule van. A Tree Visualizer f¨ ul¨ on az aktu´ alis f´ at l´ athatjuk, a Data Visualizer pedig a kijel¨ olt fa csom´ opontj´ anak tan´ıt´ opontjai jelen´ıti meg. Itt a ´ll´ıthatjuk el˝ o a v´ ag´ asi f¨ uggv´enyt, amelyhez vizu´ alis seg´ıts´eget kapunk. Az oszt´ aly eloszl´ as´ at l´ athatjuk k´et tetsz˝ olegesen kiv´ alaszthat´ o attrib´ utum ´ert´ekeinek f¨ uggv´eny´eben. Ez alapj´ an kijel¨ olhet¨ unk egy t´eglalapot, poligont vagy
´ ´ 6. FEJEZET. OSZTALYOZ AS
140
o ¨sszek¨ ot¨ ott szakaszokat, amely kett´ev´ alasztja a pontokat. Akkor j´ o a kett´ev´ alaszt´ as, ha az oszt´ alyattrib´ utum szerint homog´en csoportok j¨ onnek l´etre.
A d¨ont´esi f´ak el˝oa´ll´ıt´as´ara a k¨ovetkez˝o h´arom f˝o algoritmus csal´ad ismert : I. Interactive Dichotomizer 3 (ID3 ) csal´ad, jelenlegi v´altozat C5.05 II. Classification and Regression Trees (CART)6 III. Chi-squared Automatic Interaction Detection (CHAID)7
6.7.3. Az ID3 algoritmus Az ID3 az egyik leg˝osibb ´es legismertebb oszt´alyz´o algoritmus. A tesztattrib´ utum kiv´alaszt´as´ahoz az entr´opia cs¨okken´es´et alkalmazza. Ha Y egy ` lehets´eges ´ert´eket p i (i = = 1, . . . , `) val´osz´ın˝ us´eggel felvev˝o val´osz´ın˝ us´egi v´altoz´o, akkor Y Shannon-f´ele entr´opi´aj´an a H (Y ) = H (p1 , . . . , pk ) = −
l X
pj log2 pj
j=1
sz´amot ´ertj¨ uk8 . Az entr´opia az inform´aci´o-elm´elet (l´asd [39]) k¨ozponti fogalma, ´es Y v´altoz´o ´ert´ek´evel kapcsolatos bizonytalans´agunkat fejezi ki. Ha egy X v´altoz´ot megfigyel¨ unk ´es azt tapasztaljuk, hogy ´ert´eke xi , akkor Y -nal kapcsolatos bizonytalans´agunk H (Y |X = xi ) = −
k X j=1
P (Y = yj |X = xi ) log2 P (Y = yj |X = xi )
nagys´ag´ u. ´Igy ha lehet˝os´eg¨ unk van X-et megfigyelni, akkor a v´arhat´o bizonytalans´agunk X H (Y |X) = P (X = xi ) H (Y |X = xi ) i=1
Eszerint X megfigyel´es´enek lehet˝os´ege a bizonytalans´ag I (Y, X) = H (Y ) − H (Y |X) cs¨okken´es´et eredm´enyezi, azaz X ennyi inform´aci´ot hordoz Y -r´ol. Az ID3 az Y attrib´ utum szerinti klasszifik´al´asakor olyan X attrib´ utum ´ert´ekei szerint a´gazik sz´et, amelyre I (Y, X) maxim´alis, azaz H (Y |X) minim´alis. 5
Magyarul: Interakt´ıv tagol´ o / feloszt´ o Klasszifik´ al´ o ´es regresszi´ os f´ ak 7 Khi-n´egyzet alap´ u automatikus interakci´ o felismer´es 8 Az entr´ opia k´eplet´eben 0 · ∞ meg´ allapod´ as szerint 0-val egyenl˝ o.
6
´ ´ 6. FEJEZET. OSZTALYOZ AS
141
Weka 3.5.7 A wek´ aban az Id3 algoritmust a weka.classifiers.treea.Id3 oszt´ aly implement´ alja.
A k¨olcs¨on¨os entr´opia azokat az attrib´ utumokat kedveli”, amelyek sok ´ert´eket vesznek fel ´es ” ´ıgy sokfel´e a´gazik a fa [139]. Ez tereb´elyes f´akat eredm´enyez. Gondoljuk meg, ha a ki´ert´ekel´esbe bevessz¨ uk az azonos´ıt´o k´odot, akkor az 0 k¨olcs¨on¨os entr´opi´at fog produk´alni, ´ıgy az algoritmus azt v´alasztan´a. Hasonl´o a probl´ema az 1R m´odszer diszkretiz´al´as´an´al eml´ıtettel (l´asd ??. oldal). Egy lehets´eges megold´as a nyeres´egar´any mutat´o (gain ratio) haszn´alata [141], amelyre mint norm´alt k¨olcs¨on¨os inform´aci´o tekint¨ unk. Ez a mutat´o figyelembe veszi a gyerek csom´opontokba ker¨ ul˝o tan´ıt´opontok sz´am´at ´es b¨ unteti” azokat az attrib´ utumokat, amelyek t´ ul sok gyereket ” hoznak l´etre. A nyeres´egar´anyt u ´ gy kapjuk meg, hogy a k¨olcs¨on¨os inform´aci´ot elosztjuk, az adott attrib´ utum entr´opi´aj´aval : gain ratio(X) =
I(Y, X) . H(X)
Sajnos a nyeres´egar´any sok esetben t´ ulkompenz´al” ´es olyan attrib´ utumokat r´eszes´ıt ” el˝onyben, amelynek az entr´opi´aja kicsi. Egy a´ltal´anos gyakorlat, hogy azt az attrib´ utumot v´alasztj´ak, amelyik a legnagyobb nyeres´egar´anyt adja, azon attrib´ utumok k¨oz¨ ul, amelyekhez tartoz´o k¨olcs¨on¨os inform´aci´o legal´abb akkora mint az o¨sszes vizsg´alt attrib´ utumhoz tartoz´o k¨olcs¨on¨os inform´aci´ok a´tlaga.
6.7.4. Felt´ etelek a csom´ opontokban Az ID3 algoritmus kiv´alasztja a minim´alis felt´eteles entr´opi´aval rendelkez˝o attrib´ utumot ´es annyi gyerekcsom´opont j¨on l´etre, amennyi ´ert´eket felvesz az attrib´ utum. Le´all´asi felt´etelk´ent szerepel, hogy egy a´gat nem v´agunk tov´abb, ha nincs t¨obb vizsg´alhat´o attrib´ utum, azaz a fa maxim´alis m´elys´ege megegyezik az attrib´ utumok sz´am´aval. Az ID3 algoritmus nem felt´etlen¨ ul bin´aris f´at a´ll´ıt el˝o. Ha bin´aris fa el˝oa´ll´ıt´asa a c´el (tov´abb´a az intervallum t´ıpus´ u attrib´ utum szofisztik´altabb kezel´ese), akkor a magyar´az´o X attrib´ utum t´ıpus´at´ol f¨ ugg˝oen k´etf´ele felt´etelt szok´as l´etrehozni. Sorrend t´ıpus eset´eben X ≥c, ahol c egy olyan ´ert´ek, amelyet az X felvesz valamelyik tan´ıt´opont eset´en. Intervallum t´ıpus´ u attrib´ utumokn´al a c k´et szomsz´edos tan´ıt´o´ert´ek a´tlaga. Kateg´oria t´ıpus eset´eben X ⊆K, ahol K az X ´ert´ekk´eszlet´enek egy r´eszhalmaza. Az els˝o esetben X felvett ´ert´ekeivel line´arisan ar´anyos felt´eteles entr´opi´at kell sz´am´ıtani, a m´asodikban pedig a felvett ´ert´ekek sz´am´aval exponenci´alis sz´am´ ut (ugyanis egy n elem˝ u halmaznak 2 n darab r´eszhalmaza van). Sok esetben akkor kapunk j´o bin´aris d¨ont´esi f´at, ha egy gy¨ok´erb˝ol lev´elig vezet˝o u ´ ton egy attrib´ utumot t¨obbsz¨or is vizsg´alunk (k¨ ul¨onb¨oz˝o konstansokkal). A fa m´elys´ege ekkor az attrib´ utumok sz´am´an´al j´oval nagyobb is lehet.
6.7.5. V´ ag´ asi f¨ uggv´ enyek Mi´ert pont a k¨olcs¨on¨os inform´aci´ot haszn´alja az ID3 algoritmus ? Milyen j´o tulajdons´aggal rendelkezik a k¨olcs¨on¨os inform´aci´o ? Van egy´eb v´ag´asi f¨ uggv´eny, amely rendelkezik ezekkel a j´o
´ ´ 6. FEJEZET. OSZTALYOZ AS
142
tulajdons´agokkal ? A v´alaszok kulcsa a Taylor-Silverman elv´ ar´ asok (impurity-based criteria) ´es a v´ ag´ asok j´ os´ aga. 6.8. defin´ıci´ o. Legyen X egy olyan diszkr´et val´ osz´ın˝ us´egi v´ altoz´ o, amely k-´ert´eket vehet fel. Az eloszl´ asf¨ uggv´eny ´ert´ekei legyenek P = (p1 , p2 , . . . , pk ). A Φ : [0,1]k 7−→ R v´ ag´ asi f¨ uggv´ennyel szemben t´ amasztott Taylor-Silverman elv´ ar´ asok a k¨ ovetkez˝ ok : I. Φ(P ) ≥ 0 II. Φ(P ) akkor veszi fel a minimum´ at, ha ∃j : pj = 1 III. Φ(P ) akkor veszi fel a maximum´ at, ha ∀j : pj = 1/k IV. Φ(P ) a P komponenseire n´ezve szimmetrikus, teh´ at a p1 , p2 , . . . , pk ´ert´ekek tetsz˝ oleges permut´ aci´ oj´ ara ugyanazt az ´ert´eket adja. V. Φ(P ) differenci´ alhat´ o az ´ertelmez´esi tartom´ any´ aban mindenhol Adott T tan´ıt´ominta eset´en a v´ag´asi f¨ uggv´eny sz´am´ıt´asakor a p j val´osz´ın˝ us´eget nem ismerj¨ uk, ´ıgy a relat´ıv gyakoris´aggal k¨ozel´ıtj¨ uk azaz, ha a j-edik oszt´alyba tartoz´o tan´ıt´opontok |T j | j halmaz´at T -vel jel¨olj¨ uk, akkor pj = |T| . A val´osz´ın˝ us´egvektor empirikus megfelel˝oj´et P (T)-vel 1
2
`
jel¨olj¨ uk (P (T) = ( |T|T|| , |T|T|| , . . . , |T|T|| ).
6.9. defin´ıci´ o. Az olyan V v´ ag´ as j´ os´ aga, amely sor´ an a T tan´ıt´ opontokat T 1 , T2 , . . . , T` diszjunkt tan´ıt´ ohalmazba osztjuk sz´et, megegyezik a ∆Φ(V, T) = Φ(P (T)) −
` X Ti i=1
T
· Φ(P (Ti ))
´ert´ekkel. Min´el nagyobb egy v´ag´asi f¨ uggv´eny, ann´al jobb a v´ag´as. Adott v´ag´asi f¨ uggv´eny ´es tan´ıt´oponthalmaz eset´en c´elunk megtal´alni azt a v´ag´ast, amely a maxim´ a lis v´ a g´ a st eredm´ enyezi. P ` Ti Mivel a Φ(P (T)) adott tan´ıt´ohalmaz eset´en r¨ogz´ıtett, ez´ert el´eg a i=1 T ·Φ(P (Ti )) ´ert´eket minimum´at megtal´alni. Amennyiben a v´ag´asi f¨ uggv´eny csak az oszt´alyok relat´ıv gyakoris´ag´at veszi figyelembe, akkor a v´ag´as j´os´aga 0 lesz abban az esetben, ha az oszt´alyok eloszl´asa a gyerekekben megegyezik a sz¨ ul˝oben tal´alhat´o oszt´alyeloszl´assal. Ez megfelel elv´ar´asainknak, nem nyer¨ unk semmit az olyan v´ag´assal, amely sor´an az egyes oszt´alyba tartoz´o pontok relat´ıv sz´ama egym´ashoz viszony´ıtva mit sem v´altozik. Most m´ar l´athat´o Taylor ´es Silverman mi´ert fogalmazta meg az elv´ar´asait. A l´enyeg a m´asodik ´es a harmadik elv´ar´as. Azt szeretn´enk, hogy a gyermekekben tal´alhat´o tan´ıt´omint´ak min´el homog´enebbek legyenek. Ide´alis esetben olyan gyerekek j¨onnek l´etre, amelyekhez tartoz´o tan´ıt´opontok egy oszt´alyba tartoznak. Ehhez az oszt´alyhoz tartoz´o relat´ıv gyakoris´ag 1, a t¨obbi oszt´aly´e 0 ´es a v´ag´asi f¨ uggv´eny a minimum´at veszi fel. A legrosszabb esetben az o¨sszes oszt´aly relat´ıv gyakoris´aga megegyezik, azaz a v´ag´as sor´an olyan gyerek j¨ott l´etre, amelyben az oszt´alyattrib´ utum teljesen megj´osolhatatlan. A harmadik elv´ar´as szerint ezt az esetet b¨ untetni ´ kell, pontosabban a v´ag´asi f¨ uggv´eny vegye fel a minimum´at. Ertelemszer˝ uen a minimum ´es
´ ´ 6. FEJEZET. OSZTALYOZ AS
143
a maximum k¨oz¨ott a v´ag´asi f¨ uggv´eny norm´alis ´es kezelhet˝o” legyen, azaz legyen deriv´alhat´o ” legal´abbis minden pontban. Nem meglep˝o, hogy az entr´opia teljes´ıti az o¨t felt´etelt. 6.10. lemma. Az entr´ opia, mint v´ ag´ asi f¨ uggv´eny, megfelel a Taylor-Silverman elv´ ar´ asoknak [140]. K¨ ul¨onb¨oz˝o kutat´ok k¨ ul¨onb¨oz˝o v´ag´asi f¨ uggv´enyeket vezettek be. P´eld´aul a CART algoritmusban a Gini indexet [27, 65] haszn´alt´ak : Gini(P) = 1 −
k X
p2j .
j=1
A DKM v´ag´asi f¨ uggv´enyt [44][93] bin´aris oszt´alyoz´as eset´en aj´anlj´ak : √ DKM (P) = 2 · p1 p2 6.11. lemma. A Gini ´es a DKM v´ ag´ asi f¨ uggv´enyek megfelelnek a Taylor-Silverman elv´ ar´ asoknak. Elm´eletileg bizony´ıtott´ak [93], hogy a DKM v´ag´asi f¨ uggv´eny ugyanakkora hiba mellett kisebb d¨ont´esi f´akat a´ll´ıt el˝o, mintha entr´opia vagy Gini index alapj´an v´alasztan´ank ki a v´ag´ast. Itt szeretn´enk visszautalni az ID3 algoritmus ismertet´ese v´eg´en le´ırtakra. Az entr´opia alap´ u v´ag´asi f¨ uggv´enyek azokat a v´ag´asokat r´eszes´ıtik el˝onyben, amelyek sokfel´e v´agnak, azaz sok ´ gyereket hoznak l´etre. Altal´ aban is igaz, hogy ha a v´ag´as j´os´ag´at a fenti m´odon defini´aljuk ´es a v´ag´asi f¨ uggv´eny kiel´eg´ıti a Taylor-Silverman elv´ar´asokat, akkor olyan v´ag´asok j¨onnek l´etre, amelyekhez sok gyerek tartozik. Term´eszetesen ez a probl´ema nem jelentkezik bin´aris d¨ont´esi f´ak eset´eben. Ott minden bels˝o cs´ ucsnak pontosan k´et gyereke van. A megold´ast a v´ag´as j´os´ag´anak normaliz´al´asa jelenti. P´eld´aul az inform´aci´onyeres´eg helyett a nyeres´egar´anyt (gain ratio) c´elszer˝ u haszn´alni, amelyet megkapunk, ha az inform´aci´onyeres´eget ´ elosztjuk az entr´opi´aval. Altal´anos esetben is hasonl´ot tesz¨ unk. A [115] cikk szerint a v´ag´as j´os´ag´anak norm´altj´at a k¨ovetkez˝ok´eppen c´elszer˝ u k´epezni : ||∆Φ(V, T)|| =
−
∆Φ(V, T) , Pk i=1 j=1 pij log pij
P`
ahol pij =|Tij |/|T|. Az Tij az i-edik gyermek j oszt´alyba tartoz´o tan´ıt´opontjainak halmaz´at jel¨oli.
6.7.6. Tov´ abbfejleszt´ esek M´ıg az ID3 csal´adba tartoz´o f´ak csak klasszifik´aci´ora, addig a CHAID ´es a CART klasszifik´aci´ora ´es el˝orejelz´esre is alkalmazhat´o. A C4.5 (amelynek kereskedelmi, jav´ıtott v´altozata a C5.0) ´es a CHAID f´ak kiz´ar´olag egyetlen attrib´ utumra vonatkoz´o egyenl˝o, kisebb, nagyobb teszteket haszn´aln´ak a csom´opontokban a d¨ont´esekhez (egyv´altoz´os f´ak), azaz a jellemz˝ok ter´et t´eglatestekre v´agj´ak fel. A CART f´ak ferd´en is tudnak v´agni, attrib´ utumok line´aris kombin´aci´oj´at is tesztelik (rel´aci´os f´ak). M´ıg a CART elj´ar´as mindig bin´aris d¨ont´eseket haszn´al
´ ´ 6. FEJEZET. OSZTALYOZ AS
144
a csom´opontokban, addig egy nomin´alis attrib´ utumra egy C4.5 fa annyi fel´e a´gazik, ah´any lehets´eges ´ert´eket az attrib´ utum felvehet. Tal´an a legl´enyegesebb k¨ ul¨onbs´eg a k¨ ul¨onb¨oz˝o f´ak k¨oz¨ott, hogy mit tekintenek j´o d¨ont´esnek, v´ag´asnak. Nomin´alis magyar´azott v´altoz´o eset´en a CHAID elj´ar´as – nev´enek megfelel˝oen – a χ2 -tesztet haszn´alja. A CART metodol´ogia a Gini-indexet minimaliz´alja. A Gini-index alapj´an mindig olyan attrib´ utumot keres¨ unk, amely alapj´an a legnagyobb homog´en oszt´alyt tudjuk lev´alasztani. Ha a magyar´azand´o Y v´altoz´o intervallum sk´al´an m´ert, akkor a CART elj´ar´as egyszer˝ uen a varianci´aj´anak cs¨okkent´es´ere t¨orekszik, a CHAID pedig F -tesztet haszn´al. A CHAID konzervat´ıv elj´ar´as, csak addig n¨oveli a f´at, am´ıg a cs´ ucsban alkalmazhat´o legjobb 2 sz´etv´ag´as χ -, vagy F -teszt szerinti szignifikanci´aja meghalad egy el˝ore adott k¨ usz¨ob¨ot. A CART ´es C4.5 elj´ar´asok nagym´eret˝ u f´at ´ep´ıtenek, ak´ar olyat is, amelyik t¨ok´eletesen m˝ uk¨odik a tanul´o adatb´azison vagy olyan heurisztikus le´all´asi szab´alyokat alkalmaznak, hogy a fa nem lehet egy el˝ore adott korl´atn´al m´elyebb, vagy hogy egy cs´ ucsot nem szabad m´ar sz´etv´agni, ha egy korl´atn´al kevesebb eset tartozik bele. Mindenesetre a kialakul´o fa nagy ´es tereb´elyes lesz, t´ ul speci´alis, amely nem csak az alappopul´aci´o jellemz˝oit, hanem a mint´aban el˝ofordul´o v´eletlen saj´atoss´agokat is modellezi. Ez´ert a f´at fel´ep´ıt´ese ut´an egy ellen˝orz˝o adatb´azist haszn´alva meg szokt´ak metszeni (pruning) ´es elhagyj´ak a felesleges d¨ont´eseket. Tan´acsos megvizsg´alni, hogy nem fordul-e el˝o, hogy a gener´alt C5.0 vagy CHAID fa egym´as ut´an ism´etelten kev´es (2-3) attrib´ utum ´ert´ek´et teszteli. Ez arra utalhat, hogy az attrib´ utumok valamely f¨ uggv´enye (pl. : h´anyadosa - egy f˝ore es˝o j¨ovedelem) b´ır magyar´az´o er˝ovel ´es a fa ezt a kapcsolatot pr´ob´alja ism´etelt vagdos´assal k¨ozel´ıteni. Weka 3.5.7 A C4.5 egy tov´abbfejlesztett v´altozat´anak java implement´ aci´ oja a weka.classifiers.trees.J48 oszt´ aly. Tal´ an ez a legelismertebb d¨ ont´esi fa el˝ oa ´ll´ıt´ o m´ odszer a wek´ aban.
L´attuk, hogy t¨obbf´ele mutat´osz´am l´etezik a v´ag´asi krit´erium kiv´alaszt´as´ara. Ezek k¨oz¨ott nem l´etezik a legjobb. B´armelyikhez lehet k´esz´ıteni olyan adatb´azist, amelyet rosszul oszt´alyoz a v´ag´asi krit´eriumot haszn´al´o algoritmus. A k¨ovetkez˝okben n´eh´any ismert v´ag´asi f¨ uggv´eny egys´eges le´ır´as´at mutatjuk be.
6.7.7. S´ ulyozott divergenciaf¨ uggv´ enyek f¨ uggv´ enyek
alapj´ an
defini´ alt
v´ ag´ asi
Bin´aris v´ag´asi f¨ uggv´enyek eset´en a sz¨ ul˝o csom´opont N tan´ıt´o pontj´at osztjuk sz´et u ´ gy, hogy a bal oldali gyerekbe Nb tan´ıt´o pont jut, a jobboldaliba pedig Nj . Az Ni , i ∈ {B, J} pontb´ol Nji tartozik a j-edik oszt´alyba. Legyen πi = Ni /N ´es pji = Nji /N . A j-edik oszt´aly gyakoris´ag´at a sz¨ ul˝oben pj -vel jel¨olj¨ uk. A fenti jel¨ol´esekkel a χ2 statisztika a´t´ırhat´o az al´abbi form´aba : 2
χ /N = πB
k X j=1
pjB (pjB /pj − 1) + πJ
k X j=1
pjJ (pjJ /pj − 1)
´ ´ 6. FEJEZET. OSZTALYOZ AS
145
Legyen u = (u1 , u2 , . . . , uk ) ´es v = (v1 , v2 , . . . , vk ) k´et diszkr´et eloszl´asf¨ uggv´eny. Amennyiben a divergencia-f¨ uggv´eny¨ uket az al´abbi m´odon defini´aljuk d(u : v) =
k X j=1
uj (uj /vj − 1),
akkor a χ2 statisztika a´t´ırhat´o a k¨ovetkez˝ok´eppen (alkalmazzuk a u j (uj /vj − 1) = 0 konvenci´ot uj = vj = 0 eset´en) : χ2 = N πB d(pB : p) + πJ d(pJ : p) .
Ha a divergenciaf¨ uggv´enynek a k¨ovetkez˝ot haszn´aljuk d(u : v) = 2
k X
uj log(uj /vj ),
j=1
P akkor az entr´opi´ahoz jutunk. Tov´abb´a d(u : v) = 2 kj=1 (u2j −vj2 ) eset´en a Gini index N -edr´esz´et kapjuk. A k¨oz¨os magot az er˝ o divergencia f¨ uggv´eny adja [159] : k
X 1 dλ (u : v) = uj (uj /vj )λ − 1 , λ(λ + 1) j=1 ahol −1 < λ ≤ ∞. A dλ f¨ uggv´eny ´ert´ek´et a λ = 0 helyen, az ugyanitt vett hat´ar´ert´eke adja dλ -nak. Az er˝o divergencia f¨ uggv´eny alapj´an defini´aljuk a v´ag´asi f¨ uggv´enyek egy csal´adj´at : C(λ) = πB dλ (pB : p) + πJ dλ (pJ : p) L´attuk, hogy λ = 1 est´en a χ2 statisztik´at kapjuk, λ = 0-n´al pedig az entr´opi´at. Tov´abbi ismert v´ag´asi f¨ uggv´enyeket is megkaphatunk az er˝o divergencia f¨ uggv´enyb˝ol. Freeman-Tuckey statisztika ad´odik λ = −1/2-n´el ´es a Cressie-Read λ = −2/3-n´al [142]. 6.12. t´ etel. A C(λ) v´ ag´ asi f¨ uggv´enyoszt´ alyba tartoz´ o v´ ag´ asi f¨ uggv´enyek teljes´ıtik a TaylorSilverman elv´ ar´ asokat. Ismert v´ag´asi f¨ uggv´eny az MPI index, amelyet az al´abbi m´odon defini´alnak :
M = π B πJ 1 −
k X j=1
pjB · pjJ /pj
Egy kis k´ezimunk´aval az MPI index a´talak´ıthat´o az al´abbi form´ara : M = πB 2πJ2 d1 (pJ : p) + πJ 2πB2 d1 (pB : p), amely a D(λ) = πB 2πJ2 dλ (pJ : p) + πJ 2πB2 dλ (pB : p) = πB πJ C(λ) v´ag´asi f¨ uggv´enyoszt´aly tagja. Szerencs´ere ez a f¨ uggv´enyoszt´aly is rendben van az elv´ar´asaink tekintet´eben : 6.13. t´ etel. A D(λ) v´ ag´ asi f¨ uggv´enyoszt´ alyba tartoz´ o v´ ag´ asi f¨ uggv´enyek teljes´ıtik a TaylorSilverman elv´ ar´ asokat.
´ ´ 6. FEJEZET. OSZTALYOZ AS
146
6.7.8. D¨ ont´ esi f´ ak ´ abr´ azol´ asa A d¨ont´esi fa el˝oa´ll´ıt´asa ut´an k´et fontos k´erd´es szokott felmer¨ ulni. Egyr´eszt tudni szeretn´enk, hogy melyik lev´elbe esik sok tan´ıt´o pont, azaz melyek azok a szab´alyok, amelyek sok tan´ıt´o pontra ´erv´enyesek. M´asr´eszt l´atni szeretn´enk, hogy a levelek mennyire j´ol oszt´alyoznak ; a tesztpontok k¨oz¨ ul (ha vannak tesztpontok) milyen ar´anyban oszt´alyozott rosszul az adott lev´el. Az els˝o k´erd´es teh´at azt vizsg´alja, hogy mennyire jelent˝os az adott lev´el, a m´asodik pedig azt, hogy mennyire j´o, mennyire igaz a lev´elhez tartoz´o szab´aly. Ezeket az ´ert´ekeket azonnal l´atni szeretn´enk, ha r´an´ez¨ unk egy d¨ont´esi f´ara. Elterjedt m´odszer (ezt haszn´alj´ak p´eld´aul a SAS rendszer´eben is), hogy minden levelet egy k¨orcikkely reprezent´al. A grapefruit mindennapos fo” A k¨orcikkely nagys´aga ar´anyos a lev´elhez tartoz´o tan´ıt´o gyaszt´ asa harmad´ aval n¨ ovelhepontokkal, a sz´ıne pedig a lev´elhez tartoz´o szab´aly j´os´ag´at ti a mellr´ ak vesz´ely´et – fiadja meg. P´eld´aul min´el s¨ot´etebb a sz´ın, ann´al rosszabb az gyelmeztetnek amerikai kutat´ ok.” oszt´alyoz´as ar´anya. Egy ilyen a´br´azol´asra l´athatunk p´eld´at Forr´as : http://www.macosz.hu/ a k¨ovetkez˝o a´br´an. grapefruit-daganat.html ¨ FOLYT. KOV.
6.7.9. Hanyag d¨ ont´ esi f´ ak A hanyag d¨ont´esi f´ak olyan d¨ont´esi f´ak, amelyben az azonos szinten elhelyezked˝o pontokban ugyanazt az attrib´ utumot vizsg´aljuk. ¨ FOLYT. KOV.
6.8. Bayesi h´ al´ ozatok A bayesi h´al´ozatok k´et fontos elvre ´ep´ıtenek. A maximum likelihood szerint egy elem oszt´alyoz´as´an´al azt az oszt´alyt fogjuk v´alasztani, amelynek a legnagyobb a val´osz´ın˝ us´ege a megfigyel´esek ´es az elem tov´abbi attrib´ utumai alapj´an. A bayes-t´etel szerint pedig meghat´arozhatjuk a felt´eteles val´osz´ın˝ us´eget, ha ismer¨ unk n´eh´any m´asik val´osz´ın˝ us´eget. Weka 3.5.7
Sz´ amos bayes-h´ al´ o alap´ u m´ odszer tal´ alhat´ o a weka.classifiers.bayes csomagban.
A Bayes-t´etel seg´ıts´eg´evel meghat´arozhat´o az optim´alis (l´asd 6.2. szakasz) klasszifik´aci´os szab´aly. Jel¨olj¨ uk Yi -vel azt, amikor a klasszifik´aland´o eset az i-edik oszt´alyba tartozik (Y = y i ). Az elemek megfigyelhet˝o tulajdons´agait az X vektor ´ırja le. Az egyszer˝ us´eg kedv´e´ert a t´eved´es k¨olts´ege legyen minden esetben azonos. Ekkor egy ismeretlen, X tulajdons´ag´ u p´eld´anyt abba az oszt´alyba (i) ´erdemes (optim´alis) sorolni, amelyikre P (Yi |X) maxim´alis. A Bayes-szab´aly alapj´an P (X, Yi ) P (X|Yi ) P (Yi ) = . P (Yi |X) = P (X) P (X) Mivel P (X) minden i-re konstans, ez´ert elegend˝o P (X|Yi ) P (Yi )-t maximaliz´alni. P (Yi ) vagy a priori adott, vagy pedig a mint´ab´ol a relat´ıv gyakoris´agokkal egyszer˝ uen becs¨ ulhet˝o. ´Igy m´ar
´ ´ 6. FEJEZET. OSZTALYOZ AS
147
,,csak” P (X|Yi )-t k´ene meghat´arozni. Amennyiben k darab bin´aris magyar´az´o attib´ utumunk van, az Y pedig ` ´ert´eket vehet fel, k akkor `(2 −1) darab P (X|Yi ) ´ert´eket kellene megbecs¨ uln¨ unk. A 3.3.7 r´eszben l´attuk, hogy egy val´osz´ın˝ us´eg megbecsl´es´ehez relat´ıv gyakoris´aggal mennyi tan´ıt´opontot kell venn¨ unk. A gyakorlati esetek t¨obbs´eg´eben ennyi tan´ıt´opont nem a´ll rendelkez´es¨ unkre, ez´ert valamilyen felt´etellel kell ´eln¨ unk a modell kapcs´an. A na´ıv bayes-h´al´ok felt´etelezik, hogy az egyes attrib´ utumok felt´etelesen f¨ uggetlenek egym´ast´ol.
6.8.1. Na´ıv Bayes-h´ al´ ok A na´ıv bayes-h´al´ok olyan felt´etelez´essel ´elnek, amelynek seg´ıts´eg´evel a `(2 k −1) darab megbecs¨ ulend˝o param´eter sz´ama ` · k-ra cs¨okken. 6.14. defin´ıci´ o. Legyen X, Y ´es Z h´ arom val´ osz´ın˝ us´egi v´ altoz´ o. Az X felt´etelesen f¨ uggetlen Y -t´ ol adott Z eset´en, ha P(X = xi |Y = yj , Z = zk ) = P(X = xi |Z = zk ) minden lehets´eges xi , yj , zk h´ armasra. Ha p´eld´aul az es} o, vihar, vill´ aml´ as diszkr´et val´osz´ın˝ us´egi v´altoz´ot tekintj¨ uk, akkor a vihar felt´etelesen f¨ uggetlen az es} ot} ol, ha a vill´ aml´ ast ismerj¨ uk. A vill´ aml´ as ugyanis vihart okoz (a vill´ aml´ as hi´anya pedig azt jelenti nincs vihar), ez´ert az es} o t´enye semmilyen tov´abbi inform´aci´oval nem szolg´al a viharra vonatkoz´oan. Term´eszetesen van o¨sszef¨ ugg´es a vihar ´es az es} o k¨oz¨ott, de nincs k¨ozt¨ uk felt´eteles o¨sszef¨ ugg´es, ha a vill´ aml´ as ´ert´ek´et ismerj¨ uk. A na´ıv Bayes klasszifik´al´o felt´etelez´ese szerint egy oszt´alyon bel¨ ul az attrib´ utumok felt´etelesen f¨ uggetlenek egym´ast´ol. Ekkor a P (X|Y ) val´osz´ın˝ us´eg kifejezhet˝o a P (X j |Y ) val´osz´ın˝ us´egek szorzatak´ent, hiszen P (X1 , X2 |Yi ) = P (X1 |X2 , Yi ) P (X2 |Yi ) = P (X1 |Yi ) P (X2 |Yi ) Az els˝o egyenl˝otlens´egn´el a val´osz´ın˝ us´egek a´ltal´anos tulajdons´ag´at haszn´altuk fel, a m´asodikn´al pedig a felt´eteles f¨ uggetlens´eget. K¨onny˝ u bel´atni, hogy k magyar´az´o v´altoz´o eset´en a k¨ovetkez˝ot kapjuk k Y P (Xj = xj |Yi ) . P ((X1 , X2 , . . . , Xk ) = (x1 , x2 , . . . , xk ) |Yi ) = j=1
A P (Xj = xj |Yi ) val´osz´ın˝ us´egek a mint´ab´ol becs¨ ulhet˝ok.
kateg´ oria t´ıpus´ u attrib´ utum Amennyiben az Xj kateg´oria t´ıpus´ u, akkor P (Xj = xj |Yi ) val´osz´ın˝ us´eget a relat´ıv gyakoris´aggal k¨ozel´ıtj¨ uk, teh´at meghat´arozzuk a relat´ıv ar´any´at az X j attrib´ utum´aban xj ´ert´eket felvev˝o elemeknek a Yi oszt´aly´ u elemek k¨oz¨ott. Probl´em´at jelent, ha valamelyik relat´ıv gyakoris´ag nulla, mert ekkor a szorzat is nulla lesz a t¨obbi tagt´ol f¨ uggetlen¨ ul. Legegyszer˝ ubb megold´as, hogy az adott attrib´ utum minden ´ert´ek´enek el˝ofordul´as´ahot hozz´aadunk egyet. Ha volt el´eg mint´ank, akkor a val´osz´ın˝ us´egek alig torzulnak, viszont siker¨ ul kik¨ usz¨ob¨oln¨ unk, hogy a nulla tag miatt a t¨obbi relat´ıv gyakoris´agot nem vessz¨ uk
´ ´ 6. FEJEZET. OSZTALYOZ AS
148
figyelembe. Ha egy adott oszt´alyba tartoz´o elemek egy attrib´ utuma h´arom ´ert´eket vehet fel ´es az el˝ofordul´asok : 0, 150, 250. Akkor 0, 150/400, 250/400 helyett 1/403, 151/403, 251/403 ´ert´ekeket haszn´alunk. Erre a technik´ara az irodalomban, mint Laplace estimation hivatkoznak. Egy kifinomultabb m´odszer, ha egy helyett pk -t adunk a relat´ıv gyakoris´aghoz, ahol pk -val jel¨olj¨ uk a k-adik attrib´ utum´ert´ek relat´ıv gyakoris´ag´at a teljes tan´ıt´ohalmazban (teh´at nem csak a Yi kateg´ori´aj´ u tan´ıt´ohalmazban). sz´ am t´ıpus´ u attrib´ utum Amennyiben Xj sz´am t´ıpus´ u ´es tudjuk a P (Xj |Yi ) eloszl´as´anak t´ıpus´at, akkor a keresett val´osz´ın˝ us´eghez sz¨ uks´eges eloszl´asparam´etereket statisztikai m´odszerrel becs¨ ulj¨ uk. Ha p´eld´aul norm´alis eloszl´assal van dolgunk, akkor el´eg meghat´aroznunk a v´arhat´o ´ert´eket ´es a sz´or´ast, ezekb˝ol tetsz˝oleges ´ert´ekhez tartoz´o val´osz´ın˝ us´eg a s˝ ur˝ us´eP gf¨ uggv´enyb˝ol k¨ozvetlen ad´odik. A |Yi | k ¯ v´arhat´o ´ert´eket a minta´atlaggal (empirikus k¨oz´ep : Xi j = k=1 xij /|Yi |), a sz´or´asn´egyzetet a P|Yi | k ∗2 2 ¯ korrig´alt empirikus szor´asn´egyzettel (sij = k=1 (xij − Xj ) /(|Yi | − 1)) becs¨ ulj¨ uk. A keresett val´osz´ın˝ us´eget a 1 ∗2 ¯ 2 P (Xj = xj |Yi ) = ∗ √ e(xj −Xij ) /2sij sij 2π k´eplet adja. Weka 3.5.7 weka.classifiers !bayes.NaiveBayesSimple A na´ıv bayesi oszt´ alyoz´ ot, amely a sz´ am t´ıpus´ u attrib´ utumokn´ al norm´ alis eloszl´ ast felt´etelez a weka.classifiers.bayes.NaiveBayesSimple oszt´ aly implement´ alja. A weka.classifiers.bayes.NaiveBayes a normalit´ asra tett felt´etelt enyh´ıti. Ez az oszt´ alyoz´ o u ´n. kernel becsl˝ ot haszn´ al a keresett val´ osz´ın˝ us´egek meghat´ aroz´ as´ ahoz. Ha pedig a useSupervisedDiscretization param´etert igazra a ´ll´ıtjuk, akkor a sz´ am t´ıpus´ u attrib´ utumokat kateg´ oria t´ıpus´ uv´ a alak´ıtja egy fel¨ ugyelt diszkretiz´ al´ o m´ odszerrel ( weka.filters.supervised.attribute.Discretize sz˝ ur˝ o l´ asd a 47 oldal).
A nav bayesi oszt´alyoz´o h´atr´anyra, hogy az felt´eteles f¨ uggetlens´eget ´es egyenl˝os´eget felt´etelez. Sokat jav´ıthatunk a na´ıv bayesi oszt´alyoz´ok pontoss´ag´an, ha el˝ofeldolgoz´as sor´an meghat´arozzuk a fontos attrib´ utumokat, teh´at azokat, amelyekr˝ol u ´ gy gondoljuk, hogy nem f¨ uggetlenek az oszt´alyattrib´ utumt´ol. T¨obb kutat´o arr´ol sz´amol be, hogy a megfelel˝o attrib´ utumkiv´alaszt´assal p´aros´ıtott na´ıv bayesi oszt´alyoz´o felveszi a versenyt a bonyolultabb, u ´ jabb m´odszerekkel.
6.8.2. Na´ıv Bayes-h´ al´ ok ´ es a logisztikus regresszi´ o kapcsolata Ebben a r´eszben bel´atjuk, hogy amennyiben minden magyar´az´o attrib´ utum val´os t´ıpus´ u, akkor a norm´alis eloszl´ast felt´etelez˝o na´ıv bayes oszt´alyoz´o (GNB – Gaussian Naive Bayes)
´ ´ 6. FEJEZET. OSZTALYOZ AS
149
GNB egy line´aris oszt´alyoz´o, amely nagyon hasonl´ıt a logisztikus regresszi´ora. Foglaljuk o¨ssze milyen felt´etelez´esekkel ´el a GNB : – Az Y bin´aris val´osz´ın˝ us´egi v´altoz´o, melynek eloszl´asa pY param´eter˝ u binomi´alis eloszl´as. – Minden Xj magyar´az´o v´altoz´o val´os t´ıpus´ u. – Xj |Y = yi felt´eteles val´osz´ın˝ us´egi v´altoz´o µji , σj param´eter˝ u norm´alis eloszl´assal, teh´at P(Xj = xj |Y = yi ) =
√1 2e 2πσj
−
(xj −µji )2 2σ 2 j
– a magyar´az´o v´altoz´ok adott Y eset´en felt´etelesen f¨ uggetlenek egym´ast´ol. Vegy¨ uk ´eszre, hogy az Xj |Y = yi felt´eteles val´osz´ın˝ us´egi v´altoz´o sz´or´asa attrib´ utumr´ol attrib´ utumra m´as lehet ´es nem f¨ ugg Y -t´ol. C´elunk bel´atni, hogy ezek a feltev´esek hasonl´o alak´ u P(Y |X)-t adnak, mint azt a logisztikus 1 regresszi´o teszi (eml´ekeztet˝ok´ent : P(Y = 1|X) = 1+e−xT β ). Induljunk ki a bayes szab´alyb´ol P (Y = 1)P (X|Y = 1) P (Y = 1)P (X|Y = 1) + P (Y = 0)P (X|Y = 0) 1 1 = = P (Y =0)P (X|Y =0) P (Y =0)P (X|Y =0) 1 + P (Y =1)P (X|Y =1) 1 + exp ln P (Y =1)P (X|Y =1)
P(Y = 1|X) =
most haszn´aljuk ki a felt´eteles f¨ uggetlens´eget : P(Y = 1|X) = =
1 1 + exp ln
P (Y =0) P (Y =0)
+
1 Y 1 + exp ln 1−p + pY
P
P
j
j
P (X |Y =0)
ln P (Xjj |Y =1)
(6.8)
P (X |Y =0)
ln P (Xjj |Y =1)
Vizsg´aljuk meg k¨ozelebbr˝ol a szumm´aban szerepl˝o tagot :
ln
2πσj2
exp −
(Xj −µj0 )2 2σj2
2πσj2
exp −
(Xj −µj1 )2 2σj2
√1
P (Xj |Y = 0) = ln P (Xj |Y = 1) √1 =
= ln exp
(Xj − µj1 )2 − (Xj − µj0 )2 2σj2
µ2j1 − µ2j0 (2Xj (µj0 − µj1 ) + µ2j1 − µ2j0 µj0 − µj1 = X + j 2σj2 σj2 2σj2
Ha ezt visszahelyettes´ıtj¨ uk a 6.8 egyenletbe, akkor l´athat´o, hogy P(Y = 1|X) t´enyleg az X j attrib´ utumok s´ ulyozott o¨sszeg´enek nemline´aris f¨ uggv´enyek´ent ad´odik : P(Y = 1|X) = ahol a s´ ulyok βj =
1 1 + eβ0 +xT β
µj0 − µj1 , σj2
,
´ ´ 6. FEJEZET. OSZTALYOZ AS
150
a torz´ıt´as pedig : β0 = ln
1 − pY X µ2j1 − µ2j0 + pY 2σj2 j
¨ Osszegezz¨ uk a hasonl´os´agokat ´es a k¨ ul¨onbs´egeket a GNB ´es a logisztikus regresszi´o k¨oz¨ott. Legf¨obb hasonl´os´ag, hogy mind a k´et m´odszer line´aris szepar´al´ast v´egez, azaz az oszt´alyoz´ashoz a magyar´az´o attrib´ utumok s´ ulyozott o¨sszeg´et veszi alapul. K¨ ul¨onbs´eg van azonban a s´ ulyok meghat´aroz´as´aban. A logisztikus regresszi´o k¨ozvetlen¨ ul becsli a s´ ulyokat, m´ıg a GNB norm´alis eloszl´ast felt´etelezve megbecsli a v´arhat´o ´ert´eket ´es a sz´or´ast, majd ez alapj´an sz´am´ıt egy s´ ulyt. A logisztikus regresszi´o teh´at k¨ozvetlen¨ ul becsli P(Y |X)-et, m´ıg a bayesi oszt´alyoz´o ezt k¨ozvetve teszi, P(Y ) ´es P(X|Y ) becsl´es´evel. Be lehet l´atni, hogy amennyiben fenn´all a normalit´asra tett felt´etele a GNB-nek, akkor a GNB ´es a logisztikus regresszi´o ugyanazt azt oszt´alyoz´ot (azaz ugyanazokat a s´ ulyokat) eredm´enyezik. A logisztikus regresszi´o – mivel nem ´el semmilyen felt´etelez´essel az adatra vonatkoz´oan – egy a´ltal´anosabb m´odszernek tekinthet˝o, mint a GNB. Ha nem teljes¨ ul a normalit´asra tett felt´etel, akkor a GNB torz erem´enyt ad, m´ıg a logisztikus regresszi´o adapt´al´odik a helyzethet”. ” A legk¨ozelebbi szomsz´ed m´odszern´el m´ar megtanultuk, hogy az a´ltal´anosabb m´odszer nem tekinthet˝o jobb m´odszernek (ha ez nem ´ıgy lenne, akkor mindenre a legk¨ozelebbi szomsz´ed m´odszert haszn´aln´ank, hiszen ez a leg´altal´anosabb m´odszer). Az a´ltal´anos m´odszerek hajlamosak a t´ ultanul´asra. Sz´amos ´ır´as sz¨ uletett, amely pont a logisztikus regresszi´o t´ ultanul´as´anak hajlam´at pr´ob´alja visszafogni k¨ ul¨onf´ele b¨ untet˝of¨ uggv´enyek bevezet´es´evel. Az a´ltal´anos m´odszerek tov´abbi h´atr´anya, hogy j´oval t¨obb tan´ıt´opontra van sz¨ uks´eg¨ uk, mint azoknak, amelyek valamilyen felt´etelez´essel ´elnek a h´att´erben megb´ uj´o modellel kapcsolatban. Nem meglep˝o ez´ert, hogy k¨ ul¨onbs´eg van a tanul´as konvergenci´aj´anak sebess´eg´eben is. A logisztikus regresszi´onak O(n) a bayesi h´al´onak csak O(log n) tan´ıt´opontra van sz¨ uks´ege ugyanaakkora pontoss´ag el´er´es´ehez (amennyiben a normalit´asra tett felt´etel teljes¨ ul).
6.8.3. Bayes hihet˝ os´ egi h´ al´ ok A Bayes hihet˝os´egi h´al´ok (Bayesian belief networks) a f¨ uggetlens´egre tett felt´etelt enyh´ıtik. Lehet˝ov´e teszik az adatb´any´asznak, hogy egy ir´any´ıtott, k¨ormentes gr´af seg´ıts´eg´evel a v´altoz´ok k¨oz¨otti f¨ ugg˝os´egi strukt´ ur´at el˝ore megadja. A gr´af csom´opontjai megfigyelhet˝o ´es nem megfi´ gondoljuk, hogy a gr´af a f¨ gyelhet˝o, de felt´etelezett (rejtett) v´altoz´ok lehetnek. Ugy ugg˝os´egeket j´ol le´ırja, azaz P ((Z1 , Z2 , . . . , Zs ) = (z1 , z2 , . . . , zs )) =
s Y j=1
P (Zj = zj |par (Zj ))
teljes¨ ul, ahol par (Zj ) a Zj cs´ ucs sz¨ uleit (a gr´afban k¨ozvetlen¨ ul belemutat´o cs´ ucsok halmaz´at jel¨oli). Minthogy a h´al´o strukt´ ur´aja a teljes eloszl´ast le´ırja, ez´ert tetsz˝oleges Z j cs´ ucsokat kijel¨olhet¨ unk outputnak / el˝orejelzend˝onek. Ha nincsenek rejtett v´altoz´ok, akkor a sz¨ uks´eges P (Zj = zj |par (Zj )) val´osz´ın˝ us´egek k¨ozvetlen becs¨ ulhet˝ok a mint´ab´ol. Ha a h´al´o rejtett v´altoz´okat is tartalmaz, akkor a gradiens m´odszer egy v´altozata alkalmazhat´o. V´eg¨ ul olyan elj´ar´asok is ismertek, amelyek seg´ıts´eg´evel a h´al´ozat topol´ogi´aja a tanul´o p´eld´akb´ol kialak´ıthat´o, nem felt´etlen¨ ul sz¨ uks´eges azt el˝ore megadni.
´ ´ 6. FEJEZET. OSZTALYOZ AS
151
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 Az adatb´any´aszati modellekre – sajnos – ritk´an a´llnak rendelkez´esre olyan m´odszerek, amelyek seg´ıts´eg´evel az illeszked´es j´os´ag´ar´ol statisztikai teszttel d¨onthet¨ unk (a kiv´eteleket l´asd p´eld´aul [23] cikkben). Egy lehets´eges a´ltal´anos megk¨ozel´ıt´est Rissanen adott meg [2]. A ,,legr¨ovidebb le´ır´as”9 elve szerint egy adathalmazt magyar´az´o elm´eletek k¨oz¨ ul az a legink´abb elfogadhat´obb, amelyn´el o¨sszesen a legkevesebb bit sz¨ uks´eges a modell ´es az adatoknak a modell seg´ıts´eg´evel val´o le´ır´as´ahoz. M´ar eml´ıtett¨ uk, hogy a t´ ultanul´as miatt nem c´elszer˝ u a tan´ıt´ohalmazt haszn´alni az oszt´alyoz´o pontoss´ag´anak meg´allap´ıt´as´ahoz. A tan´ıt´ohalmazon sz´am´ıtott hib´at resubstitution error, azaz visszahelyettes´ıt´eses hib´ anak nevezz¨ uk. A leggyakrabban alkalmazott m´odszer a k¨ovetkez˝o. Adatainkat h´arom r´eszre osztjuk (´altal´aban 70%-20%-10% ar´anyban). Ugyanazon tan´ıt´o adatokon t¨obb konkurens modellt ´ep´ıt¨ unk, majd az ellen˝orz˝o adathalmaz seg´ıts´eg´evel kiv´alasztjuk a legjobbat, amelyet alkalmazni fogunk. A v´egs˝o modell teljes´ıtm´eny´et, pedig egy – az el˝oz˝o kett˝ot˝ol diszjunkt – teszt adatb´azison m´erj¨ uk. Ism´etelt mintav´etelez´esi technik´akkal cs¨okkenthetj¨ uk a fenti elj´ar´as adatig´eny´et, illetve t¨obb klasszifik´al´o eredm´enyeinek kombin´al´as´aval is jav´ıthat´o az el˝orejelz´es pontoss´aga [73]. A h´arom r´eszre oszt´os technik´an´al a tan´ıt´o halmazba csak az adatok 70%-a ker¨ ul. Min´el kisebb a tan´ıt´o adathalmaz, ann´al kev´esb´e lehet¨ unk biztosak, hogy az oszt´alyoz´on´al nem l´epett fel t´ ultanul´as. Tov´abb´a min´el kisebb az adat, ann´al kev´esb´e reprezentat´ıv a rejtett inform´aci´o, ´ıgy ann´al nehezebb megtanulni. A reprezentativit´asn´al nem el´eg figyelembe venni az adatok m´eret´et. Bonyolultabb, sok szab´alyt tartalmaz´o modelleknek nagyobb tan´ıt´ohalmazra van ´ sz¨ uks´eg¨ uk. Erezz¨ uk, hogy kevesebb tan´ıt´opontra van sz¨ uks´eg¨ unk bin´aris oszt´alyoz´as eset´en, mint akkor, amikor 20 k¨ ul¨onb¨oz˝o oszt´alyt hozhatunk l´etre. ´ Honnan tudjuk eld¨onteni, hogy az adathalmazunk egy r´esze reprezentat´ıv-e ? Altal´ anosan sehogy. Van azonban egy egyszer˝ u vizsg´alat, amelyet ´erdemes elv´egezni. A tan´ıt´o ´es a tesztel˝o adathalmazban az egyes oszt´alyok eloszl´asa nagyj´ab´ol meg kell egyezzenek. Nem v´arhatunk j´o oszt´alyoz´ast, ha a tan´ıt´ohalmazba nem ker¨ ult valamely oszt´alyb´ol egyetlen elem sem. Az eredeti adathalmaz olyan particion´al´as´at (tan´ıt´o ´es teszthalmazra), amelyre teljes¨ ul, hogy az oszt´alyok relat´ıv el˝ofordul´asa a tan´ıt´ohalmazban ´es a teszthalmazban megegyeznek, r´etegzett (stratified) particion´ al´ asnak/mintav´etelez´esnek h´ıvjuk. Nem mindig a´ll rendelkez´es¨ unkre annyi adat, hogy a h´arom r´eszre oszt´as ut´an is azt tudjuk mondani, hogy a tan´ıt´o adathalmaz el´eg reprezentat´ıv. Kisebb adathalmazok eset´en ism´etelt mintav´etelez´essel szoktak seg´ıteni a helyzeten. A k¨ovetkez˝okben ezeket a technik´akat tekintj¨ uk a´t. 9
Minimum Description Length, MDL.
´ ´ 6. FEJEZET. OSZTALYOZ AS
152
Az oszt´alyoz´ok legfontosabb m´er˝osz´ama a hibaar´ any, amely a t´evesen oszt´alyozott objek´ tumok sz´am´at adja meg. A hibaar´any inverze a pontoss´ag. Erdekes lehet tudni, hogy mennyi a hibaar´any a tan´ıt´ohalmazon, de a t´ ultanul´as vesz´elye miatt a hibaar´anyt m´ashogy szok´as m´erni. Ism´ etelt mintav´ etelez´ es Az eredeti adathalmaz nagyobb r´esz´et (´altal´aban k´etharmad´at) v´alasszuk tan´ıt´ohalmaznak, a marad´ekon hat´arozzuk meg a hibaar´anyt. Ism´etelj¨ uk t¨obbsz¨or az elj´ar´ast k¨ ul¨onb¨oz˝o, v´eletlenszer˝ uen v´alasztott tan´ıt´ohalmazokon. Az oszt´alyoz´as v´egs˝o hibaar´any´at az egyes feloszt´asokb´ol sz´armaz´o hibaar´anyok a´tlagak´ent adjuk meg. Kereszt-valid´ aci´ o´ es a leave-one-out Osszuk fel a tan´ıt´ohalmazt N r´eszre. Az adott oszt´alyoz´o m´odszerrel N k¨ ul¨onb¨oz˝o tan´ıt´ast fogunk v´egezni. Minden tan´ıt´asn´al egy r´esz lesz a tesztel˝ohalmaz a t¨obbi uni´oja pedig a tan´ıt´ohalmaz. Minden tan´ıt´asn´al m´as tesztel˝ohalmazt v´alasztunk. A v´egs˝o hibaar´anyt megint az egyes hibaar´anyok a´tlaga adja. Igen elterjedt (hab´ar elm´eletileg nem megalapozott), hogy N ´ert´ek´enek 10-et adnak meg. A kereszt-valid´aci´o egy speci´alis esete, amikor a N ´ert´eke megegyezik a tan´ıt´opontok sz´am´aval, azaz csak egy elemen tesztel¨ unk. Ezt a m´odszert leave-one-out-nak (egy kimarad) h´ıvj´ak. Ennek a m´odszernek k´et el˝onye ´es k´et h´atr´anya van. El˝ony, hogy a m´odszer teljesen determinisztikus, tov´abb´a a tan´ıt´ashoz a lehet˝o legt¨obb inform´aci´ot haszn´alja. H´atr´any ugyanakkor, hogy a tan´ıt´ast sokszor kell elv´egezni, ami nagyon k¨olts´eges lehet, tov´abb´a a tesztel´eshez haszn´alt adathalmaz biztos, hogy nem r´etegzett. Egyes kutat´ok u ´ gy v´elik, hogy a kereszt-valid´aci´o jelent˝os´ege t´ ul van ´ert´ekelve, hiszen elm´eletileg nem lehet bizony´ıtani, hogy megb´ızhat´obb erdem´enyt szolg´al, mint az egyszer˝ u oszd kett´e (tan´ıts, majd tesztelj) m´odszer. Bootstrap Az eddigi megold´asokban egy tan´ıt´opontot egyszer haszn´altunk fel a r´esztan´ıt´asok sor´an. A boostrap visszatev´eses mintav´etelez´esen alapul, amely eredm´enyek´eppen a tan´ıt´ohalmazban (a halmaz sz´o haszn´alata itt most helytelen) ugyanaz az elem t¨obbsz¨or is el˝ofordulhat. A bemeneti adathalmaz m´eret´et jel¨olj¨ uk n-nel. A m´odszer egyszer˝ u. V´alasszunk visszatev´eses mintav´etelez´essel n elemet. Lesznek olyan elemek, amelyeket t¨obbsz¨or v´alasztottunk ´es lesznek olyanok is, amelyeket egyszer sem. Azok az elemek adj´ak a teszthalmazt, amelyeket egyszer sem v´alasztottunk. Annak a val´osz´ın˝ us´ege, hogy egy elem a tan´ıt´ohalmazban lesz, k¨ozel 63% nagy n eset´en, hiszen annak val´osz´ın˝ us´ege, hogy egy elemet nem v´alasztunk : 1−
1 n → e−1 ≈ 0.368. n
A bootstrap eset´eben a hibaar´anyt a tan´ıt´o ´es a teszthalmazon sz´am´ıtott hibaar´anyok s´ ulyozott o¨sszege adja, ahol a s´ ulyok 1 − e−1 ´es e−1 : e = (1 − e−1 )eteszt + e−1 etan´ıt´o
´ ´ 6. FEJEZET. OSZTALYOZ AS
153
A bootstrap nem felt´etlen¨ ul r´etegzett tan´ıt´o mint´at hoz l´etre. S˝ot val´osz´ın˝ u, hogy a tan´ıt´o minta torz lesz, hiszen lesznek olyan tan´ıt´o pontok, amelyek nem ker¨ ulnek bele a tan´ıt´o halmazba ´es olyanok is lesznek, amelyek t¨obbsz¨or is szerepelni fognak. A bootstrapet is t¨obbsz¨or ism´etelhetj¨ uk, k¨ ul¨onb¨oz˝o mint´akkal ´es a v´egs˝o hib´at az egyes hib´ak a´tlagak´ent sz´am´ıtjuk. Jogos az a k´etely a bootstrappel kapcsolatban, hogy torz adatokon torz oszt´alyoz´ok fognak l´etrej¨onni. Ezek hib´ainak s´ ulyozott a´tlaga pedig nem felt´etlen¨ ul k¨ozel´ıti a helyes oszt´alyoz´as hib´aj´at. Weka 3.5.7
A wek´ aban az oszt´ alyoz´ as ki´ert´ekel´es´enek m´ odj´ at a Test options panelen adhatjuk meg. Use training set eset´en a hib´ at ´es egy´eb param´etereket a tan´ıt´ ohalmazon m´erj¨ uk. Supplied test set est´en k¨ ul¨ on teszthalmazt adhatunk meg, Cross-validation v´ alaszt´ asakor kereszt-valid´ aci´ ot haszn´ alunk. A Folds param´eterrel adhatjuk meg, hogy h´ any r´eszre ossza a weka a tan´ıt´ ohalmazt. Ha a hagyom´ anyos tan´ıt´ ohalmaz, teszthalmaz kett´eoszt´ ast k´ıv´ anjuk haszn´ alni, akkor v´ alasszuk a Percentage split opci´ ot. Ilyenkor megadhatjuk tan´ıt´ ohalmazba ker¨ ul˝ o elemek sz´ azal´ekos ar´ any´ at.
´ 6.10.1. Ertekez´ es A fenti m´odszerek az egyszer˝ u oszd kett´e, tan´ıts majd sz´am´ıts hib´at” megk¨ozel´ıt´es azon ” gyenge pontj´at pr´ob´alj´ak orvosolni, hogy a tan´ıt´ohalmaz vagy a teszthalmaz (vagy mindkett˝o) torz lehet, valamely szab´aly szempontj´ab´ol. Ebb˝ol ad´od´oan hamis hibaar´anyt fog szolg´altatni. Sajnos a fenti m´odszerek ugyan´ ugy adhatnak rossz eredm´enyt. Vegy¨ unk egy egyszer˝ u p´eld´at, amelyben bin´aris oszt´alyoz´ot k´esz´ıt¨ unk, de az adatok teljesen v´eletlenszer˝ uek nincs semmilyen o¨sszef¨ ugg´es az attrib´ utumok ´es az oszt´aly k¨oz¨ott. D¨ont´esi fa ebben az esetben egyetlen gy¨ok´ercsom´opontot tartalmazna ´es minden objektumot abba az oszt´alyba sorolna, amelyikbe t¨obb tan´ıt´opont tartozik (t¨obbs´egi szavaz´as). Ha a tan´ıt´opontok sz´ama p´aros ´es a tan´ıt´opontok fele-fele tartozik az egyik ill. a m´asik oszt´alyba, akkor a leave-one-out ´ert´ekel˝o 100%-os hib´at a´llap´ıtana meg az elv´art 50% helyett. Ha az oszt´alyoz´onk olyan, hogy teljesen megtanulja (megjegyzi) az elem, oszt´aly hozz´arendel´est, azaz a tan´ıt´ohalmazon 100%-os pontoss´agot produk´al, akkor a bootstrap szerint a hiba (1 − e−1 ) · 0.5 + e−1 · 0, ami az 50%-n´al e−1 /2-vel kisebb. Tegy¨ uk fel, hogy a bin´aris oszt´alyoz´onk p val´osz´ın˝ us´eggel ad helyes eredm´enyt, teh´at a pontoss´aga p. Adott N tesztpont mellett a helyesen oszt´alyozott pontok sz´am´at jel¨olj¨ uk f -fel. A helyesen oszt´alyozott pontok sz´ama egy N, p param´eter˝ u, binomi´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´o. Tetsz˝oleges α ´ert´ekhez (1 − α a pr´oba szintje) meg tudjuk hat´arozni az elfogad´asi tartom´anyt a helyesen oszt´alyozott pontok sz´am´ara vonatkoz´oan (ezt h´ıvj´ak bin´aris tesztnek, l´asd a 2.6.2 r´esz). Hat´arozzuk meg azt az f /N -n´el kisebb, legkisebb p-t (jel¨olj¨ uk p l -el), amelyre f az elfogad´asi tartom´anyba esik. Hat´arozzuk meg ezenk´ıv¨ ul azt az f /N -n´el nagyobb, legnagyobb p-t (jel¨olj¨ uk pu -val), amelyre f az elfogad´asi tartom´anyba esik. A tesztel˝o pontok alapj´an csak azt tudjuk elmondani, hogy az igazi p a [pl , pu ] intervallumba esik. A fenti m´odszer meglehet˝osen sz´am´ıt´asig´enyes. A pl , pu ´ert´ekek meghat´aroz´as´anak neh´ezs´ege abb´ol ad´odik, hogy a p a val´os sz´amok halmaz´ab´ol ker¨ ul ki, a val´osz´ın˝ us´egi esem´enyek (´es ´ıgy f ´es az elfogad´asi tartom´anyok korl´atai is) azonban eg´esz sz´amok. A pontoss´ag rov´as´ara a
´ ´ 6. FEJEZET. OSZTALYOZ AS
154
[pl , pu ] intervallumok meghat´aroz´asa k¨ozvetlen sz´am´ıthat´o, amennyiben a binomi´alis eloszl´ast N p, N p(1 − p) param´eter˝ u norm´alis eloszl´assal k¨ozel´ıtj¨ uk.
6.10.2. Hiba m´ er´ ese regresszi´ o eset´ eben Amikor a magyar´azand´o attrib´ utum sz´am t´ıpus´ u, akkor a leggyakrabban haszn´alt hiba a n´egyzetes hiba´atlag (vagy annak gy¨oke). Az elterjedt haszn´alat oka, hogy a n´egyzetes hiba¨osszeg k¨onnyen kezelhet˝o matematikailag – gondoljuk csak a line´aris regresszi´ora, amely sok regresszi´os m´odszer kiindul´opontjak´ent szolg´al. Ha cs¨okkenteni szeretn´ek a k¨ ul¨onc pontok a´ltal okozott hiba m´ert´ek´et, akkor haszn´alhatunk a´tlagos hibak¨ ul¨ons´eget is. T¨obbsz¨or l´attuk, hogy nem az abszolut hiba ´erdekel minket, hanem a relat´ıv hiba. Azt gondoljuk, hogy ugyanakkora hib´at v´et¨ unk, ha 200 helyett 220-at j´osolunk, mint amikor 1 helyet 1.1-et. A fenti hibam´ert´ekek relat´ıv v´altozatainak pontos k´eplete a k¨ovetkez˝o t´abl´azatban l´athat´o. Valamely teszthalmazban (amely sz´armazhat kereszt-valid´aci´ob´ol vagy boorstrapb˝ol) az i-edik pont oszt´aly´ert´ek´et yi -vel, a modell a´ltal j´osolt oszt´aly´ert´eket ybi -vel jel¨olj¨ uk . hibam´ert´ek
k´eplet
a´tlagos n´egyzetes hiba
(y1 −b y1 )2 +···+(yn −b y n )2 n
a´tlagos n´egyzetes hibagy¨ok abszol´ ut hiba´atlag relat´ıv n´egyzetes hiba relat´ıv n´egyzetes hibagy¨ok relat´ıv abszol´ ut hiba korrel´aci´os egy¨ utthat´o
q
(y1 −b y1 )2 +···+(yn −b y n )2 n
|y1 −b y1 |+···+|yn −b yn | n
(y1 −b y1 )2 +···+(yn −b y n )2 (y1 −¯ y )2 +···+(yn −¯ y )2
q
(y1 −b y1 )2 +···+(yn −b y n )2 (y1 −¯ y )2 +···+(yn −¯ y )2
|y1 −b y1 |+···+|yn −b yn | |y1 −¯ y |+···+|yn −¯ y| r
¯b)+···+(yn −¯ ¯b) (y1 −¯ y )(b y1 −y y )(b yn −y
(y1 −¯ y )2 +···+(yn −¯ y )2
¯b)2 +···+(b ¯b)2 (b y1 −y yn −y
A korrel´aci´os egy¨ utthat´o (amely m´ınusz egy ´es plusz egy k¨oz´e esik) kil´og a sorb´ol k´et dolog miatt. Egyr´eszr˝ol ez a m´ert´ek sk´ala invari´ans, azaz, ha minden j´osolt ´ert´eket megszorzunk egy adott konstanssal, akkor a korrel´aci´os egy¨ utthat´o nem v´altozik. Legt¨obb alkalmaz´asban nem ezt szeretn´enk. M´asr´eszr˝ol min´el jobb az oszt´alyoz´o m´odszer, ann´al k¨ozelebb lesz az egy¨ utthat´o egyhez. A t¨obbi m´ert´ek ´ert´eke 0 lesz a t¨ok´eletes oszt´alyoz´o est´eben. Az alkalmaz´asi ter¨ ulet tippet adhat arra, hogy melyik hibam´ert´eket haszn´aljuk, de a gyakolat azt mutatja, hogy oszt´alyoz´ok rangsor´al´as´an´al ugyanazt a sorrendet szokt´ak adni az egyes mutat´ok. Tal´an a f˝o k´erd´es, hogy az teljes hiba m´er´es´en´el az egyes hib´ak abszolut ´ert´ek´et vagy n´egyzet´et haszn´aljuk.
6.10.3. Hiba m´ er´ ese val´ osz´ın˝ us´ egi d¨ ont´ esi rendszerek eset´ en Val´osz´ın˝ us´egi d¨ont´esi rendszerek eset´en a kimenet egy val´osz´ın˝ us´egi eloszl´as, nem pedig egy konkr´et oszt´aly. Nem azt mondjuk, hogy egy adott felt´etellel rendelkez˝o u ¨ gyf´el kock´azatos, hanem azt, hogy 80%-ot adunk annak val´osz´ın˝ us´eg´ere, hogy kock´azatos ´es 20%-at arra, hogy nem.
´ ´ 6. FEJEZET. OSZTALYOZ AS
155
Ha az oszt´alyok sz´ama k, akkor az oszt´alyoz´as eredm´enye egy k dimenzi´os val´osz´ın˝ us´egi (elemeinek o¨sszege 1) vektor. Hogyan hat´arozzuk meg a hib´at val´osz´ın˝ us´egi oszt´alyoz´as eset´eben ? N´ egyzetes vesztes´ egf¨ uggv´ eny Tetsz˝oleges elem konkr´et oszt´aly´at is le´ırhatjuk egy val´osz´ın˝ us´egi vektorral. Ha az elem a jedik oszt´alyba tartozik, akkor a val´osz´ın˝ us´egi vektor j-edik eleme legyen 1, a t¨obbi pedig nulla. Az oszt´alyoz´as hib´aja, ekkor az elem oszt´aly´ahoz tartoz´o vektor ´es az oszt´alyoz´as eredm´enyek´ent ´ kapott vektor k¨ ul¨onbs´eg´enek norm´aja lesz. Altal´ aban az euklideszi norm´at haszn´aljuk ´es a n´egyzetgy¨ok sz´am´ıt´as´at´ol eltekint¨ unk : Er(p, a) =
k X i=1
(pi − ai )2 .
Az ai -kPk¨oz¨ ul egyetlen ´ert´ek 1, a t¨obbi nulla, ez´ert a n´egyzetes vesztes´egf¨ uggv´eny a´t´ırhat´o 1 − 2pj ki=1 p2i , ahol j-vel az oszt´aly sorsz´am´at jel¨olt¨ uk. Ha az oszt´alyattrib´ utum teljesen f¨ uggetlen a t¨obbi attrib´ utumt´ol, akkor a n´egyzetes vesztes´egf¨ uggv´eny azokat az oszt´alyoz´asokat fogja jutalmazni, amelyek a bemenett˝ol f¨ uggetlen¨ ul olyan val´osz´ın˝ us´egi vektorokat a´ll´ıtanak el˝o, amely megfelel az oszt´alyattrib´ utum eloszl´asf¨ uggv´eny´enek, azaz a kimeneti vektor i-edik eleme adja meg az i-edik oszt´aly el˝ofordul´as´anak val´osz´ın˝ us´eg´et. Nem neh´ez ezt az a´ll´ıt´ast bel´atni. Jel¨olj¨ uk az i-edik oszt´aly ∗ uggv´enynek egy el˝ofordul´as´anak val´osz´ın˝ us´eg´et pi -vel. A v´arhat´o ´ert´eke a n´egyzetes vesztes´egf¨ adott tesztelem eset´en : E
k X i=1
k k k X X X 2 2 2 ∗ ∗ (pi −ai ) = E[pi ]−2E[pi ai ]+E[ai ] = (pi −2pi pi +pi )= (pi −p∗i )2 +p∗i (1−p∗i ) . 2
i=1
i=1
i=1
Felhaszn´altuk, hogy az ai v´arhat´o ´ert´eke p∗i , tov´abb´a, hogy a2i = ai hiszen ai ´ert´eke csak egy vagy nulla lehet. A v´egs˝o k´epletb˝ol l´atszik, hogy a v´arhat´o ´ert´ek akkor lesz minim´alis, ha p i = p∗i minden i-re.
6.10.4. Oszt´ alyoz´ ok hat´ ekonys´ ag´ anak mutat´ osz´ amai A legfontosabb mutat´osz´am az oszt´alyoz´o pontoss´aga, amely a j´ol oszt´alyozott pontok sz´am´anak ar´any´at adja meg az o¨sszes pont sz´am´ahoz viszony´ıtva. T¨obbet mond az u ´ n. kevered´esi m´ atrix (confusion matrix ), amely annyi sorb´ol ´es oszlopb´ol a´ll, amennyi az oszt´alyok sz´ama. Az i-edik sor j-edik eleme adja meg azoknak a pontoknak a sz´am´at, amelyeket az oszt´alyoz´o a j-edik oszt´alyba sorol, holott azok az i-edik oszt´alyba tartoznak. A diagon´alisban tal´alhat´o elemek adj´ak meg a helyesen oszt´alyozott pontok sz´am´at. Egy kever´esi m´atrixot l´athatunk a k¨ovetkez˝o a´br´an.
´ ´ 6. FEJEZET. OSZTALYOZ AS
156 J´osolt oszt´aly P
a
b
c
a
88
10
2
100
t´enyleges
b
14
40
6
60
oszt´aly
c 18 10 12 P 120 60 20
40
Weka 3.5.7 Oszt´alyoz´as eset´en a weka alap´ertelmez´es szerint kirajzolja a keveres´esi m´ atrixot a kimeneti panelen (Classifier output). Ha erre nem vagyunk k´ıv´ ancsiak, akkor a Test options panelen klikkelj¨ unk a More options... felirat´ u gombra. Ez felhozza a Classifier evaluation options panelt, itt t¨ or¨ olj¨ uk az output confusion matrix kijel¨ ol´es´et. Itt a ´ll´ıthatjuk t¨ obbek k¨ oz¨ ott azt is, hogy megjelenjen-e az oszt´ alyoz´ o a ´ltal el˝ oa ´ll´ıtott modell ( d¨ ont´esi szab´ alyok, f´ ak, felt´eteles val´ osz´ın˝ us´egi t´ abl´ ak – bayesi oszt´ alyoz´ ok eset´eben, stb.).
A pontoss´ag megt´eveszt˝o lehet. A magas pontoss´ag nem biztos, hogy a szofisztik´alt m´odszer¨ unk eredm´enye. Ha p´eld´aul bin´aris oszt´alyz´as eset´eben az egyik oszt´aly el˝ofordul´as´anak val´osz´ın˝ us´ege 90%, akkor egy 88% pontoss´ag´ u oszt´alyoz´o rossz oszt´alyoz´o, hiszen pontoss´aga rosszabb, mint annak a butuska oszt´alyoz´onak, amely mindig a gyakori oszt´alyra tippel. M´asik butuska oszt´alyoz´o a v´eletlen oszt´alyoz´o, amely a C oszt´aly p c val´osz´ın˝ us´eggel v´alasztja, ahol pc a C oszt´aly el˝ofordul´as´anak val´osz´ın˝ us´ege. A val´osz´ın˝ us´eget relat´ıv gyakoris´aggal k¨ozel´ıtik. A v´eletlen oszt´alyoz´o v´arhat´o pontoss´aga 0.9 ∗ 0.9 + 0.1 ∗ 0.1 = 82%. Egy oszt´alyoz´o kappa statisztik´aja az oszt´alyoz´o pontoss´ag´at a v´eletlen oszt´alyoz´ohoz hasonl´ıtja. Tegy¨ uk fel, hogy a tan´ıt´ohalmazon az egyes oszt´alyok relat´ıv gyakoris´aP gai p 1 , p2 , . . . , pk ´es a tan´ıt´ohalmazon az oszt´alyok el˝ofordul´asa n1 , n2 , . . . , nk . Legyen N = ki=1 ni ´es M = P = ki=1 ni pi . A kappa statisztik´at ekkor a T −M N −M
adja, ahol T -vel a helyesen oszt´alyzott pontokat jel¨olj¨ uk. A kappa statisztika nulla ´es egy k¨oz´e esik. A v´eletlen oszt´alyoz´o kappa statisztik´aja nulla, a t¨ok´eletes oszt´alyoz´o´e pedig egy. Weka 3.5.7
A kimeneti panelen (Classifier output) mindig megjelenik a j´ ol/rosszul oszt´ alyozott ´es a nem oszt´ alyozhat´ o elemek sz´ ama (Correctly/Incorrectly Classified Instances, UnClassified Instances) ´es ezen ´ert´ekek o ¨sszes tan´ıt´ oponthoz vett ar´ anya, a kappa statisztika, az abszolut hib´ ak a ´tlaga (Mean absolute error – l´ asd 154 oldal), a n´egyzetes hiba´ atlag (Root mean squared error), a relat´ıv abszolut hiba´ atlag (Relative absolute error), a relat´ıv n´egyzetes hiba´ atlag (Root relative squared error).
´ ´ 6. FEJEZET. OSZTALYOZ AS
157
Bin´aris oszt´alyoz´as eset´en, amikor az oszt´alyoz´o kimenete nulla vagy egy (igaz/hamis, vagy pozit´ıv/ negat´ıv) tov´abbi elnevez´eseket kell megismern¨ unk. A j´ol oszt´alyozott pontok sz´am´at TP-vel (True Positiv) ´es TN-nel (True Negative) jel¨olj¨ uk att´ol f¨ ugg˝oen, hogy melyik oszt´alyba tartoznak. A rosszul oszt´alyozott pontok jel¨ol´ese FP, FN (False Positive, False Negative). A k¨ovetkez˝o kevered´esi m´atrix o¨sszefoglalja a jel¨ol´eseket : t´enyleges oszt´aly 1
0 FP
j´osolt
1
TP
oszt´aly
0
FN TN
A felid´ez´est vagy megb´ızhat´ os´ agot (angolul recall vagy true positive rate), amelyet bin´aris P oszt´alyoz´asn´al ´erz´ekenys´egnek (sensitivity) is h´ıvnak az R = T PT+F h´anyados adja. A selejN FP tet (fallout) a F P +T N , a precisiont (a precision ´es az accuracy angol szavak - amelyek az P adatb´any´aszatban m´ast jelentenek - magyar megfelel˝oje a pontoss´ag) a P = T PT+F adja. E k´et P ´ert´ek parametrikus harmonikus k¨ozep´et F -m´ert´eknek nevezz¨ uk : F= Az accuracy defin´ıci´oja
α P1
1 . + (1 − α) R1
T P +T N . N
Weka 3.5.7
Ha a Classifier evaluation options panelen (el´erhetj¨ uk a Test options panel More options... felirat´ u gombj´ an kereszt¨ ul) bejel¨ olj¨ uk az Output per-class stats opci´ ot, akkor minden oszt´ alyhoz megkapjuk a TP ´es FP ar´ anyt, a precisiont, a felid´ez´est, az F-m´ert´eket (α = 0.5 mellett) ´es a ROC g¨ orbe alatti ter¨ uletet.
6.11. Oszt´ alyoz´ ok o ¨sszehasonl´ıt´ asa Sz´amos m´odszert ismert¨ unk meg ebben a fejezetben. A m´odszerek c´elja ugyanaz volt, min´el pontosabb modellt k´esz´ıteni. A b˝os´eg zavar´aban persze tan´acstalanok lehet¨ unk, hogy most melyik oszt´alyoz´ot haszn´aljuk egy adott feladat megold´as´an´al. Szerencs´ere n´eh´any m´odszert azonnal kiz´arhatunk, mert p´eld´aul az adatok nem line´arisan szepar´alhat´ok, vagy vannak val´os t´ıpus´ u attrib´ utumok, stb. N´eh´any m´odszer kiz´ar´asa ut´an val´osz´ın˝ uleg nem egy fog maradni ; melyik ezek k¨oz¨ ul a legjobb. Az oszt´alyoz´ok o¨sszehasonl´ıt´as´anak helyes m´odja a kutat´oi vil´agban is gyakran felmer¨ ul, amikor valaki u ´ j m´odszert javasol, ´es meg kell mutatnia, hogy az o˝ megold´asa mi´ert jobb a t¨obbiek´en´el. Els˝o gondolatunk az lehetne, hogy minek id˝oz¨ unk ilyesmivel ; vegy¨ unk egy adathalmaz ´es n´ezz¨ uk meg, hogy melyik oszt´alyoz´onak lesz nagyobb a pontoss´aga. Csakhogy egy adathalmaz a val´odi pontoss´ag egy becsl´ese ´es lehet, hogy a k¨ ul¨onbs´eg a becsl´es hib´aj´anak eredm´enye.
´ ´ 6. FEJEZET. OSZTALYOZ AS
158
Legyen adott B ´es L oszt´alyoz´ok (gondolhatjuk, hogy a B egy bayesi oszt´alyoz´ora, a L pedig egy logisztikus regresszi´on alapul´o m´odszerre utal) ´es N darab teszthalmaz. A k´et oszt´alyoz´o i-edik teszthalmazon m´ert pontoss´ag´at jel¨olj¨ uk bi ´es li -vel, a pontoss´agok a´tlag´at pedig ¯b ´es ¯l-vel ´es legyen di = bi − li . Tegy¨ uk fel, hogy egy ν pontoss´ag´ u oszt´alyoz´o pontoss´aga egy adott tesztalmazon megegyezik egy ν v´arhat´o ´ert´ek˝ u ´es ismeretlen sz´or´as´ u norm´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´o egy megfigyel´es´evel. Ezek a megfigyelt pontoss´agok rendelkez´es¨ unkre a´llnak, azt k´ene eld¨onteni, hogy az eredeti pontoss´agok statisztikailag elt´ernek-e egym´ast´ol. Nullhipot´esin¨ unk teh´at, hogy νB = νL vagy νD = 0, ahol D = B − L. A student t-pr´oba (l´asd a 31) egy ismeretlen v´arhat´o ´ert´ek˝ u ´es sz´or´as´ u norm´alis eloszl´as´ u val´osz´ın˝ us´egi v´altoz´o v´arhat´o ´ert´ek´ere tett felt´etelt pr´ob´al eld¨onteni. Sz´am´ıtsuk h´at ki a d¯− 0 p σd∗2 /N
´ert´eket ´es vess¨ uk o¨ssze azzal az ´ert´ekkel, ahol a student eloszl´as megegyezik 1 − α-val. A ¯ szok´asos m´odon a d-gal a minta´atlagot, a σd∗ -gal az empirikus korrig´alt sz´or´ast, a 1 − α-val az pr´oba szintj´et jel¨olt¨ uk. Ha a teszt elutas´ıtja a nullhipot´ezist, akkor a nagyobb a´tlaghoz tartoz´o oszt´alyoz´o statisztikailag is jobb a m´asikn´al.
7. fejezet Klaszterez´ es ´ Klaszterez´esen elemek csoportos´ıt´as´at ´ertj¨ uk. Ugy szeretn´enk a csoportos´ıt´ast elv´egezni, hogy a hasonl´o elemek ugyanazon, m´ıg az egym´ast´ol elt´er˝o elemek k¨ ul¨on csoportba ker¨ uljenek. Sajnos a j´o” csoportok kialak´ıt´asa nem egy´ertelm˝ u feladat, hiszen az emberek gyakran m´as-m´as ” szempontokat vesznek figyelembe a csoportos´ıt´asn´al. Ugyanazt azt adathalmazt, alkalmaz´ast´ol ´es szok´asokt´ol f¨ ugg˝oen, elt´er˝oen klaszterezn´ek az emberek. P´eld´aul az 52 darab francia k´arty´at sokan 4 csoportra osztan´ak (sz´ın szerint), sokan 13-ra (figura szerint). A Black Jack j´at´ekosok 10 csoportot hozn´anak l´etre (ott a 10-es, bubi, d´ama, kir´aly k¨oz¨ott nincs k¨ ul¨onbs´eg), m´ıg a Pikk D´ama j´at´ekot kedvel˝ok h´armat (pikk d´ama, a k˝or¨ok ´es a t¨obbi lap). Klaszterez´eskor teh´at az adathalmaz mellett meg kell adnunk, hogy mik´ent defini´aljuk az elemek hasonl´os´ag´at, tov´abb´a, hogy mi alapj´an csoportos´ıtsunk (¨osszef¨ ugg˝o alakzatokat keress¨ unk, vagy a n´egyzetes hib´at minimaliz´aljuk stb.). A j´os´ag egzakt defin´ıci´oj´anak hi´anya mellett nagy probl´em´at jelent az o´ri´asi keres´esi t´er. Ha n pontot akarunk k csoportba sorolni, akkor a lehets´eges csoportos´ıt´asok sz´am´at a Stirling sz´amok adj´ak meg : k 1 X k−i k (k) (−1) Sn = in . k! i=0 i
M´eg egy eg´eszen pici adathalmaz mellett is megd¨obbent˝oen sokf´elek´eppen csoportos´ıthatunk. (5) P´eld´aul 25 elemet 5 csoportba S25 =2,436,684,974,110,751 k¨ ul¨onb¨oz˝o m´odon part´ıci´on´alhatunk. P (k) R´aad´asul, ha a csoportok sz´am´at sem tudjuk, akkor a keres´esi t´er m´eg nagyobb ( 25 k=1 S25 > > 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 a´gyaztuk 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 159
´ 7. FEJEZET. KLASZTEREZES
160
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, a´tl´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 a´tl´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 a´ltal´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 [95]. A c´ım m´ar sejteti az elszomor´ıt´o eredm´enyt, miszerint nem l´etezik j´ o, t´ avols´ ag 1 alap´ u klaszterez˝ o elj´ ar´ as ! Ezt a meglep˝o a´ll´ı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
161
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 o¨sszege) 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 a´br´at. Bal oldalon l´athatjuk az eredetileg megadott pontokat, jobb oldalon pedig az a´tmozgat´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 a´br´an elhelyezked˝o pontokat.
´ 7. FEJEZET. KLASZTEREZES
162
.................................................. .................................................. 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 o¨sszef¨ 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 o¨sszef¨ 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 a ´ll fenn, akkor pedig ultrametrikusr´ ol (m´ as n´even nem-archim´edeszi).
´ 7. FEJEZET. KLASZTEREZES
163
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 a´llnak 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 a´br´an ilyen gr´afokat l´athatunk :
k=0
k=1
k=2
k=3
7.1. a´bra. 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 a´br´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 o¨sszek¨otve Gk -ban. Tov´abbi el˝ony, hogy amennyiben egy klaszter s˝ ur˝ us´eg´et a benne tal´alhat´o ´elek o¨sszs´ 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 a ´tm´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
164
´Izl´es k´erd´ese, hogy a klaszter a´tm´er˝oj´enek sz´am´ıt´asakor figyelembe vessz¨ uk-e aPpontok o¨nma=q d(p,q) 0 gukt´ol vett t´avols´ag´at (ami 0). Nyugodtan haszn´alhatjuk az a´tm´er˝o D avg (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(C i , 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 a´tlagos 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| RC =
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 |.
Az a´tlagok kisz´am´ıt´as´an´al – p´eld´aul a´tm´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 a´tmeneti 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 a´tlagos t´avols´ag (´es hasonl´oan az egyes´ıtett klaszter a´tm´er˝oje) k¨ozvetlen¨ ul ad´odik : d avg (Ci , Cj )= T
=
~ C LS ~ SSCi +SSCj −2LS Ci i |Ci ||Cj |
.
7.4. A klaszterez´ es j´ os´ aga” ” 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
165
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. ´ er˝onek ez esetben Dmax -ot szok´as haszn´alni. Atm´ 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)[91]. 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 [118] ! 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 [144]. Legkisebb (n´ egyzetes) hiba¨ oP sszegP : Csoportos´ıtsuk u ´ gy a pontokat, hogy a k¨oz´eppontokt´ol val´o t´avols´ag o¨sszege (E = ki=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 o¨sszeg´et minimaliz´alj´ak. Legkisebb (n´egyzetes) hiba¨osszeg probl´ema el´egg´e hasonl´ıt a k-klaszter probl´em´ahoz. Pk P Pk P P 1 7.2. ´ eszrev´ etel. ~ Ci ||2 , ahol m ~ C = |C| ~. i=1 p,q∈Ci d(p, q) = i=1 p∈Ci ||p − m q∈C q
Bizony´ıt´ as:
k X X
i=1 p∈Ci
||p − m ~ Ci ||2 = =
k X X
i=1 p∈Ci
k X i=1
||p −
k 1 X 2 XXX 1 ~q|| = ||p − q||2 |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
166
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 a´br´an l´athat´o pontokat. Ha a maxim´alis a´tm´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 a´r´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 r r 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. a´bra. Hib´as klaszterez´es : elt´er˝o m´eret˝ u klaszterek eset´en A 7.3. a´br´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 r r 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. a´bra. 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 a´lltak 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
167
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 [90]. 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 o¨sszeg´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 o¨sszs´ 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 o¨sszegezni, 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 o¨sszes 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 o¨sszes t¨obbi pontt´ol, kisebb o¨sszs´ 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 a´ltal´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) = min S⊆V φ(S). A konduktancia k¨onnyen a´ltal´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 a´br´akon l´athat´o pontokat a konduktancia alap´ u klaszterez˝o elj´ar´asok helyesen csoportos´ıtj´ak.
´ 7. FEJEZET. KLASZTEREZES
168
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 o¨sszes ´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 o ¨sszes ´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 o¨sszehasonl´ı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 a´t. 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 o¨tlet 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
169
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 a´gyaz´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 a´thelyezget¨ 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 a´ltal´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
170
7.6.1. Forgy k-k¨ oz´ ep algoritmusa A k-k¨oz´ep algoritmus (k-means algorithm) [59] 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 [85]. 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 o¨sszek¨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 a´ll 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
171
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 o¨sszeg´et jelenti (k-medi´an probl´ema, l´asd 7.4.1 r´esz). A PAM algoritmus A PAM (Partitioning Around Medoids) algoritmus [92] 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 o¨sszes nem medoid, medoid p´arra (x, xm ), hogy mennyivel v´altozna a n´egyzetes hiba, ha xm -nek a´tvenn´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 x m -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 a´ltal az algoritmusok nagyobb adathalmazokon is haszn´alhat´ok. A CLARA algoritmus [92] 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(n 0 −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 [124] az eredeti adathalmazon dolgozik. Nem az o¨sszes lehets´eges csere a´ltal 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
172
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 [50] 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 o¨sszes 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 a´lljunk 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 o¨sszehasonl´ıt´asok sz´ama) O(n 2 ). 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 o¨sszek¨otni o˝ket, ´es esetleg a klaszteren bel¨ ul egy v´ag´ast k´epezni.
´ 7. FEJEZET. KLASZTEREZES
173
´ 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 o¨sszes 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 a´tlagos hasonl´os´agot, vagy az egyes´ıtett klaszter a´tm´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, P P ~ ahol N a klaszterben tal´alhat´o elemek sz´ama, LS = N xi ´es SS = N xi |. Egy klaszter 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 a´tm´er˝oj´et vagy ak´ar k´et klaszter a´tlagos 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 a´gak 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 a´tm´er˝oje. Ennek a param´eternek nagy hat´asa van a fa m´eret´ere : min´el kisebb a maxim´alis a´tm´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
174
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 a´gsz´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 a´tlagos 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 o¨sszes 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 a´tm´er˝oj´et a felhaszn´al´onak kell megadnia.
7.7.4. A CURE algoritmus A CURE (Clustering Using REpresentatives) algoritmus [70] a´tmenet 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 o¨sszes 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 o¨sszeh´ uzza”, azaz az a´ltaluk 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 a´ll 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
175
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 [70]-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 o˝k 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 o¨sszeh´ uz´as van. Az o¨sszeh´ uz´as a´ltal 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 a´bra 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. a´bra. 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 a´ltal 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
176
7.7.5. A Chameleon algoritmus A Chameleon k´et nagy f´azisra oszlik. Kiindul´ask´ent el˝oa´ll´ıtja a k-legk¨ozelebbi gr´afot, majd ezt r´eszekre osztja. A m´asodik f´azisban bizonyos r´eszeket egyes´ıt, el˝oa´ll´ı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(C i , 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 o¨tletnek 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 [51]. 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 ∈ N eps (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 p 1 = 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 o ¨sszek¨ 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 o ¨sszek¨ 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
177
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
178
9. fejezet Sz¨ ovegb´ any´ aszat Az ´ır´astud´o emberi civiliz´aci´ok kialakul´asa o´ta a tud´ast sz¨oveges dokumentumok form´aj´aban t´arolj´ak. Az o˝si egyiptomiak is sz¨oveges dokumentumokat hagytak az ut´okorra, azonban hieroglifikus ´ır´asuk megfejt´ese kor´antsem bizonyult k¨onny˝ u feladatnak. A sz¨oveg meg´ert´es´et v´eg¨ ul az seg´ıtette el˝o, hogy a feliratok t¨obb nyelven szerepeltek ugyanazon a k¨ov¨on, amelyek k¨oz¨ ul az egyik g¨or¨og volt a m´asik kett˝o egyiptomi. Ez´altal a g¨or¨og nyelv szolg´alt kulcsk´ent a hieroglif´ak megfejt´es´ehez, ez seg´ıtett a templomok ´es piramisok fal´an ´es a papirusz tekercseken tal´alt sz¨ovegekben l´ev˝o tud´as felt´ar´as´aban. Az o˝si egyiptomi hieroglif´ak megfejt´es´eb˝ol k´et dolgot tanulhatunk : egyr´eszt, hogy a sz¨oveges dokumentumok az emberis´eg egyik o˝si eml´ekezeti mechanizmusa, fontos megb´ızhat´oan t´arolni az adatokat ´es rendelkezni kell azzal a k´epess´eggel, hogy ha sz¨ uks´eges visszanyerj¨ uk ezeket a dokumentumokat. M´asr´eszt azt, hogy a dokumentumok szimpla el´er´ese nem elegend˝o, a tud´as felt´ar´asa speci´alis gyakorlatot ´es er˝oforr´ast ig´enyel. Napjainkban, amikor a dokument´al´asi ´es adminisztr´aci´os folyamatok t´ ulnyom´o r´esze elektronikusan val´osul meg — ´es ez´altal rendk´ıv¨ ul nagy mennyis´eg˝ u elektronikus dokumentum keletkezik —, megfigyelhet˝o az a trend, hogy az adminisztrat´ıv munk´at v´egz˝ok munkaidej¨ uk egyre n¨ovekv˝o h´anyad´at ford´ıtj´ak (elektronikus) dokumentumok kezel´es´ere. M´ıg ez csup´an 20%-ot tett ki 1997-ben, addigra 2003-ban m´ar 30–40%-ra becs¨ ult´ek ezt az ar´anyt az [21, 83] munk´akban id´ezett Gartner Group tanulm´anyban. A Merill Lynch elemz˝oi szerint az u ¨ zleti inform´aci´ok 85%a struktur´ alatlan adat form´aj´aban van jelen, mint pl. e-mailek, eml´ekeztet˝ok, u ¨ zleti ´es kutat´asi besz´amol´ok, prezent´aci´ok, h´ırek, rekl´amanyagok, weboldalak, u ¨ gyf´elszolg´alati tev´ekenys´eg jegyzetei, stb. [21]. Az adatb´any´aszati m´odszerekkel az adatb´azisokban struktur´ altan t´ arolt adatokb´ol nyerhet˝ok ki o¨sszef¨ ugg´esek. Ezek a m´odszerek nem m˝ uk¨odnek a struktur´alatlan, a´ltal´anos t´ıpus´ u, sz¨oveges adatokra. Ez´ert a struktur´ alatlan sz¨oveges adathalmazok hasonl´o c´el´ u feldolgoz´asa m´as megold´asokat tesz sz¨ uks´egess´e. Az ezzel foglalkoz´o szakter¨ uletet sz¨ ovegb´ any´ aszatnak nevezz¨ uk. Az adatb´any´aszat defin´ıci´oj´aval anal´og m´odon, a sz¨ ovegb´ any´ aszatot dokumentumokon v´egzett olyan jelleg˝ u feldolgoz´asi ´es elemz´esi tev´ekenys´egk´ent hat´arozhatjuk meg, melynek c´elja a dokumentumokban rejtetten megl´ev˝o u ´ j inform´aciok felt´ar´asa, azonos´ıt´asa. A sz¨ovegb´any´aszat alapvet˝o probl´em´aja nyilv´anval´o : a term´eszetes nyelvek emberek k¨ozti — els˝osorban sz´obeli, majd k´es˝obb ´ır´asbeli — kommunik´aci´o miatt keletkeztek ´es fejl˝odtek ki, ´es nem sz´am´ıt´og´epes feldolgoz´asra. Az emberek k¨onnyed´en felismerik ´es alkalmazz´ak a nyelvi mint´akat, ´es a´ltal´aban nem okoz gondot nekik olyan, a sz´am´ıt´og´epek sz´am´ara nehezen megoldhat´o feladatok, mint pl. k¨ ul¨onb¨oz˝o helyes´ır´asi vari´aci´ok kezel´ese, kontextus felismer´es, vagy stilisztikai jelleg azonos´ıt´asa. Teh´at nyelvi tud´asunk lehet˝ov´e teszi a struktur´alatlan sz¨ovegek 179
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
180
9.1. a´bra. A sz¨ovegb´any´aszat a´ltal´anos modellje meg´ert´es´et, ugyanakkor nincs meg benn¨ unk a sz´am´ıt´og´epeknek az a k´epess´ege, hogy a sz¨oveget nagy mennyis´egben, vagy nagy sebess´eggel dolgozzuk fel. A sz¨ovegb´any´aszat a´ltal´anos c´elja teh´at az emberi nyelvi tud´as o¨tv¨oz´ese a sz´am´ıt´og´ep nagy sebess´eg´evel ´es pontoss´ag´aval [55]. A sz¨ovegb´any´aszat a´ltal´anos modellje a 9.1 a´br´an l´athat´o. A kiindul´o pont a dokumentumok halmaza, amin el˝osz¨or el˝ofeldolgoz´asi l´ep´eseket hajtunk v´egre (ld. 9.1. szakasz). Ezut´an hajtjuk v´egre a sz¨ovegb´any´aszati m´odszereket, majd az eredm´enyeket inform´aci´okezel˝o rendszerben t´aroljuk. A felhaszn´al´o ebb˝ol tudja az ig´enyeinek megfelel˝o tud´ast megszerezni. Olyan probl´em´akkal, amelyekre a sz¨ovegb´any´aszat ny´ ujthat megold´ast az u ¨ zleti ´elet szerepl˝oi ´es az a´tlagos felhaszn´al´ok egyar´ant gyakran tal´alkoznak. A nagy forgalmat lebonyol´ıt´o u ¨ gyf´elszolg´alatokn´al p´eld´aul hatalmas mennyis´eg˝ uu ¨ gyf´ellel t¨ort´en˝o besz´elget´es zajlik naponta. Ezek jellemz˝o tartalma, fontosabb t´em´ai, az u ¨ gyf´elk¨or ig´enyeinek v´altoz´asa a szolg´altat´onak fontos inform´aci´ot jelent, amellyel hat´ekonyan reag´alhat a piac v´altoz´asainak kih´ıv´asaira. Szint´en fontos inform´aci´ot hordozhat u ¨ zleti d¨ont´eshoz´ok sz´am´ara a konkurens c´egekr˝ol, ill. term´ekekr˝ol sz´ol´o u ¨ zleti h´ırekr˝ol sz´ol´o automatikus ´ertes´ıt´es. Az a´tlagos felhaszn´al´ok k¨oz¨ ul is mindenki szembes¨ ult m´ar a kulcssz´o-alap´ u keres´es korl´ataival. Ha t¨obb´ertelm˝ u keres˝okifejez´est haszn´alunk — a tipikus p´eld´ak : jagu´ ar (´allat, aut´om´arka), saturn (bolyg´o, elektronikai c´eg, aut´ot´ıpus), tus (zuhany, ´ır´oszer, v´ıv´as, zene) 1 —, akkor a keres´es finom´ıt´as´ara van sz¨ uks´eg a k´ıv´ant inform´aci´o el´er´es´ere. Ha a kontextus megadhat´o lenne, vagy a keresett oldalak tematiz´altan lenn´enek t´arolva, akkor az jelent˝osen megk¨onny´ıten´e a keres´est. A keres˝ok gyakran adnak eredm´eny¨ ul nagym´eret˝ u, ak´ar t¨obb sz´az oldalas dokumentumokat, amely nyilv´an t¨obb t´em´at is t´argyal, ´es nem felt´etlen¨ ul relev´ans a keres˝o sz´am´ara. Ahhoz, hogy a felhaszn´al´o megtal´alja a neki fontos inform´aci´ot bele kell m´elyednie a sz¨ovegbe, ami rendk´ıv¨ ul id˝oig´enyes. Erre a probl´em´ara a sz¨ovegb´any´aszat az o¨sszegz´esk´esz´ıt˝o m´odszereket k´ın´alja megold´ask´ent, amelyek automatikusan o¨sszefoglalj´ak a dokumentum tartalm´at, aminek alapj´an a felhaszn´al´o m´ar k¨onnyebben t´aj´ekoz´odhat. Az eddig ismertettet p´eld´ak csak ´ızel´ıt˝ot ny´ ujtanak a sz¨ovegb´any´aszat m´ar l´etez˝o ´es j¨ov˝obeli felhaszn´al´asair´ol. Miel˝ott a k¨ovetkez˝o szakaszokban m´elyebbrehat´oan elkezd¨ unk foglalkozni a t´em´aval, a 9.1 t´abl´azatban o¨sszefoglaljuk a sz¨ovegb´any´aszat alapvet˝o ism´erveit o¨sszehasonl´ıtva az adatb´any´aszattal.
9.1. Dokumentumok el˝ ofeldolgoz´ asa Mint azt a 9.1 a´br´an l´attuk a sz¨ovegb´any´aszati feladatok megold´as´anak els˝o l´ep´ese a sz¨ovegek el˝ofeldolgoz´asa, aminek c´elja hogy megfelel˝o, egys´eges g´epi reprezent´aci´os alakra hozzuk o˝ket. Egy teljesen a´ltal´anos sz¨ovegreprezent´aci´os modellnek rendk´ıv¨ ul sz´elesk¨or˝ u tud´ast kell mag´aban foglalnia, t¨obbek k¨oz¨ott p´eld´aul a term´eszetes nyelvtanokat is. Els˝o megk¨ozel´ıt´esben azonban csak statisztikai elemz´esek elv´egz´es´ere alkalmas modellt keres¨ unk, amelyben a g´epi 1´
Erdekes, hogy a nemzetk¨ ozi keres˝ ok erre a keres˝ osz´ ora a nyomtat´ oval kapcsolatos cikkeket is tal´ alnak a t˝ us sz´ o ´ekezetn´elk¨ uli reprezent´ aci´ oja miatt. A p´elda j´ ol mutatja: a hat´ekony sz¨ ovegb´ any´ aszati alkalmaz´ asok — bizonyos r´eszben — nyelvf¨ ugg˝ ok.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
181
9.1. t´abl´azat. Az adat- ´es sz¨ovegb´any´aszat o¨sszehasonl´ıt´asa ([83] felhaszn´al´as´aval)
az elemz´es t´argya az adatok jellege az adatok t´arol´asi helye feladat
m´odszerek
jelenlegi piacm´eret vil´agszinten sz´elesk¨or˝ u piaci megjelen´es ideje
adatb´any´aszat numerikus ´es t´ıpusba sorolhat´o struktur´alt
sz¨ovegb´any´aszat szabadform´atum´ u sz¨oveges dokumentum struktur´alatlan
rel´aci´os adatb´azis
tetsz˝oleges dokumentumgy˝ ujtem´eny sz¨ovegelemz´es, kategoriz´al´as ; o¨sszegz´esk´esz´ıt´es ; vizualiz´al´as ; csoportos´ıt´as, stb. dokumentum indexel´es, speci´alis neur´alis h´al´ozatok, sz´am´ıt´og´epes nyelv´eszeti eszk¨oz¨ok, ontol´ogi´ak 100.000.000 v´allalati munkat´ars ´es egy´eni felhaszn´al´o 2000-t˝ol
o¨sszef¨ ugg´esek felt´ar´asa, j¨ov˝obeni szitu´aci´ok el˝orejelz´ese
neur´alis h´al´ozatok, d¨ont´esi f´ak, statisztikai modellek, klaszteranal´ızis, id˝osorok elemz´ese, stb. 100.000 elemz˝o a nagy ´es k¨ozepes v´allalatokn´al 1994-t˝ol
tanul´as algoritmusai hat´ekony alkalmazhat´ok, mint pl. az adatb´any´aszat eset´eben a kor´abbi fejezetekben ismertetett m´odszerek. Mivel a sz¨ovegeket a sz´am´ıt´og´ep nem tudja ´ertelmezni, ez´ert sz¨ uks´eg van egy olyan elj´ar´asra, amely a sz¨ovegek tartalm´at t¨om¨oren reprezent´alja, ´es amely term´eszetesen b´armely dokumentumra alkalmazhat´o. A tov´abbiak sor´an — ha ett˝ol elt´er˝oen nem jelezz¨ uk — a reprezent´aci´o egys´eg´enek a szavakat tekintj¨ uk. Egyes m´odszerek t¨obb sz´ob´ol a´ll´o kifejez´eseket is alkalmaznak, amely azonban jelent˝osen megn¨oveli a dokumentumok feldolgoz´as´anak (indexel´es´enek) idej´et, valamint a t´arig´enyt. Az inform´aci´o-visszakeres´es (information retrieval IR) ter¨ ulet´en a dokumentumokat leggyakrabban a vektort´er-modell seg´ıts´eg´evel vannak reprezent´alva [146]. A dokumentumokat szintaktikai szab´alyok seg´ıts´eg´evel felbontjuk tokenekre (legegyszer˝ ubb esetben a sz´ok¨oz elv´alaszt´o karakter alkalmaz´as´aval ; ekkor a tokenek szavak), ´es a tokeneket sz´ ot¨ ovez˝ o seg´ıts´eg´evel kanonikus alakra hozzuk, azaz a sz´ot˝ovel helyettes´ıtj¨ uk (ld. m´eg 9.7 szakasz). Az egyszer˝ us´eg kedv´e´ert a tov´abbiakban a kanonikus alakot sz´ o nak nevezz¨ uk. A dokumentumgy˝ ujtem´enyben el˝ofordul´o k¨ ul¨onb¨oz˝o szavak alkotj´ak a sz´ ot´ ar at, vagy m´as n´even lexikont. Minden tengely egy sz´ot reprezent´al, a dokumentumokat pedig vektork´ent a´br´azoljuk a szavak a´ltal kifesz´ıtett vektort´erben. A dokumentumok gy˝ ujtem´eny´et sz´ o–dokumentum m´ atrix szal M ×N reprezent´aljuk (A ∈ R ), amelynek valamely aij elem az i-edik sz´o el˝ofordul´asait repre-
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
182
zent´alja a j-edik dokumentumban, vagyis az i-edik tengelyhez tartoz´o sz´o relevanci´aj´at, s´ uly´at adja meg a d dokumentumra vonatkoz´oan. A sorok sz´ama, M , megegyezik a sz´ot´ar m´eret´evel, N pedig a dokumentumok sz´ama. Mivel a´ltal´aban egy dokumentumban az eg´esz sz´ot´arb´ol kev´es sz´o fordul el˝o, az A m´atrix ritka. M rendk´ıv¨ ul nagy is lehet, ebb˝ol ad´od´oan a sz¨ovegek kezel´es´enek egyik probl´em´aja a vektort´er magas dimenzi´oja. A dimenzi´osz´am cs¨okkent´es´ere vonatkoz´o m´odszereket a 9.1.1 pontban tekintj¨ uk a´t. Az aij ´ert´ek megv´alaszt´as´ara t¨obb lehet˝os´eg van. A legegyszer˝ ubb a bin´ aris reprezent´ aci´ o: ( 1, ha nij > 0 aij = , (9.1) 0, ha nij = 0 ahol nij az i sz´o el˝ofordul´as´anak sz´ama a j dokumentumban. Ezt az ´ert´eket szint´en v´alaszthatjuk az adott sz´o fontoss´ag´anak megfeleltet´esek´ent : aij = nij . A dokumentumokat reprezent´al´o vektorokat norm´alhatjuk, hogy hosszuk 1 legyen pl. az k · k 1 , k · k2 vagy k · k∞ norma szerint. Ha k · k1 -t v´alasztjuk, akkor az el˝obbi ´ert´ek aij = nij /n = fij
(9.2)
lesz, ahol fij a sz´o dokumentumbeli gyakoris´ ag´at jel¨oli (TF s´ ulyoz´as). A ??tm :eq :TF) s´ ulyoz´asi s´ema azonos fontoss´ag´ unak kezeli az o¨sszes sz´ot´arbeli sz´ot, holott nyilv´an a t´emaspecifikus szavak, mint pl. ,,adatb´any´aszat” jellemz˝obbek egy dokumentum tartalm´ara mint a n´evel˝ok, hat´aroz´ok, n´evut´ok, stb., pl. ,,az”, ,,hogy”, ,,alatt”. Ha i sz´o n i dokumentumban fordul el˝o, akkor ni /N a sz´o ritkas´ag´at, azaz fontoss´ag´at jellemzi a gy˝ ujtem´enyben. 2 Az IDF (i) = 1+log(ni /N ) inverz dokumentum frekvencia ´ert´eke a vektort´er-modell egyes tengelyeit k¨ ul¨onb¨oz˝o m´ert´ekben ny´ ujtja meg. ´Igy kaphatjuk meg a legn´epszer˝ ubb, u ´ n. TFIDF3 s´ ulyoz´asi s´em´at : aij = fij · IDF (i). (9.3) Ezen k´ıv¨ ul m´as, bonyolultabb s´ ulyoz´asi s´em´ak is ismertek, amelyek a dokumentumok hossz´at, illetve az egyes szavak inform´aci´o elm´eleti alapon sz´am´ıtott entr´opi´aj´at is figyelembe veszik [1, 46, 145].
9.1.1. A dimenzi´ osz´ am cs¨ okkent´ ese M´ar kisebb dokumentumgy˝ ujtem´enyek eset´en (n´eh´any t´ızezer dokumentum) a sz´ot´ar m´erete jellemz˝oen t¨obbsz´azezres nagys´agrend˝ u, amellyel a´ltal´aban az algoritmusok nagy r´esze nem tud megbirk´ozni a nagy sz´am´ıt´asi ´es mem´oria ig´eny miatt. Ha csak 100.000 a´tlagosan 1000 k¨ ul¨onb¨oz˝o sz´ot tartalmaz´o dokumentumunk van, annak hat´ekony t´arol´asa is legal´abb 2 · 10 8 = = 0,2 GB mem´ori´at ig´enyel. A sz´ot´ar m´eret´enek a cs¨okkent´ese teh´at kiemelked˝o fontoss´ag´ u feladat, hiszen ezzel mind a gy˝ ujtem´eny reprezent´al´as´ahoz sz¨ uks´eges mem´oria 4 , mind pedig az 2
IDF -nek t¨ obb defin´ıci´ oja l´etezik. Egy alternat´ıv verzi´ o : IDF (i) = log(N/n i ). terminus frekvencia ´es inverz dokumentum frekvencia 4 Bizonyos tanul´ asi feladatokhoz, pl. kategoriz´ al´ as eset´en, az eg´esz gy˝ ujtem´enyt a mem´ ori´ aban kell t´ arolni. Ha ez csak lapoz´ ofile alkalmaz´ as´ aval lehets´eges, az jelent˝ osen meghosszabb´ıtja a fut´ asi id˝ ot. 3
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
183
algoritmusok fut´asi ig´enye cs¨okkenthet˝o. A dimenzi´osz´am cs¨okkent´ese a mintafelismer´es (pattern recognition) szakirodalm´aban j´ol ismert feladat. Az ismert elj´ar´asok k´et csoportba sorolhat´ok : jellemz˝ok kiv´alaszt´asa ´es u ´ jraparam´eterez´es. Sz¨ovegb´any´aszati alkalmaz´asukat a [186] tanulm´any tekinti a´t. A jellemz˝ ok kiv´ alaszt´ asa A legegyszer˝ ubb elj´ar´asok az al´abbi k´et empirikus megfigyel´esen alapulnak : – Min´el t¨obb dokumentumban szerepel egy sz´o, ann´al kisebb m´ert´ekben jellemzi a dokumentumok tartalm´at, azaz ann´al kisebb a megk¨ ul¨onb¨oztet˝o k´epess´ege ´es az inform´aci´o tartalma. – Min´el ritk´abban fordul el˝o egy sz´o az adott dokumentumgy˝ ujtem´enyen bel¨ ul, ann´al kev´esb´e relev´ans. A fenti megfigyel´esek alapj´an a dokumentum frekvencia k¨ usz¨ ob¨ ol˝ o (Document Frequency Thresholding) m´odszer elhagyja a θ1 k¨ usz¨ob´ert´ek alatti frekvenci´aval rendelkez˝o szavakat, ´es a θ2 k¨ usz¨ob´ert´ek feletti ni ´ert´ekkel rendelkez˝o szavakat. A m´odszer azzal a felt´etelez´essel ´el, hogy az els˝o kateg´ori´aba es˝o szavak kicsiny inform´aci´o tartalm´ uak, ´es nem befoly´asolj´ak jelent˝osen pl. a kategoriz´al´as hat´ekonys´ag´at, m´ıg a m´asodik kateg´ori´aba es˝o szavak nem diszkriminat´ıvok. Ide sorolhat´o m´eg az u ´ n. funkci´ o szavak elhagy´ asa 5 is, amelyek a sz¨oveg tartalm´ara vonatkoz´oan nem b´ırnak jelent˝os inform´aci´otartalommal. A funkci´o szavak list´aja nyilv´an minden nyelven m´as, de ak´ar a dokumentumgy˝ ujtem´eny t´em´aj´at´ol ´es a´ltal´anoss´ag´at´ol is f¨ ugghetnek [64]. Kategoriz´al´asn´al haszn´alnak m´eg a szavak ´es kateg´ori´ak egy¨ uttes el˝ofordul´as´ab´ol becs¨ ult inform´aci´o elm´eleti ´es statisztikai m´ert´ekeket. Az inform´aci´os nyeres´eg m´odszer eset´en minden sz´ora megvizsg´alj´ak, hogy van-e olyan kateg´oria, amelyben az el˝ofordul´asa vagy el˝o nem fordul´asa kiugr´o. Az ´ıgy kapott ´ert´ekeket o¨sszegezve a valamely k¨ usz¨ob´ert´ek alatti szavakat kev´ess´e diszkriminat´ıvnak tekintve elhagyjuk. Hasonl´o elven m˝ uk¨odik a kateg´ori´ak ´es szavak k¨ozti f¨ uggetlens´eg hi´any´at vizsg´al´o χ2 -statisztik´an alapul´o m´odszer [1]. ´ Ujraparametriz´ al´ as Az u ´ jraparametriz´al´as sor´an u ´ j jellemz˝oket a´ll´ıtunk el˝o a vektort´er eredeti jellemz˝oi (dimenzi´oi) kombin´aci´oik´ent. A legismertett ilyen m´odszer a szingul´aris ´ert´ekfelbont´ason (SVD) alapul´o l´atens szemantikus indexel´es (LSI) [18, 43]. Az LSI m´odszer felt´etelezi, hogy a dokumentumok sz´ohaszn´alati mint´azat´aban l´etezik egy elrejtett, azaz l´atens strukt´ ura, ´es hogy ezt statisztikai m´odszerekkel k¨ozel´ıteni lehet. A saj´at´ert´ek-felbont´ason alapul´o SVD seg´ıts´eg´evel kiv´alaszthat´ok azok a valamely legnagyobb K saj´at´ert´ekhez tartoz´o jellemz˝ok, melyek az A sz´o–dokumentum m´atrixot kell˝oen j´ol reprezent´alj´ak. A K ´ert´eke l´enyegesen kisebb M -n´el. Az LSI azokat a dokumentumokat, amelyek sok hasonl´o sz´ot tartalmaznak szemantikailag k¨ozelinek, ´es azokat, amelyek kev´es k¨oz¨os sz´ot tartalmaznak, szemantikailag t´avolinak ´ert´ekeli. Ez az egyszer˝ u m´odszer meglep˝oen j´ol korrel´al azzal, ahogy egy ember, aki a dokumentumot a´tn´ezi, besorolja az adott dokumentumgy˝ ujtem´enyt. 5
Angol szakirodalomban function words vagy stopwords.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
184
Annak ellen´ere, hogy az LSI algoritmus algebrai m´odszert haszn´al, teh´at nem ´ert semmit a szavak jelent´es´eb˝ol, meglep˝oen j´o szemantikai k¨ovetkeztet´esekre ad lehet˝os´eget, azaz ,,rendk´ıv¨ ul intelligensnek t˝ unik”.
9.1.2. Hat´ ekonys´ ag m´ er´ ese K¨ ul¨onb¨oz˝o jelleg˝ u sz¨ovegb´any´aszati m´odszerek hat´ekonys´ag´at m´as-m´as ki´ert´ekel˝o m´ert´ekkel vizsg´aljuk. Term´eszetesen a hat´ekonys´ag m´er´es´ere csak akkor van lehet˝os´eg, ha rendelkez´esre a´ll a v´art eredm´eny, ami csak bizonyos sz¨ovegb´any´aszati m´odszerek eset´en lehet adott, pl. kategoriz´al´asn´al. Ekkor ugyanis, ha olyan dokumentumgy˝ ujtem´enyen tesztelj¨ uk a m´odszert, ahol az egyes dokumentumok kateg´ori´aja ismert, akkor k¨onnyen ellen˝orizhetj¨ uk a m´odszer helyess´eg´et. Ezzel szemben pl. kivonatol´as eset´en neh´ez egy optim´alis eredm´enyt o¨sszehasonl´ıt´asi alapnak tekinteni, amely b´arki szerint az adott sz¨oveg legjobb kivonata, mivel a kivonat emberi meg´ıt´el´ese szubjekt´ıv. Ez´ert ilyen esetekben csak tapasztalati, heurisztikus m´odszerek vannak a hat´ekonys´ag m´er´es´ere, illetve a k¨ ul¨onb¨oz˝o eredm´enyek o¨sszehasonl´ıt´as´ara, rangsorol´as´ara. A k¨ ul¨onb¨oz˝o feladatt´ıpusokhoz tartoz´o m´ert´ekeket az adott szakaszon bel¨ ul fogjuk t´argyalni.
9.2. Oszt´ alyoz´ as Adatb´any´asz m´odszerek jellemz˝oen rel´aci´os adatb´azisokon m˝ uk¨odnek, ahol az adatok struktur´altan, oszlopokba ´es sorokba rendezve vannak t´arolva. Hasonl´o m´odon lehet˝os´eg van a struktur´alatlan adatok hierarchikus strukt´ ur´aba, u ´ n. taxon´ omi´ a ba val´o rendszerez´es´ere is. A taxon´omia u ´ gy m˝ uk¨odik, mint egy sz´am´ıt´og´epes k¨onyvt´arstrukt´ ura, ami k´ezenfekv˝o ´es intuit´ıv eszk¨ozt ad a navig´al´asra ´es az inform´aci´ok el´er´es´ere, keres´es´ere [21]. A dokumentumok tartalmuk alapj´an tematikus kateg´ oriarendszer be (kateg´ori´akba) t¨ort´en˝o besorol´as´at oszt´ alyoz´ asnak (m´as n´even kategoriz´ al´ asnak) nevezz¨ uk, ami az egyik legalapvet˝obb sz¨ovegb´any´aszati feladat. A kateg´ori´ak r¨ogz´ıtettek ´es el˝ore adottak. A kateg´ori´ak egym´ashoz val´o viszonya alapj´an besz´elhet¨ unk egyszer˝ u oszt´ alyoz´ asr´ol — ilyenkor nincs semmilyen o¨sszef¨ ugg´es az egyenrang´ u kateg´ori´ak k¨oz¨ott, illetve hierarchikus oszt´ alyoz´ asr´ol — amikor a kateg´ori´ak egy struktur´alt rendszert, a´ltal´aban f´at, vagy k¨ormentes ir´any´ıtott gr´afot alkotnak. Ebben az ´ertelemben a taxon´omia teh´at kateg´ori´ak hierarchikus rendszere. Az u ¨ zleti alkalmaz´asokban azonban k´et ok miatt m´eg nem t´ ul elterjedt a dokumentumok taxon´omi´aba rendez´ese. Egyr´eszt a taxon´omia megalkot´asa ´es fenntart´asa neh´ez feladat. Olyan szak´ert˝ot k´ıv´an, aki a´tl´atja az eg´esz c´eg u ¨ zleti szervezet´et, ´es rendszerez˝o k´epess´eggel b´ır. A taxon´omia m´erete igen nagy lehet, ak´ar t¨obb ezer kateg´ori´at is tartalmazhat. 6 Egy c´eg profilj´anak, term´ekeinek v´altoz´asa a taxon´omia v´altoztat´as´anak sz¨ uks´egess´eg´et is mag´aval vonja, ami szint´en id˝oig´enyes ´es k¨olts´eges feladat. Egy´ebk´ent az automatikus taxon´omiak´esz´ıt˝o m´odszerek csak az ut´obbi ´evekben kezdtek megjelenni a piacon (Verify, Stratify, Inxight, Autonomy). A m´asik nagy akad´alyt a piacon l´ev˝o szoftverek oszt´alyoz´asi szempontb´ol gyenge hat´ekonys´aga jelenti. Ez r´eszben annak tudhat´o be, hogy viszonylag egyszer˝ u algoritmusokat alkalmaznak az a´ltal´anos feladat neh´ezs´eg´ehez k´epest, r´eszben pedig annak, hogy ezek az algoritmusok jelent˝os sz´am´ u tanul´oadatot ig´enyelnek, ´es amelyre nem sz´an id˝ot az u ¨ zleti felhaszn´al´o. 6
Erre j´ o p´elda a nemzetk¨ ozi szabadalmi hivatal a ´ltal kifejlesztett IPC taxon´ omia: http://www.wipo.org/ classifications/fulltext/new_ipc/index.htm
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
185
9.2.1. Oszt´ alyoz´ as struktur´ alatlan kateg´ ori´ ak rendszer´ ebe Az oszt´alyoz´asi feladatok k¨oz¨ott a dokumentum–kateg´oria rel´aci´o jelleg´et˝ol f¨ ugg˝oen az al´abbi megk¨ ul¨onb¨oztet´est tessz¨ uk : – Bin´ aris oszt´ alyoz´ asnak nevezz¨ uk, amikor csak egy kateg´oria adott, ´es a dokumentumokr´ol azt kell eld¨onteni, hogy ebbe beletartoznak-e vagy sem. – Egyc´ımk´es oszt´ alyoz´ as (multi-class) eset´en t¨ obb kateg´oria adott, ´es minden dokumentumok legfeljebb egy kateg´ori´ahoz tartozik. – T¨ obbc´ımk´es oszt´ alyoz´ as (multi-label) eset´en szint´en t¨ obb kateg´oria adott, de minden dokumentum t¨ obb kateg´ori´aba is beletartozhat. – T¨ obbszint˝ u oszt´ alyoz´ as (multi-level) eset´en szint´en t¨ obb kateg´oria adott, ´es egy dokumentumnak lehetnek els˝odleges, m´asodlagos stb. kateg´ori´ai.7 Az automatikus oszt´alyoz´as tipikus fel¨ ugyelt tanul´ asi feladat (supervised learning), amikor megadott tanul´o p´eld´ak alapj´an az oszt´alyoz´ot k´epess´e tessz¨ uk arra, hogy felismerje az egyes oszt´alyokba tartoz´o dokumentumok jellegzetess´egeit. Adott teh´at egy tanul´ o dokumentumhalmaz, ahol a dokumentumok a kateg´ori´ajukkal fel vannak c´ımk´ezve. Az algoritmus el˝osz¨or ez alapj´an megtanulja a kateg´ori´ak jellemz˝oit, majd ismeretlen kateg´ori´aj´ u dokumentumok c´ımk´ej´ere ad becsl´est. A fel¨ ugyelt tanul´ashoz a dokumentumgy˝ ujtem´enyt k´et diszjunkt halmazra bontjuk, tanul´ o´es teszthalmaz ra : DTrain ∩DTest = ∅, and DTrain ∪DTest = D. A tanul´o halmaz egy r´esz´et gyakran a m´odszerek megfelel˝o param´etereinek be´all´ıt´as´ahoz haszn´aljuk, ezt valid´ aci´ os halmaz nak nevezz¨ uk. Legyen adott tov´abb´a K sz´am´ u kateg´oria, C = {c 1 , . . . , cK }, ´es minden c kateg´ori´ahoz egy Dc tanul´o dokumentumhalmaz. Egy kateg´ori´ahoz Nj = Dcj dokumentum tartozik. Az eg´esz P tanul´ohalmaz teh´at N = K j=1 Nj = |DTrain | dokumentumot tartalmaz. A feladat egy ismeret~ len d = (d1 , . . . , dM ) ∈ D dokumentum kategoriz´al´asa. A k¨ovetkez˝okben ismertetett m´odszerek a´ltal´aban az els˝o h´arom feladatt´ıpus megold´as´ara alkalmasak, ett˝ol elt´er˝o esetben ezt k¨ ul¨on jelezz¨ uk. Naiv Bayes-m´ odszer A na´ıv Bayes-m´odszer (pl. [87]) val´osz´ın˝ us´eg sz´am´ıt´asi alapon m˝ uk¨od˝o oszt´alyoz´o [108]. A tanul´ohalmaz alapj´an egy besoroland´o dokumentumhoz a Bayes-t´etel alapj´an megbecs¨ uli az egyes kateg´ori´akhoz val´o tartoz´as val´osz´ın˝ us´eg´et, P (cj |d) =
P (cj )P (d|cj ) , P (d)
(9.4)
ahol a nevez˝o mindig ugyanaz, teh´at elhagyhat´o. A m´odszer elnevez´es´eben a na´ıv jelz˝o arra — az egy´ebk´ent a´ltal´aban nem helyt´all´o — felt´etelez´esre utal, hogy a v´altoz´ok (szavak) felt´etelesen 7
A t¨ obbszint˝ u oszt´ alyoz´ as eset´en a feladat a ´ltal´ aban hierarchikus kateg´ oriarendszerrel p´ arosul, ez´ert — b´ ar struktur´ alatlan kateg´ oriarendszer eset´en is ´ertelmezhet˝ o a probl´ema — ezt a 9.2.2 pontban t´ argyaljuk.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
186
f¨ uggetlenek, ha a kateg´oria adott. ´Igy a P (d|cj ) ´ert´ek´enek becsl´ese — amely nagy sz´am´ u tanul´oadat eset´en bonyolult feladat — l´enyegesen leegyszer˝ us¨odik, ´es ez´ert a ??eq :Bayes) kifejez´es az al´abbiak szerint ´ırhat´o fel : P (cj |d) = P (cj )
M Y i=1
P (di |cj ).
A P (cj ) val´osz´ın˝ us´eg a tanul´o p´eld´ak gyakoris´aga alapj´an megbecs¨ ulhet˝o : Nj Pˆ (C = cj ) = , N valamint Pˆ (di |cj ) =
1 + Nij , P M+ M k=1 Nkj
ahol Nij az i-edik sz´o el˝ofordul´asa a Dcj dokumentumokban. ´ Erdekes m´odon annak ellen´ere, hogy a szavak f¨ uggetlen el˝ofordul´as´ara vonatkoz´o kiindul´o felt´etelez´es a´ltal´aban nem igaz, a m´odszer igen j´o eredm´enyt ad, amit elm´eleti eredm´enyek is al´at´amasztanak [45]. S˝ot, ha bonyolultabb, s ez´altal nagyobb sz´am´ıt´asig´eny˝ u val´osz´ın˝ us´egi modellt haszn´alunk [99], akkor sem javul jelent´ekenyen a hat´ekonys´ag. Legk¨ ozelebbi szomsz´ edokon alapul´ o oszt´ alyoz´ o (k-NN) Egy adott dokumentum besorol´asakor e m´odszer valamilyen t´avols´agfogalom seg´ıts´eg´evel megvizsg´alja, hogy a tanul´o adatok k¨oz¨ ul melyik k dokumentum vektora hasonl´ıt legjob~ ban a vizsg´alt d vektorhoz. Ezen vektorokhoz tartoz´o kateg´ori´ak t´avols´ag ar´any´aban t¨ort´en˝o s´ ulyoz´as´ab´ol fel´all´ıthat´o a dokumentumhoz tartoz´o kateg´ori´aknak rangsora. A hasonl´os´ag meg´allap´ıt´as´ara a´ltal´aban a koszinusz- vagy az euklideszi-t´avols´agot haszn´alj´ak. A m´odszer az u ´ n. lusta tanul´ o elj´ar´asok k¨oz´e tartozik, vagyis a tanul´ohalmazt nem dolgozza fel el˝ore, hanem csak az adott dokumentum feldolgoz´asa sor´an v´egez d¨ont´est. A k param´eter be´all´ıt´as´at, ami r´esze az oszt´alyoz´o megalkot´as´anak, tapasztalati u ´ ton v´egzik a valid´ aci´ os adatok on. A vizsg´alatok azt mutatt´ak ki [184], hogy 30 ≤ k ≤ 45 ´ert´ekek adj´ak a legjobb eredm´enyt. A k-NN m´odszer nem line´ aris oszt´ alyoz´ o, ez´ert a Rocchio-elj´ar´asn´al ismertetett probl´em´ak nem jelentkeznek. Az eredm´enyek azt mutatj´ak (9.2.1 szakasz), hogy a m´odszer el´eg hat´ekony. A legf˝obb h´atr´anya, a fut´asi id˝oben jelentkez˝o magas sz´am´ıt´asi ig´eny, hiszen egy dokumentum oszt´alyoz´as´ahoz az eg´esz tanul´ohalmazt rangsorolni kell, ami l´enyegesen bonyolultabb, mint pl. a line´aris oszt´alyoz´okn´al egy szorz´as v´egrehajt´asa. D¨ ont´ esi fa alap´ u sz¨ ovegoszt´ alyoz´ ok D¨ont´esi f´an alapul´o sz¨ovegoszt´alyoz´o egy olyan fa, amelyben a k¨ozbens˝o csom´opontok szavak (sz´ot´ari elemek), a csom´opontokb´ol kiindul´o a´gakat az adott sz´o teszt dokumentumbeli el˝ofordul´as´anak s´ ulya hat´arozza meg, a levelek pedig kateg´ori´akkal vannak c´ımk´ezve. Az ~ oszt´alyoz´as a d tesztdokumentumban a d¨ont´esi fa csom´opontjaihoz tartoz´o szavak s´ uly´anak rekurz´ıv vizsg´alata alapj´an t¨ort´enik, a dokumentumhoz v´eg¨ ul a lev´el kateg´oriac´ımk´ej´et rendelj¨ uk
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
187
hozz´a. A d¨ont´esi fa alap´ u sz¨ovegoszt´alyoz´ok a´ltal´aban bin´aris reprezent´aci´ot haszn´alnak, ´ıgy a d¨ont´esi fa is bin´aris. A legt¨obb sz¨ovegoszt´alyoz´o standard d¨ont´esi fa tanul´o csomagot haszn´al, mint az ID3, a ´ C4.5, a C5, ill. CHART vagy CHAID. Altal´ anoss´agban a c kateg´ori´ahoz tartoz´o d¨ont´esi fa megtanul´asa az ,,oszd meg ´es uralkodj” strat´egia k´et l´ep´es´eb˝ol a´ll : (1) annak ellen˝orz´ese, hogy minden tanul´o dokumentumnak ugyanaz-e a c´ımk´eje (c vagy c) ; (2) ha nem, akkor egy olyan dj sz´o kiv´alaszt´asa, amely a tanul´ohalmazt u ´ gy particion´alja, hogy az egyes oszt´alyokban a d j ´ert´eke megegyez˝o legyen, ´es ezek az oszt´alyok k¨ ul¨onb¨oz˝o r´eszf´aba tartozzanak be. A m´odszer addig folytat´odik rekurz´ıvan, am´ıg az egyes a levelekbe csak azonos kateg´ori´aba tartoz´o tanul´oadatok vannak. A t´ ultanul´ast a d¨ont´ese fa csonkol´as´aval lehet megakad´alyozni. A t´em´at r´eszletesen a [121, 3. fejezet] t´argyalja. Neur´ alis h´ al´ ozat alap´ u m´ odszerek A sz¨ovegoszt´alyoz´ast olyan neur´alis h´al´ozattal val´os´ıtj´ak meg, ahol a bemeneti r´eteg neuronjai a szavaknak felelnek meg, a kimeneti r´eteg a kateg´ori´akat reprezent´alja, a r´etegek k¨ozti s´ uly pedig a f¨ ugg˝os´egi rel´aci´ot jellemzi. Egy dokumentum oszt´alyoz´asa eset´en a bemeneti neuronok ´ert´eke a dokumentum vektora lesz, ´es h´al´ozat kimenete hat´arozza meg a oszt´alyoz´asi d¨ont´est. A h´al´ozat tan´ıt´asa visszacsatolt m´odszerrel t¨ort´enik : ha egy sz¨oveget rosszul kategoriz´al a h´al´ozat, akkor a hib´at visszacsatolva m´odos´ıtjuk a s´ ulyok ´ert´ek´et, ily m´odon minimaliz´alva a hib´at. A neur´alis h´al´ozat alap´ u sz¨ovegoszt´alyoz´o az inkrement´ alis m´ odszer ek k¨oz´e tartozik, azaz az els˝o n´eh´any tanul´oadat alapj´an fel´ep´ıtett kezdeti oszt´alyoz´ot az u ´ jabb tanul´odokumentumok vizsg´alata sor´an m´odos´ıthatja. Ez az adaptivit´as el˝ony¨os lehet, ha a kateg´ori´ak tartalma m´odosul, vagy ha nem a´ll a tanul´as kezdet´en rendelkez´esre az o¨sszes tanul´oadat. Az egyik legegyszer˝ ubb esete ennek a perceptron algoritmus [40, 153, 182]. Kiindul´askor a bemeneti s´ ulyok ´ert´ek´et azonosra a´ll´ıtjuk. A bin´aris reprezent´aci´oval (9.1) reprezent´alt d~ dokumentumot a m´ar fel´ep´ıtett oszt´alyoz´oval kategoriz´aljuk. Ha ez sikeres, akkor semmit nem m´odos´ıtunk rajta, viszont, ha nem, akkor az al´abbi m´odon v´altoztatjuk a s´ ulyokat. A perceptron addit´ıv s´ ulybe´ all´ıt´ ast haszn´al : ha d~ a c kateg´ori´ara pozit´ıv p´elda, akkor ,,akt´ıv” (dj = 1) szavak s´ uly´at α > 0 tanul´ asi r´ at´ a val n¨ovelj¨ uk ; ellenkez˝o esetben pedig α-val cs¨okkentj¨ uk. A tanul´as v´eg´en a kicsiny s´ uly´ u szavak negat´ıv p´eld´akat jelentenek a kateg´ori´ara vonatkoz´oan, ´ıgy ki lehet o˝ket hagyni a sz´ot´arb´ol, ezzel is cs¨okkentve a vektort´er dimenzi´oj´at (v¨o. 9.1.1 szakasz) [40]. Multiplikat´ıv s´ ulybe´ all´ıt´ ast alkalmaznak a k¨ ul¨onb¨oz˝o verzi´oj´ u Winnow algoritmusok [40], ahol α1 > 1, ill. 0 < α2 < 1 konstansokkal val´o szorz´assal a szavak s´ uly´at rendre n¨ovelik, ill. cs¨okkentik. A kiegyens´ ulyozott Winnow algoritmusa minden sz´ohoz k´et s´ ulyt rendel, amiket a pozit´ıv, ill. negat´ıv p´eld´ak k¨ ul¨on szab´alyoznak. Az ut´obbi esetben egy s´ uly ´ert´eke negat´ıv is lehet. Az eddig ismertetett neur´alis h´al´ozat alap´ u m´odszerek line´aris oszt´alyoz´ok, mivel a h´al´ozat kimenete line´arisan f¨ ugg a bemenett˝ol. Egyszer˝ us´eg¨ uk ellen´ere a leghat´ekonyabbak elj´ar´asok k¨oz´e tartoznak. T¨obb munka megvizsg´alta a nemline´aris neur´alis h´al´ozatok alkalmaz´as´at is egy vagy t¨obb rejtett r´eteget illesztve a h´al´ozatba. Ez a m´odos´ıt´as azonban az oszt´alyoz´o hat´ekonys´ag´ara vonatkoz´oan semmilyen [153] vagy csak igen csek´ely [182] javul´ast eredm´enyez.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
188
9.2. a´bra. Optim´alis w ~ kiv´alaszt´asa line´arisan szepar´abilis esetben Support Vector Machine (SVM) A sz´amos m´as alkalmaz´asi ter¨ uleten is j´o eredm´enyeket ad´o SVM elj´ar´as egyike a leghat´ekonyabb sz¨ovegoszt´alyoz´asi m´odszereknek [88]. Csak bin´aris oszt´alyoz´asi feladat megold´as´ara alkalmas, ez´ert egyszer˝ u vagy a´ltal´anos oszt´alyoz´as eset´en ilyenek kombin´aci´oit alkalmazzuk. Az SVM egy d~ vektorhoz az al´abbi kifejez´es alapj´an rendel 1 vagy −1 ´ert´eket : s = wT φ(d) + b =
N X
αi yi K(d, di ) + b
i=1
´es a k´erd´eses kateg´ori´ahoz val´o hozz´arendel´est az al´abbi egyenl˝otlens´eg adja meg : ( 1, ha s > s0 y= , −1, egy´ebk´ent ahol d~i a tanul´ohalmaz elemei, yi ∈ {−1,1} ´ert´eke pedig a vizsg´alt kateg´ori´aba val´o tartoz´ast jel¨oli. A K(d, di ) kernel (mag) kifejez´es ´ert´ek´et gyakran egy polinom hat´arozza meg : K(d, di ) = (dT di + 1)d Az SVM tan´ıt´asa azon w ~ vektor meghat´aroz´as´ab´ol a´ll, amely maximaliz´alja a tanul´oadatok k´et oszt´alya (bele, ill. nem bele tartoz´o) k¨oz¨otti t´avols´agot. Fontos megjegyezni, hogy a legjobb w ~ kiv´alaszt´as´aban csak a tanul´oadatok egy r´esze j´atszik szerepet, az u ´ n. tart´ ovektor ok (support vectors) (ld. 9.2 a´bra). Az optimaliz´al´ast att´ol f¨ ugg˝oen v´egezz¨ uk, hogy a kateg´ori´ahoz tartoz´o ´es nem tartoz´o vektorok line´aris szeparabilit´asa az M − 1 dimenzi´os t´erben felt´etelezhet˝o-e vagy sem. Ez ut´obbi esetben n´emileg m´odos´ıtott elj´ar´ast kell alkalmazni [185], ami valamelyest jobb megold´ast ad mint a line´arisan szepar´alhat´o eset [88]. A m´odszer jelent˝os´eg´et tov´abb n¨oveli, hogy nagy adathalmazok eset´en is alkalmazhat´o. Ez annak a tulajdons´ag´anak k¨osz¨onhet˝o, hogy a v´egs˝o SVM-t a tanul´o adatok kisebb r´eszhalmazaira megalkotott SVM-ek kombin´aci´oik´ent is el˝o lehet a´ll´ıtani. A [47] k¨ozlem´enyben egy olyan tanul´oalgoritmust alkalmaztak, amely az SVM m´odszer tanul´asi sebess´eg´et a Rocchioelj´ar´as´eval o¨sszem´erhet˝ov´e teszi. Szavaz´ asos oszt´ alyoz´ as Egy vagy t¨obb kiv´alasztott m´odszernek m´as-m´as tanul´ohalmazon elv´egzett eredm´enyeit kombin´alja a szavaz´asos oszt´alyoz´as. Az oszt´alyoz´o fel´ep´ıt´ese az alkalmazott m´odszerek (az oszt´alyoz´ok egy¨ uttes´et bizotts´ agnak, elemeit tagok nak nevezik) ´es azok eredm´eny´enek s´ ulyoz´as´at´ol f¨ ugg˝oen k¨ ul¨onb¨oz˝o lehet. A bizotts´ag tagjainak kiv´alaszt´as´an´al a´ltal´aban azt a szempontot k¨ovetik, hogy a tagok lehet˝oleg min´el f¨ uggetlenebbek legyenek, azaz k¨ ul¨onb¨oz˝o elven m˝ uk¨odjenek [174]. Az eredm´enyek kombin´aci´oj´ara sz´amos elj´ar´as l´etezik [109], amelyek elt´er˝o m´ert´ekben ´es m´odon veszik figyelembe a tagok hat´ekonys´ag´at.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
189
Az eredeti tanul´ohalmazb´ol kialak´ıtott ideiglenes tanul´ohalmazok megval´os´ıt´as´at´ol f¨ ugg˝oen is t¨obb verzi´oja l´etezik a szavaz´asos oszt´alyoz´asnak. Az egyik m´odszer [26] eset´en az eredeti N elem˝ u tanul´ohalmazb´ol ism´etl´eses m´ odon v´eletlenszer˝ uen kiv´alasztunk N elemet, ´ıgy az u ´ j tanul´ohalmaz az eredetib˝ol bizonyos elemeket t¨obbsz¨or, m´asokat egyszer sem tartalmaz. Az eredetib˝ol kivett elemek gyakoris´ag´at diszkr´et Poisson-eloszl´assal modellezz¨ uk. Ezt R-szer elv´egezve ugyanennyi k¨ ul¨onb¨oz˝o dokumentumgy˝ ujtem´enyhez jutunk, amire az oszt´alyoz´o bizotts´agban r´esztvev˝o elj´ar´asokat lefuttatva R eredm´enyt kapunk. A vizsg´alt d~ dokumentumot ahhoz a kateg´ori´ahoz rendelj¨ uk hozz´a, amelyikre a legt¨obb tag ,,szavaz” : X 1, y(d) = arg max y
r:fr (d)=y
ahol fr (r = 1, . . . , R) a bizotts´ag tagjait jel¨oli. Az AdaBoost elj´ar´as verzi´oi [149, 150] ugyanazt az oszt´alyoz´ot alkalmazz´ak egym´as ut´an k¨ ul¨onb¨oz˝o tanul´ohalmazzal. Az egyes tanul´oadatok s´ uly´at a k¨ovetkez˝o tanul´ohalmazban adapt´ıv m´odon att´ol f¨ ugg˝oen v´altoztatj´ak, hogy milyen eredm´enyt adott az el˝oz˝o oszt´alyoz´asokn´al. Egy dokumentum s´ uly´at n¨ovelik, ha oszt´alyoz´as sikertelen¨ ul volt, cs¨okkentik, ha sikeres. A v´egs˝o oszt´alyoz´o az R-edik oszt´alyoz´o eredm´enyek´ent a´ll el˝o. A bizotts´agokat oszt´alyoz´ok albizotts´agaik´ent o¨ssze´all´ıtva [155], illetve a bizotts´agok d¨ont´esi f´akkal val´o kombin´aci´oj´at [180] alkalmazva tov´abb lehet jav´ıtani a boosting t´ıpus´ u m´odszerek hat´ekonys´ag´an. Hat´ ekonys´ agm´ er´ es Az oszt´alyoz´asi m´odszerek hat´ekonys´aga a szok´asos inform´aci´o-visszakeres´esben alkalmazott m´ert´ekek seg´ıts´eg´evel m´erhet˝o. Az egyszer˝ ubb feladatok (bin´aris, egyc´ımk´es ´es t¨obbc´ımk´es oszt´alyoz´as) eset´en ezek a m´ert´ekek k¨ozvetlen¨ ul alkalmazhat´ok. Tekints¨ uk el˝osz¨or az al´abbi mennyis´egeket egy kateg´ori´ara vonatkoz´oan : a, b, c, d,
a a a a
kateg´ori´ahoz kateg´ori´ahoz kateg´ori´ahoz kateg´ori´ahoz
helyesen hozz´arendelt dokumentumok sz´ama helytelen¨ ul hozz´arendelt dokumentumok sz´ama helytelen¨ ul nem hozz´arendelt dokumentumok sz´ama helyesen nem hozz´arendelt dokumentumok sz´ama
Ezek seg´ıts´eg´evel a k¨ovetkez˝o m´ert´ekeket defini´aljuk : a a+c a pontoss´ ag (precision) = P = a+b a+d szabatoss´ ag (accuracy) = A = a+b+c+d felid´ez´es (recall) = R =
hiba (error) = E = 1 − A =
(9.5)
b+c a+b+c+d
Ezek k¨oz¨ ul felid´ez´es ´es pontoss´ag m´ert´ekek egy¨ uttes´et alkalmazz´ak leggyakrabban. A szabatoss´agot sz¨ovegoszt´alyoz´asi feladatokn´al ritk´abban haszn´alj´ak, ugyanis a rendszerint nagy nevez˝o miatt ez a m´ert´ek kev´esb´e ´erz´ekeny az a + d sz´aml´al´o v´altoz´as´ara, mint az el˝obbi kett˝o
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
190
[154, 34. o.][184]. Mivel az R ´es P ´ert´ekek maximaliz´al´asa egym´assal ellent´etes feladat, ez´ert egy m´odszer ´ert´ekel´es´ehez mindkett˝ore egyar´ant sz¨ uks´eg van. Ezt az u ´ n. egyens´ ulyi pont meghat´aroz´as´aval ´erj¨ uk el, amire P ≈ R. Az egyens´ ulyi pontot az adott m´odszer param´etereinek v´altoztat´as´aval kaphatjuk meg. Itt probl´em´at jelenthet az, hogy egyes m´odszerekn´el esetleg nincs ilyen param´eterbe´all´ıt´as, illetve hogy a k´et ´ert´ek azonoss´aga nem felt´etlen¨ ul k´ıv´anatos c´el [107]. M´asik lehet˝os´eg a k´et mennyis´eg parametrikus kombin´aci´oja [177], (β 2 + 1)P R F-m´ert´ek = Fβ = 2 , β ·P +R
β≥0
(9.6)
ahol a β = 1 eset´en a k´et mennyis´eg azonos s´ ullyal szerepel. Ez a manaps´ag leggyakrabban haszn´alt m´ert´ek az oszt´alyoz´asi m´odszerek ki´ert´ekel´es´ere 8 Az eddig t´argyalt m´ert´ekek egy kateg´ori´ara vonatkoztak, teh´at a bin´aris feladat ki´ert´ekel´es´ere alkalmasak. K¨onnyen lehet o˝ket azonban a´tlagol´assal adapt´alni egy- ´es t¨obbc´ımk´es oszt´alyoz´ashoz is (t¨obbszint˝ u oszt´alyoz´as ki´ert´ekel´es´et a 9.2.2 pont megfelel˝o r´esz´eben t´argyaljuk). Az a´tlagol´ast k´etf´elek´eppen lehet elv´egezni : mikr´ o-´ atlagolt m´ert´ekek eset´en az o¨sszes dokumentumra k¨ ul¨on kisz´amolj´ak az adott ´ert´eket, ´es azokat a´tlagolj´ak ; makr´ oa ´tlagolt esetben pedig kateg´ori´akra sz´amolj´ak a m´ert´ekeket, majd ezeket a´tlagolj´ak. Teh´at a mikro-´atlagol´as a dokumentumokhoz, m´ıg a makro-´atlagol´as a kateg´ori´akhoz rendel azonos s´ ulyt. Ha olyan oszt´alyoz´o hat´ekonys´ag´at m´erj¨ uk, amelyik a tesztdokumentumokhoz kateg´ori´ak megb´ızhat´os´agi szinttel ell´atott rangsor´at adja eredm´eny¨ ul, akkor egy m´asik IR m´ert´eket, a 11 pontos a ´tlagos pontoss´ agot haszn´aljuk. Ekkor egy tesztdokumentumra a felid´ez´est a R=
A list´aban szerepl˝o helyes kateg´ori´ak sz´ama Az o¨sszes helyes kateg´ori´ak sz´ama
(9.7)
k´eplettel sz´amoljuk. A ??tm :eq :11pt :r) h´anyados 11 r¨ogz´ıtett ´ert´ek´ere (0, 0,1, . . . , 0,9, 1) meghat´arozzuk, hogy h´any elem´et kell a list´anak figyelembe venni (azaz a sz´aml´al´o m´erete mekkora legyen), hogy a k´ıv´ant felid´ez´es ´ert´eket ´erj¨ uk el. Evvel az ´ert´ekkel sz´amoljuk a pontoss´ag ´ert´ek´et : P=
A list´aban szerepl˝o helyes kateg´ori´ak sz´ama . A list´aban szerepl˝o o¨sszes kateg´oria sz´ama
(9.8)
V´eg¨ ul pedig az ´ıgy kapott 11 ´ert´eket a´tlagolva megkapjuk a m´odszert jellemz˝o hat´ekonys´agot egy dokumentumra vonatkoz´oan. A teljes DTest halmazra vonatkoz´o glob´alis hat´ekonys´ag ´ert´eke a fenti m´odon dokumentumonk´ent kisz´amolt ´ert´ekek a´tlagak´ent hat´arozhat´o meg. Ki´ ert´ ekel´ es ´ es p´ eld´ ak A m´odszerek o¨sszehasonl´ıt´as´at standard dokumentumgy˝ ujtem´enyek seg´ıts´eg´evel v´egzik. A m´odszerek korrekt o¨sszehasonl´ıt´as´ahoz teljes¨ ulnie kell, hogy I. egyazon gy˝ ujtem´enyen, ugyanazokkal a dokumentumokkal ´es kateg´ori´akkal tesztelj¨ unk ; II. ugyanazt a tanul´o ´es tesztgy˝ ujtem´enyt haszn´aljuk ; 8
Ezt a m´ert´eket haszn´ alt´ ak pl. a 2005-¨ os KDD kup´ ara beadott eredm´enyek ´ert´ekel´es´ere is: www.acm.org/ sigs/sigkdd/kdd2005/kddcup.html
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
191
III. ugyanazt a hat´ekonys´agi m´ert´eket alkalmazzuk r¨ogz´ıtett param´eter be´all´ıt´assal. B´ar a fenti ir´anyelveket nem tartott´ak mindig szem el˝ott a kutat´asok elv´egz´esekor, ennek ellen´ere a egyszer˝ u sz¨ovegoszt´alyoz´asn´al leggyakrabban haszn´alt Reuters-21578 9 gy˝ ujtem´eny, illetve annak k¨ ul¨onb¨oz˝o verzi´oi a legalkalmasabbak az o¨sszevet´es alapj´anak [154]. Ez a gy˝ ujtem´eny SGML form´atum´ u h´ıranyagokat tartalmaz, amelyek 135 gazdas´agi jelleg˝ u kateg´ori´aba sorol be. A gy˝ ujtem´enynek t¨obbf´ele tanul´o- ´es tesztadatokra t¨ort´en˝o feloszt´asa l´etezik, a legt¨obben az Apt´e a´ltal javasolt feloszt´ast [12] (9603 tanul´o, 3299 teszt dokumentum), illetve ennek bizonyos m´odos´ıt´asait, sz˝ ur´eseit haszn´alj´ak. Egyes dokumentumok t¨obb, ak´ar 14 kateg´ori´aba is tartoznak, m´asok ak´ar egybe sem. A tanul´o dokumentumok eloszl´asa is egyenetlen, a legnagyobb elemsz´am´ u kateg´ori´anak 2709 tanul´o dokumentuma van, de a kateg´ori´ak fel´ehez kevesebb mint 10 dokumentum tartozik. A leg´atfog´obb o¨sszehasonl´ıt´as a [154] cikkben tal´alhat´o, ami alapj´an a k¨ovetkez˝o meg´allap´ıt´asokat tehetj¨ uk : – A legjobb hat´ekonys´ag´ u oszt´alyoz´ok a boosting technik´at alkalmaz´o bizotts´agok, az SVM, valamint a k-NN m´odszert alkalmaz´o algoritmusok. – A neur´alis h´al´ozat alap´ u m´odszerek szint´en j´o teljes´ıtm´enyt ny´ ujtanak, b´ar az el˝oz˝o csoportba sorolt elj´ar´asokn´al valamivel rosszabb eredm´enyt adnak. Speci´alis a´tmeneti f¨ uggv´eny haszn´alat´aval azonban ez a m´odszer is az el˝oz˝o csoporthoz hasonl´o vagy ak´ar jobb eredm´enyeket tud el´erni [170]. – A harmadik csoportba a Rocchio-elj´ar´as ´es a na´ıv Bayes-alap´ u m´odszerek tartoznak, ezeknek a leggyeng´ebb az oszt´alyoz´o k´epess´eg¨ uk. Itt fontos megeml´ıteni, hogy az el˝obbi a majdnem pozit´ıv tanul´oadatok alkalmaz´as´aval a ??tm :eq :genro) k´epletben l´enyegesen jav´ıthat´o. Ide sorolhat´ok m´eg a d¨ont´esi fa alap´ u m´odszerek is, amelyek alapesetben szint´en a legkev´esb´e hat´ekony elj´ar´asok k¨oz´e tartoznak, de m´odos´ıt´asokkal ez l´enyegesen jav´ıthat´o [47].
9.2.2. Hierarchikus oszt´ alyoz´ as Egyszer˝ u sz¨ovegoszt´alyoz´as eset´en a dokumentumok sz´am´anak n¨oveked´ese, ´es a lefedett t´emak¨or¨ok sokf´eles´ege a´tl´athatatlan m´eret˝ u kateg´oriarendszert eredm´enyezhet. Ezt a probl´em´at a kateg´ori´ak hierarchiz´al´as´aval, azaz taxon´ omi´ a ba rendez´es´evel k¨onnyen a´t lehet hidalni. Ennek bevezet´ese az oszt´alystrukt´ ura a´tl´athat´os´aga mellett algoritmikusan hat´ekonyabb elj´ar´asok alkalmaz´as´at is lehet˝ov´e teszi. A teljes taxon´omi´an val´o oszt´alyoz´asi probl´em´at az algoritmusok kisebb oszt´alyoz´asi felada´ tokra bontj´ak, u ´ gy, hogy a taxon´omia minden bels˝o csom´opontj´ahoz rendelnek egyet. Altal´ aban a moh´ o algoritmust vagy annak valamilyen gyeng´ıtett v´altozat´at haszn´alj´ak. Ez az algoritmus egy adott csom´opontban megvizsg´alja, hogy az aktu´alis dokumentum annak melyik gyerekkateg´ori´aj´aba tartozik legink´abb, majd e kiv´alasztott kateg´ori´ab´ol kiindulva rekurz´ıvan folytat´odik ´es termin´al, ha lev´elhez ´er. A na´ıv Bayes-m´odszert alkalmazza hierarchikus oszt´alyoz´asra a [116] munka, ahol a kev´es tanul´oadattal rendelkez˝o lev´elkateg´ori´ak param´etereit (sz´oel˝ofordul´asok ar´anya) az u ´ n. shrinkage (apad´as) statisztikai sim´ıt´o elj´ar´as seg´ıts´eg´evel hat´arozza meg a sz¨ ul˝o kateg´ori´ak megfelel˝o 9
http://www.daviddlewis.com/resources/testcollections/reuters21578/
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
192
adatait felhaszn´alva. A m´odszer seg´ıts´eg´evel a moh´o algoritmus egyik jellegzetes hib´aja — ti. hogy a taxon´omia fels˝o szintj´en elk¨ovetett oszt´alyoz´asi hib´at m´ar nem lehet korrig´alni — nagy r´eszben kik¨ usz¨ob¨olhet˝o. A neur´alis h´al´ozatok architekt´ ur´aj´anak ´es a taxon´omi´aknak struktur´alis hasonl´os´aga k´ezenfekv˝ov´e teszi a neur´alis h´al´ozatok alkalmaz´as´at hierarchikus oszt´alyoz´as eset´en. A HITEC10 [171] oszt´alyoz´o egy ismeretlen d dokumentum kategoriz´al´as´an´al a taxon´omia gy¨oker´eb˝ol indulva szintenk´ent hat´arozza meg a legval´osz´ın˝ ubb kateg´ori´at, azaz minden szintet a neur´alis h´al´o egy r´etege reprezent´al. A v´egeredm´enyt a lev´elkateg´ori´ak szintj´en kapjuk. Az elj´ar´as k´et param´eter alkalmaz´as´aval b˝ov´ıti az egy szinten kiv´alasztott kateg´ori´ak k¨or´et, hogy a moh´o jelleg˝ u k¨ovetkeztet´es el˝oz˝o bekezd´esben jelzett hib´aj´at kik¨ usz¨ob¨olje. Az egyikkel a kiv´alasztott kateg´ori´ak sz´ama adhat´o meg, a m´asikkal pedig az, hogy a kiv´alasztott kateg´ori´akn´al legjobbt´ol val´o mekkora elt´er´es engedhet˝o meg. Hat´ ekonys´ agm´ er´ es Taxon´omi´aba val´o oszt´alyoz´askor t¨obb lehet˝os´eg van a hat´ekonys´ag m´er´es´ere a taxon´omia kialak´ıt´as´at´ol f¨ ugg˝oen. Amennyiben a dokumentumok csak lev´elkateg´ori´akba vannak besorolva, akkor az egyszer˝ u oszt´alyoz´asn´al ismertetett m´ert´ekeket lehet alkalmazni a lev´elkateg´ori´ak o¨sszess´eg´ere (ld. 9.2.1. szakasz). Ez azonban n´emileg f´elrevezet˝o eredm´enyt is adhat, hiszen a´ltal´aban ,,kev´esb´e rossz” az az oszt´alyoz´asi k¨ovetkeztet´es, amely egy lev´elkateg´oria helyett annak testv´er´et tal´alja meg (teh´at a sz¨ uleik k¨oz¨osek), mint az amelyik a kateg´oriarendszer teljesen m´as a´g´ahoz rendeli a dokumentumot. Ha egy dokumentumot nemcsak a lev´elkateg´ori´ahoz tartoz´onak tekint¨ unk, hanem annak o¨sszes sz¨ ul˝oj´ehez is hozz´arendelj¨ uk 11 , akkor pontosabb k´epet kaphatunk az oszt´alyoz´as ´ert´ekel´esekor, felt´eve ha a teljes — teh´at nem csak lev´elszint˝ u kateg´ori´akra — taxon´omi´ara sz´amoljuk a pontoss´ag, felid´ez´es, F-m´ert´ek ´ert´ekeit. K¨ ul¨on¨osen indokolt ez akkor, ha vannak olyan dokumentumok, amelyek a taxon´omia k¨ozbens˝o csom´opontjaihoz vannak rendelve. Valamelyest leegyszer˝ us´ıtve az algoritmusok a´ltal´aban a hierarchikus oszt´alyoz´ast a taxon´omia csom´opontjaira dekompon´alt egyszer˝ u oszt´alyoz´asi feladatok sorozatak´ent oldj´ak meg. Ez´ert a taxon´omi´aba egyre lejjebb jutva, az oszt´alyoz´asi hib´ak o¨sszead´odnak, ´es egyre kev´esb´e lesz pontos az eredm´eny. Ez a tendencia j´ol megfigyelhet˝o, ha a szok´asos m´ert´ekeket (pontoss´ag, felid´ez´es, F-m´ert´ek) szintenk´ent sz´am´ıtjuk ki. Hierarchikus oszt´alyoz´as eset´en gyakran tal´alkozunk a t¨obbszint˝ u oszt´alyoz´as probl´em´aj´aval, amikor teh´at egy dokumentumnak vannak els˝orend˝ u, m´asodrend˝ u stb. kateg´ori´ai. Itt a 12 k´etszint˝ u oszt´alyoz´as eset´evel foglalkozunk . A szakirodalom az egyszer˝ u oszt´alyoz´ast´ol elt´er˝o m´er˝osz´amokat javasol a hat´ekonys´ag m´er´es´ere erre az esetre, amelyeket c´elzottan a k´es˝obbiekben ismertet´esre ker¨ ul˝o szabadalmi teszt-dokumentumgy˝ ujtem´enyhez alak´ıtottak ki (ld. 9.3. a´bra). I. Top : Az oszt´alyoz´o a´ltal legnagyobb konfidencia´ert´ekkel meghat´arozott kateg´ori´at hasonl´ıtja a dokumentum els˝odleges kateg´ori´aj´ahoz. II. Top 3 : Az oszt´alyoz´o a´ltal javasolt h´arom legnagyobb konfidencia´ert´ekkel b´ır´o kateg´ori´at 10
http://categorizer.tmit.bme.hu A kateg´ ori´ ak sorozat´ at ekkor kateg´ oria¨ osv´enynek nevezz¨ uk. 12 Term´eszetesen a taxon´ omia szintjeinek sz´ am´ ara nem tesz¨ unk megk¨ ot´est. 11
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
193
hasonl´ıtja a dokumentum els˝odleges kateg´ori´aj´ahoz. Ha a h´arom k¨oz¨ ul valamelyik tal´al, akkor az oszt´alyoz´as sikeresnek sz´am´ıt. III. Any : Az oszt´alyoz´o a´ltal legnagyobb konfidencia´ert´ekkel meghat´arozott kateg´ori´at hasonl´ıtja a dokumentumhoz tartoz´o o¨sszes (els˝odleges, m´asodlagos) kateg´ori´akkal. Ha valamelyikkel megegyezik, akkor az oszt´alyoz´as sikeresnek sz´am´ıt.
9.3. a´bra. Magyar´azat a t¨obbszint˝ u oszt´alyoz´asn´al alkalmazott m´ert´ekekhez (mc – f˝o kateg´oria ; ic – egy´eb kateg´oria ; A – oszt´alyoz´o eredm´enye ; B – eredeti ´ert´ek) [53]
Ki´ ert´ ekel´ es ´ es p´ eld´ ak Mivel a hierarchikus oszt´alyoz´assal csak a 90-es ´evek v´eg´et˝ol kezdtek el foglalkozni, ez´ert sok´aig nem volt olyan dokumentumgy˝ ujtem´eny, amelyen a k¨ ul¨onb¨oz˝o m´odszereket o¨ssze lehetett volna hasonl´ıtani. A kutat´ok ez´ert a k¨ ul¨onb¨oz˝o korpuszokon tesztelt´ek algoritmusaikat, pl. Reuters-gy˝ ujtem´eny kateg´ori´ait13 rendezt´ek k¨ ul¨onb¨oz˝o taxon´omi´akba [33, 41, 99, 181] ´es ezen v´egezt´ek m´er´eseiket. Ezek az eredm´enyek azonban csak hozz´avet˝olegesen hasonl´ıthat´oak o¨ssze, hiszen a 9.2.2. pontban ismertetett ir´anyelvek nem teljes¨ ultek, s˝ot m´eg a kateg´ori´ak halmaza (taxon´omia) is t¨obbnyire elt´ert. A szabadalmi hivatalokban t¨obb feladathoz is nagy seg´ıts´eget jelenthet a hierarchikus oszt´alyoz´ok alkalmaz´asa. A szabadalmak feldolgoz´asa sor´an a beadv´anyokat emberi munk´aval elemzik ´es tov´abb´ıtj´ak a megfelel˝o szakcsoporthoz, akik a szabadalom szakmai elb´ır´al´as´at ´es besorol´as´at elv´egzik. A szakcsoportok meghat´aroz´asa automatikuss´a tehet˝o, vagy fel¨ ugyelt f´elautomatikus m´odon is v´egezhet˝o, mivel a oszt´alyoz´o elj´ar´asok pontoss´aga itt elegend˝o. Az oszt´alyoz´o rendszer tov´abbi seg´ıts´eget adhat a szak´ert˝oknek is, amennyiben javaslatokat ad a beadv´anyok kateg´ori´aj´anak a meghat´aroz´as´ahoz. Term´eszetesen m´as int´ezm´eny is hat´ekonyan alkalmazhatja ezeket a m´odszereket, hiszen a bej¨ov˝o dokumentumok rendszerez´ese a´ltal´anos feladat ak´ar a´llami, o¨nkorm´anyzati, vagy ipari int´ezm´enyekben is. Mindazon´altal a szabadalmi hivatalok eset´eben rendelkez´esre a´llnak a sz¨ uks´eges el˝ofelt´etelek : a j´ol defini´alt, r¨ogz´ıtett taxon´omia ´es a nagy sz´am´ u tanul´oadat. Ennek az ´erdekelts´egnek is k¨osz¨onhet˝o, hogy az els˝o, kimondottan hierarchikus oszt´alyoz´as algoritmusok valid´al´as´ara alkalmasa teszt-dokumentumgy˝ ujtem´enyt a WIPO (World Intellectual Property Organization – Nemzetk¨ozi Szellemi Tulajdonok Szervezet) bocs´atotta k¨ozz´e 2002 v´eg´en [53], amely angol nyelv˝ u szabadalmi sz¨ovegeket tartalmazott, majd nem sokkal k´es˝obb n´emet nyelv˝ u gy˝ ujtem´enyt is k¨ozz´etettek [52]. Az angol gy˝ ujtem´eny mintegy 75000 XML form´at´ u dokumentumb´ol a´ll, amely o¨sszesen 3 GB adat, a n´emet gy˝ ujtem´eny o¨sszesen 110 ezer XML dokumentumot tartalmaz. A gy˝ ujtem´enyek fel vannak osztva tanul´o- ´es tesztadatokra. A dokumentumok az IPC (Internatial Patent Classification – Nemzetk¨ozi Szabadalmi Oszt´alyoz´as) kateg´oriarendszer´enek14 fels˝o n´egy szintj´ebe (oszt´aly, szekci´o, alszekci´o, f˝ocsoport) vannak besorolva, amely kb. 5000 kateg´ori´at jelent o¨sszesen. Minden dokumentumnak pontosan egy els˝orend˝ u (f˝o) kateg´ori´aja ´es tetsz˝oleges sz´am´ u, a´tlagosan 4–5 m´asodrend˝ u kateg´ori´aja van. 13 14
Gyakran csak egy kisebb r´eszhalmazt. http://www.wipo.org/classifications/fulltext/new_ipc/index.htm
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
194
Ezen a gy˝ ujtem´enyen v´egzett a´tfog´o o¨sszehasonl´ıt´ast a 9.3. a´br´an l´athat´o m´ert´ekekkel egy nemzetk¨ozi kutat´ocsoport [54]. Munk´ajukban a na´ıv Bayes-elj´ar´as, a legk¨ozelebbi szomsz´edok m´odszer, az SVM, ´es a Winnow egy-egy hierarchikus oszt´alyoz´asra specializ´alt verzi´oj´at hasonl´ıtott´ak o¨ssze k¨ ul¨onb¨oz˝o tanul´asi halmazok mellett. Az m´odszerek hat´ekonys´ag´at szekci´o ´es alszekci´o szintj´en vizsg´alt´ak, az eredm´enyeket a 9.2. tartalmazza. Ugyanezen a gy˝ ujtem´enyen a neur´alis h´al´ozat alap´ u HITEC-et is tesztelt´ek, ´es l´enyegesen jobb eredm´enyeket kaptak : a taxon´omi´aban egy szinttel lejjebb volt k´epes a HITEC a t¨obbi m´odszer a´ltal egy szinttel feljebb el´ert eredm´enyre [172]. Ez alapj´an meg´allap´ıthat´o, hogy a taxon´omia topol´ogi´aj´at kihaszn´al´o neur´alis h´al´ozati architekt´ ur´an m˝ uk¨od˝o algoritmus kedvez˝obb eredm´enyeket szolg´altat. 9.2. t´abl´azat. A WIPO-alpha angol nyelv˝ u szabadalmi dokumentumgy˝ ujtem´enyen el´ert eredm´enyek o¨sszehasonl´ıt´asa a legalacsonyabb konfidenciaszinten (A m´odszerek nev´enek r¨ovid´ıt´ese : NB – Na¨ıve Bayes, SVM, k-NN – legk¨ozelebbi szomsz´edok m´odszere) M´odszer/ forr´as HITEC [54]
M´ert´ek
HITEC [54]
Top3 Top3
HITEC [54]
Any Any
Top Top
IPC szint szekci´o alszekci´o 66.41 54.63 55.00 41.00 NB, SVM SVM 89.41 79.48 79.00 62.00 NB k-NN 76.46 66.36 63.00 48.00 NB SVM
f˝ocsoport 38.38 – 59.64 – 50.90 –
M´asik nagym´eret˝ u dokumentumgy˝ ujtem´eny a Reuters Corpus Volume 1 (RCV1) 15 , amely mintegy 800 ezer h´ıranyagot tartalmaz, ´es h´arom k¨ ul¨onb¨oz˝o taxon´omi´aba vannak az XML dokumentumok besorolva (t´ema szerint, ipari k´od szerint, ´es ter¨ uleti k´od szerint). A kateg´ori´ak sz´ama azonban itt sokkal kisebb mint a szabadalmi korpuszok eset´eben, mind¨ossze 103 t´ema, 364 ipari ´es 366 ter¨ uleti k´od´ u kateg´ori´at tartalmaz. B´ar gy˝ ujtem´eny egyes r´eszeit m´ar t¨obben feldolgozt´ak, teljes k¨or˝ u vizsg´alat k´esz´ıt´ese m´eg v´arat mag´ara.
9.3. Dokumentumok csoportos´ıt´ asa Ahogy azt az adatb´any´aszati r´esz vonatkoz´o fejezete is kiemeli (ld. a ??. szakaszt a ??. oldalon), a csoportos´ıt´ as, avagy klaszterez´es sokban hasonl´ıt az oszt´alyoz´ashoz, ugyanakkor k´et alapvet˝o elt´er´est mutat, ekkor ugyanis nem ismert I. a dokumentumok c´ımk´eje, tov´abb´a a feladat elv´egz´ese ut´an sem jellemezhet˝ok a´ltal´aban a csoportok automatikusan c´ımk´ekkel ; II. hogy a dokumentumhalmaz h´any csoportot alkot. 15
http://about.reuters.com/researchandstandards/corpus/
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
195
¨ Osszefoglal´ oan : t¨obbnyire nincsen olyan referenciaadat amihez hasonl´ıtani lehetne a csoportos´ıt´as eredm´eny´et, vagyis tanul´asi szempontb´ol a klaszterez´es fel¨ ugyelet n´elk¨ uli tanul´ o m´ odszer. A csoportos´ıt´o algoritmusokat ez´ert akkor alkalmazzuk, amikor nem a´ll rendelkez´esre r¨ogz´ıtett kateg´oriarendszer (taxon´omia) a hozz´atartoz´o tanul´oadatokkal.
9.3.1. Sz¨ ovegklaszterez´ es jellemz˝ o feladatai ´ es probl´ em´ ai A csoportos´ıt´o elj´ar´asok teh´at hasonl´o t´ıpus´ u feladatok megold´as´ara alkalmasak mint az oszt´alyoz´ok. B´ar a kezdeti motiv´aci´ot az inform´aci´o-visszakeres˝o rendszerek hat´ekonys´ag´anak n¨ovel´ese jelentette [177], az ut´obbi ´evekben ink´abb az internetes ´es intranetes keres´esi feladatok t´amogat´asa v´alt a jellemz˝o c´ell´a. Sz¨ovegklaszterez˝o elj´ar´ast alkalmaztak dokumentumgy˝ ujtem´enyek b¨ong´esz´es´enek t´amogat´as´ara [? ], illetve internetes keres´esek eredm´enyeinek csoportokba szervez´es´ere [? ]. Szint´en gyakori probl´ema dokumentumok hierarchikus klaszterekbe rendez´ese [99], az internetes dokumentumokhoz automatikus taxon´omia gener´al´asa 16 , tov´abb´a m´ar megl´ev˝o taxon´omia oszt´alyok dokumentumainak tov´abbi csoportos´ıt´asa, amelyet azt´an fel lehet haszn´alni a taxon´omia finom´ıt´as´ara. Ha a feladat nem numerikus, hanem sz¨oveges adatok csoportos´ıt´asa, akkor ebb˝ol ad´od´oan a k¨ovetkez˝o jellegzetess´egeket kell kezeli [? ] : – Az adatok dimenzi´osz´ama legal´abb 10 000-es nagys´agrend˝ u. Mivel a dokumentumokat reprezent´al´o vektorok viszont rendk´ıv¨ ul ritk´ak, a m´odszereknek ezt a dichot´omi´at tudnia kell kell˝oen kezelni. – A dokumentumgy˝ ujtem´enyek nagy m´erete (k¨ ul¨on¨osen a vil´agh´al´o eset´eben) miatt a m´odszereknek hat´ekonyan kell m˝ uk¨odnie, ´es sk´al´azhat´onak kell lennie. – A klaszterek neveinek ´erthet˝onek kell lennie, mivel ezek t´aj´ekoztatj´ak a felhaszn´al´ot (pl. b¨ong´esz´es sor´an) a csoportba tartoz´o dokumentumok tartalm´ar´ol. Sz¨ovegklaszterez´es a´ltal´anos feladata ezek alapj´an nagy m´eret˝ u dokumentumhalmaz elemeit csoportokba rendezni u ´ gy, hogy azonos csoportba ker¨ uljenek a hasonl´o t´em´aval foglalkoz´o dokumentumok.
9.3.2. Reprezent´ aci´ o A dokumentumok reprezent´al´as´ara a szok´asos vektort´er-modellt alkalmazzuk (9.1. szakasz). A dokumentumokat a´ltal´aban szavak szintj´en dolgozzuk fel, a sz´ot´arba pedig a nemtrivi´alis szavak kanonikus alakjai ker¨ ulnek. A sz¨ovegklaszterez˝o m´odszerek a dokumentumok tartalmi hasonl´os´ag´at a benn¨ uk szerepl˝o szavak egy¨ uttes el˝ofordul´asai alapj´an hat´arozz´ak meg. A vektort´er-modellben ez a feladat a dokumentumvektorok t´avols´ag´anak hasonl´os´agi m´ert´ekek seg´ıts´eg´evel val´o meghat´aroz´as´at jelenti. Mivel dokumentumvektorokban t´arolt ´ert´ekek folytonosak, ez´ert a ??. pontban ismertetett m´ert´ekek alkalmasak a hasonl´os´ag, ill. k¨ ul¨onb¨oz˝os´eg vizsg´alat´ara — sz¨ovegklaszterez´es eset´en az euklideszi- (ld. (??)) m´as n´even koszinuszt´avols´agot haszn´aljuk leggyakrabban. 16
A www.yahoo.com-hoz hasonl´ o k¨ onyvt´ ar-strukt´ ura automatikus fel´ep´ıt´ese.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
196
9.3.3. Hat´ ekonys´ ag m´ er´ ese A csoportos´ıt´as min˝os´eg´enek vizsg´alat´at k´et t´ıpus´ u m´ert´ekkel lehet vizsg´alni. Az els˝o t´ıpusba az u ´ n. bels˝ o m´ert´ekek tartoznak, amelyek nem haszn´alnak fel k¨ uls˝o tud´ast a csoportos´ıt´as j´os´ag´anak meghat´aroz´as´ara. A m´asodik t´ıpusba a k¨ uls˝ o m´ert´ekek tartoznak, amelyeket akkor lehet alkalmazni, ha rendelkez´esre a´llnak a dokumentumok oszt´alyc´ımk´ei, ekkor ezeket hasonl´ıtjuk o¨ssze a c´ımk´eket a klaszterez˝o a´ltal meghat´arozott csoportokkal. A bels˝o m´ert´ekek p´eld´aul a csoportok bel¨ uli k¨ ozels´eg ´es a csoportok k¨ ozti t´ avols´ ag m´ert´ekek k¨ ul¨onb¨oz˝o t´ıpusai, amelyeket a ??. pont ismertet. K¨ uls˝o m´ert´ekek k¨oz¨ ul az entr´ opi´ a t ´es az F-m´ert´ek csoportos´ıt´asn´al alkalmazott verzi´oj´at t´argyaljuk, amelyeket a 9.3.4. szakaszban a m´odszerek ki´ert´ekel´es´en´el haszn´alunk. Az entr´opia [? ] m´ert´ekn´el el˝osz¨or az oszt´alyok adateloszt´asi ´ert´ek´et sz´amoljuk ki, azaz minden j csoportra meghat´arozzuk annak a pij val´osz´ın˝ us´eg´et, hogy e csoport eleme az i oszt´alyba tartozik. A pij ´ert´ek seg´ıts´eg´evel a j klaszter entr´opi´aj´at a Ej = −
C X
pij log(pij )
(9.9)
i
kifejez´es adja meg, ahol ci i ∈ [1, C] jel¨oli a kateg´ori´akat. V´eg¨ ul a csoportos´ıt´as entr´opi´aj´at a ??tm :eq :entropy) ´ert´ekek csoportm´eret szerint s´ ulyozott a´tlagak´ent kapjuk meg : E=−
K X nj E j j=1
N
,
(9.10)
ahol K a csoportok sz´ama, nj a j-edik csoport elemsz´ama, N pedig a dokumentumok sz´ama. Egy m´odszer ann´al jobb min´el kisebb az entr´opi´aja. Az F-m´ert´eket csoportos´ıt´asn´al az al´abbi m´odon sz´amoljuk [? ]. Legyen adott a j csoport, ´es az i oszt´aly. Ekkor a j csoporthoz tartoz´o felid´ez´es ´es pontoss´ag a R(i, j) = nij /ni
P (i, j) = nij /nj
(9.11)
k´epletekkel sz´amolhat´o, ahol nij az j csoportban l´ev˝o i oszt´alybeli elemek sz´ama. A j csoportra vonatkoz´o F-m´ert´eket a k´et mennyis´eg (9.6) kifejez´es szerinti kombin´aci´ojak´ent kapjuk : F1 (i, j) = (2R(i, j)P (i, j)) / (R(i, j) + P (i, j)), az o¨sszes´ıtett F-m´ert´ek pedig s´ ulyozott a´tlagk´ent a´ll el˝o : C X nj max (F1 (i, j)) . (9.12) F1 = N j∈[1,K] i
9.3.4. Sz¨ ovegklaszterez˝ o elj´ ar´ asok Ebben a szakaszban a sz¨oveges adatok csoportos´ıt´asa alkalmazott hierarchikus ´es particion´al´o elj´ar´asokat tekintj¨ uk a´t.17 A m´odszerek o¨sszehasonl´ıt´as´an´al k¨or¨ ultekint˝oen kell elj´arni, ´es csak akkor lehet valamely elj´ar´ast egy m´asikn´al jobbnak tekinteni, ha k¨ ul¨onb¨oz˝o m´ert´ekek ´es korpuszok eset´en a legt¨obb esetben jobb eredm´enyt ad. 17
Term´eszetesen ezen k´ıv¨ ul m´eg sok m´ as elj´ ar´ as is ismert, t¨ obbek k¨ ozt val´ osz´ın˝ us´egi ´es fuzzy alap´ u m´ odszerek, de ezek ismertet´ese meghaladj´ ak e k¨ onyv kereteit.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
197
Hierarchikus klaszterez˝ ok A [? ] tanulm´anyban h´arom egyes´ıt˝ o hierarchikus klaszterez˝ o t hasonl´ıtanak o¨ssze nyolc k¨ ul¨onb¨oz˝o korpuszokon (ld. 9.3.5. pontot is) ; a m´odszerek csak az egyes´ıtend˝o p´arok kiv´alaszt´as´aban k¨ ul¨onb¨oznek. A vizsg´alt elj´ar´asok a centroid kapcsol´ od´ as, centroid–egyszer˝ u P ~
~
cos(d~1 ,d~2 )
kapcsol´ od´ as,18 ´es az UPMGA m´odszer [? ]. Ez ut´obbi a s(x, y) = d1 ∈x,dn2 ∈y hasonl´os´agi x ,ny m´ert´eket alkalmazza. A m´odszerek k¨oz¨ ul az UPGMA adja a legjobb eredm´enyt az F-m´ert´ek szerint az o¨sszes vizsg´alt gy˝ ujtem´eny eset´en, b´ar a m´asik k´et m´odszer sem ad l´enyegesen rosszabb ´ert´ekeket. Entr´opia m´ert´ek szerint a UPGMA ´es a centriod-egyszer˝ u (CE) kapcsol´od´as k¨ozel azonos eredm´enyeket ad, m´ıg a centroid kapcsol´od´as a m´asik kett˝on´el l´enyegesen rosszabb. Megfigyelhet˝o, hogy a kezdeti f´azisban m´eg hasonl´o eredm´enyeket ad mindh´arom m´odszer, de k´es˝obb a CE kezd t¨obb hib´at v´eteni [? ]. Ebb˝ol meg´allap´ıthat´o, hogy a vizsg´alt elj´ar´asok k¨oz¨ ul az UPGMA b´ır a legkedvez˝obb tulajdons´agokkal. K-´ atlag klaszterez˝ ok A particion´al´o algoritmusok egyik fajt´aja a k-´atlag t´ıpus´ u klaszterez˝o (ld. ??. pont). El˝osz¨or ennek egy sz¨ovegcsoportos´ıt´asra hat´ekonyan alkalmazhat´o m´odos´ıt´as´at, a kett´eszel˝ o k-´ atlag (bisecting k-means) elj´ar´ast ismertetj¨ uk, majd o¨sszehasonl´ıtjuk az eredeti k-´atlag elj´ar´assal. Az algoritmus a teljes dokumentumhalmazb´ol indul ki, ´es a k¨ovetkez˝o l´ep´esekb˝ol a´ll : I. V´alasszunk ki egy felosztand´o klasztert. II. Osszuk pontosan k´et r´eszre a k-´atlag elj´ar´as seg´ıts´eg´evel (kett´eszel˝o l´ep´es). III. V´egezz¨ uk el a 2. l´ep´est i-szer19 , ´es v´alasszuk ki azt a v´ag´ast, amelyik a legnagyobb csoporton bel¨ uli k¨ozels´eget adja. IV. Ism´etelj¨ uk meg a fenti 3 l´ep´est, ameddig a sz¨ uks´eges csoportsz´amot nem ´erj¨ uk el. Az els˝o l´ep´esben t¨obb m´odon v´alaszthatjuk ki a felosztand´o klasztert ; ez lehet pl. legnagyobb m´eret˝ u csoport, vagy a legkisebb csoporton bel¨ uli k¨ozels´eggel b´ır´o csoport. A kett´eszel˝o k-´atlag m´odszer el˝onye, hogy mind hierarchikus mind elk¨ ul¨on¨ ul˝o csoportokat lehet vele gener´alni, teh´at szigor´ uan v´eve az elj´ar´as feloszt´ o hierarchikus klaszterez˝ o nek te20 kinthet˝o. A m´odszern´el lehet˝os´eg van a csoportok finom´ıt´as´ara is , ha az eredm´eny¨ ul kapott klaszterekb˝ol kiindulva a k-´atlag elj´ar´ast lefuttatjuk. Az elj´ar´as id˝oig´enye — finom´ıt´assal is — line´aris a dokumentumok sz´am´anak f¨ uggv´eny´eben. A m´odszert a [? ] k¨ozlem´enyben o¨sszehasonl´ıtott´ak az eredeti k-´atlag elj´ar´assal ´es a UPGMA egyes´ıt˝o hierarchikus klaszterez˝ovel F-m´ert´ek ´es entr´opia t¨ ukr´eben, amely alapj´an az al´abbiak a´llap´ıthat´ok meg : – A kett´eszel˝o k-´atlag m´odszer mind a k-´atlag, mind az UPGMA m´odszern´el jobb a vizsg´alt 8 korpusz legt¨obbj´en (mindk´et m´ert´ek szerint). 18
El˝ osz¨ or minden csoportra kisz´ amolj´ ak a csoporton bel¨ uli hasonl´ os´ agot, majd azt a k´et csoportot vonj´ ak o ¨ssze, ahol a s(z) − (s(x) + s(y)) ´ert´ek a legkisebb. Itt x ´es y o ¨sszevon´ as´ ab´ ol keletkezik z csoport. 19 K¨ ul¨ onb¨ oz˝ o centroidokb´ ol kiindulva, mindig m´ as ´es m´ as lesz a k´et csoport. 20 Nem csak ebben az esetben, hanem az o ¨sszes hierarchikus klaszterez˝ on´el, pl. UPGMA.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
198
– Az UPGMA eredm´enyeinek k-´atlag m´odszerrel t¨ort´en˝o finom´ıt´asa l´enyegesen jav´ıt mindk´et m´ert´ek szerint az eredm´enyeken. – Az eredeti k-´atlag m´odszer jobb eredm´enyeket ad, mint a alap ´es a finom´ıtott UPGMA elj´ar´as. – Noha a k´et k-´atlag alap´ u elj´ar´as eredm´enyei t¨obb fut´as a´tlagak´ent a´lltak el˝o, ezeknek a t¨obbsz¨or¨os fut´asi ideje sem ´eri el az egyes´ıt˝o hierarchikus UPGMA fut´asi idej´et, mivel egy fut´ason a k¨ ul¨onbs´eg mintegy 80–100-szoros. Az egyes´ıt˝o hierarchikus algoritmusok sz¨ovegklaszterez´esen val´o gyenge teljes´ıtm´eny´ere a magyar´azat a dokumentumok jellegzetess´eg´eben rejlik. Az oszt´alyozott sz¨ovegek alapj´an minden oszt´alyhoz rendelhet˝o egy sz´ot´ar, amely a tipikus szavakat tartalmazza. Ugyanakkor valamely oszt´alyba es˝o dokumentum nemcsak oszt´aly´anak sz´ot´ar´ab´ol tartalmaz szavakat, r´aad´asul ezek az oszt´alysz´ot´arak a t¨obb´ertelm˝ u szavak, vagy tematikusan k¨ozeli kateg´ori´ak eset´en a´t is fedhetnek. Egy szavak dokumentumonk´enti eloszl´as´anak jellege miatt, gyakran el˝ofordul, hogy egy dokumentum legk¨ozelebbi szomsz´edja m´asik kateg´ori´aba tartozik. Az ilyen legk¨ozelebbi szomsz´edok ar´anya a vizsg´alt korpuszok eset´eben a 5 ´es 30% k¨oz¨ott volt ! Min´el t´avolabbi szomsz´edokat tekint¨ unk, ez az ar´any term´eszetesen ann´al nagyobb lesz. Az egyes´ıt˝o hierarchikus algoritmusok m˝ uk¨od´es´enek jeleg´eb˝ol ad´od´oan, a m´odszer sor´an elk¨ovetett hiba nem korrig´alhat´o k´es˝obb. A k-´atlag m´odszerrel t¨ort´en˝o finom´ıt´as ez´ert jav´ıtja l´enyegesen az eredm´enyeket, mert ott lehet˝os´eg van dokumentumok csoportok k¨ozti mozgat´as´ara is. A k-´atlag m´odszerek ezen tulajdons´agukn´al fogva nem ´erz´ekenyek a hamis k¨ozeli szomsz´edok jelens´eg´ere, ´es ez´ert jobb eredm´enyt szolg´altatnak dokumentumokra. A kett´eszel˝o k-´atlag m´odszer hat´ekony m˝ uk¨od´es´enek az az oka, hogy ha az 1. l´ep´esben mindig a legnagyobb elemsz´am´ u csoportot v´alasztjuk feloszt´asra, akkor a keletkez˝o csoportok m´erete hasonl´o lesz. Mivel jellemz˝oen a kis csoportok jobb min˝os´eg˝ uek, viszont a ki´ert´ekel˝o f¨ uggv´enyekben a nagyobb m´eret˝ u csoportokat min˝os´ege nagyobb s´ ullyal szerepel, ez´ert a ka´tlag m´odszer — amely nagyon k¨ ul¨onb¨oz˝o m´eret˝ u csoportokat gy´art — a´ltal´aban rosszabb eredm´enyt ad.
9.3.5. Dokumentumgy˝ ujtem´ enyek A 9.3. t´abl´azatban klaszterez´esi algoritmusok elemz´es´ere haszn´alt dokumentumgy˝ ujtem´enyek tal´alhat´ok. A re0 ´es re1 korpuszok a m´ar ismertetett Reuters-adatok r´eszhalmazak´ent a´llt el˝o (ld. 191. oldal). A tr31 ´es tr45 a TREC gy˝ ujtem´enyben 21 tal´alhat´oak , a kateg´ori´ak c´ımk´ei pedig az ugyanott megadott fontoss´agi ´ert´ekek alapj´an adhat´ok meg22 . Szint´en TREC gy˝ ujtem´eny az fbis, illetve az la1 ´es la2, amelyek rendre a Foreign Broadcast Information Service ´es a Los Angeles Times kollekci´ok adatait tartalmazza. Ez ut´obbi esetben az oszt´alyc´ımk´eket a cikkek rovatai alapj´an hat´arozt´ak meg. V´eg¨ ul a wap gy˝ ujtem´eny a WebACE projekt [? ] keret´eben a Yahoo ! taxon´omi´ab´ol o¨sszegy˝ ujt¨ott felc´ımk´ezett dokumentumokat tartalmaz. 21 22
TREC: Text REtrieval Conference. http://trec.nist.gov R´eszleteket ld. [? ]; forr´ as http://trec.nist.gov/data/qrels_eng/index.html
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
199
Szint´en t¨obb kutat´o haszn´alta a Classic3 tesztkorpuszt, amely 1400 rep¨ ul´es¨ ugyi rendszereket (CRANFIELD) t´argyal´o, 1033 orvosi t´em´aj´ u (MEDLINE), ´es 1460 inform´aci´ovisszakeres´essel foglalkoz´o (CISI) dokumentumot tartalmaz 23 . 9.3. t´abl´azat. Klaszterez˝o elj´ar´asok elemz´es´ere haszn´alt dokumentumgy˝ ujtem´enyek adatai (a jel¨ol´esek felold´as´at ld. a sz¨ovegben) [? ] N´ev
Forr´as
re0 re1 wap tr31 tr45 fbis la1 la2
Reuters-21578 Reuters-21578 WebAce TREC TREC TREC TREC TREC
Dokumen- Katetumok g´ori´ak sz´ama sz´ama 1504 13 1657 25 1560 20 927 7 690 10 2463 17 3204 6 3075 6
´ Min Max Atlagos oszt´aly- oszt´aly- oszt´alym´eret m´eret m´eret 11 608 115.7 10 371 66.3 5 341 78.0 2 352 132.4 14 160 69.0 38 506 144.9 273 943 534.0 248 905 512.5
Sz´ot´ar m´erete 11465 3758 8460 10128 8261 2000 31472 31472
9.4. Kivonatol´ as Internetes keres´es eset´en szinte mindenki tal´alkozott m´ar azzal a probl´em´aval, hogy a keres˝omotorok a´ltal tal´alt honlapok legal´abb egy r´esze nem felel meg a felhaszn´al´o inform´aci´oig´eny´enek. A felhaszn´al´o r´esz´er˝ol a keres˝oszolg´altat´as a´ltal adott r¨ovid c´ım ´es p´ar soros le´ır´as alapj´an annak eld¨ont´ese, hogy egy adott dokumentum relev´ans-e sz´am´ara szint´en nem egyszer˝ u feladat. Ehhez olykor a teljes dokumentumot le kell t¨olteni ´es a´t kell futni, azaz id˝oig´enyes munk´at jelent. A keres˝oszolg´altat´asok ´es/vagy a tartalomszolg´altat´ok (honlap/dokumentum k´esz´ıt˝oi) r´esz´er˝ol szint´en nem v´arhat´o el, hogy automatiz´al´as n´elk¨ ul emberi ´es anyagi er˝oforr´asokat a´ll´ıtson a c´el ´erdek´ebe. Ebben a szakaszban olyan sz¨ovegb´any´aszati m´odszereket vizsg´alunk, amelyek ezt a feladatot, teh´at a dokumentumok o¨sszegz´es´et automatikusan elv´egzik. Ezeket a m´odszereket o¨sszefoglal´oan o ¨sszegz´esk´esz´ıt˝ o elj´ ar´ asok nak nevezz¨ uk.
9.4.1. Az o ¨sszegz´ esk´ esz´ıt˝ o elj´ ar´ asok feloszt´ asa Ezeket a m´odszereket o¨sszefoglal´oan o ¨sszegz´esk´esz´ıt˝ o elj´ ar´ asok nak nevezz¨ uk, amelyeket a szakirodalom az o¨sszegz´es el˝oa´ll´ıt´asa alapj´an k´et alapvet˝oen k¨ ul¨onb¨oz˝o csoportba oszt : kivonatol´ asnak (extraction) h´ıvjuk az olyan elj´ar´ast, amelynek eredm´enye kiz´ar´olag az eredeti sz¨ovegb˝ol vett r´eszeket tartalmaz, m´ıg ezzel szemben az o ¨sszefoglal´ as-k´esz´ıt˝ o (abstraction) m´odszerek a´ltal el˝oa´ll´ıtott sz¨oveg, olyan elemeket is tartalmaz, ami nem r´esze a feldolgozott dokumentumnak. 23
ftp://ftp.cs.cornell.edu/pub/smart
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
200
Az emberi gondolkod´as ´es inform´aci´ofeldolgoz´as modellez´ese — ´ıgy az o¨sszegfoglal´ask´esz´ıt´es´e is — bonyolult feladat. Az o¨sszefoglal´as f¨ ugg a k´esz´ıt˝o szem´ely´et˝ol, szaktud´as´at´ol, k¨ ul¨onb¨ozhet m´eretben, nyelvezetben, st´ılusban ´es r´eszletezetts´egben. Az o¨sszegfoglal´as-k´esz´ıt´es folyamat´anak matematikai vagy logikai formul´akkal val´o le´ır´asa rendk´ıv¨ ul komplex feladat [? ]. Az ut´obbi ´evekben a nyelvtechnol´ogiai eszk¨oz¨ok fejl˝od´ese azonban lehet˝os´eget adott olyan rendszerek megalkot´as´ara amelyek k´epesek sz¨ovegek szemantikai feldolgoz´as´ara is. Ilyen eszk¨oz¨ok seg´ıts´eg´evel, a sz¨ovegben tal´alhat´o fr´azisok ´es lexikai l´ancok meghat´aroz´as´aval, majd azok o¨sszef˝ uz´es´evel, lehet˝os´eg van o ¨sszegfoglal´ asok automatikus gener´ al´ as´ ara. Enn´el l´enyegesebben egyszer˝ ubb a kivonatol´o elj´ar´asok m˝ uk¨od´ese, ahol az eredeti sz¨ovegben megl´ev˝o, azt legink´abb jellemz˝o sz¨ovegegys´egek (mondatok, bekezd´esek, stb.) kiv´alaszt´asa a c´el. A kivonatol´o elj´ar´asok h´atr´anya : – Az ily m´odon kiv´alasztott mondatok jellemz˝oen az a´tlagosn´al hosszabbak (ld. 9.4.3. pont). Mivel az ilyen mondatoknak egyes r´eszei gyakran nem tartalmaznak l´enyegi inform´aci´ot, az feleslegesen ker¨ ul be a kivonatba. – A dokumentumokban l´ev˝o fontos inform´aci´oegys´egek a´ltal´aban az eg´esz dokumentumban elsz´ortan vannak jelen, ´es ezt a kivonatol´o m´odszerek nem k´epesek feldolgozni. – A sz¨ovegben szerepl˝o ellentmond´o inform´aci´okat a kivonat nem dolgozza fel megfelel˝oen. Az o¨sszefoglal´o elj´ar´asok h´atr´anya : – A felhaszn´al´ok jobban kedvelik a kivonatol´assal k´esz¨ ult o¨sszegz´est, mint a gener´alt o¨sszefoglal´okat [? ]. Ennek oka, hogy a kivonat a szerz˝o eredeti kifejez´eseit, sz´ohaszn´alat´at tartalmazza, valamint esetlegesen lehet˝os´eget ny´ ujt a sorok k¨oz¨otti inform´aci´ok olvas´as´ara is. – A mondatszint´ezis ter¨ ulete jelenleg m´eg angol nyelvre is gyerekcip˝oben j´ar, ez´ert az automatikusan gener´alt sz¨ovegekben gyakran m´eg mondaton bel¨ ul is ellentmond´as, van, ´ıgy az eg´esz sz¨oveg k¨onnyen o¨sszef¨ ugg´estelenn´e v´alik. Kivonat eset´en inkoherencia csak a mondatok hat´arain´al fordul el˝o. Mivel a legt¨obb m˝ uk¨od˝o alkalmaz´as a kivonatol´as m´odszer´et alkalmazza, ez´ert a tov´abbiakban erre f´okusz´alunk. A felhaszn´al´asi c´el alapj´an az o¨sszegz´esk´esz´ıt˝o elj´ar´asokat az al´abbi szempontok szerint lehet rendszerezni [? ]. – R´eszletezetts´eg : indikat´ıv vagy informat´ıv. Az indikat´ıv o¨sszegz´es azt tartalmazza, hogy a sz¨ovegnek mi a t´em´aja, m´ıg az informat´ıv o¨sszegz´es ugyanannak egy speci´alis r´eszlet´et t´argyalja. – Tartalom : a ´ltal´ anos vagy k´erd´es-vez´erelt. Az o¨sszegz´es lehet egy dokumentum tartalm´anak a´ltal´anos le´ır´asa, vagy kiemelheti a tartalomnak a felhaszn´al´o a´ltal megadott k´erd´essel kapcsolatos r´esz´et. – Megk¨ozel´ıt´es : t´ema, ill. t´ıpus specifikus vagy f¨ uggetlen. A tapasztalatok azt mutatj´ak, hogy k¨ ul¨onb¨oz˝o t´ıpus´ u (pl. r¨ovidh´ır, tudom´anyos publik´aci´o) dokumentumokban a l´enyegi inform´aci´o m´as helyen tal´alhat´o.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
201
9.4.2. A kivonatol´ as hat´ ekonys´ ag´ anak m´ er´ ese Els˝ok´ent megvizsg´aljuk, hogy milyen m´odszereket ´es m´ert´ekeket alkalmaznak a kivonatol´as eredm´eny´enek ki´ert´ekel´es´ere, hogy ez´altal k¨onnyebben ´erthet˝o legyen, melyek az egyes m´odszerek el˝onyei ´es h´atr´anyai. Egy o¨sszegz´es meg´ıt´el´ese szem´elyenk´ent v´altoz´o lehet, f¨ uggetlen¨ ul att´ol, hogy automatikus vagy ember a´ltal k´esz´ıtett anyagr´ol van sz´o. A kivonatol´o technik´ak ki´ert´ekel´es´ere az 1960-es ´evekben Edmundson a´ltal javasolt m´ert´eket [? ] haszn´alj´ak m´eg ma is a leggyakrabban. Az automatikusan gener´alt kivonatokat szak´ert˝ok a´ltal mondatkiv´alaszt´assal elk´esz´ıtett kivonatokkal vetik o¨ssze meghat´arozva a megegyez˝o mondatok sz´am´at. Ezut´an a szok´asos IR m´ert´ekekkel — pontoss´ag, felid´ez´es — jellemzik a kivonatol´as min˝os´eg´et. Ennek a m´odszernek a h´atr´anya, hogy sz¨ uks´eges hozz´a emberi el˝ofeldolgoz´as, ugyanakkor ebben rejlik az er˝oss´ege is, hiszen ha egy m´odszer ezen m´ert´ek alapj´an valamely tanul´oadat-halmazon j´ol teljes´ıt, akkor v´arhat´oan ismeretlen sz¨ovegeken is j´ol m˝ uk¨odik, a felhaszn´al´o sz´am´ara j´ol ´erthet˝o, hasznos kivonatokat gener´al. A szakirodalom a fentieken k´ıv¨ ul m´eg az al´abbi szempontokat tekinti ir´anymutat´onak egy kivonat hasznoss´ag´anak ´es teljess´eg´enek meg´ıt´el´es´eben [? ? ] : I. Meg tudja-e v´alaszolni a felhaszn´al´o mindazokat a k´erd´eseket a kivonat elolvas´asa ut´an, amelyekre az eg´esz sz¨oveg elolvas´asa eset´en k´epes lenne ? II. Mi a t¨om¨or´ıt´esi ar´anya a kivonatnak az eredeti sz¨oveghez k´epest ? III. Van-e a kivonatolt sz¨ovegben ism´etl˝od´es, redundancia ? Ugyanakkor a kivonatok egy´eb jellemz˝oit, pl. intelligencia, koh´ezi´o, o¨sszef¨ ugg´es, olvashat´os´ag sokkal nehezebb ´ert´ekelni. A kivonatol´as min˝os´eg´ere vonatkoz´oan megk¨ ul¨onb¨oztetnek bels˝o ´es k¨ uls˝o m´ert´ekeket [? ], aszerint, hogy csak a kivonat tulajdons´agait veszi-e figyelembe az adott m´ert´ek, vagy a kivonat min˝os´eg´et valamely m´as c´el elv´egz´es´eben ny´ ujtott t´amogat´as hat´ekonys´ag´anak t¨ ukr´eben vizsg´alj´ak. A felsorolt m´ert´ekek k¨oz¨ ul a m´asodik az el˝obbi, m´ıg az els˝o az ut´obbi kateg´ori´aba tartozik. Kiz´ar´olag a t¨om¨or´ıt´esi ar´any nem megfelel˝o jellemz˝oje a kivonat min˝os´eg´enek, hiszen pl. a redundanci´at, vagy az inform´aci´o hasznoss´ag´at nem veszi figyelembe.
9.4.3. Mondatkiv´ alaszt´ asn´ al haszn´ alt jellemz˝ ok A mondatkiv´alaszt´assal m˝ uk¨od˝o kivonatol´o technik´ak u ´ gy m˝ uk¨odnek, hogy a dokumentum minden egyes mondat´ahoz hozz´arendelnek egy heurisztikus m´odon meghat´arozott ´ert´eket, ´es a legmagasabb pontsz´ammal rendelkez˝o mondatokat teszik bele a kivonatba. A mondatokhoz rendelt ´ert´eket az al´abbi t´enyez˝ok n¨ovelik : – Kulcssz´ o-el˝ ofordul´ as : Azok a mondatok, amelyekben a sz¨oveg leggyakoribb szavai szerepelnek, a´ltal´aban j´ol reprezent´alj´ak a dokumentumot. – C´ım-kulcssz´ o : A c´ımben szerepl˝o szavak a´ltal´aban utalnak a dokumentum tartalm´ara is, ez´ert az olyan sz¨ovegk¨ozi mondatok amelyekben c´ımszavak szerepelnek a´ltal´aban az a´tlagosn´al jobban jellemeznek egy dokumentumot.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
202
´ agh´ırek eset´en t¨obbnyire az els˝o mondat, technikai– – El˝ ofordul´ asi hely heurisztika : Ujs´ tudom´anyos sz¨ovegekn´el az o¨sszefoglal´as utols´o mondatai, illetve a konkl´ uzi´o tartalma j´ol jellemzi az adott dokumentumot. – Utal´ o fr´ azisok : Az olyan kulcsszavakat tartalmaz´o mondatok, mint pl. ez a cikk”, ” a tanulm´any”, jelen munk´ankban” az a´tlagosn´al t¨obb inform´aci´ot hordoznak a sz¨oveg ” ” eg´esz´er˝ol. – Nagybet˝ us szavak : R¨ovid´ıt´eseket, vagy tulajdonneveket tartalmaz´o mondatok a´ltal´aban nagyobb inform´aci´o tartalommal b´ırnak. A mondatokhoz rendelt ´ert´eket az al´abbi t´enyez˝ok cs¨okkentik : – R¨ ovid mondatok kisz˝ ur´ ese : A kivonatban jellemz˝oen nincsenek r¨ovid, n´eh´any szavas mondatok. – N´ evm´ asok : Szem´elyes, vonatkoz´o, birtokos, stb. n´evm´asokat tartalmaz´o mondatok csak akkor ker¨ ulnek be a kivonatba, ha meghat´arozhat´o, hogy mire utalnak. Ekkor az utalt sz´o ker¨ ul a kivonatba ker¨ ul˝o mondatban a n´evm´as hely´ere. – Inform´ alis ´ es pontatlan szavak : A gyakori ´es sok jelent´essel b´ır´o, vagy pontatlan szavak negat´ıv t´enyez˝ok a mondat kiv´alaszt´asn´al. – Id´ ez´ esre utal´ o szavak : Angol nyelv˝ u h´ırekn´el jellemz˝o id´ez´esre utal´o szavak szint´en negat´ıv faktorok : adding, said, according, stb. – Redundancia-cs¨ okkent´ es : Ezt a pontsz´amot olyan elj´ar´asokban alkalmazz´ak, ahol egyenk´ent hat´arozz´ak meg a kivonatba ker¨ ul˝o mondatokat. Az ´ert´eket minden u ´ j mondat kiv´alaszt´as´an´al u ´ jrasz´amolj´ak, megel˝ozend˝o azt, hogy a kiv´alasztott mondat valamelyik m´ar kor´abban a kivonatba ker¨ ult mondathoz hasonl´ıtson, pl. u ´ gy, hogy ar´anyosan cs¨okkentik a m´eg nem bev´alasztott mondatok pontsz´am´at aszerint, hogy mennyire hasonl´ıtanak az aktu´alis kivonathoz [? ? ]. Az alkalmazott jellemz˝ok jellege szerint megk¨ ul¨onb¨oztethet¨ unk nyelvi, statisztikai, ill. inform´aci´oelm´eleti, ´es v´eg¨ ul kombin´alt m´odszereket.
9.5. A legfontosabb kivonatol´ o elj´ ar´ asok 9.5.1. A klasszikus m´ odszer B´ar az automatikus o¨sszegz´es k´esz´ıt˝o elj´ar´asok csak az Internet ´es a keres˝omotorok sz´elesk¨or˝ u elterjed´es´evel ker¨ ultek a kutat´asok homlokter´ebe, az els˝o eredm´enyek e t´em´aban m´ar az 60-es ´evek elej´en megsz¨ ulettek [? ]. Edmundson korai munk´aj´aban o¨sszefoglalta az akkor ismeretes elj´ar´asokat, ´es lerakta a kivonatol´asi technik´aknak mind a mai napig ´erv´enyben l´ev˝o alapjait [? ]. M´odszere az al´abbi l´ep´esekb˝ol a´ll : I. Emberek a´ltal k´esz´ıtett kivonatok tanulm´anyoz´as´anak seg´ıts´eg´evel hat´arozzuk meg azokat az automatikusan gener´alt kivonatok eset´en elv´art jellemz˝oket.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
203
II. K´esz´ıts¨ unk ennek megfelel˝o kivonatokat emberi munk´aval. III. Tervezz¨ unk olyan matematikai ´es logikai formul´akat a mondatok pontoz´as´ara ´es rangsorol´as´ara, hogy a k´ıv´ant (manu´alisan gy´artott) eredm´eny kapjuk. IV. A pontoz´asi-kiv´alaszt´asi rendszert finom´ıt´asa mellett addig ism´etelj¨ uk a m´odszert, am´ıg a manu´alisan ´es automatikusan gener´alt kivonatok nem lesznek azonosak. Edmundson rendszere az al´abbi jellemz˝oket vette figyelembe a pontoz´asi-kiv´alaszt´asi rendszer param´eterez´ese sor´an. Az u ´ n. funkci´o szavak kisz˝ ur´ese ´es sz´ot¨oves´ıt´es (ld. m´eg 9.7. szakasz) elv´egz´ese ut´an az k¨ovetkez˝o t´enyez˝oket vizsg´alta : – Utal´o szavak ´es fr´azisok ; – Gyakori ´es egyben informat´ıv szavak (kulcsszavak). – C´ım-kulcsszavak. – El˝ofordul´asi hely heurisztika. Ezek ut´an minden i mondatra meghat´arozta az al´abbi Si kifejez´es ´ert´ek´et : S i = w 1 · C i + w 2 · Ki + w 3 · Ti + w 4 · L i
(9.13)
ahol Ci , Ki , Ti , ´es Li rendre a mondatban szerepl˝o utal´o fr´azisok, kulcsszavak, c´ımszavak sz´ama, illetve az el˝ofordul´asi heurisztika a´ltal meghat´arozott ´ert´ek. A w i (i = 1, . . . ,4) egy¨ utthat´ok az egyes t´enyez˝okh¨oz rendelt fontoss´agi vagy s´ ulyfaktor. Az ilyen m´odon meg´allap´ıtott Si ´ert´ekek alapj´an vagy a k legmagasabb ´ert´ekkel rendelkez˝o, vagy egy meghat´arozott k¨ usz¨ob´ert´ekn´el nagyobb pontsz´ammal b´ır´o mondatokb´ol alkotjuk a kivonatot. A m´odszer id˝ot´all´os´ag´at mutatja, hogy m´eg manaps´ag is vannak ilyen alapon m˝ uk¨od˝o kivonatol´ok [? ]. Egyetlen komoly hi´anyoss´aga, hogy nem veszi figyelembe a kiv´alasztott mondatok hasonl´os´ag´at, ´es nem alkalmaz redundancia-cs¨okkent˝o m´odszereket.
9.5.2. TF-IDF alap´ u m´ odszer A TD-IDF m´odszer gyakorlatilag az IR paradigma alkalmaz´asa kivonatol´asi c´elra [? ]. A m´odszer els˝osorban k´erd´es-vez´erelt kivonat el˝oa´ll´ıt´as´ara alkalmas, de megfelel˝o m´odos´ıt´assal a´ltal´anos kivonat l´etrehoz´as´ara is alkalmass´a tehet˝o. A dokumentum szavaib´ol mondat szinten k´esz´ıtett kumul´alt halmaz (´ un. zs´ak) alapj´an a 24 szok´asos TF-IDF modell seg´ıts´eg´evel a mondatokhoz frekvencia vektorokat rendel¨ unk. Ezeket azut´an a k´erd´es szavaib´ol k´epzett vektorral valamilyen hasonl´os´agi m´ert´eket (pl. koszinusz t´avols´ag) alkalmazva o¨sszehasonl´ıtjuk, ´es a legink´abb hasonl´o mondatokat kiv´alasztjuk. ´ Altal´ anos o¨sszegz´es l´etrehoz´as´ahoz a dokumentum leggyakoribb (informat´ıv) kulcsszavaib´ol k´epezz¨ uk a keres˝o vektor szavait. Mivel elvileg ezek reprezent´alj´ak legink´abb a dokumentum t´em´aj´at, a hasonl´o mondatokb´ol o¨ssze´all´ıtott kivonat a sz¨oveg a´ltal´anos o¨sszegz´es´enek tekinthet˝o. 24
Itt a dokumentum szint helyett — ld. (9.3) kifejez´es — a mondat szinten van megval´ os´ıtva
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
204
Ennek az elj´ar´asnak t¨obb gyenge pontja is van. Egyr´eszt a felhaszn´al´oi szok´asok alapj´an megadott k´erd´es is legt¨obbsz¨or a´ltal´anos kivonatot eredm´enyezhet, hiszen ha olyan tematikus szavakkal keres¨ unk egy sz¨ovegben mint pl. ,,information retrieval”, ami a sz¨oveg t´agabb t´em´aja, akkor nem jutunk specifikus inform´aci´ohoz. M´asr´eszt, mivel a m´odszer csak olyan mondatokat v´alaszt ki, amelyekben a keres˝o szavak szerepelnek, biztosan kimarad n´eh´any nagyon fontos ´es informat´ıv mondat a kivonatb´ol, ami pl. m´ar az adott dokumentum t´em´aj´at r´eszletesebben ismerteti. Ugyancsak emiatt a kivonat rendk´ıv¨ ul redund´ans lesz.
9.5.3. Csoportos´ıt´ as alap´ u m´ odszerek A j´ol meg´ırt dokumentumokra a´ltal´aban igaz az a szerkeszt´esi elv, hogy egy t´agabb ter¨ ulethez tartoz´o t´em´akat t´argyalnak egym´as ut´an. Ez alapj´an (t´enylegesen vagy implicite) szakaszokra bonthat´ok sz´et. A dokumentum tematikus szerkezet´et a kivonatnak is t¨ ukr¨oznie kell, hiszen az o¨sszefoglal´asban szerepelnie kell a sz¨ovegben t´argyalt t´em´aknak. Ezt a szerkeszt´esi elvet egyes kivonatol´ok csoportos´ıt´o (klaszterez˝o) elj´ar´asok alkalmaz´as´aval val´os´ıtj´ak meg. Itt jegyezz¨ uk meg, hogy e m´odszerrel nem csak egyes dokumentumok, hanem dokumentumgy˝ ujtem´enyek kivonatol´asa is elv´egezhet˝o. Az MMR m´ odszer Az MMR (Maximum Marginal Relevance — maxim´alis sz´els˝o relevancia) m´odszer [? ? ] mind statisztikai, mind nyelvi jellemz˝oket felhaszn´al a mondatok kiv´alaszt´asa sor´an, vagyis egyar´ant figyelembe tudja venni a kulcs- ´es c´ımszavak el˝ofordul´as´at, id˝orendi sorrendet, k´erd´eshez/ter¨ ulethez val´o hasonl´os´agot (teh´at a´ltal´anos ´es k´erd´es-vez´erelt kivonatot is k´epes el˝oa´ll´ıtani), redundancia-cs¨okkent´est, ´es n´evm´asok el˝ofordul´as´anak b¨ untet´es´et. A mondatokat az al´abbi formula szerint pontozza : X X M M R(mondati ) = λ ws (Qs · Si ) + (1 − λ) wl (Ll · Si ), (9.14) s∈S
l∈L
ahol S a statisztikai, L a nyelvi jellemz˝ok halmaza, Q a k´erd´es, w pedig az egyes jellemz˝okh¨oz tartoz´o s´ ulyok. A s´ ulyok a´ll´ıt´as´aval lehet szab´alyozni az el˝oa´ll´ıtand´o kivonat t´ıpus´at. Az MMR m´odszer a kivonatot inkrement´alisan a´ll´ıtja o¨ssze, mindig azt a mondatot v´alasztva ki, amely legink´abb hasonl´ıt a k´erd´eshez vagy a dokumentum t´em´aj´ahoz 25 , ´es legink´abb k¨ ul¨onb¨ozik a m´ar kiv´alasztott mondatokt´ol26 . Ez a m´odszer lehet˝ov´e teszi azt is, hogy tetsz˝oleges m´eret˝ u kivonatot gener´aljunk, hiszen a kivonat b˝ov´ıt´ese b´armikor befejezhet˝o. A m´odszer a feldolgoz´as elej´en csoportos´ıtja a dokumentum (vagy dokumentumgy˝ ujtem´eny) mondatait valamilyen hasonl´os´agi m´ert´ek alapj´an. A kivonatol´o minden csoportb´ol a csoport k¨ozpontj´ahoz legk¨ozelebbi mondatot, mint a csoporthoz tartoz´o mondatok t´em´aj´at legink´abb reprezent´al´ot v´alasztja ki a kezdeti f´azisban. Ezek a mondatok a´ltal´aban a csoportban l´ev˝ok k¨oz¨ ul a leghosszabbak. A mondatok klaszterez´ese ??. fejezetben ismertetett m´odszerek seg´ıts´eg´evel k¨onnyen elv´egezhet˝o. A m´odszernek fontos param´etere a kiindul´askor meghat´arozott hasonl´os´agi k¨ usz¨ob´ert´ek, θ. Az algoritmus s´em´aja a k¨ovetkez˝o : kezdetben minden mondat mag´aban o¨n´all´o csoportot alkot. 25 26
A ??eq:MMR)-ben az o ¨sszeg els˝ o tagja. A k´eplet m´ asodik tagja
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
205
K´et csoportot egyes´ıt¨ unk, ha a k¨ozt¨ uk l´ev˝o hasonl´os´ag, sim(C i , Cj ) ≥ θ, ahol Ci az i csoportban l´ev˝o mondatok k¨oz´eppontja. Minden egyes´ıt´es ut´an u ´ jrasz´amoljuk a keletkezett csoport k¨oz´eppontj´anak ´ert´ek´et. Az elj´ar´ast addig folytatjuk, am´ıg van olyan csoportp´ar, amelyek elegend˝oen hasonl´oak az egyes´ıt´eshez. A θ param´eter ´ert´eke nagy hat´assal van a csoportok megalkot´as´ara, teh´at ez elj´ar´as nem t´ ul robosztus. Ez a tulajdons´ag jav´ıthat´o, ahogy arra a [? ] tanulm´any r´amutat, ha nem a t´avols´agi m´ert´ek alapj´an k´epezz¨ uk a csoportokat, hanem a leggyakoribb kulcsszavak mondatokban t¨ort´en˝o el˝ofordul´asa alapj´an. A MEAD m´ odszer A MEAD m´odszer [? ] dokumentumgy˝ ujtem´enyek kivonatol´as´ara alkalmas. Bemenete a dokumentumok TF-IDF s´ ulyoz´asi s´em´aval val´o csoportos´ıt´as´anak eredm´enye. Minden klasztert egy k¨ ul¨on t´em´anak lehet tekinteni, amit a t´em´ara vonatkoz´o legnagyobb (TF-IDF) frekvenci´aj´ u szavak reprezent´alnak. A h´ırarch´ıvumok kivonatol´asa eset´en a mondatkiv´alaszt´as h´arom t´enyez˝ot vesz figyelembe. Els˝ok´ent a klaszter k¨ozep´et˝ol val´o t´avols´agot (C i ), a mondatnak a dokumentumon bel¨ uli el˝ofordul´as´at27 (Li ), ´es a dokumentum els˝o mondat´aval val´o hasonl´os´agot (Fi ). Ezen mennyis´egek line´aris kombin´aci´ojak´ent a´ll el˝o egy mondat pontsz´ama, a kor´abban ismertetett m´odszerekn´el bemutatott m´odon (ld. (9.13) ´es (9.14) kifejez´eseket). Itt az F t´enyez˝o szerepe megfelel a (9.13)-ben tal´alhat´o T faktor´enak. A k¨ ul¨onbs´eg az, hogy a MEAD m´odszer eset´en a mondat pontsz´am´at redundanciacs¨okkent´es ´erdek´eben u ´ jrasz´amolj´ak az u ´ j mondatok bev´etele ut´an. A m´odszer h´atr´anya, hogy a TF-IDF s´ ulyoz´asi s´em´at alkalmazza, amely nem a leghat´ekonyabb kivonatol´asi technik´ak eset´en. M´asik gyenge pontja, hogy h´ırarch´ıvumok feldolgoz´as´ara alkalmas, hiszen a h´arom t´enyez˝ob˝ol kett˝o is (Fi ´es Li ) er˝osen a dokumentumok elej´en l´ev˝o mondatokat favoriz´alja, ez´ert m´as t´ıpus´ u dokumentumok eset´en nem alkalmazhat´o hat´ekonyan.
9.5.4. Gr´ afelm´ eleti megk¨ ozel´ıt´ esek Ahogy az el˝oz˝o szakaszban l´attuk, a kivonatol´as els˝o l´ep´ese t¨obb m´odszer eset´en is a dokumentum mondatainak, vagy a dokumentumoknak a tematikus csoportos´ıt´asa. A mondatok gr´afelm´eleti reprezent´aci´oja alkalmas eszk¨oz t´em´ak meghat´aroz´as´ara [? ]. A szok´asos el˝ofeldolgoz´asi l´ep´esek ut´an a mondatokat egy ir´any´ıtatlan gr´af csom´opontjaival reprezent´aljuk, ´es a csom´opontok k¨oz¨ott ´eleket a mondatokban el˝ofordul´o k¨oz¨os szavak sz´am´aval s´ ulyozzuk. Az ´elek s´ uly´ara vonatkoz´oan minim´alis k¨ usz¨ob´ert´eket is meghat´arozhatunk. Ennek a reprezent´aci´onak k´et eredm´enye van : a gr´afpart´ıci´ok, vagy -klikkek egy t´em´ahoz tartoz´o mondatokat azonos´ıtanak, ´es ´ıgy csoportbarendez´est gener´alnak. A klikkek er˝oss´eg´et, teh´at az egy csoportba tartot´o mondatok koh´ezi´oj´at a k¨ usz¨ob´ert´ek n¨ovel´es´evel emelhetj¨ uk, ´es ez´altal egy´ uttal a t´em´ak sz´am´at is szab´alyozhatjuk. Ez a reprezent´aci´o egyar´ant lehet˝os´eget ny´ ujt a´ltal´anos ´es k´erd´es-vez´erelt kivonatok l´etrehoz´as´ara ; az el˝obbi esetben minden gr´af klikkb˝ol egy-egy mondatot v´alasztva lefedj¨ uk az eg´esz dokumentum(gy˝ ujtem´eny) t´emater¨ ulet´et, m´ıg az ut´obbi esetben elegend˝o a k´erd´essel egy klikkben l´ev˝o mondatok k¨oz¨ ul kiv´alasztani n´eh´anyat. 27
Min´el k¨ ozelebb van egy mondat a dokumentum elej´ehez, ann´ al nagyobb ez az ´ert´ek.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
206
A m´asik fontos eredm´eny, hogy a nagysz´am´ u ´ellel rendelkez˝o csom´opontok a dokumentum(gy˝ ujtem´eny) fontos mondatait is meghat´arozz´ak, amelyeknek ez´altal nagyobb es´elye van a kivonatba ker¨ ul´esre. A grafikus megk¨ozel´ıt´es k¨onnyen hasznos´ıthat´o dokumentumon bel¨ uli ´es k¨oz¨otti o¨sszef¨ ugg´esek vizu´alis megjelen´ıt´es´ere is.
9.5.5. SVD haszn´ alata a kivonatol´ asban A kivonatol´asn´al is j´ol felhaszn´alhat´o a szingul´aris ´ert´ekfelbont´as 28 (SVD) m´odszer azon tulajdons´aga, k´epes t¨obbdimenzi´os adatok ortogon´alis dimenzi´oinak megtal´al´as´ara. Az LSI-t dokumentum-sz´o m´atrixokra alkalmazva k´epes olyan mondatok k¨oz¨otti szemantikus o¨sszef¨ ugg´esek felfed´es´ere is, amelyek nem tartalmaznak k¨oz¨os szavakat [? ]. Azok a szavak, amelyek t¨obbnyire azonos kontextusban szerepelnek ugyanazon szingul´aris dimenzi´oban helyezkednek el. Az LSI m´odszer nagy el˝onye, hogy a fogalmi (vagy szemantikus) o¨sszef¨ ugg´eseket automatikusan az emberi agy a´ltal reprezent´alt m´odon k´epes megragadni [? ]. Az LSI j´ol haszn´alhat´o t´em´akra jellemz˝o szavak, illetve mondatok meghat´aroz´as´ara egyar´ant. Mivel az SVD fontoss´agi sorrendben hat´arozza meg a k¨olcs¨on¨osen ortogon´alis szingul´aris ir´anyokat a mondat-vektorok ter´eben, ez´ert ha ezekb˝ol a dimenzi´okb´ol v´alasztjuk a ki a reprezentat´ıv mondatokat, akkor egyr´eszt biztos´ıtva lesz a dokumentum teljes tematik´aj´anak lefedetts´ege, m´asr´eszt az ortogonalit´as garant´alja a redundancia-mentess´eget [? ]. Egyetlen megszor´ıt´as, hogy csak eredend˝oen tematikus egys´egekbe rendezett sz¨ovegekre alkalmazhat´o hat´ekonyan, a´m a legt¨obb dokumentum ilyen szerkeszt´esi elvet k¨ovet.
9.5.6. Esettanulm´ any : b¨ ong´ esz´ es t´ amogat´ asa kivonatol´ assal k´ ezi sz´ am´ıt´ og´ epeken A kivonatol´o elj´ar´asokat a szakasz bevezet˝oj´eben t´argyalt internetes keres´es/b¨ong´esz´es seg´ıt´es´en k´ıv¨ ul m´eg sz´amos m´as ter¨ uleten is hat´ekonyan fel lehet haszn´alni, pl. o¨sszehasonl´ıt´o t´abl´azatok k´esz´ıt´es´ere, t¨obbnyelv˝ u inform´aci´okinyer´es t´amogat´as´ara, biogr´afiai profilok k´esz´ıt´es´ere, struktur´alt adatb´azis-´ep´ıt´esre dokumentumok tartalm´anak automatikus feldolgoz´as´aval, stb. Itt most a kivonatol´as egyik speci´alis ´es k´ezenfekv˝o felhaszn´al´asi ter¨ ulet´et ismertetj¨ uk r´eszletesebben : a kisk´eperny˝os (k´ezi sz´am´ıt´og´ep, PDA ; mobiltelefon) tartalomszolg´altat´as t´amogat´as´at. Az Internet vezet´ek n´elk¨ uli haszn´alata a felsorolt eszk¨oz¨ok seg´ıts´eg´evel manaps´ag egyre elterjedtebb´e v´alik. A t´avolkeleten (Jap´an, Korea) az Internet haszn´alat jelent˝os r´esz´et a felhaszn´al´ok a mobiltelefonjuk seg´ıts´eg´evel v´egzik. Az inform´aci´oig´eny jelent˝os r´esze olyan szitu´aci´okban ad´odik — utaz´as, v´as´arl´as k¨ozben, t´argyal´asok, illetve besz´elget´esek eset´en — amikor vezet´ekes Internet nem el´erhet˝o. A k´ezi sz´am´ıt´og´epek ´es a mobiltelefonok elvben ide´alis eszk¨oz¨ok az ilyen esetekben ad´od´o inform´aci´oig´eny kiel´eg´ıt´es´ere, azonban a kism´eret˝ u kijelz˝ok gyakran akad´alyt jelentenek az Internet k´enyelmes haszn´alat´aban [? ], ugyanis a honlapok a kijelz˝o m´eret´eb˝ol ad´od´oan t¨obbnyire nehezen a´ttekinthet˝oek. Tov´abbi probl´em´at jelent az adatbevitel neh´ezkess´ege, valamint az a t´eny, hogy r´adi´ohull´amokon kereszt¨ ul t¨ort´en˝o let¨olt´esi sebess´eg, m´eg mindig sokkal lassabb, mint vezet´ekes kapcsolat eset´en. Ezen probl´em´ak egy r´esz´ere az internetes tartalomszolg´altat´as kivonatol´ason kereszt¨ ul, t¨obb l´ep´esben t¨ort´en˝o megval´os´ıt´asa az egyik lehets´eges megold´as. A felhaszn´al´ok ugyanis a´ltal´aban 28
Sz¨ ovegb´ any´ aszati kontextusban l´ atens szemantikus indexel´esnek (LSI) nevezik.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
207
nem teljes Internet-oldalak tartalm´ara k´ıv´ancsiak, k¨ ul¨on¨osen a PDA-n ´es mobiltelefonon val´o b¨ong´esz´esre jellemz˝o helyzetekben, hanem csak egy t¨ored´ek´ere, amin a relev´ans inform´aci´o megtal´alhat´o, ´es ezek t¨obbnyire t´enyszer˝ u adatok vagy linkek. A tov´abbiakban a Buyukkokten ´es munkat´arsai a´ltal javasolt megold´ast ismertetj¨ uk [? ? ], amely a weboldalakat a fokozatosan, a felhaszn´al´o ig´eny´et˝ol f¨ ugg˝oen jelen´ıti meg. Ezzel a m´odszerrel jelent˝osen cs¨okkenthet˝o mind a let¨olt¨ott adatmennyis´eg, s ezzel p´arhuzamosan a let¨olt´esi id˝o is, mind pedig a keresett inform´aci´o megtal´al´as´ahoz sz¨ uks´eges navig´al´asi m˝ uveletek sz´ama, valamint a b¨ong´esz´esre ford´ıtott id˝o. Weboldalak kivonatol´ as´ anak speci´ alis k´ erd´ esei Els˝o l´ep´es az eredeti weboldal tartalm´anak feldarabol´asa u ´ n. szemantikus sz¨ ovegegys´egek re. A feldarabol´as az oldal szerkezet´et k¨oveti, amely az oldal (HTML, XML, PHP, stb.) forr´as´at feldolgozva a tartalomb´ol sz¨ovegegys´egek hierarchikus strukt´ ur´aj´at a´ll´ıtja el˝o. A sz¨ovegegys´egek a weboldalt alkot´o r´eszegys´egek, pl. bekezd´esek, list´ak ´es elemeik, t´abl´azatok, k´epek, stb. Ezekb˝ol a sz¨oveges m´odon megjelen´ıthet˝o egys´egeket dolgozzuk fel a tov´abbiakban, a k´epeket, illetve a t´ ul nagy m´eret˝ u t´abl´azatok elhagyjuk. A sz¨ovegegys´egek kivonatol´asa felvet n´eh´any probl´em´at. Mivel itt nem teljes dokumentumok, hanem azok kisebb egys´egeire k´ıv´anunk kivonatol´ot alkalmazni, ez´ert nehezebb feladatot jelenthet a kulcsszavak, ill. -mondatok meghat´aroz´asa, mivel a sz¨ovegegys´egek terjedelme jellemz˝oen r¨ovid. M´asik k¨ ul¨onbs´eg az, hogy a hagyom´anyos kivonatol´o m´odszerek nem t´amogatj´ak a fokozatos megjelen´ıt´est : egy dokumentum (itt : sz¨ovegegys´eg) feldolgoz´as´an´al el˝osz¨or az eg´eszet beolvass´ak, majd statikusan kiv´alasztj´ak annak egyes r´eszleteit. Szint´en megfontol´ast ig´enyel a hiperlinkek a´br´azol´asa is (megjelen´ıt´es, aktivit´as, hossz, fontoss´ag a tartalmaz´o mondatra vonatkoz´oan). V´eg¨ ul probl´em´at okoz a kivonatol´asn´al haszn´alt statisztik´ak elk´esz´ıt´ese, hiszen a legt¨obb m´odszer sz´oel˝ofordul´asok ´es -frekvencia´ert´ekek alapj´an hat´arozza meg egy adott mondat jelent˝os´eg´et sz¨ovegegys´egen bel¨ ul. Mivel jelen esetben a dokumentumgy˝ ujtem´eny az eg´esz vil´agh´al´o tartalma, azon el˝ofordul´asi statisztik´akat k´esz´ıteni lehetetlen. Sz¨ ovegegys´ egek fokozatos megjelen´ıt´ es´ enek alternat´ıv´ ai A sz¨ovegegys´egek fokozatos megjelen´ıt´es´ere az al´abbi megold´asokat tesztelt´ek : – inkrement´ alis : h´arom l´ep´esben : egy sor, h´arom sor, eg´esz sz¨ovegegys´eg. – o ¨sszes : r¨ogt¨on az eg´esz sz¨ovegegys´eg megjelenik, nincs fokozatoss´ag. – kulcssz´ o : els˝o l´ep´esben a sz¨ovegegys´egben azonos´ıtott kulcsszavak jelennek meg, a k¨ovetkez˝o fokozatban az els˝o h´arom sor, majd v´eg¨ ul az eg´esz sz¨oveg l´athat´o lesz. – o ¨sszegz´ es : itt csak k´et l´epcs˝o van : a legfontosabb mondat, majd a teljes sz¨oveg megjelen´ıt´ese – kulcssz´ o/¨ osszegz´ es : ez az el˝oz˝o k´et m´odszer kombin´aci´oja, ahol el˝osz¨or a kulcsszavak, majd a kiemelt mondat, v´eg¨ ul az eg´esz sz¨oveg jelenik meg. A hiperlinkek minden esetben akt´ıvan megjelennek, kiv´eve a kulcsszavak f´azist. Amennyiben egy link nem fejez˝odik be a sor v´eg´en, a l´athat´o fragmense akkor is akt´ıv.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
208
Kulcsszavak ´ es o ¨sszegz´ es meghat´ aroz´ asa A kulcsszavak a sz¨ovegegys´egben szerepl˝o egyes szavak ki´ert´ekel´ese alapj´an hat´arozhat´ok meg. A TF-IDF formula kisz´amol´as´ahoz (ld. (9.3)) sz¨ uks´eges a korpuszban el˝ofordul´o o¨sszes sz´o ismerete, ami term´eszetesen nem megval´os´ıthat´o, ´ıgy k¨ozel´ıt˝o m´odszer alkalmaz´as´ara van sz¨ uks´eg. Ezt egy webrobot alkalmaz´as´aval elk´esz´ıtett sz´ot´ar seg´ıts´eg´evel lehet megbecs¨ ulni, amely az interneten gyakorta el˝ofordul´o szavakat tartalmazza. Egy sz¨ovegr´eszlet feldolgoz´asa sor´an minden sz´ora sz´ot¨oves´ıt´est alkalmazunk, majd a sz´ot´ar, illetve az adott weboldalon val´o el˝ofordul´asi gyakoris´ag alapj´an meghat´arozzuk a sz´ohoz tartoz´o TF-IDF ´ert´eket. A sz´ot´arban nem szerepl˝o szavak eset´en a sz´ot´arban szerepl˝o legkisebb gyakoris´agi ´ert´ekkel sz´amolnak. Egy k¨ usz¨ob´ert´ek el´er´ese eset´en a sz´o kulcsszavak k¨oz´e ker¨ ul. Lehet˝os´eg van a speci´alis szed´es˝ u (f´elk¨ov´er, d˝olt, stb.) szavak er˝osebb s´ ulyoz´as´ara. A kivonat meghat´aroz´as´ara a 9.5. szakaszban ismertetett b´armelyik m´odszer alkalmazhat´o. Az ismertetett tanulm´any egy nagyon egyszer˝ u ´es k¨onnyen implement´alhat´o, Luhn nev´ehez f˝ uz˝od˝o [? ] korai m´odszer m´odos´ıtott verzi´oj´at haszn´alt´ak a sz¨ovegegys´eg legjellemz˝obb mondat´anak meghat´aroz´as´ara. A megjelen´ıt˝ o m´ odszerek o ¨sszehasonl´ıt´ asa A fent ismertetett fokozatos megjelen´ıt˝o heurisztik´akat egy 15 f˝ob˝ol a´ll´o, internetes b¨ong´esz´esben j´artas csapat seg´ıts´eg´evel tesztelt´ek. T´ız tipikusan vezet´ek n´elk¨ uli internetez´es k¨ozben felmer¨ ul˝o feladatot t˝ uztek ki a tesztel˝oknek, pl. link megkeres´ese adott oldalon, nyitvatart´asi id˝o megkeres´ese, filmmel, tudom´anyos konferenci´aval, ill. tanulm´annyal kapcsolatos adat, valamilyen term´ek a´r´anak ´es egy´eb param´eter´enek meghat´aroz´asa, stb., u ´ gy, hogy a kiindul´o oldalak adottak voltak. A teszt eredm´enyei azt mutatt´ak, hogy b¨ong´esz´esi id˝ot tekintve az o¨sszegz´es, ill. kulcssz´o/¨osszegz´es fokozatokat haszn´al´o megjelen´ıt´esi forma a legk´ezenfekv˝obb a felhaszn´al´oknak, m´ıg az inkrement´alis ´es az o¨sszes m´odszer a legkev´esb´e hat´ekony. A navig´al´asi m˝ uveletek sz´am´at tekintve m´eg er˝oteljesebb az eml´ıtett k´et m´odszer dominanci´aja, esetenk´ent 97%-kal cs¨okkent az eg´er, ill. billenty˝ uzet haszn´alat m´ert´eke. Itt egy´ertelm˝ uen a kombin´alt kulcssz´o/¨osszegz´es m´odszer bizonyult a legjobbnak. Vizsg´alt´ak m´eg a let¨olt¨ott adat mennyis´eg´enek cs¨okken´esi ar´any´at. Az o¨sszegz´es, kulcssz´o ´es a kombin´alt m´odszerek eset´en az alap´ert´ekk´ent tekintett (HTML tag-ekt˝ol, k´epekt˝ol ´es t´abl´azatokt´ol mentes) adatmennyis´eghez k´epest n´emi pluszt jelent, hogy a kulcsszavak, illetve az o¨sszegz´es elej´et ´es v´eg´et jelz˝o index´ert´eket is tov´abb´ıtani kell a rendszernek a protokollban az a´tvitel sor´an. Ez azonban mind¨ossze rendre 4%, 24%, ill. 28% volt. A let¨olt¨ott adatmennyis´eg a ,,legdr´ag´abb” esetben is a´tlagosan 87%-kal kevesebbnek bizonyult, ami al´at´amasztja az kivonatol´ason alapul´o m´odszer hat´ekonys´ag´at a kisk´eperny˝os b¨ong´esz´es t´amogat´as´ara.
9.6. Egy´ eb sz¨ ovegb´ any´ aszati feladatok Ebben szakaszban r¨oviden bemutatunk olyan tov´abbi sz¨ovegb´any´aszati feladatokat, amelyek r´eszletes ismertet´ese — terjdelemi okok miatt — meghaladja e k¨onyv kereteit.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
209
9.6.1. Inform´ aci´ okinyer´ es Az inform´ aci´ okinyer´es (information extraction – IE) az egyik legalapvet˝obb sz´am´ıt´og´epes sz¨ovegfeldolgoz´asi feladat. Az IE algoritmusok a´ltal´aban mintafelismer´esi elj´ar´asok seg´ıts´eg´evel azonos´ıtj´ak a sz¨ovegben a fontos kifejez´eseket ´es a k¨oz¨ott¨ uk l´ev˝o kapcsolatokat. Legyen a p´eldamondatunk ,,A Washington Post szombati h´ıre szerint, a Katrina hurrik´an puszt´ıt´as´at k¨ovet˝o k´aosz miatt egyre t¨obben, k¨ozt¨ uk New Orleans polg´armestere, Ray Nagin is, Busht ´es a sz¨ovets´egi korm´anyt okolj´ak”29 . Az inform´aci´okinyer˝o szoftvereknek a mondatban azonos´ıtaniuk kell Ray Nagint ´es Busht mint szem´elyeket, New Orleanst mint helysz´ınt, szombatot mint d´atumot, a Washington Postot ´es a sz¨ovets´egi korm´anyt pedig mint m´edi´at (c´eget), illetve int´ezm´enyt ; tov´abbi feladatuk a szem´elyek, helyek ´es id˝opontok k¨ozti o¨sszef¨ ugg´esekre val´o k¨ovetkeztet´es elv´egz´ese is. Ez a m´odszer nagyban seg´ıtheti a felhaszn´al´okat a nagy adathalmazok gyors ´es hat´ekony feldolgoz´as´aban. Napjaink sz¨ovegb´any´asz szoftverei mind tartalmazz´ak ezt a funkci´ot [55].
9.6.2. T´ emak¨ ovet´ es A t´emak¨ ovet˝ o rendszerek felhaszn´al´oi profil vagy ´erdekl˝od´es alapj´an a k¨ovetkeztetnek a felhaszn´al´o sz´am´ara ´erdekes m´as dokumentumokra. J´o p´elda erre a Yahoo ! a´ltal ingyenesen u ¨ ze30 meltetett t´emak¨ovet˝o eszk¨oz , amely a felhaszn´al´o a´ltal megadott kulcsszavak alapj´an ´ertes´ıt´est k¨ uld, ha a t´em´aban u ´ j h´ır jelenik meg. A piacon l´ev˝o eszk¨oz¨ok t¨obbs´ege csak kulcssz´o alap´ u keres´est v´egez, aminek k¨ovetkezt´eben gyakran el˝ofordul az az anom´alia, hogy a felhaszn´al´o eredeti ´erdekl˝od´es´et˝ol k¨ ul¨onb¨oz˝o dokumentumokat kap. Pl. ha a ,,text mining” kifejez´est adjuk meg kulcssz´ok´ent, akkor t¨obbsz¨or kapunk b´any´aszattal, mint sz¨ovegb´any´asza kapcsolatos h´ıreket. Ennek kik¨ usz¨ob¨ol´es´ere egyes fejlettebb t´emak¨ovet˝o szoftverek eset´en a felhaszn´al´o a´ltal az ´erdekl˝od´esi k¨or´et a rendszer a´ltal karbantartott taxon´omi´ab´ol kiv´alasztott kateg´ori´ak seg´ıts´eg´evel hat´arozhatja meg. M´eg intelligensebb m´odszerek pedig erre automatikusan k¨ovetkeztetnek a felhaszn´al´o a´ltal l´atogatott oldalak ´es a klikkel´esi szok´asok alapj´an. Az u ¨ zleti vil´agban is j´ol alkalmazhat´o ez az eszk¨oz. Lehet˝os´eget ad pl. konkurens vagy saj´at c´egek, ill. term´ekek figyel´es´ere az ´ırott elektronikus m´edi´aban. Hasonl´oan fontos lehet b´armely — pl. orvosi, oktat´asi, tudom´anyos — szakm´aban a felhaszn´al´o sz˝ ukebb szakter¨ ulet´er˝ol sz´ol´o inform´aci´ok naprak´esz k¨ovet´es´eben.
9.6.3. Fogalomt´ ars´ıt´ as A fogalomt´ ars´ıt´ o (concept linkage) eszk¨oz¨ok feladata, hogy dokumentumokban megl´ev˝o olyan k¨oz¨os fogalmakat azonos´ıtson, amely esetleg a felhaszn´al´o el˝ol hagyom´anyos keres´esi m´odszerekkel rejtve lenn´enek. Legink´abb olyan ter¨ uleteken lehet hasznosan alkalmazni o˝ket, mint pl. az orvostudom´any, ahol a rendk´ıv¨ ul nagymennyis´eg˝ u sz¨oveges dokumentum elolvas´asa vagy a´tb¨ong´esz´ese lehetetlen feladat. Kedvez˝o esetben a fogalomt´ars´ıt´o elj´ar´asok olyan kapcsolatokat is felfedhetnek betegs´egek ´es kezel´esi m´odok k¨oz¨ott ily m´odon, amit az ember nem k´epes megtal´alni. A fogalomt´ars´ıt´o eszk¨oz¨ok m˝ uk¨od´es´et j´ol szeml´elteti az a m´odszer, ahogy D. Swanson k´et egym´ast´ol bibliogr´afiailag t´avol a´ll´o, a´m logikailag o¨sszef¨ ugg˝o kutat´asi ter¨ ulet o¨sszekap29 30
http://www.index.hu www.alerts.yahoo.com
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
210
csol´as´aval azonos´ıtotta a magn´ezium szerep´et a migr´en kialakul´as´aban [164]. A kutat´o azokban a k¨ozlem´enyek el˝ofordul´o gyakori kifejez´eseket vizsg´alta, amelyek c´ım¨ ukben a ,,migr´en” sz´ot tartalmazt´ak. Az egyik ily m´odon azonos´ıtott kulcssz´o az ,,tovaterjed˝o k´ergi g´atl´as” volt. Ezut´an hasonl´o keres´est v´egzett ebb˝ol a kifejez´esb˝ol kiindulva, s ´ıgy tal´alta meg t¨obbek k¨ozt a ,,magn´ezium el´egtelens´eg” terminust. A k´et fogalom k¨ozti t´enyleges o¨sszef¨ ugg´est elemz˝o kutat´asaiban kimutatta, hogy a kor´abban m´eg nem vizsg´alt magn´ezium el´egtelens´eg a migr´en kialakul´as´aban komoly szerepet j´atszik. A Swanson a´ltal haszn´alt m´odszer alkalmaz´o automatikus eszk¨oz¨ok j´ol alkalmazhat´ok sz¨ovegb´any´aszatban [68]. V´arhat´oan az ilyen felhaszn´al´asok a k¨ozelj¨ov˝oben nagyban seg´ıthetik a orvosi felhaszn´al´okat u ´ j kezel´esi m´odok felfedez´es´eben.
9.6.4. Sz¨ oveges inform´ aci´ ok vizualiz´ al´ asa Nagym´eret˝ u sz¨oveges forr´asok/gy˝ ujtem´enyek eset´en a vizu´alis hierarchi´aban vagy t´erk´eppel t¨ort´en˝o b¨ong´esz˝o lehet˝os´eggel kieg´esz´ıtett k´epi megjelen´ıt´es nagym´ert´ekben seg´ıtheti a felhaszn´al´ot a keresett t´ema ´es a hozz´a tartoz´o dokumentumok k¨onnyebb azonos´ıt´as´aban. A sz¨oveges adathalmazok k´epi megjelen´ıt´es´et v´egzi az Informatik V DocMiner 31 term´eke. Ennek seg´ıts´eg´evel a felhaszn´al´o interakt´ıv tartalom elemz´est v´egezhet a vizualiz´alt adatokon. A b¨ong´esz´est zoomol´as, sk´al´az´as ´es r´eszt´erk´epek k´esz´ıt´es´enek lehet˝os´ege is t´amogatja. 9.4. a´bra. Az Informatik V Doc Miner szoftver´enek felhaszn´al´oi fel¨ ulette [55]
9.6.5. K´ erd´ es-megv´ alaszol´ as Ez az alkalmaz´asi ter¨ ulet m´ar nagyr´eszt a´tfed a k¨ovetkez˝o szakasz t´em´aj´aval, hiszen a k´erd´esmegv´alaszol´asban (Question Answering – QA) nagy szerepet j´atszanak a nyelvtechnol´ogiai eszk¨oz¨ok. A feladat a´ltal´anosan term´eszetes nyelv˝ u k´erd´esek t¨obbnyire term´eszetes nyelven t¨ort´en˝o megv´alaszol´asa adatb´azis vagy a vil´agh´al´o seg´ıts´eg´evel. Nyelvtechnol´ogiai projektek keret´eben f˝oleg angol nyelv˝ u K´erd´es-megv´alaszol´o rendszerek 32 ismertek, melyek k¨oz¨ ul p´eld´aul az MIT fejlesztett START projekt az Internetr˝ol o¨sszegy˝ ujt¨ott inform´aci´ok alapj´an v´alaszol. Hasonl´o m´odon dolgozik az Answerbus 33 ´es az AskJeeves34 keres˝o is. A term´eszetes nyelv elemz´es´enek bonyolults´aga ´es nyelvtechnol´ogiai eszk¨oz¨ok jelenlegi fejletts´egi szintje azonban behat´arolja a k´erd´es-megv´alaszol´o rendszerek hat´ekonys´ag´at, amint azt az al´abbi p´elda is j´ol szeml´elteti. A When does the Siam Cuisine Restaurant open ? k´erd´esre az al´abbi v´alaszokat kaptuk : – START : Unfortunately, I wasn’t told when Siam Cuisine Restaurant opens. – Answerbus : Siam Orchids Authentic Thai Cuisine Restaurant was opened on February 5, 2003. – AskJeeves : This Center City location is open for lunch and dinner seven days a week. 31
http://www-i5.informatik.rwth-aachen.de/lehrstuhl/projects/DocMINER/ http://www.ai.mit.edu/projects/infolab/ 33 http://www.answerbus.com/index.shtml 34 http://www.ask.com/
32
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
211
9.7. Nyelvfeldolgoz´ as ´ es sz¨ ovegb´ any´ aszat A sz¨ovegb´any´aszati alkalmaz´asokban valamilyen m´elys´eg˝ u nyelvi feldolgoz´as alkalmaz´as´ara szinte mindig sz¨ uks´eg van. A dokumentumok feldolgoz´asa sor´an leggyakrabban sz´ ot¨ ovez˝ o algo35 ritmusokat haszn´alunk, amely a bemeneti sz´onak megadja a sz´ot¨ov´et Angol nyelv˝ u sz¨ovegek eset´en a Porter-algoritmust [138] haszn´alj´ak leggyakrabban36 . Amennyiben nemcsak szavak szintj´en v´egezz¨ uk el a sz¨ovegek statisztikai feldolgoz´as´at, hanem a gyakoribb kifejez´eseket is indexelj¨ uk a dokumentumokban ´es t´aroljuk a sz´ot´arban, akkor a kifejez´eseket adatb´any´aszati algoritmusokkal hat´arozhatjuk meg, pl. Apriori [4] (ld. m´eg ??. szakasz). Ha a sz¨ovegb´any´aszati feladat statisztik´ak k´esz´ıt´es´en´el r´eszletesebb nyelvi feldolgoz´ast — pl. szintaktikai vagy szemantikai elemz´est — k´ıv´an, akkor sz¨ uks´eg van legal´abb egy 37 sz´ ofajc´ımk´ez˝ o eszk¨ozre , vagy egy teljes morfol´ogiai elemez˝ore. Ilyen feladatok pl. az inform´aci´o-kinyer´es, illetve az automatikus k´erd´es megv´alaszol´as. Alapvet˝oen statisztikai jelleg˝ u probl´em´ak eset´en (oszt´alyoz´as, csoportos´ıt´as) is tettek k´ıs´erletet nyelvtechnol´ogiai eszk¨oz¨ok bevet´es´ere, de ezek szinte egy´altal´an nem jav´ıtott´ak az algoritmusok min˝os´eg´et, ugyanakkor a jelent˝os er˝oforr´ast¨obbletet ig´enyeltek. Hat´ekony szintaktikai ´es szemantikai elemz´eshez, illetve a mondatokon bel¨ uli u ´ n. n´evelemek azonos´ıt´as´ahoz sz¨ uks´eg van olyan t´ema- ´es nyelvspecifikus adatt´arakra ´es/vagy tezauruszokra, ontol´ogi´akra. Az adatb´azisok a k¨ ul¨ob¨oz˝o t´ıpus´ u n´evelemeket (szem´ely, helysz´ın, int´ezm´eny, c´egn´ev, stb.), n´evsz´okat, ig´eket jellemz˝o vonzataikkal (vonzatkerett´ar) tartalmazz´ak. A tezauruszok, ill. ontol´ogi´ak akkor ny´ ujthatnak t¨obbek k¨oz¨ott seg´ıts´eget, ha egy adott terminus nincs benne a nyelvi adatb´azisokban. Ekkor ugyanis a terminust valamelyik szinonim´aj´aval, vagy vele valamilyen ontol´ogiai rel´aci´oban l´ev˝o elemmel lehet az elemz´es sor´an helyettes´ıteni. A n´evelemek automatikus azonos´ıt´as´ara vannak fel¨ ugyelt tanul´asi s´em´at alkalmaz´o elj´ar´asok, de ezek hat´ekonys´aga nagyban f¨ ugg a tanul´oadatokt´ol.
9.7.1. Sz¨ ovegb´ any´ aszat magyarul Mivel a sz¨ovegb´any´aszat t´emak¨ore viszonylag fiatalnak tekinthet˝o, ez´ert a f˝obb kutat´asok f´okusz´aban f˝oleg az elektronikus dokument´al´as legfontosabb nyelve, az angol a´llt, ut´ana messze lemaradva a t¨obbi nagy vil´agnyelv, nem besz´elve a vil´agviszonylatban margin´alisnak mondhat´o magyar nyelvr˝ol38 . Az ut´obbi id˝oszakban azonban — r´eszben a hazai nyelvtechnol´ogiai kutat´asok eredm´enyeinek k¨osz¨onhet˝oen — fel´el´enk¨ ult a sz´am´ıt´og´epes magyar nyelvfeldolgoz´as ter¨ ulete, ´es ez l¨ok´est adott a magyar nyelvre vonatkoz´o sz¨ovegb´any´aszati alkalmaz´asoknak. Mivel az alapvet˝o algoritmusok tekint´elyes r´esze nyelvf¨ uggetlen, ez´ert ezekn´el a magyar vonatkoz´ast a sz¨ovegfeldolgoz´asi l´ep´esn´el tal´alunk, ami t¨obbnyire valamely sz´ot¨ovez˝o elj´ar´as alkalmaz´as´at jelenti. Az olyan bonyolultabb feladatokn´al viszont, mint a k´erd´esmegv´alaszol´as vagy az inform´aci´okinyer´es m´ar l´enyegesen komolyabb szerepet kap a nyelv¨ technol´ogia. Osszess´ eg´eben teh´at meg´allap´ıthatjuk, hogy a magyar nyelv˝ u sz¨ovegekkel kap35
Bizonyos esetekben, pl. a pal´ ank sz´ on´ al, t¨ obb sz´ ot˝ o is lehets´eges, ennek kezel´ese azonban bonyolult sz¨ oveg´ertelmez´esi feladat; a p´elda eset´eben v´egre kell hajtani a sz´ ot˝ o egy´ertelm˝ us´ıt´es´et. Mivel ez a jelens´eg viszonylag ritka, ez´ert a ´ltal´ aban felt´etelezz¨ uk, hogy a sz´ ot˝ o egy´ertelm˝ u. 36 Az algoritmus k¨ ul¨ onb¨ oz˝ o programnyelven ´ırt implement´ aci´ oi let¨ olthet˝ ok innen: http://www.tartarus.org. Itt a legt¨ obb eur´ opai nyelvhez is tal´ alhat´ o sz´ ot¨ ovez˝ o. 37 Part of Speech (POS) tagger 38 A magyar nyelvtan bonyolults´ aga ´es egyedis´ege szint´en nem kedvezett a korai alkalmaz´ asoknak.
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
212
csolatos sz¨ovegb´any´aszati alkalmaz´asok olyan bonyolults´ag´ u feladatokkal k´epesek megbirk´ozni, amennyire fejlett nyelvtechnol´ogiai eszk¨oz¨ok jelenleg a piacon, illetve szabadon hozz´af´erhet˝oen rendelkez´esre a´llnak. A linkgy˝ ujtem´enyen bel¨ ul k¨ ul¨on r´eszt szentel¨ unk a magyar vonatkoz´as´ u eredm´enyeknek, projekteknek (ld. 9.8.4. pont).
9.8. Linkgy˝ ujtem´ eny Az al´abbi linkek ´es a fejezetben id´ezett irodalmi hivatkoz´asok nagy r´esze megtal´alhat´oak a szerz˝o honlapj´an39 , ahol a hivatkoz´asok ´erv´enyess´ege rendszeren ellen˝orizve van.
9.8.1. Tesztkorpuszok – http://www.daviddlewis.com/resources/testcollections/ : Itt tal´alhat´o meg a Reuters-21578 ´es egy kor´abbi verzi´oja, az RCV-1, ´es a TREC-AP korpusz. – http://about.reuters.com/researchandstandards/corpus/ : A Reuters Corpus Volume 1 hivatalos honlapja. – http://trec.nist.gov/data.html : Az egyik legnagyobb gy˝ ujtem´eny, ahol sz¨ovegb´any´aszati elj´ar´asok tesztel´es´ere alkalmas adatok vannak. Itt tal´alhat´o pl. az OHSUMED korpusz (filtering track), amelyet t¨obb oszt´alyoz´o vizsg´alat´an´al is haszn´altak. – http://people.csail.mit.edu/jrennie/20Newsgroups/ : Szint´en t¨obbsz¨or alkalmazott adathalmaz. – http://www.wipo.int/ibis/datasets/index.html : sz´am´ara ´erhet˝o el.
csak
regiszt´alt
felhaszn´al´ok
9.8.2. Cikk- ´ es linkgy˝ ujtem´ enyek – http://liinwww.ira.uka.de/bibliography/Ai/index.html : Cikkgy˝ ujtem´eny, ahol sok sz¨ovegb´any´aszati t´em´aj´ u publik´aci´o is tal´alhat´o, k¨ ul¨on¨osen a kimondottan sz¨ovegoszt´alyoz´assal foglalkoz´o automated.text.categorization.html oldalon. – http://filebox.vt.edu/users/wfan/text_mining.html : Sz¨ovegb´any´aszattal kapcsolatos cikkek, term´ekek projektek linkgy˝ ujtem´enye. – http://dmoz.org/Reference/Knowledge_Management/Knowledge_Discovery/Text_ Mining/ : vegyes linkgy˝ ujtem´eny. – http://www.text-mining.org/ : Sz¨ovegb´any´aszattal foglalkoz´ok k¨oz¨oss´eg´enek honlapja. 39
http://categorizer.tmit.bme.hu/~domi/links
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
213
9.8.3. Sz¨ ovegb´ any´ aszati szoftverek – http://registry.dfki.de/ : gy˝ ujtem´enye.
Nyelvtechnol´ogiai
´es
– http://www.cs.uic.edu/~liub/LPU/LPU-download.html : sz¨ovegoszt´alyoz´o szoftver.
sz¨ovegb´any´asz
szoftverek
Ingyenesen
let¨olthet˝o
– http://www.intext.de/eindex.html : Angol ´es n´emet nyelv˝ u sz¨ovegeken dolgoz´o sz¨ovegelemz˝o program. – http://ka.rsten-winkler.de/hypknowsys/diasdem/index.html : A Diasdam projekt a´ltal fejlesztett szemantikus sz¨ovegfeldolgoz´o szoftver honlapja. – http://software.wise-guys.nl/libtextcat/ : Nyelv- ´es karakterk´odol´as felismer˝o program, amely t¨obbek k¨ozt a magyar nyelvre is m˝ uk¨odik. – http://www.clearforest.com/Products/Platform.asp : hat´ekonyan kezelni k´epes u ¨ zleti intelligenciai alkalmaz´as. – http://www.clearforest.com/Products/Tags.asp : elj´ar´asokat tartalmaz´o programcsomag.
Sz¨oveges
Sz¨ovegelemz˝o
adatokat ´es
is
oszt´alyoz´o
– http://www.inxight.com/products/sdks/lx/ : J´o p´ar nyelvtechnol´ogiai ´es sz¨ovegb´any´aszati elj´ar´ast tartalmaz´o programcsomag (nyelv- ´es karakterk´odol´as fel¨ ismer˝o, sz´ot¨ovez˝o, tokeniz´al´o, sz´ofajc´ımk´ez˝o, ´es n´evsz´oi kifejez´esfelismer˝o). Osszesen 31 nyelvet, k¨ozt¨ uk a magyart is t´amogatja. – http://www.inxight.com/products/sdks/sum/ : Az Inxight 19 nyelvet t´amogat´o o¨sszegz´esk´esz´ıt˝o szoftvercsomagja.
9.8.4. N´ eh´ any magyar vonatkoz´ as´ u eredm´ eny ´ es projekt – http://mokk.bme.hu/projektek/szoszablya : A projekt l´etrehozta a Magyar Webkorpuszt — egy minden kor´abbin´al nagys´agrenddel nagyobb m´eret˝ u magyar nyelv˝ u tokeniz´alt sz¨oveggy˝ ujtem´enyt —, az ez alapj´an k´esz´ıtette Sz´oszablya gyakoris´agi Sz´ot´arat, a szabadon el´erhet˝ o hunmorph morfol´ogiai elemz˝ot, a hunstem sz´ot¨ovez˝ot ´es a hunspell helyes´ır´as-ellen˝orz˝ot, valamint a programok a´ltal haszn´alt magyar helyes´ır´asi ´es morfol´ogiai sz´ot´arat40 . – http://corpus.nytud.hu/mnsz : A Magyar Nemzeti Sz¨ovegt´ar. 150 milli´o sz´ot tartalmaz, morfol´ogiai elemz´essel ´es automatikus sz´ofaji egy´ertelm˝ us´ıt´essel (97,4%-os). ¨ Az egy´ertelm˝ us´ıt´est statisztikai alap´ u elj´ar´assal ´ert´ek el. Ot elt´er˝o nyelvhaszn´alatb´ol sz´armaz´o sz¨ovegeket o¨lel fel : sajt´o, sz´epirodalom, (tudom´anyos) ´ertekez˝o pr´oza, hivatali nyelvhaszn´alat ´es szem´elyes k¨ozl´es. 40
Let¨ olt´es innen: http://magyarispell.sourceforge.net/
¨ ´ ´ 9. FEJEZET. SZOVEGB ANY ASZAT (TIKK DOMONKOS)
214
– http://www.inf.u-szeged.hu/projectdirs/hlt/nkfp2001.htm : A projekt r¨ovid u ¨ zleti jelleg˝ u h´ırekb˝ol t¨ort´en˝o relev´ans inform´aci´o kinyer´es´evel foglalkozott. Az inform´aci´okinyer´es c´elja teh´at struktur´alt — g´epileg lek´erdezhet˝o, feldolgozhat´o — adathalmaz el˝oa´ll´ıt´asa sz¨oveges dokumentumok tartalm´ab´ol.
10. 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 a´ttekint´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 a´lma, hogy az oldala els˝ok´ent jelenjen meg a keres˝ok a´ltal 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.
10.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 a´tn´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 a´ll´ı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 o ¨sszes pontj´ at s´ ulyozz´ ak, majd a s´ ulyok rendez´es´evel a´llap´ı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. 215
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
216
10.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 [129]. A tov´abbiakban az o˝ m´odszer¨ uket mutatjuk be. Rendelkez´es¨ unkre a´ll 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 a´ll´ıt´as, hogy ha valahova sok link mutat, akkor az fontos oldal, tov´abb´a, ha egy oldal fontos, akkor az a´ltala 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
10.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. at az i-edik lap rangja 10.2. defin´ıci´ o. A p = (p1 , . . . , pN ) ∈ RN + 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.
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
217
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 a´ll´ı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 a´llni. 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 a´ltala 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, p i . 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 a´br´an l´athat´o. X
Y Z
10.1. a´bra. P´elda az egyszer˝ u Page Rank algoritmusra A topol´ogia alapj´an az A m´atrix : 1
0 12 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
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
218
Megmutathat´o, hogy p = ( 65 , 53 , 65 ) 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 ” a´br´an l´athat´o lapstrukt´ ur´at.
X
Y
10.2. a´bra. 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 Am = 2m−1 A, amib˝ol ad´odik, hogy a rangvektor a 0 vektorhoz fog tartani.
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 o¨sszes) 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 10.1 laptopol´ogi´ahoz, csak most tegy¨ uk fel, hogy Y a Z-re mutat´o linkj´et a´t´all´ıtja u ´ gy, hogy ezent´ ul saj´at mag´ara mutasson. Ekkor A m´atrix a k¨ovetkez˝ok´eppen m´odosul : 1 1 0 2 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.
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
219
10.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 o¨tlete 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 10.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 a´llom´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 [29] cikkben.
10.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. ˝ Ilyen k´erd´es lehet, hogy A 2001. Urod¨ usszeia h´anyadik perc´eben hangzik el az els˝o emberi ” 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.
10.2.1. Gy˝ ujt˝ olapok ´ es Tekint´ elyek – a HITS algoritmus Az 1999-ben Jon Kleinberg a´ltal publik´alt Gy˝ ujt˝olapok ´es Tekint´elyek (Hubs and Authorities) m´odszere [96] a lapok linkstrukt´ ur´aj´at haszn´alja fel. A linkstrukt´ ura mellett sz´amos inform´aci´o a´llhat 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.
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
220
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 o˝ket 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 a´ltal σ 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 a´ltal 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´oo¨sszet´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 a´ll´ı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) !
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
221
Bázis
Mag
10.3. a´bra. 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 o¨sszes 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 o¨tlet 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
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
222
Az utols´o k´et oldalt valamilyen automatikus m´odon ki kellene sz˝ urni. Kleinbergnek a k¨ovetkez˝o sz˝ ur˝o o¨tlete t´amadt. A σ k´erd´eshez tartoz´o tekint´elyeknek nagy be-fokon k´ıv¨ ul jellemz˝oje, hogy nagy az a´tfed´es azokban a laphalmazokban, amik r´ajuk mutatnak. Ezekben benne lesznek a t´ema gy˝ ujt˝olapjai. A k¨ovetkez˝o a´bra 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 a´ltal´aban Univerzálisan népsz. lapok
Tekintélyek
10.4. a´bra. 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, o¨sszevissza 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 a´ltala mutatott tekint´ely´ert´ekeinek o¨sszege- λ-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 |Bσ |
I. t(0) = g (0) = ... 1 |Bσ |
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
223
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. 10.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.
10.2.2. A SALSA m´ odszer Az algoritmus ([106], 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 o¨sszes ´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 a´tmenetval´osz´ın˝ us´egek a k¨ovetkez˝ok : X 1 1 ill. Pt (i, j) = |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
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
[t(i)]k :=
X
224
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 o¨sszef¨ ugg˝o, az a´ll´ı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 a´ll´ı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 a´ll´ı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 Pt (j, i)t(j). ∀i t(i) = 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 X 1 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.
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
225
T¨obb komponensb˝ol a´ll´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 =
|Gj | |B(i)| P , |G| α∈Gj |B(α)|
ahol a nevez˝oben lev˝o o¨sszeg a komponens o¨sszes ´eleinek sz´ama.
10.2.3. Gy˝ ujt˝ olapok, Tekint´ elyek ´ es v´ eletlen s´ et´ ak Mint l´athattuk, a SALSA algoritmus o¨tlete 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 a´tfogalmazva 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 a´tmenetval´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 o¨sszes k¨ozb¨ uls˝o eredm´enye el˝oa´ll 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 BF BF = (BF )2 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 o¨sszes (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 a´llapotok halmaza az o¨sszes 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 az alapgr´afban van k¨ozt¨ uk legal´abb egy (BF )n illetve (F B)n s´eta. Az a´tmenetval´osz´ın˝ us´egek pedig legyenek : Pt (i, j) := Pg (i, j) :=
|(BF )n (i,j)| , |(BF )n (i)| n |(F B) (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)| = n
|(F B) (i)| =
P
P
j (C
T
´es ´es ezekb˝ol
C)n (i, j)
j (CC
T n
) (i, j).
´es
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
226
Az eredeti HITS algoritmus n. iter´aci´oja ut´an a pontsz´am vektorok norm´al´as n´elk¨ ul (C T C)n 1 illetve (CC T )n 1, azaz o¨sszeg norm´aban ez ugyanaz, mint a megfelel˝o Markov l´ancok stacion´aris eloszl´asa : 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.
10.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˝oa´ll´ıt´as sor´an (automatic resource compilation, r¨oviden ARC) [34]. 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˝oa´ll´ıtott´ak. Emiatt a B´azis m´erete n˝ott, viszont nem veszt¨ unk el olyan oldalt, amely a hagyom´anyos keres˝o a´ltal 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
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
227
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 [34].
10.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 [20]. 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 a´l 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 a´ll´ı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 a´ll´ı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 o¨ssze, 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 a´ltal´anosabb fogalomhoz (car) kapcsol´odtak. Az els˝o esetben a probl´em´at az okozza, hogy egy hoston elhelyezett t¨obb dokumentum o¨sszbefoly´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 o¨sszesen 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
´ ´ 10. FEJEZET. WEBES ADATBANY ASZAT
228
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 [20] 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 [20] cikkben. A fejezetben bemutatott k´et f˝o algoritmusr´ol p´ar o¨sszehasonl´ıt´o tesztet tal´alhatunk a [10] cikkben.
11. 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, a´m 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 o¨sszet´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 o¨szt¨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 a´ltal´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 a´ltal´anos – a minta t´ıpus´at´ol f¨ uggetlen – le´ır´as´at.
229
´ KINYERESE ´ 11. FEJEZET. GYAKORI MINTAK
230
11.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,). 11.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. 11.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 a´ltal´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 (2 I , ⊆ ⊆) 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 a ´ltal´ anos gr´ afokat. Ezen mintak¨ornyezetek pontos defin´ıci´oj´at a k¨ovetkez˝o fejezetekben tal´aljuk. 11.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 ∈ H 1 , x 1 y elemekre f (y) 2 f (x). 11.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. 11.5. tulajdons´ ag. Gyakori minta minden r´eszmint´ aja gyakori.
´ KINYERESE ´ 11. FEJEZET. GYAKORI MINTAK
231
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 o ´ra 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 o´ra 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. 11.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 0 jelenti, hogy |x| < |y| eset´en a x ≺ y felt´etelnek is fenn kell a´llnia. 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. 11.7. defin´ıci´ o. Legyen MK = (M, ) mintak¨ ornyezet ´es 0 a egy line´ aris kiterjeszt´ese. Az 0 m minta `-elem˝ u r´eszmint´ ai k¨ oz¨ ul az 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.
11.1.1. Hat´ ekonys´ agi k´ erd´ esek A bemeneti adat ´es a mint´ak halmaza a´ltal´aban nagy. P´eld´aul bemeneti sorozatok eset´eben nem ritk´ak a 109 nagys´agrend˝ u sorozatok, a mintat´er pedig a´ltal´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 a´tlagosan, 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 ´ 11. FEJEZET. GYAKORI MINTAK
232
sz´ama meghaladja a 150-et, ´es a mai napig nem tudunk olyan algoritmusr´ol, amelyik az o¨sszes 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.
11.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 o¨sszes 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.
11.2.1. Nem b˝ ov´ıthet˝ o´ es z´ art mint´ ak 11.8. defin´ıci´ o. Az m gyakori minta B-re n´ezve nem b˝ov´ıthet˝o (maximal), ha nem l´etezik olyan m0 gyakori minta B-ben, amelynek m val´ odi r´eszmint´ aja. 11.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 0 (supp(m ) = 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 11.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. 11.11. defin´ıci´ o. Az m0 minta az m minta lez´artja, ha m m0 , supp(m) = supp(m0 ) ´es nincs m00 : m0 ≺ m00 , melyre supp(m0 ) = supp(m00 ). Nyilv´anval´o, ha m z´art, akkor lez´artja megegyezik o¨nmag´aval. 11.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 ´ 11. FEJEZET. GYAKORI MINTAK
233
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 a´ll, 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 o¨sszes 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).
11.2.2. K´ enyszerek kezel´ ese Nem mindig ´erdekes az o¨sszes 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 o¨sszes 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 : 11.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 x y ´ı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. 11.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. 11.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 0 amely, ha p(m) = igaz, ´es az m mint´ anak m prefixe. akkor p(m0 ) is igaz. Minden anti-monoton (monoton) predik´atum egyben prefix anti-monoton (prefix monoton) is. 11.16. defin´ıci´ o. A p predik´ atum er˝osen a´talak´ıthat´o, amennyiben egyszerre prefix antimonoton ´es prefix monoton. A 11.1 a´br´an l´athat´o a k´enyszerek kapcsolata [134]. 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 ´ 11. FEJEZET. GYAKORI MINTAK
234
triviális
anti−monoton prefix anti−monoton
monoton prefix monoton
erõsen átalakítható
nem átalakítható 11.1. a´bra. 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 o¨ssz´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 a´r´anak a´tlaga nagyobb-e egy r¨ogz´ıtett konstansn´al. Rendezz¨ uk a term´ekeket a´ruk 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 a´rai nagyobbak, mint a prefixben nem szerepl˝o term´ekei a´rai. Ez a k´enyszer prefix monoton, hiszen a prefix a legolcs´obb term´ekeket nem tar´ talmazza, ´ıgy a´tlaga nem lehet kisebb. Erdemes a´tgondolni, hogy ez a predik´atum r´aad´asul er˝osen a´talak´ıthat´o.
11.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 11.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 ´ 11. FEJEZET. GYAKORI MINTAK
235
11.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 a´ruh´azra, ahol kezdetben rendelkez´es¨ unkre a´llnak 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.
11.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 o¨sszes 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 algoritmusok1 , 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 a ´tlagnak.” 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 a´ll, hogy szinte az o¨sszes 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 a´ltal´anos m´odszerle´ır´ast. Egyes l´ep´eseket csak a minta t´ıpus´anak ismeret´eben lehet pontosan megadni.
11.4. Az APRIORI m´ odszer Az eredeti Apriori algoritmust gyakori elemhalmazok kinyer´es´ere haszn´alt´ak, ´es mint az AIS algoritmus [5] tov´abbfejlesztett v´altozata adt´ak k¨ozre. Rakesh Agrawal ´es Ramakrishnan Srikant [7] 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 ´ 11. FEJEZET. GYAKORI MINTAK
236
Heikki Mannila, Hannu Toivonen ´es A. Inkeri Verkamo [114]-ben. Az 5 szerz˝o v´eg¨ ul egyes´ıtette a k´et ´ır´ast [6]. 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 11.5 tulajdons´agot haszn´aljuk fel, ami ´ıgy sz´olt : Gyakori minta ” minden r´eszmint´aja gyakori.”. Az a´ll´ı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 a´tolvas´as´anak megkezd´ese el˝ott (a priori) a´ll´ıtja el˝o. Az algoritmus pszeudok´odja a k¨ovetkez˝o a´br´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 oa ´ll´ ı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 a´ll´ı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˝oa´ll´ı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 a´ll´ı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˝oa´ll´ıt´as´at, ahol abbahagytuk.
11.4.1. Jel¨ oltek el˝ o´ all´ıt´ asa Az `-elem˝ u jel¨oltek el˝oa´ll´ıt´as´anak egyszer˝ u m´odja az, hogy vessz¨ uk az o¨sszes `-elem˝ u mint´at, ´es azokat v´alasztjuk jel¨oltnek, amelyekre teljes¨ ul, hogy minden r´eszmint´ajuk gyako-
´ KINYERESE ´ 11. FEJEZET. GYAKORI MINTAK
237
Algorithm 9 Az Apriori m´ odszer Require: B : bementei adat min supp : t´amogatotts´agi k¨ usz¨ob `⇐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} oa ´ll´ ıt´ as(GY` ) GY ⇐ GY ∪ GY` ` ⇐ `+1 end while return GY : gyakori mint´ak ri. Sz¨ uks´egtelen az o¨sszes r´eszmint´at ellen˝orizni, ugyanis a t´amogatotts´ag anti-monotonit´as´ab´ol k¨ovetkezik az, hogy ha az o¨sszes (`−1)-elem˝ u r´eszminta gyakori, akkor az o¨sszes 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˝oa´ll´ıtunk, majd ellen˝orizz¨ uk, hogy r´eszmint´aik gyakoriak-e. Ha egy potenci´alis minta a´tesik 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 a´ll´ı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˝oa´ll´ı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˝oa´ll´ıt´as m´odja olyan, hogy nem a´ll´ıthatjuk el˝o ugyanazt a potenci´alis jel¨oltet k´et k¨ ul¨onb¨oz˝o m´odon, akkor ezt a jel¨olt-el˝oa´ll´ıt´ast ism´etl´es n´elk¨ ulinek nevezz¨ uk. N´ezz¨ unk egy p´eld´at. Legyenek a mintat´er elemei elemhalmazok. Akkor a´ll´ı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˝oa´ll´ı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˝oa´ll´ı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 ´ 11. FEJEZET. GYAKORI MINTAK
238
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˝oa´ll´ıtunk) ´es az ism´etl´es n´elk¨ ulis´eget k¨onny˝ u lesz bizony´ıtani. Algorithm 10 Jel¨ oltek el} oa ´ll´ ı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
11.4.2. Z´ art mint´ ak kinyer´ ese, az APRIORI-CLOSE algoritmus A z´art mint´ak jelent˝os´eg´et a 11.2.1 r´eszben m´ar t´argyaltuk. Itt most k´et feladat megold´as´aval foglalkozunk. Megn´ezz¨ uk, hogy az o¨sszes gyakori mint´ab´ol hogyan tudjuk el˝oa´ll´ıtani a z´artakat, illetve bemutatjuk az APRIORI-CLOSE [131–133] 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 : 11.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 GY k 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 o¨sszes (`−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 ´ 11. FEJEZET. GYAKORI MINTAK
239
11.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´ara 2 . 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 a´ll fenn, ´ıgy azokat az algoritmusokat kedvelj¨ uk, amelyek hat´ekonys´aga f¨ uggetlen a bemenet homogenit´as´at´ol. K¨onny˝ u a´tgondolni, hogy az Apriori algoritmus rendelkezik ezzel a tulajdons´aggal.
11.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 o¨sszegy˝ 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 a´llnak 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 a´llnak 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 o ¨ssze vannak vonva.
´ KINYERESE ´ 11. FEJEZET. GYAKORI MINTAK
240
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 [28] 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˝oa´ll´ı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 a´t 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 a´llapotban 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 a´tolvas´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 o¨sszesz´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 a´llom´asokat” l´etrehozni. P´eld´aul minden ” ezredik bemeneti elem lehet egy a´llom´as. Csak az a´llom´asokn´al n´ezz¨ uk meg, hogy egy jel¨olt t´amogatotts´aga el´erte-e min supp-ot, ´ıgy csak a´llom´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 o¨sszes, o˝t 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 a´llom´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 ´ 11. FEJEZET. GYAKORI MINTAK
241
j´atszik a bemenet beolvas´asa. A mai mem´oriakapacit´asok mellett ez ritk´an a´ll 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.
11.5.2. Zaki m´ odszere Zaki m´odszere [195] 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 = (2 I , ⊆), akkor I 0 ≺ 0 I 00 , 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 usz¨ob min supp : t´amogatotts´agi k¨ 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 ´ 11. FEJEZET. GYAKORI MINTAK
242
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 zaki seg´ ed rekurzi´os elj´ar´as, amelynek pszeudok´odja a ?? a´br´an l´athat´o. 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 J,ILL(J) ⇐ minim´ alis val´ odi fels} o korl´ at(m, m 0 , ILL(m, m0 )) {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 o¨sszes gyakori minta A Zaki f´ele jel¨olt el˝oa´ll´ıt´asnak k´et feladata van. Term´eszetesen az egyik a jel¨oltek el˝oa´ll´ıt´asa, de emellett az illeszked´esi list´akat is el˝oa´lltja. A jel¨olt-el˝oa´ll´ıt´as megegyezik az Apriori jel¨olt el˝oa´ll´ıt´as´anak els˝o l´ep´es´evel (potenci´alis jel¨oltek el˝oa´ll´ıt´asa). A m´asodik l´ep´est nem is tudn´ank elv´egezni, ugyanis nem a´ll rendelkez´es¨ unkre az o¨sszes r´eszminta, ´ıgy nem is tudjuk ellen˝orizni, hogy az o¨sszes 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. Legyenek ezek az A, C, D, G, M elemek. Az Apriori ezek ut´an el˝oa´ll´ıtana 52 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˝oa´ll´ı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 a´ll´ıthat el˝o, mint az APRIORI. A m´elys´egi bej´ar´as miatt ugyanis egy jel¨olt el˝oa´ll´ıt´as´an´al nem a´ll rendelkez´es¨ unkre az o¨sszes 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 a´ll´ı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˝oa´ll´ı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 ´ 11. FEJEZET. GYAKORI MINTAK
243
A bemenet sz˝ ur´es´enek o¨tlet´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 a´ltal´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 a´ltal´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˝oa´ll´ı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˝oa´ll´ı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.
11.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). 11.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 m0 -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 ” a´ll´ıtanak el˝o. A sz˝ ur´es a gyakori egyelem˝ u mint´akat haszn´alja ´es olyan S 0 bemenetet a´ll´ı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 a´ll´ı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 ´ 11. FEJEZET. GYAKORI MINTAK
244
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 suppS|m (m0 ), akkor m+m0 t´amogatotts´aga is suppS|m (m0 ). A m´odszer pszeudok´odja a ?? a´br´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, a´ltal´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 ´ 11. FEJEZET. GYAKORI MINTAK
245
11.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 [148, 173] 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 a´ll 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 85.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 o¨nmag´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 [148] 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 o˝ket 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 ´ 11. FEJEZET. GYAKORI MINTAK
246
adatb´azist, azonban az egyes part´ıci´ok I/O ig´eny´enek o¨sszege 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 a´ll´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 S i 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 addig, am´ıg f req∪i+` Sj (m) ≥ min f req. Ha ezalatt eljutunk az utols´o r´eszig, akkor vegy¨ uk 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 o¨sszes 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 o¨sszeg´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 [173] 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 o¨ssze 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 ∈ M V 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 M V 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 ´ 11. FEJEZET. GYAKORI MINTAK
247
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. 11.19. t´ etel. Legyen S0 az S bemeneti sorozat egy r´esze. Jel¨ olj¨ uk GY -vel az S-ben, GY 0 -vel az S0 -ben gyakori mint´ akat ´es GY ∗ -al azokat az S-ben gyakori mint´ akat, amelyek benne vannak 0 0 GY ∪ M V F K(GY )-ben (GY ∗ = GY ∩ (GY 0 ∪ M V F K(GY 0 ))). Amennyiben GY ∗ ∪ M V F K(GY ∗ ) ⊆ GY 0 ∪ M V 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 ∗ defin´ıci´oja miatt ekkor m 6∈ GY 0 ∪ M V F K(GY 0 ). Vizsg´aljuk azt a legkisebb m´eret˝ u m0 m-t, 0 0 ∗ 0 amire m ∈ GY ´es m 6∈ GY (ilyen m -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 ∪M V 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 ∈ M V F K(GY ∗ ). Ez ellentmond´ast jelent, hiszen a felt´etelnek teljes¨ ulnie kell, azonban van 0 olyan elem (m ), amely eleme a bal oldalnak, de nem eleme a jobb oldalnak. Tetsz˝oleges GY 0 halmaz eset´en az M V F K(GY 0 )∪GY 0 -t k¨onny˝ u el˝oa´ll´ıtani. S˝ot, amennyiben a gyakori mint´akat Apriori algoritmussal hat´arozzuk meg, akkor M V 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.
11.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 o¨sszes 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 a´ll fenn. Ennek oka, hogy gyakori mint´akat a´ltal´aban nagy, zajokkal terhelt adatb´azisokban keresnek. Ilyen adatb´azisban szinte az o¨sszes 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 ´ 11. FEJEZET. GYAKORI MINTAK
248
11.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 a´lland´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 [14, 36, 37, 125, 147, 168], 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 a´ltal´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, S0 i-ben tal´alhat´o gyakori mint´ak 0 (GY hS,S i ) ´es azok t´amogatotts´ag´anak meghat´aroz´asa. FUP algoritmus A FUP (Fast Update) [36] 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 o¨sszeg´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 a´br´an l´athat´o. A t´amogatotts´ag meghat´aroz´as, gyakoriak kiv´alogat´asa ´es a jel¨olt-el˝oa´ll´ı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 [37]). A F U P ´es F U P2 algoritmusok nem mentesek az Apriori algoritmus legfontosabb h´atr´any´at´ol, att´ol, hogy a teljes adatb´azist annyiszor kell a´tolvasni, 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 ´ 11. FEJEZET. GYAKORI MINTAK
249
Algorithm 14 FUP algoritmus Require: S : r´egi bemeneti adat S0 : u ´ j bemeneti adat S GY : r´egi gyakori mint´ak usz¨ob min f req : gyakoris´agi k¨ `⇐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 t´ amogatotts´ ag meghat´ aroz´ as(S 0 , J`1 ∪ J`2 ) ∗ 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} oa ´ll´ ı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 [168] 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 a´tolvas´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 11.19-as t´etel enn´el er˝osebb a´ll´ı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 a´tvizsg´alnunk, mert nem keletkezhetett u ´ j gyakori minta. ´ ultetve a t´etelt a jelenlegi k¨ornyezetbe : ha GY S∪S0 ∪M V F K(GY S∪S0 )⊆GY S ∪M V F K(GY S ), At¨ akkor biztosak lehet¨ unk, hogy nem keletkezett u ´ j gyakori minta, ´es csak a t´amogatotts´agokat kell friss´ıteni.
12. fejezet Gyakori sorozatok, bool formul´ ak ´ es epiz´ odok A kutat´asok k¨oz´eppontj´aban a gyakori elemhalmazok a´llnak. Tov´abb l´ephet¨ unk, ´es kereshet¨ unk bonyolultabb t´ıpus´ u mint´akat is. Err˝ol sz´ol ez a fejezet.
12.1. Gyakori sorozatok kinyer´ ese Napjainkban az elektronikus kereskedelem egyre nagyobb m´eretet o¨lt. 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) o´ri´asi halmaza a´llt 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 a´ltal´anos v´as´arl´asi szab´alyokat a´ll´ı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 a´ruh´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. 250
´ ES ´ EPIZODOK ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
251
12.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 11.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 : 12.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 a´ll´ıtani a gyakori sorozatokat.
12.1.2. APRIORI A fent defini´alt feladat a gyakori mintakinyer´es egy speci´alis esete, ´ıgy alkalmazhat´ok r´a az a´ltal´anos algoritmusok, p´eld´aul az APRIORI. Az a´ltal´anos le´ır´ast megadtuk a 11.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˝oa´ll´ıt´as´at ´es a t´amogatotts´ag meghat´aroz´as´at. Jel¨ oltek el˝ o´ all´ıt´ asa Az APRIORI jel¨oltel˝oa´ll´ıt´asa k´et l´ep´esb˝ol a´ll : potenci´alis jel¨oltek el˝oa´ll´ı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˝oa´ll´ı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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
252
A gener´atorok lehetnek azonos sorozatok is. P´eld´aul az hG, C, Ii sorozat o¨nmag´aval a hG, C, I, Ii jel¨oltet fogja el˝oa´ll´ıtani. L´atnunk kell, hogy ez a jel¨oltel˝oa´ll´ı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 sor´ an le´ırtakkal. A sz´ofa bej´ar´asakor u ¨ gyelni kell arra, hogy bebizonyosodott, hogy azok a f´erfiak a sorozatban lehetnek ism´etl˝od˝o elemek, illetve az ele- ´es n˝ ok, akik hetente legal´ abb egyszer mek nincsenek sorba rendezve. A rekurzi´os l´ep´es nem isznak te´ at, kevesebb es´ellyel betek´et rendezett lista k¨oz¨os elemeinek meghat´aroz´as´at gednek meg v´egb´el, hasny´ almirigy´es jelenti, hanem egy rendezett lista (az adott bels˝o vastagb´eldaganatban, illetve a betegs´eg pontb´ol kiindul´o ´elek c´ımk´ei) azon elemeinek meg- esetleges kialakul´ asa sor´ an lelassul hat´aroz´as´at, amelyek szerepelnek egy m´asik list´aban a r´ akos sejtek burj´ anz´ asa.” Forr´as : (az aktu´alis bemeneti sorozat vizsg´aland´o r´esze). http://www.vital.hu/themes/ alter/bio9.htm
12.1.3. Elemhalmazokat gyakori sorozatok
tartalmaz´ o
Az el˝oz˝o r´eszben defini´alt feladat a´ltal´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. 12.2. defin´ıci´ o. S = hI1 , . . . , Im i sorozat tartalmazza S 0 = hI10 , . . . , In0 i sorozatot (jel¨ ol´essel S 0 0 0 0 S), ha l´eteznek j1 < j2 < . . . < jn eg´esz sz´ amok u ´gy, hogy I1 ⊆ Ij1 , I2 ⊆ Ij2 , . . . , In ⊆ 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 [8].
´ ES ´ EPIZODOK ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
253
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˝oa´ll´ı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 javasoltak az APRIORIALL kital´al´oi1 . 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 o˝ket, u ´ jabb feladattal a´lltak el˝o [163] [192] ! 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 a´ruh´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 a´rut), hanem ink´abb elfelejtett valamit. Logikus, hogy a k´et v´as´arl´ast o¨sszevonhatjuk, ´es lehet, hogy az o¨sszevont 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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
254
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 IM Ej ), tj ⊆ I, T IM Ej ∈ R. A tˆ = (t, T IM E) 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 IM E-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 a´ll´o sorozat, illetve elemhalmazokb´ol a´ll´o sorozat) ez´ert defini´alnunk kell a t´amogatotts´agot. 12.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 IM E − tˆli .T IM E≤ id˝o ablak, 1 ≤ i ≤ m, III. tˆli .T IM E − tˆui−1 .T IM E > min eltelt id˝o, 2 ≤ i ≤ m IV. tˆui .T IM E − tˆli−1 .T IM E ≤ max eltelt id˝o, 2 ≤ i ≤ m A fentiekb˝ol l´atszik, hogy a 12.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˝oa´ll´ıt´as´anak m´odja egyezzen meg az APRIORIALL jel¨oltel˝oa´ll´ı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 a´ll´ıtotta el˝o az o¨sszes 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 11.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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
255
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 M t´amogatotts´aga nagyobb, mint M 0 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 a´t´ı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. 12.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 o¨sszeg´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. 12.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 a´ll´ı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 S 2 -b˝ol az utols´o elem legnagyobb sorsz´am´ u elem´et t¨or¨oln´enk. A jel¨olt sorozat az S 2 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˝oa´ll´ı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 ´ 12. 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
256
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
12.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.
12.1.4. Sorozat t´ıpus´ u minta ´ altal´ anos´ıt´ asa Tetsz˝oleges elemsorozatot a´br´azolhatunk egy gr´affal. P´eld´aul a hA, B, Ci sorozat megfelel˝oje A
B
C
gr´af. Az a´ltalunk defini´alt sorozatot, mindig egy nagyon egya szer˝ u gr´affal a´br´azoln´ank, ami egy ir´any´ıtott, k¨ormentes, c´ımk´ezett u ´ t. Mi sem term´eszetesebb, hogy a sorozat a´ltal´anos´ıt´asa egy olyan valami, amit teljesen a´ltal´anos ir´any´ıtott, k¨ormentes, c´ımk´ezett gr´affal a´br´azolunk. P´eld´aul lehet egy a´ltal´anos mint´ahoz tartoz´o gr´af a 12.1 a´br´an l´athat´o. D A
C B
C
B
12.1. a´bra. P´elda : sorozat a´ltal´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 a´ltal´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 a´ltal´anos´ıt´asa ugyanis a r´eszben rendez´es, amit k¨ormentes, ir´any´ıtott gr´affal szok´as a´br´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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
257
elemet ´ertj¨ uk. 12.6. defin´ıci´ o. Az m = ({(tid1 , i1 ), . . . , (tidm , im )}, ≤) minta tartalmazza az m0 = = ({(tid01 , i01 ), . . . , (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 ≤ ≤ m), ´es (tid0k , i0k ) ≤ 0 (tid0l , i0l ) eset´en (f (tid0k ), i0k ) ≤ (f (tid0l ), i0l ) is teljes¨ ul minden (1 ≤ k, l ≤ m) indexre. Az a´ltal´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.
12.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 [111], 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.
12.3. Gyakori epiz´ odok Az eddig r´eszekben sok elemhalmaz, sorozat volt adva, ´es kerest¨ uk a gyakori mint´akat. Ezek a mint´ak a´ltal´anosan ´erv´enyes inform´aci´ot adtak : az adott v´as´arl´oi minta sok v´as´arl´ora
´ ES ´ EPIZODOK ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
258
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[112, 113]. 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 a´ltal´anos´ıthat´o elemhalmazokat tartalmaz´o sorozatokra, vagy a´ltal´anos mint´ara is. A t´amogatotts´agi f¨ uggv´eny lesz u ´ j, ami abb´ol fakad, hogy egyetlen bemeneti sorozat van adva.
12.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, 12.7. defin´ıci´ o. Az S = hi1 , i2 , . . . , in i sorozatnak a hij , ij+1 , . . . , ij+w−1 i sorozat egy w elem sz´eles o¨sszef¨ ugg˝o r´eszsorozata, ha 1 ≤ j ≤ n + 1 − w. Ha w < n, akkor val´odi o¨sszef¨ 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. 12.8. defin´ıci´ o. A m minta minim´ alisan illeszkedik az S sorozatra, ha S-nek nincsen olyan val´ odi o ¨sszef¨ 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 12.1 r´eszben megadottal. K´et k¨ ul¨onb¨oz˝o t´amogatotts´agi defin´ıci´o terjedt el. 12.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 o ¨sszef¨ 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 a´ltal´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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
259
12.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˝oa´ll´ı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 12.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 o¨sszef¨ 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 o¨sszef¨ 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 o¨sszef¨ 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 o¨sszef¨ 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. i r´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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
260
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; } 12.2. a´bra. r´egi elem kil´ep´ese megadja, hogy mi´ota van jelen az epiz´od a sorozatokban. Az algoritmus pszeudok´odja az al´abbi a´br´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 (12.3 a´bra). 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; } 12.3. a´bra. 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˝oa´ll´ıt´asa egyszer˝ u, az al´abbi a´bra 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 ´ 12. FEJEZET. GYAKORI SOROZATOK, BOOL FORMULAK
261
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 a´llapotba 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 a´llapotban l´ev˝o – automata, akkor kezdeti index felveszi az aktu´alis elem index´et. Amennyiben egy elfogad´o a´llapotban l´ev˝o automat´at t¨orl¨ unk, ´es nincs m´as, ugyanahhoz az epiz´odhoz tartoz´o elfogad´o a´llapot´ 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 o¨sszes 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 a´llapotban l´ev˝o automat´akat t¨obbsz¨or¨osen t´arolni : el´eg azt ismernem, amelyik utolj´ara l´epett be ebbe az a´llapotba, 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 o¨sszes automat´an´al megn´ezn¨ unk, hogy u ´ j a´llapotba l´ephetnek-e, mert az elem epiz´ odjai list´aj´aban megtal´alhat´o az o˝t tartalmaz´o o¨sszes 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 [97][103] [105][104][76] cikkekben olvashatunk.
13. 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 a´ltal´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 o¨ssze, 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 a´ltal´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.
13.1. Az izomorfia probl´ em´ aja Ha gr´afokra gondolunk, akkor szem¨ unk el˝ott vonalakkal – ir´any´ıtott gr´afok eset´eben nyilakkal – o¨sszek¨ot¨ott pontok jelennek meg. C´ımk´ezett gr´afokn´al a pontokon ´es/vagy az ´eleken c´ımk´ek, a´ltal´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 a´br´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 a´br´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 a´ll 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 262
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
263
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 [176] ´es B.D.McKayt´ol a Nauty [117]. 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 G 1 , 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 o¨sszes 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 a´ltal le´ırt csoportba tartoznak. Ha az invari´ansokkal ucsokat sz´etosztottuk a V 1 , . . . , Vk Qka V cs´ csoportokba, akkor a sz´oba j¨ov˝o bijekci´ok sz´ama i=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 bi” adat ´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 a´ltal´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 a´ll´ı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. 13.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˝oa´ll´ı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 ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
264
A szomsz´edoss´agi m´atrix alap´ u kanonikus k´od el˝oa´ll´ıt´as´ahoz szint´en az invari´ansokat c´elszer˝ u haszn´alni. Ez´altal az oszlopok o¨sszes 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
13.1. a´bra. P´elda kanonikus k´odol´asra N´ezz¨ uk p´eldak´ent a 13.1 a´br´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.
13.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 = {v 1 , v2 , . . . , vm } cs´ ucsok halmaza. A mintak¨ornyezet ekkor az M K = ({G1 = (V1 , E1 ), G2 = (V2 , E2 ), . . .}, ) p´ar, ahol Vi ⊆ V, minden gr´af o¨sszef¨ 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 c E ´es cV f¨ uggv´enyek adj´ak meg. Az a´ltal´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 : G 0 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. 13.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 0 (u, v) ∈ E 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 ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
265
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 o¨sszege. Miel˝ott r´at´ern´enk az a´ltal´anos eset t´argyal´as´ara n´ezz¨ uk meg, hogyan lehet kinyerni a gyakori c´ımk´ezett f´akat.
13.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 a´tmenet 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
13.2. a´bra. 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 a´br´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
13.3. a´bra. 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 ´ ´ 13. FEJEZET. GYAKORI FAK AFOK F 0 1 3 1
2
1
F0
F00
1
0 2
1
2
266
2
2
2 2
13.4. a´bra. P´elda : gy¨okeres r´eszf´ak tartalmaz´as´ara A 13.4 a´br´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 a´br´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 o˝rzi 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 a´br´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 a´ll´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.
13.3.1. TreeMinerH A TreeMinerH [189] az APRIORI s´em´ara ´ep¨ ul (annak ellen´ere, hogy Zaki publik´alta). N´ezz¨ uk meg, hogyan a´ll´ı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 a´ltal´anoss´ag megs´ert´ese n´elk¨ ul feltehetj¨ uk, 0 0 00 hogy szuloF (` − 1) ≤ szuloF (` − 1). A potenci´alis jel¨olt a G gr´af egy cs´ uccsal val´o b˝ov´ıt´ese 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˝oa´ll´ı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 szuloF 0 (`−1) = szuloF 00 (`−1). Ekkor k´et jel¨oltet a´ll´ıtunk el˝o. Az els˝oben az u ´ j ´elt a szulo(`−1) cs´ ucshoz, a m´asodikban a szulo(`−1)+1 cs´ ucshoz kapcsoljuk. Ha szulo F 0 (`−1)<szuloF 00 (`−1), akkor az u ´ j ´elt a szuloF 00 (`−1)-hez csatoljuk. Jel¨olt-el˝oa´ll´ıt´asra mutat p´eld´at a k¨ovetkez˝o a´bra :
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK F0
F 00
1
1
2
4
267
2 3
F0 ⊗F0
F 0 ⊗ F 00
1 2
4
1 4
2
F 00 ⊗ F 00 1
4 4
2
4 3
3
1
1
2
2 3
3 3
13.5. a´bra. P´elda jel¨oltek el˝oa´ll´ıt´as´ara Szok´asos m´odon a jel¨oltek el˝oa´ll´ıt´as´anak m´asodik l´ep´es´eben minden ` − 1 elem˝ u r´eszf´at ellen˝orizni kell, hogy gyakori-e. T´ amogatotts´ ag meghat´ aroz´ asa Az egy- ´es k´etelem˝ u f´ak t´amogatotts´ag´at vektorral, illetve t¨ombbel c´elszer˝ u meghat´arozni. A vektor i-edik eleme t´arolja a t´amogatotts´ag´at az i-edik c´ımk´enek. A t¨omb i-edik sor´anak j-edik eleme t´arolja a t´amogatotts´ag´at annak a k´etelem˝ u f´anak, amelyben a gy¨ok´er c´ımk´eje az i-edik gyakori c´ımke, a m´asik cs´ ucs c´ımk´eje a j-edik gyakori c´ımke. A kett˝on´el nagyobb elemsz´am´ u f´ak t´amogatotts´ag´anak meghat´aroz´as´an´al sz´ofa jelleg˝ u adatstrukt´ ur´at javasoltak. A f´at a f´ak c´ımkesorozatai alapj´an ´ep´ıtj¨ uk fel, de a levelekben a c´ımkel´ancot t´aroljuk. Egy lev´elben t¨obb jel¨oltfa is lehet, hiszen k¨ ul¨onb¨oz˝o f´aknak lehet azonos a c´ımkel´ancuk. Amikor egy bemeneti f´ara illeszked˝o jel¨olteket kell meghat´aroznunk, akkor a bemenet c´ımkesorozata alapj´an eljutunk azokhoz a jel¨oltekhez, amelyek illeszkedhetnek a bemeneti f´ara. Egy jel¨olt c´ımkesorozat´anak illeszked´ese sz¨ uks´eges felt´etele annak, hogy maga a jel¨olt is illeszkedjen a bemeneti f´ara. Ha eljutunk egy lev´elbe, akkor az ott tal´alhat´o c´ımkesorozatok mindegyik´et megvizsg´aljuk egyes´evel, hogy topologikusan illeszkedik-e a bemenet c´ımkel´ancra. Ennek r´eszleteit nem ismertetj¨ uk.
13.3.2. TreeMinerV A TreeMiner algoritmus [190] Zaki m´odszer´et haszn´alja. A vertik´alis adatb´azisb´ol kiindulva el˝oa´ll´ıtja a egyelem˝ u f´ak illeszked´esi list´ait ´es a tov´abbiakban m´ar csak ezen list´akkal dolgozik. Zaki m´odszer´et ismertett¨ uk a 11.5.2 r´eszben, a jel¨olt-el˝oa´ll´ıt´as pedig megegyezik a TreeMinerH jel¨olt-el˝oa´ll´ıt´as´anak els˝o l´ep´es´evel. Csak azt kell tiszt´aznunk, hogyan hat´arozzuk meg a
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
268
jel¨oltek t´amogatotts´ag´at. Jel¨ oltek t´ amogatotts´ ag´ anak meghat´ aroz´ asa Az egyelem˝ u jel¨oltek meghat´aroz´as´ahoz ism´et elegend˝o egy lista, a k´etelem˝ u jel¨oltekhez pedig egy t¨omb. A kett˝on´el nagyobb m´eret˝ u jel¨oltek meghat´aroz´as´anak kulcsa az illeszked´esi lista. A kiindul´o illeszked´esi list´akat (amelyek az egyelem˝ u gyakori f´akhoz tartoznak) k´etelem˝ u jel¨oltek meghat´aroz´asa k¨ozben ´ep´ıtj¨ uk fel. Az a f˝o k´erd´es, hogy mik´ent kell defini´alni az illeszked´esi list´akat c´ımk´ezett gy¨okeres f´ak eset´eben ahhoz, hogy teljes¨ ulj¨on a k´et elv´ar´as (eml´ekeztet˝ou ¨ l : a t´amogatotts´ag egy´ertelm˝ uen meghat´arozhat´o legyen bel˝ole, ´es a jel¨oltek illeszked´esi list´ait a gener´atoraib´ol el˝o tudjuk a´ll´ıtani). A fogalmak szeml´eltet´es´ere a 13.6 a´br´an tal´alhat´o f´akat fogjuk haszn´alni. Jel¨olj¨ uk egy F0
F1
A
B
F2 B
C
D
A
B
B
D
A
C
C
E
B
A
B
C
D
13.6. a´bra. P´eldaadatb´azis : c´ımk´ezett gy¨okeres f´ak tetsz˝oleges F gy¨okeres fa j cs´ ucs´ab´ol indul´o r´eszfa legnagyobb sorsz´am´at M AX F (j)-vel. P´eld´aul M AXF0 (0) = 3, M AXF2 (4) = 7,M AXF2 (1) = 2. Az `-elem˝ u F fa illeszked´esi list´aj´anak minden eleme F -nek egy el˝ofordul´as´at r¨ogz´ıti. Tegy¨ uk fel, hogy a F fa r´esze az i-edik bementi f´anak (Fi -nek) ´es a tartalmaz´as injekt´ıv f¨ uggv´eny´et f -el jel¨olj¨ uk. Ekkor az illeszked´esi lista ezen illeszked´es´et le´ır´o eleme a k¨ovetkez˝o 4es : i, hf (0), f (1), . . . , f (`−1)i, f (`), M AXFi (f (`)) . Nyilv´anval´o, hogy az illeszked´esi list´ab´ol a t´amogatotts´ag ´es a s´ ulyozott t´amogatotts´ag is k¨onny˝ uszerrel meghat´arozhat´o. M´ar csak azt kell megn´ezn¨ unk, hogy a´ll´ıtjuk el˝o a jel¨olt illeszked´esi list´aj´at, azaz hogyan illeszt¨ unk k´et illeszked´esi list´at. K´et illeszked´esi lista illeszt´es´enek alapfelt´etele, hogy a 4-esek els˝o k´et tagjai megegyezzenek, hiszen azonos gr´afban l´ev˝o illeszked´eseket keres¨ unk (1. tag) ´es a gener´atorok prefixei azonosak 0 00 (2. tag). Eml´eksz¨ unk, hogy a F , F illeszt´es´en´el k´et esetet k¨ ul¨onb¨oztett¨ unk meg, att´ol f¨ ugg˝oen, 0 hogy az u ´ j cs´ ucsot F legnagyobb sorsz´am´ u elem´enek testv´ere lesz vagy gyereke. Jel¨olj¨ uk a k´et fa illeszked´esi list´ainak 3. ´es 4. tagj´at f (`), M AXFi (f (`)) ´es f 0 (`), M AXFi (f 0 (`))-el.
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
269
Az els˝o t´ıpus´ u illeszt´es felt´etele, hogy M AXFi (f (`))
13.4. Gyakori r´ eszf´ ak ¨ FOLYT. KOV. k 1.5 F´ak eset´eben a r´eszfa izomorfia eld¨ont´es´ere l´etezik polinom idej˝ u (pontosabban O(n log ), k ahol k a mintafa, n a m´asik fa cs´ ucsainak sz´ama) algoritmus [157]. ¨ FOLYT. KOV.
13.5. A gyakori fesz´ıtett r´ eszgr´ afok Ebben a r´eszben bemutatjuk a legismerteb gyakori fesz´ıtett r´eszgr´afokat kiny˝o algoritmust. A MK = (G, )-ben mintat´er elemei c´ımk´ezett egym´assal nem izomorf gr´afok ´es G 0 G, ha G0 a G-nek fesz´ıtett r´eszgr´afja. A gr´af m´eret´et a cs´ ucsainak sz´ama adja meg. A bemenet c´ımk´ezett gr´afok sorozata. A G gr´af t´amogatotts´ag´an azon bemeneti elemek a sz´am´at ´ertj¨ uk, amelyeknek l´etezik G-vel izomorf fesz´ıtett r´eszgr´afjuk (fesz´ıtett r´eszgr´af fogalma l´asd alapfogalmak 2.3 r´esz).
13.5.1. Az AcGM algoritmus Az AcGM algoritmus [82] – ami az AGM jav´ıtott v´altozata [81] – a gyakori fesz´ıtett r´eszgr´afokat nyeri ki. Az algoritmus az APRIORI s´em´at k¨oveti. Ahhoz, hogy az o¨sszes o¨sszef¨ ugg˝o fesz´ıtett r´eszgr´afot megtal´alja el˝oa´ll´ıtja a f´elig o ¨sszef¨ ugg˝ o fesz´ıtett r´eszgr´afokat is. Egy gr´af f´elig o¨sszef¨ ugg˝o, ha o¨sszef¨ ugg˝o, vagy k´et o¨sszef¨ ugg˝o komponensb˝ol a´ll, ahol az egyik komponens egyetlen cs´ ucsot tartalmaz. Az eg´esz algoritmus sor´an a gr´afok szomsz´eds´agi m´atrixszaival dolgozunk. A szomsz´edoss´agi m´atrix eredeti defin´ıci´oja alapj´an nem t´arolja a c´ımk´eket, ez´ert ebben a r´eszben a G = =(V, E, cV , cE ) gr´af f bijekci´oj´ahoz tartoz´o AG,f szomsz´edoss´agi m´atrix´anak elemei (aij a m´atrix
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
270
i-edik sor´anak j-edik elem´et jel¨oli) : , ha i 6= j ´es (f −1 (i), f −1 (j)) ∈ E, c(eij ) ai,j = c(f −1 (i)) , ha i = j, 0 , k¨ ul¨onben
Az AG,f elemeib˝ol ´es a cs´ ucsok c´ımk´eib˝ol egy k´odot rendelhet¨ unk a G gr´afhoz : CODE(AG,f ) = a1,1 , a2,2 , . . . , ak,k , cV (f −1 (k)a1,2 , a1,3 , a2,3 , a1,4 , . . . , ak−2,k , ak−1,k , azaz el˝osz¨or felsoroljuk a cs´ ucsok c´ımk´eit, majd a szomsz´edoss´agi m´atrix fels˝o h´aromsz¨ogm´atrix´anak elemeit. K¨ ul¨onb¨oz˝o bijekci´ok k¨ ul¨onb¨oz˝o szomsz´edoss´agi m´atrixot, ´es ´ıgy k¨ ul¨onb¨oz˝o k´odokat eredm´enyeznek. Amennyiben a c´ımk´eken tudunk egy rendez´est defini´alni, akkor a k´odokat is tudjuk rendezni. Legyen a G gr´af kanonikus k´odol´asa az a k´od, amelyik a legnagyobb ezen rendez´es szerint. A kanonikus k´odhoz tartoz´o szomsz´edoss´agi m´atrixot kanonikus szomsz´edoss´ agi m´ atrixnak h´ıvjuk. Az eddigiekhez hasonl´oan most is azt kell tiszt´aznunk, hogy mik´ent a´ll´ıtjuk el˝o a jel¨olteket ´es hogyan hat´arozzuk meg a t´amogatotts´agukat. Jel¨ oltek el˝ o´ all´ıt´ asa Az X = AG0 ,f ´es Y = AG00 ,g ` × ` m´eret˝ u szomsz´edoss´agi m´atrixokat, ahol G0 o¨sszef¨ ugg˝o, G00 pedig f´elig o¨sszef¨ ugg˝o gr´af, akkor illesztj¨ uk, ha teljes¨ ul h´arom felt´etel : – Ha az X ´es Y -b´ol t¨or¨olj¨ uk az utols´o sort ´es oszlopot, akkor azonos (T ) m´atrixot kapunk, ´es a cs´ ucsok c´ımk´ei is rendre megegyeznek : T y1 T x1 . , Y` = T X` = y2 yl,l xT2 xl,l – T egy kanonikus szomsz´edoss´agi gr´af. – ha xl,l = yl,l , akkor legyen code(X) < code(Y ), ellenkez˝o esetben xl,l < yl,l vagy G0 ne legyen o¨sszef¨ ugg˝o. A potenci´alis jel¨olt szomsz´edoss´agi m´atrixa a k¨ovetkez˝o lesz : T x1 y1 xl,l z`,`+1 , Z`+1 = xT2 T y2 z`+1,` yl,l
ahol z`,`+1 ´es z`+1,` 0-´at ´es az o¨sszes lehets´eges ´elc´ımke ´ert´ek´et felvehetik. Ir´any´ıtatlan gr´afok eset´eben a k´et ´ert´eknek meg kell egyeznie. Az ilyen m´odon l´etrehozott szomsz´edoss´agi m´atrixot a szerz˝ok norm´ al form´ aj´ u szomsz´edoss´agi m´atrixnak nevezik. Az els˝o felt´etel szerint nem csak azt v´arjuk el, hogy a k´et illesztend˝o mint´anak legyen (` − −1)-elem˝ u k¨oz¨os r´eszmint´aja, hanem m´eg azt is, hogy ez a r´eszminta mindk´et gener´ator prefixe is legyen. Tulajdonk´eppen ez biztos´ıtja azt, hogy az illeszt´esk´ent kapott jel¨olt m´erete ` + 1
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
271
legyen. Ha a m´asodik ´es harmadik felt´etelnek nem kellene teljes¨ ulnie, akkor sokszor ugyanazt a potenci´alis jel¨oltet hozn´ank l´etre. Az algoritmus nem lenne teljes, amennyiben csak o¨sszef¨ ugg˝o B C D gr´afok lehetn´enek a gener´atorok. Az A gr´afot p´eld´aul a fenti jel¨olt el˝oa´ll´ıt´assal nem lehetne kinyerni. N´ezz¨ unk egy p´eld´at. A k¨ovetkez˝o a´br´an k´et gyakori 3 cs´ ucs´ u gr´afot l´athatunk, amelyb˝ol a jel¨olt el˝oa´ll´ıt´as sor´an a jobb oldalon l´athat´o gr´afot hozzuk l´etre. Az els˝o gr´af szomsz´edoss´agi 0 1 0 0 1 0 m´atrixa 1 0 1 , a m´asodik´e 1 0 1 , az illeszt´es sor´an kapott szomsz´edoss´agi m´atrix pedig 0 1 0 0 1 0 0 0 1 0 1 0 1 1 . 0 1 0 z 0 1 z 0
G0 A
B
G00
⊗
B
A
B
G0 ⊗ G00
→
C
A
B
B
C
13.7. a´bra. P´elda jel¨oltek el˝oa´ll´ıt´as´ara A jel¨olt-el˝oa´ll´ıt´as m´asodik f´azis´aban minden ` elem˝ u fesz´ıtett r´eszgr´afr´ol el kell d¨onteni, hogy gyakori-e. Amennyiben az o¨sszes r´eszgr´af gyakori, akkor a potenci´alis jel¨olt val´odi jel¨olt lesz, ami azt jelenti, hogy meg kell hat´arozni a t´amogatotts´ag´at. Sajnos ez a m´asodik l´ep´es nem annyira egyszer˝ u, mint elemhalmazok, sorozatok, gy¨okeres f´ak eset´eben. A fesz´ıtett r´eszgr´af egy szomsz´edoss´agi m´atrix´at megkaphatjuk, ha t¨or¨olj¨ uk a m´atrix adott index˝ u sor´at ´es oszlop´at. A probl´em´at az okozza, hogy az ´ıgy kapott m´atrix nem biztos, hogy norm´al form´aj´ u lesz. Az AcGM a k¨ovetkez˝o m´odszerrel alak´ıtja a´t a r´eszm´atrixot norm´al form´aj´ uv´a. FOLYT. KOV. t´ amogatotts´ agok meghat´ aroz´ asa A jel¨oltek el˝oa´ll´ıt´asa ut´an rendelkez´es¨ unkre fog a´llni egy nagy halom norm´al form´aj´ u szomsz´edoss´agi m´atrix. Ugyanannak a gr´afnak t¨obb norm´al form´aj´ u szomsz´edoss´agi m´atrixa l´etezik ez´ert minden m´atrixhoz hozz´a kell rendelni az a´ltala reprezent´alt gr´af kanonikus k´odj´at. FOLYT. KOV. Ha az azonos gr´afot reprezent´al´o norm´al form´aj´ u szomsz´edoss´agi m´atrixok k¨oz¨ ul ki tudtuk v´alasztani a norm´al form´aj´ u szomsz´edoss´agi m´atrixot, akkor a tov´abbiakban m´ar csak ezekkel dolgozunk, teh´at csak ezekhez rendel¨ unk – kezdetben 0 ´ert´ek˝ u – sz´aml´al´okat. A bemeneti gr´afokat egyes´evel vessz¨ uk ´es minden jel¨oltet megvizsg´alunk, hogy izomorf-e a bemeneti gr´af valamely fesz´ıtett r´eszgr´afj´aval. Felt´etelezz¨ uk, hogy a bemeneti m´atrix kanonikus szomsz´edoss´agi m´atrixa rendelkez´es¨ unkre a´ll. Ez a r´eszfeladat tulajdonk´eppen a r´eszgr´af izomorfia feladata, amir˝ol tudjuk, hogy NP-teljes. A feladatot azonban gyorsan megoldhatjuk, ha tudjuk, hogy a jel¨olt `-elem˝ u fesz´ıtett r´eszgr´afja a bemeneti gr´af melyik fesz´ıtett r´eszgr´afj´aval volt izomorf. Nem kell m´ast tenn¨ unk, mint megvizsg´alni, hogy az u ´ j cs´ ucs ´es a hozz´a tartoz´o ´el illeszkedik-e a bemeneti gr´af r´eszgr´afj´ara.
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
272
13.6. A gyakori r´ eszgr´ afok keres´ ese Ebben a r´eszben feltessz¨ uk, hogy a mintat´er elemei o¨sszef¨ ugg˝o gr´afok ´es G 0 G, ha G0 a G gr´afnak r´eszgr´afja. Eben a mintak¨ornyezetben egy gr´af m´eret´et az ´eleinek sz´ama adja meg. A bemenet c´ımk´ezett gr´afok sorozata. A G gr´af t´amogatotts´ag´an azon bemeneti elemeknek a sz´am´at ´ertj¨ uk, amelyeknek l´etezik G-vel izomorf r´eszgr´afja. Bemutatjuk a k´et legismertebb algoritmust az FSG-t ´es a gSpan-t.
13.6.1. Az FSG algoritmus Az FSG algoritmus [100] az APRIORI s´em´ara ´ep¨ ul. A gr´afok t´arol´as´ahoz szomsz´edoss´agi list´at haszn´al. Amikor egy gr´afnak el˝o kell a´ll´ıtani a kanonikus k´odj´at, akkor a szomsz´edss´agi list´at szomsz´edoss´agi m´atrix´a alak´ıtja. Amennyiben a gr´afok ritk´ak, a szomsz´edoss´agi list´ak kevesebb helyet ig´enyelnek, mint a m´atrixok. Megszokhattuk m´ar, hogy a f˝o l´ep´es a jel¨oltek el˝oa´ll´ıt´asa. Jel¨ oltek el˝ o´ all´ıt´ asa K´et `-elem˝ u G1 = (V1 , E1 ), G2 gr´afot akkor illeszt¨ unk, ha van (`−1)-elem˝ u k¨oz¨os r´eszgr´afjuk (ezt h´ıvtuk magnak), ´es az G1 kannonikus k´odja nem nagyobb G2 kannonikus k´odj´an´al. Ez azt jelenti, hogy minden gr´afot o¨nmag´aval is illeszt¨ unk. K´et gr´af illeszt´es´en´el – ak´arcsak k´et elemsorozatok eset´eben – t¨obb gr´af j¨on l´etre. Jel¨olj¨ uk a G2 -nek a magba nem tartoz´o ´el´et e = = (u, v)-vel. Az el˝oa´ll´ıtott gr´afok a G1 b˝ov´ıt´ese lesz egy olyan e0 = (u0 , v 0 ) ´ellel, amelyre u0 ∈ V1 , e0 6∈ E1 , cE (e) = cE (e0 ), cV (u) = cV (u0 ) ´es cV (v) = cV (v 0 ). Teh´at egy megfelel˝oen c´ımk´ezett ´elt helyez¨ unk be a G1 gr´afba. Ezt t¨obbf´elek´eppen tehetj¨ uk, ´ıgy t¨obb potenci´alis jel¨oltet hozunk l´etre. Lehet, hogy az u ´ j ´el u ´ j cs´ ucsot is fog eredm´enyezni, de az is lehet, hogy csak k´et megl´ev˝o pont k¨oz¨ott h´ uzunk be egy u ´ j ´elt. Ezt szeml´elteti a 13.8 a´bra.
G1 A
A
A
B
A Z
X Y
G1 ⊗ G 2
G2
A
X
B
→
A
YZ
A Z
X B
A
A
X X
B
13.8. a´bra. P´elda : gr´af illeszt´ese Az el˝oa´ll´ıtott potenci´alis jel¨oltek sz´am´at n¨oveli az a t´eny is, hogy a magnak t¨obb automorfizmusa lehet, ´ıgy az u ´ j ´elt t¨obb cs´ ucshoz is illeszthetj¨ uk. Erre mutat p´eld´at a k¨ovetkez˝o a´bra. A harmadik ok, ami´ert k´et gr´af t¨obb potenci´alis jel¨oltet a´ll´ıthat el˝o az, hogy k´et gr´afnak t¨obb k¨oz¨os r´eszgr´afja (magja) is lehet. Egy ilyen eset l´athat´o a 13.10 a´br´an. Miut´an el˝oa´ll´ıtottuk a potenci´alis jel¨olteket, minden potenci´alis jel¨olt (` − 1)-elem˝ u r´eszgr´afj´at ellen˝orizz¨ uk, hogy gyakori-e. Azok a potenci´alis jel¨oltek leszenek jel¨oltek, amelyek minden val´odi r´eszhalmaza gyakori ´es m´eg nem vett¨ uk fel a jel¨oltek k¨oz´e. Ez ut´obbi felt´etel m´ar sejteti, hogy a fenti jel¨olt-el˝oa´ll´ıt´as nem ism´etl´es n´elk¨ uli. Az algoritmus a gr´afok kanonikus
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
G1 C X A
Y
G1 ⊗ G 2
G2 B
C
→
Z
A
A
Y
A
B
C
Y
B Z
X
Z A
273
A
A
Y
X A
13.9. a´bra. P´elda : gr´af illeszt´ese - mag automorfizusok
G2
G1 A
A
A
A
G1 ⊗ G 2
A
A
A
A
A
A
A
B
A
A
A
A
B
A
A
A
A
B
A
A
→ B
A
A
B
Egyik mag
A
A
B
M´ asik mag A
B
A
A
A
A
A
A
B
13.10. a´bra. P´elda : gr´af illeszt´ese - t¨obb k¨oz¨os mag k´odol´as´at haszn´alja annak eld¨ont´es´ere, hogy egy potenci´alis jel¨olt adott r´eszgr´afja gyakori-e, illetve a jel¨olt szerepel-e m´ar a jel¨oltek k¨oz¨ott. A jel¨ol-el˝oa´ll´ıts´anak teh´at h´arom f˝o l´ep´ese van : mag azonos´ıt´as (ha l´etezik egy´altal´an), ´elilleszt´es ´es a r´eszgr´afok ellen˝orz´ese. Az els˝o l´ep´est gyors´ıthatjuk, ha minden gyakori gr´afnak egy list´aban t´aroljuk az (` − 1)-elem˝ u r´eszgr´afjainak kanonikus k´odjait. Ekkor a k¨oz¨os mag meghat´aroz´asa tulajdonk´eppen k´et lista metszet´enek meghat´aroz´as´at jelenti. t´ amogatotts´ ag meghat´ aroz´ asa A bemeneti gr´afokat egyes´evel vizsg´alva meg kell hat´arozni, hogy melyek azok a jel¨oltek, amelyek izomorfak a bemeneti gr´af valamely r´eszgr´afj´aban. A r´eszgr´af izomorfia eld¨ont´ese NP-teljes, de ezen feladat eld¨ont´es´ere haszn´alt algoritmusok sz´am´at cs¨okkenthej¨ uk, ha minden r´eszgr´afnak rendelkez´es¨ unkre a´ll a TID-hamaza, azon bemeneti gr´afok sorsz´amai, amelyek tartalmazz´ak a r´eszgr´afot. Egy jel¨olt vizsg´alat´an´al csak azon bemeneti elemeket kell megvizsg´alnunk (ha ezek sz´ama nagyobb min supp-n´al), amely sorsz´ama minden r´eszgr´af TIDhalmaz´aban szerepel.
13.6.2. gSpan A gr´afok a´br´azol´as´ara a gSpan a DFS-k´ odokat, illetve az abb´ol el˝oa´ll´ıtott kanonikus k´odol´ast haszn´alja. A m´elys´egi k´od el˝oa´ll´ıt´as´ahoz ki kell v´alasztanunk egy gy¨ok´er cs´ ucsot, majd ebb˝ol a cs´ ucsb´ol indulva bej´arni a gr´afot, mintha egy gy¨okeres f´at j´arn´ank be m´elys´egi bej´ar´as szerint. A bej´ar´as szerint minden cs´ ucshoz id˝oc´ımk´et rendelhet¨ unk, amely megadja, hogy hanyadik l´ep´es sor´an l´atogattunk meg egy cs´ ucsot. Mivel a gr´af tartalmazhat k¨or¨oket is, ez´ert el˝ofordulhat,
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
274
hogy egy cs´ ucsot t¨obbsz¨or megl´atogatunk. Ilyen esetben a cs´ ucs id˝oc´ımk´ej´et ne ´ırjuk fel¨ ul (´es az id˝o sz´aml´al´oj´at se n¨ovelj¨ uk). H´ıvjuk el˝ ore´elnek azokat az ´eleket, amelyek m´eg nem l´atogatt cs´ ucsba vezetnek, a t¨obbit ´elt pedig vissza´elnek. A gr´af bej´ar´asa sor´an minden l´ep´esnek egy elem felel meg a DFS-k´odban, azaz a k´od hossza megegyezik a gr´af ´eleinek a sz´am´aval. Minden elem egy o¨t¨os, amelynek els˝o k´et eleme az indul´asi ´es az ´erkez´esi cs´ ucsok id˝ob´elyeg´et adja, a harmadik ´es o¨t¨odik elem ezen cs´ ucsok c´ımk´eit ´es a negyedik elem az ´el c´ımk´ej´et t´arolja. Term´eszetesen egy adott gr´afnak t¨obb DFS-k´odja is lehet att´ol f¨ ugg˝oen, hogy melyik cs´ ucsot v´alasztjuk gy¨ok´enek ´es milyen sorrendben vessz¨ uk egy cs´ ucs gyermekeit. A 13.11 a´br´an egy p´eldagr´afot, h´arom k¨ ul¨onb¨oz¨o m´elys´egi bej´ar´ast ´es az azokhoz tartoz´o DFS-k´odokat l´athatjuk. A vissza´eleket szagatott vonallal jel¨olt¨ uk.
X
F1
F2
X
Y
A Y B B X
A A D
Y B Z
B X
C
A
B Z
Z
´el 0 1 2 3 4 5
F1 (0,1,X,a,Y) (1,2,Y,b,X) (2,0,X,a,X) (2,3,X,c,Z) (3,1,Z,b,Y) (1,4,Y,d,Z)
F2 (0,1,Y,a,X) (1,2,X,a,X) (2,0,X,b,Y) (2,3,X,c,Z) (3,0,Z,b,Y) (0,4,Y,d,Z)
D
A
BZ
X
B
X A
C
X
C
Z
X A
A D
F3
D
Y C
Z
Z
B Z
F3 (0,1,X,a,X) (1,2,X,a,Y) (2,0,Y,b,X) (2,3,Y,b,Z) (3,0,Z,c,X) (2,4,Y,d,Z)
13.11. a´bra. P´elda : m´elys´egi f´ak ´es m´elys´egi k´odok A c´ımk´eken tudunk egy rendez´est defini´alni, ami alapj´an az o¨t¨os¨oket is rendezni tudjuk. Ezen rendez´es szerint lexikografikusan rendezni tudjuk a k´odokat is. Egy gr´af kanonikus k´odja legyen az a DFS-k´odja, amely ezen rendez´es szerint a legkisebb. Legyen α = ha0 , a1 , . . . , am i egy DFS-k´od. Ekkor a β = ha0 , a1 , . . . , am , bi-t az α gyermek´enek h´ıvjuk, α-t pedig a β sz¨ ul¨ oj´enek. Ahhoz, hogy a β t´enyleg DFS-k´od legyen a b c´ımk´ej˝ u ´elnek az α a´ltal k´odolt m´elys´egi fa legjobboldali a´g´an kell elhelyezkednie. Erre a DFS-k´odn¨ovel´esre l´athatunk p´eld´at a k¨ovetkez˝o a´br´an. K¨onny˝ u bel´atni, hogy amennyiben az u ´ j ´el vissza´el, akkor csak a legjobboldalibb cs´ ucsb´ol indulhat. A sz¨ ul˝o-gyerek rel´aci´o megad´as´aval defini´alhatunk a DFS-k´odfa fogalm´at. A DFS-k´odfa egy olyan fa, amelynek cs´ ucsaiban DFS-k´odok u ¨ lnek ´es minden sz¨ ul˝o-gyerek cs´ ucs a´ltal reprezent´alt DFS-k´odokra teljes¨ ul a fenti sz˝ ul˝o-gyerek kapcsolat ´es a fa redezett, azaz minden cs´ ucs gyermeke
´ ES ´ FESZ´ITETT RESZGR ´ ´ 13. FEJEZET. GYAKORI FAK AFOK
275
13.12. a´bra. P´elda : m´elys´egi k´od a DFS-k´od szerint n¨ovev˝o sorrendbe van rendezve. Amennyiben egy kanonikus k´odhoz hozz´aveszek egy u ´ j ´elt u ´ gy, hogy ez DFS-k´odot eredm´enyezzek, az nem jelenti azt, hogy ez a k´od kanonikus k´od lesz. A DFS-k´odf´aban minden kanonikus k´od megtal´alhat´o, de emellett sz´amos nem kanonikus k´od is szerepel. A rendez´es azonban garant´alja, hogy ha pre-ordes bej´ar´as szerint bej´arn´ank a f´at, akkor tetsz˝olges gr´af els˝o DFS-k´odja egybe kanonikus k´od is. A DFS-k´odf´at ezek szerint egyszer˝ us´ıthetj¨ uk, hogy kimetsz¨ uk azon r´eszf´akat, amelyek cs´ ucsai nem kanonikus k´odokat tartalmaznak. A gSpan algoritmus tulajdonk´eppen ezt a gyakori gr´afokat t´arol´o egyszer˝ us´ıtett DFS-k´odf´at a´ll´ıtja el˝o. Mihelyt egy olyan DFS-k´odot a´ll´ıt el˝o, amely nem minim´alis, a f´at nem n¨oveszti tov´abb ezen az a´gon. K¨onny˝ u bel´atni, hogy a G=(V, E) gr´afnak nem kell |V |·|E|-n´el t¨obbsz¨or t¨or¨olni nem kanonikus DFS-k´odj´at. A G gr´afot csak (|E|−1)-elem˝ u r´eszgr´afj´ab´ol sz´armaztathatjuk, amelyek sz´ama legfeljebb |E|. A r´eszgr´af a´ltal nem tartalmazott ´elt, amennnyiben az el˝ore´el |V |−1 f´elek´eppen illeszthetj¨ uk a legjobboldalibb a´ghoz. Vissza´el eset´eben pedig a legjobboldalibb cs´ ucshoz kell tenn¨ unk, ezen lehet˝os´egek sz´ama pedig |V |−2. Ez a korl´at el´eg gyenge, hiszen csak annyit tett fel, hogy a legjobboldali u ´ ton tal´alhat´o cs´ ucsok sz´ama kisebb |V |-n´el. Az esetek t¨obbs´eg´eben ez az u ´ t az ´elsz´amn´al j´oval kisebb, ´ıgy a nemkanonikus k´odok t¨orl´es´enek sz´ama j´oval kevesebb. ¨ FOLYT KOV.
14. fejezet Adatb´ any´ aszat a gyakorlatban Az eddigi fejezetekben matematikai modellekr˝ol, megoldand´o feladatokr´ol ´es algoritmusokr´ol besz´elt¨ unk. E fejezet nem lesz ennyire tudom´anyos : az adatb´any´aszat legtipikusabb felhaszn´al´asi ter¨ uleteit fogjuk a´tn´ezni. Azt vizsg´aljuk, hogy milyen jelleg˝ u o¨sszef¨ ugg´esek ut´an ´erdemes kutatni, ´es hogy ezen o¨sszef¨ ugg´esek felder´ıt´ese milyen el˝ony¨okkel j´ar. Az adatb´any´aszat napjaink egyik legn´epszer˝ ubb ter¨ ulete. Nem meglep˝o, hogy napr´ol napra u ´ j adatb´any´aszati szoftver jelenik meg, hirdetve mag´ar´ol azt, hogy a piac legjobb term´eke. A fejezet m´asodik r´esz´eben o¨sszefoglaljuk a jelenleg kaphat´o adatb´any´aszati szoftvereket, majd kit´er¨ unk arra, hogy milyen szempontokat vegyen figyelembe egy c´eg a megfelel˝o szoftver kiv´alaszt´as´an´al.
14.1. Felhaszn´ al´ asi ter¨ uletek A sikeres alkalmaz´asok hat´as´ara az adatb´any´aszat egyre elfogadottabb tudom´any´agg´a v´alt. M´ar szinte mindenhol fontos az adatok t´arol´asa mellett azok feldolgoz´asa ´es elemz´ese. A kinyert inform´aci´o u ´ j t´etelek, t¨orv´enyszer˝ us´egek felfedez´es´et seg´ıtheti el˝o, vagy ´eppen ford´ıtva : megl´ev˝o hipot´eziseket c´afolhat meg. Ebben a r´eszben 3 olyan ter¨ uletr˝ol sz´olunk, ahol az adatb´any´aszat m´ar m´elyen gy¨okeret vert ´es az egyik legfontosabb eszk¨ozz´e v´alt. Ezek a ter¨ uletek pedig : (1.) kereskedelem, (2.) p´enz¨ ugy, (3.) biol´ogia ´es orvostudom´any. Az itt le´ırtakon t´ ul sz´amos esettanulm´anyt sikeres alkalmaz´asr´ol sz´ol´o h´ırt lehet tal´alni p´eld´aul a magyar adatb´any´aszok honlapj´an (http ://www.datamining.hu).
14.1.1. Az u ¨ gyf´ el ´ eletciklusa A kereskedelemben ´es a p´enz¨ ugyben is a profitot az u ¨ gyfelek termelik. A k¨ovetkez˝o a´br´an l´athatjuk, hogy milyen v´altoz´asokat k´epes hozni az adatb´any´aszat az u ¨ gyfelek ´eletciklus´aban. Az adatb´any´aszat seg´ıts´eg´evel hat´ekonyabban fel tudjuk ismerni a potenci´alis u ¨ gyfelek k¨or´et. ´Igy kevesebbet k¨olt¨ unk azon u ¨ gyfelekre, amelyek nagy val´osz´ın˝ us´eggel nem lesznek u ¨ gyfeleink, azaz faragunk a k¨olts´egeken. Meg tudjuk k¨ ul¨onb¨oztetni a j´o ´es a rossz u ¨ gyfeleket. A rossz u ¨ gyfelekt˝ol hamarabb megszabadulhatunk, ´es az ez´altal megtakar´ıtott o¨sszegeket a j´o u ¨ gyfelekre ford´ıthatjuk, ami m´eg gy¨ um¨olcs¨oz˝obb kapcsolatot eredm´enyezhet. Azt is idej´eben ´eszrevehetj¨ uk, ha egy j´o u ¨ gyfel¨ unknek n¨ovekszik az el´egedetlens´ege vel¨ unk szemben. 276
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN profit jobb ügyfélkapcsolat
277 adatbányászat nélkül adatbányászattal
Hatékonyabb ügyfél−megnyerés A kapcsolat gyorsabb megszakítása rossz ügyféllel
Ügyfél elvesztésének gyors felismerése Idõ
14.1. a´bra. Az u ¨ gyf´el ´eletciklusa
14.1.2. Kereskedelem T¨obbsz¨or hoztunk fel p´eld´at az adatb´any´aszat kereskedelmi felhaszn´al´as´ar´ol. Mag´at az asszoci´aci´os szab´alyokat is egy kereskedelmi p´eld´an kereszt¨ ul vezett¨ uk be. Ez nem v´eletlen, hiszen a v´as´arl´oi kosarak elemz´es´enek ig´enye keltette ´eletre ezt a ter¨ uletet. A kereskedelemben ma m´ar minden u ¨ zletben megtal´alhat´oak a m˝ uk¨od´est seg´ıt˝o sz´aml´az´o, rakt´ark´eszlet-kezel˝o, programok. Ezek egyre o¨sszetettebbek, a puszta v´as´arl´asok felsorol´as´an´al ´es visszakeres´es´en´el j´oval t¨obbet tudnak : ha rendelkez´es¨ unkre a´ll valamilyen vev˝oazonos´ıt´o, akkor a vev˝ok teljes v´as´arl´oi t¨ort´enet´et megkaphatjuk, de ezenfel¨ ul hitelekr˝ol, beszerz´esekr˝ol, sz´all´ıt´asokr´ol is r¨ogz´ıthet¨ unk adatokat. A nagy multik ma m´ar tudj´ak, hogy a t¨orzsv´as´arl´oi k´arty´ak n¨ovelik a vev˝o h˝ us´egkedv´et. Ezek a k´arty´ak u ´ jabb adatokat ´ıgy u ´ jabb hasznos elemz´eseket tesznek lehet˝ov´e. A szerv´ızekb˝ol ´erkez˝o visszacsatol´asoknak is fontos szerepe lehet egy term´ek siker´en´el. Az on-line a´ruh´azak elterjed´es´evel a vev˝okr˝ol begy˝ ujt¨ott adatok min˝os´ege tov´abb javul. Az elektronikus kereskedelemr˝ol k¨ ul¨on r´eszben sz´olunk b˝ovebben. Az adatb´any´aszatnak a kereskedelem ter¨ ulet´en a k¨ovetkez˝o c´eljai lehetnek. – V´as´arl´oi szok´asok elemz´ese az asszoci´aci´os szab´alyok, illetve az epiz´odok kinyer´es´ehez vezetnek. A szab´alyokat felhaszn´alhatjuk elad´ast o¨szt¨onz˝o akci´ok szervez´es´en´el, a´ruh´azak t´erk´ep´enek kialak´ıt´as´an´al, prospektusok tervez´es´en´el, elad´ashelyi rekl´ameszk¨oz¨ok kialak´ıt´as´an´al, term´ekfejleszt´esn´el, . . . . – Klaszterez´es ´es oszt´alyoz´as seg´ıts´eg´evel v´as´arl´oi csoportokat hozhatunk l´etre. A c´elcsoportok pontosabb behat´arol´as´aval ir´any´ıthat´obb, emberk¨ozelibb, interakt´ıv, egyedi ´es hat´ekonyabb rekl´am- ´es marketingstrat´egi´at k´esz´ıthet¨ unk. – A szem´elyre szabott u ¨ gyf´elszolg´alat nagyban fokozza a v´as´arl´ok el´egedetts´eg´et.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
278
– A v´as´arl´oi szok´asok jobb megismer´es´evel pontosabban tudjuk megj´osolni az egyes term´ekek ´ert´ekes´ıt´esi adatait. Ha egy u ¨ zletnek pontos k´epe van a rakt´ark´eszletr˝ol, a fogy´as u ¨ tem´er˝ol ´es az ig´enyekr˝ol, akkor hat´ekonyabban tudja megszervezni a beszerz´eseket, a disztrib´ uci´os csatorn´ak t´ıpus´at, nagys´ag´at, a rakt´aroz´as m´odj´at (pl. : just-in time). A hat´ekonys´ag n¨ovel´es´evel cs¨okkenteni tudjuk a k¨olts´eget ´es jobban elosztani az er˝oforr´asokat. – Az u ´ j vev˝ok toborz´asa mellett a r´egiek megtart´asa egyre fontosabb (CRM - Customer Relation Management). A vev˝ok v´as´arl´oi sorozatainak elemz´es´evel k´epet kaphatunk arr´ol, hogy kinek cs¨okkent a v´as´arl´oi kedve, ´ıgy m´eg azel˝ott tehet¨ unk ellene valamit (pl. h˝ us´egakci´o), hogy v´egk´epp elp´artolna t˝ol¨ unk.
14.1.3. P´ enz¨ ugy A bankok szolg´altat´asai k¨oz¨ ul kiemelten fontosak a sz´aml´ak, lek¨ot¨ott bet´etek vezet´ese, a hitelek ny´ ujt´asa ´es egy´eb p´enz¨ ugyi tranzakci´ok lebonyol´ıt´asa. Ezeken a ter¨ uleteken m´ara elismertt´e v´alt az adatb´any´aszat szerepe. – A bankok eredetileg az´ert j¨ottek l´etre, hogy m´asok ´ert´ekeit meg˝orizz´ek. Az u ¨ gyfelek ´ıgy biztons´agban tudt´ak a p´enz¨ uket, ami a kamatok miatt gyarapodott is, a bankok pedig nagy t˝ok´ekhez jutottak, amit be tudtak fektetni. M´ara a bankok az u ¨ gyfeleket elt´er˝oen kezelik (lakoss´agi, v´allalati u ¨ gyfelek, sz´amlaforgalomt´ol f¨ ugg˝oen a´tlagos, fontos, kiemelt u ¨ gyfelek . . . ). Az u ¨ gyfelek ´es a tranzakci´ok nagy sz´ama miatt az u ¨ gyf´elcsoportok manu´alis kialak´ıt´asa lehetelen feladat. A klaszterez´es ´es az oszt´alyoz´as ez´ert ezen a ter¨ uleten kiemelten fontos eszk¨oz. – Hitelek ny´ ujt´asa a kamatok ´es a rendszeres j¨ovedelemforr´as miatt j´o befektet´es a banknak. A k´erelmez˝o k¨or¨ ulm´enyeinek megvizsg´al´asa n´elk¨ ul osztogatni a hiteleket azonban kock´azatos, mert lehet, hogy az u ¨ gyf´el nem tudja visszafizetni. Ha az u ¨ gyfelekr˝ol sok adat a´ll rendelkez´esre (nett´o j¨ovedelem, beoszt´as, csal´adi a´llapot, kor´abbi banki tranzakci´oi . . . ), akkor az oszt´alyoz´ast felhaszn´alva olyan d¨ont´esi f´akat lehet l´etrehozni, amelyek nagy bizonyoss´aggal meg´allap´ıtj´ak adott u ¨ gyf´elr˝ol, hogy megb´ızhat´o hitel szempontj´ab´ol vagy nem. Ezt a m´odszert els˝osorban olyan orsz´agokban alkalmazz´ak, ahol a hitel oda´ıt´el´es´et nem k¨otik nagyon szigor´ u felt´etelekhez. Amerik´aban p´eld´aul elterjedt szok´as, hogy Kar´acsony el˝ott a bankok el˝ozetes megrendel´es n´elk¨ ul hitelk´arty´akat k¨ uldenek sz´et, amit a c´ımzett nem k¨oteles haszn´alni, de ha fizet vele, akkor a hitelt n´eh´any h´onapon bel¨ ul vissza kell fizetnie. Nyilv´anval´oan a megn¨ovekedett v´as´arl´oi kedv ily m´odon val´o o¨szt¨onz´ese kiemelt jelent˝os´eg˝ u lehet egy bank sz´am´ara partnerk¨or´enek kib˝ov´ıt´es´en´el, megtart´as´an´al ´es term´eszetesen a plusz gener´alt p´enzforgalom figyelembe v´etel´en´el, de ezen marketingakci´o kock´azata igen magas, ha a hitelk´arty´at haszn´al´o a k´es˝obbiekben nem fizeti vissza a bank p´enz´et. – A bank/hitelk´arty´aval t¨ort´en˝o fizet´es ´es k´eszp´enzfelv´etel a civiliz´aci´o n´elk¨ ul¨ozhetetlen eleme. A rengeteg biztons´agi int´ezked´es ellen´ere a k´arty´as csal´asok m´eg mindig sok k´art okoznak. Mivel a tranzakci´ok sz´ama o´ri´asi, ez´ert manu´alis eszk¨oz¨okkel ebben az esetben is lehetetlen feladat kisz˝ urni a szokatlan viselked´est, ami a csal´okra, k´artyatolvajokra jellemz˝o. Az elt´er´eselemz´es az adatb´any´aszat azon ter¨ ulete, ahol a szok´asost´ol elt´er˝o viselked´es, mint´azat felfedez´ese a c´el.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
279
14.1.4. Biol´ ogia ´ es Orvostudom´ any A biol´ogi´aban ´es az orvostudom´anyban az adatok elemz´es´eb˝ol kapott t¨orv´enyszer˝ us´egek ´ert´eke felbecs¨ ulhetetlen. Adatb´any´aszat seg´ıts´eg´evel fejlesztenek u ´ j gy´ogyszereket, seg´ıt a r´ak elleni ter´apia hat´ekonyabb kialak´ıt´as´aban, k¨ ul¨onb¨oz˝o betegs´egek t¨ uneteinek meghat´aroz´as´aban. . . . Ebben a r´eszben k´et fontos alkalmaz´asr´ol sz´olunk : a DNS l´ancok elemz´es´er˝ol ´es a cukorbetegs´eg kezel´es´enek seg´ıts´eg´er˝ol. DNS l´ ancok elemz´ ese Az orvostudom´any tal´an legnagyobb megoldatlan feladata a DNS l´ancok teljes megfejt´ese. Tudjuk, hogy minden ´el˝ol´enyt egy´ertelm˝ uen azonos´ıt a DNS l´anca, mintha egy genetikai k´odot kaptunk volna a term´eszett˝ol ! A DNS l´ancok a felel˝osek t¨obbek k¨oz¨ott a betegs´egek´ert, bizonyos ´ emberi tulajdons´agok´ert, hajlamok´ert, allergi´ak´ert. . . . Eppen ez´ert a kiemelt szerep´ert a DNS l´ancok fontoss´ag´at aligha lehet t´ ulbecs¨ ulni. Minden DNS l´anc 4 ´ep´ıt˝ok˝ob˝ol ´ep¨ ul fel, ezek a nucleotidok : adenin, cytosin, guanin ´es thymin. Ez a n´egy nucleotid alkot egy hossz´ u l´ancot, ami legink´abb egy spir´al alak´ u l´etr´ara eml´ekeztet. Egy ember kb. 100 ezer g´ennel rendelkezik, egy g´en pedig a´ltal´aban t¨obbsz´az nucleotidb´ol ´ep¨ ul fel, ahol a nucleoidok sorrendj´enek fontos szerepe van. A DNS l´ancok elemz´ese nem puszt´an epiz´odkutat´asr´ol sz´ol. A tud´as kinyer´es´ehez o¨tv¨ozni kell a k¨ ul¨onb¨oz˝o adatb´any´aszati technik´akat ! – DNS l´ancokat gyakran kell o¨sszehasonl´ıtani, ez´ert sorozatok hasonl´os´ag´anak elemz´ese fontos m´odszer. Beteg ´es eg´eszs´eges sz¨ovetekb˝ol vett mint´ak o¨sszevet´es´eb˝ol meg´allap´ıthatjuk a kritikus elt´er´eseket. El˝osz¨or a k´et mint´at k¨ ul¨on vizsg´alj´ak ´es nyerik ki a gyakran el˝ofordul´o mint´azatokat. K´es˝obb m´ar csak ezeket a mint´azatokat vetik o¨ssze. A beteg sz¨ovetben j´oval gyakrabban el˝ofordul´o mint´azatok lehetnek a betegs´eg genetikai t´enyez˝oi. Vagy ford´ıtva, az eg´eszs´eges sz¨ovetben gyakrabban el˝ofordul´o mint´azatok adhatnak alapot a gy´ogyszer elk´esz´ıt´es´ehez. – A betegs´egek´ert a´ltal´aban nem csak egy g´en felel˝os, hanem a g´enek egy kombin´aci´oja. Az asszoci´aci´os szab´alykeres´esn´el megismert m´odszerekkel lehet felt´arni a gyakran egy¨ utt el˝ofordul´o esetleg felel˝os g´eneket beteg egyedek egy adott csoportj´aban. – A g´enek ´es betegs´egek vil´ag´at tov´abb bonyol´ıtja, hogy a betegs´eg k¨ ul¨onb¨oz˝o f´azisaiban esetleg m´as-m´as g´enek akt´ıvak. Ha egy adott betegs´egn´el siker¨ ulne ezt felt´erk´epezni, akkor a k¨ ul¨onb¨oz˝o f´azisokhoz elk´esz´ıtett gy´ogyszerek kifejleszt´es´evel n¨ovelni lehetne a kezel´es hat´ekonys´ag´at. Cukorbetegs´ eg A cukorbetegs´eg egy elterjedt ´es nem megfelel˝o kezel´es eset´en hal´alt okoz´o betegs´eg. Kezel´es´ere a betegnek inzulint kell a szervezet´ebe juttatnia. Amennyiben a beteg t´ ul sok inzulint kap, akkor szervezete tov´abb cs¨okkenti a cukor termel´es´et, ´es betegs´eg tov´abb s´ ulyosbodik. Ha viszont a beteg kev´es inzulint kap, akkor szervezet´eben cukorhi´any mutatkozik, aminek hat´asak´ent sz´ed¨ ul´es, a´jul´as, s˝ot ak´ar b´enul´as is el˝oa´llhat. Az inzulin megfelel˝o adagol´asa ez´ert kiemelten fontos a cukorbetegs´eg kezel´es´eben. A tudom´any jelenlegi a´ll´asa szerint nincs pontos k´eplet arra n´ezve, hogy egy adott param´eterekkel
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
280
rendelkez˝o beteg mekkora adagot kapjon. Hab´ar egyre t¨obb eszk¨oz j¨on l´etre a min´el gyorsabb visszajelz´esre, az adagok meghat´aroz´asa m´eg mindig o¨szt¨onszer˝ uen, az orvos le nem ´ırt, konkr´etan meg nem fogalmazott tapasztalatai alapj´an t¨ort´enik. Az inzulin megfelel˝o adagj´anak kiv´alaszt´asa rengeteg param´etert˝ol f¨ ugg (tests´ uly, kor, nem, betegs´egre jellemz˝o adatok stb.). A k¨ ul¨onb¨oz˝o m´er˝o- ´es figyel˝oeszk¨oz¨ok piacra ker¨ ul´es´evel egyre t¨obb adat gy˝ ulik o¨ssze, ´ıgy lehet˝ov´e v´alik ezek elemz´ese. Az oszt´alyoz´as, korrel´aci´oanal´ızis, asszoci´aci´okutat´as mind fontos eszk¨oz¨ok a cukorbetegs´eg kutat´as´aban.
14.2. Az adatb´ any´ aszat b¨ olcs˝ oje : az elektronikus kereskedelem (e-commerce) A bevezet˝oben sz´o volt arr´ol, milyen felt´etelei vannak a sikeres adatb´any´aszatnak (l´asd 21.oldal). Id´ezz¨ uk fel ezeket a felt´eteleket, ´es n´ezz¨ uk meg, hogyan teljes¨ ulnek az elektronikus kereskedelemben. sok adat : K¨ozismert weboldalnak nagy a l´atogatotts´aga. sok attrib´ utum : Az on-line a´ruh´azakn´al lehet˝os´eg van a v´as´arl´o fontosabb adatainak t´arol´as´ara, de ezenfel¨ ul t¨obb m´as inform´aci´ot is megtudhatunk r´ola, pl. hogy mi ir´ant ´erdekl˝odik gyakran a l´atogat´o, milyen rekl´amokat n´ez meg, . . . tiszta adat : Az adatok az emberi r¨ogz´ıt´es hib´aj´at´ol mentesek. A weboldal k´esz´ıt˝oje hat´arozhatja meg, milyen t´ıpus´ u adatok legyenek t´arolva, illetve, mely mez˝oket kell k¨otelez˝oen kit¨olteni. akci´ ok´ epess´ eg : A kinyert tud´as birtok´aban megv´altoztathatjuk a weboldalt (ak´ar a teljes designt, ak´ar csak a linkeket), szem´elyre szabott oldalakat k´esz´ıthet¨ unk, e-maileket k¨ uldhet¨ unk ki, . . . befektet´ es megt´ er¨ ul´ ese : Mivel minden elektronikusan zajlik a bev´eteln¨oveked´es kisz´am´ıt´asa alapfeladat. S˝ot m´eg a c´elzott marketing hat´ekonys´ag´at is k¨onnyed´en meg´allap´ıthatjuk, hiszen r¨ogz´ıteni tudjuk, ha valaki egy e-mailen kereszt¨ ul jutott az oldalunkra. A fentiek ellen´ere az adatb´any´aszat alkalmaz´asa az elektronikus kereskedelemben kor´antsem akad´alytalan [98]. A probl´em´ak forr´asa az, hogy az adatokat a webszerverek mentik el. A webszerver adatainak b´any´aszata k´ezenfekv˝onek t˝ unik, hiszen a webszerverek szinte mindent r¨ogz´ıtenek. A napl´of´ajlokat azonban eredetileg a webszerverek debuggol´as´ara tal´alt´ak ki, nem pedig az adatb´any´aszat t´amogat´as´ara. A legf˝obb probl´em´ak az al´abbiak : – Nem lehet egy´ertelm˝ uen azonos´ıtani a felhaszn´al´ot. Szemben az adatb´any´aszattal, a webszerverek sz´am´ara ez ugyanis nem fontos inform´aci´o. Pr´ob´alkoznak a felhaszn´al´ok cookie, IP, vagy b¨ong´esz˝o szerinti azonos´ıt´as´aval [38], de ezek k¨oz¨ ul egy sem ny´ ujtja a t¨ok´eletes megold´ast [17]. – A webszerverek nem t´arolnak minden fontos adatot. A napl´of´ajlokban nincs nyoma p´eld´aul a berakom a kos´arba”, mennyis´eg megv´altoztat´asa”, term´ek t¨orl´ese” ” ” ” m˝ uveleteknek.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
281
– A form-ok adatai nincsenek t´arolva. Pedig gondoljuk meg, hogy p´eld´aul a keres´esi form-ok ´eppen a v´as´arl´asok ´erdekl˝od´es´et t¨ ukr¨ozik. – A napl´of´ajlokban URL-ek szerepelnek, nem pedig az oldal tartalma. Nem mindig k¨onny˝ u meghat´arozni, hogy adott term´ek melyik oldalhoz tartozik. A helyzetet tov´abb bonyol´ıtja, hogy gyakran ugyanaz az inform´aci´o t¨obb nyelven is el´erhet˝o. – A dinamikus oldalak tartalm´at sem lehet egy´ertelm˝ uen meghat´arozni. Melyik term´ek ´erdekelte a l´atogat´ot, ha az o¨sszes term´eket a termek.jsp oldal mutatja ? Vagy csak egy rekl´am volt a felbukkan´o ablak ? Esetleg egy Nincs rakt´aron !” u ¨ zenet ? Sikeres volt a ” keres´es vagy nem hozott eredm´enyt ? Ezek a k´erd´esek legt¨obbsz¨or dinamikus oldalakhoz k¨ot˝odnek ´es megv´alaszol´asuk a napl´of´ajlok alapj´an lehetetlen feladat. – Az igaz´an nagy oldalaknak t¨obb webszerver¨ uk van, amelyek k¨ ul¨onb¨oz˝o helyeken helyezkednek el. Ezek mind saj´at napl´of´ajllal dolgoznak, egyes´ıt´es¨ uket nehez´ıti, hogy k¨ ul¨onb¨oz˝o id˝oz´on´akban lehetnek. A fenti probl´em´akra megold´as ny´ ujt, ha a v´as´arl´asokkal kapcsolatos inform´aci´ok t´arol´as´at a v´as´arl´asokat kiszolg´al´o program v´egzi, azaz az adatok t´arol´as´at az alkalmaz´asi r´etegre b´ızzuk. A val´os´agot t¨ ukr¨oz˝o adatok el˝oa´ll´ıt´as´anak nagy ellens´egei az Internetes robotok. Ezek olyan lek´erdez´eseket, oldallet¨olt´eseket gener´alnak, amelyek nem t¨ ukr¨oznek val´os´agos emberi ´erdekl˝od´est. Intenz´ıv kutat´as t´argy´at k´epezi a robotok a´ltal gener´alt hamis adatok kisz˝ ur´ese.
14.3. Adatb´ any´ asz szoftverek A tov´abbiakban egy r¨ovid o¨sszefoglal´ot adunk a ma kaphat´o legfontosabb adatb´any´asz szoftverekr˝ol. A lista kor´antsem teljes. Ennek oka egyr´eszr˝ol a terjedelmi korl´at, m´asr´aszr˝ol a nap mint nap v´altoz´o piac. weka (http ://www.cs.waikato.ac.nz/ ml/weka/) Az u ´ j-z´elandi Waikato Egyetem fejleszti a szabad forr´ask´od´ u a WEKA nev˝ u adatb´any´aszati programcsomagot. Szimb´olikus elnevez´ese az orsz´ag nemzeti madar´ar´ol, a kivir˝ol sz´armazik : az adatb´any´asz ”rejtett tud´ast” keres, a kivimad´ar (weka) pedig fej´et v´ızbe dugva kutat a ”rejtett” t´apl´al´ek ut´an. A k¨ ul¨onb¨oz˝o adatb´any´aszati algoritmusok igen sz´eles k¨or´et tal´aljuk meg a szoftvercsomagban. Az implement´alt elj´ar´asok sz´ama nemcsak abszol´ ut´et´ekben, hanem az igen dr´aga kereskedelmi term´ekhez viszony´ıtva is magas. A WEKA-t JAVA nyelven fejlesztik, az egyes oszt´alyok forr´ask´odja mellett azok dokument´aci´oi is hozz´af´erhet˝ok az interneten, mely remek lehet˝os´eget k´ın´al a kutat´onak, di´akoknak, adatb´any´aszat ir´ant ´erdekl˝od˝oknek. A WEKA felhaszn´al´obar´at, logikus, j´ol a´ttekinthet˝o grafikus fel¨ ulete vezeti v´egig a felhaszn´al´ot az adatb´any´aszat l´ep´esein. Oktat´asi ´es demonstr´aci´os c´elra is k´ıv´al´o. A WEKA adatforr´asok sz´eles k¨or´et t´amogatja. Az elemzend˝o adatok sz´armazhatnak p´eld´aul JDBCn kereszt¨ ul el´erhet˝o adatb´azisokt´ol vagy f´ajlokb´ol. El˝ony¨os tulajdons´againak k¨osz¨onhet˝oen vil´agszerte ismert ´es elismert szoftver.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
282
Enterprise Miner (http ://www.sas.com/products/miner/index.html) A SAS Institute,Inc. fejlesztette ezt a programcsomagot. A c´eg komoly m´ ultra tekint vissza statisztikai elemz´esek ter´en. Az Enterprise Miner is sz´amos statisztikai eszk¨ozt k´ın´al fel, de m´ar megtal´alhat´o az o¨sszes t¨obbi adatb´any´aszati feladatra megold´as, csak u ´ gy mint d¨ont´esi f´ak, neur´alis h´al´ozatok, regresszi´o, klaszterez´es, sorozat-elemz´es, asszoci´aci´ob´any´aszat. Clementine (http ://www.spss.com/spssbi/clementine) A Clementine az SPSS Inc. term´eke. Integr´alt adatb´any´aszati k¨ornyezetet biztos´ıt v´egfelhaszn´al´ok ´es fejleszt˝ok r´esz´ere. Adatb´any´aszati eszk¨oz¨ok k¨oz¨ ul megtal´alhat´o a neur´alis h´al´ozatok, oszt´alyoz´as, sorozat-elemz´es stb. A Clemetine szoftver´eben egyedi az az objektum-orient´alt interf´esz, amin kereszt¨ ul a felhaszn´al´o saj´at algoritmusokat ´es funkci´okat adhat meg. Intelligent Miner (http ://www-3.ibm.com/software/data/iminer/fordata) Az IBM term´eke tal´an a legismertebb ´es a legelterjedtebb adatb´any´aszati eszk¨oz. Emellett fontos ´erv sz´ol mellette : az IBM kutat´oint´ezet´eben sz¨ uletett j´on´eh´any neves publik´aci´o, teh´at e szoftver m¨og¨ott a´ll a legfelk´esz¨ ultebb kutat´og´arda. A programmal lehet b´any´aszni asszoci´aci´okra, epiz´odokra, alkalmas oszt´alyoz´asi, klaszterez´esi feladatok ell´at´as´ara, de ezenk´ıv¨ ul lehet regresszi´ot sz´amolni ´es elt´er´est keresni. A fejlett adatmegjelen´ıt´es mellett k´epes statisztikai elemz´esre ´es neur´alis h´al´ozatokon alapul´o algoritmusok futtat´as´ara. Az Intelligent Miner haszn´alat´ahoz IBM DB2 rel´aci´os adatb´aziskezel˝o rendszernek is futnia kell. DBMiner (http ://www.dbminer.com) A DBMinert a Simon Fraser University a´ltal elk´esz´ıtett programb´ol fejlesztette tov´abb a DBMiner Technology Inc.. Adatb´any´aszati funkci´ok k¨oz¨ ul megtal´alhat´ok a asszoci´aci´ob´any´aszat, karakteriz´aci´o, oszt´alyoz´as, klaszterez´es ´es j´osl´as. Ennek a programnak legszorosabb, legintegr´altabb a kapcsolata az OLAPpal. A szoros kapcsolat miatt itt m´ar OLAM-r´ol (On-Line Analitical Mining) besz´el¨ unk. A program egy interakt´ıv k¨ornyezetet k´ın´al a felhaszn´al´onak, aki dinamikusan v´altogathat OLAP oper´aci´ok ´es adatb´any´aszati funkci´ok k¨oz¨ott. MineSet A MineSet legnagyobb er˝oss´ege a fejlett vizualiz´ac´os k´epess´ege. Ez nem meglep˝o, hiszen a szoftvert a Silicon Graphics fejlesztette, amely c´eg mindig is a legjobbak k¨oz´e tartozott a grafik´aban. A MineSetben megtal´alhat´o szinte az o¨sszes ismert adatb´any´aszati funkci´o. Tov´abbi el˝ony, hogy a MineSet egyben fejleszt˝oi k¨ornyezetet biztos´ıt u ´ j algoritmusok implement´al´as´ahoz, ´ıgy ha valamely feladatra nincs k´esz megold´as, akkor meg´ırhatjuk magunk, majd az eredm´eny megtekint´es´ehez haszn´alhatjuk a MineSet vizualiz´aci´os eszk¨ozeit. A fenti o¨t o´ri´asszoftver mellett felsorol´as szinten sz´olnunk kell m´eg az al´abbi programokr´ol : 4Thought, Alice, Darwin, Datascope, Scenario, Data Surveyor & Expert Surveyor.
14.3.1. Adatb´ any´ aszati rendszerek tulajdons´ agai Az el˝oz˝oekben felsoroltunk n´eh´any adatb´any´aszati szoftvert. A felsoroltakon k´ıv¨ ul l´eteznek m´eg tov´abbi szoftverek, amelyek bizonyos tekintetben ak´ar jobbak is lehetnek a fentiekn´el. Ekkora v´alaszt´ekban hogyan tudjuk megtal´alni a nek¨ unk megfelel˝o szoftvert, mik azok a tulajdons´agok, amit mindek´eppen meg kell vizsg´alunk egy ilyen beruh´az´as el˝ott.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
283
Adatb´ any´ aszati funkci´ ok. Egy c´eg az´ert v´as´arol adatb´any´aszati szorftvert, mert o¨sszef¨ ugg´est akar kinyerni az adataib´ol. M´ar a szoftverv´as´arl´as el˝ott hasznos, ha pontos elk´epzel´ese van arr´ol, hogy milyen t´ıpus´ u o¨sszef¨ ugg´eseket fognak keresni (asszoci´aci´os szab´alyok, epiz´odok, klaszterek stb.). A legfontosabb, hogy a szoftver funkci´oi k¨oz¨ott megtal´alhat´ok legyenek az ilyen t´ıpus´ u o¨sszef¨ ugg´esek kinyer´es´enek lehet˝os´ege. Nem biztos, hogy a nek¨ unk megfelel˝o szoftver lesz a legt¨obb adatb´any´aszati feladat megold´as´at t´amogat´o. Egyre t¨obb szoftver jelenik meg, amely egy adott feladatra szakosodik (pl. : weblog elemz˝o szoftver), ugyanakkor az a´tfog´o k´epes´eggel rendelkez˝ok mellett sz´ol, hogy a j¨ov˝ore is c´elszer˝ u gondolni : milyen t´ıpus´ u o¨sszef¨ ugg´eseket keres¨ unk esetleg k´es˝obb. Adatt´ıpus. A legt¨obb szoftver a rel´aci´os adatb´azisokban tal´alhat´o adatokat tudja feldolgozni, de ezenk´ıv¨ ul a sima sz¨ovegf´aljt, munklapokat, ismertebb form´atum´ u f´ajlokat is kezelik. Fontos teh´at ellen˝orizni, hogy pontosan milyen form´atum´ u adatokon dolgozik. Ma m´ar l´eteznek szoftverek, amelyek speci´alis adatform´atumokat is kezelni tudnak, mint p´eld´aul f¨oldrajzi, multim´edi´as, web logok, DNS adatb´azisok. Adatforr´ as. Vannak adatb´any´asz szoftverek, amelyeket fel kell t¨olteni az adatokkal miel˝ott dolgozni lehet vel¨ uk. Hasznosabb azonban, ha a szoftver a m´as adatb´azisokban tal´alhat´o adatokat is kezelni tudja. Fontos, hogy a rendszer t´amogassa az ODBC kapcsolatot vagy az OLE DB for ODBC-t. Ez lehet˝ov´e teszi a hozz´asf´er´est sok m´as rel´aci´os adatb´azishoz (DB2, Informix, Microsoft SQL Server, Microsoft Access, Excel, Oracle stb.). Adatm´ eret, sk´ al´ azhat´ os´ ag. Tudnunk kell, hogy a szoftver mekkora adattal k´epes megb´ırkozni tov´abb´a, hogy az adatb´azis n¨ovel´es´evel hogyan romlik a fut´asi id˝o. Skl´al´azhat´os´ag szempontj´ab´o megk¨ ul¨onb¨oztet¨ unk sor szerint sk´ al´ azhat´ o ´es oszlop szerint sk´ al´ azhat´ o szoftvereket. Az els˝o azt jeleti, hogy ha megdupl´azom a sorok sz´am´at, akkor nem n˝o dupl´aj´ara a fut´asi id˝o/mem´oria ig´eny. Az oszlop szerint sk´al´azhat´os´ag szerint a fut´asi id˝o/mem´oria ig´eny az oszlopok sz´am´aval line´arisn´al nem rosszabb. Ez ut´obbi felt´etel teljes¨ ul´es´ehez kifinomultabb algoritmusokra van sz¨ uks´eg. Megjelen´ıt´ esi eszk¨ oz¨ ok. A vizualiz´aci´o egy k¨ ul¨on szakma. Az adatb´any´aszati algoritmusok eredm´enyeinek a´ttekinthet˝o, szeml´eletes megjelen´ıt´ese sokat seg´ıt az ´ertelmez´esben. A 3D a´br´ak, grafikonok, t´abl´azatok nagyon hasznosak ´es sokat seg´ıtenek az adatb´any´aszat haszn´alhat´os´ag´aban ´es az eredm´enyek interpret´alhat´os´ag´aban. Az adatb´any´aszat nagyon fiatal tudom´any´ag, ´ıgy a szoftverek sem tekinthetnek vissza nagy m´ ultra. A szoftverek szinte minden tekintetben k¨ ul¨onb¨oznek egym´ast´ol. A megjelen´ıt´essel, adatb´any´aszati funkci´okkal, terminol´ogi´aval kapcsolatos egys´eges koncepci´o kialakul´as´aig m´eg v´arnunk kell.
14.3.2. Esettanulm´ anyok r¨ oviden A k¨ovetkez˝okben v´azolunk n´eh´any sikeres adatb´any´aszati projektet [122] 1 . 1
Egyes r´eszeket a BME di´ akjai ford´ıtott´ ak.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
284
Szlov´ en m´ ediaszok´ asok felt´ ar´ asa Ma a m´ediumok kez´eben o´ri´asi hatalom van mind politikai, mind u ¨ zleti ´ertelemben. Az egyes u ´ js´agok, tv m˝ usorok fogyaszt´oinak” megismer´es´evel k¨ozvetlen¨ ul el´erhetik az egyes c´egek ” a c´elk¨oz¨ons´egeiket. A szlov´en Mediana mintegy 8000 (20 oldalas !) k´erd˝o´ıv adatait elemeztette adatb´any´aszati m´odszerekkel. Az adatok kit˝ un˝o min˝os´eg˝ uek voltak ´es rengeteg attrib´ utumot tartalmaztak t¨obbek k¨oz¨ott az egyes szem´elyek k¨ ul¨onb¨oz˝o m´ediumokhoz f˝ uz˝od˝o viszony´at, a szem´elyek ´erdekl˝od´esi k¨or´et, ´eletst´ılus´at, anyagi helyzet´et, demogr´afia adatait (lak´as´anak, munkahely´enek fekv´ese). Az elemz´esek sor´an a k¨ovetkez˝o k´erd´esekre kerest´ek a v´alaszt : – mely m´as u ´ js´agot/magazint olvasnak m´eg sz´ıvesen bizonyos nyomtatott m´ediumok olvas´oi, – mi jellemz˝o az olvas´oira/hallgat´oira/n´ez˝oire az egyes m´ediumoknak, – milyen tulajdons´agok k¨ ul¨onb¨oztetik meg a k¨ ul¨onb¨oz˝o u ´ js´agok olvas´oit, – az u ¨ gyfeleiket tekintve mely m´ediumok hasonl´oak ? A k´erd´esek megv´alaszol´as´ahoz sz´amos adatb´any´aszati m´odszert haszn´altak fel, csak u ´ gy mint korrel´aci´o-elemz´es, klaszterez´es, d¨ont´esi f´ak, asszoci´aci´o szab´alyok, Kohonen h´al´ok. P´eld´aul d¨ont´esi f´ak seg´ıts´eg´evel pr´ob´alt´ak megtudni, hogy jellemz˝oen kik olvass´ak a ’Delo’ ´es a ’Slovenske Novice’ u ´ js´agokat. A kinyert szab´alyokb´ol k´et p´elda : A Delo tipikus olvas´oja ” egy h´eten t¨obb alkalommal olvas u ´ js´agot, az a´tlagn´al magasabb az iskolai v´egzetts´ege, ismeri a k¨ ul¨onb¨oz˝o magazinokat, aut´o ´es s¨orm´ark´akat, szeret tv-zni, stb.” ezzel szemben a Slo” venske Novice olvas´oi szertenek k´av´ez´okban ´es b´arokban id˝ozni, kev´esb´e t´aj´ekozottak m´ark´ak ismeret´eben, mint a Delo olvas´oi, ´es a´ltal´aban olvass´ak m´eg a Slovneski Delnicar, Jana, stb. magazinokat is.” Klaszterez´essel profilcsoportokat hoztak l´etre. Kohonen h´al´o seg´ıts´eg´evel meg´allap´ıtott´ak a csoportok sz´am´at, majd a k-k¨oz´ep algoritmussal l´etrehoztak n´egy klasztert. A kapott klaszterek saj´atoss´agait ezut´an d¨ont´esi f´ak seg´ıts´eg´evel pr´ob´alt´ak felder´ıteni. Az egyes csoportokat a jellemz˝ok meghat´aroz´asa ut´an a elhivatott fiatalok”, inakt´ıv id˝osek”, ambici´ozus embe” ” ” rek” ´es akt´ıv id˝osek” jelz˝okkel illett´ek. P´eld´aul az inakt´ıv id˝osek”csoportj´at jellemzi, hogy ” ” nem szeretik a kih´ıv´asokat, nem ´erdekli o˝ket a sz´orakoztat´oipar, tudom´any ´es technika, a f˝o o¨r¨omforr´asuk a csal´ad ´es nem szeretik a v´altoz´asokat. Az Egyes¨ ult Kir´ alys´ ag baleseteinek elemz´ ese A baleseteket le´ır´o adatb´azisokb´ol kinyert hasznos inform´aci´ok ´eleteket menthetnek meg. Az okozatok, kapcsolatok felt´ar´asa olyan k¨oz´ uti vagy k¨ozleked´esi szab´alyokat ´erint˝o m´odos´ıt´asokhoz vezethet, amelyek seg´ıts´eg´evel megel˝ozhet˝ok a balesetek an´elk¨ ul, hogy az agyonszab´alyoz´asok k¨ovetkezt´eben megnehez´ıten´ek az aut´osok ´elet´et. Az Egyes¨ ult Kir´alys´ag adatb´azis´anak elemz´ese egy nagyon sikeres adatb´any´aszati projekt volt. Az adatb´azis az 1979-1999-ig terjed˝o intervallum adatait, mintegy o¨tmilli´o rekordot t´arolt. Minden rekordhoz t´arolt´ak a baleset k¨or¨ ulm´enyeit, az aut´o, ill. a vezet˝o tov´abb´a az esetleges s´er¨ ul´esek adatait.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
285
Az elemz´eshez vizualiz´aci´os eszk¨oz¨oket, sz´amos klasszikus statisztikai (pl. regresszi´o) ´es adatb´any´asz m´odszert alkalmaztak. A balesetek k¨or¨ ulm´enyei sz¨oveggel voltak megadva, ez´ert ezek feldolgoz´as´aban kiemelt szerepet kaptak a sz¨ovegb´any´asz m´odszerek. Egy ´erdekes ´es u ´ jszer˝ u megold´as volt a f¨oldrajzi helyek klaszterez´ese, melynek sor´an a hasonl´o baleseti dinamik´aval rendelkez˝o helyek ker¨ ultek egy csoportba. K¨ ul¨onb¨oz˝o id˝ofelbont´asokhoz (´evi/heti/napi balesetsz´am alakul´as) k¨ ul¨onb¨oz˝o klaszterez´est k´esz´ıtettek. ´ Eszrevett´ek p´eld´aul, hogy az olyan esetek amelyek a havi szinten emelked˝o baleseti sz´ammal rendelkeznek ´es a balesetek sz´ama ny´aron ´eri el a maximumot megegyeznek a k¨ozkedvelt turisztikai helyekkel. Ezeken a helyeken teh´at csak a f˝oszezonban sz¨ uks´eges emelni a biztons´agi szintet. Tov´abbi fontos csoportot jellemzett az a g¨orbe, amely napk¨ozben ´es h´etv´eg´en alacsony szinten volt, de a munkaid˝o ut´ani id˝oszakban megugrott. Ez a g¨orbe az ipari”ter¨ uletekre volt ” jellemz˝o. Vegy¨ uk ´eszre, hogy a k¨ozleked´esi balesetekre nagyon jellemz˝o a lokalit´as vagy m´as szavakkal az ideiglenes gyakoris´ag. Ez azt jelenti, hogy o¨sszess´eg´eben kev´es baleset t¨ort´enik, viszont a kev´es baleset nagy r´esze ugyanabban az id˝oben (p´eld´aul h´oes´esben, vagy munkaid˝o ut´an) esik meg. Ezeket az eseteket na´ıv m´odon, gyakori mint´akat kinyer˝o algoritmusokkal nem lehetne felder´ıteni, hiszen az o¨sszes baleset sz´ama csek´ely. A balesetek s´ ulyoss´ag´anak meg´allap´ıt´as´ara fel´all´ıtott d¨ont´esi fa is sz´amos ´ert´ekes o¨sszef¨ ugg´essel szolg´alt. Megmutatta p´eld´aul, hogy az 20 o´ra ut´an t¨ort´ent motorker´ekp´arossal t¨ort´ent balesetekben a s´ ulyos s´er¨ ul´esek ar´anya j´oval magasabb, mint a´ltal´aban. Portug´ al Statisztikai Hivatal weblapj´ anak elemz´ ese Az internet rohamos fejl˝od´es´evel egyre b˝ov¨ ul az el´erhet˝o inform´aci´o mennyis´ege, ´ıgy folyamatosan nagyobb szerephez jut a megfelel˝o adatok keres´ese ´es kiv´alaszt´asa. Ezen szempontok figyelembe v´etel´evel fejlesztett weblapok nagyban megk¨onny´ıtik a felhaszn´al´ok dolg´at, ez´ert d¨ont¨ott a Portug´al Statisztikai Hivatal is az oldal´at l´atogat´ok szok´asainak elemz´ese mellett. H´arom f˝o c´elt jel¨oltek meg : aj´anlattev˝o rendszer fejleszt´ese, felhaszn´al´oi profilok kialak´ıt´asa, weblap vizualiz´aci´o. A log f´ajlban t´arolt adatok (3GB) jelent˝os sz˝ ur´esen estek a´t, mivel csak regisztr´alt felhaszn´al´ok azonos´ıthat´oak egy´ertelm˝ uen, a tov´abbi inform´aci´ok megt´eveszt˝oek lehetnek. Az aj´anlattev˝o rendszer fejleszt´ese sor´an a rendelkez´esre a´ll´o adatokb´ol ¡felhaszn´al´o,oldal¿ p´arokat hoztak l´etre, ´es ezekb˝ol vezettek le asszoci´aci´os szab´alyokat, aminek seg´ıts´eg´evel minden oldalhoz meghat´arozt´ak a legjobban hasonl´ıt´o N oldalt. A honlap architekt´ ur´aj´at tekintve h´arom r´eteg˝ u volt : t´ema, alt´ema, fejezet. Ezekre k¨ ul¨on modelleket hoztak l´etre, ´es k¨ ul¨on tesztelt´ek o˝ket. A teszt sor´an egy felhaszn´al´o a´ltal l´atogatott oldalak k¨oz¨ ul egyet kiv´eve vizsg´alt´ak, hogy a rendszer milyen ar´anyban aj´anlja a hi´anyz´o oldalt. Az eredm´enyek bizony´ıtott´ak az aj´anlattev˝o rendszer haszn´alhat´os´ag´at, k¨ ul¨on¨osen kis N -ekre ´ertek el jelent˝os javul´ast az adatb´any´aszati m´odszereket nem alkalmaz´o rendszerekhez k´epest (N =1 recall/recall.default=3). A felhaszn´al´oi profilok kialak´ıt´as´anak alap¨otlete, hogy hasonl´o ´erdekl˝od´esi k¨or˝ u felhaszn´al´ok nagyj´ab´ol hasonl´o oldalakat l´atogatnak. Ha minden felhaszn´al´ohoz hozz´arendel¨ unk egy URLvektort, ami az a´ltala felkeresett oldalak c´ım´et tartalmazza, akkor ezek klaszterez´es´evel felhaszn´al´oi csoportok alak´ıthat´ok ki. K-means algoritmus seg´ıts´eg´evel 10 csoportot k¨ ul¨on´ıtettek el, amelyket a r´ajuk legjobban jellemz˝o oldalakkal ´ırt´ak le. Ezekkel az eredm´enyekkel u ´ j oldalr´ol k¨ozel´ıthet˝o meg az aj´anlattev˝o rendszer, ugyanis k´et oldal ”jobban” hasonl´ıt, ha azonos csoportba tartoz´o felhaszn´al´ok l´atogatj´ak o˝ket, a m´odszer neve collaborative-filtering.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
286
A honlap szerkezet´enek vizualiz´aci´oj´ahoz magukat az oldalakat kellett csoportos´ıtani, tartalom alapj´an klaszterezni. K´etf´ele megold´as k´esz¨ ult : egy gr´af alap´ u, ´es egy hierarchikus. Gr´af megjelen´ıt´es eset´en a csom´opontok jel¨olik a klasztereket, kulcsszavakkal jellemezve, m´ıg a kapcsolatokra ker¨ ulnek az adott csoportok hasonl´os´ag ´ert´ekei. Ezeket a k¨ozponti vektorok cosinust´avols´ag´aval sz´amolt´ak ki. A hierarchikus klaszterez´es csoportokat k´epez a l´etrej¨ott 20 klaszterb˝ol. A m´odszer sor´an v´altoz´o m´eret˝ u klaszterek j¨onnek l´etre (k¨ ul¨onb¨oz˝o sz´am´ u oldalt tartalmaznak), ezeket t´eglalapokkal jel¨olik, a hasonl´os´agot pedig t´avols´aguk adja, ami hasonl´o m´odon sz´amolhat´o, mint az el˝oz˝o esetben. D¨ ont´ est´ amogat´ o rendszerek alkalmaz´ asai A k¨ovetkez˝o 5 d¨ont´est´amogat´o rendszer Szlov´eni´aban ker¨ ult alkalmaz´asra, mindegyik m´asm´as jellemvon´asokkal rendelkezik. Lak´ast´amogat´o program : A feladat bankok megb´ız´asa a´llamilag t´amogatott hitelek ny´ ujt´as´ara. A konstrukci´o rendk´ıv¨ ul kedvez˝o a bankok sz´am´ara, min´el t¨obb szerz˝od´esre szeretn´enek jogot szerezni. A projekt nagy anyagi kereteit figyelembe v´eve mindenk´epp egy a´tl´athat´o modell sz¨ uks´eges, a d¨ont´est k¨ovet˝o t´amad´asi fel¨ uletek cs¨okkent´es´ere. A neh´ezs´eget a mind¨ossze egy h´onapos hat´arid˝o jelentette. A modell l´etrehoz´asa sor´an meghat´arozt´ak a bankokt´ol bek´erend˝o adatokat (hard data, magyar´az´o attrib´ utumok), majd ezeket csoportos´ıtva u ´ j, diszkr´et tulajdons´agokat hoztak l´etre (magyar´azand´o attrib´ utumok). A diszkr´et ´ert´ekeket meghat´aroz´o f¨ uggv´eny el˝oa´ll´ıt´asa szak´ert˝ok bevon´as´aval t¨ort´ent. Ezek alapj´an m´ar hozz´arendelhet˝o minden bankhoz egy priorit´as, amit a bank m´eret´evel s´ ulyozva alakulnak ki a kiosztott szerz˝od´essz´amok. Lak´asfel´ uj´ıt´asi program : Lak´otelepek renov´al´as´ara ´ırtak ki p´aly´azatot, melyek elb´ır´al´as´ahoz k´ertek d¨ont´est´amogat´asi rendszerek ny´ ujtotta seg´ıts´eget. A bek´ert adatokb´ol a k¨ovetkez˝o aggreg´alt tulajdons´agokat hozt´ak l´etre : az ´ep¨ ulet a´llapota, a jelentkez˝o adatai, a jelentkez˝o st´atusza. Ut´obbi eset´en k¨ ul¨on kezelt´ek a tulajdonos a´ltal lakott ´ep¨ uleteket ´es b´erbe adottakat. A modell seg´ıts´eg´evel k´et l´ep´esben o¨sszesen 250 jelentkez´est fogadtak el. Betegek a´llapotelemz´ese : Cukros betegek a´llapot´anak felm´er´ese ut´an d¨ont´est´amogat´o m´odszerek seg´ıts´eg´evel hat´arozt´ak meg az u ´ j betegek rizik´ofaktorait ´es javasolt kezel´esi m´odszer´et. A projekt id˝otartama 3 ´ev, a modell kialak´ıt´asakor 3500 beteg adatait dolgozt´ak fel orvosszak´ert˝ok bevon´as´aval. A f˝obb tulajdons´agok a k´ort¨ort´enet, a jelenlegi st´atusz ´es a teszteredm´enyek voltak, ezek ki´ert´ekel´esi f¨ uggv´eny´et adatb´any´aszati m´odszerekkel hat´arozt´ak meg a kiindul´asi adatokb´ol. Az u ´ j betegek a´llapot´anak alakul´as´aval p´arhuzamosan friss´ıtett´ek a modellt a nagyobb hat´ekonys´ag el´er´ese ´erdek´eben. Min˝os´egelemz´es, aj´anlat kiv´alaszt´as : A szlov´en informatikai hivatal k´et folyamat´anak automatiz´al´as´at t˝ uzte ki c´elul : besz´all´ıt´ok aj´anlatainak o¨sszehasonl´ıt´asa, a megval´os´ıt´asi technik´ak o¨sszehasonl´ıt´asa. A lehet˝os´egek o¨sszevet´ese nagy szakmai tapasztalatot ig´enyelt, sok informatikai szak´ert˝o bevon´as´ara volt sz¨ uks´eg. A l´etrehozott modellek k¨oz¨os tulajdons´aga volt a nagyon sok attrib´ utum (18-19 alap ´es 10-12 aggreg´alt). A tesztel´es ut´an ´eles alkalmaz´asra nem ker¨ ult sor, a modellek k´es˝obbi felhaszn´al´asra k´esz¨ ultek. Kultur´alis p´aly´azatok elb´ır´al´asa : Egyszeri p´aly´azati t´amogat´asok kioszt´as´ara hoztak l´ere d¨ont´est´amogat´o rendszert. A neh´ezs´eget az adatok jellege jelentette, ugyanis a p´aly´azatok sz¨oveges form´aban (soft data) ker¨ ultek bead´asra. Az elemz´est k´et f¨ uggetlen szak´ert˝o v´egezte minden p´aly´azat eset´eben, majd ezeket o¨sszevetve a´llap´ıtott´ak meg a d¨ont´esi modell alaptulajdons´againak ´ert´ekeit. A l´etrehozott modell szint´en sok attrib´ utumot tartalmazott (15 alap, 9 aggreg´alt). A rendszer m´asodik f´azisa seg´ıt kik¨ usz¨ob¨olni a szubjektivit´ast, de a szak´ert˝oi
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
287
v´elem´enyek t´amadhat´ok, ami a fellebbez´esek nagy sz´am´aval j´art. Terhel´ es el˝ orejelz´ es A villamosenergia-szolg´altat´o iparban rendk´ıv¨ ul fontos szerepet j´atszik a j¨ov˝obeli ig´enyek min´el kor´abbi felm´er´ese. Minden ´ev minden egyes szak´anak, h´onapj´anak, napj´anak ´es o´r´aj´anak minimum ´es maximum terhel´es´ere vonatkoz´o pontos becsl´eseinek birtok´aban, a k¨ozm˝ uvek jelent˝os megtakar´ıt´asokra tehetnek szert a m˝ uk¨od´esi tartal´ek be´all´ıt´asa, a karbantart´as-¨ utemez´es ´es a t¨ uzel˝oanyag-k´eszlet management ter¨ uletein. Az egyik nagy szolg´altat´on´al az elm´ ult ´evtizedben egy automatiz´alt terhel´es-el˝orejelz˝o modult m˝ uk¨odtettek a k¨ovetkez˝o k´et nap o´r´akra lebontott terhel´es´enek becsl´es´ere. A szolg´altat´o els˝o l´ep´ese a megel˝oz˝o tizen¨ot ´ev o¨sszegy˝ ujt¨ott adataib´ol egy szofisztik´alt terhel´esmodell manu´alis megtervez´ese volt. A modell h´arom komponensb˝ol ´ep¨ ult fel : ´eves alapterhel´es, ´evk¨ozi periodikus terhel´es, ´es az u ¨ nnepnapok extraterhel´ese. Az alapterhel´eshez val´o optimaliz´aci´ora az adatokat az o´r´ank´enti aktu´alis terhel´esb˝ol az ´eves a´tlagterhel´est levonva, majd a kapott ´ert´eket az ´eves sz´or´assal leosztva standardiz´alt´ak. Az elektromos terhel´es h´arom ciklus szerint mutat periodicit´ast : napi (itt a terhel´es minimuma reggelre, maximuma pedig d´elre ´es d´elut´anra esik), heti (h´etv´egente mutat alacsony ´ert´eket) ´es ´evszakonk´ent (a nyaranta ´es telente megn¨ovekv˝o f˝ ut´esi illetve h˝ ut´esi ig´eny miatt). A nagyobb u ¨ nnepnapok, mint a ´ ev napja jelent˝os elt´er´est mutatnak az egy´ebk´ent szok´asos H´alaad´as napja, Kar´acsony vagy az Uj´ terhel´esadatokt´ol, ´ıgy ezeket k¨ ul¨on-k¨ ul¨on modellezt´ek, a megel˝oz˝o tizen¨ot ´ev adott napj´an ´es o´r´aj´aban m´ert a´tlagokkal. A kisebb a´llami u ¨ nnepnapokat, p´eld´aul a Kolombusz napj´at egy kalap al´a veszik az iskolai sz¨ unnapokkal ´es a norm´al napi minta j´arul´ekos terhel´esek´ent kezelik. Mindezek a hat´asok megjelennek az ´evet tipikus napok sorozatak´ent rekonstru´alva, az u ¨ nnepnapokat hely¨ ukre illesztve, denormaliz´alva a teljes n¨ovekm´enyt kitev˝o terhel´est. Mindeddig a terhel´esmodell statikus volt, amelyet a kor´abbi adatok felhaszn´al´as´aval, manu´alisan szerkesztettek meg, ´es implicite mag´aban hordozta azt a feltev´est, hogy a kl´ımaviszonyok nem t´ernek el a norm´alist´ol” az ´ev sor´an. Az utols´o l´ep´es az id˝oj´ar´as, mint ” k¨ uls˝o faktor modellbe illeszt´ese volt. A m´odszer a mentett adatok k¨ozt az aktu´alishoz hasonl´o id˝oj´ar´asi k¨or¨ ulm´enyek ut´an kutat, ´es a megtal´alt nap ´ert´ekeit haszn´alja a napi terhel´es el˝orejelz´es´ehez. Ebben az esetben a rendszer a becsl´essel korrig´alja a statikus terhel´esmodellt. Az extr´em ´ert´ekek elleni v´edelemre a rendszer a nyolc legink´abb hasonlatos nap elt´er´es´enek ´ ank´enti felbont´as´ a´tlag´aval korrig´al. Or´ u adatb´azist hoztak l´etre h´arom helyi meteorol´ogiai a´llom´as 15 ´evre visszamen˝o h˝om´ers´eklet, p´aratartalom, sz´elsebess´eg ´es felh˝otakar´ora vonatkoz´o adataib´ol, az aktu´alis terhel´es ´es a statikus modell a´ltal j´osolt terhel´es k¨ ul¨onbs´eg´evel kieg´esz´ıtve. Az im´enti param´eterek terhel´esre gyakorolt hat´as´at line´aris regresszi´oanal´ızissel sz´am´ıtott´ak ki, majd az egy¨ utthat´okkal s´ ulyozt´ak a hasonl´o napok keres´es´ere haszn´alt t´avols´agf¨ uggv´enyt. Az ´ıgy kapott rendszer ugyanolyan teljes´ıtm´enyt produk´alt sokkal gyorsabban, mint a k´epzett meteorol´ogusok, o´r´ak helyett percek alatt k´esz´ıtve el a napi el˝orejelz´est. A rendszer oper´atorai tesztelhetik az el˝orejelz´es ´erz´ekenys´eg´et az id˝oj´ar´as szimul´alt v´altoz´asainak hat´as´ara, ´es megvizsg´alhatj´ak az aktu´alishoz leghasonl´obb napokat, amelyeket az algoritmus a finomhangol´asoz felhaszn´alt.
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
288
Diagnosztika A szak´ert˝oi rendszerek legfontosabb alkalmaz´asi ter¨ ulete a diagnosztika. B´ar sokszor a k´ezzel be´all´ıtott szab´alyok is j´ol teljes´ıtenek a szak´ert˝oi rendszerekben, a g´epi tanul´as lehet˝os´ege hasznos lehet olyan esetekben, amikor a manu´alis szab´alyalkot´as t´ uls´agosan munkaig´enyes. Az elektromechanikus eszk¨oz¨ok (p´eld´aul motorok ´es gener´atorok) megel˝oz˝o szervizel´ese g´atat vethet az ipari folyamatokat megzavar´o hib´ak kialakul´as´anak. A technikusok rendszeresen fel¨ ulvizsg´alnak minden eszk¨ozt, k¨ ul¨onb¨oz˝o pontokon m´erve a rezonanci´at, hogy felm´erj´ek mely eszk¨oz¨ok szorulnak szervizel´esre. Tipikus meghib´asod´asok k¨oz´e tartoznak : a tengely el´all´ıt´od´asa, mechanikai kilazul´asok, hib´as csap´agyak ´es kiegyenl´ıtetlen szivatty´ uk. Az egyik vegyi u ¨ zem t¨obb mint 1000 k¨ ul¨onb¨oz˝o eszk¨ozt haszn´al, a kisebb szivatty´ ukt´ol eg´eszen a hatalmas turb´ogener´atorokig, amelyek mindegyik´et eg´eszen a k¨ozelm´ ultig egy 20 ´eves tapasztalattal rendelkez˝o szakember szervizelte. Az eszk¨oz talapzat´an, k¨ ul¨onb¨oz˝o pontokon v´egeznek vibr´aci´om´er´est, ´es az energiaszintet vizsg´alj´ak Fourier-anal´ızis seg´ıts´eg´evel az alap forg´asi sebess´eg minden felharmonikus´anak mindh´arom ir´any´aban a hib´ak detekt´al´as´ara. Ennek, az – a m´er´esi ´es r¨ogz´ıt´esi folyamat korl´atolts´aga miatt rendk´ıv¨ ul nagy hibaar´any´ u – inform´aci´onak a tanulm´anyoz´as´at a diagnosztiz´al´o szakember v´egzi. N´eh´any szitu´aci´ora ugyan manu´alisan kifejlesztettek szab´alyrendszereket, de a fejleszt´esi folyamatot sz´amos k¨ ul¨onb¨oz˝o berendez´esre k¨ ul¨on-k¨ ul¨on meg kellett volna ism´etelni, ´ıgy ker¨ ult l´at´ot´erbe a g´epi tanul´as. Hatsz´az hiba, mindegyik m´er´esi adatokkal ´es a szak´ert˝o diagn´ozis´aval rendelkez´esre a´llt, a probl´emak¨or h´ usz´evnyi tapasztalatak´ent. Az adatok k¨or¨ ulbel¨ ul fele k¨ ul¨onb¨oz˝o okok miatt el´egtelen volt, ´ıgy figyelmen k´ıv¨ ul hagyt´ak, a marad´ekot pedig tan´ıt´ohalmaznak haszn´alt´ak. A c´el nem a hiba detekt´al´asa, hanem annak kategoriz´al´asa, diagnosztiz´al´asa volt. ´Igy nem volt sz¨ uks´eg hibamentes esetek adataival b˝ov´ıteni a tan´ıt´ohalmazt. Mivel a m´ert attrib´ utumok meglehet˝osen alacsony szint˝ uek voltak, ´ıgy ki kellett b˝ov´ıteni azokat a sz´armaztatott – ter¨ uletspecifikus inform´aci´oval b´ır´o – fogalmakkal, p´eld´aul az alap tulajdons´agok funkci´oival, amelyeket a szak´ert˝o bevon´as´aval defini´altak. A sz´armaztatott attrib´ utumokra lefuttattak egy indukci´os algoritmust, hogy el˝oa´ll´ıts´ak a diagnosztiz´al´o szab´alyk´eszletet. Kezdetben a szak´ert˝o nem volt el´egedett a szab´alyokkal, mert nem tudta azokat a saj´at tud´as´ahoz ´es tapasztalat´ahoz viszony´ıtani. Sz´am´ara a puszta statisztikai megalapozotts´ag o¨nmag´aban nem volt elegend˝o bizony´ıt´ek. Tov´abbi h´att´ertud´ast kellett felhaszn´alni miel˝ott elk´esz¨ ulhetett a megfelel˝o szab´alyrendszer. Ugyan az eredm´eny¨ ul kapott szab´alyok meglehet˝osen bonyolultra siker¨ ultek, a szak´ert˝onek tetszettek, mert mechanikai tud´asa ´es tapasztalata alapj´an ellen˝orizni tudta azo¨ ult, hogy a szab´alyok harmada egybeesett az a´ltala is haszn´altakkal, a marad´ek egy kat. Or¨ r´esze pedig sz´eles´ıtette r´al´at´as´at a rendszerre. A teljes´ıtm´enytesztek azt mutatt´ak ki, hogy az u ´ jonnan kinyert szab´alyok alig voltak jobbak a kor´abban manu´alisan fel´all´ıtottakn´al. Az eredm´enyt k´es˝obb a vegyi u ¨ zem is meger˝os´ıtette. Ugyanakkor ´erdemes megjegyezni, hogy a szab´alyrendszert nem a j´o teljes´ıtm´enye miatt a´ll´ıtott´ak u ¨ zembe, hanem mert a ter¨ ulet szak´ert˝oje elismer˝oen v´elekedett r´ola.
F¨ uggel´ ek F¨ uggel´ ek A .1. t´ etel. A Gy˝ ujt˝ olapok ´es Tekint´elyek sor´ an alkalmazott iter´ aci´ o sor´ an t (i) , illetve g (i) sorozatok konverg´ alnak nemnegat´ıv ´ert´ek˝ u vektorokhoz. Teh´ at l´ assuk be, hogy amennyiben A egy 1 tetsz˝ oleges gr´ af adjacencia m´ atrixa ´es v (0) = ... = j t , akkor a 1
v (i) =
AAT v (i−1) [AAT v (i−1) ]
iter´ aci´ oa ´ltal kapott sorozat konverg´ al. Megjegyz´es 1 : Az iter´aci´os l´ep´esb˝ol k¨ozvetlen¨ ul ad´odik, hogy v (i) az (AAT )i j t ir´any´ u egys´egvektor. Megjegyz´es 2 : g (i) konvergenci´aj´ab´ol t(i) konvergenci´aja is k¨ovetkezik A ´es AT felcser´el´es´evel. A t´etel bizony´ıt´as´ahoz sz¨ uks´eg¨ unk van n´eh´any seg´edt´etelre. .2. lemma. Legyen A ∈ R(n×n). Ekkor AAT (´es hasonl´ oan AT A is) pozit´ıv szemidefinit szimmetrikus m´ atrix. Bizony´ıt´ as: A szimmetrikuss´ag a m´atrixszorz´as szab´aly´ab´ol k¨ozvetlen¨ ul ad´odik. Felhaszn´alva T T T a vA = (A v ) azonoss´agot vAAT v T = (AT v T )T (AT v T ) = w T w ≥ 0 ad´odik, ami bizony´ıtja, hogy AAT pozit´ıv szemidefinit.
.3. lemma. Ha M m´ atrix pozit´ıv szemidefinit ´es szimmetrikus, akkor saj´ at´ert´ekei val´ osak ´es nemnegat´ıvak. .4. t´ etel (Perron-Frobenius). Ha egy m´ atrix aperiodikus, irreducibilis ´es nemnegat´ıv elem˝ u, akkor legnagyobb abszol´ ut´ert´ek˝ u saj´ at´ert´ekhez tartoz´ o saj´ atvektor nemnegat´ıv koordinataj´ u, ´es nincs m´ as, ilyen abszol´ ut ´ertek˝ u, saj´ at´ert´ek. .5. lemma. M m´ atrix pozit´ıv szemidefinit szimmetrikus, 2 ≥ . . . ≥ λk ≥ 0, (k < n) Pkλ1 > λ(i) n saj´ at´ert´ekekkel. Ekkor tetsz˝ oleges v ∈ R fel´ırhat´ o v = i=1 αi w alakban, ahol ||w (i) || = (i) (j) (i) (i) = 1, w w = 0 ha i 6= j ´es M w = λi w . 289
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
290
T´erj¨ unk vissza az .1-¨os t´etel bizony´ıt´as´ahoz. Bizony´ıt´ as: Jel¨olj¨ uk AAT m´atrixot M -el. Feltehetj¨ uk, hogy M aperiodikus, P 2 hiszen mii az i-edik pontb´ol m´as pontba mutat´o ´elsz´am n´egyzet´enek o¨sszeg´et adja meg ( k mik ), ami csak akkor lehet 0, ha i-edik pontb´ol nem indul ´el. Ez a pont a konvergencia t´eny´et nem befoly´asolja, mert M minden hatv´any´anak megfelel˝o sora ´es oszlopa csupa 0 elemb˝ol fog a´llni, teh´at jogos a felt´etelez´es. Azt is feltehetj¨ uk, hogy M irreducibilis, mert ha nem az, akkor m´atrixot irreducibilis blokkm´atrixokra bonthatjuk, ´es a hatv´anyoz´ast blokkonk´ent v´egezhetj¨ uk. Tudjuk teh´at, hogy M nemnegat´ıv elem˝ u, aperiodikus, irreducibilis, pozit´ıv szemidefinit szimmetrikus m´atrix, ami miatt minden sajt´at´ert´ek nemnegat´ıv, a legnagyobb saj´at´ert´eke egyszeres, tov´abb´a az ehhez o saj´atvektor nemnegat´ıv elem˝ u. Legyen v ∈ R n tetsz˝oleges vekPk tartoz´ Mjv tor. .5 alapj´an v = i=1 αi w (i) ´es w (1) egy´ertelm˝ u, nemnegat´ıv elem˝ u vektor. A ||M es j v|| kifejez´ (1) w -hez tart ha j → ∞, mert Pk Pk j (i) j (i) Mjv α M w i i=1 αi λi w i=1 = qP = P ||M j v|| || ki=1 αi M j w (i) || k j 2 i=1 (αi λi ) P α1 λj1 w (1) + ki=2 αi λji w (i) q · P (α1 λj1 )2 + ki=1 (αi λji )2
1 λj1 1 λj1
P α1 w (1) + ki=2 αi = q P α12 + ki=1 (αi
λi j (i) w λ1 λi λ1
j
)2
→ w (1)
A norm´al´as sor´an felhaszn´altuk, hogy a w (i) vektorok mer˝olegesek egym´asra, ´es egys´egnyi hossz´ uak, a hat´ar´ert´ek meghat´aroz´asakor pedig azt, hogy λ 1 a legnagyobb saj´at´ert´ek, teh´at λi Mjv (1) < 1, i = 2, . . . , k-ra. Teh´at ha v nem mer˝oleges w (1) -re, akkor ||M -hez konverg´al. j v|| vektor w λ1 (1) (1) Ez azonban nem a´ll fenn, l´ev´en jw > 0, mert w nemnegat´ıv elem˝ u vektor.
´ ´ 14. 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)
291
´ ´ 14. FEJEZET. ADATBANY ASZAT A GYAKORLATBAN
ANGOL market-basket problem mode negative border oblivious decision tree outlier analysis pattern power divergence function 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 er˝o divergencia f¨ uggv´eny 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)
292
T´ argymutat´ o χ2 pr´oba, 29 a´tlagos n´egyzetes hiba, 154 a´tlagos n´egyzetes hibagy¨ok, 154 min supp, 60 Apriori, 63 Eclat algoritmus, 77 FP-growth algoritmus, 80 11 pontos a´tlagos pontoss´ag, 190
Bayes-m´odszer naiv, 185, 191 bemeneti sorozat, 60 bizotts´ag oszt´alyoz´ok´e, 188 tagok, 188 boosting elj´ar´asok AdaBoost, 189
A minta nagys´aga, 85 abszol´ ut hiba´atlag, 154 AdaBoost, 189 adat struktur´alatlan, 179 struktur´alt, 179 tanul´o, 185 teszt, 185 valid´aci´os, 185 adatb´azis horizont´alis, 61 vertik´alis, 61 algoritmus helyesen m˝ uk¨od˝o, 235 moh´o, 191 teljes, 235 anti-monoton, 230 APRIORI m´odszer, 235 apriori algoritmus, 211 APRIORI-CLOSE, 238 asszoci´aci´os szab´aly, 91, 92 ´erdekess´ege, 94 ´erv´enyes, 92 bizonyoss´aga, 92 egzakt, 92 hierarchikus, 105, 106 t´amogatotts´aga, 92 average linkage, 173
centroid kapcsol´od´as, 197 centroid–egyszer˝ u kapcsol´od´as, 197 χ2 -statisztika, 183 complet linkage, 173 csoportos´ıt´as sz¨ovegek´e, 194 hierarchikus klaszterez˝ok, 197 jellegzetess´egek, 195 k-´atlag m´odszerek, 197 dimenzi´o cs¨okkent´ese, 182 kategoriz´al´asn´al, 183 dokumentum a´br´azol´asa, 181 el˝ofeldolgoz´asa, 180 reprezent´aci´oja, 180 bin´aris, 182 csoportos´ıt´asn´al, 195 dokumentum frekvencia k¨ usz¨ob¨ol˝o, 183 dokumentumgy˝ ujtem´eny reprezent´al´asa, 182 dokumentumok csoportos´ıt´asa, 194 dokumentumok el˝ofeldolgoz´asa, 180 d¨ont´esi fa sz¨ovegoszt´alyoz´o, 186 Duquenne–Guigues-b´azis, 93 egyens´ ulyi pont felid´ez´es´e ´es pontoss´ag´e, 190 ekvivalencia-rel´aci´o, 23 293
´ ´ TARGYMUTAT O elemhalmaz, 251 fed´es, 60 gyakori, 60 gyakoris´aga, 61 elm´eleti regresszi´os g¨orbe, 113 eloszl´as χ2 , 27 binomi´alis, 26 hipergeometrikus, 27 norm´alis, 27 Poisson, 26 entr´opia, 27 entr´opia, 196 Euklideszi-norma, 40 f¨ uggetlens´egvizsg´alat, 29 f˝okomponens analizis, 54 fel¨ ugyelet n´elk¨ uli tanul´as, 159 felid´ez´es, 157 felid´ez´es, 189, 201 szintenk´enti, 192 fel¨ ugyelet n´elk¨ uli tanul´as, 195 fel¨ ugyelt tanul´as, 185 ferdes´eg, 38 F-m´ert´ek, 190 csoportos´ıt´asn´al, 196 szintenk´enti, 192 fogalomt´ars´ıt´as, 209 fontoss´ag, 216 FP-fa vet´ıtett, 82 funkci´o szavak, 183 funkci´o szavak elhagy´asa, 183 FUP algoritmus, 248 Galois-kapcsolat, 87 Galois-lez´ar´as oper´ator, 87 GSP, 254 gy˝ ujt˝olap, 220 gyakoris´agi k¨ usz¨ob, 239 gyakoris´agi k¨ usz¨ob¨ot, 61 gyakoris´ag, 182 halmaz, 23 lok´alisan v´eges, 230 rangsz´amozott, 230
294 halmazcsal´ad, 75 hat´ekonys´ag m´er´ese sz¨ovegb´any´aszatn´al a´ltal´aban, 184 sz¨ovegek csoportos´ıt´as´an´al, 196 sz¨ovegoszt´alyoz´as egyszer˝ u, 189 hierarchikus, 192 hiba sz¨ovegoszt´alyoz´asn´al, 189 hierarchikus asszoci´aci´os szab´aly ´erdekess´ege, 107 hierarchikus klaszterez˝o, 197 egyes´ıt˝o, 197 feloszt´o, 197 ierarchikus klaszterez˝o UPGMA, 197 hierarchikus sz¨ovegoszt´alyoz´as, 191 HITEC, 192 Hoeffding-korl´at, 27 inform´aci´o nyeres´eg m´odszer, 183 inform´aci´okinyer´es, 209 invari´ans hasonl´os´ag, 39 inverz dokumentum frekvencia, 182 Ism´etelt mintav´etelez´es, 152 Jaccard-koefficiens, 39 jel¨olt, 63, 236 hamis, 236 jel¨olt-el˝oa´ll´ıt´as ism´etl´es n´elk¨ uli, 63 jellemz˝ok kiv´alaszt´asa, 183 k-legk¨ozelebbi szomsz´ed gr´af, 163 k´enyszer er˝osen a´talak´ıthat´o, 233 kanonikus reprezent´aci´o, 75 kappa statisztika, 156 kateg´oria¨osv´eny, 192 kateg´oriarendszer, 184 kategoriz´al´as l´ asd oszt´alyoz´as 184 k-´atlag elj´ar´as kett´eszel˝o, 197 k´erd´es-megv´alaszol´o rendszerek, 210 Kereszt-valid´aci´o, 152 kett´eszel˝o k-´atlag elj´ar´as, 197 kevered´esi m´atrix, 155
´ ´ TARGYMUTAT O kivonatol´as, 199 csoportos´ıt´as alap´ u m´odszerek, 204 defin´ıci´o, 199 hat´ekonys´ag´anak m´er´ese, 201 jellemz˝ok, 201 klasszikus m´odszer, 202 MEAD m´odszer, 205 MMR m´odszer, 204 mondatkiv´alaszt´assal, 201 TF-IDF alap´ u m´odszer, 203 weboldalak´e, 207 Klaszterez´es, 158 klaszterez´es l´ asd csoportos´ıt´as 194 k-NN l´ asd legk¨ozelebbi szomsz´edok 186 kontingencia-t´abl´azat, 30 korrel´aci´os egy¨ utthat´o, 154 koszinusz-m´ert´ek, 41 Laplace estimation, 148 lapults´ag, 38 l´atens szemantikus indexel´es (LSI), 183 leave-one-out, 152 legk¨ozelebbi szomsz´edok sz¨ovegoszt´alyoz´o, 186 lexikografikus rendez´es, 24 lexikon l´ asd sz´ot´ar 181 line´aris kiterjeszt´es, 231 line´arisan szepar´alhat´o oszt´alyok, 120 logisztikus f¨ uggv´enyt, 125 logit f¨ uggv´enynek, 126 LSI l´ asd l´atens szemantikus indexel´es 183 lusta tanul´o, 186 m´odusz, 26 Manhattan-norma, 40 min freq, 61, 239 Minkowski-norma, 40 minta, 230 u ¨ res, 230 elhanyagolt, 236 gyakori, 230 gyakoris´aga, 239 jel¨olt, 236 m´erete, 230 nem b˝ov´ıthet˝o, 232 ritka, 230
295 t´amogatotts´aga, 230 z´art, 232 mintafelismer´es, 183 mintahalmaz, 230 mintat´er, 230 moh´o algoritmus, 191 n´evelem, 211 naiv Bayes-m´odszer, 185 hierarchikus oszt´alyoz´as, 191 Naiv mintav´etelez˝o algoritmus, 245 neur´alis h´al´ozat, 187 oldalak rangsorol´asa, 215 ,,oszd meg ´es uralkodj” strat´egia, 187 oszt´alyoz´as egyszer˝ u, 184 hierarchikus, 184 sz¨ovegek´e, 184 o¨sszegz´esk´esz´ıt´es, 199 a´ltal´anos, 200 indikat´ıv, 200 informat´ıv, 200 k´erd´es-vez´erelt, 200 p´okh´al´o probl´ema, 218 Page Rank, 216, 219 part´ıci´os algoritmus, 245 PATRICIA fa, 32 perceptron, 187 pontoss´ag, 189, 201 szintenk´enti, 192 Porter-algoritmus, 211 pr´oba Student t-pr´oba, 31 predik´atum anti-monoton, 233 monoton, 233 prefix anti-monoton, 233 prefix monoton, 233 trivi´alis, 233 prefix, 231 pszeudo-z´art elemhalmaz, 93 r´eszben rendez´es, 23 r´eszminta, 230 val´odi, 230
´ ´ TARGYMUTAT O r´etegzett particion´al´as, 151 rang-vektor, 216 relat´ıv abszol´ ut hiba, 154 relat´ıv n´egyzetes hiba, 154 relat´ıv n´egyzetes hibagy¨ok, 154 Reuters-gy˝ ujtem´eny, 191 Rocchio-elj´ar´as, 122 shrinkage, 191 single linkage elj´ar´as, 172 sorozat, 24 stopwords, 183 struktur´alatlan adat, 179 struktur´alt adat, 179 s´ ulybe´all´ıt´as addit´ıv, 187 multiplikat´ıv, 187 s´ ulyoz´as bin´aris, 182 TF, 182 TFIDF, 182, 203 SVD l´ asd szingul´aris ´ert´ekfelbont´as 183 SVM, 188 sz´ofa, 31, 66 l´ancolt list´as implement´aci´o, 32 nyesett, 32 t´abl´azatos implement´aci´o, 31 szabatoss´ag, 189 szavaz´asos oszt´alyoz´as, 188 szerkeszt´esi t´avols´ag, 41 szerkeszt´esi elv, 204 szesz´elyes sztochasztikus sz¨orf¨ol˝o, 219 szigmoid, 125 szingul´aris felbont´as, 54 szingul´aris ´ert´ekfelbont´as (SVD), 183, 206 sz´o–dokumentum m´atrix, 182 sz´ofajc´ımk´ez˝o, 211 sz´ot´ar, 181 m´erete, 182 m´eret´enek cs¨okkent´ese, 182 kategoriz´al´asn´al, 183 sz´ot¨ovez˝o, 181, 211 sz¨ovegb´any´aszat a´ltal´anos modellje, 180 defin´ıci´o, 179 sz¨ovegek kategoriz´al´asa, 184
296 sz¨oveges inform´aci´ok vizualiz´al´asa, 210 sz¨ovegoszt´alyoz´as, 184 hierarchikus, 191 sz¨ovegoszt´alyoz´o bizotts´ag, 188 d¨ont´esi fa alap´ u, 186 HITEC, 192 legk¨ozelebbi szomsz´edokon alapul´o, 186 naiv Bayes-m´odszer, 185, 191 neur´alis h´al´ozat alap´ u, 187 SVM, 188 szavaz´asos, 188 sztochasztikus sz¨orf¨ol˝o, 217 t´amogatotts´agi f¨ uggv´eny, 230 t´amogatotts´agi k¨ usz¨ob, 60, 230 tanul´as fel¨ ugyelet n´elk¨ uli, 195 fel¨ ugyelt, 185 tanul´asi r´ata, 187 tanul´ohalmaz, 185 taxon´omia, 105 taxon´omia, 184, 191, 195 tekint´elylapok, 220 teljes rendez´es, 23 t´emak¨ovet´es, 209 teszthalmaz, 185 tesztkorpuszok sz¨ovegszo2vegklaszterezeshez, 198 sz¨ovegoszt´alyoz´ashoz, 212 TID-halmaz, 78 token, 181 tranzakci´o, 60 u ´ jraparametriz´al´as, 183 univerz´alisan n´epszer˝ u lapok, 221 UPGMA m´odszer, 197 valid´aci´os halmaz, 185 vari´ans hasonl´os´ag, 39 vektort´er-modell, 181 Ward m´odszer, 173 Webes adatb´any´aszat, 215 weka Associate f¨ ul, 93 Classify f¨ ul, 112
´ ´ TARGYMUTAT O Arff form´atum, 37 sparse arff form´atum, 37 weka.associations.Apriori, 64, 108 weka.associations Apriori, 104 Conviction, 104 Leverage, 104 weka.attributeSelection LatentSemanticAnalysis, 57 weka.classifiers Classifier evaluation options, 156, 157 Classifier output, 156 functions.LeastMedSq, 124 functions.LinearRegression, 124 functions.Logistic, 127 functions.MultilayerPerceptron, 130 functions.SimpleLinearRegression, 124 functions.Winnow, 122 lazy.IB1, 117 lazy.IBk, 119 Result list panel, 137 rules.OneR, 134 rules.Prism, 136 rules.ZeroR, 134 Test options panel, 153, 156 trees csomag, 137 trees.Id3, 141 trees.J48, 144 trees.UserClassifier, 139 weka.clusterers DBScan, 177 SimpleKMeans, 170 weka.filters.supervised attribute.Discretize, 47 instance.Resample, 53 instance.SpreadSubsample, 53 instance.StratifiedRemoveFolds, 53 weka.filters.unsupervised attribute.Add, 43 attribute.AddExpression, 43 attribute.AddID, 43 attribute.AddNoise, 45 attribute.Center, 47 attribute.ChangeDateFormat, 37 attribute.Copy, 43
297 attribute.Discretize, 46 attribute.FirstOrder, 43 attribute.InterquartileRange, 44 attribute.MathExpression, 43 attribute.MergeTwoValues, 37 attribute.NominalToBinary, 37, 108 attribute.Normalize, 47 attribute.NumericCleaner, 45 attribute.NumericToNominal, 37 attribute.NumericTransform, 44 attribute.Obfuscate, 45 attribute.PKIDiscretize, 46 attribute.PrincipalComponents, 57 attribute.Remove, 44 attribute.RemoveType, 44 attribute.RemoveUseless, 44 attribute.ReplaceMissingValues, 42 attribute.Standardize, 47 instance.RemoveFolds, 53 instance.RemoveMisclassified, 45 instance.RemovePercentage, 53 instance.RemoveWithValues, 45 instance.Resample, 53 instance.ReservoirSample, 53 Winnow, 187 kiegyens´ ulyozott, 187 z´art elemhalmaz, 87 zs´akutca probl´ema, 218
Irodalomjegyz´ ek [1] L. Aas – L. Eikvil : Text categorisation : A survey. NR 941. Raport, 1999, Norwegian Computing Center. [2] Pieter Adriaans – Dolf Zantinge : Adatb´ any´ aszat. Budapest, 2002, Panem Kiad´o. [3] 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. [4] R. Agrawal – R. Srikant : Fast algorithms for mining association rules in large databases. In Proc. of VLDB 94, the 20th Int. Conf. on Very Large Data Bases (konferenciaanyag). Santiago de Chile, Chile, 1994, 487–499. p. [5] 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. [6] 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. [7] 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. [8] 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. [9] R´enyi Alfr´ed : Val´ osz´ın˝ us´egsz´ am´ıt´ as. 1968, Tank¨onyvkiad´o. [10] 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. 298
´ IRODALOMJEGYZEK
299
[11] 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. [12] C. Apte – F. J. Damerau – S. M. Weiss : Automated learning of decision rules for text categorization. ACM Trans. Information Systems, 12. ´evf. (1994. July) 3. sz. [13] Franz Aurenhammer : Voronoi diagrams—a survey of a fundamental geometric data structure. ACM Comput. Surv., 23. ´evf. (1991) 3. sz. ISSN 0360-0300. [14] 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. [15] Yves Bastide – Rafik Taouil – Nicolas Pasquier – Gerd Stumme – Lotfi Lakhal : Mining frequent patterns with counting inference. SIGKDD Explor. Newsl., 2. ´evf. (2000) 2. sz. [16] Jon Louis Bentley : Multidimensional binary search trees used for associative searching. Commun. ACM, 18. ´evf. (1975) 9. sz. ISSN 0001-0782. [17] 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. [18] M. W. Berry – S. T. Dumais – G. W. O’Brien : Using linear algebra for intelligent information retrieval. SIAM Review, 37. ´evf. (1995) 4. sz. [19] 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. [20] 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. [21] R. Blumberg – S. Arte : The problem with unstructured data. DM Review, 2003. February. http://www.dmreview.com/editorial/dmreview/print_action.cfm? articleId=6%287. [22] 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.. [23] 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.
´ IRODALOMJEGYZEK
300
[24] 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. [25] 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. [26] L. Breiman : Bagging predictors. Machine Learning, 24. ´evf. (1996). [27] Leo Breiman – Jerome Friedman – Charles J. Stone – R. A. Olshen : Classification and Regression Trees. 1984. January, Chapman & Hall/CRC. ISBN 0412048418. [28] 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. [29] 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. [30] 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. [31] 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. [32] Jadzia Cendrowska : Prism : An algorithm for inducing modular rules. International Journal of Man-Machine Studies, 27. ´evf. (1987) 4. sz. [33] S. Chakrabarti – B. Dom – R. Agrawal – P. Raghavan : Scalable feature selection, classification and signature generation for organizing large text databases into hierarchical topic taxonomies. The VLDB Journal, 7. ´evf. (1998) 3. sz. [34] 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. [35] 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. [36] 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.
´ IRODALOMJEGYZEK
301
[37] 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. [38] 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. [39] Thomas M. Cover – Joy A. Thomas : Elements of Information Theory. Wiley Series in Telecommunications sorozat. 1991, John Wiley & Sons, Inc. [40] I. Dagan – Y. Karov – D. Roth : Mistake-driven learning in text categorization. In Claire Cardie – Ralph Weischedel (szerk.) : Proc. of EMNLP-97, 2nd Conference on Empirical Methods in Natural Language Processing (konferenciaanyag). Providence, RI, 1997, Association for Computational Linguistics, 55–63. p. [41] S. D’Alessio – K. Murray – R. Schiaffino – A. Kershenbaum : The effect of using hierarchical classifiers in text categorization. In Proc. of 6th Int. Conf. Recherche d’Information Assistee par Ordinateur (RIAO-00) (konferenciaanyag). Paris, France, 2000, 302–313. p. http://citeseer.ist.psu.edu/410559.html ; retrieved on 2005.08.26. [42] R. de la Briandais : File searching using variable-length keys. In Western Joint Computer Conference (konferenciaanyag). 1959. March, 295–298. p. [43] S. Deerwester – S. T. Dumais – G. W. Furnas – T. K. Landauer – R. Harshman : Indexing by latent semantic analysis. Journal of the American Society for Information Science, 41. ´evf. (1990) 6. sz. [44] 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. [45] P. Domingos – M. J. Pazzani : On the optimality of the simple Bayesian classifier under zero-one loss. Machine Learning, 29. ´evf. (1997) 2–3. sz. [46] S. T. Dumais : Improving the retrieval information from external sources. Behaviour Research Methods, Instruments and Computers, 23. ´evf. (1991) 2. sz. [47] S. T. Dumais – J. Platt – D. Heckerman – M. Sahami : Inductive learning algorithms and representations for text categorization. In Proc. of 7th ACM Int. Conf. on Information and Knowledge Management (CIKM-98) (konferenciaanyag). Bethesda, MD, 1998, 148– 155. p. [48] Margaret H. Dunham : Data Mining : Introductory and Advanced Topics. Upper Saddle River, NJ, USA, 2002, Prentice Hall PTR. ISBN 0130888923. [49] Herb Edelstein : Mining large databases – a case study. Jelent´es, 1999, Two Crows Corporation.
´ IRODALOMJEGYZEK
302
[50] 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. [51] 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. [52] C. J. Fall – A. T¨orcsv´ari – P. Fiev´et – G. Karetka :. Additional readme information for WIPO-de autocategorization data set, 2003. March. http://www.wipo.int/ibis/ datasets/wipo-de-readme.html. [53] C. J. Fall – A. T¨orcsv´ari – G. Karetka :. Readme information for WIPO-alpha autocategorization training set, 2002. December. http://www.wipo.int/ibis/datasets/ wipo-alpha-readme.html. [54] C. J. Fall – A. T¨orcsv´ari – K. Benzineb – G. Karetka : Automated categorization in the international patent classification. ACM SIGIR Forum archive, 37. ´evf. (2003. Spring) 1. sz. [55] W. Fan – L. Wallace – S. Rich – Z. Zhang : Tapping into the power of text mining. Communications of the ACM, (in press). ´evf. (2005). http://filebox.vt.edu/users/wfan/ paper/text_mining_final_preprint.pdf. [56] 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. [57] William Feller : Bevezet´es a Val´ osz´ın˝ us´egsz´ am´ıt´ asba ´es Alkalmaz´ asaiba. 1978, M˝ uszaki K¨onyvkiad´o. [58] Bodon Ferenc : Hash-f´ak ´es sz´of´ak az adatb´any´aszatban. Alkalmazott Matematikai Lapok, 21. ´evf. (2003). [59] E. W. Forgy : Cluster analysis of multivariate data : Efficiency versus interpretability of classifications. Biometric Soc. Meetings, Riverside, California, 21. ´evf. (1965). [60] Scott Fortin – Ling Liu : An object-oriented approach to multi-level association rule mining. In CIKM (konferenciaanyag). 1996, 65–72. p. [61] Edward Fredkin : Trie memory. Communications of the ACM, 3. ´evf. (1960) 9. sz. ISSN 0001-0782. [62] Y. Fu :. Discovery of multiple-level rules from large databases, 1996. URL http://citeseer.nj.nec.com/fu96discovery.html. [63] Iv´an Fut´o (szerk.) : Mesters´eges Intelligencia. Budapest, 1999, Aula Kiad´o.
´ IRODALOMJEGYZEK
303
[64] T. Gedeon – L. T. K´oczy : A model of intelligent information retrieval using fuzzy tolerance relations based on hierarchical co-occurrence of words. In F. Crestani – G. Pasi (szerk.) : Soft Computing in Information Retrieval : Techniques and Applications. Studies in Fuzziness and Soft Computing sorozat, 50. k¨ot. Heidelberg, Germany, 2000, Physica-Verlag, 48–74. p. [65] 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. [66] Bart Goethals : Survey on frequent pattern mining. 2002. Manuskript. [67] 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.. [68] M. D. Gordon – R. Lindsay – W. Fan : Literature-based discovery on the www. ACM Transactions on Internet Technology (TOIT), 2. ´evf. (2002) 4. sz. [69] 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.. [70] 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. [71] 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. ´ ´ [72] Jiawei Han – Micheline Kamber : ADATBANY ASZAT - Koncepci´ ok ´es technik´ ak. 2004, Panem K¨onyvkiad´o. [73] Jiawei Han – Micheline Kamber : Data mining : concepts and techniques (Second Edition). 2006, Morgan Kaufmann Publisher. [74] 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. [75] Trevor Hastie – Robert Tibshirani – Jerome Friedman : The Elements of Statistical Learning : Data Mining, Inference and Prediction. 2001, Springer-Verlag.
´ IRODALOMJEGYZEK
304
[76] 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. [77] Robert C. Holte : Very simple classification rules perform well on most commonly used datasets. Mach. Learn., 11. ´evf. (1993) 1. sz. ISSN 0885-6125. [78] Maurice Houtsma – Arun Swami :. Set-oriented mining of association rules, 1993. [79] 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. [80] Index.hu :. R´akkelt˝o anyagok a mcdonaldsban ´es burger kingben. URL http://index.hu/gazdasag/vilag/mcrak060929. [81] 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. [82] Akihiro Inokuchi – Takashi Washio – Nishimura Yoshio – Hiroshi Motoda : A fast algorithm for mining frequent connected graphs,. Jelent´es, 2002, IBM research, Tokyo Research Laboratory. [83] Korcsm´aros Istv´an :. Sz¨ovegb´any´aszat (text mining) — u ´ j fogalom az u ¨ zleti intelligencia t´emak¨or´eben. http://www.controllingportal.hu/index.php?doc=tk_t&t=16&d= 75, 2003. [84] Fazekas Istv´an : Bevezet´es a matematikai statisztik´ aba. 2000, Debreceni Egyetem Kossuth Egyetemi Kiad´oja. [85] R. C. Jancey : Multidimensional group analysis. Austral. J. Botany, 14. ´evf. (1966). [86] Dr. Abonyi J´anos : Adatb´ any´ aszat a hat´ekonys´ ag eszk¨ oze. Budapest, 2006, Computerbooks. [87] T. Joachims : A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization. In Proc. of ICML-97, 14th Int. Conf. on Machine Learning (konferenciaanyag). Nashville, TN, USA, 1997, 143–151. p. [88] T. Joachims : Text categorization with support vector machines : Learning with many relevant features. Technical Report, Dortmund, Germany, 1997, University of Dortmund, Dept. of Informatics. [89] Richard A. Johnson – Dean W. Wichern : Applied Multivariate Statistical Analysis. Fifth. kiad. Upper Saddle River, NJ, 2002, Prentice-Hall.
´ IRODALOMJEGYZEK
305
[90] 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. [91] O. Kariv – S.L.Hakimi : An algorithmic approach to network location problems, part ii : p-medians. SIAM J. Appl. Math., 37. ´evf. (1979). [92] L. Kaufman – P.J. Rousseeuw : Finding Groups in Data : an Introduction to Cluster Analysis. 1990, John Wiley & Sons. [93] 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. [94] 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. [95] Jon Kleinberg : An impossibility theorem for clustering. Advances in Neural Information Processing Systems (NIPS) 15, 2002. URL http://citeseer.nj.nec.com/561287.html. [96] 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. [97] Mika Klemettinen :. A knowledge discovery methodology for telecommunication network alarm databases, 1999. URL http://citeseer.nj.nec.com/klemettinen99knowledge.html. [98] 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. [99] D. Koller – M. Sahami : Hierarchically classifying documents using a very few words. In Proc. of ICML-97, 14th Int. Conf. on Machine Learning (konferenciaanyag). Nashville, TN, 1997, 170–178. p. [100] 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. [101] R´onyai Lajos – Ivanyos G´abor – Szab´o R´eka : Algoritmusok. 1998, Typotex Kiad´o. [102] 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.
´ IRODALOMJEGYZEK
306
[103] 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. [104] 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. [105] 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. [106] 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. [107] D. D. Lewis : An evaluation of phrasal and clustered representations on a text categorization task. In Proc. of SIGIR-92, 15th ACM Int. Conf. on Research and Development in Information Retrieval (konferenciaanyag). Copenhagen, Denmark, 1992, 37–50. p. [108] D. D. Lewis : Naive (Bayes) at forty : The independence assumption in information retrieval. In Proc. of ECML-98, 10th European Conference on Machine Learning (konferenciaanyag). Chemnitz, Germany, 1998, 4–15. p. [109] Y. H. Li – A. K. Jain : Classification of text documents. Comput. J., 41. ´evf. (1998) 8. sz. [110] Bodrogi Lilla :. Legintimebb titkunk : a saj´at genetikai a´llom´anyunk, 2007. URL http://www.origo.hu/tudomany/ 20070919-egyedi-emberi-genetikai-allomany-genom-elemzese-eloszor.html. [111] 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. [112] 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. [113] 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. [114] 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.
´ IRODALOMJEGYZEK
307
[115] 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. [116] A. McCallum – R. Rosenfeld – T. Mitchell – A. Ng : Improving text classification by shrinkage in a hierarchy of classes. In Proc. of ICML-98, 15th Int. Conf. on Machine Learning (konferenciaanyag). Madison, US, 1998, 359–367. p. http://citeseer.ist.psu.edu/ mccallum98improving.html. [117] Brendan D. McKay : Practical graph isomorphism. Congressus Numerantium, 30. ´evf. (1981). URL http://cs.anu.edu.au/people/bdm/nauty/. [118] N. Megiddo – K.Supowitz : On the complexity of some common geometric location problems. SIAM J. Comput., 1984. [119] Jesus Mena : Data Mining und E-Commerce. D¨ usseldorf, 2000, Symposion Publishing. URL http://www.symposion.de/datamining. [120] 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. [121] T. M. Mitchell : Machine Learning. New York, NY, 1996, McGraw Hill. [122] Dunja Mladenic – NADA Lavrac – Marko Bohanec – Steve Moyle : Data Mining and Decision Support : Integration and Collaboration. 2003, Kluwer Academic Publishers. [123] 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. [124] 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. [125] Edward Omiecinski – Ashoka Savasere : Efficient mining of association rules in large dynamic databases. In British National Conference on Databases (konferenciaanyag). 1998, 49–63. p. [126] Stephen M. Omohundro : Five balltree construction algorithms. Jelent´es, 1989. December, International Computer Science Institute. [127] 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. [128] 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
308
[129] 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. [130] 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. [131] 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. [132] 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. [133] 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. [134] 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. [135] 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. [136] 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. [137] Jim Porter : Disk/trend report. In Proceedings of the 100th Anniversary Conference on Magnetic Recording and Information Storage. Santa Clara Univerity, 1998. [138] M. F. Porter : An algorithm for suffix stripping. Program, 14. ´evf. (1980. July) 3. sz. [139] J. R. Quinlan : Induction of decision trees. Mach. Learn., 1. ´evf. 1. sz. ISSN 0885-6125. [140] J. R. Quinlan : Simplifying decision trees. Int. J. Man-Mach. Stud., 27. ´evf. (1987) 3. sz. ISSN 0020-7373. [141] J. Ross Quinlan : C4.5 : programs for machine learning. San Francisco, CA, USA, 1993, Morgan Kaufmann Publishers Inc. ISBN 1-55860-238-0.
´ IRODALOMJEGYZEK
309
[142] 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. [143] P´al R´ozsa : Line´ aris algebra ´es alkalmaz´ asai. 1991, Tank¨onyvkiad´o, Budapest. [144] S. Sahni – T. Gonzales : P-complete approxiamtion problems. JACM, 23. ´evf. (1976). [145] G. Salton – C. Buckley : Term weighting approaches in autmatic text retrievel. Information Processing and Management, 24. ´evf. (1998) 5. sz. [146] G. Salton – M. J. McGill : An Introduction to Modern Information Retrieval. 1983, McGraw-Hill. [147] Nandlal L. Sarda – N. V. Srinivas : An adaptive algorithm for incremental mining of association rules. In DEXA Workshop (konferenciaanyag). 1998, 240–245. p. [148] 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. [149] R. E. Schapire – Y. Singer : BoosTexter : a boosting-based system for text categorization. Machine Learning, 39. ´evf. (2000) 2/3. sz. [150] 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. [151] 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. [152] 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. [153] H. Sch¨ utze – D. A. Hull – J. O. Pedersen : A comparison of classifiers and document representations for the routing problem. In Proc. of SIGIR-95, 18th ACM Int. Conf. on Research and Development in Information Retrieval (konferenciaanyag). Seattle, WA, 1995, 229–237. p. [154] F. Sebastiani : Machine learning in automated text categorization. ACM Computing Surveys, 34. ´evf. (2002. March) 1. sz. [155] F. Sebastiani – A. Sperduti – N. Valdambrini : An improved boosting algorithm and its application to automated text categorization. In Proc. of CIKM-00, 9th ACM Int. Conf. on Information and Knowledge Management (konferenciaanyag). McLean, VA, 2000, 78– 85. p. [156] Dennis G. Severance : Identifier search mechanisms : A survey and generalized model. ACM Comput. Surv., 6. ´evf. (1974) 3. sz. ISSN 0360-0300.
´ IRODALOMJEGYZEK
310
[157] Ron Shamir – Dekel Tsur : Faster subtree isomorphism. Journal of Algorithms, 33. ´evf. (1999) 2. sz. ISSN 0196-6774. [158] 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. [159] Y.-S. Shih : Families of splitting criteria for classification trees. Statistics and Computing, 9. ´evf. (1999) 4. sz. ISSN 0960-3174. [160] 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. [161] Spencer : The probabilistic method. In SODA : ACM-SIAM Symposium on Discrete Algorithms (A Conference on Theoretical and Experimental Analysis of Discrete Algorithms) (konferenciaanyag). 1992. [162] Ramakrishnan Srikant – Rakesh Agrawal : Mining generalized association rules. Proceedings of the 21st International Conference on Very Large Databases (VLDB), Zurich, Switzerland, 1995. [163] 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. [164] D. R. Swanson : Two medical literatures that are logically but not bibliographically connected. JASIS, 38. ´evf. (1987) 4. sz. ´ [165] T-Online :. Altal´ anos szerz˝od´esi felt´etelek, 2006. URL http://www.t-online.hu/dokumentumok/toh_aszf_060331.pdf. [166] Lyn C. Thomas : A survey of credit and behavioural scoring ; forecasting financial risk of lending to consumers. International Journal of Forecasting 16, 2000. [167] Lyn C. Thomas : A survey of credit and behavioural scoring ; forecasting financial risk of lending to consumers. International Journal of Forecasting, 16. ´evf. (2000). [168] 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. [169] 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.
´ IRODALOMJEGYZEK
311
[170] D. Tikk – Gy. Bir´o : Experiments with multilabel text classifier on the Reuters collection. In Int. Conf. on Computational Cybernetics (ICCC03) (konferenciaanyag). Si´ofok, Hungary, 2003, 33–38. p. [171] D. Tikk – Gy. Bir´o – J. D. Yang : A hierarchical text categorization approach and its application to FRT expansion. Australian Journal of Intelligent Information Processing Systems, 8. ´evf. (2004) 3. sz. [172] D. Tikk – Gy. Bir´o – J. D. Yang : Experiments with a hierarchical text categorization method on WIPO patent collections. In N. O. Attok-Okine – B. M. Ayyub (szerk.) : Applied Research in Uncertainty Modelling and Analysis. International Series in Intelligent Technologies sorozat, 20. k¨ot. 2005, Springer, 283–302. p. [173] 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. [174] K. Tumer – J. Ghosh : Error correlation and error reduction in ensemble classifiers. Connection Science, 8. ´evf. (1996) 3–4. sz. [175] Jeffrey K. Uhlmann : Satisfying general proximity/similarity queries with metric trees. Inf. Process. Lett., 40. ´evf. (1991) 4. sz. [176] J. R. Ullmann : An algorithm for subgraph isomorphism. J. ACM, 23. ´evf. (1976) 1. sz. ISSN 0004-5411. [177] C. J. van Rijsbergen : Information Retrieval. 2nd. kiad. London, 1979, Butterworths. http://www.dcs.gla.ac.uk/Keith. [178] 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. [179] 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. [180] S. M. Weiss – C. Apte – F. J. Damerau – D. E. Johnson – F. J. Oles – T. Goetz – T. Hampp : Maximizing text-mining performance. IEEE Intelligent Systems, 14. ´evf. (1999. July/August) 4. sz. [181] W. Wibovo – H. E. Williams : Simple and accurate feature selection for hierarchical categorisation. In Proc. of the 2002 ACM symposium on Document engineering (konferenciaanyag). McLean, Virginia, USA, 2002, 111–118. p. [182] 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
312
[183] 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. [184] Y. Yang : An evaluation of statistical approaches to text categorization. Information Retrieval, 1. ´evf. (1999) 1–2. sz. [185] Y. Yang – X. Liu : A re-examination of text categorization methods. In Proc. of SIGIR-99, 22nd ACM Int. Conf. on Research and Development in Information Retrieval (konferenciaanyag). Berkeley, CA, 1999, 42–49. p. [186] Y. Yang – J. P. Pedersen : Feature selection in statistical learning of text categorization. In Proc. of the 14th Int. Conf. on Machine Learning (konferenciaanyag). 1997, 412–420. p. [187] 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. [188] S. B. Yao : Tree structures construction using key densities. In Proceedings of the 1975 annual conference (konferenciaanyag). 1975, ACM Press, 337–342. p. [189] Mohammed J. Zaki : Efficiently mining frequent trees in a forest. Jelent´es, Troy, NY, 12180, 2001. July, Computer Science Department, Rensselaer Polytechnic Institute. [190] 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. [191] 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. [192] 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. [193] 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. [194] 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. [195] 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
´ IRODALOMJEGYZEK
313
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.